...

Source file src/google.golang.org/api/androidpublisher/v3/androidpublisher-gen.go

Documentation: google.golang.org/api/androidpublisher/v3

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package androidpublisher provides access to the Google Play Android Developer API.
     8  //
     9  // For product documentation, see: https://developers.google.com/android-publisher
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/androidpublisher/v3"
    27  //	...
    28  //	ctx := context.Background()
    29  //	androidpublisherService, err := androidpublisher.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	androidpublisherService, err := androidpublisher.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	androidpublisherService, err := androidpublisher.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package androidpublisher // import "google.golang.org/api/androidpublisher/v3"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "androidpublisher:v3"
    90  const apiName = "androidpublisher"
    91  const apiVersion = "v3"
    92  const basePath = "https://androidpublisher.googleapis.com/"
    93  const basePathTemplate = "https://androidpublisher.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://androidpublisher.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// View and manage your Google Play Developer account
    99  	AndroidpublisherScope = "https://www.googleapis.com/auth/androidpublisher"
   100  )
   101  
   102  // NewService creates a new Service.
   103  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   104  	scopesOption := internaloption.WithDefaultScopes(
   105  		"https://www.googleapis.com/auth/androidpublisher",
   106  	)
   107  	// NOTE: prepend, so we don't override user-specified scopes.
   108  	opts = append([]option.ClientOption{scopesOption}, opts...)
   109  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   110  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   111  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   112  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   113  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	s, err := New(client)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	if endpoint != "" {
   122  		s.BasePath = endpoint
   123  	}
   124  	return s, nil
   125  }
   126  
   127  // New creates a new Service. It uses the provided http.Client for requests.
   128  //
   129  // Deprecated: please use NewService instead.
   130  // To provide a custom HTTP client, use option.WithHTTPClient.
   131  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   132  func New(client *http.Client) (*Service, error) {
   133  	if client == nil {
   134  		return nil, errors.New("client is nil")
   135  	}
   136  	s := &Service{client: client, BasePath: basePath}
   137  	s.Applications = NewApplicationsService(s)
   138  	s.Apprecovery = NewApprecoveryService(s)
   139  	s.Edits = NewEditsService(s)
   140  	s.Externaltransactions = NewExternaltransactionsService(s)
   141  	s.Generatedapks = NewGeneratedapksService(s)
   142  	s.Grants = NewGrantsService(s)
   143  	s.Inappproducts = NewInappproductsService(s)
   144  	s.Internalappsharingartifacts = NewInternalappsharingartifactsService(s)
   145  	s.Monetization = NewMonetizationService(s)
   146  	s.Orders = NewOrdersService(s)
   147  	s.Purchases = NewPurchasesService(s)
   148  	s.Reviews = NewReviewsService(s)
   149  	s.Systemapks = NewSystemapksService(s)
   150  	s.Users = NewUsersService(s)
   151  	return s, nil
   152  }
   153  
   154  type Service struct {
   155  	client    *http.Client
   156  	BasePath  string // API endpoint base URL
   157  	UserAgent string // optional additional User-Agent fragment
   158  
   159  	Applications *ApplicationsService
   160  
   161  	Apprecovery *ApprecoveryService
   162  
   163  	Edits *EditsService
   164  
   165  	Externaltransactions *ExternaltransactionsService
   166  
   167  	Generatedapks *GeneratedapksService
   168  
   169  	Grants *GrantsService
   170  
   171  	Inappproducts *InappproductsService
   172  
   173  	Internalappsharingartifacts *InternalappsharingartifactsService
   174  
   175  	Monetization *MonetizationService
   176  
   177  	Orders *OrdersService
   178  
   179  	Purchases *PurchasesService
   180  
   181  	Reviews *ReviewsService
   182  
   183  	Systemapks *SystemapksService
   184  
   185  	Users *UsersService
   186  }
   187  
   188  func (s *Service) userAgent() string {
   189  	if s.UserAgent == "" {
   190  		return googleapi.UserAgent
   191  	}
   192  	return googleapi.UserAgent + " " + s.UserAgent
   193  }
   194  
   195  func NewApplicationsService(s *Service) *ApplicationsService {
   196  	rs := &ApplicationsService{s: s}
   197  	rs.DeviceTierConfigs = NewApplicationsDeviceTierConfigsService(s)
   198  	return rs
   199  }
   200  
   201  type ApplicationsService struct {
   202  	s *Service
   203  
   204  	DeviceTierConfigs *ApplicationsDeviceTierConfigsService
   205  }
   206  
   207  func NewApplicationsDeviceTierConfigsService(s *Service) *ApplicationsDeviceTierConfigsService {
   208  	rs := &ApplicationsDeviceTierConfigsService{s: s}
   209  	return rs
   210  }
   211  
   212  type ApplicationsDeviceTierConfigsService struct {
   213  	s *Service
   214  }
   215  
   216  func NewApprecoveryService(s *Service) *ApprecoveryService {
   217  	rs := &ApprecoveryService{s: s}
   218  	return rs
   219  }
   220  
   221  type ApprecoveryService struct {
   222  	s *Service
   223  }
   224  
   225  func NewEditsService(s *Service) *EditsService {
   226  	rs := &EditsService{s: s}
   227  	rs.Apks = NewEditsApksService(s)
   228  	rs.Bundles = NewEditsBundlesService(s)
   229  	rs.Countryavailability = NewEditsCountryavailabilityService(s)
   230  	rs.Deobfuscationfiles = NewEditsDeobfuscationfilesService(s)
   231  	rs.Details = NewEditsDetailsService(s)
   232  	rs.Expansionfiles = NewEditsExpansionfilesService(s)
   233  	rs.Images = NewEditsImagesService(s)
   234  	rs.Listings = NewEditsListingsService(s)
   235  	rs.Testers = NewEditsTestersService(s)
   236  	rs.Tracks = NewEditsTracksService(s)
   237  	return rs
   238  }
   239  
   240  type EditsService struct {
   241  	s *Service
   242  
   243  	Apks *EditsApksService
   244  
   245  	Bundles *EditsBundlesService
   246  
   247  	Countryavailability *EditsCountryavailabilityService
   248  
   249  	Deobfuscationfiles *EditsDeobfuscationfilesService
   250  
   251  	Details *EditsDetailsService
   252  
   253  	Expansionfiles *EditsExpansionfilesService
   254  
   255  	Images *EditsImagesService
   256  
   257  	Listings *EditsListingsService
   258  
   259  	Testers *EditsTestersService
   260  
   261  	Tracks *EditsTracksService
   262  }
   263  
   264  func NewEditsApksService(s *Service) *EditsApksService {
   265  	rs := &EditsApksService{s: s}
   266  	return rs
   267  }
   268  
   269  type EditsApksService struct {
   270  	s *Service
   271  }
   272  
   273  func NewEditsBundlesService(s *Service) *EditsBundlesService {
   274  	rs := &EditsBundlesService{s: s}
   275  	return rs
   276  }
   277  
   278  type EditsBundlesService struct {
   279  	s *Service
   280  }
   281  
   282  func NewEditsCountryavailabilityService(s *Service) *EditsCountryavailabilityService {
   283  	rs := &EditsCountryavailabilityService{s: s}
   284  	return rs
   285  }
   286  
   287  type EditsCountryavailabilityService struct {
   288  	s *Service
   289  }
   290  
   291  func NewEditsDeobfuscationfilesService(s *Service) *EditsDeobfuscationfilesService {
   292  	rs := &EditsDeobfuscationfilesService{s: s}
   293  	return rs
   294  }
   295  
   296  type EditsDeobfuscationfilesService struct {
   297  	s *Service
   298  }
   299  
   300  func NewEditsDetailsService(s *Service) *EditsDetailsService {
   301  	rs := &EditsDetailsService{s: s}
   302  	return rs
   303  }
   304  
   305  type EditsDetailsService struct {
   306  	s *Service
   307  }
   308  
   309  func NewEditsExpansionfilesService(s *Service) *EditsExpansionfilesService {
   310  	rs := &EditsExpansionfilesService{s: s}
   311  	return rs
   312  }
   313  
   314  type EditsExpansionfilesService struct {
   315  	s *Service
   316  }
   317  
   318  func NewEditsImagesService(s *Service) *EditsImagesService {
   319  	rs := &EditsImagesService{s: s}
   320  	return rs
   321  }
   322  
   323  type EditsImagesService struct {
   324  	s *Service
   325  }
   326  
   327  func NewEditsListingsService(s *Service) *EditsListingsService {
   328  	rs := &EditsListingsService{s: s}
   329  	return rs
   330  }
   331  
   332  type EditsListingsService struct {
   333  	s *Service
   334  }
   335  
   336  func NewEditsTestersService(s *Service) *EditsTestersService {
   337  	rs := &EditsTestersService{s: s}
   338  	return rs
   339  }
   340  
   341  type EditsTestersService struct {
   342  	s *Service
   343  }
   344  
   345  func NewEditsTracksService(s *Service) *EditsTracksService {
   346  	rs := &EditsTracksService{s: s}
   347  	return rs
   348  }
   349  
   350  type EditsTracksService struct {
   351  	s *Service
   352  }
   353  
   354  func NewExternaltransactionsService(s *Service) *ExternaltransactionsService {
   355  	rs := &ExternaltransactionsService{s: s}
   356  	return rs
   357  }
   358  
   359  type ExternaltransactionsService struct {
   360  	s *Service
   361  }
   362  
   363  func NewGeneratedapksService(s *Service) *GeneratedapksService {
   364  	rs := &GeneratedapksService{s: s}
   365  	return rs
   366  }
   367  
   368  type GeneratedapksService struct {
   369  	s *Service
   370  }
   371  
   372  func NewGrantsService(s *Service) *GrantsService {
   373  	rs := &GrantsService{s: s}
   374  	return rs
   375  }
   376  
   377  type GrantsService struct {
   378  	s *Service
   379  }
   380  
   381  func NewInappproductsService(s *Service) *InappproductsService {
   382  	rs := &InappproductsService{s: s}
   383  	return rs
   384  }
   385  
   386  type InappproductsService struct {
   387  	s *Service
   388  }
   389  
   390  func NewInternalappsharingartifactsService(s *Service) *InternalappsharingartifactsService {
   391  	rs := &InternalappsharingartifactsService{s: s}
   392  	return rs
   393  }
   394  
   395  type InternalappsharingartifactsService struct {
   396  	s *Service
   397  }
   398  
   399  func NewMonetizationService(s *Service) *MonetizationService {
   400  	rs := &MonetizationService{s: s}
   401  	rs.Subscriptions = NewMonetizationSubscriptionsService(s)
   402  	return rs
   403  }
   404  
   405  type MonetizationService struct {
   406  	s *Service
   407  
   408  	Subscriptions *MonetizationSubscriptionsService
   409  }
   410  
   411  func NewMonetizationSubscriptionsService(s *Service) *MonetizationSubscriptionsService {
   412  	rs := &MonetizationSubscriptionsService{s: s}
   413  	rs.BasePlans = NewMonetizationSubscriptionsBasePlansService(s)
   414  	return rs
   415  }
   416  
   417  type MonetizationSubscriptionsService struct {
   418  	s *Service
   419  
   420  	BasePlans *MonetizationSubscriptionsBasePlansService
   421  }
   422  
   423  func NewMonetizationSubscriptionsBasePlansService(s *Service) *MonetizationSubscriptionsBasePlansService {
   424  	rs := &MonetizationSubscriptionsBasePlansService{s: s}
   425  	rs.Offers = NewMonetizationSubscriptionsBasePlansOffersService(s)
   426  	return rs
   427  }
   428  
   429  type MonetizationSubscriptionsBasePlansService struct {
   430  	s *Service
   431  
   432  	Offers *MonetizationSubscriptionsBasePlansOffersService
   433  }
   434  
   435  func NewMonetizationSubscriptionsBasePlansOffersService(s *Service) *MonetizationSubscriptionsBasePlansOffersService {
   436  	rs := &MonetizationSubscriptionsBasePlansOffersService{s: s}
   437  	return rs
   438  }
   439  
   440  type MonetizationSubscriptionsBasePlansOffersService struct {
   441  	s *Service
   442  }
   443  
   444  func NewOrdersService(s *Service) *OrdersService {
   445  	rs := &OrdersService{s: s}
   446  	return rs
   447  }
   448  
   449  type OrdersService struct {
   450  	s *Service
   451  }
   452  
   453  func NewPurchasesService(s *Service) *PurchasesService {
   454  	rs := &PurchasesService{s: s}
   455  	rs.Products = NewPurchasesProductsService(s)
   456  	rs.Subscriptions = NewPurchasesSubscriptionsService(s)
   457  	rs.Subscriptionsv2 = NewPurchasesSubscriptionsv2Service(s)
   458  	rs.Voidedpurchases = NewPurchasesVoidedpurchasesService(s)
   459  	return rs
   460  }
   461  
   462  type PurchasesService struct {
   463  	s *Service
   464  
   465  	Products *PurchasesProductsService
   466  
   467  	Subscriptions *PurchasesSubscriptionsService
   468  
   469  	Subscriptionsv2 *PurchasesSubscriptionsv2Service
   470  
   471  	Voidedpurchases *PurchasesVoidedpurchasesService
   472  }
   473  
   474  func NewPurchasesProductsService(s *Service) *PurchasesProductsService {
   475  	rs := &PurchasesProductsService{s: s}
   476  	return rs
   477  }
   478  
   479  type PurchasesProductsService struct {
   480  	s *Service
   481  }
   482  
   483  func NewPurchasesSubscriptionsService(s *Service) *PurchasesSubscriptionsService {
   484  	rs := &PurchasesSubscriptionsService{s: s}
   485  	return rs
   486  }
   487  
   488  type PurchasesSubscriptionsService struct {
   489  	s *Service
   490  }
   491  
   492  func NewPurchasesSubscriptionsv2Service(s *Service) *PurchasesSubscriptionsv2Service {
   493  	rs := &PurchasesSubscriptionsv2Service{s: s}
   494  	return rs
   495  }
   496  
   497  type PurchasesSubscriptionsv2Service struct {
   498  	s *Service
   499  }
   500  
   501  func NewPurchasesVoidedpurchasesService(s *Service) *PurchasesVoidedpurchasesService {
   502  	rs := &PurchasesVoidedpurchasesService{s: s}
   503  	return rs
   504  }
   505  
   506  type PurchasesVoidedpurchasesService struct {
   507  	s *Service
   508  }
   509  
   510  func NewReviewsService(s *Service) *ReviewsService {
   511  	rs := &ReviewsService{s: s}
   512  	return rs
   513  }
   514  
   515  type ReviewsService struct {
   516  	s *Service
   517  }
   518  
   519  func NewSystemapksService(s *Service) *SystemapksService {
   520  	rs := &SystemapksService{s: s}
   521  	rs.Variants = NewSystemapksVariantsService(s)
   522  	return rs
   523  }
   524  
   525  type SystemapksService struct {
   526  	s *Service
   527  
   528  	Variants *SystemapksVariantsService
   529  }
   530  
   531  func NewSystemapksVariantsService(s *Service) *SystemapksVariantsService {
   532  	rs := &SystemapksVariantsService{s: s}
   533  	return rs
   534  }
   535  
   536  type SystemapksVariantsService struct {
   537  	s *Service
   538  }
   539  
   540  func NewUsersService(s *Service) *UsersService {
   541  	rs := &UsersService{s: s}
   542  	return rs
   543  }
   544  
   545  type UsersService struct {
   546  	s *Service
   547  }
   548  
   549  // Abi: Represents an Abi.
   550  type Abi struct {
   551  	// Alias: Alias for an abi.
   552  	//
   553  	// Possible values:
   554  	//   "UNSPECIFIED_CPU_ARCHITECTURE" - Unspecified abi.
   555  	//   "ARMEABI" - ARMEABI abi.
   556  	//   "ARMEABI_V7A" - ARMEABI_V7A abi.
   557  	//   "ARM64_V8A" - ARM64_V8A abi.
   558  	//   "X86" - X86 abi.
   559  	//   "X86_64" - X86_64 abi.
   560  	//   "RISCV64" - RISCV64 abi.
   561  	Alias string `json:"alias,omitempty"`
   562  	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
   563  	// include in API requests. By default, fields with empty or default values are
   564  	// omitted from API requests. See
   565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   566  	// details.
   567  	ForceSendFields []string `json:"-"`
   568  	// NullFields is a list of field names (e.g. "Alias") to include in API
   569  	// requests with the JSON null value. By default, fields with empty values are
   570  	// omitted from API requests. See
   571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   572  	NullFields []string `json:"-"`
   573  }
   574  
   575  func (s *Abi) MarshalJSON() ([]byte, error) {
   576  	type NoMethod Abi
   577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   578  }
   579  
   580  // AbiTargeting: Targeting based on Abi.
   581  type AbiTargeting struct {
   582  	// Alternatives: Targeting of other sibling directories that were in the
   583  	// Bundle. For main splits this is targeting of other main splits.
   584  	Alternatives []*Abi `json:"alternatives,omitempty"`
   585  	// Value: Value of an abi.
   586  	Value []*Abi `json:"value,omitempty"`
   587  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
   588  	// unconditionally include in API requests. By default, fields with empty or
   589  	// default values are omitted from API requests. See
   590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   591  	// details.
   592  	ForceSendFields []string `json:"-"`
   593  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
   594  	// requests with the JSON null value. By default, fields with empty values are
   595  	// omitted from API requests. See
   596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   597  	NullFields []string `json:"-"`
   598  }
   599  
   600  func (s *AbiTargeting) MarshalJSON() ([]byte, error) {
   601  	type NoMethod AbiTargeting
   602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   603  }
   604  
   605  // AcquisitionTargetingRule: Represents a targeting rule of the form: User
   606  // never had {scope} before.
   607  type AcquisitionTargetingRule struct {
   608  	// Scope: Required. The scope of subscriptions this rule considers. Only allows
   609  	// "this subscription" and "any subscription in app".
   610  	Scope *TargetingRuleScope `json:"scope,omitempty"`
   611  	// ForceSendFields is a list of field names (e.g. "Scope") to unconditionally
   612  	// include in API requests. By default, fields with empty or default values are
   613  	// omitted from API requests. See
   614  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   615  	// details.
   616  	ForceSendFields []string `json:"-"`
   617  	// NullFields is a list of field names (e.g. "Scope") to include in API
   618  	// requests with the JSON null value. By default, fields with empty values are
   619  	// omitted from API requests. See
   620  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   621  	NullFields []string `json:"-"`
   622  }
   623  
   624  func (s *AcquisitionTargetingRule) MarshalJSON() ([]byte, error) {
   625  	type NoMethod AcquisitionTargetingRule
   626  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   627  }
   628  
   629  // ActivateBasePlanRequest: Request message for ActivateBasePlan.
   630  type ActivateBasePlanRequest struct {
   631  	// BasePlanId: Required. The unique base plan ID of the base plan to activate.
   632  	BasePlanId string `json:"basePlanId,omitempty"`
   633  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
   634  	// this product update. Defaults to latency-sensitive.
   635  	//
   636  	// Possible values:
   637  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
   638  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
   639  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
   640  	// propagate to clients within several minutes on average and up to a few hours
   641  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
   642  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
   643  	// propagate to clients within 24 hours. Supports high throughput of up to
   644  	// 720,000 updates per app per hour using batch modification methods.
   645  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
   646  	// PackageName: Required. The parent app (package name) of the base plan to
   647  	// activate.
   648  	PackageName string `json:"packageName,omitempty"`
   649  	// ProductId: Required. The parent subscription (ID) of the base plan to
   650  	// activate.
   651  	ProductId string `json:"productId,omitempty"`
   652  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
   653  	// unconditionally include in API requests. By default, fields with empty or
   654  	// default values are omitted from API requests. See
   655  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   656  	// details.
   657  	ForceSendFields []string `json:"-"`
   658  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
   659  	// requests with the JSON null value. By default, fields with empty values are
   660  	// omitted from API requests. See
   661  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   662  	NullFields []string `json:"-"`
   663  }
   664  
   665  func (s *ActivateBasePlanRequest) MarshalJSON() ([]byte, error) {
   666  	type NoMethod ActivateBasePlanRequest
   667  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   668  }
   669  
   670  // ActivateSubscriptionOfferRequest: Request message for
   671  // ActivateSubscriptionOffer.
   672  type ActivateSubscriptionOfferRequest struct {
   673  	// BasePlanId: Required. The parent base plan (ID) of the offer to activate.
   674  	BasePlanId string `json:"basePlanId,omitempty"`
   675  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
   676  	// this product update. Defaults to latency-sensitive.
   677  	//
   678  	// Possible values:
   679  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
   680  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
   681  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
   682  	// propagate to clients within several minutes on average and up to a few hours
   683  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
   684  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
   685  	// propagate to clients within 24 hours. Supports high throughput of up to
   686  	// 720,000 updates per app per hour using batch modification methods.
   687  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
   688  	// OfferId: Required. The unique offer ID of the offer to activate.
   689  	OfferId string `json:"offerId,omitempty"`
   690  	// PackageName: Required. The parent app (package name) of the offer to
   691  	// activate.
   692  	PackageName string `json:"packageName,omitempty"`
   693  	// ProductId: Required. The parent subscription (ID) of the offer to activate.
   694  	ProductId string `json:"productId,omitempty"`
   695  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
   696  	// unconditionally include in API requests. By default, fields with empty or
   697  	// default values are omitted from API requests. See
   698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   699  	// details.
   700  	ForceSendFields []string `json:"-"`
   701  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
   702  	// requests with the JSON null value. By default, fields with empty values are
   703  	// omitted from API requests. See
   704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   705  	NullFields []string `json:"-"`
   706  }
   707  
   708  func (s *ActivateSubscriptionOfferRequest) MarshalJSON() ([]byte, error) {
   709  	type NoMethod ActivateSubscriptionOfferRequest
   710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   711  }
   712  
   713  // AddTargetingRequest: Request message for AddTargeting.
   714  type AddTargetingRequest struct {
   715  	// TargetingUpdate: Specifies targeting updates such as regions, android sdk
   716  	// versions etc.
   717  	TargetingUpdate *TargetingUpdate `json:"targetingUpdate,omitempty"`
   718  	// ForceSendFields is a list of field names (e.g. "TargetingUpdate") to
   719  	// unconditionally include in API requests. By default, fields with empty or
   720  	// default values are omitted from API requests. See
   721  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   722  	// details.
   723  	ForceSendFields []string `json:"-"`
   724  	// NullFields is a list of field names (e.g. "TargetingUpdate") to include in
   725  	// API requests with the JSON null value. By default, fields with empty values
   726  	// are omitted from API requests. See
   727  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   728  	NullFields []string `json:"-"`
   729  }
   730  
   731  func (s *AddTargetingRequest) MarshalJSON() ([]byte, error) {
   732  	type NoMethod AddTargetingRequest
   733  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   734  }
   735  
   736  // AddTargetingResponse: Response message for AddTargeting.
   737  type AddTargetingResponse struct {
   738  	// ServerResponse contains the HTTP response code and headers from the server.
   739  	googleapi.ServerResponse `json:"-"`
   740  }
   741  
   742  // AllUsers: Object representation to describe all set of users.
   743  type AllUsers struct {
   744  	// IsAllUsersRequested: Required. Set to true if all set of users are needed.
   745  	IsAllUsersRequested bool `json:"isAllUsersRequested,omitempty"`
   746  	// ForceSendFields is a list of field names (e.g. "IsAllUsersRequested") to
   747  	// unconditionally include in API requests. By default, fields with empty or
   748  	// default values are omitted from API requests. See
   749  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   750  	// details.
   751  	ForceSendFields []string `json:"-"`
   752  	// NullFields is a list of field names (e.g. "IsAllUsersRequested") to include
   753  	// in API requests with the JSON null value. By default, fields with empty
   754  	// values are omitted from API requests. See
   755  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   756  	NullFields []string `json:"-"`
   757  }
   758  
   759  func (s *AllUsers) MarshalJSON() ([]byte, error) {
   760  	type NoMethod AllUsers
   761  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   762  }
   763  
   764  // AndroidSdks: Android api level targeting data for app recovery action
   765  // targeting.
   766  type AndroidSdks struct {
   767  	// SdkLevels: Android api levels of devices targeted by recovery action. See
   768  	// https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels
   769  	// for different api levels in android.
   770  	SdkLevels googleapi.Int64s `json:"sdkLevels,omitempty"`
   771  	// ForceSendFields is a list of field names (e.g. "SdkLevels") to
   772  	// unconditionally include in API requests. By default, fields with empty or
   773  	// default values are omitted from API requests. See
   774  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   775  	// details.
   776  	ForceSendFields []string `json:"-"`
   777  	// NullFields is a list of field names (e.g. "SdkLevels") to include in API
   778  	// requests with the JSON null value. By default, fields with empty values are
   779  	// omitted from API requests. See
   780  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   781  	NullFields []string `json:"-"`
   782  }
   783  
   784  func (s *AndroidSdks) MarshalJSON() ([]byte, error) {
   785  	type NoMethod AndroidSdks
   786  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   787  }
   788  
   789  // Apk: Information about an APK. The resource for ApksService.
   790  type Apk struct {
   791  	// Binary: Information about the binary payload of this APK.
   792  	Binary *ApkBinary `json:"binary,omitempty"`
   793  	// VersionCode: The version code of the APK, as specified in the manifest file.
   794  	VersionCode int64 `json:"versionCode,omitempty"`
   795  
   796  	// ServerResponse contains the HTTP response code and headers from the server.
   797  	googleapi.ServerResponse `json:"-"`
   798  	// ForceSendFields is a list of field names (e.g. "Binary") to unconditionally
   799  	// include in API requests. By default, fields with empty or default values are
   800  	// omitted from API requests. See
   801  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   802  	// details.
   803  	ForceSendFields []string `json:"-"`
   804  	// NullFields is a list of field names (e.g. "Binary") to include in API
   805  	// requests with the JSON null value. By default, fields with empty values are
   806  	// omitted from API requests. See
   807  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   808  	NullFields []string `json:"-"`
   809  }
   810  
   811  func (s *Apk) MarshalJSON() ([]byte, error) {
   812  	type NoMethod Apk
   813  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   814  }
   815  
   816  // ApkBinary: Represents the binary payload of an APK.
   817  type ApkBinary struct {
   818  	// Sha1: A sha1 hash of the APK payload, encoded as a hex string and matching
   819  	// the output of the sha1sum command.
   820  	Sha1 string `json:"sha1,omitempty"`
   821  	// Sha256: A sha256 hash of the APK payload, encoded as a hex string and
   822  	// matching the output of the sha256sum command.
   823  	Sha256 string `json:"sha256,omitempty"`
   824  	// ForceSendFields is a list of field names (e.g. "Sha1") to unconditionally
   825  	// include in API requests. By default, fields with empty or default values are
   826  	// omitted from API requests. See
   827  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   828  	// details.
   829  	ForceSendFields []string `json:"-"`
   830  	// NullFields is a list of field names (e.g. "Sha1") to include in API requests
   831  	// with the JSON null value. By default, fields with empty values are omitted
   832  	// from API requests. See
   833  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   834  	NullFields []string `json:"-"`
   835  }
   836  
   837  func (s *ApkBinary) MarshalJSON() ([]byte, error) {
   838  	type NoMethod ApkBinary
   839  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   840  }
   841  
   842  // ApkDescription: Description of the created apks.
   843  type ApkDescription struct {
   844  	// AssetSliceMetadata: Set only for asset slices.
   845  	AssetSliceMetadata *SplitApkMetadata `json:"assetSliceMetadata,omitempty"`
   846  	// InstantApkMetadata: Set only for Instant split APKs.
   847  	InstantApkMetadata *SplitApkMetadata `json:"instantApkMetadata,omitempty"`
   848  	// Path: Path of the Apk, will be in the following format: .apk where
   849  	// DownloadId is the ID used to download the apk using GeneratedApks.Download
   850  	// API.
   851  	Path string `json:"path,omitempty"`
   852  	// SplitApkMetadata: Set only for Split APKs.
   853  	SplitApkMetadata *SplitApkMetadata `json:"splitApkMetadata,omitempty"`
   854  	// StandaloneApkMetadata: Set only for standalone APKs.
   855  	StandaloneApkMetadata *StandaloneApkMetadata `json:"standaloneApkMetadata,omitempty"`
   856  	// Targeting: Apk-level targeting.
   857  	Targeting *ApkTargeting `json:"targeting,omitempty"`
   858  	// ForceSendFields is a list of field names (e.g. "AssetSliceMetadata") to
   859  	// unconditionally include in API requests. By default, fields with empty or
   860  	// default values are omitted from API requests. See
   861  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   862  	// details.
   863  	ForceSendFields []string `json:"-"`
   864  	// NullFields is a list of field names (e.g. "AssetSliceMetadata") to include
   865  	// in API requests with the JSON null value. By default, fields with empty
   866  	// values are omitted from API requests. See
   867  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   868  	NullFields []string `json:"-"`
   869  }
   870  
   871  func (s *ApkDescription) MarshalJSON() ([]byte, error) {
   872  	type NoMethod ApkDescription
   873  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   874  }
   875  
   876  // ApkSet: A set of apks representing a module.
   877  type ApkSet struct {
   878  	// ApkDescription: Description of the generated apks.
   879  	ApkDescription []*ApkDescription `json:"apkDescription,omitempty"`
   880  	// ModuleMetadata: Metadata about the module represented by this ApkSet
   881  	ModuleMetadata *ModuleMetadata `json:"moduleMetadata,omitempty"`
   882  	// ForceSendFields is a list of field names (e.g. "ApkDescription") to
   883  	// unconditionally include in API requests. By default, fields with empty or
   884  	// default values are omitted from API requests. See
   885  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   886  	// details.
   887  	ForceSendFields []string `json:"-"`
   888  	// NullFields is a list of field names (e.g. "ApkDescription") to include in
   889  	// API requests with the JSON null value. By default, fields with empty values
   890  	// are omitted from API requests. See
   891  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   892  	NullFields []string `json:"-"`
   893  }
   894  
   895  func (s *ApkSet) MarshalJSON() ([]byte, error) {
   896  	type NoMethod ApkSet
   897  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   898  }
   899  
   900  // ApkTargeting: Represents a set of apk-level targetings.
   901  type ApkTargeting struct {
   902  	// AbiTargeting: The abi that the apk targets
   903  	AbiTargeting *AbiTargeting `json:"abiTargeting,omitempty"`
   904  	// LanguageTargeting: The language that the apk targets
   905  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
   906  	// MultiAbiTargeting: Multi-api-level targeting.
   907  	MultiAbiTargeting *MultiAbiTargeting `json:"multiAbiTargeting,omitempty"`
   908  	// ScreenDensityTargeting: The screen density that this apk supports.
   909  	ScreenDensityTargeting *ScreenDensityTargeting `json:"screenDensityTargeting,omitempty"`
   910  	// SdkVersionTargeting: The sdk version that the apk targets
   911  	SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"`
   912  	// TextureCompressionFormatTargeting: Texture-compression-format-level
   913  	// targeting
   914  	TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `json:"textureCompressionFormatTargeting,omitempty"`
   915  	// ForceSendFields is a list of field names (e.g. "AbiTargeting") to
   916  	// unconditionally include in API requests. By default, fields with empty or
   917  	// default values are omitted from API requests. See
   918  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   919  	// details.
   920  	ForceSendFields []string `json:"-"`
   921  	// NullFields is a list of field names (e.g. "AbiTargeting") to include in API
   922  	// requests with the JSON null value. By default, fields with empty values are
   923  	// omitted from API requests. See
   924  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   925  	NullFields []string `json:"-"`
   926  }
   927  
   928  func (s *ApkTargeting) MarshalJSON() ([]byte, error) {
   929  	type NoMethod ApkTargeting
   930  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   931  }
   932  
   933  // ApksAddExternallyHostedRequest: Request to create a new externally hosted
   934  // APK.
   935  type ApksAddExternallyHostedRequest struct {
   936  	// ExternallyHostedApk: The definition of the externally-hosted APK and where
   937  	// it is located.
   938  	ExternallyHostedApk *ExternallyHostedApk `json:"externallyHostedApk,omitempty"`
   939  	// ForceSendFields is a list of field names (e.g. "ExternallyHostedApk") to
   940  	// unconditionally include in API requests. By default, fields with empty or
   941  	// default values are omitted from API requests. See
   942  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   943  	// details.
   944  	ForceSendFields []string `json:"-"`
   945  	// NullFields is a list of field names (e.g. "ExternallyHostedApk") to include
   946  	// in API requests with the JSON null value. By default, fields with empty
   947  	// values are omitted from API requests. See
   948  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   949  	NullFields []string `json:"-"`
   950  }
   951  
   952  func (s *ApksAddExternallyHostedRequest) MarshalJSON() ([]byte, error) {
   953  	type NoMethod ApksAddExternallyHostedRequest
   954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   955  }
   956  
   957  // ApksAddExternallyHostedResponse: Response for creating a new externally
   958  // hosted APK.
   959  type ApksAddExternallyHostedResponse struct {
   960  	// ExternallyHostedApk: The definition of the externally-hosted APK and where
   961  	// it is located.
   962  	ExternallyHostedApk *ExternallyHostedApk `json:"externallyHostedApk,omitempty"`
   963  
   964  	// ServerResponse contains the HTTP response code and headers from the server.
   965  	googleapi.ServerResponse `json:"-"`
   966  	// ForceSendFields is a list of field names (e.g. "ExternallyHostedApk") to
   967  	// unconditionally include in API requests. By default, fields with empty or
   968  	// default values are omitted from API requests. See
   969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   970  	// details.
   971  	ForceSendFields []string `json:"-"`
   972  	// NullFields is a list of field names (e.g. "ExternallyHostedApk") to include
   973  	// in API requests with the JSON null value. By default, fields with empty
   974  	// values are omitted from API requests. See
   975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   976  	NullFields []string `json:"-"`
   977  }
   978  
   979  func (s *ApksAddExternallyHostedResponse) MarshalJSON() ([]byte, error) {
   980  	type NoMethod ApksAddExternallyHostedResponse
   981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   982  }
   983  
   984  // ApksListResponse: Response listing all APKs.
   985  type ApksListResponse struct {
   986  	// Apks: All APKs.
   987  	Apks []*Apk `json:"apks,omitempty"`
   988  	// Kind: The kind of this response ("androidpublisher#apksListResponse").
   989  	Kind string `json:"kind,omitempty"`
   990  
   991  	// ServerResponse contains the HTTP response code and headers from the server.
   992  	googleapi.ServerResponse `json:"-"`
   993  	// ForceSendFields is a list of field names (e.g. "Apks") to unconditionally
   994  	// include in API requests. By default, fields with empty or default values are
   995  	// omitted from API requests. See
   996  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   997  	// details.
   998  	ForceSendFields []string `json:"-"`
   999  	// NullFields is a list of field names (e.g. "Apks") to include in API requests
  1000  	// with the JSON null value. By default, fields with empty values are omitted
  1001  	// from API requests. See
  1002  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1003  	NullFields []string `json:"-"`
  1004  }
  1005  
  1006  func (s *ApksListResponse) MarshalJSON() ([]byte, error) {
  1007  	type NoMethod ApksListResponse
  1008  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1009  }
  1010  
  1011  // AppDetails: The app details. The resource for DetailsService.
  1012  type AppDetails struct {
  1013  	// ContactEmail: The user-visible support email for this app.
  1014  	ContactEmail string `json:"contactEmail,omitempty"`
  1015  	// ContactPhone: The user-visible support telephone number for this app.
  1016  	ContactPhone string `json:"contactPhone,omitempty"`
  1017  	// ContactWebsite: The user-visible website for this app.
  1018  	ContactWebsite string `json:"contactWebsite,omitempty"`
  1019  	// DefaultLanguage: Default language code, in BCP 47 format (eg "en-US").
  1020  	DefaultLanguage string `json:"defaultLanguage,omitempty"`
  1021  
  1022  	// ServerResponse contains the HTTP response code and headers from the server.
  1023  	googleapi.ServerResponse `json:"-"`
  1024  	// ForceSendFields is a list of field names (e.g. "ContactEmail") to
  1025  	// unconditionally include in API requests. By default, fields with empty or
  1026  	// default values are omitted from API requests. See
  1027  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1028  	// details.
  1029  	ForceSendFields []string `json:"-"`
  1030  	// NullFields is a list of field names (e.g. "ContactEmail") to include in API
  1031  	// requests with the JSON null value. By default, fields with empty values are
  1032  	// omitted from API requests. See
  1033  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1034  	NullFields []string `json:"-"`
  1035  }
  1036  
  1037  func (s *AppDetails) MarshalJSON() ([]byte, error) {
  1038  	type NoMethod AppDetails
  1039  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1040  }
  1041  
  1042  // AppEdit: An app edit. The resource for EditsService.
  1043  type AppEdit struct {
  1044  	// ExpiryTimeSeconds: Output only. The time (as seconds since Epoch) at which
  1045  	// the edit will expire and will be no longer valid for use.
  1046  	ExpiryTimeSeconds string `json:"expiryTimeSeconds,omitempty"`
  1047  	// Id: Output only. Identifier of the edit. Can be used in subsequent API
  1048  	// calls.
  1049  	Id string `json:"id,omitempty"`
  1050  
  1051  	// ServerResponse contains the HTTP response code and headers from the server.
  1052  	googleapi.ServerResponse `json:"-"`
  1053  	// ForceSendFields is a list of field names (e.g. "ExpiryTimeSeconds") to
  1054  	// unconditionally include in API requests. By default, fields with empty or
  1055  	// default values are omitted from API requests. See
  1056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1057  	// details.
  1058  	ForceSendFields []string `json:"-"`
  1059  	// NullFields is a list of field names (e.g. "ExpiryTimeSeconds") to include in
  1060  	// API requests with the JSON null value. By default, fields with empty values
  1061  	// are omitted from API requests. See
  1062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1063  	NullFields []string `json:"-"`
  1064  }
  1065  
  1066  func (s *AppEdit) MarshalJSON() ([]byte, error) {
  1067  	type NoMethod AppEdit
  1068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1069  }
  1070  
  1071  // AppRecoveryAction: Information about an app recovery action.
  1072  type AppRecoveryAction struct {
  1073  	// AppRecoveryId: ID corresponding to the app recovery action.
  1074  	AppRecoveryId int64 `json:"appRecoveryId,omitempty,string"`
  1075  	// CancelTime: Timestamp of when the app recovery action is canceled by the
  1076  	// developer. Only set if the recovery action has been canceled.
  1077  	CancelTime string `json:"cancelTime,omitempty"`
  1078  	// CreateTime: Timestamp of when the app recovery action is created by the
  1079  	// developer. It is always set after creation of the recovery action.
  1080  	CreateTime string `json:"createTime,omitempty"`
  1081  	// DeployTime: Timestamp of when the app recovery action is deployed to the
  1082  	// users. Only set if the recovery action has been deployed.
  1083  	DeployTime string `json:"deployTime,omitempty"`
  1084  	// LastUpdateTime: Timestamp of when the developer last updated recovery
  1085  	// action. In case the action is cancelled, it corresponds to cancellation
  1086  	// time. It is always set after creation of the recovery action.
  1087  	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
  1088  	// RemoteInAppUpdateData: Data about the remote in-app update action such as
  1089  	// such as recovered user base, recoverable user base etc. Set only if the
  1090  	// recovery action type is Remote In-App Update.
  1091  	RemoteInAppUpdateData *RemoteInAppUpdateData `json:"remoteInAppUpdateData,omitempty"`
  1092  	// Status: The status of the recovery action.
  1093  	//
  1094  	// Possible values:
  1095  	//   "RECOVERY_STATUS_UNSPECIFIED" - RecoveryStatus is unspecified.
  1096  	//   "RECOVERY_STATUS_ACTIVE" - The app recovery action has not been canceled
  1097  	// since it has been created.
  1098  	//   "RECOVERY_STATUS_CANCELED" - The recovery action has been canceled. The
  1099  	// action cannot be resumed.
  1100  	//   "RECOVERY_STATUS_DRAFT" - The recovery action is in the draft state and
  1101  	// has not yet been deployed to users.
  1102  	//   "RECOVERY_STATUS_GENERATION_IN_PROGRESS" - The recovery action is
  1103  	// generating recovery apks.
  1104  	//   "RECOVERY_STATUS_GENERATION_FAILED" - The app recovery action generation
  1105  	// has failed.
  1106  	Status string `json:"status,omitempty"`
  1107  	// Targeting: Specifies targeting criteria for the recovery action such as
  1108  	// regions, android sdk versions, app versions etc.
  1109  	Targeting *Targeting `json:"targeting,omitempty"`
  1110  
  1111  	// ServerResponse contains the HTTP response code and headers from the server.
  1112  	googleapi.ServerResponse `json:"-"`
  1113  	// ForceSendFields is a list of field names (e.g. "AppRecoveryId") to
  1114  	// unconditionally include in API requests. By default, fields with empty or
  1115  	// default values are omitted from API requests. See
  1116  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1117  	// details.
  1118  	ForceSendFields []string `json:"-"`
  1119  	// NullFields is a list of field names (e.g. "AppRecoveryId") to include in API
  1120  	// requests with the JSON null value. By default, fields with empty values are
  1121  	// omitted from API requests. See
  1122  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1123  	NullFields []string `json:"-"`
  1124  }
  1125  
  1126  func (s *AppRecoveryAction) MarshalJSON() ([]byte, error) {
  1127  	type NoMethod AppRecoveryAction
  1128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1129  }
  1130  
  1131  // AppVersionList: Data format for a list of app versions.
  1132  type AppVersionList struct {
  1133  	// VersionCodes: List of app version codes.
  1134  	VersionCodes googleapi.Int64s `json:"versionCodes,omitempty"`
  1135  	// ForceSendFields is a list of field names (e.g. "VersionCodes") to
  1136  	// unconditionally include in API requests. By default, fields with empty or
  1137  	// default values are omitted from API requests. See
  1138  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1139  	// details.
  1140  	ForceSendFields []string `json:"-"`
  1141  	// NullFields is a list of field names (e.g. "VersionCodes") to include in API
  1142  	// requests with the JSON null value. By default, fields with empty values are
  1143  	// omitted from API requests. See
  1144  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1145  	NullFields []string `json:"-"`
  1146  }
  1147  
  1148  func (s *AppVersionList) MarshalJSON() ([]byte, error) {
  1149  	type NoMethod AppVersionList
  1150  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1151  }
  1152  
  1153  // AppVersionRange: Data format for a continuous range of app versions.
  1154  type AppVersionRange struct {
  1155  	// VersionCodeEnd: Highest app version in the range, inclusive.
  1156  	VersionCodeEnd int64 `json:"versionCodeEnd,omitempty,string"`
  1157  	// VersionCodeStart: Lowest app version in the range, inclusive.
  1158  	VersionCodeStart int64 `json:"versionCodeStart,omitempty,string"`
  1159  	// ForceSendFields is a list of field names (e.g. "VersionCodeEnd") to
  1160  	// unconditionally include in API requests. By default, fields with empty or
  1161  	// default values are omitted from API requests. See
  1162  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1163  	// details.
  1164  	ForceSendFields []string `json:"-"`
  1165  	// NullFields is a list of field names (e.g. "VersionCodeEnd") to include in
  1166  	// API requests with the JSON null value. By default, fields with empty values
  1167  	// are omitted from API requests. See
  1168  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1169  	NullFields []string `json:"-"`
  1170  }
  1171  
  1172  func (s *AppVersionRange) MarshalJSON() ([]byte, error) {
  1173  	type NoMethod AppVersionRange
  1174  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1175  }
  1176  
  1177  // ArchiveSubscriptionRequest: Deprecated: subscription archiving is not
  1178  // supported.
  1179  type ArchiveSubscriptionRequest struct {
  1180  }
  1181  
  1182  // AssetModuleMetadata: Metadata of an asset module.
  1183  type AssetModuleMetadata struct {
  1184  	// DeliveryType: Indicates the delivery type for persistent install.
  1185  	//
  1186  	// Possible values:
  1187  	//   "UNKNOWN_DELIVERY_TYPE" - Unspecified delivery type.
  1188  	//   "INSTALL_TIME" - This module will always be downloaded as part of the
  1189  	// initial install of the app.
  1190  	//   "ON_DEMAND" - This module is requested on-demand, which means it will not
  1191  	// be part of the initial install, and will only be sent when requested by the
  1192  	// client.
  1193  	//   "FAST_FOLLOW" - This module will be downloaded immediately after initial
  1194  	// install finishes. The app can be opened before these modules are downloaded.
  1195  	DeliveryType string `json:"deliveryType,omitempty"`
  1196  	// Name: Module name.
  1197  	Name string `json:"name,omitempty"`
  1198  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
  1199  	// unconditionally include in API requests. By default, fields with empty or
  1200  	// default values are omitted from API requests. See
  1201  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1202  	// details.
  1203  	ForceSendFields []string `json:"-"`
  1204  	// NullFields is a list of field names (e.g. "DeliveryType") to include in API
  1205  	// requests with the JSON null value. By default, fields with empty values are
  1206  	// omitted from API requests. See
  1207  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1208  	NullFields []string `json:"-"`
  1209  }
  1210  
  1211  func (s *AssetModuleMetadata) MarshalJSON() ([]byte, error) {
  1212  	type NoMethod AssetModuleMetadata
  1213  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1214  }
  1215  
  1216  // AssetSliceSet: Set of asset slices belonging to a single asset module.
  1217  type AssetSliceSet struct {
  1218  	// ApkDescription: Asset slices.
  1219  	ApkDescription []*ApkDescription `json:"apkDescription,omitempty"`
  1220  	// AssetModuleMetadata: Module level metadata.
  1221  	AssetModuleMetadata *AssetModuleMetadata `json:"assetModuleMetadata,omitempty"`
  1222  	// ForceSendFields is a list of field names (e.g. "ApkDescription") to
  1223  	// unconditionally include in API requests. By default, fields with empty or
  1224  	// default values are omitted from API requests. See
  1225  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1226  	// details.
  1227  	ForceSendFields []string `json:"-"`
  1228  	// NullFields is a list of field names (e.g. "ApkDescription") to include in
  1229  	// API requests with the JSON null value. By default, fields with empty values
  1230  	// are omitted from API requests. See
  1231  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1232  	NullFields []string `json:"-"`
  1233  }
  1234  
  1235  func (s *AssetSliceSet) MarshalJSON() ([]byte, error) {
  1236  	type NoMethod AssetSliceSet
  1237  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1238  }
  1239  
  1240  // AutoRenewingBasePlanType: Represents a base plan that automatically renews
  1241  // at the end of its subscription period.
  1242  type AutoRenewingBasePlanType struct {
  1243  	// AccountHoldDuration: Optional. Account hold period of the subscription,
  1244  	// specified in ISO 8601 format. Acceptable values must be in DAYS and in the
  1245  	// range P0D (zero days) to P30D (30 days). If not specified, the default value
  1246  	// is P30D (30 days).
  1247  	AccountHoldDuration string `json:"accountHoldDuration,omitempty"`
  1248  	// BillingPeriodDuration: Required. Subscription period, specified in ISO 8601
  1249  	// format. For a list of acceptable billing periods, refer to the help center.
  1250  	BillingPeriodDuration string `json:"billingPeriodDuration,omitempty"`
  1251  	// GracePeriodDuration: Grace period of the subscription, specified in ISO 8601
  1252  	// format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days),
  1253  	// P14D (14 days), and P30D (30 days). If not specified, a default value will
  1254  	// be used based on the recurring period duration.
  1255  	GracePeriodDuration string `json:"gracePeriodDuration,omitempty"`
  1256  	// LegacyCompatible: Whether the renewing base plan is backward compatible. The
  1257  	// backward compatible base plan is returned by the Google Play Billing Library
  1258  	// deprecated method querySkuDetailsAsync(). Only one renewing base plan can be
  1259  	// marked as legacy compatible for a given subscription.
  1260  	LegacyCompatible bool `json:"legacyCompatible,omitempty"`
  1261  	// LegacyCompatibleSubscriptionOfferId: Subscription offer id which is legacy
  1262  	// compatible. The backward compatible subscription offer is returned by the
  1263  	// Google Play Billing Library deprecated method querySkuDetailsAsync(). Only
  1264  	// one subscription offer can be marked as legacy compatible for a given
  1265  	// renewing base plan. To have no Subscription offer as legacy compatible set
  1266  	// this field as empty string.
  1267  	LegacyCompatibleSubscriptionOfferId string `json:"legacyCompatibleSubscriptionOfferId,omitempty"`
  1268  	// ProrationMode: The proration mode for the base plan determines what happens
  1269  	// when a user switches to this plan from another base plan. If unspecified,
  1270  	// defaults to CHARGE_ON_NEXT_BILLING_DATE.
  1271  	//
  1272  	// Possible values:
  1273  	//   "SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED" - Unspecified mode.
  1274  	//   "SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE" - Users will be
  1275  	// charged for their new base plan at the end of their current billing period.
  1276  	//   "SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY" - Users will
  1277  	// be charged for their new base plan immediately and in full. Any remaining
  1278  	// period of their existing subscription will be used to extend the duration of
  1279  	// the new billing plan.
  1280  	ProrationMode string `json:"prorationMode,omitempty"`
  1281  	// ResubscribeState: Whether users should be able to resubscribe to this base
  1282  	// plan in Google Play surfaces. Defaults to RESUBSCRIBE_STATE_ACTIVE if not
  1283  	// specified.
  1284  	//
  1285  	// Possible values:
  1286  	//   "RESUBSCRIBE_STATE_UNSPECIFIED" - Unspecified state.
  1287  	//   "RESUBSCRIBE_STATE_ACTIVE" - Resubscribe is active.
  1288  	//   "RESUBSCRIBE_STATE_INACTIVE" - Resubscribe is inactive.
  1289  	ResubscribeState string `json:"resubscribeState,omitempty"`
  1290  	// ForceSendFields is a list of field names (e.g. "AccountHoldDuration") to
  1291  	// unconditionally include in API requests. By default, fields with empty or
  1292  	// default values are omitted from API requests. See
  1293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1294  	// details.
  1295  	ForceSendFields []string `json:"-"`
  1296  	// NullFields is a list of field names (e.g. "AccountHoldDuration") to include
  1297  	// in API requests with the JSON null value. By default, fields with empty
  1298  	// values are omitted from API requests. See
  1299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1300  	NullFields []string `json:"-"`
  1301  }
  1302  
  1303  func (s *AutoRenewingBasePlanType) MarshalJSON() ([]byte, error) {
  1304  	type NoMethod AutoRenewingBasePlanType
  1305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1306  }
  1307  
  1308  // AutoRenewingPlan: Information related to an auto renewing plan.
  1309  type AutoRenewingPlan struct {
  1310  	// AutoRenewEnabled: If the subscription is currently set to auto-renew, e.g.
  1311  	// the user has not canceled the subscription
  1312  	AutoRenewEnabled bool `json:"autoRenewEnabled,omitempty"`
  1313  	// InstallmentDetails: The installment plan commitment and state related info
  1314  	// for the auto renewing plan.
  1315  	InstallmentDetails *InstallmentPlan `json:"installmentDetails,omitempty"`
  1316  	// PriceChangeDetails: The information of the last price change for the item
  1317  	// since subscription signup.
  1318  	PriceChangeDetails *SubscriptionItemPriceChangeDetails `json:"priceChangeDetails,omitempty"`
  1319  	// ForceSendFields is a list of field names (e.g. "AutoRenewEnabled") to
  1320  	// unconditionally include in API requests. By default, fields with empty or
  1321  	// default values are omitted from API requests. See
  1322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1323  	// details.
  1324  	ForceSendFields []string `json:"-"`
  1325  	// NullFields is a list of field names (e.g. "AutoRenewEnabled") to include in
  1326  	// API requests with the JSON null value. By default, fields with empty values
  1327  	// are omitted from API requests. See
  1328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1329  	NullFields []string `json:"-"`
  1330  }
  1331  
  1332  func (s *AutoRenewingPlan) MarshalJSON() ([]byte, error) {
  1333  	type NoMethod AutoRenewingPlan
  1334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1335  }
  1336  
  1337  // BasePlan: A single base plan for a subscription.
  1338  type BasePlan struct {
  1339  	// AutoRenewingBasePlanType: Set when the base plan automatically renews at a
  1340  	// regular interval.
  1341  	AutoRenewingBasePlanType *AutoRenewingBasePlanType `json:"autoRenewingBasePlanType,omitempty"`
  1342  	// BasePlanId: Required. Immutable. The unique identifier of this base plan.
  1343  	// Must be unique within the subscription, and conform with RFC-1034. That is,
  1344  	// this ID can only contain lower-case letters (a-z), numbers (0-9), and
  1345  	// hyphens (-), and be at most 63 characters.
  1346  	BasePlanId string `json:"basePlanId,omitempty"`
  1347  	// InstallmentsBasePlanType: Set for installments base plans where a user is
  1348  	// committed to a specified number of payments.
  1349  	InstallmentsBasePlanType *InstallmentsBasePlanType `json:"installmentsBasePlanType,omitempty"`
  1350  	// OfferTags: List of up to 20 custom tags specified for this base plan, and
  1351  	// returned to the app through the billing library. Subscription offers for
  1352  	// this base plan will also receive these offer tags in the billing library.
  1353  	OfferTags []*OfferTag `json:"offerTags,omitempty"`
  1354  	// OtherRegionsConfig: Pricing information for any new locations Play may
  1355  	// launch in the future. If omitted, the BasePlan will not be automatically
  1356  	// available any new locations Play may launch in the future.
  1357  	OtherRegionsConfig *OtherRegionsBasePlanConfig `json:"otherRegionsConfig,omitempty"`
  1358  	// PrepaidBasePlanType: Set when the base plan does not automatically renew at
  1359  	// the end of the billing period.
  1360  	PrepaidBasePlanType *PrepaidBasePlanType `json:"prepaidBasePlanType,omitempty"`
  1361  	// RegionalConfigs: Region-specific information for this base plan.
  1362  	RegionalConfigs []*RegionalBasePlanConfig `json:"regionalConfigs,omitempty"`
  1363  	// State: Output only. The state of the base plan, i.e. whether it's active.
  1364  	// Draft and inactive base plans can be activated or deleted. Active base plans
  1365  	// can be made inactive. Inactive base plans can be canceled. This field cannot
  1366  	// be changed by updating the resource. Use the dedicated endpoints instead.
  1367  	//
  1368  	// Possible values:
  1369  	//   "STATE_UNSPECIFIED" - Unspecified state.
  1370  	//   "DRAFT" - The base plan is currently in a draft state, and hasn't been
  1371  	// activated. It can be safely deleted at this point.
  1372  	//   "ACTIVE" - The base plan is active and available for new subscribers.
  1373  	//   "INACTIVE" - The base plan is inactive and only available for existing
  1374  	// subscribers.
  1375  	State string `json:"state,omitempty"`
  1376  	// ForceSendFields is a list of field names (e.g. "AutoRenewingBasePlanType")
  1377  	// to unconditionally include in API requests. By default, fields with empty or
  1378  	// default values are omitted from API requests. See
  1379  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1380  	// details.
  1381  	ForceSendFields []string `json:"-"`
  1382  	// NullFields is a list of field names (e.g. "AutoRenewingBasePlanType") to
  1383  	// include in API requests with the JSON null value. By default, fields with
  1384  	// empty values are omitted from API requests. See
  1385  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1386  	NullFields []string `json:"-"`
  1387  }
  1388  
  1389  func (s *BasePlan) MarshalJSON() ([]byte, error) {
  1390  	type NoMethod BasePlan
  1391  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1392  }
  1393  
  1394  // BatchGetSubscriptionOffersRequest: Request message for
  1395  // BatchGetSubscriptionOffers endpoint.
  1396  type BatchGetSubscriptionOffersRequest struct {
  1397  	// Requests: Required. A list of update requests of up to 100 elements. All
  1398  	// requests must update different subscriptions.
  1399  	Requests []*GetSubscriptionOfferRequest `json:"requests,omitempty"`
  1400  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1401  	// unconditionally include in API requests. By default, fields with empty or
  1402  	// default values are omitted from API requests. See
  1403  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1404  	// details.
  1405  	ForceSendFields []string `json:"-"`
  1406  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1407  	// requests with the JSON null value. By default, fields with empty values are
  1408  	// omitted from API requests. See
  1409  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1410  	NullFields []string `json:"-"`
  1411  }
  1412  
  1413  func (s *BatchGetSubscriptionOffersRequest) MarshalJSON() ([]byte, error) {
  1414  	type NoMethod BatchGetSubscriptionOffersRequest
  1415  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1416  }
  1417  
  1418  // BatchGetSubscriptionOffersResponse: Response message for
  1419  // BatchGetSubscriptionOffers endpoint.
  1420  type BatchGetSubscriptionOffersResponse struct {
  1421  	SubscriptionOffers []*SubscriptionOffer `json:"subscriptionOffers,omitempty"`
  1422  
  1423  	// ServerResponse contains the HTTP response code and headers from the server.
  1424  	googleapi.ServerResponse `json:"-"`
  1425  	// ForceSendFields is a list of field names (e.g. "SubscriptionOffers") to
  1426  	// unconditionally include in API requests. By default, fields with empty or
  1427  	// default values are omitted from API requests. See
  1428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1429  	// details.
  1430  	ForceSendFields []string `json:"-"`
  1431  	// NullFields is a list of field names (e.g. "SubscriptionOffers") to include
  1432  	// in API requests with the JSON null value. By default, fields with empty
  1433  	// values are omitted from API requests. See
  1434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1435  	NullFields []string `json:"-"`
  1436  }
  1437  
  1438  func (s *BatchGetSubscriptionOffersResponse) MarshalJSON() ([]byte, error) {
  1439  	type NoMethod BatchGetSubscriptionOffersResponse
  1440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1441  }
  1442  
  1443  // BatchGetSubscriptionsResponse: Response message for BatchGetSubscriptions
  1444  // endpoint.
  1445  type BatchGetSubscriptionsResponse struct {
  1446  	// Subscriptions: The list of requested subscriptions, in the same order as the
  1447  	// request.
  1448  	Subscriptions []*Subscription `json:"subscriptions,omitempty"`
  1449  
  1450  	// ServerResponse contains the HTTP response code and headers from the server.
  1451  	googleapi.ServerResponse `json:"-"`
  1452  	// ForceSendFields is a list of field names (e.g. "Subscriptions") to
  1453  	// unconditionally include in API requests. By default, fields with empty or
  1454  	// default values are omitted from API requests. See
  1455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1456  	// details.
  1457  	ForceSendFields []string `json:"-"`
  1458  	// NullFields is a list of field names (e.g. "Subscriptions") to include in API
  1459  	// requests with the JSON null value. By default, fields with empty values are
  1460  	// omitted from API requests. See
  1461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1462  	NullFields []string `json:"-"`
  1463  }
  1464  
  1465  func (s *BatchGetSubscriptionsResponse) MarshalJSON() ([]byte, error) {
  1466  	type NoMethod BatchGetSubscriptionsResponse
  1467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1468  }
  1469  
  1470  // BatchMigrateBasePlanPricesRequest: Request message for
  1471  // BatchMigrateBasePlanPrices.
  1472  type BatchMigrateBasePlanPricesRequest struct {
  1473  	// Requests: Required. Up to 100 price migration requests. All requests must
  1474  	// update different base plans.
  1475  	Requests []*MigrateBasePlanPricesRequest `json:"requests,omitempty"`
  1476  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1477  	// unconditionally include in API requests. By default, fields with empty or
  1478  	// default values are omitted from API requests. See
  1479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1480  	// details.
  1481  	ForceSendFields []string `json:"-"`
  1482  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1483  	// requests with the JSON null value. By default, fields with empty values are
  1484  	// omitted from API requests. See
  1485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1486  	NullFields []string `json:"-"`
  1487  }
  1488  
  1489  func (s *BatchMigrateBasePlanPricesRequest) MarshalJSON() ([]byte, error) {
  1490  	type NoMethod BatchMigrateBasePlanPricesRequest
  1491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1492  }
  1493  
  1494  // BatchMigrateBasePlanPricesResponse: Response message for
  1495  // BatchMigrateBasePlanPrices.
  1496  type BatchMigrateBasePlanPricesResponse struct {
  1497  	// Responses: Contains one response per requested price migration, in the same
  1498  	// order as the request.
  1499  	Responses []*MigrateBasePlanPricesResponse `json:"responses,omitempty"`
  1500  
  1501  	// ServerResponse contains the HTTP response code and headers from the server.
  1502  	googleapi.ServerResponse `json:"-"`
  1503  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1504  	// unconditionally include in API requests. By default, fields with empty or
  1505  	// default values are omitted from API requests. See
  1506  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1507  	// details.
  1508  	ForceSendFields []string `json:"-"`
  1509  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1510  	// requests with the JSON null value. By default, fields with empty values are
  1511  	// omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1513  	NullFields []string `json:"-"`
  1514  }
  1515  
  1516  func (s *BatchMigrateBasePlanPricesResponse) MarshalJSON() ([]byte, error) {
  1517  	type NoMethod BatchMigrateBasePlanPricesResponse
  1518  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1519  }
  1520  
  1521  // BatchUpdateBasePlanStatesRequest: Request message for
  1522  // BatchUpdateBasePlanStates.
  1523  type BatchUpdateBasePlanStatesRequest struct {
  1524  	// Requests: Required. The update request list of up to 100 elements. All
  1525  	// requests must update different base plans.
  1526  	Requests []*UpdateBasePlanStateRequest `json:"requests,omitempty"`
  1527  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1528  	// unconditionally include in API requests. By default, fields with empty or
  1529  	// default values are omitted from API requests. See
  1530  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1531  	// details.
  1532  	ForceSendFields []string `json:"-"`
  1533  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1534  	// requests with the JSON null value. By default, fields with empty values are
  1535  	// omitted from API requests. See
  1536  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1537  	NullFields []string `json:"-"`
  1538  }
  1539  
  1540  func (s *BatchUpdateBasePlanStatesRequest) MarshalJSON() ([]byte, error) {
  1541  	type NoMethod BatchUpdateBasePlanStatesRequest
  1542  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1543  }
  1544  
  1545  // BatchUpdateBasePlanStatesResponse: Response message for
  1546  // BatchUpdateBasePlanStates.
  1547  type BatchUpdateBasePlanStatesResponse struct {
  1548  	// Subscriptions: The list of updated subscriptions. This list will match the
  1549  	// requests one to one, in the same order.
  1550  	Subscriptions []*Subscription `json:"subscriptions,omitempty"`
  1551  
  1552  	// ServerResponse contains the HTTP response code and headers from the server.
  1553  	googleapi.ServerResponse `json:"-"`
  1554  	// ForceSendFields is a list of field names (e.g. "Subscriptions") to
  1555  	// unconditionally include in API requests. By default, fields with empty or
  1556  	// default values are omitted from API requests. See
  1557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1558  	// details.
  1559  	ForceSendFields []string `json:"-"`
  1560  	// NullFields is a list of field names (e.g. "Subscriptions") to include in API
  1561  	// requests with the JSON null value. By default, fields with empty values are
  1562  	// omitted from API requests. See
  1563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1564  	NullFields []string `json:"-"`
  1565  }
  1566  
  1567  func (s *BatchUpdateBasePlanStatesResponse) MarshalJSON() ([]byte, error) {
  1568  	type NoMethod BatchUpdateBasePlanStatesResponse
  1569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1570  }
  1571  
  1572  // BatchUpdateSubscriptionOfferStatesRequest: Request message for
  1573  // BatchUpdateSubscriptionOfferStates.
  1574  type BatchUpdateSubscriptionOfferStatesRequest struct {
  1575  	// Requests: Required. The update request list of up to 100 elements. All
  1576  	// requests must update different offers.
  1577  	Requests []*UpdateSubscriptionOfferStateRequest `json:"requests,omitempty"`
  1578  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1579  	// unconditionally include in API requests. By default, fields with empty or
  1580  	// default values are omitted from API requests. See
  1581  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1582  	// details.
  1583  	ForceSendFields []string `json:"-"`
  1584  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1585  	// requests with the JSON null value. By default, fields with empty values are
  1586  	// omitted from API requests. See
  1587  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1588  	NullFields []string `json:"-"`
  1589  }
  1590  
  1591  func (s *BatchUpdateSubscriptionOfferStatesRequest) MarshalJSON() ([]byte, error) {
  1592  	type NoMethod BatchUpdateSubscriptionOfferStatesRequest
  1593  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1594  }
  1595  
  1596  // BatchUpdateSubscriptionOfferStatesResponse: Response message for
  1597  // BatchUpdateSubscriptionOfferStates.
  1598  type BatchUpdateSubscriptionOfferStatesResponse struct {
  1599  	// SubscriptionOffers: The updated subscription offers list.
  1600  	SubscriptionOffers []*SubscriptionOffer `json:"subscriptionOffers,omitempty"`
  1601  
  1602  	// ServerResponse contains the HTTP response code and headers from the server.
  1603  	googleapi.ServerResponse `json:"-"`
  1604  	// ForceSendFields is a list of field names (e.g. "SubscriptionOffers") to
  1605  	// unconditionally include in API requests. By default, fields with empty or
  1606  	// default values are omitted from API requests. See
  1607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1608  	// details.
  1609  	ForceSendFields []string `json:"-"`
  1610  	// NullFields is a list of field names (e.g. "SubscriptionOffers") to include
  1611  	// in API requests with the JSON null value. By default, fields with empty
  1612  	// values are omitted from API requests. See
  1613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1614  	NullFields []string `json:"-"`
  1615  }
  1616  
  1617  func (s *BatchUpdateSubscriptionOfferStatesResponse) MarshalJSON() ([]byte, error) {
  1618  	type NoMethod BatchUpdateSubscriptionOfferStatesResponse
  1619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1620  }
  1621  
  1622  // BatchUpdateSubscriptionOffersRequest: Request message for
  1623  // BatchUpdateSubscriptionOffers.
  1624  type BatchUpdateSubscriptionOffersRequest struct {
  1625  	// Requests: Required. A list of update requests of up to 100 elements. All
  1626  	// requests must update different subscription offers.
  1627  	Requests []*UpdateSubscriptionOfferRequest `json:"requests,omitempty"`
  1628  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1629  	// unconditionally include in API requests. By default, fields with empty or
  1630  	// default values are omitted from API requests. See
  1631  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1632  	// details.
  1633  	ForceSendFields []string `json:"-"`
  1634  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1635  	// requests with the JSON null value. By default, fields with empty values are
  1636  	// omitted from API requests. See
  1637  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1638  	NullFields []string `json:"-"`
  1639  }
  1640  
  1641  func (s *BatchUpdateSubscriptionOffersRequest) MarshalJSON() ([]byte, error) {
  1642  	type NoMethod BatchUpdateSubscriptionOffersRequest
  1643  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1644  }
  1645  
  1646  // BatchUpdateSubscriptionOffersResponse: Response message for
  1647  // BatchUpdateSubscriptionOffers.
  1648  type BatchUpdateSubscriptionOffersResponse struct {
  1649  	// SubscriptionOffers: The updated subscription offers list.
  1650  	SubscriptionOffers []*SubscriptionOffer `json:"subscriptionOffers,omitempty"`
  1651  
  1652  	// ServerResponse contains the HTTP response code and headers from the server.
  1653  	googleapi.ServerResponse `json:"-"`
  1654  	// ForceSendFields is a list of field names (e.g. "SubscriptionOffers") to
  1655  	// unconditionally include in API requests. By default, fields with empty or
  1656  	// default values are omitted from API requests. See
  1657  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1658  	// details.
  1659  	ForceSendFields []string `json:"-"`
  1660  	// NullFields is a list of field names (e.g. "SubscriptionOffers") to include
  1661  	// in API requests with the JSON null value. By default, fields with empty
  1662  	// values are omitted from API requests. See
  1663  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1664  	NullFields []string `json:"-"`
  1665  }
  1666  
  1667  func (s *BatchUpdateSubscriptionOffersResponse) MarshalJSON() ([]byte, error) {
  1668  	type NoMethod BatchUpdateSubscriptionOffersResponse
  1669  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1670  }
  1671  
  1672  // BatchUpdateSubscriptionsRequest: Request message for
  1673  // BatchUpdateSubscription.
  1674  type BatchUpdateSubscriptionsRequest struct {
  1675  	// Requests: Required. A list of update requests of up to 100 elements. All
  1676  	// requests must update different subscriptions.
  1677  	Requests []*UpdateSubscriptionRequest `json:"requests,omitempty"`
  1678  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1679  	// unconditionally include in API requests. By default, fields with empty or
  1680  	// default values are omitted from API requests. See
  1681  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1682  	// details.
  1683  	ForceSendFields []string `json:"-"`
  1684  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1685  	// requests with the JSON null value. By default, fields with empty values are
  1686  	// omitted from API requests. See
  1687  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1688  	NullFields []string `json:"-"`
  1689  }
  1690  
  1691  func (s *BatchUpdateSubscriptionsRequest) MarshalJSON() ([]byte, error) {
  1692  	type NoMethod BatchUpdateSubscriptionsRequest
  1693  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1694  }
  1695  
  1696  // BatchUpdateSubscriptionsResponse: Response message for
  1697  // BatchUpdateSubscription.
  1698  type BatchUpdateSubscriptionsResponse struct {
  1699  	// Subscriptions: The updated subscriptions list.
  1700  	Subscriptions []*Subscription `json:"subscriptions,omitempty"`
  1701  
  1702  	// ServerResponse contains the HTTP response code and headers from the server.
  1703  	googleapi.ServerResponse `json:"-"`
  1704  	// ForceSendFields is a list of field names (e.g. "Subscriptions") to
  1705  	// unconditionally include in API requests. By default, fields with empty or
  1706  	// default values are omitted from API requests. See
  1707  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1708  	// details.
  1709  	ForceSendFields []string `json:"-"`
  1710  	// NullFields is a list of field names (e.g. "Subscriptions") to include in API
  1711  	// requests with the JSON null value. By default, fields with empty values are
  1712  	// omitted from API requests. See
  1713  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1714  	NullFields []string `json:"-"`
  1715  }
  1716  
  1717  func (s *BatchUpdateSubscriptionsResponse) MarshalJSON() ([]byte, error) {
  1718  	type NoMethod BatchUpdateSubscriptionsResponse
  1719  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1720  }
  1721  
  1722  // Bundle: Information about an app bundle. The resource for BundlesService.
  1723  type Bundle struct {
  1724  	// Sha1: A sha1 hash of the upload payload, encoded as a hex string and
  1725  	// matching the output of the sha1sum command.
  1726  	Sha1 string `json:"sha1,omitempty"`
  1727  	// Sha256: A sha256 hash of the upload payload, encoded as a hex string and
  1728  	// matching the output of the sha256sum command.
  1729  	Sha256 string `json:"sha256,omitempty"`
  1730  	// VersionCode: The version code of the Android App Bundle, as specified in the
  1731  	// Android App Bundle's base module APK manifest file.
  1732  	VersionCode int64 `json:"versionCode,omitempty"`
  1733  
  1734  	// ServerResponse contains the HTTP response code and headers from the server.
  1735  	googleapi.ServerResponse `json:"-"`
  1736  	// ForceSendFields is a list of field names (e.g. "Sha1") to unconditionally
  1737  	// include in API requests. By default, fields with empty or default values are
  1738  	// omitted from API requests. See
  1739  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1740  	// details.
  1741  	ForceSendFields []string `json:"-"`
  1742  	// NullFields is a list of field names (e.g. "Sha1") to include in API requests
  1743  	// with the JSON null value. By default, fields with empty values are omitted
  1744  	// from API requests. See
  1745  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1746  	NullFields []string `json:"-"`
  1747  }
  1748  
  1749  func (s *Bundle) MarshalJSON() ([]byte, error) {
  1750  	type NoMethod Bundle
  1751  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1752  }
  1753  
  1754  // BundlesListResponse: Response listing all app bundles.
  1755  type BundlesListResponse struct {
  1756  	// Bundles: All app bundles.
  1757  	Bundles []*Bundle `json:"bundles,omitempty"`
  1758  	// Kind: The kind of this response ("androidpublisher#bundlesListResponse").
  1759  	Kind string `json:"kind,omitempty"`
  1760  
  1761  	// ServerResponse contains the HTTP response code and headers from the server.
  1762  	googleapi.ServerResponse `json:"-"`
  1763  	// ForceSendFields is a list of field names (e.g. "Bundles") to unconditionally
  1764  	// include in API requests. By default, fields with empty or default values are
  1765  	// omitted from API requests. See
  1766  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1767  	// details.
  1768  	ForceSendFields []string `json:"-"`
  1769  	// NullFields is a list of field names (e.g. "Bundles") to include in API
  1770  	// requests with the JSON null value. By default, fields with empty values are
  1771  	// omitted from API requests. See
  1772  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1773  	NullFields []string `json:"-"`
  1774  }
  1775  
  1776  func (s *BundlesListResponse) MarshalJSON() ([]byte, error) {
  1777  	type NoMethod BundlesListResponse
  1778  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1779  }
  1780  
  1781  // CancelAppRecoveryRequest: Request message for CancelAppRecovery.
  1782  type CancelAppRecoveryRequest struct {
  1783  }
  1784  
  1785  // CancelAppRecoveryResponse: Response message for CancelAppRecovery.
  1786  type CancelAppRecoveryResponse struct {
  1787  	// ServerResponse contains the HTTP response code and headers from the server.
  1788  	googleapi.ServerResponse `json:"-"`
  1789  }
  1790  
  1791  // CancelSurveyResult: Result of the cancel survey when the subscription was
  1792  // canceled by the user.
  1793  type CancelSurveyResult struct {
  1794  	// Reason: The reason the user selected in the cancel survey.
  1795  	//
  1796  	// Possible values:
  1797  	//   "CANCEL_SURVEY_REASON_UNSPECIFIED" - Unspecified cancel survey reason.
  1798  	//   "CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE" - Not enough usage of the
  1799  	// subscription.
  1800  	//   "CANCEL_SURVEY_REASON_TECHNICAL_ISSUES" - Technical issues while using the
  1801  	// app.
  1802  	//   "CANCEL_SURVEY_REASON_COST_RELATED" - Cost related issues.
  1803  	//   "CANCEL_SURVEY_REASON_FOUND_BETTER_APP" - The user found a better app.
  1804  	//   "CANCEL_SURVEY_REASON_OTHERS" - Other reasons.
  1805  	Reason string `json:"reason,omitempty"`
  1806  	// ReasonUserInput: Only set for CANCEL_SURVEY_REASON_OTHERS. This is the
  1807  	// user's freeform response to the survey.
  1808  	ReasonUserInput string `json:"reasonUserInput,omitempty"`
  1809  	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
  1810  	// include in API requests. By default, fields with empty or default values are
  1811  	// omitted from API requests. See
  1812  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1813  	// details.
  1814  	ForceSendFields []string `json:"-"`
  1815  	// NullFields is a list of field names (e.g. "Reason") to include in API
  1816  	// requests with the JSON null value. By default, fields with empty values are
  1817  	// omitted from API requests. See
  1818  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1819  	NullFields []string `json:"-"`
  1820  }
  1821  
  1822  func (s *CancelSurveyResult) MarshalJSON() ([]byte, error) {
  1823  	type NoMethod CancelSurveyResult
  1824  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1825  }
  1826  
  1827  // CanceledStateContext: Information specific to a subscription in the
  1828  // SUBSCRIPTION_STATE_CANCELED or SUBSCRIPTION_STATE_EXPIRED state.
  1829  type CanceledStateContext struct {
  1830  	// DeveloperInitiatedCancellation: Subscription was canceled by the developer.
  1831  	DeveloperInitiatedCancellation *DeveloperInitiatedCancellation `json:"developerInitiatedCancellation,omitempty"`
  1832  	// ReplacementCancellation: Subscription was replaced by a new subscription.
  1833  	ReplacementCancellation *ReplacementCancellation `json:"replacementCancellation,omitempty"`
  1834  	// SystemInitiatedCancellation: Subscription was canceled by the system, for
  1835  	// example because of a billing problem.
  1836  	SystemInitiatedCancellation *SystemInitiatedCancellation `json:"systemInitiatedCancellation,omitempty"`
  1837  	// UserInitiatedCancellation: Subscription was canceled by user.
  1838  	UserInitiatedCancellation *UserInitiatedCancellation `json:"userInitiatedCancellation,omitempty"`
  1839  	// ForceSendFields is a list of field names (e.g.
  1840  	// "DeveloperInitiatedCancellation") to unconditionally include in API
  1841  	// requests. By default, fields with empty or default values are omitted from
  1842  	// API requests. See
  1843  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1844  	// details.
  1845  	ForceSendFields []string `json:"-"`
  1846  	// NullFields is a list of field names (e.g. "DeveloperInitiatedCancellation")
  1847  	// to include in API requests with the JSON null value. By default, fields with
  1848  	// empty values are omitted from API requests. See
  1849  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1850  	NullFields []string `json:"-"`
  1851  }
  1852  
  1853  func (s *CanceledStateContext) MarshalJSON() ([]byte, error) {
  1854  	type NoMethod CanceledStateContext
  1855  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1856  }
  1857  
  1858  // Comment: An entry of conversation between user and developer.
  1859  type Comment struct {
  1860  	// DeveloperComment: A comment from a developer.
  1861  	DeveloperComment *DeveloperComment `json:"developerComment,omitempty"`
  1862  	// UserComment: A comment from a user.
  1863  	UserComment *UserComment `json:"userComment,omitempty"`
  1864  	// ForceSendFields is a list of field names (e.g. "DeveloperComment") to
  1865  	// unconditionally include in API requests. By default, fields with empty or
  1866  	// default values are omitted from API requests. See
  1867  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1868  	// details.
  1869  	ForceSendFields []string `json:"-"`
  1870  	// NullFields is a list of field names (e.g. "DeveloperComment") to include in
  1871  	// API requests with the JSON null value. By default, fields with empty values
  1872  	// are omitted from API requests. See
  1873  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1874  	NullFields []string `json:"-"`
  1875  }
  1876  
  1877  func (s *Comment) MarshalJSON() ([]byte, error) {
  1878  	type NoMethod Comment
  1879  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1880  }
  1881  
  1882  // ConvertRegionPricesRequest: Request message for ConvertRegionPrices.
  1883  type ConvertRegionPricesRequest struct {
  1884  	// Price: The intital price to convert other regions from. Tax exclusive.
  1885  	Price *Money `json:"price,omitempty"`
  1886  	// ForceSendFields is a list of field names (e.g. "Price") to unconditionally
  1887  	// include in API requests. By default, fields with empty or default values are
  1888  	// omitted from API requests. See
  1889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1890  	// details.
  1891  	ForceSendFields []string `json:"-"`
  1892  	// NullFields is a list of field names (e.g. "Price") to include in API
  1893  	// requests with the JSON null value. By default, fields with empty values are
  1894  	// omitted from API requests. See
  1895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1896  	NullFields []string `json:"-"`
  1897  }
  1898  
  1899  func (s *ConvertRegionPricesRequest) MarshalJSON() ([]byte, error) {
  1900  	type NoMethod ConvertRegionPricesRequest
  1901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1902  }
  1903  
  1904  // ConvertRegionPricesResponse: Response message for ConvertRegionPrices.
  1905  type ConvertRegionPricesResponse struct {
  1906  	// ConvertedOtherRegionsPrice: Converted other regions prices in USD and EUR,
  1907  	// to use for countries where Play doesn't support a country's local currency.
  1908  	ConvertedOtherRegionsPrice *ConvertedOtherRegionsPrice `json:"convertedOtherRegionsPrice,omitempty"`
  1909  	// ConvertedRegionPrices: Map from region code to converted region price.
  1910  	ConvertedRegionPrices map[string]ConvertedRegionPrice `json:"convertedRegionPrices,omitempty"`
  1911  
  1912  	// ServerResponse contains the HTTP response code and headers from the server.
  1913  	googleapi.ServerResponse `json:"-"`
  1914  	// ForceSendFields is a list of field names (e.g. "ConvertedOtherRegionsPrice")
  1915  	// to unconditionally include in API requests. By default, fields with empty or
  1916  	// default values are omitted from API requests. See
  1917  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1918  	// details.
  1919  	ForceSendFields []string `json:"-"`
  1920  	// NullFields is a list of field names (e.g. "ConvertedOtherRegionsPrice") to
  1921  	// include in API requests with the JSON null value. By default, fields with
  1922  	// empty values are omitted from API requests. See
  1923  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1924  	NullFields []string `json:"-"`
  1925  }
  1926  
  1927  func (s *ConvertRegionPricesResponse) MarshalJSON() ([]byte, error) {
  1928  	type NoMethod ConvertRegionPricesResponse
  1929  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1930  }
  1931  
  1932  // ConvertedOtherRegionsPrice: Converted other regions prices.
  1933  type ConvertedOtherRegionsPrice struct {
  1934  	// EurPrice: Price in EUR to use for the "Other regions" location exclusive of
  1935  	// taxes.
  1936  	EurPrice *Money `json:"eurPrice,omitempty"`
  1937  	// UsdPrice: Price in USD to use for the "Other regions" location exclusive of
  1938  	// taxes.
  1939  	UsdPrice *Money `json:"usdPrice,omitempty"`
  1940  	// ForceSendFields is a list of field names (e.g. "EurPrice") to
  1941  	// unconditionally include in API requests. By default, fields with empty or
  1942  	// default values are omitted from API requests. See
  1943  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1944  	// details.
  1945  	ForceSendFields []string `json:"-"`
  1946  	// NullFields is a list of field names (e.g. "EurPrice") to include in API
  1947  	// requests with the JSON null value. By default, fields with empty values are
  1948  	// omitted from API requests. See
  1949  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1950  	NullFields []string `json:"-"`
  1951  }
  1952  
  1953  func (s *ConvertedOtherRegionsPrice) MarshalJSON() ([]byte, error) {
  1954  	type NoMethod ConvertedOtherRegionsPrice
  1955  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1956  }
  1957  
  1958  // ConvertedRegionPrice: A converted region price.
  1959  type ConvertedRegionPrice struct {
  1960  	// Price: The converted price tax inclusive.
  1961  	Price *Money `json:"price,omitempty"`
  1962  	// RegionCode: The region code of the region.
  1963  	RegionCode string `json:"regionCode,omitempty"`
  1964  	// TaxAmount: The tax amount of the converted price.
  1965  	TaxAmount *Money `json:"taxAmount,omitempty"`
  1966  	// ForceSendFields is a list of field names (e.g. "Price") to unconditionally
  1967  	// include in API requests. By default, fields with empty or default values are
  1968  	// omitted from API requests. See
  1969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1970  	// details.
  1971  	ForceSendFields []string `json:"-"`
  1972  	// NullFields is a list of field names (e.g. "Price") to include in API
  1973  	// requests with the JSON null value. By default, fields with empty values are
  1974  	// omitted from API requests. See
  1975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1976  	NullFields []string `json:"-"`
  1977  }
  1978  
  1979  func (s *ConvertedRegionPrice) MarshalJSON() ([]byte, error) {
  1980  	type NoMethod ConvertedRegionPrice
  1981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1982  }
  1983  
  1984  // CountryTargeting: Country targeting specification.
  1985  type CountryTargeting struct {
  1986  	// Countries: Countries to target, specified as two letter CLDR codes
  1987  	// (https://unicode.org/cldr/charts/latest/supplemental/territory_containment_un_m_49.html).
  1988  	Countries []string `json:"countries,omitempty"`
  1989  	// IncludeRestOfWorld: Include "rest of world" as well as explicitly targeted
  1990  	// countries.
  1991  	IncludeRestOfWorld bool `json:"includeRestOfWorld,omitempty"`
  1992  	// ForceSendFields is a list of field names (e.g. "Countries") to
  1993  	// unconditionally include in API requests. By default, fields with empty or
  1994  	// default values are omitted from API requests. See
  1995  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1996  	// details.
  1997  	ForceSendFields []string `json:"-"`
  1998  	// NullFields is a list of field names (e.g. "Countries") to include in API
  1999  	// requests with the JSON null value. By default, fields with empty values are
  2000  	// omitted from API requests. See
  2001  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2002  	NullFields []string `json:"-"`
  2003  }
  2004  
  2005  func (s *CountryTargeting) MarshalJSON() ([]byte, error) {
  2006  	type NoMethod CountryTargeting
  2007  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2008  }
  2009  
  2010  // CreateDraftAppRecoveryRequest: Request message for CreateDraftAppRecovery.
  2011  type CreateDraftAppRecoveryRequest struct {
  2012  	// RemoteInAppUpdate: Action type is remote in-app update. As a consequence of
  2013  	// this action, a downloadable recovery module is also created for testing
  2014  	// purposes.
  2015  	RemoteInAppUpdate *RemoteInAppUpdate `json:"remoteInAppUpdate,omitempty"`
  2016  	// Targeting: Specifies targeting criteria for the recovery action such as
  2017  	// regions, android sdk versions, app versions etc.
  2018  	Targeting *Targeting `json:"targeting,omitempty"`
  2019  	// ForceSendFields is a list of field names (e.g. "RemoteInAppUpdate") to
  2020  	// unconditionally include in API requests. By default, fields with empty or
  2021  	// default values are omitted from API requests. See
  2022  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2023  	// details.
  2024  	ForceSendFields []string `json:"-"`
  2025  	// NullFields is a list of field names (e.g. "RemoteInAppUpdate") to include in
  2026  	// API requests with the JSON null value. By default, fields with empty values
  2027  	// are omitted from API requests. See
  2028  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2029  	NullFields []string `json:"-"`
  2030  }
  2031  
  2032  func (s *CreateDraftAppRecoveryRequest) MarshalJSON() ([]byte, error) {
  2033  	type NoMethod CreateDraftAppRecoveryRequest
  2034  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2035  }
  2036  
  2037  // DeactivateBasePlanRequest: Request message for DeactivateBasePlan.
  2038  type DeactivateBasePlanRequest struct {
  2039  	// BasePlanId: Required. The unique base plan ID of the base plan to
  2040  	// deactivate.
  2041  	BasePlanId string `json:"basePlanId,omitempty"`
  2042  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  2043  	// this product update. Defaults to latency-sensitive.
  2044  	//
  2045  	// Possible values:
  2046  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  2047  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  2048  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  2049  	// propagate to clients within several minutes on average and up to a few hours
  2050  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  2051  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  2052  	// propagate to clients within 24 hours. Supports high throughput of up to
  2053  	// 720,000 updates per app per hour using batch modification methods.
  2054  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  2055  	// PackageName: Required. The parent app (package name) of the base plan to
  2056  	// deactivate.
  2057  	PackageName string `json:"packageName,omitempty"`
  2058  	// ProductId: Required. The parent subscription (ID) of the base plan to
  2059  	// deactivate.
  2060  	ProductId string `json:"productId,omitempty"`
  2061  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  2062  	// unconditionally include in API requests. By default, fields with empty or
  2063  	// default values are omitted from API requests. See
  2064  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2065  	// details.
  2066  	ForceSendFields []string `json:"-"`
  2067  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  2068  	// requests with the JSON null value. By default, fields with empty values are
  2069  	// omitted from API requests. See
  2070  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2071  	NullFields []string `json:"-"`
  2072  }
  2073  
  2074  func (s *DeactivateBasePlanRequest) MarshalJSON() ([]byte, error) {
  2075  	type NoMethod DeactivateBasePlanRequest
  2076  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2077  }
  2078  
  2079  // DeactivateSubscriptionOfferRequest: Request message for
  2080  // DeactivateSubscriptionOffer.
  2081  type DeactivateSubscriptionOfferRequest struct {
  2082  	// BasePlanId: Required. The parent base plan (ID) of the offer to deactivate.
  2083  	BasePlanId string `json:"basePlanId,omitempty"`
  2084  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  2085  	// this product update. Defaults to latency-sensitive.
  2086  	//
  2087  	// Possible values:
  2088  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  2089  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  2090  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  2091  	// propagate to clients within several minutes on average and up to a few hours
  2092  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  2093  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  2094  	// propagate to clients within 24 hours. Supports high throughput of up to
  2095  	// 720,000 updates per app per hour using batch modification methods.
  2096  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  2097  	// OfferId: Required. The unique offer ID of the offer to deactivate.
  2098  	OfferId string `json:"offerId,omitempty"`
  2099  	// PackageName: Required. The parent app (package name) of the offer to
  2100  	// deactivate.
  2101  	PackageName string `json:"packageName,omitempty"`
  2102  	// ProductId: Required. The parent subscription (ID) of the offer to
  2103  	// deactivate.
  2104  	ProductId string `json:"productId,omitempty"`
  2105  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  2106  	// unconditionally include in API requests. By default, fields with empty or
  2107  	// default values are omitted from API requests. See
  2108  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2109  	// details.
  2110  	ForceSendFields []string `json:"-"`
  2111  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  2112  	// requests with the JSON null value. By default, fields with empty values are
  2113  	// omitted from API requests. See
  2114  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2115  	NullFields []string `json:"-"`
  2116  }
  2117  
  2118  func (s *DeactivateSubscriptionOfferRequest) MarshalJSON() ([]byte, error) {
  2119  	type NoMethod DeactivateSubscriptionOfferRequest
  2120  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2121  }
  2122  
  2123  // DeferredItemReplacement: Information related to deferred item replacement.
  2124  type DeferredItemReplacement struct {
  2125  	// ProductId: The product_id going to replace the existing product_id.
  2126  	ProductId string `json:"productId,omitempty"`
  2127  	// ForceSendFields is a list of field names (e.g. "ProductId") to
  2128  	// unconditionally include in API requests. By default, fields with empty or
  2129  	// default values are omitted from API requests. See
  2130  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2131  	// details.
  2132  	ForceSendFields []string `json:"-"`
  2133  	// NullFields is a list of field names (e.g. "ProductId") to include in API
  2134  	// requests with the JSON null value. By default, fields with empty values are
  2135  	// omitted from API requests. See
  2136  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2137  	NullFields []string `json:"-"`
  2138  }
  2139  
  2140  func (s *DeferredItemReplacement) MarshalJSON() ([]byte, error) {
  2141  	type NoMethod DeferredItemReplacement
  2142  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2143  }
  2144  
  2145  // DeobfuscationFile: Represents a deobfuscation file.
  2146  type DeobfuscationFile struct {
  2147  	// SymbolType: The type of the deobfuscation file.
  2148  	//
  2149  	// Possible values:
  2150  	//   "deobfuscationFileTypeUnspecified" - Unspecified deobfuscation file type.
  2151  	//   "proguard" - Proguard deobfuscation file type.
  2152  	//   "nativeCode" - Native debugging symbols file type.
  2153  	SymbolType string `json:"symbolType,omitempty"`
  2154  	// ForceSendFields is a list of field names (e.g. "SymbolType") to
  2155  	// unconditionally include in API requests. By default, fields with empty or
  2156  	// default values are omitted from API requests. See
  2157  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2158  	// details.
  2159  	ForceSendFields []string `json:"-"`
  2160  	// NullFields is a list of field names (e.g. "SymbolType") to include in API
  2161  	// requests with the JSON null value. By default, fields with empty values are
  2162  	// omitted from API requests. See
  2163  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2164  	NullFields []string `json:"-"`
  2165  }
  2166  
  2167  func (s *DeobfuscationFile) MarshalJSON() ([]byte, error) {
  2168  	type NoMethod DeobfuscationFile
  2169  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2170  }
  2171  
  2172  // DeobfuscationFilesUploadResponse: Responses for the upload.
  2173  type DeobfuscationFilesUploadResponse struct {
  2174  	// DeobfuscationFile: The uploaded Deobfuscation File configuration.
  2175  	DeobfuscationFile *DeobfuscationFile `json:"deobfuscationFile,omitempty"`
  2176  
  2177  	// ServerResponse contains the HTTP response code and headers from the server.
  2178  	googleapi.ServerResponse `json:"-"`
  2179  	// ForceSendFields is a list of field names (e.g. "DeobfuscationFile") to
  2180  	// unconditionally include in API requests. By default, fields with empty or
  2181  	// default values are omitted from API requests. See
  2182  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2183  	// details.
  2184  	ForceSendFields []string `json:"-"`
  2185  	// NullFields is a list of field names (e.g. "DeobfuscationFile") to include in
  2186  	// API requests with the JSON null value. By default, fields with empty values
  2187  	// are omitted from API requests. See
  2188  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2189  	NullFields []string `json:"-"`
  2190  }
  2191  
  2192  func (s *DeobfuscationFilesUploadResponse) MarshalJSON() ([]byte, error) {
  2193  	type NoMethod DeobfuscationFilesUploadResponse
  2194  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2195  }
  2196  
  2197  // DeployAppRecoveryRequest: Request message for DeployAppRecovery.
  2198  type DeployAppRecoveryRequest struct {
  2199  }
  2200  
  2201  // DeployAppRecoveryResponse: Response message for DeployAppRecovery.
  2202  type DeployAppRecoveryResponse struct {
  2203  	// ServerResponse contains the HTTP response code and headers from the server.
  2204  	googleapi.ServerResponse `json:"-"`
  2205  }
  2206  
  2207  // DeveloperComment: Developer entry from conversation between user and
  2208  // developer.
  2209  type DeveloperComment struct {
  2210  	// LastModified: The last time at which this comment was updated.
  2211  	LastModified *Timestamp `json:"lastModified,omitempty"`
  2212  	// Text: The content of the comment, i.e. reply body.
  2213  	Text string `json:"text,omitempty"`
  2214  	// ForceSendFields is a list of field names (e.g. "LastModified") to
  2215  	// unconditionally include in API requests. By default, fields with empty or
  2216  	// default values are omitted from API requests. See
  2217  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2218  	// details.
  2219  	ForceSendFields []string `json:"-"`
  2220  	// NullFields is a list of field names (e.g. "LastModified") to include in API
  2221  	// requests with the JSON null value. By default, fields with empty values are
  2222  	// omitted from API requests. See
  2223  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2224  	NullFields []string `json:"-"`
  2225  }
  2226  
  2227  func (s *DeveloperComment) MarshalJSON() ([]byte, error) {
  2228  	type NoMethod DeveloperComment
  2229  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2230  }
  2231  
  2232  // DeveloperInitiatedCancellation: Information specific to cancellations
  2233  // initiated by developers.
  2234  type DeveloperInitiatedCancellation struct {
  2235  }
  2236  
  2237  // DeviceFeature: Represents a device feature.
  2238  type DeviceFeature struct {
  2239  	// FeatureName: Name of the feature.
  2240  	FeatureName string `json:"featureName,omitempty"`
  2241  	// FeatureVersion: The feature version specified by android:glEsVersion or
  2242  	// android:version in in the AndroidManifest.
  2243  	FeatureVersion int64 `json:"featureVersion,omitempty"`
  2244  	// ForceSendFields is a list of field names (e.g. "FeatureName") to
  2245  	// unconditionally include in API requests. By default, fields with empty or
  2246  	// default values are omitted from API requests. See
  2247  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2248  	// details.
  2249  	ForceSendFields []string `json:"-"`
  2250  	// NullFields is a list of field names (e.g. "FeatureName") to include in API
  2251  	// requests with the JSON null value. By default, fields with empty values are
  2252  	// omitted from API requests. See
  2253  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2254  	NullFields []string `json:"-"`
  2255  }
  2256  
  2257  func (s *DeviceFeature) MarshalJSON() ([]byte, error) {
  2258  	type NoMethod DeviceFeature
  2259  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2260  }
  2261  
  2262  // DeviceFeatureTargeting: Targeting for a device feature.
  2263  type DeviceFeatureTargeting struct {
  2264  	// RequiredFeature: Feature of the device.
  2265  	RequiredFeature *DeviceFeature `json:"requiredFeature,omitempty"`
  2266  	// ForceSendFields is a list of field names (e.g. "RequiredFeature") to
  2267  	// unconditionally include in API requests. By default, fields with empty or
  2268  	// default values are omitted from API requests. See
  2269  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2270  	// details.
  2271  	ForceSendFields []string `json:"-"`
  2272  	// NullFields is a list of field names (e.g. "RequiredFeature") to include in
  2273  	// API requests with the JSON null value. By default, fields with empty values
  2274  	// are omitted from API requests. See
  2275  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2276  	NullFields []string `json:"-"`
  2277  }
  2278  
  2279  func (s *DeviceFeatureTargeting) MarshalJSON() ([]byte, error) {
  2280  	type NoMethod DeviceFeatureTargeting
  2281  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2282  }
  2283  
  2284  // DeviceGroup: A group of devices. A group is defined by a set of device
  2285  // selectors. A device belongs to the group if it matches any selector (logical
  2286  // OR).
  2287  type DeviceGroup struct {
  2288  	// DeviceSelectors: Device selectors for this group. A device matching any of
  2289  	// the selectors is included in this group.
  2290  	DeviceSelectors []*DeviceSelector `json:"deviceSelectors,omitempty"`
  2291  	// Name: The name of the group.
  2292  	Name string `json:"name,omitempty"`
  2293  	// ForceSendFields is a list of field names (e.g. "DeviceSelectors") to
  2294  	// unconditionally include in API requests. By default, fields with empty or
  2295  	// default values are omitted from API requests. See
  2296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2297  	// details.
  2298  	ForceSendFields []string `json:"-"`
  2299  	// NullFields is a list of field names (e.g. "DeviceSelectors") to include in
  2300  	// API requests with the JSON null value. By default, fields with empty values
  2301  	// are omitted from API requests. See
  2302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2303  	NullFields []string `json:"-"`
  2304  }
  2305  
  2306  func (s *DeviceGroup) MarshalJSON() ([]byte, error) {
  2307  	type NoMethod DeviceGroup
  2308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2309  }
  2310  
  2311  // DeviceId: Identifier of a device.
  2312  type DeviceId struct {
  2313  	// BuildBrand: Value of Build.BRAND.
  2314  	BuildBrand string `json:"buildBrand,omitempty"`
  2315  	// BuildDevice: Value of Build.DEVICE.
  2316  	BuildDevice string `json:"buildDevice,omitempty"`
  2317  	// ForceSendFields is a list of field names (e.g. "BuildBrand") to
  2318  	// unconditionally include in API requests. By default, fields with empty or
  2319  	// default values are omitted from API requests. See
  2320  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2321  	// details.
  2322  	ForceSendFields []string `json:"-"`
  2323  	// NullFields is a list of field names (e.g. "BuildBrand") to include in API
  2324  	// requests with the JSON null value. By default, fields with empty values are
  2325  	// omitted from API requests. See
  2326  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2327  	NullFields []string `json:"-"`
  2328  }
  2329  
  2330  func (s *DeviceId) MarshalJSON() ([]byte, error) {
  2331  	type NoMethod DeviceId
  2332  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2333  }
  2334  
  2335  // DeviceMetadata: Characteristics of the user's device.
  2336  type DeviceMetadata struct {
  2337  	// CpuMake: Device CPU make, e.g. "Qualcomm"
  2338  	CpuMake string `json:"cpuMake,omitempty"`
  2339  	// CpuModel: Device CPU model, e.g. "MSM8974"
  2340  	CpuModel string `json:"cpuModel,omitempty"`
  2341  	// DeviceClass: Device class (e.g. tablet)
  2342  	DeviceClass string `json:"deviceClass,omitempty"`
  2343  	// GlEsVersion: OpenGL version
  2344  	GlEsVersion int64 `json:"glEsVersion,omitempty"`
  2345  	// Manufacturer: Device manufacturer (e.g. Motorola)
  2346  	Manufacturer string `json:"manufacturer,omitempty"`
  2347  	// NativePlatform: Comma separated list of native platforms (e.g. "arm",
  2348  	// "arm7")
  2349  	NativePlatform string `json:"nativePlatform,omitempty"`
  2350  	// ProductName: Device model name (e.g. Droid)
  2351  	ProductName string `json:"productName,omitempty"`
  2352  	// RamMb: Device RAM in Megabytes, e.g. "2048"
  2353  	RamMb int64 `json:"ramMb,omitempty"`
  2354  	// ScreenDensityDpi: Screen density in DPI
  2355  	ScreenDensityDpi int64 `json:"screenDensityDpi,omitempty"`
  2356  	// ScreenHeightPx: Screen height in pixels
  2357  	ScreenHeightPx int64 `json:"screenHeightPx,omitempty"`
  2358  	// ScreenWidthPx: Screen width in pixels
  2359  	ScreenWidthPx int64 `json:"screenWidthPx,omitempty"`
  2360  	// ForceSendFields is a list of field names (e.g. "CpuMake") to unconditionally
  2361  	// include in API requests. By default, fields with empty or default values are
  2362  	// omitted from API requests. See
  2363  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2364  	// details.
  2365  	ForceSendFields []string `json:"-"`
  2366  	// NullFields is a list of field names (e.g. "CpuMake") to include in API
  2367  	// requests with the JSON null value. By default, fields with empty values are
  2368  	// omitted from API requests. See
  2369  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2370  	NullFields []string `json:"-"`
  2371  }
  2372  
  2373  func (s *DeviceMetadata) MarshalJSON() ([]byte, error) {
  2374  	type NoMethod DeviceMetadata
  2375  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2376  }
  2377  
  2378  // DeviceRam: Conditions about a device's RAM capabilities.
  2379  type DeviceRam struct {
  2380  	// MaxBytes: Maximum RAM in bytes (bound excluded).
  2381  	MaxBytes int64 `json:"maxBytes,omitempty,string"`
  2382  	// MinBytes: Minimum RAM in bytes (bound included).
  2383  	MinBytes int64 `json:"minBytes,omitempty,string"`
  2384  	// ForceSendFields is a list of field names (e.g. "MaxBytes") to
  2385  	// unconditionally include in API requests. By default, fields with empty or
  2386  	// default values are omitted from API requests. See
  2387  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2388  	// details.
  2389  	ForceSendFields []string `json:"-"`
  2390  	// NullFields is a list of field names (e.g. "MaxBytes") to include in API
  2391  	// requests with the JSON null value. By default, fields with empty values are
  2392  	// omitted from API requests. See
  2393  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2394  	NullFields []string `json:"-"`
  2395  }
  2396  
  2397  func (s *DeviceRam) MarshalJSON() ([]byte, error) {
  2398  	type NoMethod DeviceRam
  2399  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2400  }
  2401  
  2402  // DeviceSelector: Selector for a device group. A selector consists of a set of
  2403  // conditions on the device that should all match (logical AND) to determine a
  2404  // device group eligibility. For instance, if a selector specifies RAM
  2405  // conditions, device model inclusion and device model exclusion, a device is
  2406  // considered to match if: device matches RAM conditions AND device matches one
  2407  // of the included device models AND device doesn't match excluded device
  2408  // models
  2409  type DeviceSelector struct {
  2410  	// DeviceRam: Conditions on the device's RAM.
  2411  	DeviceRam *DeviceRam `json:"deviceRam,omitempty"`
  2412  	// ExcludedDeviceIds: Device models excluded by this selector, even if they
  2413  	// match all other conditions.
  2414  	ExcludedDeviceIds []*DeviceId `json:"excludedDeviceIds,omitempty"`
  2415  	// ForbiddenSystemFeatures: A device that has any of these system features is
  2416  	// excluded by this selector, even if it matches all other conditions.
  2417  	ForbiddenSystemFeatures []*SystemFeature `json:"forbiddenSystemFeatures,omitempty"`
  2418  	// IncludedDeviceIds: Device models included by this selector.
  2419  	IncludedDeviceIds []*DeviceId `json:"includedDeviceIds,omitempty"`
  2420  	// RequiredSystemFeatures: A device needs to have all these system features to
  2421  	// be included by the selector.
  2422  	RequiredSystemFeatures []*SystemFeature `json:"requiredSystemFeatures,omitempty"`
  2423  	// ForceSendFields is a list of field names (e.g. "DeviceRam") to
  2424  	// unconditionally include in API requests. By default, fields with empty or
  2425  	// default values are omitted from API requests. See
  2426  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2427  	// details.
  2428  	ForceSendFields []string `json:"-"`
  2429  	// NullFields is a list of field names (e.g. "DeviceRam") to include in API
  2430  	// requests with the JSON null value. By default, fields with empty values are
  2431  	// omitted from API requests. See
  2432  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2433  	NullFields []string `json:"-"`
  2434  }
  2435  
  2436  func (s *DeviceSelector) MarshalJSON() ([]byte, error) {
  2437  	type NoMethod DeviceSelector
  2438  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2439  }
  2440  
  2441  // DeviceSpec: The device spec used to generate a system APK.
  2442  type DeviceSpec struct {
  2443  	// ScreenDensity: Screen dpi.
  2444  	ScreenDensity int64 `json:"screenDensity,omitempty"`
  2445  	// SupportedAbis: Supported ABI architectures in the order of preference. The
  2446  	// values should be the string as reported by the platform, e.g. "armeabi-v7a",
  2447  	// "x86_64".
  2448  	SupportedAbis []string `json:"supportedAbis,omitempty"`
  2449  	// SupportedLocales: All installed locales represented as BCP-47 strings, e.g.
  2450  	// "en-US".
  2451  	SupportedLocales []string `json:"supportedLocales,omitempty"`
  2452  	// ForceSendFields is a list of field names (e.g. "ScreenDensity") to
  2453  	// unconditionally include in API requests. By default, fields with empty or
  2454  	// default values are omitted from API requests. See
  2455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2456  	// details.
  2457  	ForceSendFields []string `json:"-"`
  2458  	// NullFields is a list of field names (e.g. "ScreenDensity") to include in API
  2459  	// requests with the JSON null value. By default, fields with empty values are
  2460  	// omitted from API requests. See
  2461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2462  	NullFields []string `json:"-"`
  2463  }
  2464  
  2465  func (s *DeviceSpec) MarshalJSON() ([]byte, error) {
  2466  	type NoMethod DeviceSpec
  2467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2468  }
  2469  
  2470  // DeviceTier: A single device tier. Devices matching any of the device groups
  2471  // in device_group_names are considered to match the tier.
  2472  type DeviceTier struct {
  2473  	// DeviceGroupNames: Groups of devices included in this tier. These groups must
  2474  	// be defined explicitly under device_groups in this configuration.
  2475  	DeviceGroupNames []string `json:"deviceGroupNames,omitempty"`
  2476  	// Level: The priority level of the tier. Tiers are evaluated in descending
  2477  	// order of level: the highest level tier has the highest priority. The highest
  2478  	// tier matching a given device is selected for that device. You should use a
  2479  	// contiguous range of levels for your tiers in a tier set; tier levels in a
  2480  	// tier set must be unique. For instance, if your tier set has 4 tiers
  2481  	// (including the global fallback), you should define tiers 1, 2 and 3 in this
  2482  	// configuration. Note: tier 0 is implicitly defined as a global fallback and
  2483  	// selected for devices that don't match any of the tiers explicitly defined
  2484  	// here. You mustn't define level 0 explicitly in this configuration.
  2485  	Level int64 `json:"level,omitempty"`
  2486  	// ForceSendFields is a list of field names (e.g. "DeviceGroupNames") to
  2487  	// unconditionally include in API requests. By default, fields with empty or
  2488  	// default values are omitted from API requests. See
  2489  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2490  	// details.
  2491  	ForceSendFields []string `json:"-"`
  2492  	// NullFields is a list of field names (e.g. "DeviceGroupNames") to include in
  2493  	// API requests with the JSON null value. By default, fields with empty values
  2494  	// are omitted from API requests. See
  2495  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2496  	NullFields []string `json:"-"`
  2497  }
  2498  
  2499  func (s *DeviceTier) MarshalJSON() ([]byte, error) {
  2500  	type NoMethod DeviceTier
  2501  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2502  }
  2503  
  2504  // DeviceTierConfig: Configuration describing device targeting criteria for the
  2505  // content of an app.
  2506  type DeviceTierConfig struct {
  2507  	// DeviceGroups: Definition of device groups for the app.
  2508  	DeviceGroups []*DeviceGroup `json:"deviceGroups,omitempty"`
  2509  	// DeviceTierConfigId: Output only. The device tier config ID.
  2510  	DeviceTierConfigId int64 `json:"deviceTierConfigId,omitempty,string"`
  2511  	// DeviceTierSet: Definition of the set of device tiers for the app.
  2512  	DeviceTierSet *DeviceTierSet `json:"deviceTierSet,omitempty"`
  2513  	// UserCountrySets: Definition of user country sets for the app.
  2514  	UserCountrySets []*UserCountrySet `json:"userCountrySets,omitempty"`
  2515  
  2516  	// ServerResponse contains the HTTP response code and headers from the server.
  2517  	googleapi.ServerResponse `json:"-"`
  2518  	// ForceSendFields is a list of field names (e.g. "DeviceGroups") to
  2519  	// unconditionally include in API requests. By default, fields with empty or
  2520  	// default values are omitted from API requests. See
  2521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2522  	// details.
  2523  	ForceSendFields []string `json:"-"`
  2524  	// NullFields is a list of field names (e.g. "DeviceGroups") to include in API
  2525  	// requests with the JSON null value. By default, fields with empty values are
  2526  	// omitted from API requests. See
  2527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2528  	NullFields []string `json:"-"`
  2529  }
  2530  
  2531  func (s *DeviceTierConfig) MarshalJSON() ([]byte, error) {
  2532  	type NoMethod DeviceTierConfig
  2533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2534  }
  2535  
  2536  // DeviceTierSet: A set of device tiers. A tier set determines what variation
  2537  // of app content gets served to a specific device, for device-targeted
  2538  // content. You should assign a priority level to each tier, which determines
  2539  // the ordering by which they are evaluated by Play. See the documentation of
  2540  // DeviceTier.level for more details.
  2541  type DeviceTierSet struct {
  2542  	// DeviceTiers: Device tiers belonging to the set.
  2543  	DeviceTiers []*DeviceTier `json:"deviceTiers,omitempty"`
  2544  	// ForceSendFields is a list of field names (e.g. "DeviceTiers") to
  2545  	// unconditionally include in API requests. By default, fields with empty or
  2546  	// default values are omitted from API requests. See
  2547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2548  	// details.
  2549  	ForceSendFields []string `json:"-"`
  2550  	// NullFields is a list of field names (e.g. "DeviceTiers") to include in API
  2551  	// requests with the JSON null value. By default, fields with empty values are
  2552  	// omitted from API requests. See
  2553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2554  	NullFields []string `json:"-"`
  2555  }
  2556  
  2557  func (s *DeviceTierSet) MarshalJSON() ([]byte, error) {
  2558  	type NoMethod DeviceTierSet
  2559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2560  }
  2561  
  2562  // ExpansionFile: An expansion file. The resource for ExpansionFilesService.
  2563  type ExpansionFile struct {
  2564  	// FileSize: If set, this field indicates that this APK has an expansion file
  2565  	// uploaded to it: this APK does not reference another APK's expansion file.
  2566  	// The field's value is the size of the uploaded expansion file in bytes.
  2567  	FileSize int64 `json:"fileSize,omitempty,string"`
  2568  	// ReferencesVersion: If set, this APK's expansion file references another
  2569  	// APK's expansion file. The file_size field will not be set.
  2570  	ReferencesVersion int64 `json:"referencesVersion,omitempty"`
  2571  
  2572  	// ServerResponse contains the HTTP response code and headers from the server.
  2573  	googleapi.ServerResponse `json:"-"`
  2574  	// ForceSendFields is a list of field names (e.g. "FileSize") to
  2575  	// unconditionally include in API requests. By default, fields with empty or
  2576  	// default values are omitted from API requests. See
  2577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2578  	// details.
  2579  	ForceSendFields []string `json:"-"`
  2580  	// NullFields is a list of field names (e.g. "FileSize") to include in API
  2581  	// requests with the JSON null value. By default, fields with empty values are
  2582  	// omitted from API requests. See
  2583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2584  	NullFields []string `json:"-"`
  2585  }
  2586  
  2587  func (s *ExpansionFile) MarshalJSON() ([]byte, error) {
  2588  	type NoMethod ExpansionFile
  2589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2590  }
  2591  
  2592  // ExpansionFilesUploadResponse: Response for uploading an expansion file.
  2593  type ExpansionFilesUploadResponse struct {
  2594  	// ExpansionFile: The uploaded expansion file configuration.
  2595  	ExpansionFile *ExpansionFile `json:"expansionFile,omitempty"`
  2596  
  2597  	// ServerResponse contains the HTTP response code and headers from the server.
  2598  	googleapi.ServerResponse `json:"-"`
  2599  	// ForceSendFields is a list of field names (e.g. "ExpansionFile") to
  2600  	// unconditionally include in API requests. By default, fields with empty or
  2601  	// default values are omitted from API requests. See
  2602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2603  	// details.
  2604  	ForceSendFields []string `json:"-"`
  2605  	// NullFields is a list of field names (e.g. "ExpansionFile") to include in API
  2606  	// requests with the JSON null value. By default, fields with empty values are
  2607  	// omitted from API requests. See
  2608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2609  	NullFields []string `json:"-"`
  2610  }
  2611  
  2612  func (s *ExpansionFilesUploadResponse) MarshalJSON() ([]byte, error) {
  2613  	type NoMethod ExpansionFilesUploadResponse
  2614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2615  }
  2616  
  2617  // ExternalAccountIdentifiers: User account identifier in the third-party
  2618  // service.
  2619  type ExternalAccountIdentifiers struct {
  2620  	// ExternalAccountId: User account identifier in the third-party service. Only
  2621  	// present if account linking happened as part of the subscription purchase
  2622  	// flow.
  2623  	ExternalAccountId string `json:"externalAccountId,omitempty"`
  2624  	// ObfuscatedExternalAccountId: An obfuscated version of the id that is
  2625  	// uniquely associated with the user's account in your app. Present for the
  2626  	// following purchases: * If account linking happened as part of the
  2627  	// subscription purchase flow. * It was specified using
  2628  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid
  2629  	// when the purchase was made.
  2630  	ObfuscatedExternalAccountId string `json:"obfuscatedExternalAccountId,omitempty"`
  2631  	// ObfuscatedExternalProfileId: An obfuscated version of the id that is
  2632  	// uniquely associated with the user's profile in your app. Only present if
  2633  	// specified using
  2634  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid
  2635  	// when the purchase was made.
  2636  	ObfuscatedExternalProfileId string `json:"obfuscatedExternalProfileId,omitempty"`
  2637  	// ForceSendFields is a list of field names (e.g. "ExternalAccountId") to
  2638  	// unconditionally include in API requests. By default, fields with empty or
  2639  	// default values are omitted from API requests. See
  2640  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2641  	// details.
  2642  	ForceSendFields []string `json:"-"`
  2643  	// NullFields is a list of field names (e.g. "ExternalAccountId") to include in
  2644  	// API requests with the JSON null value. By default, fields with empty values
  2645  	// are omitted from API requests. See
  2646  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2647  	NullFields []string `json:"-"`
  2648  }
  2649  
  2650  func (s *ExternalAccountIdentifiers) MarshalJSON() ([]byte, error) {
  2651  	type NoMethod ExternalAccountIdentifiers
  2652  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2653  }
  2654  
  2655  // ExternalSubscription: Details of an external subscription.
  2656  type ExternalSubscription struct {
  2657  	// SubscriptionType: Required. The type of the external subscription.
  2658  	//
  2659  	// Possible values:
  2660  	//   "SUBSCRIPTION_TYPE_UNSPECIFIED" - Unspecified, do not use.
  2661  	//   "RECURRING" - This is a recurring subscription where the user is charged
  2662  	// every billing cycle.
  2663  	//   "PREPAID" - This is a prepaid subscription where the user pays up front.
  2664  	SubscriptionType string `json:"subscriptionType,omitempty"`
  2665  	// ForceSendFields is a list of field names (e.g. "SubscriptionType") to
  2666  	// unconditionally include in API requests. By default, fields with empty or
  2667  	// default values are omitted from API requests. See
  2668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2669  	// details.
  2670  	ForceSendFields []string `json:"-"`
  2671  	// NullFields is a list of field names (e.g. "SubscriptionType") to include in
  2672  	// API requests with the JSON null value. By default, fields with empty values
  2673  	// are omitted from API requests. See
  2674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2675  	NullFields []string `json:"-"`
  2676  }
  2677  
  2678  func (s *ExternalSubscription) MarshalJSON() ([]byte, error) {
  2679  	type NoMethod ExternalSubscription
  2680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2681  }
  2682  
  2683  // ExternalTransaction: The details of an external transaction.
  2684  type ExternalTransaction struct {
  2685  	// CreateTime: Output only. The time when this transaction was created. This is
  2686  	// the time when Google was notified of the transaction.
  2687  	CreateTime string `json:"createTime,omitempty"`
  2688  	// CurrentPreTaxAmount: Output only. The current transaction amount before tax.
  2689  	// This represents the current pre-tax amount including any refunds that may
  2690  	// have been applied to this transaction.
  2691  	CurrentPreTaxAmount *Price `json:"currentPreTaxAmount,omitempty"`
  2692  	// CurrentTaxAmount: Output only. The current tax amount. This represents the
  2693  	// current tax amount including any refunds that may have been applied to this
  2694  	// transaction.
  2695  	CurrentTaxAmount *Price `json:"currentTaxAmount,omitempty"`
  2696  	// ExternalTransactionId: Output only. The id of this transaction. All
  2697  	// transaction ids under the same package name must be unique. Set when
  2698  	// creating the external transaction.
  2699  	ExternalTransactionId string `json:"externalTransactionId,omitempty"`
  2700  	// OneTimeTransaction: This is a one-time transaction and not part of a
  2701  	// subscription.
  2702  	OneTimeTransaction *OneTimeExternalTransaction `json:"oneTimeTransaction,omitempty"`
  2703  	// OriginalPreTaxAmount: Required. The original transaction amount before
  2704  	// taxes. This represents the pre-tax amount originally notified to Google
  2705  	// before any refunds were applied.
  2706  	OriginalPreTaxAmount *Price `json:"originalPreTaxAmount,omitempty"`
  2707  	// OriginalTaxAmount: Required. The original tax amount. This represents the
  2708  	// tax amount originally notified to Google before any refunds were applied.
  2709  	OriginalTaxAmount *Price `json:"originalTaxAmount,omitempty"`
  2710  	// PackageName: Output only. The resource name of the external transaction. The
  2711  	// package name of the application the inapp products were sold (for example,
  2712  	// 'com.some.app').
  2713  	PackageName string `json:"packageName,omitempty"`
  2714  	// RecurringTransaction: This transaction is part of a recurring series of
  2715  	// transactions.
  2716  	RecurringTransaction *RecurringExternalTransaction `json:"recurringTransaction,omitempty"`
  2717  	// TestPurchase: Output only. If set, this transaction was a test purchase.
  2718  	// Google will not charge for a test transaction.
  2719  	TestPurchase *ExternalTransactionTestPurchase `json:"testPurchase,omitempty"`
  2720  	// TransactionState: Output only. The current state of the transaction.
  2721  	//
  2722  	// Possible values:
  2723  	//   "TRANSACTION_STATE_UNSPECIFIED" - Unspecified transaction state. Not used.
  2724  	//   "TRANSACTION_REPORTED" - The transaction has been successfully reported to
  2725  	// Google.
  2726  	//   "TRANSACTION_CANCELED" - The transaction has been fully refunded.
  2727  	TransactionState string `json:"transactionState,omitempty"`
  2728  	// TransactionTime: Required. The time when the transaction was completed.
  2729  	TransactionTime string `json:"transactionTime,omitempty"`
  2730  	// UserTaxAddress: Required. User address for tax computation.
  2731  	UserTaxAddress *ExternalTransactionAddress `json:"userTaxAddress,omitempty"`
  2732  
  2733  	// ServerResponse contains the HTTP response code and headers from the server.
  2734  	googleapi.ServerResponse `json:"-"`
  2735  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2736  	// unconditionally include in API requests. By default, fields with empty or
  2737  	// default values are omitted from API requests. See
  2738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2739  	// details.
  2740  	ForceSendFields []string `json:"-"`
  2741  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2742  	// requests with the JSON null value. By default, fields with empty values are
  2743  	// omitted from API requests. See
  2744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2745  	NullFields []string `json:"-"`
  2746  }
  2747  
  2748  func (s *ExternalTransaction) MarshalJSON() ([]byte, error) {
  2749  	type NoMethod ExternalTransaction
  2750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2751  }
  2752  
  2753  // ExternalTransactionAddress: User's address for the external transaction.
  2754  type ExternalTransactionAddress struct {
  2755  	// AdministrativeArea: Optional. Top-level administrative subdivision of the
  2756  	// country/region. Only required for transactions in India. Valid values are
  2757  	// "ANDAMAN AND NICOBAR ISLANDS", "ANDHRA PRADESH", "ARUNACHAL PRADESH",
  2758  	// "ASSAM", "BIHAR", "CHANDIGARH", "CHHATTISGARH", "DADRA AND NAGAR HAVELI",
  2759  	// "DADRA AND NAGAR HAVELI AND DAMAN AND DIU", "DAMAN AND DIU", "DELHI", "GOA",
  2760  	// "GUJARAT", "HARYANA", "HIMACHAL PRADESH", "JAMMU AND KASHMIR", "JHARKHAND",
  2761  	// "KARNATAKA", "KERALA", "LADAKH", "LAKSHADWEEP", "MADHYA PRADESH",
  2762  	// "MAHARASHTRA", "MANIPUR", "MEGHALAYA", "MIZORAM", "NAGALAND", "ODISHA",
  2763  	// "PUDUCHERRY", "PUNJAB", "RAJASTHAN", "SIKKIM", "TAMIL NADU", "TELANGANA",
  2764  	// "TRIPURA", "UTTAR PRADESH", "UTTARAKHAND", and "WEST BENGAL".
  2765  	AdministrativeArea string `json:"administrativeArea,omitempty"`
  2766  	// RegionCode: Required. Two letter region code based on ISO-3166-1 Alpha-2 (UN
  2767  	// region codes).
  2768  	RegionCode string `json:"regionCode,omitempty"`
  2769  	// ForceSendFields is a list of field names (e.g. "AdministrativeArea") to
  2770  	// unconditionally include in API requests. By default, fields with empty or
  2771  	// default values are omitted from API requests. See
  2772  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2773  	// details.
  2774  	ForceSendFields []string `json:"-"`
  2775  	// NullFields is a list of field names (e.g. "AdministrativeArea") to include
  2776  	// in API requests with the JSON null value. By default, fields with empty
  2777  	// values are omitted from API requests. See
  2778  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2779  	NullFields []string `json:"-"`
  2780  }
  2781  
  2782  func (s *ExternalTransactionAddress) MarshalJSON() ([]byte, error) {
  2783  	type NoMethod ExternalTransactionAddress
  2784  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2785  }
  2786  
  2787  // ExternalTransactionTestPurchase: Represents a transaction performed using a
  2788  // test account. These transactions will not be charged by Google.
  2789  type ExternalTransactionTestPurchase struct {
  2790  }
  2791  
  2792  // ExternallyHostedApk: Defines an APK available for this application that is
  2793  // hosted externally and not uploaded to Google Play. This function is only
  2794  // available to organizations using Managed Play whose application is
  2795  // configured to restrict distribution to the organizations.
  2796  type ExternallyHostedApk struct {
  2797  	// ApplicationLabel: The application label.
  2798  	ApplicationLabel string `json:"applicationLabel,omitempty"`
  2799  	// CertificateBase64s: A certificate (or array of certificates if a
  2800  	// certificate-chain is used) used to sign this APK, represented as a base64
  2801  	// encoded byte array.
  2802  	CertificateBase64s []string `json:"certificateBase64s,omitempty"`
  2803  	// ExternallyHostedUrl: The URL at which the APK is hosted. This must be an
  2804  	// https URL.
  2805  	ExternallyHostedUrl string `json:"externallyHostedUrl,omitempty"`
  2806  	// FileSha1Base64: The sha1 checksum of this APK, represented as a base64
  2807  	// encoded byte array.
  2808  	FileSha1Base64 string `json:"fileSha1Base64,omitempty"`
  2809  	// FileSha256Base64: The sha256 checksum of this APK, represented as a base64
  2810  	// encoded byte array.
  2811  	FileSha256Base64 string `json:"fileSha256Base64,omitempty"`
  2812  	// FileSize: The file size in bytes of this APK.
  2813  	FileSize int64 `json:"fileSize,omitempty,string"`
  2814  	// IconBase64: The icon image from the APK, as a base64 encoded byte array.
  2815  	IconBase64 string `json:"iconBase64,omitempty"`
  2816  	// MaximumSdk: The maximum SDK supported by this APK (optional).
  2817  	MaximumSdk int64 `json:"maximumSdk,omitempty"`
  2818  	// MinimumSdk: The minimum SDK targeted by this APK.
  2819  	MinimumSdk int64 `json:"minimumSdk,omitempty"`
  2820  	// NativeCodes: The native code environments supported by this APK (optional).
  2821  	NativeCodes []string `json:"nativeCodes,omitempty"`
  2822  	// PackageName: The package name.
  2823  	PackageName string `json:"packageName,omitempty"`
  2824  	// UsesFeatures: The features required by this APK (optional).
  2825  	UsesFeatures []string `json:"usesFeatures,omitempty"`
  2826  	// UsesPermissions: The permissions requested by this APK.
  2827  	UsesPermissions []*UsesPermission `json:"usesPermissions,omitempty"`
  2828  	// VersionCode: The version code of this APK.
  2829  	VersionCode int64 `json:"versionCode,omitempty"`
  2830  	// VersionName: The version name of this APK.
  2831  	VersionName string `json:"versionName,omitempty"`
  2832  	// ForceSendFields is a list of field names (e.g. "ApplicationLabel") to
  2833  	// unconditionally include in API requests. By default, fields with empty or
  2834  	// default values are omitted from API requests. See
  2835  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2836  	// details.
  2837  	ForceSendFields []string `json:"-"`
  2838  	// NullFields is a list of field names (e.g. "ApplicationLabel") to include in
  2839  	// API requests with the JSON null value. By default, fields with empty values
  2840  	// are omitted from API requests. See
  2841  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2842  	NullFields []string `json:"-"`
  2843  }
  2844  
  2845  func (s *ExternallyHostedApk) MarshalJSON() ([]byte, error) {
  2846  	type NoMethod ExternallyHostedApk
  2847  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2848  }
  2849  
  2850  // FullRefund: A full refund of the remaining amount of a transaction.
  2851  type FullRefund struct {
  2852  }
  2853  
  2854  // GeneratedApksListResponse: Response to list generated APKs.
  2855  type GeneratedApksListResponse struct {
  2856  	// GeneratedApks: All generated APKs, grouped by the APK signing key.
  2857  	GeneratedApks []*GeneratedApksPerSigningKey `json:"generatedApks,omitempty"`
  2858  
  2859  	// ServerResponse contains the HTTP response code and headers from the server.
  2860  	googleapi.ServerResponse `json:"-"`
  2861  	// ForceSendFields is a list of field names (e.g. "GeneratedApks") to
  2862  	// unconditionally include in API requests. By default, fields with empty or
  2863  	// default values are omitted from API requests. See
  2864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2865  	// details.
  2866  	ForceSendFields []string `json:"-"`
  2867  	// NullFields is a list of field names (e.g. "GeneratedApks") to include in API
  2868  	// requests with the JSON null value. By default, fields with empty values are
  2869  	// omitted from API requests. See
  2870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2871  	NullFields []string `json:"-"`
  2872  }
  2873  
  2874  func (s *GeneratedApksListResponse) MarshalJSON() ([]byte, error) {
  2875  	type NoMethod GeneratedApksListResponse
  2876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2877  }
  2878  
  2879  // GeneratedApksPerSigningKey: Download metadata for split, standalone and
  2880  // universal APKs, as well as asset pack slices, signed with a given key.
  2881  type GeneratedApksPerSigningKey struct {
  2882  	// CertificateSha256Hash: SHA256 hash of the APK signing public key
  2883  	// certificate.
  2884  	CertificateSha256Hash string `json:"certificateSha256Hash,omitempty"`
  2885  	// GeneratedAssetPackSlices: List of asset pack slices which will be served for
  2886  	// this app bundle, signed with a key corresponding to certificate_sha256_hash.
  2887  	GeneratedAssetPackSlices []*GeneratedAssetPackSlice `json:"generatedAssetPackSlices,omitempty"`
  2888  	// GeneratedRecoveryModules: Generated recovery apks for recovery actions
  2889  	// signed with a key corresponding to certificate_sha256_hash. This includes
  2890  	// all generated recovery APKs, also those in draft or cancelled state. This
  2891  	// field is not set if no recovery actions were created for this signing key.
  2892  	GeneratedRecoveryModules []*GeneratedRecoveryApk `json:"generatedRecoveryModules,omitempty"`
  2893  	// GeneratedSplitApks: List of generated split APKs, signed with a key
  2894  	// corresponding to certificate_sha256_hash.
  2895  	GeneratedSplitApks []*GeneratedSplitApk `json:"generatedSplitApks,omitempty"`
  2896  	// GeneratedStandaloneApks: List of generated standalone APKs, signed with a
  2897  	// key corresponding to certificate_sha256_hash.
  2898  	GeneratedStandaloneApks []*GeneratedStandaloneApk `json:"generatedStandaloneApks,omitempty"`
  2899  	// GeneratedUniversalApk: Generated universal APK, signed with a key
  2900  	// corresponding to certificate_sha256_hash. This field is not set if no
  2901  	// universal APK was generated for this signing key.
  2902  	GeneratedUniversalApk *GeneratedUniversalApk `json:"generatedUniversalApk,omitempty"`
  2903  	// TargetingInfo: Contains targeting information about the generated apks.
  2904  	TargetingInfo *TargetingInfo `json:"targetingInfo,omitempty"`
  2905  	// ForceSendFields is a list of field names (e.g. "CertificateSha256Hash") to
  2906  	// unconditionally include in API requests. By default, fields with empty or
  2907  	// default values are omitted from API requests. See
  2908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2909  	// details.
  2910  	ForceSendFields []string `json:"-"`
  2911  	// NullFields is a list of field names (e.g. "CertificateSha256Hash") to
  2912  	// include in API requests with the JSON null value. By default, fields with
  2913  	// empty values are omitted from API requests. See
  2914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2915  	NullFields []string `json:"-"`
  2916  }
  2917  
  2918  func (s *GeneratedApksPerSigningKey) MarshalJSON() ([]byte, error) {
  2919  	type NoMethod GeneratedApksPerSigningKey
  2920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2921  }
  2922  
  2923  // GeneratedAssetPackSlice: Download metadata for an asset pack slice.
  2924  type GeneratedAssetPackSlice struct {
  2925  	// DownloadId: Download ID, which uniquely identifies the APK to download.
  2926  	// Should be supplied to `generatedapks.download` method.
  2927  	DownloadId string `json:"downloadId,omitempty"`
  2928  	// ModuleName: Name of the module that this asset slice belongs to.
  2929  	ModuleName string `json:"moduleName,omitempty"`
  2930  	// SliceId: Asset slice ID.
  2931  	SliceId string `json:"sliceId,omitempty"`
  2932  	// Version: Asset module version.
  2933  	Version int64 `json:"version,omitempty,string"`
  2934  	// ForceSendFields is a list of field names (e.g. "DownloadId") to
  2935  	// unconditionally include in API requests. By default, fields with empty or
  2936  	// default values are omitted from API requests. See
  2937  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2938  	// details.
  2939  	ForceSendFields []string `json:"-"`
  2940  	// NullFields is a list of field names (e.g. "DownloadId") to include in API
  2941  	// requests with the JSON null value. By default, fields with empty values are
  2942  	// omitted from API requests. See
  2943  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2944  	NullFields []string `json:"-"`
  2945  }
  2946  
  2947  func (s *GeneratedAssetPackSlice) MarshalJSON() ([]byte, error) {
  2948  	type NoMethod GeneratedAssetPackSlice
  2949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2950  }
  2951  
  2952  // GeneratedRecoveryApk: Download metadata for an app recovery module.
  2953  type GeneratedRecoveryApk struct {
  2954  	// DownloadId: Download ID, which uniquely identifies the APK to download.
  2955  	// Should be supplied to `generatedapks.download` method.
  2956  	DownloadId string `json:"downloadId,omitempty"`
  2957  	// ModuleName: Name of the module which recovery apk belongs to.
  2958  	ModuleName string `json:"moduleName,omitempty"`
  2959  	// RecoveryId: ID of the recovery action.
  2960  	RecoveryId int64 `json:"recoveryId,omitempty,string"`
  2961  	// RecoveryStatus: The status of the recovery action corresponding to the
  2962  	// recovery apk.
  2963  	//
  2964  	// Possible values:
  2965  	//   "RECOVERY_STATUS_UNSPECIFIED" - RecoveryStatus is unspecified.
  2966  	//   "RECOVERY_STATUS_ACTIVE" - The app recovery action has not been canceled
  2967  	// since it has been created.
  2968  	//   "RECOVERY_STATUS_CANCELED" - The recovery action has been canceled. The
  2969  	// action cannot be resumed.
  2970  	//   "RECOVERY_STATUS_DRAFT" - The recovery action is in the draft state and
  2971  	// has not yet been deployed to users.
  2972  	//   "RECOVERY_STATUS_GENERATION_IN_PROGRESS" - The recovery action is
  2973  	// generating recovery apks.
  2974  	//   "RECOVERY_STATUS_GENERATION_FAILED" - The app recovery action generation
  2975  	// has failed.
  2976  	RecoveryStatus string `json:"recoveryStatus,omitempty"`
  2977  	// ForceSendFields is a list of field names (e.g. "DownloadId") to
  2978  	// unconditionally include in API requests. By default, fields with empty or
  2979  	// default values are omitted from API requests. See
  2980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2981  	// details.
  2982  	ForceSendFields []string `json:"-"`
  2983  	// NullFields is a list of field names (e.g. "DownloadId") to include in API
  2984  	// requests with the JSON null value. By default, fields with empty values are
  2985  	// omitted from API requests. See
  2986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2987  	NullFields []string `json:"-"`
  2988  }
  2989  
  2990  func (s *GeneratedRecoveryApk) MarshalJSON() ([]byte, error) {
  2991  	type NoMethod GeneratedRecoveryApk
  2992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2993  }
  2994  
  2995  // GeneratedSplitApk: Download metadata for a split APK.
  2996  type GeneratedSplitApk struct {
  2997  	// DownloadId: Download ID, which uniquely identifies the APK to download.
  2998  	// Should be supplied to `generatedapks.download` method.
  2999  	DownloadId string `json:"downloadId,omitempty"`
  3000  	// ModuleName: Name of the module that this APK belongs to.
  3001  	ModuleName string `json:"moduleName,omitempty"`
  3002  	// SplitId: Split ID. Empty for the main split of the base module.
  3003  	SplitId string `json:"splitId,omitempty"`
  3004  	// VariantId: ID of the generated variant.
  3005  	VariantId int64 `json:"variantId,omitempty"`
  3006  	// ForceSendFields is a list of field names (e.g. "DownloadId") to
  3007  	// unconditionally include in API requests. By default, fields with empty or
  3008  	// default values are omitted from API requests. See
  3009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3010  	// details.
  3011  	ForceSendFields []string `json:"-"`
  3012  	// NullFields is a list of field names (e.g. "DownloadId") to include in API
  3013  	// requests with the JSON null value. By default, fields with empty values are
  3014  	// omitted from API requests. See
  3015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3016  	NullFields []string `json:"-"`
  3017  }
  3018  
  3019  func (s *GeneratedSplitApk) MarshalJSON() ([]byte, error) {
  3020  	type NoMethod GeneratedSplitApk
  3021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3022  }
  3023  
  3024  // GeneratedStandaloneApk: Download metadata for a standalone APK.
  3025  type GeneratedStandaloneApk struct {
  3026  	// DownloadId: Download ID, which uniquely identifies the APK to download.
  3027  	// Should be supplied to `generatedapks.download` method.
  3028  	DownloadId string `json:"downloadId,omitempty"`
  3029  	// VariantId: ID of the generated variant.
  3030  	VariantId int64 `json:"variantId,omitempty"`
  3031  	// ForceSendFields is a list of field names (e.g. "DownloadId") to
  3032  	// unconditionally include in API requests. By default, fields with empty or
  3033  	// default values are omitted from API requests. See
  3034  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3035  	// details.
  3036  	ForceSendFields []string `json:"-"`
  3037  	// NullFields is a list of field names (e.g. "DownloadId") to include in API
  3038  	// requests with the JSON null value. By default, fields with empty values are
  3039  	// omitted from API requests. See
  3040  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3041  	NullFields []string `json:"-"`
  3042  }
  3043  
  3044  func (s *GeneratedStandaloneApk) MarshalJSON() ([]byte, error) {
  3045  	type NoMethod GeneratedStandaloneApk
  3046  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3047  }
  3048  
  3049  // GeneratedUniversalApk: Download metadata for a universal APK.
  3050  type GeneratedUniversalApk struct {
  3051  	// DownloadId: Download ID, which uniquely identifies the APK to download.
  3052  	// Should be supplied to `generatedapks.download` method.
  3053  	DownloadId string `json:"downloadId,omitempty"`
  3054  	// ForceSendFields is a list of field names (e.g. "DownloadId") to
  3055  	// unconditionally include in API requests. By default, fields with empty or
  3056  	// default values are omitted from API requests. See
  3057  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3058  	// details.
  3059  	ForceSendFields []string `json:"-"`
  3060  	// NullFields is a list of field names (e.g. "DownloadId") to include in API
  3061  	// requests with the JSON null value. By default, fields with empty values are
  3062  	// omitted from API requests. See
  3063  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3064  	NullFields []string `json:"-"`
  3065  }
  3066  
  3067  func (s *GeneratedUniversalApk) MarshalJSON() ([]byte, error) {
  3068  	type NoMethod GeneratedUniversalApk
  3069  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3070  }
  3071  
  3072  // GetSubscriptionOfferRequest: Request message for GetSubscriptionOffer.
  3073  type GetSubscriptionOfferRequest struct {
  3074  	// BasePlanId: Required. The parent base plan (ID) of the offer to get.
  3075  	BasePlanId string `json:"basePlanId,omitempty"`
  3076  	// OfferId: Required. The unique offer ID of the offer to get.
  3077  	OfferId string `json:"offerId,omitempty"`
  3078  	// PackageName: Required. The parent app (package name) of the offer to get.
  3079  	PackageName string `json:"packageName,omitempty"`
  3080  	// ProductId: Required. The parent subscription (ID) of the offer to get.
  3081  	ProductId string `json:"productId,omitempty"`
  3082  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  3083  	// unconditionally include in API requests. By default, fields with empty or
  3084  	// default values are omitted from API requests. See
  3085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3086  	// details.
  3087  	ForceSendFields []string `json:"-"`
  3088  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  3089  	// requests with the JSON null value. By default, fields with empty values are
  3090  	// omitted from API requests. See
  3091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3092  	NullFields []string `json:"-"`
  3093  }
  3094  
  3095  func (s *GetSubscriptionOfferRequest) MarshalJSON() ([]byte, error) {
  3096  	type NoMethod GetSubscriptionOfferRequest
  3097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3098  }
  3099  
  3100  // Grant: An access grant resource.
  3101  type Grant struct {
  3102  	// AppLevelPermissions: The permissions granted to the user for this app.
  3103  	//
  3104  	// Possible values:
  3105  	//   "APP_LEVEL_PERMISSION_UNSPECIFIED" - Unknown or unspecified permission.
  3106  	//   "CAN_ACCESS_APP" - View app information (read-only). Deprecated: Try
  3107  	// defining a more granular capability. Otherwise, check
  3108  	// AppLevelPermission.CAN_VIEW_NON_FINANCIAL_DATA.
  3109  	//   "CAN_VIEW_FINANCIAL_DATA" - View financial data.
  3110  	//   "CAN_MANAGE_PERMISSIONS" - Admin (all permissions).
  3111  	//   "CAN_REPLY_TO_REVIEWS" - Reply to reviews.
  3112  	//   "CAN_MANAGE_PUBLIC_APKS" - Release to production, exclude devices, and use
  3113  	// app signing by Google Play.
  3114  	//   "CAN_MANAGE_TRACK_APKS" - Release to testing tracks.
  3115  	//   "CAN_MANAGE_TRACK_USERS" - Manage testing tracks and edit tester lists.
  3116  	//   "CAN_MANAGE_PUBLIC_LISTING" - Manage store presence.
  3117  	//   "CAN_MANAGE_DRAFT_APPS" - Edit and delete draft apps.
  3118  	//   "CAN_MANAGE_ORDERS" - Manage orders and subscriptions.
  3119  	//   "CAN_MANAGE_APP_CONTENT" - Manage policy related pages.
  3120  	//   "CAN_VIEW_NON_FINANCIAL_DATA" - View app information (read-only).
  3121  	//   "CAN_VIEW_APP_QUALITY" - View app quality data such as Vitals, Crashes
  3122  	// etc.
  3123  	//   "CAN_MANAGE_DEEPLINKS" - Manage the deep links setup of an app.
  3124  	AppLevelPermissions []string `json:"appLevelPermissions,omitempty"`
  3125  	// Name: Required. Resource name for this grant, following the pattern
  3126  	// "developers/{developer}/users/{email}/grants/{package_name}". If this grant
  3127  	// is for a draft app, the app ID will be used in this resource name instead of
  3128  	// the package name.
  3129  	Name string `json:"name,omitempty"`
  3130  	// PackageName: Immutable. The package name of the app. This will be empty for
  3131  	// draft apps.
  3132  	PackageName string `json:"packageName,omitempty"`
  3133  
  3134  	// ServerResponse contains the HTTP response code and headers from the server.
  3135  	googleapi.ServerResponse `json:"-"`
  3136  	// ForceSendFields is a list of field names (e.g. "AppLevelPermissions") to
  3137  	// unconditionally include in API requests. By default, fields with empty or
  3138  	// default values are omitted from API requests. See
  3139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3140  	// details.
  3141  	ForceSendFields []string `json:"-"`
  3142  	// NullFields is a list of field names (e.g. "AppLevelPermissions") to include
  3143  	// in API requests with the JSON null value. By default, fields with empty
  3144  	// values are omitted from API requests. See
  3145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3146  	NullFields []string `json:"-"`
  3147  }
  3148  
  3149  func (s *Grant) MarshalJSON() ([]byte, error) {
  3150  	type NoMethod Grant
  3151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3152  }
  3153  
  3154  // Image: An uploaded image. The resource for ImagesService.
  3155  type Image struct {
  3156  	// Id: A unique id representing this image.
  3157  	Id string `json:"id,omitempty"`
  3158  	// Sha1: A sha1 hash of the image.
  3159  	Sha1 string `json:"sha1,omitempty"`
  3160  	// Sha256: A sha256 hash of the image.
  3161  	Sha256 string `json:"sha256,omitempty"`
  3162  	// Url: A URL that will serve a preview of the image.
  3163  	Url string `json:"url,omitempty"`
  3164  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  3165  	// include in API requests. By default, fields with empty or default values are
  3166  	// omitted from API requests. See
  3167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3168  	// details.
  3169  	ForceSendFields []string `json:"-"`
  3170  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  3171  	// with the JSON null value. By default, fields with empty values are omitted
  3172  	// from API requests. See
  3173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3174  	NullFields []string `json:"-"`
  3175  }
  3176  
  3177  func (s *Image) MarshalJSON() ([]byte, error) {
  3178  	type NoMethod Image
  3179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3180  }
  3181  
  3182  // ImagesDeleteAllResponse: Response for deleting all images.
  3183  type ImagesDeleteAllResponse struct {
  3184  	// Deleted: The deleted images.
  3185  	Deleted []*Image `json:"deleted,omitempty"`
  3186  
  3187  	// ServerResponse contains the HTTP response code and headers from the server.
  3188  	googleapi.ServerResponse `json:"-"`
  3189  	// ForceSendFields is a list of field names (e.g. "Deleted") to unconditionally
  3190  	// include in API requests. By default, fields with empty or default values are
  3191  	// omitted from API requests. See
  3192  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3193  	// details.
  3194  	ForceSendFields []string `json:"-"`
  3195  	// NullFields is a list of field names (e.g. "Deleted") to include in API
  3196  	// requests with the JSON null value. By default, fields with empty values are
  3197  	// omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3199  	NullFields []string `json:"-"`
  3200  }
  3201  
  3202  func (s *ImagesDeleteAllResponse) MarshalJSON() ([]byte, error) {
  3203  	type NoMethod ImagesDeleteAllResponse
  3204  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3205  }
  3206  
  3207  // ImagesListResponse: Response listing all images.
  3208  type ImagesListResponse struct {
  3209  	// Images: All listed Images.
  3210  	Images []*Image `json:"images,omitempty"`
  3211  
  3212  	// ServerResponse contains the HTTP response code and headers from the server.
  3213  	googleapi.ServerResponse `json:"-"`
  3214  	// ForceSendFields is a list of field names (e.g. "Images") to unconditionally
  3215  	// include in API requests. By default, fields with empty or default values are
  3216  	// omitted from API requests. See
  3217  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3218  	// details.
  3219  	ForceSendFields []string `json:"-"`
  3220  	// NullFields is a list of field names (e.g. "Images") to include in API
  3221  	// requests with the JSON null value. By default, fields with empty values are
  3222  	// omitted from API requests. See
  3223  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3224  	NullFields []string `json:"-"`
  3225  }
  3226  
  3227  func (s *ImagesListResponse) MarshalJSON() ([]byte, error) {
  3228  	type NoMethod ImagesListResponse
  3229  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3230  }
  3231  
  3232  // ImagesUploadResponse: Response for uploading an image.
  3233  type ImagesUploadResponse struct {
  3234  	// Image: The uploaded image.
  3235  	Image *Image `json:"image,omitempty"`
  3236  
  3237  	// ServerResponse contains the HTTP response code and headers from the server.
  3238  	googleapi.ServerResponse `json:"-"`
  3239  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
  3240  	// include in API requests. By default, fields with empty or default values are
  3241  	// omitted from API requests. See
  3242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3243  	// details.
  3244  	ForceSendFields []string `json:"-"`
  3245  	// NullFields is a list of field names (e.g. "Image") to include in API
  3246  	// requests with the JSON null value. By default, fields with empty values are
  3247  	// omitted from API requests. See
  3248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3249  	NullFields []string `json:"-"`
  3250  }
  3251  
  3252  func (s *ImagesUploadResponse) MarshalJSON() ([]byte, error) {
  3253  	type NoMethod ImagesUploadResponse
  3254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3255  }
  3256  
  3257  // InAppProduct: An in-app product. The resource for InappproductsService.
  3258  type InAppProduct struct {
  3259  	// DefaultLanguage: Default language of the localized data, as defined by
  3260  	// BCP-47. e.g. "en-US".
  3261  	DefaultLanguage string `json:"defaultLanguage,omitempty"`
  3262  	// DefaultPrice: Default price. Cannot be zero, as in-app products are never
  3263  	// free. Always in the developer's Checkout merchant currency.
  3264  	DefaultPrice *Price `json:"defaultPrice,omitempty"`
  3265  	// GracePeriod: Grace period of the subscription, specified in ISO 8601 format.
  3266  	// Allows developers to give their subscribers a grace period when the payment
  3267  	// for the new recurrence period is declined. Acceptable values are P0D (zero
  3268  	// days), P3D (three days), P7D (seven days), P14D (14 days), and P30D (30
  3269  	// days).
  3270  	GracePeriod string `json:"gracePeriod,omitempty"`
  3271  	// Listings: List of localized title and description data. Map key is the
  3272  	// language of the localized data, as defined by BCP-47, e.g. "en-US".
  3273  	Listings map[string]InAppProductListing `json:"listings,omitempty"`
  3274  	// ManagedProductTaxesAndComplianceSettings: Details about taxes and legal
  3275  	// compliance. Only applicable to managed products.
  3276  	ManagedProductTaxesAndComplianceSettings *ManagedProductTaxAndComplianceSettings `json:"managedProductTaxesAndComplianceSettings,omitempty"`
  3277  	// PackageName: Package name of the parent app.
  3278  	PackageName string `json:"packageName,omitempty"`
  3279  	// Prices: Prices per buyer region. None of these can be zero, as in-app
  3280  	// products are never free. Map key is region code, as defined by ISO 3166-2.
  3281  	Prices map[string]Price `json:"prices,omitempty"`
  3282  	// PurchaseType: The type of the product, e.g. a recurring subscription.
  3283  	//
  3284  	// Possible values:
  3285  	//   "purchaseTypeUnspecified" - Unspecified purchase type.
  3286  	//   "managedUser" - The default product type - one time purchase.
  3287  	//   "subscription" - In-app product with a recurring period.
  3288  	PurchaseType string `json:"purchaseType,omitempty"`
  3289  	// Sku: Stock-keeping-unit (SKU) of the product, unique within an app.
  3290  	Sku string `json:"sku,omitempty"`
  3291  	// Status: The status of the product, e.g. whether it's active.
  3292  	//
  3293  	// Possible values:
  3294  	//   "statusUnspecified" - Unspecified status.
  3295  	//   "active" - The product is published and active in the store.
  3296  	//   "inactive" - The product is not published and therefore inactive in the
  3297  	// store.
  3298  	Status string `json:"status,omitempty"`
  3299  	// SubscriptionPeriod: Subscription period, specified in ISO 8601 format.
  3300  	// Acceptable values are P1W (one week), P1M (one month), P3M (three months),
  3301  	// P6M (six months), and P1Y (one year).
  3302  	SubscriptionPeriod string `json:"subscriptionPeriod,omitempty"`
  3303  	// SubscriptionTaxesAndComplianceSettings: Details about taxes and legal
  3304  	// compliance. Only applicable to subscription products.
  3305  	SubscriptionTaxesAndComplianceSettings *SubscriptionTaxAndComplianceSettings `json:"subscriptionTaxesAndComplianceSettings,omitempty"`
  3306  	// TrialPeriod: Trial period, specified in ISO 8601 format. Acceptable values
  3307  	// are anything between P7D (seven days) and P999D (999 days).
  3308  	TrialPeriod string `json:"trialPeriod,omitempty"`
  3309  
  3310  	// ServerResponse contains the HTTP response code and headers from the server.
  3311  	googleapi.ServerResponse `json:"-"`
  3312  	// ForceSendFields is a list of field names (e.g. "DefaultLanguage") to
  3313  	// unconditionally include in API requests. By default, fields with empty or
  3314  	// default values are omitted from API requests. See
  3315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3316  	// details.
  3317  	ForceSendFields []string `json:"-"`
  3318  	// NullFields is a list of field names (e.g. "DefaultLanguage") to include in
  3319  	// API requests with the JSON null value. By default, fields with empty values
  3320  	// are omitted from API requests. See
  3321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3322  	NullFields []string `json:"-"`
  3323  }
  3324  
  3325  func (s *InAppProduct) MarshalJSON() ([]byte, error) {
  3326  	type NoMethod InAppProduct
  3327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3328  }
  3329  
  3330  // InAppProductListing: Store listing of a single in-app product.
  3331  type InAppProductListing struct {
  3332  	// Benefits: Localized entitlement benefits for a subscription.
  3333  	Benefits []string `json:"benefits,omitempty"`
  3334  	// Description: Description for the store listing.
  3335  	Description string `json:"description,omitempty"`
  3336  	// Title: Title for the store listing.
  3337  	Title string `json:"title,omitempty"`
  3338  	// ForceSendFields is a list of field names (e.g. "Benefits") to
  3339  	// unconditionally include in API requests. By default, fields with empty or
  3340  	// default values are omitted from API requests. See
  3341  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3342  	// details.
  3343  	ForceSendFields []string `json:"-"`
  3344  	// NullFields is a list of field names (e.g. "Benefits") to include in API
  3345  	// requests with the JSON null value. By default, fields with empty values are
  3346  	// omitted from API requests. See
  3347  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3348  	NullFields []string `json:"-"`
  3349  }
  3350  
  3351  func (s *InAppProductListing) MarshalJSON() ([]byte, error) {
  3352  	type NoMethod InAppProductListing
  3353  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3354  }
  3355  
  3356  // InappproductsBatchDeleteRequest: Request to delete multiple in-app products.
  3357  type InappproductsBatchDeleteRequest struct {
  3358  	// Requests: Individual delete requests. At least one request is required. Can
  3359  	// contain up to 100 requests. All requests must correspond to different in-app
  3360  	// products.
  3361  	Requests []*InappproductsDeleteRequest `json:"requests,omitempty"`
  3362  	// ForceSendFields is a list of field names (e.g. "Requests") to
  3363  	// unconditionally include in API requests. By default, fields with empty or
  3364  	// default values are omitted from API requests. See
  3365  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3366  	// details.
  3367  	ForceSendFields []string `json:"-"`
  3368  	// NullFields is a list of field names (e.g. "Requests") to include in API
  3369  	// requests with the JSON null value. By default, fields with empty values are
  3370  	// omitted from API requests. See
  3371  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3372  	NullFields []string `json:"-"`
  3373  }
  3374  
  3375  func (s *InappproductsBatchDeleteRequest) MarshalJSON() ([]byte, error) {
  3376  	type NoMethod InappproductsBatchDeleteRequest
  3377  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3378  }
  3379  
  3380  // InappproductsBatchGetResponse: Response message for BatchGetSubscriptions
  3381  // endpoint.
  3382  type InappproductsBatchGetResponse struct {
  3383  	// Inappproduct: The list of requested in-app products, in the same order as
  3384  	// the request.
  3385  	Inappproduct []*InAppProduct `json:"inappproduct,omitempty"`
  3386  
  3387  	// ServerResponse contains the HTTP response code and headers from the server.
  3388  	googleapi.ServerResponse `json:"-"`
  3389  	// ForceSendFields is a list of field names (e.g. "Inappproduct") to
  3390  	// unconditionally include in API requests. By default, fields with empty or
  3391  	// default values are omitted from API requests. See
  3392  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3393  	// details.
  3394  	ForceSendFields []string `json:"-"`
  3395  	// NullFields is a list of field names (e.g. "Inappproduct") to include in API
  3396  	// requests with the JSON null value. By default, fields with empty values are
  3397  	// omitted from API requests. See
  3398  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3399  	NullFields []string `json:"-"`
  3400  }
  3401  
  3402  func (s *InappproductsBatchGetResponse) MarshalJSON() ([]byte, error) {
  3403  	type NoMethod InappproductsBatchGetResponse
  3404  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3405  }
  3406  
  3407  // InappproductsBatchUpdateRequest: Request to update or insert one or more
  3408  // in-app products.
  3409  type InappproductsBatchUpdateRequest struct {
  3410  	// Requests: Required. Individual update requests. At least one request is
  3411  	// required. Can contain up to 100 requests. All requests must correspond to
  3412  	// different in-app products.
  3413  	Requests []*InappproductsUpdateRequest `json:"requests,omitempty"`
  3414  	// ForceSendFields is a list of field names (e.g. "Requests") to
  3415  	// unconditionally include in API requests. By default, fields with empty or
  3416  	// default values are omitted from API requests. See
  3417  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3418  	// details.
  3419  	ForceSendFields []string `json:"-"`
  3420  	// NullFields is a list of field names (e.g. "Requests") to include in API
  3421  	// requests with the JSON null value. By default, fields with empty values are
  3422  	// omitted from API requests. See
  3423  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3424  	NullFields []string `json:"-"`
  3425  }
  3426  
  3427  func (s *InappproductsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3428  	type NoMethod InappproductsBatchUpdateRequest
  3429  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3430  }
  3431  
  3432  // InappproductsBatchUpdateResponse: Response for a batch in-app product
  3433  // update.
  3434  type InappproductsBatchUpdateResponse struct {
  3435  	// Inappproducts: The updated or inserted in-app products.
  3436  	Inappproducts []*InAppProduct `json:"inappproducts,omitempty"`
  3437  
  3438  	// ServerResponse contains the HTTP response code and headers from the server.
  3439  	googleapi.ServerResponse `json:"-"`
  3440  	// ForceSendFields is a list of field names (e.g. "Inappproducts") to
  3441  	// unconditionally include in API requests. By default, fields with empty or
  3442  	// default values are omitted from API requests. See
  3443  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3444  	// details.
  3445  	ForceSendFields []string `json:"-"`
  3446  	// NullFields is a list of field names (e.g. "Inappproducts") to include in API
  3447  	// requests with the JSON null value. By default, fields with empty values are
  3448  	// omitted from API requests. See
  3449  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3450  	NullFields []string `json:"-"`
  3451  }
  3452  
  3453  func (s *InappproductsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3454  	type NoMethod InappproductsBatchUpdateResponse
  3455  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3456  }
  3457  
  3458  // InappproductsDeleteRequest: Request to delete an in-app product.
  3459  type InappproductsDeleteRequest struct {
  3460  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  3461  	// this product update. Defaults to latency-sensitive.
  3462  	//
  3463  	// Possible values:
  3464  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  3465  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  3466  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  3467  	// propagate to clients within several minutes on average and up to a few hours
  3468  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  3469  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  3470  	// propagate to clients within 24 hours. Supports high throughput of up to
  3471  	// 720,000 updates per app per hour using batch modification methods.
  3472  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  3473  	// PackageName: Package name of the app.
  3474  	PackageName string `json:"packageName,omitempty"`
  3475  	// Sku: Unique identifier for the in-app product.
  3476  	Sku string `json:"sku,omitempty"`
  3477  	// ForceSendFields is a list of field names (e.g. "LatencyTolerance") to
  3478  	// unconditionally include in API requests. By default, fields with empty or
  3479  	// default values are omitted from API requests. See
  3480  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3481  	// details.
  3482  	ForceSendFields []string `json:"-"`
  3483  	// NullFields is a list of field names (e.g. "LatencyTolerance") to include in
  3484  	// API requests with the JSON null value. By default, fields with empty values
  3485  	// are omitted from API requests. See
  3486  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3487  	NullFields []string `json:"-"`
  3488  }
  3489  
  3490  func (s *InappproductsDeleteRequest) MarshalJSON() ([]byte, error) {
  3491  	type NoMethod InappproductsDeleteRequest
  3492  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3493  }
  3494  
  3495  // InappproductsListResponse: Response listing all in-app products.
  3496  type InappproductsListResponse struct {
  3497  	// Inappproduct: All in-app products.
  3498  	Inappproduct []*InAppProduct `json:"inappproduct,omitempty"`
  3499  	// Kind: The kind of this response
  3500  	// ("androidpublisher#inappproductsListResponse").
  3501  	Kind string `json:"kind,omitempty"`
  3502  	// PageInfo: Deprecated and unset.
  3503  	PageInfo *PageInfo `json:"pageInfo,omitempty"`
  3504  	// TokenPagination: Pagination token, to handle a number of products that is
  3505  	// over one page.
  3506  	TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
  3507  
  3508  	// ServerResponse contains the HTTP response code and headers from the server.
  3509  	googleapi.ServerResponse `json:"-"`
  3510  	// ForceSendFields is a list of field names (e.g. "Inappproduct") to
  3511  	// unconditionally include in API requests. By default, fields with empty or
  3512  	// default values are omitted from API requests. See
  3513  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3514  	// details.
  3515  	ForceSendFields []string `json:"-"`
  3516  	// NullFields is a list of field names (e.g. "Inappproduct") to include in API
  3517  	// requests with the JSON null value. By default, fields with empty values are
  3518  	// omitted from API requests. See
  3519  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3520  	NullFields []string `json:"-"`
  3521  }
  3522  
  3523  func (s *InappproductsListResponse) MarshalJSON() ([]byte, error) {
  3524  	type NoMethod InappproductsListResponse
  3525  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3526  }
  3527  
  3528  // InappproductsUpdateRequest: Request to update an in-app product.
  3529  type InappproductsUpdateRequest struct {
  3530  	// AllowMissing: If set to true, and the in-app product with the given
  3531  	// package_name and sku doesn't exist, the in-app product will be created.
  3532  	AllowMissing bool `json:"allowMissing,omitempty"`
  3533  	// AutoConvertMissingPrices: If true the prices for all regions targeted by the
  3534  	// parent app that don't have a price specified for this in-app product will be
  3535  	// auto converted to the target currency based on the default price. Defaults
  3536  	// to false.
  3537  	AutoConvertMissingPrices bool `json:"autoConvertMissingPrices,omitempty"`
  3538  	// Inappproduct: The new in-app product.
  3539  	Inappproduct *InAppProduct `json:"inappproduct,omitempty"`
  3540  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  3541  	// this product update. Defaults to latency-sensitive.
  3542  	//
  3543  	// Possible values:
  3544  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  3545  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  3546  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  3547  	// propagate to clients within several minutes on average and up to a few hours
  3548  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  3549  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  3550  	// propagate to clients within 24 hours. Supports high throughput of up to
  3551  	// 720,000 updates per app per hour using batch modification methods.
  3552  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  3553  	// PackageName: Package name of the app.
  3554  	PackageName string `json:"packageName,omitempty"`
  3555  	// Sku: Unique identifier for the in-app product.
  3556  	Sku string `json:"sku,omitempty"`
  3557  	// ForceSendFields is a list of field names (e.g. "AllowMissing") to
  3558  	// unconditionally include in API requests. By default, fields with empty or
  3559  	// default values are omitted from API requests. See
  3560  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3561  	// details.
  3562  	ForceSendFields []string `json:"-"`
  3563  	// NullFields is a list of field names (e.g. "AllowMissing") to include in API
  3564  	// requests with the JSON null value. By default, fields with empty values are
  3565  	// omitted from API requests. See
  3566  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3567  	NullFields []string `json:"-"`
  3568  }
  3569  
  3570  func (s *InappproductsUpdateRequest) MarshalJSON() ([]byte, error) {
  3571  	type NoMethod InappproductsUpdateRequest
  3572  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3573  }
  3574  
  3575  // InstallmentPlan: Information to a installment plan.
  3576  type InstallmentPlan struct {
  3577  	// InitialCommittedPaymentsCount: Total number of payments the user is
  3578  	// initially committed for.
  3579  	InitialCommittedPaymentsCount int64 `json:"initialCommittedPaymentsCount,omitempty"`
  3580  	// PendingCancellation: If present, this installment plan is pending to be
  3581  	// canceled. The cancellation will happen only after the user finished all
  3582  	// committed payments.
  3583  	PendingCancellation *PendingCancellation `json:"pendingCancellation,omitempty"`
  3584  	// RemainingCommittedPaymentsCount: Total number of committed payments
  3585  	// remaining to be paid for in this renewal cycle.
  3586  	RemainingCommittedPaymentsCount int64 `json:"remainingCommittedPaymentsCount,omitempty"`
  3587  	// SubsequentCommittedPaymentsCount: Total number of payments the user will be
  3588  	// committed for after each commitment period. Empty means the installment plan
  3589  	// will fall back to a normal auto-renew subscription after initial commitment.
  3590  	SubsequentCommittedPaymentsCount int64 `json:"subsequentCommittedPaymentsCount,omitempty"`
  3591  	// ForceSendFields is a list of field names (e.g.
  3592  	// "InitialCommittedPaymentsCount") to unconditionally include in API requests.
  3593  	// By default, fields with empty or default values are omitted from API
  3594  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  3595  	// for more details.
  3596  	ForceSendFields []string `json:"-"`
  3597  	// NullFields is a list of field names (e.g. "InitialCommittedPaymentsCount")
  3598  	// to include in API requests with the JSON null value. By default, fields with
  3599  	// empty values are omitted from API requests. See
  3600  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3601  	NullFields []string `json:"-"`
  3602  }
  3603  
  3604  func (s *InstallmentPlan) MarshalJSON() ([]byte, error) {
  3605  	type NoMethod InstallmentPlan
  3606  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3607  }
  3608  
  3609  // InstallmentsBasePlanType: Represents an installments base plan where a user
  3610  // commits to a specified number of payments.
  3611  type InstallmentsBasePlanType struct {
  3612  	// AccountHoldDuration: Optional. Account hold period of the subscription,
  3613  	// specified exclusively in days and in ISO 8601 format. Acceptable values are
  3614  	// P0D (zero days) to P30D (30days). If not specified, the default value is
  3615  	// P30D (30 days).
  3616  	AccountHoldDuration string `json:"accountHoldDuration,omitempty"`
  3617  	// BillingPeriodDuration: Required. Subscription period, specified in ISO 8601
  3618  	// format. For a list of acceptable billing periods, refer to the help center.
  3619  	BillingPeriodDuration string `json:"billingPeriodDuration,omitempty"`
  3620  	// CommittedPaymentsCount: Required. The number of payments the user is
  3621  	// committed to.
  3622  	CommittedPaymentsCount int64 `json:"committedPaymentsCount,omitempty"`
  3623  	// GracePeriodDuration: Grace period of the subscription, specified in ISO 8601
  3624  	// format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days),
  3625  	// P14D (14 days), and P30D (30 days). If not specified, a default value will
  3626  	// be used based on the recurring period duration.
  3627  	GracePeriodDuration string `json:"gracePeriodDuration,omitempty"`
  3628  	// ProrationMode: The proration mode for the base plan determines what happens
  3629  	// when a user switches to this plan from another base plan. If unspecified,
  3630  	// defaults to CHARGE_ON_NEXT_BILLING_DATE.
  3631  	//
  3632  	// Possible values:
  3633  	//   "SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED" - Unspecified mode.
  3634  	//   "SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE" - Users will be
  3635  	// charged for their new base plan at the end of their current billing period.
  3636  	//   "SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY" - Users will
  3637  	// be charged for their new base plan immediately and in full. Any remaining
  3638  	// period of their existing subscription will be used to extend the duration of
  3639  	// the new billing plan.
  3640  	ProrationMode string `json:"prorationMode,omitempty"`
  3641  	// RenewalType: Required. Installments base plan renewal type. Determines the
  3642  	// behavior at the end of the initial commitment.
  3643  	//
  3644  	// Possible values:
  3645  	//   "RENEWAL_TYPE_UNSPECIFIED" - Unspecified state.
  3646  	//   "RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT" - Renews periodically for the
  3647  	// billing period duration without commitment.
  3648  	//   "RENEWAL_TYPE_RENEWS_WITH_COMMITMENT" - Renews with the commitment of the
  3649  	// same duration as the initial one.
  3650  	RenewalType string `json:"renewalType,omitempty"`
  3651  	// ResubscribeState: Whether users should be able to resubscribe to this base
  3652  	// plan in Google Play surfaces. Defaults to RESUBSCRIBE_STATE_ACTIVE if not
  3653  	// specified.
  3654  	//
  3655  	// Possible values:
  3656  	//   "RESUBSCRIBE_STATE_UNSPECIFIED" - Unspecified state.
  3657  	//   "RESUBSCRIBE_STATE_ACTIVE" - Resubscribe is active.
  3658  	//   "RESUBSCRIBE_STATE_INACTIVE" - Resubscribe is inactive.
  3659  	ResubscribeState string `json:"resubscribeState,omitempty"`
  3660  	// ForceSendFields is a list of field names (e.g. "AccountHoldDuration") to
  3661  	// unconditionally include in API requests. By default, fields with empty or
  3662  	// default values are omitted from API requests. See
  3663  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3664  	// details.
  3665  	ForceSendFields []string `json:"-"`
  3666  	// NullFields is a list of field names (e.g. "AccountHoldDuration") to include
  3667  	// in API requests with the JSON null value. By default, fields with empty
  3668  	// values are omitted from API requests. See
  3669  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3670  	NullFields []string `json:"-"`
  3671  }
  3672  
  3673  func (s *InstallmentsBasePlanType) MarshalJSON() ([]byte, error) {
  3674  	type NoMethod InstallmentsBasePlanType
  3675  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3676  }
  3677  
  3678  // InternalAppSharingArtifact: An artifact resource which gets created when
  3679  // uploading an APK or Android App Bundle through internal app sharing.
  3680  type InternalAppSharingArtifact struct {
  3681  	// CertificateFingerprint: The sha256 fingerprint of the certificate used to
  3682  	// sign the generated artifact.
  3683  	CertificateFingerprint string `json:"certificateFingerprint,omitempty"`
  3684  	// DownloadUrl: The download URL generated for the uploaded artifact. Users
  3685  	// that are authorized to download can follow the link to the Play Store app to
  3686  	// install it.
  3687  	DownloadUrl string `json:"downloadUrl,omitempty"`
  3688  	// Sha256: The sha256 hash of the artifact represented as a lowercase
  3689  	// hexadecimal number, matching the output of the sha256sum command.
  3690  	Sha256 string `json:"sha256,omitempty"`
  3691  
  3692  	// ServerResponse contains the HTTP response code and headers from the server.
  3693  	googleapi.ServerResponse `json:"-"`
  3694  	// ForceSendFields is a list of field names (e.g. "CertificateFingerprint") to
  3695  	// unconditionally include in API requests. By default, fields with empty or
  3696  	// default values are omitted from API requests. See
  3697  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3698  	// details.
  3699  	ForceSendFields []string `json:"-"`
  3700  	// NullFields is a list of field names (e.g. "CertificateFingerprint") to
  3701  	// include in API requests with the JSON null value. By default, fields with
  3702  	// empty values are omitted from API requests. See
  3703  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3704  	NullFields []string `json:"-"`
  3705  }
  3706  
  3707  func (s *InternalAppSharingArtifact) MarshalJSON() ([]byte, error) {
  3708  	type NoMethod InternalAppSharingArtifact
  3709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3710  }
  3711  
  3712  // IntroductoryPriceInfo: Contains the introductory price information for a
  3713  // subscription.
  3714  type IntroductoryPriceInfo struct {
  3715  	// IntroductoryPriceAmountMicros: Introductory price of the subscription, not
  3716  	// including tax. The currency is the same as price_currency_code. Price is
  3717  	// expressed in micro-units, where 1,000,000 micro-units represents one unit of
  3718  	// the currency. For example, if the subscription price is €1.99,
  3719  	// price_amount_micros is 1990000.
  3720  	IntroductoryPriceAmountMicros int64 `json:"introductoryPriceAmountMicros,omitempty,string"`
  3721  	// IntroductoryPriceCurrencyCode: ISO 4217 currency code for the introductory
  3722  	// subscription price. For example, if the price is specified in British pounds
  3723  	// sterling, price_currency_code is "GBP".
  3724  	IntroductoryPriceCurrencyCode string `json:"introductoryPriceCurrencyCode,omitempty"`
  3725  	// IntroductoryPriceCycles: The number of billing period to offer introductory
  3726  	// pricing.
  3727  	IntroductoryPriceCycles int64 `json:"introductoryPriceCycles,omitempty"`
  3728  	// IntroductoryPricePeriod: Introductory price period, specified in ISO 8601
  3729  	// format. Common values are (but not limited to) "P1W" (one week), "P1M" (one
  3730  	// month), "P3M" (three months), "P6M" (six months), and "P1Y" (one year).
  3731  	IntroductoryPricePeriod string `json:"introductoryPricePeriod,omitempty"`
  3732  	// ForceSendFields is a list of field names (e.g.
  3733  	// "IntroductoryPriceAmountMicros") to unconditionally include in API requests.
  3734  	// By default, fields with empty or default values are omitted from API
  3735  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  3736  	// for more details.
  3737  	ForceSendFields []string `json:"-"`
  3738  	// NullFields is a list of field names (e.g. "IntroductoryPriceAmountMicros")
  3739  	// to include in API requests with the JSON null value. By default, fields with
  3740  	// empty values are omitted from API requests. See
  3741  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3742  	NullFields []string `json:"-"`
  3743  }
  3744  
  3745  func (s *IntroductoryPriceInfo) MarshalJSON() ([]byte, error) {
  3746  	type NoMethod IntroductoryPriceInfo
  3747  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3748  }
  3749  
  3750  // LanguageTargeting: Targeting based on language.
  3751  type LanguageTargeting struct {
  3752  	// Alternatives: Alternative languages.
  3753  	Alternatives []string `json:"alternatives,omitempty"`
  3754  	// Value: ISO-639: 2 or 3 letter language code.
  3755  	Value []string `json:"value,omitempty"`
  3756  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  3757  	// unconditionally include in API requests. By default, fields with empty or
  3758  	// default values are omitted from API requests. See
  3759  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3760  	// details.
  3761  	ForceSendFields []string `json:"-"`
  3762  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  3763  	// requests with the JSON null value. By default, fields with empty values are
  3764  	// omitted from API requests. See
  3765  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3766  	NullFields []string `json:"-"`
  3767  }
  3768  
  3769  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  3770  	type NoMethod LanguageTargeting
  3771  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3772  }
  3773  
  3774  // ListAppRecoveriesResponse: Response message for ListAppRecoveries. --
  3775  // api-linter: core::0158::response-next-page-token-field=disabled
  3776  type ListAppRecoveriesResponse struct {
  3777  	// RecoveryActions: List of recovery actions associated with the requested
  3778  	// package name.
  3779  	RecoveryActions []*AppRecoveryAction `json:"recoveryActions,omitempty"`
  3780  
  3781  	// ServerResponse contains the HTTP response code and headers from the server.
  3782  	googleapi.ServerResponse `json:"-"`
  3783  	// ForceSendFields is a list of field names (e.g. "RecoveryActions") to
  3784  	// unconditionally include in API requests. By default, fields with empty or
  3785  	// default values are omitted from API requests. See
  3786  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3787  	// details.
  3788  	ForceSendFields []string `json:"-"`
  3789  	// NullFields is a list of field names (e.g. "RecoveryActions") to include in
  3790  	// API requests with the JSON null value. By default, fields with empty values
  3791  	// are omitted from API requests. See
  3792  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3793  	NullFields []string `json:"-"`
  3794  }
  3795  
  3796  func (s *ListAppRecoveriesResponse) MarshalJSON() ([]byte, error) {
  3797  	type NoMethod ListAppRecoveriesResponse
  3798  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3799  }
  3800  
  3801  // ListDeviceTierConfigsResponse: Response listing existing device tier
  3802  // configs.
  3803  type ListDeviceTierConfigsResponse struct {
  3804  	// DeviceTierConfigs: Device tier configs created by the developer.
  3805  	DeviceTierConfigs []*DeviceTierConfig `json:"deviceTierConfigs,omitempty"`
  3806  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3807  	// next page. If this field is omitted, there are no subsequent pages.
  3808  	NextPageToken string `json:"nextPageToken,omitempty"`
  3809  
  3810  	// ServerResponse contains the HTTP response code and headers from the server.
  3811  	googleapi.ServerResponse `json:"-"`
  3812  	// ForceSendFields is a list of field names (e.g. "DeviceTierConfigs") to
  3813  	// unconditionally include in API requests. By default, fields with empty or
  3814  	// default values are omitted from API requests. See
  3815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3816  	// details.
  3817  	ForceSendFields []string `json:"-"`
  3818  	// NullFields is a list of field names (e.g. "DeviceTierConfigs") to include in
  3819  	// API requests with the JSON null value. By default, fields with empty values
  3820  	// are omitted from API requests. See
  3821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3822  	NullFields []string `json:"-"`
  3823  }
  3824  
  3825  func (s *ListDeviceTierConfigsResponse) MarshalJSON() ([]byte, error) {
  3826  	type NoMethod ListDeviceTierConfigsResponse
  3827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3828  }
  3829  
  3830  // ListSubscriptionOffersResponse: Response message for ListSubscriptionOffers.
  3831  type ListSubscriptionOffersResponse struct {
  3832  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3833  	// next page. If this field is omitted, there are no subsequent pages.
  3834  	NextPageToken string `json:"nextPageToken,omitempty"`
  3835  	// SubscriptionOffers: The subscription offers from the specified subscription.
  3836  	SubscriptionOffers []*SubscriptionOffer `json:"subscriptionOffers,omitempty"`
  3837  
  3838  	// ServerResponse contains the HTTP response code and headers from the server.
  3839  	googleapi.ServerResponse `json:"-"`
  3840  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3841  	// unconditionally include in API requests. By default, fields with empty or
  3842  	// default values are omitted from API requests. See
  3843  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3844  	// details.
  3845  	ForceSendFields []string `json:"-"`
  3846  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3847  	// requests with the JSON null value. By default, fields with empty values are
  3848  	// omitted from API requests. See
  3849  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3850  	NullFields []string `json:"-"`
  3851  }
  3852  
  3853  func (s *ListSubscriptionOffersResponse) MarshalJSON() ([]byte, error) {
  3854  	type NoMethod ListSubscriptionOffersResponse
  3855  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3856  }
  3857  
  3858  // ListSubscriptionsResponse: Response message for ListSubscriptions.
  3859  type ListSubscriptionsResponse struct {
  3860  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3861  	// next page. If this field is omitted, there are no subsequent pages.
  3862  	NextPageToken string `json:"nextPageToken,omitempty"`
  3863  	// Subscriptions: The subscriptions from the specified app.
  3864  	Subscriptions []*Subscription `json:"subscriptions,omitempty"`
  3865  
  3866  	// ServerResponse contains the HTTP response code and headers from the server.
  3867  	googleapi.ServerResponse `json:"-"`
  3868  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3869  	// unconditionally include in API requests. By default, fields with empty or
  3870  	// default values are omitted from API requests. See
  3871  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3872  	// details.
  3873  	ForceSendFields []string `json:"-"`
  3874  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3875  	// requests with the JSON null value. By default, fields with empty values are
  3876  	// omitted from API requests. See
  3877  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3878  	NullFields []string `json:"-"`
  3879  }
  3880  
  3881  func (s *ListSubscriptionsResponse) MarshalJSON() ([]byte, error) {
  3882  	type NoMethod ListSubscriptionsResponse
  3883  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3884  }
  3885  
  3886  // ListUsersResponse: A response containing one or more users with access to an
  3887  // account.
  3888  type ListUsersResponse struct {
  3889  	// NextPageToken: A token to pass to subsequent calls in order to retrieve
  3890  	// subsequent results. This will not be set if there are no more results to
  3891  	// return.
  3892  	NextPageToken string `json:"nextPageToken,omitempty"`
  3893  	// Users: The resulting users.
  3894  	Users []*User `json:"users,omitempty"`
  3895  
  3896  	// ServerResponse contains the HTTP response code and headers from the server.
  3897  	googleapi.ServerResponse `json:"-"`
  3898  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3899  	// unconditionally include in API requests. By default, fields with empty or
  3900  	// default values are omitted from API requests. See
  3901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3902  	// details.
  3903  	ForceSendFields []string `json:"-"`
  3904  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3905  	// requests with the JSON null value. By default, fields with empty values are
  3906  	// omitted from API requests. See
  3907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3908  	NullFields []string `json:"-"`
  3909  }
  3910  
  3911  func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
  3912  	type NoMethod ListUsersResponse
  3913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3914  }
  3915  
  3916  // Listing: A localized store listing. The resource for ListingsService.
  3917  type Listing struct {
  3918  	// FullDescription: Full description of the app.
  3919  	FullDescription string `json:"fullDescription,omitempty"`
  3920  	// Language: Language localization code (a BCP-47 language tag; for example,
  3921  	// "de-AT" for Austrian German).
  3922  	Language string `json:"language,omitempty"`
  3923  	// ShortDescription: Short description of the app.
  3924  	ShortDescription string `json:"shortDescription,omitempty"`
  3925  	// Title: Localized title of the app.
  3926  	Title string `json:"title,omitempty"`
  3927  	// Video: URL of a promotional YouTube video for the app.
  3928  	Video string `json:"video,omitempty"`
  3929  
  3930  	// ServerResponse contains the HTTP response code and headers from the server.
  3931  	googleapi.ServerResponse `json:"-"`
  3932  	// ForceSendFields is a list of field names (e.g. "FullDescription") to
  3933  	// unconditionally include in API requests. By default, fields with empty or
  3934  	// default values are omitted from API requests. See
  3935  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3936  	// details.
  3937  	ForceSendFields []string `json:"-"`
  3938  	// NullFields is a list of field names (e.g. "FullDescription") to include in
  3939  	// API requests with the JSON null value. By default, fields with empty values
  3940  	// are omitted from API requests. See
  3941  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3942  	NullFields []string `json:"-"`
  3943  }
  3944  
  3945  func (s *Listing) MarshalJSON() ([]byte, error) {
  3946  	type NoMethod Listing
  3947  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3948  }
  3949  
  3950  // ListingsListResponse: Response listing all localized listings.
  3951  type ListingsListResponse struct {
  3952  	// Kind: The kind of this response ("androidpublisher#listingsListResponse").
  3953  	Kind string `json:"kind,omitempty"`
  3954  	// Listings: All localized listings.
  3955  	Listings []*Listing `json:"listings,omitempty"`
  3956  
  3957  	// ServerResponse contains the HTTP response code and headers from the server.
  3958  	googleapi.ServerResponse `json:"-"`
  3959  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  3960  	// include in API requests. By default, fields with empty or default values are
  3961  	// omitted from API requests. See
  3962  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3963  	// details.
  3964  	ForceSendFields []string `json:"-"`
  3965  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  3966  	// with the JSON null value. By default, fields with empty values are omitted
  3967  	// from API requests. See
  3968  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3969  	NullFields []string `json:"-"`
  3970  }
  3971  
  3972  func (s *ListingsListResponse) MarshalJSON() ([]byte, error) {
  3973  	type NoMethod ListingsListResponse
  3974  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3975  }
  3976  
  3977  // LocalizedText: Localized text in given language.
  3978  type LocalizedText struct {
  3979  	// Language: Language localization code (a BCP-47 language tag; for example,
  3980  	// "de-AT" for Austrian German).
  3981  	Language string `json:"language,omitempty"`
  3982  	// Text: The text in the given language.
  3983  	Text string `json:"text,omitempty"`
  3984  	// ForceSendFields is a list of field names (e.g. "Language") to
  3985  	// unconditionally include in API requests. By default, fields with empty or
  3986  	// default values are omitted from API requests. See
  3987  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3988  	// details.
  3989  	ForceSendFields []string `json:"-"`
  3990  	// NullFields is a list of field names (e.g. "Language") to include in API
  3991  	// requests with the JSON null value. By default, fields with empty values are
  3992  	// omitted from API requests. See
  3993  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3994  	NullFields []string `json:"-"`
  3995  }
  3996  
  3997  func (s *LocalizedText) MarshalJSON() ([]byte, error) {
  3998  	type NoMethod LocalizedText
  3999  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4000  }
  4001  
  4002  // ManagedProductTaxAndComplianceSettings: Details about taxation and legal
  4003  // compliance for managed products.
  4004  type ManagedProductTaxAndComplianceSettings struct {
  4005  	// EeaWithdrawalRightType: Digital content or service classification for
  4006  	// products distributed to users in the European Economic Area (EEA). The
  4007  	// withdrawal regime under EEA consumer laws depends on this classification.
  4008  	// Refer to the Help Center article
  4009  	// (https://support.google.com/googleplay/android-developer/answer/10463498)
  4010  	// for more information.
  4011  	//
  4012  	// Possible values:
  4013  	//   "WITHDRAWAL_RIGHT_TYPE_UNSPECIFIED"
  4014  	//   "WITHDRAWAL_RIGHT_DIGITAL_CONTENT"
  4015  	//   "WITHDRAWAL_RIGHT_SERVICE"
  4016  	EeaWithdrawalRightType string `json:"eeaWithdrawalRightType,omitempty"`
  4017  	// IsTokenizedDigitalAsset: Whether this in-app product is declared as a
  4018  	// product representing a tokenized digital asset.
  4019  	IsTokenizedDigitalAsset bool `json:"isTokenizedDigitalAsset,omitempty"`
  4020  	// TaxRateInfoByRegionCode: A mapping from region code to tax rate details. The
  4021  	// keys are region codes as defined by Unicode's "CLDR".
  4022  	TaxRateInfoByRegionCode map[string]RegionalTaxRateInfo `json:"taxRateInfoByRegionCode,omitempty"`
  4023  	// ForceSendFields is a list of field names (e.g. "EeaWithdrawalRightType") to
  4024  	// unconditionally include in API requests. By default, fields with empty or
  4025  	// default values are omitted from API requests. See
  4026  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4027  	// details.
  4028  	ForceSendFields []string `json:"-"`
  4029  	// NullFields is a list of field names (e.g. "EeaWithdrawalRightType") to
  4030  	// include in API requests with the JSON null value. By default, fields with
  4031  	// empty values are omitted from API requests. See
  4032  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4033  	NullFields []string `json:"-"`
  4034  }
  4035  
  4036  func (s *ManagedProductTaxAndComplianceSettings) MarshalJSON() ([]byte, error) {
  4037  	type NoMethod ManagedProductTaxAndComplianceSettings
  4038  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4039  }
  4040  
  4041  // MigrateBasePlanPricesRequest: Request message for MigrateBasePlanPrices.
  4042  type MigrateBasePlanPricesRequest struct {
  4043  	// BasePlanId: Required. The unique base plan ID of the base plan to update
  4044  	// prices on.
  4045  	BasePlanId string `json:"basePlanId,omitempty"`
  4046  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  4047  	// this product update. Defaults to latency-sensitive.
  4048  	//
  4049  	// Possible values:
  4050  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  4051  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  4052  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  4053  	// propagate to clients within several minutes on average and up to a few hours
  4054  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  4055  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  4056  	// propagate to clients within 24 hours. Supports high throughput of up to
  4057  	// 720,000 updates per app per hour using batch modification methods.
  4058  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  4059  	// PackageName: Required. Package name of the parent app. Must be equal to the
  4060  	// package_name field on the Subscription resource.
  4061  	PackageName string `json:"packageName,omitempty"`
  4062  	// ProductId: Required. The ID of the subscription to update. Must be equal to
  4063  	// the product_id field on the Subscription resource.
  4064  	ProductId string `json:"productId,omitempty"`
  4065  	// RegionalPriceMigrations: Required. The regional prices to update.
  4066  	RegionalPriceMigrations []*RegionalPriceMigrationConfig `json:"regionalPriceMigrations,omitempty"`
  4067  	// RegionsVersion: Required. The version of the available regions being used
  4068  	// for the regional_price_migrations.
  4069  	RegionsVersion *RegionsVersion `json:"regionsVersion,omitempty"`
  4070  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  4071  	// unconditionally include in API requests. By default, fields with empty or
  4072  	// default values are omitted from API requests. See
  4073  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4074  	// details.
  4075  	ForceSendFields []string `json:"-"`
  4076  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  4077  	// requests with the JSON null value. By default, fields with empty values are
  4078  	// omitted from API requests. See
  4079  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4080  	NullFields []string `json:"-"`
  4081  }
  4082  
  4083  func (s *MigrateBasePlanPricesRequest) MarshalJSON() ([]byte, error) {
  4084  	type NoMethod MigrateBasePlanPricesRequest
  4085  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4086  }
  4087  
  4088  // MigrateBasePlanPricesResponse: Response message for MigrateBasePlanPrices.
  4089  type MigrateBasePlanPricesResponse struct {
  4090  	// ServerResponse contains the HTTP response code and headers from the server.
  4091  	googleapi.ServerResponse `json:"-"`
  4092  }
  4093  
  4094  // ModuleMetadata: Metadata of a module.
  4095  type ModuleMetadata struct {
  4096  	// DeliveryType: Indicates the delivery type (e.g. on-demand) of the module.
  4097  	//
  4098  	// Possible values:
  4099  	//   "UNKNOWN_DELIVERY_TYPE" - Unspecified delivery type.
  4100  	//   "INSTALL_TIME" - This module will always be downloaded as part of the
  4101  	// initial install of the app.
  4102  	//   "ON_DEMAND" - This module is requested on-demand, which means it will not
  4103  	// be part of the initial install, and will only be sent when requested by the
  4104  	// client.
  4105  	//   "FAST_FOLLOW" - This module will be downloaded immediately after initial
  4106  	// install finishes. The app can be opened before these modules are downloaded.
  4107  	DeliveryType string `json:"deliveryType,omitempty"`
  4108  	// Dependencies: Names of the modules that this module directly depends on.
  4109  	// Each module implicitly depends on the base module.
  4110  	Dependencies []string `json:"dependencies,omitempty"`
  4111  	// ModuleType: Indicates the type of this feature module.
  4112  	//
  4113  	// Possible values:
  4114  	//   "UNKNOWN_MODULE_TYPE" - Unknown feature module.
  4115  	//   "FEATURE_MODULE" - Regular feature module.
  4116  	ModuleType string `json:"moduleType,omitempty"`
  4117  	// Name: Module name.
  4118  	Name string `json:"name,omitempty"`
  4119  	// Targeting: The targeting that makes a conditional module installed. Relevant
  4120  	// only for Split APKs.
  4121  	Targeting *ModuleTargeting `json:"targeting,omitempty"`
  4122  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
  4123  	// unconditionally include in API requests. By default, fields with empty or
  4124  	// default values are omitted from API requests. See
  4125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4126  	// details.
  4127  	ForceSendFields []string `json:"-"`
  4128  	// NullFields is a list of field names (e.g. "DeliveryType") to include in API
  4129  	// requests with the JSON null value. By default, fields with empty values are
  4130  	// omitted from API requests. See
  4131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4132  	NullFields []string `json:"-"`
  4133  }
  4134  
  4135  func (s *ModuleMetadata) MarshalJSON() ([]byte, error) {
  4136  	type NoMethod ModuleMetadata
  4137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4138  }
  4139  
  4140  // ModuleTargeting: Targeting on the module level.
  4141  type ModuleTargeting struct {
  4142  	// DeviceFeatureTargeting: Targeting for device features.
  4143  	DeviceFeatureTargeting []*DeviceFeatureTargeting `json:"deviceFeatureTargeting,omitempty"`
  4144  	// SdkVersionTargeting: The sdk version that the variant targets
  4145  	SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"`
  4146  	// UserCountriesTargeting: Countries-level targeting
  4147  	UserCountriesTargeting *UserCountriesTargeting `json:"userCountriesTargeting,omitempty"`
  4148  	// ForceSendFields is a list of field names (e.g. "DeviceFeatureTargeting") to
  4149  	// unconditionally include in API requests. By default, fields with empty or
  4150  	// default values are omitted from API requests. See
  4151  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4152  	// details.
  4153  	ForceSendFields []string `json:"-"`
  4154  	// NullFields is a list of field names (e.g. "DeviceFeatureTargeting") to
  4155  	// include in API requests with the JSON null value. By default, fields with
  4156  	// empty values are omitted from API requests. See
  4157  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4158  	NullFields []string `json:"-"`
  4159  }
  4160  
  4161  func (s *ModuleTargeting) MarshalJSON() ([]byte, error) {
  4162  	type NoMethod ModuleTargeting
  4163  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4164  }
  4165  
  4166  // Money: Represents an amount of money with its currency type.
  4167  type Money struct {
  4168  	// CurrencyCode: The three-letter currency code defined in ISO 4217.
  4169  	CurrencyCode string `json:"currencyCode,omitempty"`
  4170  	// Nanos: Number of nano (10^-9) units of the amount. The value must be between
  4171  	// -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos`
  4172  	// must be positive or zero. If `units` is zero, `nanos` can be positive, zero,
  4173  	// or negative. If `units` is negative, `nanos` must be negative or zero. For
  4174  	// example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
  4175  	Nanos int64 `json:"nanos,omitempty"`
  4176  	// Units: The whole units of the amount. For example if `currencyCode` is
  4177  	// "USD", then 1 unit is one US dollar.
  4178  	Units int64 `json:"units,omitempty,string"`
  4179  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
  4180  	// unconditionally include in API requests. By default, fields with empty or
  4181  	// default values are omitted from API requests. See
  4182  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4183  	// details.
  4184  	ForceSendFields []string `json:"-"`
  4185  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
  4186  	// requests with the JSON null value. By default, fields with empty values are
  4187  	// omitted from API requests. See
  4188  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4189  	NullFields []string `json:"-"`
  4190  }
  4191  
  4192  func (s *Money) MarshalJSON() ([]byte, error) {
  4193  	type NoMethod Money
  4194  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4195  }
  4196  
  4197  // MultiAbi: Represents a list of apis.
  4198  type MultiAbi struct {
  4199  	// Abi: A list of targeted ABIs, as represented by the Android Platform
  4200  	Abi []*Abi `json:"abi,omitempty"`
  4201  	// ForceSendFields is a list of field names (e.g. "Abi") to unconditionally
  4202  	// include in API requests. By default, fields with empty or default values are
  4203  	// omitted from API requests. See
  4204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4205  	// details.
  4206  	ForceSendFields []string `json:"-"`
  4207  	// NullFields is a list of field names (e.g. "Abi") to include in API requests
  4208  	// with the JSON null value. By default, fields with empty values are omitted
  4209  	// from API requests. See
  4210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4211  	NullFields []string `json:"-"`
  4212  }
  4213  
  4214  func (s *MultiAbi) MarshalJSON() ([]byte, error) {
  4215  	type NoMethod MultiAbi
  4216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4217  }
  4218  
  4219  // MultiAbiTargeting: Targeting based on multiple abis.
  4220  type MultiAbiTargeting struct {
  4221  	// Alternatives: Targeting of other sibling directories that were in the
  4222  	// Bundle. For main splits this is targeting of other main splits.
  4223  	Alternatives []*MultiAbi `json:"alternatives,omitempty"`
  4224  	// Value: Value of a multi abi.
  4225  	Value []*MultiAbi `json:"value,omitempty"`
  4226  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  4227  	// unconditionally include in API requests. By default, fields with empty or
  4228  	// default values are omitted from API requests. See
  4229  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4230  	// details.
  4231  	ForceSendFields []string `json:"-"`
  4232  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  4233  	// requests with the JSON null value. By default, fields with empty values are
  4234  	// omitted from API requests. See
  4235  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4236  	NullFields []string `json:"-"`
  4237  }
  4238  
  4239  func (s *MultiAbiTargeting) MarshalJSON() ([]byte, error) {
  4240  	type NoMethod MultiAbiTargeting
  4241  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4242  }
  4243  
  4244  // OfferDetails: Offer details information related to a purchase line item.
  4245  type OfferDetails struct {
  4246  	// BasePlanId: The base plan ID. Present for all base plan and offers.
  4247  	BasePlanId string `json:"basePlanId,omitempty"`
  4248  	// OfferId: The offer ID. Only present for discounted offers.
  4249  	OfferId string `json:"offerId,omitempty"`
  4250  	// OfferTags: The latest offer tags associated with the offer. It includes tags
  4251  	// inherited from the base plan.
  4252  	OfferTags []string `json:"offerTags,omitempty"`
  4253  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  4254  	// unconditionally include in API requests. By default, fields with empty or
  4255  	// default values are omitted from API requests. See
  4256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4257  	// details.
  4258  	ForceSendFields []string `json:"-"`
  4259  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  4260  	// requests with the JSON null value. By default, fields with empty values are
  4261  	// omitted from API requests. See
  4262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4263  	NullFields []string `json:"-"`
  4264  }
  4265  
  4266  func (s *OfferDetails) MarshalJSON() ([]byte, error) {
  4267  	type NoMethod OfferDetails
  4268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4269  }
  4270  
  4271  // OfferTag: Represents a custom tag specified for base plans and subscription
  4272  // offers.
  4273  type OfferTag struct {
  4274  	// Tag: Must conform with RFC-1034. That is, this string can only contain
  4275  	// lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20
  4276  	// characters.
  4277  	Tag string `json:"tag,omitempty"`
  4278  	// ForceSendFields is a list of field names (e.g. "Tag") to unconditionally
  4279  	// include in API requests. By default, fields with empty or default values are
  4280  	// omitted from API requests. See
  4281  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4282  	// details.
  4283  	ForceSendFields []string `json:"-"`
  4284  	// NullFields is a list of field names (e.g. "Tag") to include in API requests
  4285  	// with the JSON null value. By default, fields with empty values are omitted
  4286  	// from API requests. See
  4287  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4288  	NullFields []string `json:"-"`
  4289  }
  4290  
  4291  func (s *OfferTag) MarshalJSON() ([]byte, error) {
  4292  	type NoMethod OfferTag
  4293  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4294  }
  4295  
  4296  // OneTimeExternalTransaction: Represents a one-time transaction.
  4297  type OneTimeExternalTransaction struct {
  4298  	// ExternalTransactionToken: Input only. Provided during the call to Create.
  4299  	// Retrieved from the client when the alternative billing flow is launched.
  4300  	ExternalTransactionToken string `json:"externalTransactionToken,omitempty"`
  4301  	// ForceSendFields is a list of field names (e.g. "ExternalTransactionToken")
  4302  	// to unconditionally include in API requests. By default, fields with empty or
  4303  	// default values are omitted from API requests. See
  4304  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4305  	// details.
  4306  	ForceSendFields []string `json:"-"`
  4307  	// NullFields is a list of field names (e.g. "ExternalTransactionToken") to
  4308  	// include in API requests with the JSON null value. By default, fields with
  4309  	// empty values are omitted from API requests. See
  4310  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4311  	NullFields []string `json:"-"`
  4312  }
  4313  
  4314  func (s *OneTimeExternalTransaction) MarshalJSON() ([]byte, error) {
  4315  	type NoMethod OneTimeExternalTransaction
  4316  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4317  }
  4318  
  4319  // OtherRecurringProduct: Details of a recurring external transaction product
  4320  // which doesn't belong to any other more specific category.
  4321  type OtherRecurringProduct struct {
  4322  }
  4323  
  4324  // OtherRegionsBasePlanConfig: Pricing information for any new locations Play
  4325  // may launch in.
  4326  type OtherRegionsBasePlanConfig struct {
  4327  	// EurPrice: Required. Price in EUR to use for any new locations Play may
  4328  	// launch in.
  4329  	EurPrice *Money `json:"eurPrice,omitempty"`
  4330  	// NewSubscriberAvailability: Whether the base plan is available for new
  4331  	// subscribers in any new locations Play may launch in. If not specified, this
  4332  	// will default to false.
  4333  	NewSubscriberAvailability bool `json:"newSubscriberAvailability,omitempty"`
  4334  	// UsdPrice: Required. Price in USD to use for any new locations Play may
  4335  	// launch in.
  4336  	UsdPrice *Money `json:"usdPrice,omitempty"`
  4337  	// ForceSendFields is a list of field names (e.g. "EurPrice") to
  4338  	// unconditionally include in API requests. By default, fields with empty or
  4339  	// default values are omitted from API requests. See
  4340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4341  	// details.
  4342  	ForceSendFields []string `json:"-"`
  4343  	// NullFields is a list of field names (e.g. "EurPrice") to include in API
  4344  	// requests with the JSON null value. By default, fields with empty values are
  4345  	// omitted from API requests. See
  4346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4347  	NullFields []string `json:"-"`
  4348  }
  4349  
  4350  func (s *OtherRegionsBasePlanConfig) MarshalJSON() ([]byte, error) {
  4351  	type NoMethod OtherRegionsBasePlanConfig
  4352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4353  }
  4354  
  4355  // OtherRegionsSubscriptionOfferConfig: Configuration for any new locations
  4356  // Play may launch in specified on a subscription offer.
  4357  type OtherRegionsSubscriptionOfferConfig struct {
  4358  	// OtherRegionsNewSubscriberAvailability: Whether the subscription offer in any
  4359  	// new locations Play may launch in the future. If not specified, this will
  4360  	// default to false.
  4361  	OtherRegionsNewSubscriberAvailability bool `json:"otherRegionsNewSubscriberAvailability,omitempty"`
  4362  	// ForceSendFields is a list of field names (e.g.
  4363  	// "OtherRegionsNewSubscriberAvailability") to unconditionally include in API
  4364  	// requests. By default, fields with empty or default values are omitted from
  4365  	// API requests. See
  4366  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4367  	// details.
  4368  	ForceSendFields []string `json:"-"`
  4369  	// NullFields is a list of field names (e.g.
  4370  	// "OtherRegionsNewSubscriberAvailability") to include in API requests with the
  4371  	// JSON null value. By default, fields with empty values are omitted from API
  4372  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  4373  	// more details.
  4374  	NullFields []string `json:"-"`
  4375  }
  4376  
  4377  func (s *OtherRegionsSubscriptionOfferConfig) MarshalJSON() ([]byte, error) {
  4378  	type NoMethod OtherRegionsSubscriptionOfferConfig
  4379  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4380  }
  4381  
  4382  // OtherRegionsSubscriptionOfferPhaseConfig: Configuration for any new
  4383  // locations Play may launch in for a single offer phase.
  4384  type OtherRegionsSubscriptionOfferPhaseConfig struct {
  4385  	// AbsoluteDiscounts: The absolute amount of money subtracted from the base
  4386  	// plan price prorated over the phase duration that the user pays for this
  4387  	// offer phase. For example, if the base plan price for this region is $12 for
  4388  	// a period of 1 year, then a $1 absolute discount for a phase of a duration of
  4389  	// 3 months would correspond to a price of $2. The resulting price may not be
  4390  	// smaller than the minimum price allowed for any new locations Play may launch
  4391  	// in.
  4392  	AbsoluteDiscounts *OtherRegionsSubscriptionOfferPhasePrices `json:"absoluteDiscounts,omitempty"`
  4393  	// Free: Set to specify this offer is free to obtain.
  4394  	Free *OtherRegionsSubscriptionOfferPhaseFreePriceOverride `json:"free,omitempty"`
  4395  	// OtherRegionsPrices: The absolute price the user pays for this offer phase.
  4396  	// The price must not be smaller than the minimum price allowed for any new
  4397  	// locations Play may launch in.
  4398  	OtherRegionsPrices *OtherRegionsSubscriptionOfferPhasePrices `json:"otherRegionsPrices,omitempty"`
  4399  	// RelativeDiscount: The fraction of the base plan price prorated over the
  4400  	// phase duration that the user pays for this offer phase. For example, if the
  4401  	// base plan price for this region is $12 for a period of 1 year, then a 50%
  4402  	// discount for a phase of a duration of 3 months would correspond to a price
  4403  	// of $1.50. The discount must be specified as a fraction strictly larger than
  4404  	// 0 and strictly smaller than 1. The resulting price will be rounded to the
  4405  	// nearest billable unit (e.g. cents for USD). The relative discount is
  4406  	// considered invalid if the discounted price ends up being smaller than the
  4407  	// minimum price allowed in any new locations Play may launch in.
  4408  	RelativeDiscount float64 `json:"relativeDiscount,omitempty"`
  4409  	// ForceSendFields is a list of field names (e.g. "AbsoluteDiscounts") to
  4410  	// unconditionally include in API requests. By default, fields with empty or
  4411  	// default values are omitted from API requests. See
  4412  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4413  	// details.
  4414  	ForceSendFields []string `json:"-"`
  4415  	// NullFields is a list of field names (e.g. "AbsoluteDiscounts") to include in
  4416  	// API requests with the JSON null value. By default, fields with empty values
  4417  	// are omitted from API requests. See
  4418  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4419  	NullFields []string `json:"-"`
  4420  }
  4421  
  4422  func (s *OtherRegionsSubscriptionOfferPhaseConfig) MarshalJSON() ([]byte, error) {
  4423  	type NoMethod OtherRegionsSubscriptionOfferPhaseConfig
  4424  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4425  }
  4426  
  4427  func (s *OtherRegionsSubscriptionOfferPhaseConfig) UnmarshalJSON(data []byte) error {
  4428  	type NoMethod OtherRegionsSubscriptionOfferPhaseConfig
  4429  	var s1 struct {
  4430  		RelativeDiscount gensupport.JSONFloat64 `json:"relativeDiscount"`
  4431  		*NoMethod
  4432  	}
  4433  	s1.NoMethod = (*NoMethod)(s)
  4434  	if err := json.Unmarshal(data, &s1); err != nil {
  4435  		return err
  4436  	}
  4437  	s.RelativeDiscount = float64(s1.RelativeDiscount)
  4438  	return nil
  4439  }
  4440  
  4441  // OtherRegionsSubscriptionOfferPhaseFreePriceOverride: Represents the free
  4442  // price override configuration for any new locations Play may launch for a
  4443  // single offer phase.
  4444  type OtherRegionsSubscriptionOfferPhaseFreePriceOverride struct {
  4445  }
  4446  
  4447  // OtherRegionsSubscriptionOfferPhasePrices: Pricing information for any new
  4448  // locations Play may launch in.
  4449  type OtherRegionsSubscriptionOfferPhasePrices struct {
  4450  	// EurPrice: Required. Price in EUR to use for any new locations Play may
  4451  	// launch in.
  4452  	EurPrice *Money `json:"eurPrice,omitempty"`
  4453  	// UsdPrice: Required. Price in USD to use for any new locations Play may
  4454  	// launch in.
  4455  	UsdPrice *Money `json:"usdPrice,omitempty"`
  4456  	// ForceSendFields is a list of field names (e.g. "EurPrice") to
  4457  	// unconditionally include in API requests. By default, fields with empty or
  4458  	// default values are omitted from API requests. See
  4459  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4460  	// details.
  4461  	ForceSendFields []string `json:"-"`
  4462  	// NullFields is a list of field names (e.g. "EurPrice") to include in API
  4463  	// requests with the JSON null value. By default, fields with empty values are
  4464  	// omitted from API requests. See
  4465  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4466  	NullFields []string `json:"-"`
  4467  }
  4468  
  4469  func (s *OtherRegionsSubscriptionOfferPhasePrices) MarshalJSON() ([]byte, error) {
  4470  	type NoMethod OtherRegionsSubscriptionOfferPhasePrices
  4471  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4472  }
  4473  
  4474  // PageInfo: Information about the current page. List operations that supports
  4475  // paging return only one "page" of results. This protocol buffer message
  4476  // describes the page that has been returned.
  4477  type PageInfo struct {
  4478  	// ResultPerPage: Maximum number of results returned in one page. ! The number
  4479  	// of results included in the API response.
  4480  	ResultPerPage int64 `json:"resultPerPage,omitempty"`
  4481  	// StartIndex: Index of the first result returned in the current page.
  4482  	StartIndex int64 `json:"startIndex,omitempty"`
  4483  	// TotalResults: Total number of results available on the backend ! The total
  4484  	// number of results in the result set.
  4485  	TotalResults int64 `json:"totalResults,omitempty"`
  4486  	// ForceSendFields is a list of field names (e.g. "ResultPerPage") to
  4487  	// unconditionally include in API requests. By default, fields with empty or
  4488  	// default values are omitted from API requests. See
  4489  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4490  	// details.
  4491  	ForceSendFields []string `json:"-"`
  4492  	// NullFields is a list of field names (e.g. "ResultPerPage") to include in API
  4493  	// requests with the JSON null value. By default, fields with empty values are
  4494  	// omitted from API requests. See
  4495  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4496  	NullFields []string `json:"-"`
  4497  }
  4498  
  4499  func (s *PageInfo) MarshalJSON() ([]byte, error) {
  4500  	type NoMethod PageInfo
  4501  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4502  }
  4503  
  4504  // PartialRefund: A partial refund of a transaction.
  4505  type PartialRefund struct {
  4506  	// RefundId: Required. A unique id distinguishing this partial refund. If the
  4507  	// refund is successful, subsequent refunds with the same id will fail. Must be
  4508  	// unique across refunds for one individual transaction.
  4509  	RefundId string `json:"refundId,omitempty"`
  4510  	// RefundPreTaxAmount: Required. The pre-tax amount of the partial refund.
  4511  	// Should be less than the remaining pre-tax amount of the transaction.
  4512  	RefundPreTaxAmount *Price `json:"refundPreTaxAmount,omitempty"`
  4513  	// ForceSendFields is a list of field names (e.g. "RefundId") to
  4514  	// unconditionally include in API requests. By default, fields with empty or
  4515  	// default values are omitted from API requests. See
  4516  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4517  	// details.
  4518  	ForceSendFields []string `json:"-"`
  4519  	// NullFields is a list of field names (e.g. "RefundId") to include in API
  4520  	// requests with the JSON null value. By default, fields with empty values are
  4521  	// omitted from API requests. See
  4522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4523  	NullFields []string `json:"-"`
  4524  }
  4525  
  4526  func (s *PartialRefund) MarshalJSON() ([]byte, error) {
  4527  	type NoMethod PartialRefund
  4528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4529  }
  4530  
  4531  // PausedStateContext: Information specific to a subscription in paused state.
  4532  type PausedStateContext struct {
  4533  	// AutoResumeTime: Time at which the subscription will be automatically
  4534  	// resumed.
  4535  	AutoResumeTime string `json:"autoResumeTime,omitempty"`
  4536  	// ForceSendFields is a list of field names (e.g. "AutoResumeTime") to
  4537  	// unconditionally include in API requests. By default, fields with empty or
  4538  	// default values are omitted from API requests. See
  4539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4540  	// details.
  4541  	ForceSendFields []string `json:"-"`
  4542  	// NullFields is a list of field names (e.g. "AutoResumeTime") to include in
  4543  	// API requests with the JSON null value. By default, fields with empty values
  4544  	// are omitted from API requests. See
  4545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4546  	NullFields []string `json:"-"`
  4547  }
  4548  
  4549  func (s *PausedStateContext) MarshalJSON() ([]byte, error) {
  4550  	type NoMethod PausedStateContext
  4551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4552  }
  4553  
  4554  // PendingCancellation: This is an indicator of whether there is a pending
  4555  // cancellation on the virtual installment plan. The cancellation will happen
  4556  // only after the user finished all committed payments.
  4557  type PendingCancellation struct {
  4558  }
  4559  
  4560  // PrepaidBasePlanType: Represents a base plan that does not automatically
  4561  // renew at the end of the base plan, and must be manually renewed by the user.
  4562  type PrepaidBasePlanType struct {
  4563  	// BillingPeriodDuration: Required. Subscription period, specified in ISO 8601
  4564  	// format. For a list of acceptable billing periods, refer to the help center.
  4565  	BillingPeriodDuration string `json:"billingPeriodDuration,omitempty"`
  4566  	// TimeExtension: Whether users should be able to extend this prepaid base plan
  4567  	// in Google Play surfaces. Defaults to TIME_EXTENSION_ACTIVE if not specified.
  4568  	//
  4569  	// Possible values:
  4570  	//   "TIME_EXTENSION_UNSPECIFIED" - Unspecified state.
  4571  	//   "TIME_EXTENSION_ACTIVE" - Time extension is active. Users are allowed to
  4572  	// top-up or extend their prepaid plan.
  4573  	//   "TIME_EXTENSION_INACTIVE" - Time extension is inactive. Users cannot
  4574  	// top-up or extend their prepaid plan.
  4575  	TimeExtension string `json:"timeExtension,omitempty"`
  4576  	// ForceSendFields is a list of field names (e.g. "BillingPeriodDuration") to
  4577  	// unconditionally include in API requests. By default, fields with empty or
  4578  	// default values are omitted from API requests. See
  4579  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4580  	// details.
  4581  	ForceSendFields []string `json:"-"`
  4582  	// NullFields is a list of field names (e.g. "BillingPeriodDuration") to
  4583  	// include in API requests with the JSON null value. By default, fields with
  4584  	// empty values are omitted from API requests. See
  4585  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4586  	NullFields []string `json:"-"`
  4587  }
  4588  
  4589  func (s *PrepaidBasePlanType) MarshalJSON() ([]byte, error) {
  4590  	type NoMethod PrepaidBasePlanType
  4591  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4592  }
  4593  
  4594  // PrepaidPlan: Information related to a prepaid plan.
  4595  type PrepaidPlan struct {
  4596  	// AllowExtendAfterTime: If present, this is the time after which top up
  4597  	// purchases are allowed for the prepaid plan. Will not be present for expired
  4598  	// prepaid plans.
  4599  	AllowExtendAfterTime string `json:"allowExtendAfterTime,omitempty"`
  4600  	// ForceSendFields is a list of field names (e.g. "AllowExtendAfterTime") to
  4601  	// unconditionally include in API requests. By default, fields with empty or
  4602  	// default values are omitted from API requests. See
  4603  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4604  	// details.
  4605  	ForceSendFields []string `json:"-"`
  4606  	// NullFields is a list of field names (e.g. "AllowExtendAfterTime") to include
  4607  	// in API requests with the JSON null value. By default, fields with empty
  4608  	// values are omitted from API requests. See
  4609  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4610  	NullFields []string `json:"-"`
  4611  }
  4612  
  4613  func (s *PrepaidPlan) MarshalJSON() ([]byte, error) {
  4614  	type NoMethod PrepaidPlan
  4615  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4616  }
  4617  
  4618  // Price: Definition of a price, i.e. currency and units.
  4619  type Price struct {
  4620  	// Currency: 3 letter Currency code, as defined by ISO 4217. See
  4621  	// java/com/google/common/money/CurrencyCode.java
  4622  	Currency string `json:"currency,omitempty"`
  4623  	// PriceMicros: Price in 1/million of the currency base unit, represented as a
  4624  	// string.
  4625  	PriceMicros string `json:"priceMicros,omitempty"`
  4626  	// ForceSendFields is a list of field names (e.g. "Currency") to
  4627  	// unconditionally include in API requests. By default, fields with empty or
  4628  	// default values are omitted from API requests. See
  4629  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4630  	// details.
  4631  	ForceSendFields []string `json:"-"`
  4632  	// NullFields is a list of field names (e.g. "Currency") to include in API
  4633  	// requests with the JSON null value. By default, fields with empty values are
  4634  	// omitted from API requests. See
  4635  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4636  	NullFields []string `json:"-"`
  4637  }
  4638  
  4639  func (s *Price) MarshalJSON() ([]byte, error) {
  4640  	type NoMethod Price
  4641  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4642  }
  4643  
  4644  // ProductPurchase: A ProductPurchase resource indicates the status of a user's
  4645  // inapp product purchase.
  4646  type ProductPurchase struct {
  4647  	// AcknowledgementState: The acknowledgement state of the inapp product.
  4648  	// Possible values are: 0. Yet to be acknowledged 1. Acknowledged
  4649  	AcknowledgementState int64 `json:"acknowledgementState,omitempty"`
  4650  	// ConsumptionState: The consumption state of the inapp product. Possible
  4651  	// values are: 0. Yet to be consumed 1. Consumed
  4652  	ConsumptionState int64 `json:"consumptionState,omitempty"`
  4653  	// DeveloperPayload: A developer-specified string that contains supplemental
  4654  	// information about an order.
  4655  	DeveloperPayload string `json:"developerPayload,omitempty"`
  4656  	// Kind: This kind represents an inappPurchase object in the androidpublisher
  4657  	// service.
  4658  	Kind string `json:"kind,omitempty"`
  4659  	// ObfuscatedExternalAccountId: An obfuscated version of the id that is
  4660  	// uniquely associated with the user's account in your app. Only present if
  4661  	// specified using
  4662  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid
  4663  	// when the purchase was made.
  4664  	ObfuscatedExternalAccountId string `json:"obfuscatedExternalAccountId,omitempty"`
  4665  	// ObfuscatedExternalProfileId: An obfuscated version of the id that is
  4666  	// uniquely associated with the user's profile in your app. Only present if
  4667  	// specified using
  4668  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid
  4669  	// when the purchase was made.
  4670  	ObfuscatedExternalProfileId string `json:"obfuscatedExternalProfileId,omitempty"`
  4671  	// OrderId: The order id associated with the purchase of the inapp product.
  4672  	OrderId string `json:"orderId,omitempty"`
  4673  	// ProductId: The inapp product SKU. May not be present.
  4674  	ProductId string `json:"productId,omitempty"`
  4675  	// PurchaseState: The purchase state of the order. Possible values are: 0.
  4676  	// Purchased 1. Canceled 2. Pending
  4677  	PurchaseState int64 `json:"purchaseState,omitempty"`
  4678  	// PurchaseTimeMillis: The time the product was purchased, in milliseconds
  4679  	// since the epoch (Jan 1, 1970).
  4680  	PurchaseTimeMillis int64 `json:"purchaseTimeMillis,omitempty,string"`
  4681  	// PurchaseToken: The purchase token generated to identify this purchase. May
  4682  	// not be present.
  4683  	PurchaseToken string `json:"purchaseToken,omitempty"`
  4684  	// PurchaseType: The type of purchase of the inapp product. This field is only
  4685  	// set if this purchase was not made using the standard in-app billing flow.
  4686  	// Possible values are: 0. Test (i.e. purchased from a license testing account)
  4687  	// 1. Promo (i.e. purchased using a promo code). Does not include Play Points
  4688  	// purchases. 2. Rewarded (i.e. from watching a video ad instead of paying)
  4689  	PurchaseType *int64 `json:"purchaseType,omitempty"`
  4690  	// Quantity: The quantity associated with the purchase of the inapp product. If
  4691  	// not present, the quantity is 1.
  4692  	Quantity int64 `json:"quantity,omitempty"`
  4693  	// RefundableQuantity: The quantity eligible for refund, i.e. quantity that
  4694  	// hasn't been refunded. The value reflects quantity-based partial refunds and
  4695  	// full refunds.
  4696  	RefundableQuantity int64 `json:"refundableQuantity,omitempty"`
  4697  	// RegionCode: ISO 3166-1 alpha-2 billing region code of the user at the time
  4698  	// the product was granted.
  4699  	RegionCode string `json:"regionCode,omitempty"`
  4700  
  4701  	// ServerResponse contains the HTTP response code and headers from the server.
  4702  	googleapi.ServerResponse `json:"-"`
  4703  	// ForceSendFields is a list of field names (e.g. "AcknowledgementState") to
  4704  	// unconditionally include in API requests. By default, fields with empty or
  4705  	// default values are omitted from API requests. See
  4706  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4707  	// details.
  4708  	ForceSendFields []string `json:"-"`
  4709  	// NullFields is a list of field names (e.g. "AcknowledgementState") to include
  4710  	// in API requests with the JSON null value. By default, fields with empty
  4711  	// values are omitted from API requests. See
  4712  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4713  	NullFields []string `json:"-"`
  4714  }
  4715  
  4716  func (s *ProductPurchase) MarshalJSON() ([]byte, error) {
  4717  	type NoMethod ProductPurchase
  4718  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4719  }
  4720  
  4721  // ProductPurchasesAcknowledgeRequest: Request for the
  4722  // product.purchases.acknowledge API.
  4723  type ProductPurchasesAcknowledgeRequest struct {
  4724  	// DeveloperPayload: Payload to attach to the purchase.
  4725  	DeveloperPayload string `json:"developerPayload,omitempty"`
  4726  	// ForceSendFields is a list of field names (e.g. "DeveloperPayload") to
  4727  	// unconditionally include in API requests. By default, fields with empty or
  4728  	// default values are omitted from API requests. See
  4729  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4730  	// details.
  4731  	ForceSendFields []string `json:"-"`
  4732  	// NullFields is a list of field names (e.g. "DeveloperPayload") to include in
  4733  	// API requests with the JSON null value. By default, fields with empty values
  4734  	// are omitted from API requests. See
  4735  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4736  	NullFields []string `json:"-"`
  4737  }
  4738  
  4739  func (s *ProductPurchasesAcknowledgeRequest) MarshalJSON() ([]byte, error) {
  4740  	type NoMethod ProductPurchasesAcknowledgeRequest
  4741  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4742  }
  4743  
  4744  // RecurringExternalTransaction: Represents a transaction that is part of a
  4745  // recurring series of payments. This can be a subscription or a one-time
  4746  // product with multiple payments (such as preorder).
  4747  type RecurringExternalTransaction struct {
  4748  	// ExternalSubscription: Details of an external subscription.
  4749  	ExternalSubscription *ExternalSubscription `json:"externalSubscription,omitempty"`
  4750  	// ExternalTransactionToken: Input only. Provided during the call to Create.
  4751  	// Retrieved from the client when the alternative billing flow is launched.
  4752  	// Required only for the initial purchase.
  4753  	ExternalTransactionToken string `json:"externalTransactionToken,omitempty"`
  4754  	// InitialExternalTransactionId: The external transaction id of the first
  4755  	// transaction of this recurring series of transactions. For example, for a
  4756  	// subscription this would be the transaction id of the first payment. Required
  4757  	// when creating recurring external transactions.
  4758  	InitialExternalTransactionId string `json:"initialExternalTransactionId,omitempty"`
  4759  	// MigratedTransactionProgram: Input only. Provided during the call to Create.
  4760  	// Must only be used when migrating a subscription from manual monthly
  4761  	// reporting to automated reporting.
  4762  	//
  4763  	// Possible values:
  4764  	//   "EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED" - Unspecified transaction
  4765  	// program. Not used.
  4766  	//   "USER_CHOICE_BILLING" - User choice billing, where a user may choose
  4767  	// between Google Play Billing developer-managed billing.
  4768  	//   "ALTERNATIVE_BILLING_ONLY" - Alternative billing only, where users may
  4769  	// only use developer-manager billing.
  4770  	MigratedTransactionProgram string `json:"migratedTransactionProgram,omitempty"`
  4771  	// OtherRecurringProduct: Details of a recurring external transaction product
  4772  	// which doesn't belong to any other specific category.
  4773  	OtherRecurringProduct *OtherRecurringProduct `json:"otherRecurringProduct,omitempty"`
  4774  	// ForceSendFields is a list of field names (e.g. "ExternalSubscription") to
  4775  	// unconditionally include in API requests. By default, fields with empty or
  4776  	// default values are omitted from API requests. See
  4777  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4778  	// details.
  4779  	ForceSendFields []string `json:"-"`
  4780  	// NullFields is a list of field names (e.g. "ExternalSubscription") to include
  4781  	// in API requests with the JSON null value. By default, fields with empty
  4782  	// values are omitted from API requests. See
  4783  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4784  	NullFields []string `json:"-"`
  4785  }
  4786  
  4787  func (s *RecurringExternalTransaction) MarshalJSON() ([]byte, error) {
  4788  	type NoMethod RecurringExternalTransaction
  4789  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4790  }
  4791  
  4792  // RefundExternalTransactionRequest: A request to refund an existing external
  4793  // transaction.
  4794  type RefundExternalTransactionRequest struct {
  4795  	// FullRefund: A full-amount refund.
  4796  	FullRefund *FullRefund `json:"fullRefund,omitempty"`
  4797  	// PartialRefund: A partial refund.
  4798  	PartialRefund *PartialRefund `json:"partialRefund,omitempty"`
  4799  	// RefundTime: Required. The time that the transaction was refunded.
  4800  	RefundTime string `json:"refundTime,omitempty"`
  4801  	// ForceSendFields is a list of field names (e.g. "FullRefund") to
  4802  	// unconditionally include in API requests. By default, fields with empty or
  4803  	// default values are omitted from API requests. See
  4804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4805  	// details.
  4806  	ForceSendFields []string `json:"-"`
  4807  	// NullFields is a list of field names (e.g. "FullRefund") to include in API
  4808  	// requests with the JSON null value. By default, fields with empty values are
  4809  	// omitted from API requests. See
  4810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4811  	NullFields []string `json:"-"`
  4812  }
  4813  
  4814  func (s *RefundExternalTransactionRequest) MarshalJSON() ([]byte, error) {
  4815  	type NoMethod RefundExternalTransactionRequest
  4816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4817  }
  4818  
  4819  // RegionalBasePlanConfig: Configuration for a base plan specific to a region.
  4820  type RegionalBasePlanConfig struct {
  4821  	// NewSubscriberAvailability: Whether the base plan in the specified region is
  4822  	// available for new subscribers. Existing subscribers will not have their
  4823  	// subscription canceled if this value is set to false. If not specified, this
  4824  	// will default to false.
  4825  	NewSubscriberAvailability bool `json:"newSubscriberAvailability,omitempty"`
  4826  	// Price: The price of the base plan in the specified region. Must be set if
  4827  	// the base plan is available to new subscribers. Must be set in the currency
  4828  	// that is linked to the specified region.
  4829  	Price *Money `json:"price,omitempty"`
  4830  	// RegionCode: Required. Region code this configuration applies to, as defined
  4831  	// by ISO 3166-2, e.g. "US".
  4832  	RegionCode string `json:"regionCode,omitempty"`
  4833  	// ForceSendFields is a list of field names (e.g. "NewSubscriberAvailability")
  4834  	// to unconditionally include in API requests. By default, fields with empty or
  4835  	// default values are omitted from API requests. See
  4836  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4837  	// details.
  4838  	ForceSendFields []string `json:"-"`
  4839  	// NullFields is a list of field names (e.g. "NewSubscriberAvailability") to
  4840  	// include in API requests with the JSON null value. By default, fields with
  4841  	// empty values are omitted from API requests. See
  4842  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4843  	NullFields []string `json:"-"`
  4844  }
  4845  
  4846  func (s *RegionalBasePlanConfig) MarshalJSON() ([]byte, error) {
  4847  	type NoMethod RegionalBasePlanConfig
  4848  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4849  }
  4850  
  4851  // RegionalPriceMigrationConfig: Configuration for a price migration.
  4852  type RegionalPriceMigrationConfig struct {
  4853  	// OldestAllowedPriceVersionTime: Required. The cutoff time for historical
  4854  	// prices that subscribers can remain paying. Subscribers on prices which were
  4855  	// available at this cutoff time or later will stay on their existing price.
  4856  	// Subscribers on older prices will be migrated to the currently-offered price.
  4857  	// The migrated subscribers will receive a notification that they will be
  4858  	// paying a different price. Subscribers who do not agree to the new price will
  4859  	// have their subscription ended at the next renewal.
  4860  	OldestAllowedPriceVersionTime string `json:"oldestAllowedPriceVersionTime,omitempty"`
  4861  	// PriceIncreaseType: Optional. The behavior the caller wants users to see when
  4862  	// there is a price increase during migration. If left unset, the behavior
  4863  	// defaults to PRICE_INCREASE_TYPE_OPT_IN. Note that the first opt-out price
  4864  	// increase migration for each app must be initiated in Play Console.
  4865  	//
  4866  	// Possible values:
  4867  	//   "PRICE_INCREASE_TYPE_UNSPECIFIED" - Unspecified state.
  4868  	//   "PRICE_INCREASE_TYPE_OPT_IN" - Price increase will be presented to users
  4869  	// on an opt-in basis.
  4870  	//   "PRICE_INCREASE_TYPE_OPT_OUT" - Price increase will be presented to users
  4871  	// on an opt-out basis.
  4872  	PriceIncreaseType string `json:"priceIncreaseType,omitempty"`
  4873  	// RegionCode: Required. Region code this configuration applies to, as defined
  4874  	// by ISO 3166-2, e.g. "US".
  4875  	RegionCode string `json:"regionCode,omitempty"`
  4876  	// ForceSendFields is a list of field names (e.g.
  4877  	// "OldestAllowedPriceVersionTime") to unconditionally include in API requests.
  4878  	// By default, fields with empty or default values are omitted from API
  4879  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  4880  	// for more details.
  4881  	ForceSendFields []string `json:"-"`
  4882  	// NullFields is a list of field names (e.g. "OldestAllowedPriceVersionTime")
  4883  	// to include in API requests with the JSON null value. By default, fields with
  4884  	// empty values are omitted from API requests. See
  4885  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4886  	NullFields []string `json:"-"`
  4887  }
  4888  
  4889  func (s *RegionalPriceMigrationConfig) MarshalJSON() ([]byte, error) {
  4890  	type NoMethod RegionalPriceMigrationConfig
  4891  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4892  }
  4893  
  4894  // RegionalSubscriptionOfferConfig: Configuration for a subscription offer in a
  4895  // single region.
  4896  type RegionalSubscriptionOfferConfig struct {
  4897  	// NewSubscriberAvailability: Whether the subscription offer in the specified
  4898  	// region is available for new subscribers. Existing subscribers will not have
  4899  	// their subscription cancelled if this value is set to false. If not
  4900  	// specified, this will default to false.
  4901  	NewSubscriberAvailability bool `json:"newSubscriberAvailability,omitempty"`
  4902  	// RegionCode: Required. Immutable. Region code this configuration applies to,
  4903  	// as defined by ISO 3166-2, e.g. "US".
  4904  	RegionCode string `json:"regionCode,omitempty"`
  4905  	// ForceSendFields is a list of field names (e.g. "NewSubscriberAvailability")
  4906  	// to unconditionally include in API requests. By default, fields with empty or
  4907  	// default values are omitted from API requests. See
  4908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4909  	// details.
  4910  	ForceSendFields []string `json:"-"`
  4911  	// NullFields is a list of field names (e.g. "NewSubscriberAvailability") to
  4912  	// include in API requests with the JSON null value. By default, fields with
  4913  	// empty values are omitted from API requests. See
  4914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4915  	NullFields []string `json:"-"`
  4916  }
  4917  
  4918  func (s *RegionalSubscriptionOfferConfig) MarshalJSON() ([]byte, error) {
  4919  	type NoMethod RegionalSubscriptionOfferConfig
  4920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4921  }
  4922  
  4923  // RegionalSubscriptionOfferPhaseConfig: Configuration for a single phase of a
  4924  // subscription offer in a single region.
  4925  type RegionalSubscriptionOfferPhaseConfig struct {
  4926  	// AbsoluteDiscount: The absolute amount of money subtracted from the base plan
  4927  	// price prorated over the phase duration that the user pays for this offer
  4928  	// phase. For example, if the base plan price for this region is $12 for a
  4929  	// period of 1 year, then a $1 absolute discount for a phase of a duration of 3
  4930  	// months would correspond to a price of $2. The resulting price may not be
  4931  	// smaller than the minimum price allowed for this region.
  4932  	AbsoluteDiscount *Money `json:"absoluteDiscount,omitempty"`
  4933  	// Free: Set to specify this offer is free to obtain.
  4934  	Free *RegionalSubscriptionOfferPhaseFreePriceOverride `json:"free,omitempty"`
  4935  	// Price: The absolute price the user pays for this offer phase. The price must
  4936  	// not be smaller than the minimum price allowed for this region.
  4937  	Price *Money `json:"price,omitempty"`
  4938  	// RegionCode: Required. Immutable. The region to which this config applies.
  4939  	RegionCode string `json:"regionCode,omitempty"`
  4940  	// RelativeDiscount: The fraction of the base plan price prorated over the
  4941  	// phase duration that the user pays for this offer phase. For example, if the
  4942  	// base plan price for this region is $12 for a period of 1 year, then a 50%
  4943  	// discount for a phase of a duration of 3 months would correspond to a price
  4944  	// of $1.50. The discount must be specified as a fraction strictly larger than
  4945  	// 0 and strictly smaller than 1. The resulting price will be rounded to the
  4946  	// nearest billable unit (e.g. cents for USD). The relative discount is
  4947  	// considered invalid if the discounted price ends up being smaller than the
  4948  	// minimum price allowed in this region.
  4949  	RelativeDiscount float64 `json:"relativeDiscount,omitempty"`
  4950  	// ForceSendFields is a list of field names (e.g. "AbsoluteDiscount") to
  4951  	// unconditionally include in API requests. By default, fields with empty or
  4952  	// default values are omitted from API requests. See
  4953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4954  	// details.
  4955  	ForceSendFields []string `json:"-"`
  4956  	// NullFields is a list of field names (e.g. "AbsoluteDiscount") to include in
  4957  	// API requests with the JSON null value. By default, fields with empty values
  4958  	// are omitted from API requests. See
  4959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4960  	NullFields []string `json:"-"`
  4961  }
  4962  
  4963  func (s *RegionalSubscriptionOfferPhaseConfig) MarshalJSON() ([]byte, error) {
  4964  	type NoMethod RegionalSubscriptionOfferPhaseConfig
  4965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4966  }
  4967  
  4968  func (s *RegionalSubscriptionOfferPhaseConfig) UnmarshalJSON(data []byte) error {
  4969  	type NoMethod RegionalSubscriptionOfferPhaseConfig
  4970  	var s1 struct {
  4971  		RelativeDiscount gensupport.JSONFloat64 `json:"relativeDiscount"`
  4972  		*NoMethod
  4973  	}
  4974  	s1.NoMethod = (*NoMethod)(s)
  4975  	if err := json.Unmarshal(data, &s1); err != nil {
  4976  		return err
  4977  	}
  4978  	s.RelativeDiscount = float64(s1.RelativeDiscount)
  4979  	return nil
  4980  }
  4981  
  4982  // RegionalSubscriptionOfferPhaseFreePriceOverride: Represents the free price
  4983  // override configuration for a single phase of a subscription offer
  4984  type RegionalSubscriptionOfferPhaseFreePriceOverride struct {
  4985  }
  4986  
  4987  // RegionalTaxRateInfo: Specified details about taxation in a given
  4988  // geographical region.
  4989  type RegionalTaxRateInfo struct {
  4990  	// EligibleForStreamingServiceTaxRate: You must tell us if your app contains
  4991  	// streaming products to correctly charge US state and local sales tax. Field
  4992  	// only supported in the United States.
  4993  	EligibleForStreamingServiceTaxRate bool `json:"eligibleForStreamingServiceTaxRate,omitempty"`
  4994  	// StreamingTaxType: To collect communications or amusement taxes in the United
  4995  	// States, choose the appropriate tax category. Learn more
  4996  	// (https://support.google.com/googleplay/android-developer/answer/10463498#streaming_tax).
  4997  	//
  4998  	// Possible values:
  4999  	//   "STREAMING_TAX_TYPE_UNSPECIFIED" - No telecommunications tax collected.
  5000  	//   "STREAMING_TAX_TYPE_TELCO_VIDEO_RENTAL" - US-specific telecommunications
  5001  	// tax tier for video streaming, on demand, rentals / subscriptions /
  5002  	// pay-per-view.
  5003  	//   "STREAMING_TAX_TYPE_TELCO_VIDEO_SALES" - US-specific telecommunications
  5004  	// tax tier for video streaming of pre-recorded content like movies, tv shows.
  5005  	//   "STREAMING_TAX_TYPE_TELCO_VIDEO_MULTI_CHANNEL" - US-specific
  5006  	// telecommunications tax tier for video streaming of multi-channel
  5007  	// programming.
  5008  	//   "STREAMING_TAX_TYPE_TELCO_AUDIO_RENTAL" - US-specific telecommunications
  5009  	// tax tier for audio streaming, rental / subscription.
  5010  	//   "STREAMING_TAX_TYPE_TELCO_AUDIO_SALES" - US-specific telecommunications
  5011  	// tax tier for audio streaming, sale / permanent download.
  5012  	//   "STREAMING_TAX_TYPE_TELCO_AUDIO_MULTI_CHANNEL" - US-specific
  5013  	// telecommunications tax tier for multi channel audio streaming like radio.
  5014  	StreamingTaxType string `json:"streamingTaxType,omitempty"`
  5015  	// TaxTier: Tax tier to specify reduced tax rate. Developers who sell digital
  5016  	// news, magazines, newspapers, books, or audiobooks in various regions may be
  5017  	// eligible for reduced tax rates. Learn more
  5018  	// (https://support.google.com/googleplay/android-developer/answer/10463498).
  5019  	//
  5020  	// Possible values:
  5021  	//   "TAX_TIER_UNSPECIFIED"
  5022  	//   "TAX_TIER_BOOKS_1"
  5023  	//   "TAX_TIER_NEWS_1"
  5024  	//   "TAX_TIER_NEWS_2"
  5025  	//   "TAX_TIER_MUSIC_OR_AUDIO_1"
  5026  	//   "TAX_TIER_LIVE_OR_BROADCAST_1"
  5027  	TaxTier string `json:"taxTier,omitempty"`
  5028  	// ForceSendFields is a list of field names (e.g.
  5029  	// "EligibleForStreamingServiceTaxRate") to unconditionally include in API
  5030  	// requests. By default, fields with empty or default values are omitted from
  5031  	// API requests. See
  5032  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5033  	// details.
  5034  	ForceSendFields []string `json:"-"`
  5035  	// NullFields is a list of field names (e.g.
  5036  	// "EligibleForStreamingServiceTaxRate") to include in API requests with the
  5037  	// JSON null value. By default, fields with empty values are omitted from API
  5038  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  5039  	// more details.
  5040  	NullFields []string `json:"-"`
  5041  }
  5042  
  5043  func (s *RegionalTaxRateInfo) MarshalJSON() ([]byte, error) {
  5044  	type NoMethod RegionalTaxRateInfo
  5045  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5046  }
  5047  
  5048  // Regions: Region targeting data for app recovery action targeting.
  5049  type Regions struct {
  5050  	// RegionCode: Regions targeted by the recovery action. Region codes are ISO
  5051  	// 3166 Alpha-2 country codes. For example, US stands for United States of
  5052  	// America. See https://www.iso.org/iso-3166-country-codes.html for the
  5053  	// complete list of country codes.
  5054  	RegionCode []string `json:"regionCode,omitempty"`
  5055  	// ForceSendFields is a list of field names (e.g. "RegionCode") to
  5056  	// unconditionally include in API requests. By default, fields with empty or
  5057  	// default values are omitted from API requests. See
  5058  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5059  	// details.
  5060  	ForceSendFields []string `json:"-"`
  5061  	// NullFields is a list of field names (e.g. "RegionCode") to include in API
  5062  	// requests with the JSON null value. By default, fields with empty values are
  5063  	// omitted from API requests. See
  5064  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5065  	NullFields []string `json:"-"`
  5066  }
  5067  
  5068  func (s *Regions) MarshalJSON() ([]byte, error) {
  5069  	type NoMethod Regions
  5070  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5071  }
  5072  
  5073  // RegionsVersion: The version of the available regions being used for the
  5074  // specified resource.
  5075  type RegionsVersion struct {
  5076  	// Version: Required. A string representing the version of available regions
  5077  	// being used for the specified resource. Regional prices for the resource have
  5078  	// to be specified according to the information published in this article
  5079  	// (https://support.google.com/googleplay/android-developer/answer/10532353).
  5080  	// Each time the supported locations substantially change, the version will be
  5081  	// incremented. Using this field will ensure that creating and updating the
  5082  	// resource with an older region's version and set of regional prices and
  5083  	// currencies will succeed even though a new version is available. The latest
  5084  	// version is 2022/02.
  5085  	Version string `json:"version,omitempty"`
  5086  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  5087  	// include in API requests. By default, fields with empty or default values are
  5088  	// omitted from API requests. See
  5089  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5090  	// details.
  5091  	ForceSendFields []string `json:"-"`
  5092  	// NullFields is a list of field names (e.g. "Version") to include in API
  5093  	// requests with the JSON null value. By default, fields with empty values are
  5094  	// omitted from API requests. See
  5095  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5096  	NullFields []string `json:"-"`
  5097  }
  5098  
  5099  func (s *RegionsVersion) MarshalJSON() ([]byte, error) {
  5100  	type NoMethod RegionsVersion
  5101  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5102  }
  5103  
  5104  // RemoteInAppUpdate: Object representation for Remote in-app update action
  5105  // type.
  5106  type RemoteInAppUpdate struct {
  5107  	// IsRemoteInAppUpdateRequested: Required. Set to true if Remote In-App Update
  5108  	// action type is needed.
  5109  	IsRemoteInAppUpdateRequested bool `json:"isRemoteInAppUpdateRequested,omitempty"`
  5110  	// ForceSendFields is a list of field names (e.g.
  5111  	// "IsRemoteInAppUpdateRequested") to unconditionally include in API requests.
  5112  	// By default, fields with empty or default values are omitted from API
  5113  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  5114  	// for more details.
  5115  	ForceSendFields []string `json:"-"`
  5116  	// NullFields is a list of field names (e.g. "IsRemoteInAppUpdateRequested") to
  5117  	// include in API requests with the JSON null value. By default, fields with
  5118  	// empty values are omitted from API requests. See
  5119  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5120  	NullFields []string `json:"-"`
  5121  }
  5122  
  5123  func (s *RemoteInAppUpdate) MarshalJSON() ([]byte, error) {
  5124  	type NoMethod RemoteInAppUpdate
  5125  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5126  }
  5127  
  5128  // RemoteInAppUpdateData: Data related to Remote In-App Update action such as
  5129  // recovered user count, affected user count etc.
  5130  type RemoteInAppUpdateData struct {
  5131  	// RemoteAppUpdateDataPerBundle: Data related to the recovery action at bundle
  5132  	// level.
  5133  	RemoteAppUpdateDataPerBundle []*RemoteInAppUpdateDataPerBundle `json:"remoteAppUpdateDataPerBundle,omitempty"`
  5134  	// ForceSendFields is a list of field names (e.g.
  5135  	// "RemoteAppUpdateDataPerBundle") to unconditionally include in API requests.
  5136  	// By default, fields with empty or default values are omitted from API
  5137  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  5138  	// for more details.
  5139  	ForceSendFields []string `json:"-"`
  5140  	// NullFields is a list of field names (e.g. "RemoteAppUpdateDataPerBundle") to
  5141  	// include in API requests with the JSON null value. By default, fields with
  5142  	// empty values are omitted from API requests. See
  5143  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5144  	NullFields []string `json:"-"`
  5145  }
  5146  
  5147  func (s *RemoteInAppUpdateData) MarshalJSON() ([]byte, error) {
  5148  	type NoMethod RemoteInAppUpdateData
  5149  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5150  }
  5151  
  5152  // RemoteInAppUpdateDataPerBundle: Data related to the recovery action at
  5153  // bundle level.
  5154  type RemoteInAppUpdateDataPerBundle struct {
  5155  	// RecoveredDeviceCount: Total number of devices which have been rescued.
  5156  	RecoveredDeviceCount int64 `json:"recoveredDeviceCount,omitempty,string"`
  5157  	// TotalDeviceCount: Total number of devices affected by this recovery action
  5158  	// associated with bundle of the app.
  5159  	TotalDeviceCount int64 `json:"totalDeviceCount,omitempty,string"`
  5160  	// VersionCode: Version Code corresponding to the target bundle.
  5161  	VersionCode int64 `json:"versionCode,omitempty,string"`
  5162  	// ForceSendFields is a list of field names (e.g. "RecoveredDeviceCount") to
  5163  	// unconditionally include in API requests. By default, fields with empty or
  5164  	// default values are omitted from API requests. See
  5165  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5166  	// details.
  5167  	ForceSendFields []string `json:"-"`
  5168  	// NullFields is a list of field names (e.g. "RecoveredDeviceCount") to include
  5169  	// in API requests with the JSON null value. By default, fields with empty
  5170  	// values are omitted from API requests. See
  5171  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5172  	NullFields []string `json:"-"`
  5173  }
  5174  
  5175  func (s *RemoteInAppUpdateDataPerBundle) MarshalJSON() ([]byte, error) {
  5176  	type NoMethod RemoteInAppUpdateDataPerBundle
  5177  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5178  }
  5179  
  5180  // ReplacementCancellation: Information specific to cancellations caused by
  5181  // subscription replacement.
  5182  type ReplacementCancellation struct {
  5183  }
  5184  
  5185  // RestrictedPaymentCountries: Countries where the purchase of this product is
  5186  // restricted to payment methods registered in the same country. If empty, no
  5187  // payment location restrictions are imposed.
  5188  type RestrictedPaymentCountries struct {
  5189  	// RegionCodes: Required. Region codes to impose payment restrictions on, as
  5190  	// defined by ISO 3166-2, e.g. "US".
  5191  	RegionCodes []string `json:"regionCodes,omitempty"`
  5192  	// ForceSendFields is a list of field names (e.g. "RegionCodes") to
  5193  	// unconditionally include in API requests. By default, fields with empty or
  5194  	// default values are omitted from API requests. See
  5195  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5196  	// details.
  5197  	ForceSendFields []string `json:"-"`
  5198  	// NullFields is a list of field names (e.g. "RegionCodes") to include in API
  5199  	// requests with the JSON null value. By default, fields with empty values are
  5200  	// omitted from API requests. See
  5201  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5202  	NullFields []string `json:"-"`
  5203  }
  5204  
  5205  func (s *RestrictedPaymentCountries) MarshalJSON() ([]byte, error) {
  5206  	type NoMethod RestrictedPaymentCountries
  5207  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5208  }
  5209  
  5210  // Review: An Android app review.
  5211  type Review struct {
  5212  	// AuthorName: The name of the user who wrote the review.
  5213  	AuthorName string `json:"authorName,omitempty"`
  5214  	// Comments: A repeated field containing comments for the review.
  5215  	Comments []*Comment `json:"comments,omitempty"`
  5216  	// ReviewId: Unique identifier for this review.
  5217  	ReviewId string `json:"reviewId,omitempty"`
  5218  
  5219  	// ServerResponse contains the HTTP response code and headers from the server.
  5220  	googleapi.ServerResponse `json:"-"`
  5221  	// ForceSendFields is a list of field names (e.g. "AuthorName") to
  5222  	// unconditionally include in API requests. By default, fields with empty or
  5223  	// default values are omitted from API requests. See
  5224  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5225  	// details.
  5226  	ForceSendFields []string `json:"-"`
  5227  	// NullFields is a list of field names (e.g. "AuthorName") to include in API
  5228  	// requests with the JSON null value. By default, fields with empty values are
  5229  	// omitted from API requests. See
  5230  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5231  	NullFields []string `json:"-"`
  5232  }
  5233  
  5234  func (s *Review) MarshalJSON() ([]byte, error) {
  5235  	type NoMethod Review
  5236  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5237  }
  5238  
  5239  // ReviewReplyResult: The result of replying/updating a reply to review.
  5240  type ReviewReplyResult struct {
  5241  	// LastEdited: The time at which the reply took effect.
  5242  	LastEdited *Timestamp `json:"lastEdited,omitempty"`
  5243  	// ReplyText: The reply text that was applied.
  5244  	ReplyText string `json:"replyText,omitempty"`
  5245  	// ForceSendFields is a list of field names (e.g. "LastEdited") to
  5246  	// unconditionally include in API requests. By default, fields with empty or
  5247  	// default values are omitted from API requests. See
  5248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5249  	// details.
  5250  	ForceSendFields []string `json:"-"`
  5251  	// NullFields is a list of field names (e.g. "LastEdited") to include in API
  5252  	// requests with the JSON null value. By default, fields with empty values are
  5253  	// omitted from API requests. See
  5254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5255  	NullFields []string `json:"-"`
  5256  }
  5257  
  5258  func (s *ReviewReplyResult) MarshalJSON() ([]byte, error) {
  5259  	type NoMethod ReviewReplyResult
  5260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5261  }
  5262  
  5263  // ReviewsListResponse: Response listing reviews.
  5264  type ReviewsListResponse struct {
  5265  	// PageInfo: Information about the current page.
  5266  	PageInfo *PageInfo `json:"pageInfo,omitempty"`
  5267  	// Reviews: List of reviews.
  5268  	Reviews []*Review `json:"reviews,omitempty"`
  5269  	// TokenPagination: Pagination token, to handle a number of products that is
  5270  	// over one page.
  5271  	TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
  5272  
  5273  	// ServerResponse contains the HTTP response code and headers from the server.
  5274  	googleapi.ServerResponse `json:"-"`
  5275  	// ForceSendFields is a list of field names (e.g. "PageInfo") to
  5276  	// unconditionally include in API requests. By default, fields with empty or
  5277  	// default values are omitted from API requests. See
  5278  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5279  	// details.
  5280  	ForceSendFields []string `json:"-"`
  5281  	// NullFields is a list of field names (e.g. "PageInfo") to include in API
  5282  	// requests with the JSON null value. By default, fields with empty values are
  5283  	// omitted from API requests. See
  5284  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5285  	NullFields []string `json:"-"`
  5286  }
  5287  
  5288  func (s *ReviewsListResponse) MarshalJSON() ([]byte, error) {
  5289  	type NoMethod ReviewsListResponse
  5290  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5291  }
  5292  
  5293  // ReviewsReplyRequest: Request to reply to review or update existing reply.
  5294  type ReviewsReplyRequest struct {
  5295  	// ReplyText: The text to set as the reply. Replies of more than approximately
  5296  	// 350 characters will be rejected. HTML tags will be stripped.
  5297  	ReplyText string `json:"replyText,omitempty"`
  5298  	// ForceSendFields is a list of field names (e.g. "ReplyText") to
  5299  	// unconditionally include in API requests. By default, fields with empty or
  5300  	// default values are omitted from API requests. See
  5301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5302  	// details.
  5303  	ForceSendFields []string `json:"-"`
  5304  	// NullFields is a list of field names (e.g. "ReplyText") to include in API
  5305  	// requests with the JSON null value. By default, fields with empty values are
  5306  	// omitted from API requests. See
  5307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5308  	NullFields []string `json:"-"`
  5309  }
  5310  
  5311  func (s *ReviewsReplyRequest) MarshalJSON() ([]byte, error) {
  5312  	type NoMethod ReviewsReplyRequest
  5313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5314  }
  5315  
  5316  // ReviewsReplyResponse: Response on status of replying to a review.
  5317  type ReviewsReplyResponse struct {
  5318  	// Result: The result of replying/updating a reply to review.
  5319  	Result *ReviewReplyResult `json:"result,omitempty"`
  5320  
  5321  	// ServerResponse contains the HTTP response code and headers from the server.
  5322  	googleapi.ServerResponse `json:"-"`
  5323  	// ForceSendFields is a list of field names (e.g. "Result") to unconditionally
  5324  	// include in API requests. By default, fields with empty or default values are
  5325  	// omitted from API requests. See
  5326  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5327  	// details.
  5328  	ForceSendFields []string `json:"-"`
  5329  	// NullFields is a list of field names (e.g. "Result") to include in API
  5330  	// requests with the JSON null value. By default, fields with empty values are
  5331  	// omitted from API requests. See
  5332  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5333  	NullFields []string `json:"-"`
  5334  }
  5335  
  5336  func (s *ReviewsReplyResponse) MarshalJSON() ([]byte, error) {
  5337  	type NoMethod ReviewsReplyResponse
  5338  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5339  }
  5340  
  5341  // RevocationContext: Revocation context of the
  5342  // purchases.subscriptionsv2.revoke API.
  5343  type RevocationContext struct {
  5344  	// ProratedRefund: Optional. Used when users should be refunded a prorated
  5345  	// amount they paid for their subscription based on the amount of time
  5346  	// remaining in a subscription.
  5347  	ProratedRefund *RevocationContextProratedRefund `json:"proratedRefund,omitempty"`
  5348  	// ForceSendFields is a list of field names (e.g. "ProratedRefund") to
  5349  	// unconditionally include in API requests. By default, fields with empty or
  5350  	// default values are omitted from API requests. See
  5351  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5352  	// details.
  5353  	ForceSendFields []string `json:"-"`
  5354  	// NullFields is a list of field names (e.g. "ProratedRefund") to include in
  5355  	// API requests with the JSON null value. By default, fields with empty values
  5356  	// are omitted from API requests. See
  5357  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5358  	NullFields []string `json:"-"`
  5359  }
  5360  
  5361  func (s *RevocationContext) MarshalJSON() ([]byte, error) {
  5362  	type NoMethod RevocationContext
  5363  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5364  }
  5365  
  5366  // RevocationContextProratedRefund: Used to determine if the refund type in the
  5367  // RevocationContext is a prorated refund.
  5368  type RevocationContextProratedRefund struct {
  5369  }
  5370  
  5371  // RevokeSubscriptionPurchaseRequest: Request for the
  5372  // purchases.subscriptionsv2.revoke API.
  5373  type RevokeSubscriptionPurchaseRequest struct {
  5374  	// RevocationContext: Required. Additional details around the subscription
  5375  	// revocation.
  5376  	RevocationContext *RevocationContext `json:"revocationContext,omitempty"`
  5377  	// ForceSendFields is a list of field names (e.g. "RevocationContext") to
  5378  	// unconditionally include in API requests. By default, fields with empty or
  5379  	// default values are omitted from API requests. See
  5380  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5381  	// details.
  5382  	ForceSendFields []string `json:"-"`
  5383  	// NullFields is a list of field names (e.g. "RevocationContext") to include in
  5384  	// API requests with the JSON null value. By default, fields with empty values
  5385  	// are omitted from API requests. See
  5386  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5387  	NullFields []string `json:"-"`
  5388  }
  5389  
  5390  func (s *RevokeSubscriptionPurchaseRequest) MarshalJSON() ([]byte, error) {
  5391  	type NoMethod RevokeSubscriptionPurchaseRequest
  5392  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5393  }
  5394  
  5395  // RevokeSubscriptionPurchaseResponse: Response for the
  5396  // purchases.subscriptionsv2.revoke API.
  5397  type RevokeSubscriptionPurchaseResponse struct {
  5398  	// ServerResponse contains the HTTP response code and headers from the server.
  5399  	googleapi.ServerResponse `json:"-"`
  5400  }
  5401  
  5402  // SafetyLabelsUpdateRequest: Request to update Safety Labels of an app.
  5403  type SafetyLabelsUpdateRequest struct {
  5404  	// SafetyLabels: Required. Contents of the CSV file containing Data Safety
  5405  	// responses. For the format of this file, see the Help Center documentation at
  5406  	// https://support.google.com/googleplay/android-developer/answer/10787469?#zippy=%2Cunderstand-the-csv-format
  5407  	// To download an up to date template, follow the steps at
  5408  	// https://support.google.com/googleplay/android-developer/answer/10787469?#zippy=%2Cexport-to-a-csv-file
  5409  	SafetyLabels string `json:"safetyLabels,omitempty"`
  5410  	// ForceSendFields is a list of field names (e.g. "SafetyLabels") to
  5411  	// unconditionally include in API requests. By default, fields with empty or
  5412  	// default values are omitted from API requests. See
  5413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5414  	// details.
  5415  	ForceSendFields []string `json:"-"`
  5416  	// NullFields is a list of field names (e.g. "SafetyLabels") to include in API
  5417  	// requests with the JSON null value. By default, fields with empty values are
  5418  	// omitted from API requests. See
  5419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5420  	NullFields []string `json:"-"`
  5421  }
  5422  
  5423  func (s *SafetyLabelsUpdateRequest) MarshalJSON() ([]byte, error) {
  5424  	type NoMethod SafetyLabelsUpdateRequest
  5425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5426  }
  5427  
  5428  // SafetyLabelsUpdateResponse: Response for SafetyLabelsUpdate rpc.
  5429  type SafetyLabelsUpdateResponse struct {
  5430  	// ServerResponse contains the HTTP response code and headers from the server.
  5431  	googleapi.ServerResponse `json:"-"`
  5432  }
  5433  
  5434  // ScreenDensity: Represents a screen density.
  5435  type ScreenDensity struct {
  5436  	// DensityAlias: Alias for a screen density.
  5437  	//
  5438  	// Possible values:
  5439  	//   "DENSITY_UNSPECIFIED" - Unspecified screen density.
  5440  	//   "NODPI" - NODPI screen density.
  5441  	//   "LDPI" - LDPI screen density.
  5442  	//   "MDPI" - MDPI screen density.
  5443  	//   "TVDPI" - TVDPI screen density.
  5444  	//   "HDPI" - HDPI screen density.
  5445  	//   "XHDPI" - XHDPI screen density.
  5446  	//   "XXHDPI" - XXHDPI screen density.
  5447  	//   "XXXHDPI" - XXXHDPI screen density.
  5448  	DensityAlias string `json:"densityAlias,omitempty"`
  5449  	// DensityDpi: Value for density dpi.
  5450  	DensityDpi int64 `json:"densityDpi,omitempty"`
  5451  	// ForceSendFields is a list of field names (e.g. "DensityAlias") to
  5452  	// unconditionally include in API requests. By default, fields with empty or
  5453  	// default values are omitted from API requests. See
  5454  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5455  	// details.
  5456  	ForceSendFields []string `json:"-"`
  5457  	// NullFields is a list of field names (e.g. "DensityAlias") to include in API
  5458  	// requests with the JSON null value. By default, fields with empty values are
  5459  	// omitted from API requests. See
  5460  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5461  	NullFields []string `json:"-"`
  5462  }
  5463  
  5464  func (s *ScreenDensity) MarshalJSON() ([]byte, error) {
  5465  	type NoMethod ScreenDensity
  5466  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5467  }
  5468  
  5469  // ScreenDensityTargeting: Targeting based on screen density.
  5470  type ScreenDensityTargeting struct {
  5471  	// Alternatives: Targeting of other sibling directories that were in the
  5472  	// Bundle. For main splits this is targeting of other main splits.
  5473  	Alternatives []*ScreenDensity `json:"alternatives,omitempty"`
  5474  	// Value: Value of a screen density.
  5475  	Value []*ScreenDensity `json:"value,omitempty"`
  5476  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  5477  	// unconditionally include in API requests. By default, fields with empty or
  5478  	// default values are omitted from API requests. See
  5479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5480  	// details.
  5481  	ForceSendFields []string `json:"-"`
  5482  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  5483  	// requests with the JSON null value. By default, fields with empty values are
  5484  	// omitted from API requests. See
  5485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5486  	NullFields []string `json:"-"`
  5487  }
  5488  
  5489  func (s *ScreenDensityTargeting) MarshalJSON() ([]byte, error) {
  5490  	type NoMethod ScreenDensityTargeting
  5491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5492  }
  5493  
  5494  // SdkVersion: Represents an sdk version.
  5495  type SdkVersion struct {
  5496  	// Min: Inclusive minimum value of an sdk version.
  5497  	Min int64 `json:"min,omitempty"`
  5498  	// ForceSendFields is a list of field names (e.g. "Min") to unconditionally
  5499  	// include in API requests. By default, fields with empty or default values are
  5500  	// omitted from API requests. See
  5501  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5502  	// details.
  5503  	ForceSendFields []string `json:"-"`
  5504  	// NullFields is a list of field names (e.g. "Min") to include in API requests
  5505  	// with the JSON null value. By default, fields with empty values are omitted
  5506  	// from API requests. See
  5507  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5508  	NullFields []string `json:"-"`
  5509  }
  5510  
  5511  func (s *SdkVersion) MarshalJSON() ([]byte, error) {
  5512  	type NoMethod SdkVersion
  5513  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5514  }
  5515  
  5516  // SdkVersionTargeting: Targeting based on sdk version.
  5517  type SdkVersionTargeting struct {
  5518  	// Alternatives: Targeting of other sibling directories that were in the
  5519  	// Bundle. For main splits this is targeting of other main splits.
  5520  	Alternatives []*SdkVersion `json:"alternatives,omitempty"`
  5521  	// Value: Value of an sdk version.
  5522  	Value []*SdkVersion `json:"value,omitempty"`
  5523  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  5524  	// unconditionally include in API requests. By default, fields with empty or
  5525  	// default values are omitted from API requests. See
  5526  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5527  	// details.
  5528  	ForceSendFields []string `json:"-"`
  5529  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  5530  	// requests with the JSON null value. By default, fields with empty values are
  5531  	// omitted from API requests. See
  5532  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5533  	NullFields []string `json:"-"`
  5534  }
  5535  
  5536  func (s *SdkVersionTargeting) MarshalJSON() ([]byte, error) {
  5537  	type NoMethod SdkVersionTargeting
  5538  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5539  }
  5540  
  5541  // SplitApkMetadata: Holds data specific to Split APKs.
  5542  type SplitApkMetadata struct {
  5543  	// IsMasterSplit: Indicates whether this APK is the main split of the module.
  5544  	IsMasterSplit bool `json:"isMasterSplit,omitempty"`
  5545  	// SplitId: Id of the split.
  5546  	SplitId string `json:"splitId,omitempty"`
  5547  	// ForceSendFields is a list of field names (e.g. "IsMasterSplit") to
  5548  	// unconditionally include in API requests. By default, fields with empty or
  5549  	// default values are omitted from API requests. See
  5550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5551  	// details.
  5552  	ForceSendFields []string `json:"-"`
  5553  	// NullFields is a list of field names (e.g. "IsMasterSplit") to include in API
  5554  	// requests with the JSON null value. By default, fields with empty values are
  5555  	// omitted from API requests. See
  5556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5557  	NullFields []string `json:"-"`
  5558  }
  5559  
  5560  func (s *SplitApkMetadata) MarshalJSON() ([]byte, error) {
  5561  	type NoMethod SplitApkMetadata
  5562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5563  }
  5564  
  5565  // SplitApkVariant: Variant is a group of APKs that covers a part of the device
  5566  // configuration space. APKs from multiple variants are never combined on one
  5567  // device.
  5568  type SplitApkVariant struct {
  5569  	// ApkSet: Set of APKs, one set per module.
  5570  	ApkSet []*ApkSet `json:"apkSet,omitempty"`
  5571  	// Targeting: Variant-level targeting.
  5572  	Targeting *VariantTargeting `json:"targeting,omitempty"`
  5573  	// VariantNumber: Number of the variant, starting at 0 (unless overridden). A
  5574  	// device will receive APKs from the first variant that matches the device
  5575  	// configuration, with higher variant numbers having priority over lower
  5576  	// variant numbers.
  5577  	VariantNumber int64 `json:"variantNumber,omitempty"`
  5578  	// ForceSendFields is a list of field names (e.g. "ApkSet") to unconditionally
  5579  	// include in API requests. By default, fields with empty or default values are
  5580  	// omitted from API requests. See
  5581  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5582  	// details.
  5583  	ForceSendFields []string `json:"-"`
  5584  	// NullFields is a list of field names (e.g. "ApkSet") to include in API
  5585  	// requests with the JSON null value. By default, fields with empty values are
  5586  	// omitted from API requests. See
  5587  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5588  	NullFields []string `json:"-"`
  5589  }
  5590  
  5591  func (s *SplitApkVariant) MarshalJSON() ([]byte, error) {
  5592  	type NoMethod SplitApkVariant
  5593  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5594  }
  5595  
  5596  // StandaloneApkMetadata: Holds data specific to Standalone APKs.
  5597  type StandaloneApkMetadata struct {
  5598  	// FusedModuleName: Names of the modules fused in this standalone APK.
  5599  	FusedModuleName []string `json:"fusedModuleName,omitempty"`
  5600  	// ForceSendFields is a list of field names (e.g. "FusedModuleName") to
  5601  	// unconditionally include in API requests. By default, fields with empty or
  5602  	// default values are omitted from API requests. See
  5603  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5604  	// details.
  5605  	ForceSendFields []string `json:"-"`
  5606  	// NullFields is a list of field names (e.g. "FusedModuleName") to include in
  5607  	// API requests with the JSON null value. By default, fields with empty values
  5608  	// are omitted from API requests. See
  5609  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5610  	NullFields []string `json:"-"`
  5611  }
  5612  
  5613  func (s *StandaloneApkMetadata) MarshalJSON() ([]byte, error) {
  5614  	type NoMethod StandaloneApkMetadata
  5615  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5616  }
  5617  
  5618  // SubscribeWithGoogleInfo: Information associated with purchases made with
  5619  // 'Subscribe with Google'.
  5620  type SubscribeWithGoogleInfo struct {
  5621  	// EmailAddress: The email address of the user when the subscription was
  5622  	// purchased.
  5623  	EmailAddress string `json:"emailAddress,omitempty"`
  5624  	// FamilyName: The family name of the user when the subscription was purchased.
  5625  	FamilyName string `json:"familyName,omitempty"`
  5626  	// GivenName: The given name of the user when the subscription was purchased.
  5627  	GivenName string `json:"givenName,omitempty"`
  5628  	// ProfileId: The Google profile id of the user when the subscription was
  5629  	// purchased.
  5630  	ProfileId string `json:"profileId,omitempty"`
  5631  	// ProfileName: The profile name of the user when the subscription was
  5632  	// purchased.
  5633  	ProfileName string `json:"profileName,omitempty"`
  5634  	// ForceSendFields is a list of field names (e.g. "EmailAddress") to
  5635  	// unconditionally include in API requests. By default, fields with empty or
  5636  	// default values are omitted from API requests. See
  5637  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5638  	// details.
  5639  	ForceSendFields []string `json:"-"`
  5640  	// NullFields is a list of field names (e.g. "EmailAddress") to include in API
  5641  	// requests with the JSON null value. By default, fields with empty values are
  5642  	// omitted from API requests. See
  5643  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5644  	NullFields []string `json:"-"`
  5645  }
  5646  
  5647  func (s *SubscribeWithGoogleInfo) MarshalJSON() ([]byte, error) {
  5648  	type NoMethod SubscribeWithGoogleInfo
  5649  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5650  }
  5651  
  5652  // Subscription: A single subscription for an app.
  5653  type Subscription struct {
  5654  	// Archived: Output only. Deprecated: subscription archiving is not supported.
  5655  	Archived bool `json:"archived,omitempty"`
  5656  	// BasePlans: The set of base plans for this subscription. Represents the
  5657  	// prices and duration of the subscription if no other offers apply.
  5658  	BasePlans []*BasePlan `json:"basePlans,omitempty"`
  5659  	// Listings: Required. List of localized listings for this subscription. Must
  5660  	// contain at least an entry for the default language of the parent app.
  5661  	Listings []*SubscriptionListing `json:"listings,omitempty"`
  5662  	// PackageName: Immutable. Package name of the parent app.
  5663  	PackageName string `json:"packageName,omitempty"`
  5664  	// ProductId: Immutable. Unique product ID of the product. Unique within the
  5665  	// parent app. Product IDs must be composed of lower-case letters (a-z),
  5666  	// numbers (0-9), underscores (_) and dots (.). It must start with a lower-case
  5667  	// letter or number, and be between 1 and 40 (inclusive) characters in length.
  5668  	ProductId string `json:"productId,omitempty"`
  5669  	// RestrictedPaymentCountries: Optional. Countries where the purchase of this
  5670  	// subscription is restricted to payment methods registered in the same
  5671  	// country. If empty, no payment location restrictions are imposed.
  5672  	RestrictedPaymentCountries *RestrictedPaymentCountries `json:"restrictedPaymentCountries,omitempty"`
  5673  	// TaxAndComplianceSettings: Details about taxes and legal compliance.
  5674  	TaxAndComplianceSettings *SubscriptionTaxAndComplianceSettings `json:"taxAndComplianceSettings,omitempty"`
  5675  
  5676  	// ServerResponse contains the HTTP response code and headers from the server.
  5677  	googleapi.ServerResponse `json:"-"`
  5678  	// ForceSendFields is a list of field names (e.g. "Archived") to
  5679  	// unconditionally include in API requests. By default, fields with empty or
  5680  	// default values are omitted from API requests. See
  5681  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5682  	// details.
  5683  	ForceSendFields []string `json:"-"`
  5684  	// NullFields is a list of field names (e.g. "Archived") to include in API
  5685  	// requests with the JSON null value. By default, fields with empty values are
  5686  	// omitted from API requests. See
  5687  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5688  	NullFields []string `json:"-"`
  5689  }
  5690  
  5691  func (s *Subscription) MarshalJSON() ([]byte, error) {
  5692  	type NoMethod Subscription
  5693  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5694  }
  5695  
  5696  // SubscriptionCancelSurveyResult: Information provided by the user when they
  5697  // complete the subscription cancellation flow (cancellation reason survey).
  5698  type SubscriptionCancelSurveyResult struct {
  5699  	// CancelSurveyReason: The cancellation reason the user chose in the survey.
  5700  	// Possible values are: 0. Other 1. I don't use this service enough 2.
  5701  	// Technical issues 3. Cost-related reasons 4. I found a better app
  5702  	CancelSurveyReason int64 `json:"cancelSurveyReason,omitempty"`
  5703  	// UserInputCancelReason: The customized input cancel reason from the user.
  5704  	// Only present when cancelReason is 0.
  5705  	UserInputCancelReason string `json:"userInputCancelReason,omitempty"`
  5706  	// ForceSendFields is a list of field names (e.g. "CancelSurveyReason") to
  5707  	// unconditionally include in API requests. By default, fields with empty or
  5708  	// default values are omitted from API requests. See
  5709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5710  	// details.
  5711  	ForceSendFields []string `json:"-"`
  5712  	// NullFields is a list of field names (e.g. "CancelSurveyReason") to include
  5713  	// in API requests with the JSON null value. By default, fields with empty
  5714  	// values are omitted from API requests. See
  5715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5716  	NullFields []string `json:"-"`
  5717  }
  5718  
  5719  func (s *SubscriptionCancelSurveyResult) MarshalJSON() ([]byte, error) {
  5720  	type NoMethod SubscriptionCancelSurveyResult
  5721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5722  }
  5723  
  5724  // SubscriptionDeferralInfo: A SubscriptionDeferralInfo contains the data
  5725  // needed to defer a subscription purchase to a future expiry time.
  5726  type SubscriptionDeferralInfo struct {
  5727  	// DesiredExpiryTimeMillis: The desired next expiry time to assign to the
  5728  	// subscription, in milliseconds since the Epoch. The given time must be
  5729  	// later/greater than the current expiry time for the subscription.
  5730  	DesiredExpiryTimeMillis int64 `json:"desiredExpiryTimeMillis,omitempty,string"`
  5731  	// ExpectedExpiryTimeMillis: The expected expiry time for the subscription. If
  5732  	// the current expiry time for the subscription is not the value specified
  5733  	// here, the deferral will not occur.
  5734  	ExpectedExpiryTimeMillis int64 `json:"expectedExpiryTimeMillis,omitempty,string"`
  5735  	// ForceSendFields is a list of field names (e.g. "DesiredExpiryTimeMillis") to
  5736  	// unconditionally include in API requests. By default, fields with empty or
  5737  	// default values are omitted from API requests. See
  5738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5739  	// details.
  5740  	ForceSendFields []string `json:"-"`
  5741  	// NullFields is a list of field names (e.g. "DesiredExpiryTimeMillis") to
  5742  	// include in API requests with the JSON null value. By default, fields with
  5743  	// empty values are omitted from API requests. See
  5744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5745  	NullFields []string `json:"-"`
  5746  }
  5747  
  5748  func (s *SubscriptionDeferralInfo) MarshalJSON() ([]byte, error) {
  5749  	type NoMethod SubscriptionDeferralInfo
  5750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5751  }
  5752  
  5753  // SubscriptionItemPriceChangeDetails: Price change related information of a
  5754  // subscription item.
  5755  type SubscriptionItemPriceChangeDetails struct {
  5756  	// ExpectedNewPriceChargeTime: The renewal time at which the price change will
  5757  	// become effective for the user. This is subject to change(to a future time)
  5758  	// due to cases where the renewal time shifts like pause. This field is only
  5759  	// populated if the price change has not taken effect.
  5760  	ExpectedNewPriceChargeTime string `json:"expectedNewPriceChargeTime,omitempty"`
  5761  	// NewPrice: New recurring price for the subscription item.
  5762  	NewPrice *Money `json:"newPrice,omitempty"`
  5763  	// PriceChangeMode: Price change mode specifies how the subscription item price
  5764  	// is changing.
  5765  	//
  5766  	// Possible values:
  5767  	//   "PRICE_CHANGE_MODE_UNSPECIFIED" - Price change mode unspecified. This
  5768  	// value should never be set.
  5769  	//   "PRICE_DECREASE" - If the subscription price is decreasing.
  5770  	//   "PRICE_INCREASE" - If the subscription price is increasing and the user
  5771  	// needs to accept it.
  5772  	//   "OPT_OUT_PRICE_INCREASE" - If the subscription price is increasing with
  5773  	// opt out mode.
  5774  	PriceChangeMode string `json:"priceChangeMode,omitempty"`
  5775  	// PriceChangeState: State the price change is currently in.
  5776  	//
  5777  	// Possible values:
  5778  	//   "PRICE_CHANGE_STATE_UNSPECIFIED" - Price change state unspecified. This
  5779  	// value should not be used.
  5780  	//   "OUTSTANDING" - Waiting for the user to agree for the price change.
  5781  	//   "CONFIRMED" - The price change is confirmed to happen for the user.
  5782  	//   "APPLIED" - The price change is applied, i.e. the user has started being
  5783  	// charged the new price.
  5784  	PriceChangeState string `json:"priceChangeState,omitempty"`
  5785  	// ForceSendFields is a list of field names (e.g. "ExpectedNewPriceChargeTime")
  5786  	// to unconditionally include in API requests. By default, fields with empty or
  5787  	// default values are omitted from API requests. See
  5788  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5789  	// details.
  5790  	ForceSendFields []string `json:"-"`
  5791  	// NullFields is a list of field names (e.g. "ExpectedNewPriceChargeTime") to
  5792  	// include in API requests with the JSON null value. By default, fields with
  5793  	// empty values are omitted from API requests. See
  5794  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5795  	NullFields []string `json:"-"`
  5796  }
  5797  
  5798  func (s *SubscriptionItemPriceChangeDetails) MarshalJSON() ([]byte, error) {
  5799  	type NoMethod SubscriptionItemPriceChangeDetails
  5800  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5801  }
  5802  
  5803  // SubscriptionListing: The consumer-visible metadata of a subscription.
  5804  type SubscriptionListing struct {
  5805  	// Benefits: A list of benefits shown to the user on platforms such as the Play
  5806  	// Store and in restoration flows in the language of this listing. Plain text.
  5807  	// Ordered list of at most four benefits.
  5808  	Benefits []string `json:"benefits,omitempty"`
  5809  	// Description: The description of this subscription in the language of this
  5810  	// listing. Maximum length - 80 characters. Plain text.
  5811  	Description string `json:"description,omitempty"`
  5812  	// LanguageCode: Required. The language of this listing, as defined by BCP-47,
  5813  	// e.g. "en-US".
  5814  	LanguageCode string `json:"languageCode,omitempty"`
  5815  	// Title: Required. The title of this subscription in the language of this
  5816  	// listing. Plain text.
  5817  	Title string `json:"title,omitempty"`
  5818  	// ForceSendFields is a list of field names (e.g. "Benefits") to
  5819  	// unconditionally include in API requests. By default, fields with empty or
  5820  	// default values are omitted from API requests. See
  5821  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5822  	// details.
  5823  	ForceSendFields []string `json:"-"`
  5824  	// NullFields is a list of field names (e.g. "Benefits") to include in API
  5825  	// requests with the JSON null value. By default, fields with empty values are
  5826  	// omitted from API requests. See
  5827  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5828  	NullFields []string `json:"-"`
  5829  }
  5830  
  5831  func (s *SubscriptionListing) MarshalJSON() ([]byte, error) {
  5832  	type NoMethod SubscriptionListing
  5833  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5834  }
  5835  
  5836  // SubscriptionOffer: A single, temporary offer
  5837  type SubscriptionOffer struct {
  5838  	// BasePlanId: Required. Immutable. The ID of the base plan to which this offer
  5839  	// is an extension.
  5840  	BasePlanId string `json:"basePlanId,omitempty"`
  5841  	// OfferId: Required. Immutable. Unique ID of this subscription offer. Must be
  5842  	// unique within the base plan.
  5843  	OfferId string `json:"offerId,omitempty"`
  5844  	// OfferTags: List of up to 20 custom tags specified for this offer, and
  5845  	// returned to the app through the billing library.
  5846  	OfferTags []*OfferTag `json:"offerTags,omitempty"`
  5847  	// OtherRegionsConfig: The configuration for any new locations Play may launch
  5848  	// in the future.
  5849  	OtherRegionsConfig *OtherRegionsSubscriptionOfferConfig `json:"otherRegionsConfig,omitempty"`
  5850  	// PackageName: Required. Immutable. The package name of the app the parent
  5851  	// subscription belongs to.
  5852  	PackageName string `json:"packageName,omitempty"`
  5853  	// Phases: Required. The phases of this subscription offer. Must contain at
  5854  	// least one entry, and may contain at most five. Users will always receive all
  5855  	// these phases in the specified order. Phases may not be added, removed, or
  5856  	// reordered after initial creation.
  5857  	Phases []*SubscriptionOfferPhase `json:"phases,omitempty"`
  5858  	// ProductId: Required. Immutable. The ID of the parent subscription this offer
  5859  	// belongs to.
  5860  	ProductId string `json:"productId,omitempty"`
  5861  	// RegionalConfigs: Required. The region-specific configuration of this offer.
  5862  	// Must contain at least one entry.
  5863  	RegionalConfigs []*RegionalSubscriptionOfferConfig `json:"regionalConfigs,omitempty"`
  5864  	// State: Output only. The current state of this offer. Can be changed using
  5865  	// Activate and Deactivate actions. NB: the base plan state supersedes this
  5866  	// state, so an active offer may not be available if the base plan is not
  5867  	// active.
  5868  	//
  5869  	// Possible values:
  5870  	//   "STATE_UNSPECIFIED" - Default value, should never be used.
  5871  	//   "DRAFT" - The subscription offer is not and has never been available to
  5872  	// users.
  5873  	//   "ACTIVE" - The subscription offer is available to new and existing users.
  5874  	//   "INACTIVE" - The subscription offer is not available to new users.
  5875  	// Existing users retain access.
  5876  	State string `json:"state,omitempty"`
  5877  	// Targeting: The requirements that users need to fulfil to be eligible for
  5878  	// this offer. Represents the requirements that Play will evaluate to decide
  5879  	// whether an offer should be returned. Developers may further filter these
  5880  	// offers themselves.
  5881  	Targeting *SubscriptionOfferTargeting `json:"targeting,omitempty"`
  5882  
  5883  	// ServerResponse contains the HTTP response code and headers from the server.
  5884  	googleapi.ServerResponse `json:"-"`
  5885  	// ForceSendFields is a list of field names (e.g. "BasePlanId") to
  5886  	// unconditionally include in API requests. By default, fields with empty or
  5887  	// default values are omitted from API requests. See
  5888  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5889  	// details.
  5890  	ForceSendFields []string `json:"-"`
  5891  	// NullFields is a list of field names (e.g. "BasePlanId") to include in API
  5892  	// requests with the JSON null value. By default, fields with empty values are
  5893  	// omitted from API requests. See
  5894  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5895  	NullFields []string `json:"-"`
  5896  }
  5897  
  5898  func (s *SubscriptionOffer) MarshalJSON() ([]byte, error) {
  5899  	type NoMethod SubscriptionOffer
  5900  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5901  }
  5902  
  5903  // SubscriptionOfferPhase: A single phase of a subscription offer.
  5904  type SubscriptionOfferPhase struct {
  5905  	// Duration: Required. The duration of a single recurrence of this phase.
  5906  	// Specified in ISO 8601 format.
  5907  	Duration string `json:"duration,omitempty"`
  5908  	// OtherRegionsConfig: Pricing information for any new locations Play may
  5909  	// launch in.
  5910  	OtherRegionsConfig *OtherRegionsSubscriptionOfferPhaseConfig `json:"otherRegionsConfig,omitempty"`
  5911  	// RecurrenceCount: Required. The number of times this phase repeats. If this
  5912  	// offer phase is not free, each recurrence charges the user the price of this
  5913  	// offer phase.
  5914  	RecurrenceCount int64 `json:"recurrenceCount,omitempty"`
  5915  	// RegionalConfigs: Required. The region-specific configuration of this offer
  5916  	// phase. This list must contain exactly one entry for each region for which
  5917  	// the subscription offer has a regional config.
  5918  	RegionalConfigs []*RegionalSubscriptionOfferPhaseConfig `json:"regionalConfigs,omitempty"`
  5919  	// ForceSendFields is a list of field names (e.g. "Duration") to
  5920  	// unconditionally include in API requests. By default, fields with empty or
  5921  	// default values are omitted from API requests. See
  5922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5923  	// details.
  5924  	ForceSendFields []string `json:"-"`
  5925  	// NullFields is a list of field names (e.g. "Duration") to include in API
  5926  	// requests with the JSON null value. By default, fields with empty values are
  5927  	// omitted from API requests. See
  5928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5929  	NullFields []string `json:"-"`
  5930  }
  5931  
  5932  func (s *SubscriptionOfferPhase) MarshalJSON() ([]byte, error) {
  5933  	type NoMethod SubscriptionOfferPhase
  5934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5935  }
  5936  
  5937  // SubscriptionOfferTargeting: Defines the rule a user needs to satisfy to
  5938  // receive this offer.
  5939  type SubscriptionOfferTargeting struct {
  5940  	// AcquisitionRule: Offer targeting rule for new user acquisition.
  5941  	AcquisitionRule *AcquisitionTargetingRule `json:"acquisitionRule,omitempty"`
  5942  	// UpgradeRule: Offer targeting rule for upgrading users' existing plans.
  5943  	UpgradeRule *UpgradeTargetingRule `json:"upgradeRule,omitempty"`
  5944  	// ForceSendFields is a list of field names (e.g. "AcquisitionRule") to
  5945  	// unconditionally include in API requests. By default, fields with empty or
  5946  	// default values are omitted from API requests. See
  5947  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5948  	// details.
  5949  	ForceSendFields []string `json:"-"`
  5950  	// NullFields is a list of field names (e.g. "AcquisitionRule") to include in
  5951  	// API requests with the JSON null value. By default, fields with empty values
  5952  	// are omitted from API requests. See
  5953  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5954  	NullFields []string `json:"-"`
  5955  }
  5956  
  5957  func (s *SubscriptionOfferTargeting) MarshalJSON() ([]byte, error) {
  5958  	type NoMethod SubscriptionOfferTargeting
  5959  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5960  }
  5961  
  5962  // SubscriptionPriceChange: Contains the price change information for a
  5963  // subscription that can be used to control the user journey for the price
  5964  // change in the app. This can be in the form of seeking confirmation from the
  5965  // user or tailoring the experience for a successful conversion.
  5966  type SubscriptionPriceChange struct {
  5967  	// NewPrice: The new price the subscription will renew with if the price change
  5968  	// is accepted by the user.
  5969  	NewPrice *Price `json:"newPrice,omitempty"`
  5970  	// State: The current state of the price change. Possible values are: 0.
  5971  	// Outstanding: State for a pending price change waiting for the user to agree.
  5972  	// In this state, you can optionally seek confirmation from the user using the
  5973  	// In-App API. 1. Accepted: State for an accepted price change that the
  5974  	// subscription will renew with unless it's canceled. The price change takes
  5975  	// effect on a future date when the subscription renews. Note that the change
  5976  	// might not occur when the subscription is renewed next.
  5977  	State int64 `json:"state,omitempty"`
  5978  	// ForceSendFields is a list of field names (e.g. "NewPrice") to
  5979  	// unconditionally include in API requests. By default, fields with empty or
  5980  	// default values are omitted from API requests. See
  5981  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5982  	// details.
  5983  	ForceSendFields []string `json:"-"`
  5984  	// NullFields is a list of field names (e.g. "NewPrice") to include in API
  5985  	// requests with the JSON null value. By default, fields with empty values are
  5986  	// omitted from API requests. See
  5987  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5988  	NullFields []string `json:"-"`
  5989  }
  5990  
  5991  func (s *SubscriptionPriceChange) MarshalJSON() ([]byte, error) {
  5992  	type NoMethod SubscriptionPriceChange
  5993  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5994  }
  5995  
  5996  // SubscriptionPurchase: A SubscriptionPurchase resource indicates the status
  5997  // of a user's subscription purchase.
  5998  type SubscriptionPurchase struct {
  5999  	// AcknowledgementState: The acknowledgement state of the subscription product.
  6000  	// Possible values are: 0. Yet to be acknowledged 1. Acknowledged
  6001  	AcknowledgementState int64 `json:"acknowledgementState,omitempty"`
  6002  	// AutoRenewing: Whether the subscription will automatically be renewed when it
  6003  	// reaches its current expiry time.
  6004  	AutoRenewing bool `json:"autoRenewing,omitempty"`
  6005  	// AutoResumeTimeMillis: Time at which the subscription will be automatically
  6006  	// resumed, in milliseconds since the Epoch. Only present if the user has
  6007  	// requested to pause the subscription.
  6008  	AutoResumeTimeMillis int64 `json:"autoResumeTimeMillis,omitempty,string"`
  6009  	// CancelReason: The reason why a subscription was canceled or is not
  6010  	// auto-renewing. Possible values are: 0. User canceled the subscription 1.
  6011  	// Subscription was canceled by the system, for example because of a billing
  6012  	// problem 2. Subscription was replaced with a new subscription 3. Subscription
  6013  	// was canceled by the developer
  6014  	CancelReason int64 `json:"cancelReason,omitempty"`
  6015  	// CancelSurveyResult: Information provided by the user when they complete the
  6016  	// subscription cancellation flow (cancellation reason survey).
  6017  	CancelSurveyResult *SubscriptionCancelSurveyResult `json:"cancelSurveyResult,omitempty"`
  6018  	// CountryCode: ISO 3166-1 alpha-2 billing country/region code of the user at
  6019  	// the time the subscription was granted.
  6020  	CountryCode string `json:"countryCode,omitempty"`
  6021  	// DeveloperPayload: A developer-specified string that contains supplemental
  6022  	// information about an order.
  6023  	DeveloperPayload string `json:"developerPayload,omitempty"`
  6024  	// EmailAddress: The email address of the user when the subscription was
  6025  	// purchased. Only present for purchases made with 'Subscribe with Google'.
  6026  	EmailAddress string `json:"emailAddress,omitempty"`
  6027  	// ExpiryTimeMillis: Time at which the subscription will expire, in
  6028  	// milliseconds since the Epoch.
  6029  	ExpiryTimeMillis int64 `json:"expiryTimeMillis,omitempty,string"`
  6030  	// ExternalAccountId: User account identifier in the third-party service. Only
  6031  	// present if account linking happened as part of the subscription purchase
  6032  	// flow.
  6033  	ExternalAccountId string `json:"externalAccountId,omitempty"`
  6034  	// FamilyName: The family name of the user when the subscription was purchased.
  6035  	// Only present for purchases made with 'Subscribe with Google'.
  6036  	FamilyName string `json:"familyName,omitempty"`
  6037  	// GivenName: The given name of the user when the subscription was purchased.
  6038  	// Only present for purchases made with 'Subscribe with Google'.
  6039  	GivenName string `json:"givenName,omitempty"`
  6040  	// IntroductoryPriceInfo: Introductory price information of the subscription.
  6041  	// This is only present when the subscription was purchased with an
  6042  	// introductory price. This field does not indicate the subscription is
  6043  	// currently in introductory price period.
  6044  	IntroductoryPriceInfo *IntroductoryPriceInfo `json:"introductoryPriceInfo,omitempty"`
  6045  	// Kind: This kind represents a subscriptionPurchase object in the
  6046  	// androidpublisher service.
  6047  	Kind string `json:"kind,omitempty"`
  6048  	// LinkedPurchaseToken: The purchase token of the originating purchase if this
  6049  	// subscription is one of the following: 0. Re-signup of a canceled but
  6050  	// non-lapsed subscription 1. Upgrade/downgrade from a previous subscription
  6051  	// For example, suppose a user originally signs up and you receive purchase
  6052  	// token X, then the user cancels and goes through the resignup flow (before
  6053  	// their subscription lapses) and you receive purchase token Y, and finally the
  6054  	// user upgrades their subscription and you receive purchase token Z. If you
  6055  	// call this API with purchase token Z, this field will be set to Y. If you
  6056  	// call this API with purchase token Y, this field will be set to X. If you
  6057  	// call this API with purchase token X, this field will not be set.
  6058  	LinkedPurchaseToken string `json:"linkedPurchaseToken,omitempty"`
  6059  	// ObfuscatedExternalAccountId: An obfuscated version of the id that is
  6060  	// uniquely associated with the user's account in your app. Present for the
  6061  	// following purchases: * If account linking happened as part of the
  6062  	// subscription purchase flow. * It was specified using
  6063  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid
  6064  	// when the purchase was made.
  6065  	ObfuscatedExternalAccountId string `json:"obfuscatedExternalAccountId,omitempty"`
  6066  	// ObfuscatedExternalProfileId: An obfuscated version of the id that is
  6067  	// uniquely associated with the user's profile in your app. Only present if
  6068  	// specified using
  6069  	// https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid
  6070  	// when the purchase was made.
  6071  	ObfuscatedExternalProfileId string `json:"obfuscatedExternalProfileId,omitempty"`
  6072  	// OrderId: The order id of the latest recurring order associated with the
  6073  	// purchase of the subscription. If the subscription was canceled because
  6074  	// payment was declined, this will be the order id from the payment declined
  6075  	// order.
  6076  	OrderId string `json:"orderId,omitempty"`
  6077  	// PaymentState: The payment state of the subscription. Possible values are: 0.
  6078  	// Payment pending 1. Payment received 2. Free trial 3. Pending deferred
  6079  	// upgrade/downgrade Not present for canceled, expired subscriptions.
  6080  	PaymentState *int64 `json:"paymentState,omitempty"`
  6081  	// PriceAmountMicros: Price of the subscription, For tax exclusive countries,
  6082  	// the price doesn't include tax. For tax inclusive countries, the price
  6083  	// includes tax. Price is expressed in micro-units, where 1,000,000 micro-units
  6084  	// represents one unit of the currency. For example, if the subscription price
  6085  	// is €1.99, price_amount_micros is 1990000.
  6086  	PriceAmountMicros int64 `json:"priceAmountMicros,omitempty,string"`
  6087  	// PriceChange: The latest price change information available. This is present
  6088  	// only when there is an upcoming price change for the subscription yet to be
  6089  	// applied. Once the subscription renews with the new price or the subscription
  6090  	// is canceled, no price change information will be returned.
  6091  	PriceChange *SubscriptionPriceChange `json:"priceChange,omitempty"`
  6092  	// PriceCurrencyCode: ISO 4217 currency code for the subscription price. For
  6093  	// example, if the price is specified in British pounds sterling,
  6094  	// price_currency_code is "GBP".
  6095  	PriceCurrencyCode string `json:"priceCurrencyCode,omitempty"`
  6096  	// ProfileId: The Google profile id of the user when the subscription was
  6097  	// purchased. Only present for purchases made with 'Subscribe with Google'.
  6098  	ProfileId string `json:"profileId,omitempty"`
  6099  	// ProfileName: The profile name of the user when the subscription was
  6100  	// purchased. Only present for purchases made with 'Subscribe with Google'.
  6101  	ProfileName string `json:"profileName,omitempty"`
  6102  	// PromotionCode: The promotion code applied on this purchase. This field is
  6103  	// only set if a vanity code promotion is applied when the subscription was
  6104  	// purchased.
  6105  	PromotionCode string `json:"promotionCode,omitempty"`
  6106  	// PromotionType: The type of promotion applied on this purchase. This field is
  6107  	// only set if a promotion is applied when the subscription was purchased.
  6108  	// Possible values are: 0. One time code 1. Vanity code
  6109  	PromotionType int64 `json:"promotionType,omitempty"`
  6110  	// PurchaseType: The type of purchase of the subscription. This field is only
  6111  	// set if this purchase was not made using the standard in-app billing flow.
  6112  	// Possible values are: 0. Test (i.e. purchased from a license testing account)
  6113  	// 1. Promo (i.e. purchased using a promo code)
  6114  	PurchaseType *int64 `json:"purchaseType,omitempty"`
  6115  	// StartTimeMillis: Time at which the subscription was granted, in milliseconds
  6116  	// since the Epoch.
  6117  	StartTimeMillis int64 `json:"startTimeMillis,omitempty,string"`
  6118  	// UserCancellationTimeMillis: The time at which the subscription was canceled
  6119  	// by the user, in milliseconds since the epoch. Only present if cancelReason
  6120  	// is 0.
  6121  	UserCancellationTimeMillis int64 `json:"userCancellationTimeMillis,omitempty,string"`
  6122  
  6123  	// ServerResponse contains the HTTP response code and headers from the server.
  6124  	googleapi.ServerResponse `json:"-"`
  6125  	// ForceSendFields is a list of field names (e.g. "AcknowledgementState") to
  6126  	// unconditionally include in API requests. By default, fields with empty or
  6127  	// default values are omitted from API requests. See
  6128  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6129  	// details.
  6130  	ForceSendFields []string `json:"-"`
  6131  	// NullFields is a list of field names (e.g. "AcknowledgementState") to include
  6132  	// in API requests with the JSON null value. By default, fields with empty
  6133  	// values are omitted from API requests. See
  6134  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6135  	NullFields []string `json:"-"`
  6136  }
  6137  
  6138  func (s *SubscriptionPurchase) MarshalJSON() ([]byte, error) {
  6139  	type NoMethod SubscriptionPurchase
  6140  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6141  }
  6142  
  6143  // SubscriptionPurchaseLineItem: Item-level info for a subscription purchase.
  6144  type SubscriptionPurchaseLineItem struct {
  6145  	// AutoRenewingPlan: The item is auto renewing.
  6146  	AutoRenewingPlan *AutoRenewingPlan `json:"autoRenewingPlan,omitempty"`
  6147  	// DeferredItemReplacement: Information for deferred item replacement.
  6148  	DeferredItemReplacement *DeferredItemReplacement `json:"deferredItemReplacement,omitempty"`
  6149  	// ExpiryTime: Time at which the subscription expired or will expire unless the
  6150  	// access is extended (ex. renews).
  6151  	ExpiryTime string `json:"expiryTime,omitempty"`
  6152  	// OfferDetails: The offer details for this item.
  6153  	OfferDetails *OfferDetails `json:"offerDetails,omitempty"`
  6154  	// PrepaidPlan: The item is prepaid.
  6155  	PrepaidPlan *PrepaidPlan `json:"prepaidPlan,omitempty"`
  6156  	// ProductId: The purchased product ID (for example, 'monthly001').
  6157  	ProductId string `json:"productId,omitempty"`
  6158  	// ForceSendFields is a list of field names (e.g. "AutoRenewingPlan") to
  6159  	// unconditionally include in API requests. By default, fields with empty or
  6160  	// default values are omitted from API requests. See
  6161  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6162  	// details.
  6163  	ForceSendFields []string `json:"-"`
  6164  	// NullFields is a list of field names (e.g. "AutoRenewingPlan") to include in
  6165  	// API requests with the JSON null value. By default, fields with empty values
  6166  	// are omitted from API requests. See
  6167  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6168  	NullFields []string `json:"-"`
  6169  }
  6170  
  6171  func (s *SubscriptionPurchaseLineItem) MarshalJSON() ([]byte, error) {
  6172  	type NoMethod SubscriptionPurchaseLineItem
  6173  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6174  }
  6175  
  6176  // SubscriptionPurchaseV2: Indicates the status of a user's subscription
  6177  // purchase.
  6178  type SubscriptionPurchaseV2 struct {
  6179  	// AcknowledgementState: The acknowledgement state of the subscription.
  6180  	//
  6181  	// Possible values:
  6182  	//   "ACKNOWLEDGEMENT_STATE_UNSPECIFIED" - Unspecified acknowledgement state.
  6183  	//   "ACKNOWLEDGEMENT_STATE_PENDING" - The subscription is not acknowledged
  6184  	// yet.
  6185  	//   "ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED" - The subscription is acknowledged.
  6186  	AcknowledgementState string `json:"acknowledgementState,omitempty"`
  6187  	// CanceledStateContext: Additional context around canceled subscriptions. Only
  6188  	// present if the subscription currently has subscription_state
  6189  	// SUBSCRIPTION_STATE_CANCELED or SUBSCRIPTION_STATE_EXPIRED.
  6190  	CanceledStateContext *CanceledStateContext `json:"canceledStateContext,omitempty"`
  6191  	// ExternalAccountIdentifiers: User account identifier in the third-party
  6192  	// service.
  6193  	ExternalAccountIdentifiers *ExternalAccountIdentifiers `json:"externalAccountIdentifiers,omitempty"`
  6194  	// Kind: This kind represents a SubscriptionPurchaseV2 object in the
  6195  	// androidpublisher service.
  6196  	Kind string `json:"kind,omitempty"`
  6197  	// LatestOrderId: The order id of the latest order associated with the purchase
  6198  	// of the subscription. For autoRenewing subscription, this is the order id of
  6199  	// signup order if it is not renewed yet, or the last recurring order id
  6200  	// (success, pending, or declined order). For prepaid subscription, this is the
  6201  	// order id associated with the queried purchase token.
  6202  	LatestOrderId string `json:"latestOrderId,omitempty"`
  6203  	// LineItems: Item-level info for a subscription purchase. The items in the
  6204  	// same purchase should be either all with AutoRenewingPlan or all with
  6205  	// PrepaidPlan.
  6206  	LineItems []*SubscriptionPurchaseLineItem `json:"lineItems,omitempty"`
  6207  	// LinkedPurchaseToken: The purchase token of the old subscription if this
  6208  	// subscription is one of the following: * Re-signup of a canceled but
  6209  	// non-lapsed subscription * Upgrade/downgrade from a previous subscription. *
  6210  	// Convert from prepaid to auto renewing subscription. * Convert from an auto
  6211  	// renewing subscription to prepaid. * Topup a prepaid subscription.
  6212  	LinkedPurchaseToken string `json:"linkedPurchaseToken,omitempty"`
  6213  	// PausedStateContext: Additional context around paused subscriptions. Only
  6214  	// present if the subscription currently has subscription_state
  6215  	// SUBSCRIPTION_STATE_PAUSED.
  6216  	PausedStateContext *PausedStateContext `json:"pausedStateContext,omitempty"`
  6217  	// RegionCode: ISO 3166-1 alpha-2 billing country/region code of the user at
  6218  	// the time the subscription was granted.
  6219  	RegionCode string `json:"regionCode,omitempty"`
  6220  	// StartTime: Time at which the subscription was granted. Not set for pending
  6221  	// subscriptions (subscription was created but awaiting payment during signup).
  6222  	StartTime string `json:"startTime,omitempty"`
  6223  	// SubscribeWithGoogleInfo: User profile associated with purchases made with
  6224  	// 'Subscribe with Google'.
  6225  	SubscribeWithGoogleInfo *SubscribeWithGoogleInfo `json:"subscribeWithGoogleInfo,omitempty"`
  6226  	// SubscriptionState: The current state of the subscription.
  6227  	//
  6228  	// Possible values:
  6229  	//   "SUBSCRIPTION_STATE_UNSPECIFIED" - Unspecified subscription state.
  6230  	//   "SUBSCRIPTION_STATE_PENDING" - Subscription was created but awaiting
  6231  	// payment during signup. In this state, all items are awaiting payment.
  6232  	//   "SUBSCRIPTION_STATE_ACTIVE" - Subscription is active. - (1) If the
  6233  	// subscription is an auto renewing plan, at least one item is
  6234  	// auto_renew_enabled and not expired. - (2) If the subscription is a prepaid
  6235  	// plan, at least one item is not expired.
  6236  	//   "SUBSCRIPTION_STATE_PAUSED" - Subscription is paused. The state is only
  6237  	// available when the subscription is an auto renewing plan. In this state, all
  6238  	// items are in paused state.
  6239  	//   "SUBSCRIPTION_STATE_IN_GRACE_PERIOD" - Subscription is in grace period.
  6240  	// The state is only available when the subscription is an auto renewing plan.
  6241  	// In this state, all items are in grace period.
  6242  	//   "SUBSCRIPTION_STATE_ON_HOLD" - Subscription is on hold (suspended). The
  6243  	// state is only available when the subscription is an auto renewing plan. In
  6244  	// this state, all items are on hold.
  6245  	//   "SUBSCRIPTION_STATE_CANCELED" - Subscription is canceled but not expired
  6246  	// yet. The state is only available when the subscription is an auto renewing
  6247  	// plan. All items have auto_renew_enabled set to false.
  6248  	//   "SUBSCRIPTION_STATE_EXPIRED" - Subscription is expired. All items have
  6249  	// expiry_time in the past.
  6250  	SubscriptionState string `json:"subscriptionState,omitempty"`
  6251  	// TestPurchase: Only present if this subscription purchase is a test purchase.
  6252  	TestPurchase *TestPurchase `json:"testPurchase,omitempty"`
  6253  
  6254  	// ServerResponse contains the HTTP response code and headers from the server.
  6255  	googleapi.ServerResponse `json:"-"`
  6256  	// ForceSendFields is a list of field names (e.g. "AcknowledgementState") to
  6257  	// unconditionally include in API requests. By default, fields with empty or
  6258  	// default values are omitted from API requests. See
  6259  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6260  	// details.
  6261  	ForceSendFields []string `json:"-"`
  6262  	// NullFields is a list of field names (e.g. "AcknowledgementState") to include
  6263  	// in API requests with the JSON null value. By default, fields with empty
  6264  	// values are omitted from API requests. See
  6265  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6266  	NullFields []string `json:"-"`
  6267  }
  6268  
  6269  func (s *SubscriptionPurchaseV2) MarshalJSON() ([]byte, error) {
  6270  	type NoMethod SubscriptionPurchaseV2
  6271  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6272  }
  6273  
  6274  // SubscriptionPurchasesAcknowledgeRequest: Request for the
  6275  // purchases.subscriptions.acknowledge API.
  6276  type SubscriptionPurchasesAcknowledgeRequest struct {
  6277  	// DeveloperPayload: Payload to attach to the purchase.
  6278  	DeveloperPayload string `json:"developerPayload,omitempty"`
  6279  	// ForceSendFields is a list of field names (e.g. "DeveloperPayload") to
  6280  	// unconditionally include in API requests. By default, fields with empty or
  6281  	// default values are omitted from API requests. See
  6282  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6283  	// details.
  6284  	ForceSendFields []string `json:"-"`
  6285  	// NullFields is a list of field names (e.g. "DeveloperPayload") to include in
  6286  	// API requests with the JSON null value. By default, fields with empty values
  6287  	// are omitted from API requests. See
  6288  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6289  	NullFields []string `json:"-"`
  6290  }
  6291  
  6292  func (s *SubscriptionPurchasesAcknowledgeRequest) MarshalJSON() ([]byte, error) {
  6293  	type NoMethod SubscriptionPurchasesAcknowledgeRequest
  6294  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6295  }
  6296  
  6297  // SubscriptionPurchasesDeferRequest: Request for the
  6298  // purchases.subscriptions.defer API.
  6299  type SubscriptionPurchasesDeferRequest struct {
  6300  	// DeferralInfo: The information about the new desired expiry time for the
  6301  	// subscription.
  6302  	DeferralInfo *SubscriptionDeferralInfo `json:"deferralInfo,omitempty"`
  6303  	// ForceSendFields is a list of field names (e.g. "DeferralInfo") to
  6304  	// unconditionally include in API requests. By default, fields with empty or
  6305  	// default values are omitted from API requests. See
  6306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6307  	// details.
  6308  	ForceSendFields []string `json:"-"`
  6309  	// NullFields is a list of field names (e.g. "DeferralInfo") to include in API
  6310  	// requests with the JSON null value. By default, fields with empty values are
  6311  	// omitted from API requests. See
  6312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6313  	NullFields []string `json:"-"`
  6314  }
  6315  
  6316  func (s *SubscriptionPurchasesDeferRequest) MarshalJSON() ([]byte, error) {
  6317  	type NoMethod SubscriptionPurchasesDeferRequest
  6318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6319  }
  6320  
  6321  // SubscriptionPurchasesDeferResponse: Response for the
  6322  // purchases.subscriptions.defer API.
  6323  type SubscriptionPurchasesDeferResponse struct {
  6324  	// NewExpiryTimeMillis: The new expiry time for the subscription in
  6325  	// milliseconds since the Epoch.
  6326  	NewExpiryTimeMillis int64 `json:"newExpiryTimeMillis,omitempty,string"`
  6327  
  6328  	// ServerResponse contains the HTTP response code and headers from the server.
  6329  	googleapi.ServerResponse `json:"-"`
  6330  	// ForceSendFields is a list of field names (e.g. "NewExpiryTimeMillis") to
  6331  	// unconditionally include in API requests. By default, fields with empty or
  6332  	// default values are omitted from API requests. See
  6333  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6334  	// details.
  6335  	ForceSendFields []string `json:"-"`
  6336  	// NullFields is a list of field names (e.g. "NewExpiryTimeMillis") to include
  6337  	// in API requests with the JSON null value. By default, fields with empty
  6338  	// values are omitted from API requests. See
  6339  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6340  	NullFields []string `json:"-"`
  6341  }
  6342  
  6343  func (s *SubscriptionPurchasesDeferResponse) MarshalJSON() ([]byte, error) {
  6344  	type NoMethod SubscriptionPurchasesDeferResponse
  6345  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6346  }
  6347  
  6348  // SubscriptionTaxAndComplianceSettings: Details about taxation, Google Play
  6349  // policy and legal compliance for subscription products.
  6350  type SubscriptionTaxAndComplianceSettings struct {
  6351  	// EeaWithdrawalRightType: Digital content or service classification for
  6352  	// products distributed to users in the European Economic Area (EEA). The
  6353  	// withdrawal regime under EEA consumer laws depends on this classification.
  6354  	// Refer to the Help Center article
  6355  	// (https://support.google.com/googleplay/android-developer/answer/10463498)
  6356  	// for more information.
  6357  	//
  6358  	// Possible values:
  6359  	//   "WITHDRAWAL_RIGHT_TYPE_UNSPECIFIED"
  6360  	//   "WITHDRAWAL_RIGHT_DIGITAL_CONTENT"
  6361  	//   "WITHDRAWAL_RIGHT_SERVICE"
  6362  	EeaWithdrawalRightType string `json:"eeaWithdrawalRightType,omitempty"`
  6363  	// IsTokenizedDigitalAsset: Whether this subscription is declared as a product
  6364  	// representing a tokenized digital asset.
  6365  	IsTokenizedDigitalAsset bool `json:"isTokenizedDigitalAsset,omitempty"`
  6366  	// TaxRateInfoByRegionCode: A mapping from region code to tax rate details. The
  6367  	// keys are region codes as defined by Unicode's "CLDR".
  6368  	TaxRateInfoByRegionCode map[string]RegionalTaxRateInfo `json:"taxRateInfoByRegionCode,omitempty"`
  6369  	// ForceSendFields is a list of field names (e.g. "EeaWithdrawalRightType") to
  6370  	// unconditionally include in API requests. By default, fields with empty or
  6371  	// default values are omitted from API requests. See
  6372  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6373  	// details.
  6374  	ForceSendFields []string `json:"-"`
  6375  	// NullFields is a list of field names (e.g. "EeaWithdrawalRightType") to
  6376  	// include in API requests with the JSON null value. By default, fields with
  6377  	// empty values are omitted from API requests. See
  6378  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6379  	NullFields []string `json:"-"`
  6380  }
  6381  
  6382  func (s *SubscriptionTaxAndComplianceSettings) MarshalJSON() ([]byte, error) {
  6383  	type NoMethod SubscriptionTaxAndComplianceSettings
  6384  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6385  }
  6386  
  6387  // SystemApkOptions: Options for system APKs.
  6388  type SystemApkOptions struct {
  6389  	// Rotated: Whether to use the rotated key for signing the system APK.
  6390  	Rotated bool `json:"rotated,omitempty"`
  6391  	// UncompressedDexFiles: Whether system APK was generated with uncompressed dex
  6392  	// files.
  6393  	UncompressedDexFiles bool `json:"uncompressedDexFiles,omitempty"`
  6394  	// UncompressedNativeLibraries: Whether system APK was generated with
  6395  	// uncompressed native libraries.
  6396  	UncompressedNativeLibraries bool `json:"uncompressedNativeLibraries,omitempty"`
  6397  	// ForceSendFields is a list of field names (e.g. "Rotated") to unconditionally
  6398  	// include in API requests. By default, fields with empty or default values are
  6399  	// omitted from API requests. See
  6400  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6401  	// details.
  6402  	ForceSendFields []string `json:"-"`
  6403  	// NullFields is a list of field names (e.g. "Rotated") to include in API
  6404  	// requests with the JSON null value. By default, fields with empty values are
  6405  	// omitted from API requests. See
  6406  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6407  	NullFields []string `json:"-"`
  6408  }
  6409  
  6410  func (s *SystemApkOptions) MarshalJSON() ([]byte, error) {
  6411  	type NoMethod SystemApkOptions
  6412  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6413  }
  6414  
  6415  // SystemApksListResponse: Response to list previously created system APK
  6416  // variants.
  6417  type SystemApksListResponse struct {
  6418  	// Variants: All system APK variants created.
  6419  	Variants []*Variant `json:"variants,omitempty"`
  6420  
  6421  	// ServerResponse contains the HTTP response code and headers from the server.
  6422  	googleapi.ServerResponse `json:"-"`
  6423  	// ForceSendFields is a list of field names (e.g. "Variants") to
  6424  	// unconditionally include in API requests. By default, fields with empty or
  6425  	// default values are omitted from API requests. See
  6426  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6427  	// details.
  6428  	ForceSendFields []string `json:"-"`
  6429  	// NullFields is a list of field names (e.g. "Variants") to include in API
  6430  	// requests with the JSON null value. By default, fields with empty values are
  6431  	// omitted from API requests. See
  6432  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6433  	NullFields []string `json:"-"`
  6434  }
  6435  
  6436  func (s *SystemApksListResponse) MarshalJSON() ([]byte, error) {
  6437  	type NoMethod SystemApksListResponse
  6438  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6439  }
  6440  
  6441  // SystemFeature: Representation of a system feature.
  6442  type SystemFeature struct {
  6443  	// Name: The name of the feature.
  6444  	Name string `json:"name,omitempty"`
  6445  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  6446  	// include in API requests. By default, fields with empty or default values are
  6447  	// omitted from API requests. See
  6448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6449  	// details.
  6450  	ForceSendFields []string `json:"-"`
  6451  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  6452  	// with the JSON null value. By default, fields with empty values are omitted
  6453  	// from API requests. See
  6454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6455  	NullFields []string `json:"-"`
  6456  }
  6457  
  6458  func (s *SystemFeature) MarshalJSON() ([]byte, error) {
  6459  	type NoMethod SystemFeature
  6460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6461  }
  6462  
  6463  // SystemInitiatedCancellation: Information specific to cancellations initiated
  6464  // by Google system.
  6465  type SystemInitiatedCancellation struct {
  6466  }
  6467  
  6468  // Targeting: Targeting details for a recovery action such as regions, android
  6469  // sdk levels, app versions etc.
  6470  type Targeting struct {
  6471  	// AllUsers: All users are targeted.
  6472  	AllUsers *AllUsers `json:"allUsers,omitempty"`
  6473  	// AndroidSdks: Targeting is based on android api levels of devices.
  6474  	AndroidSdks *AndroidSdks `json:"androidSdks,omitempty"`
  6475  	// Regions: Targeting is based on the user account region.
  6476  	Regions *Regions `json:"regions,omitempty"`
  6477  	// VersionList: Target version codes as a list.
  6478  	VersionList *AppVersionList `json:"versionList,omitempty"`
  6479  	// VersionRange: Target version codes as a range.
  6480  	VersionRange *AppVersionRange `json:"versionRange,omitempty"`
  6481  	// ForceSendFields is a list of field names (e.g. "AllUsers") to
  6482  	// unconditionally include in API requests. By default, fields with empty or
  6483  	// default values are omitted from API requests. See
  6484  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6485  	// details.
  6486  	ForceSendFields []string `json:"-"`
  6487  	// NullFields is a list of field names (e.g. "AllUsers") to include in API
  6488  	// requests with the JSON null value. By default, fields with empty values are
  6489  	// omitted from API requests. See
  6490  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6491  	NullFields []string `json:"-"`
  6492  }
  6493  
  6494  func (s *Targeting) MarshalJSON() ([]byte, error) {
  6495  	type NoMethod Targeting
  6496  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6497  }
  6498  
  6499  // TargetingInfo: Targeting information about the generated apks.
  6500  type TargetingInfo struct {
  6501  	// AssetSliceSet: List of created asset slices.
  6502  	AssetSliceSet []*AssetSliceSet `json:"assetSliceSet,omitempty"`
  6503  	// PackageName: The package name of this app.
  6504  	PackageName string `json:"packageName,omitempty"`
  6505  	// Variant: List of the created variants.
  6506  	Variant []*SplitApkVariant `json:"variant,omitempty"`
  6507  	// ForceSendFields is a list of field names (e.g. "AssetSliceSet") to
  6508  	// unconditionally include in API requests. By default, fields with empty or
  6509  	// default values are omitted from API requests. See
  6510  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6511  	// details.
  6512  	ForceSendFields []string `json:"-"`
  6513  	// NullFields is a list of field names (e.g. "AssetSliceSet") to include in API
  6514  	// requests with the JSON null value. By default, fields with empty values are
  6515  	// omitted from API requests. See
  6516  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6517  	NullFields []string `json:"-"`
  6518  }
  6519  
  6520  func (s *TargetingInfo) MarshalJSON() ([]byte, error) {
  6521  	type NoMethod TargetingInfo
  6522  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6523  }
  6524  
  6525  // TargetingRuleScope: Defines the scope of subscriptions which a targeting
  6526  // rule can match to target offers to users based on past or current
  6527  // entitlement.
  6528  type TargetingRuleScope struct {
  6529  	// AnySubscriptionInApp: The scope of the current targeting rule is any
  6530  	// subscription in the parent app.
  6531  	AnySubscriptionInApp *TargetingRuleScopeAnySubscriptionInApp `json:"anySubscriptionInApp,omitempty"`
  6532  	// SpecificSubscriptionInApp: The scope of the current targeting rule is the
  6533  	// subscription with the specified subscription ID. Must be a subscription
  6534  	// within the same parent app.
  6535  	SpecificSubscriptionInApp string `json:"specificSubscriptionInApp,omitempty"`
  6536  	// ThisSubscription: The scope of the current targeting rule is the
  6537  	// subscription in which this offer is defined.
  6538  	ThisSubscription *TargetingRuleScopeThisSubscription `json:"thisSubscription,omitempty"`
  6539  	// ForceSendFields is a list of field names (e.g. "AnySubscriptionInApp") to
  6540  	// unconditionally include in API requests. By default, fields with empty or
  6541  	// default values are omitted from API requests. See
  6542  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6543  	// details.
  6544  	ForceSendFields []string `json:"-"`
  6545  	// NullFields is a list of field names (e.g. "AnySubscriptionInApp") to include
  6546  	// in API requests with the JSON null value. By default, fields with empty
  6547  	// values are omitted from API requests. See
  6548  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6549  	NullFields []string `json:"-"`
  6550  }
  6551  
  6552  func (s *TargetingRuleScope) MarshalJSON() ([]byte, error) {
  6553  	type NoMethod TargetingRuleScope
  6554  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6555  }
  6556  
  6557  // TargetingRuleScopeAnySubscriptionInApp: Represents the targeting rule scope
  6558  // corresponding to any subscription in the parent app.
  6559  type TargetingRuleScopeAnySubscriptionInApp struct {
  6560  }
  6561  
  6562  // TargetingRuleScopeThisSubscription: Represents the targeting rule scope
  6563  // corresponding to the subscriptions in which this offer is defined.
  6564  type TargetingRuleScopeThisSubscription struct {
  6565  }
  6566  
  6567  // TargetingUpdate: Update type for targeting. Note it is always a subset
  6568  // Targeting.
  6569  type TargetingUpdate struct {
  6570  	// AllUsers: All users are targeted.
  6571  	AllUsers *AllUsers `json:"allUsers,omitempty"`
  6572  	// AndroidSdks: Additional android sdk levels are targeted by the recovery
  6573  	// action.
  6574  	AndroidSdks *AndroidSdks `json:"androidSdks,omitempty"`
  6575  	// Regions: Additional regions are targeted by the recovery action.
  6576  	Regions *Regions `json:"regions,omitempty"`
  6577  	// ForceSendFields is a list of field names (e.g. "AllUsers") to
  6578  	// unconditionally include in API requests. By default, fields with empty or
  6579  	// default values are omitted from API requests. See
  6580  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6581  	// details.
  6582  	ForceSendFields []string `json:"-"`
  6583  	// NullFields is a list of field names (e.g. "AllUsers") to include in API
  6584  	// requests with the JSON null value. By default, fields with empty values are
  6585  	// omitted from API requests. See
  6586  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6587  	NullFields []string `json:"-"`
  6588  }
  6589  
  6590  func (s *TargetingUpdate) MarshalJSON() ([]byte, error) {
  6591  	type NoMethod TargetingUpdate
  6592  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6593  }
  6594  
  6595  // TestPurchase: Whether this subscription purchase is a test purchase.
  6596  type TestPurchase struct {
  6597  }
  6598  
  6599  // Testers: The testers of an app. The resource for TestersService. Note: while
  6600  // it is possible in the Play Console UI to add testers via email lists, email
  6601  // lists are not supported by this resource.
  6602  type Testers struct {
  6603  	// GoogleGroups: All testing Google Groups, as email addresses.
  6604  	GoogleGroups []string `json:"googleGroups,omitempty"`
  6605  
  6606  	// ServerResponse contains the HTTP response code and headers from the server.
  6607  	googleapi.ServerResponse `json:"-"`
  6608  	// ForceSendFields is a list of field names (e.g. "GoogleGroups") to
  6609  	// unconditionally include in API requests. By default, fields with empty or
  6610  	// default values are omitted from API requests. See
  6611  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6612  	// details.
  6613  	ForceSendFields []string `json:"-"`
  6614  	// NullFields is a list of field names (e.g. "GoogleGroups") to include in API
  6615  	// requests with the JSON null value. By default, fields with empty values are
  6616  	// omitted from API requests. See
  6617  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6618  	NullFields []string `json:"-"`
  6619  }
  6620  
  6621  func (s *Testers) MarshalJSON() ([]byte, error) {
  6622  	type NoMethod Testers
  6623  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6624  }
  6625  
  6626  // TextureCompressionFormat: Represents texture compression format.
  6627  type TextureCompressionFormat struct {
  6628  	// Alias: Alias for texture compression format.
  6629  	//
  6630  	// Possible values:
  6631  	//   "UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT" - Unspecified format.
  6632  	//   "ETC1_RGB8" - ETC1_RGB8 format.
  6633  	//   "PALETTED" - PALETTED format.
  6634  	//   "THREE_DC" - THREE_DC format.
  6635  	//   "ATC" - ATC format.
  6636  	//   "LATC" - LATC format.
  6637  	//   "DXT1" - DXT1 format.
  6638  	//   "S3TC" - S3TC format.
  6639  	//   "PVRTC" - PVRTC format.
  6640  	//   "ASTC" - ASTC format.
  6641  	//   "ETC2" - ETC2 format.
  6642  	Alias string `json:"alias,omitempty"`
  6643  	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
  6644  	// include in API requests. By default, fields with empty or default values are
  6645  	// omitted from API requests. See
  6646  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6647  	// details.
  6648  	ForceSendFields []string `json:"-"`
  6649  	// NullFields is a list of field names (e.g. "Alias") to include in API
  6650  	// requests with the JSON null value. By default, fields with empty values are
  6651  	// omitted from API requests. See
  6652  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6653  	NullFields []string `json:"-"`
  6654  }
  6655  
  6656  func (s *TextureCompressionFormat) MarshalJSON() ([]byte, error) {
  6657  	type NoMethod TextureCompressionFormat
  6658  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6659  }
  6660  
  6661  // TextureCompressionFormatTargeting: Targeting by a texture compression
  6662  // format.
  6663  type TextureCompressionFormatTargeting struct {
  6664  	// Alternatives: List of alternative TCFs (TCFs targeted by the sibling
  6665  	// splits).
  6666  	Alternatives []*TextureCompressionFormat `json:"alternatives,omitempty"`
  6667  	// Value: The list of targeted TCFs. Should not be empty.
  6668  	Value []*TextureCompressionFormat `json:"value,omitempty"`
  6669  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  6670  	// unconditionally include in API requests. By default, fields with empty or
  6671  	// default values are omitted from API requests. See
  6672  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6673  	// details.
  6674  	ForceSendFields []string `json:"-"`
  6675  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  6676  	// requests with the JSON null value. By default, fields with empty values are
  6677  	// omitted from API requests. See
  6678  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6679  	NullFields []string `json:"-"`
  6680  }
  6681  
  6682  func (s *TextureCompressionFormatTargeting) MarshalJSON() ([]byte, error) {
  6683  	type NoMethod TextureCompressionFormatTargeting
  6684  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6685  }
  6686  
  6687  // Timestamp: A Timestamp represents a point in time independent of any time
  6688  // zone or local calendar, encoded as a count of seconds and fractions of
  6689  // seconds at nanosecond resolution. The count is relative to an epoch at UTC
  6690  // midnight on January 1, 1970.
  6691  type Timestamp struct {
  6692  	// Nanos: Non-negative fractions of a second at nanosecond resolution. Must be
  6693  	// from 0 to 999,999,999 inclusive.
  6694  	Nanos int64 `json:"nanos,omitempty"`
  6695  	// Seconds: Represents seconds of UTC time since Unix epoch.
  6696  	Seconds int64 `json:"seconds,omitempty,string"`
  6697  	// ForceSendFields is a list of field names (e.g. "Nanos") to unconditionally
  6698  	// include in API requests. By default, fields with empty or default values are
  6699  	// omitted from API requests. See
  6700  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6701  	// details.
  6702  	ForceSendFields []string `json:"-"`
  6703  	// NullFields is a list of field names (e.g. "Nanos") to include in API
  6704  	// requests with the JSON null value. By default, fields with empty values are
  6705  	// omitted from API requests. See
  6706  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6707  	NullFields []string `json:"-"`
  6708  }
  6709  
  6710  func (s *Timestamp) MarshalJSON() ([]byte, error) {
  6711  	type NoMethod Timestamp
  6712  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6713  }
  6714  
  6715  // TokenPagination: Pagination information returned by a List operation when
  6716  // token pagination is enabled. List operations that supports paging return
  6717  // only one "page" of results. This protocol buffer message describes the page
  6718  // that has been returned. When using token pagination, clients should use the
  6719  // next/previous token to get another page of the result. The presence or
  6720  // absence of next/previous token indicates whether a next/previous page is
  6721  // available and provides a mean of accessing this page. ListRequest.page_token
  6722  // should be set to either next_page_token or previous_page_token to access
  6723  // another page.
  6724  type TokenPagination struct {
  6725  	// NextPageToken: Tokens to pass to the standard list field 'page_token'.
  6726  	// Whenever available, tokens are preferred over manipulating start_index.
  6727  	NextPageToken     string `json:"nextPageToken,omitempty"`
  6728  	PreviousPageToken string `json:"previousPageToken,omitempty"`
  6729  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  6730  	// unconditionally include in API requests. By default, fields with empty or
  6731  	// default values are omitted from API requests. See
  6732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6733  	// details.
  6734  	ForceSendFields []string `json:"-"`
  6735  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  6736  	// requests with the JSON null value. By default, fields with empty values are
  6737  	// omitted from API requests. See
  6738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6739  	NullFields []string `json:"-"`
  6740  }
  6741  
  6742  func (s *TokenPagination) MarshalJSON() ([]byte, error) {
  6743  	type NoMethod TokenPagination
  6744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6745  }
  6746  
  6747  // Track: A track configuration. The resource for TracksService.
  6748  type Track struct {
  6749  	// Releases: In a read request, represents all active releases in the track. In
  6750  	// an update request, represents desired changes.
  6751  	Releases []*TrackRelease `json:"releases,omitempty"`
  6752  	// Track: Identifier of the track. Form factor tracks have a special prefix as
  6753  	// an identifier, for example `wear:production`, `automotive:production`. More
  6754  	// on track name
  6755  	// (https://developers.google.com/android-publisher/tracks#ff-track-name)
  6756  	Track string `json:"track,omitempty"`
  6757  
  6758  	// ServerResponse contains the HTTP response code and headers from the server.
  6759  	googleapi.ServerResponse `json:"-"`
  6760  	// ForceSendFields is a list of field names (e.g. "Releases") to
  6761  	// unconditionally include in API requests. By default, fields with empty or
  6762  	// default values are omitted from API requests. See
  6763  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6764  	// details.
  6765  	ForceSendFields []string `json:"-"`
  6766  	// NullFields is a list of field names (e.g. "Releases") to include in API
  6767  	// requests with the JSON null value. By default, fields with empty values are
  6768  	// omitted from API requests. See
  6769  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6770  	NullFields []string `json:"-"`
  6771  }
  6772  
  6773  func (s *Track) MarshalJSON() ([]byte, error) {
  6774  	type NoMethod Track
  6775  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6776  }
  6777  
  6778  // TrackConfig: Configurations of the new track.
  6779  type TrackConfig struct {
  6780  	// FormFactor: Required. Form factor of the new track. Defaults to the default
  6781  	// track.
  6782  	//
  6783  	// Possible values:
  6784  	//   "FORM_FACTOR_UNSPECIFIED" - Fallback value, do not use.
  6785  	//   "DEFAULT" - Default track.
  6786  	//   "WEAR" - Wear form factor track.
  6787  	//   "AUTOMOTIVE" - Automotive form factor track.
  6788  	FormFactor string `json:"formFactor,omitempty"`
  6789  	// Track: Required. Identifier of the new track. For default tracks, this field
  6790  	// consists of the track alias only. Form factor tracks have a special prefix
  6791  	// as an identifier, for example `wear:production`, `automotive:production`.
  6792  	// This prefix must match the value of the `form_factor` field, if it is not a
  6793  	// default track. More on track name
  6794  	// (https://developers.google.com/android-publisher/tracks#ff-track-name)
  6795  	Track string `json:"track,omitempty"`
  6796  	// Type: Required. Type of the new track. Currently, the only supported value
  6797  	// is closedTesting.
  6798  	//
  6799  	// Possible values:
  6800  	//   "TRACK_TYPE_UNSPECIFIED" - Fallback value, do not use.
  6801  	//   "CLOSED_TESTING" - Closed testing track.
  6802  	Type string `json:"type,omitempty"`
  6803  	// ForceSendFields is a list of field names (e.g. "FormFactor") to
  6804  	// unconditionally include in API requests. By default, fields with empty or
  6805  	// default values are omitted from API requests. See
  6806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6807  	// details.
  6808  	ForceSendFields []string `json:"-"`
  6809  	// NullFields is a list of field names (e.g. "FormFactor") to include in API
  6810  	// requests with the JSON null value. By default, fields with empty values are
  6811  	// omitted from API requests. See
  6812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6813  	NullFields []string `json:"-"`
  6814  }
  6815  
  6816  func (s *TrackConfig) MarshalJSON() ([]byte, error) {
  6817  	type NoMethod TrackConfig
  6818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6819  }
  6820  
  6821  // TrackCountryAvailability: Resource for per-track country availability
  6822  // information.
  6823  type TrackCountryAvailability struct {
  6824  	// Countries: A list of one or more countries where artifacts in this track are
  6825  	// available. This list includes all countries that are targeted by the track,
  6826  	// even if only specific carriers are targeted in that country.
  6827  	Countries []*TrackTargetedCountry `json:"countries,omitempty"`
  6828  	// RestOfWorld: Whether artifacts in this track are available to "rest of the
  6829  	// world" countries.
  6830  	RestOfWorld bool `json:"restOfWorld,omitempty"`
  6831  	// SyncWithProduction: Whether this track's availability is synced with the
  6832  	// default production track. See
  6833  	// https://support.google.com/googleplay/android-developer/answer/7550024 for
  6834  	// more information on syncing country availability with production. Note that
  6835  	// if this is true, the returned "countries" and "rest_of_world" fields will
  6836  	// reflect the values for the default production track.
  6837  	SyncWithProduction bool `json:"syncWithProduction,omitempty"`
  6838  
  6839  	// ServerResponse contains the HTTP response code and headers from the server.
  6840  	googleapi.ServerResponse `json:"-"`
  6841  	// ForceSendFields is a list of field names (e.g. "Countries") to
  6842  	// unconditionally include in API requests. By default, fields with empty or
  6843  	// default values are omitted from API requests. See
  6844  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6845  	// details.
  6846  	ForceSendFields []string `json:"-"`
  6847  	// NullFields is a list of field names (e.g. "Countries") to include in API
  6848  	// requests with the JSON null value. By default, fields with empty values are
  6849  	// omitted from API requests. See
  6850  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6851  	NullFields []string `json:"-"`
  6852  }
  6853  
  6854  func (s *TrackCountryAvailability) MarshalJSON() ([]byte, error) {
  6855  	type NoMethod TrackCountryAvailability
  6856  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6857  }
  6858  
  6859  // TrackRelease: A release within a track.
  6860  type TrackRelease struct {
  6861  	// CountryTargeting: Restricts a release to a specific set of countries.
  6862  	CountryTargeting *CountryTargeting `json:"countryTargeting,omitempty"`
  6863  	// InAppUpdatePriority: In-app update priority of the release. All newly added
  6864  	// APKs in the release will be considered at this priority. Can take values in
  6865  	// the range [0, 5], with 5 the highest priority. Defaults to 0.
  6866  	// in_app_update_priority can not be updated once the release is rolled out.
  6867  	// See https://developer.android.com/guide/playcore/in-app-updates.
  6868  	InAppUpdatePriority int64 `json:"inAppUpdatePriority,omitempty"`
  6869  	// Name: The release name. Not required to be unique. If not set, the name is
  6870  	// generated from the APK's version_name. If the release contains multiple
  6871  	// APKs, the name is generated from the date.
  6872  	Name string `json:"name,omitempty"`
  6873  	// ReleaseNotes: A description of what is new in this release.
  6874  	ReleaseNotes []*LocalizedText `json:"releaseNotes,omitempty"`
  6875  	// Status: The status of the release.
  6876  	//
  6877  	// Possible values:
  6878  	//   "statusUnspecified" - Unspecified status.
  6879  	//   "draft" - The release's APKs are not being served to users.
  6880  	//   "inProgress" - The release's APKs are being served to a fraction of users,
  6881  	// determined by 'user_fraction'.
  6882  	//   "halted" - The release's APKs will no longer be served to users. Users who
  6883  	// already have these APKs are unaffected.
  6884  	//   "completed" - The release will have no further changes. Its APKs are being
  6885  	// served to all users, unless they are eligible to APKs of a more recent
  6886  	// release.
  6887  	Status string `json:"status,omitempty"`
  6888  	// UserFraction: Fraction of users who are eligible for a staged release. 0 <
  6889  	// fraction < 1. Can only be set when status is "inProgress" or "halted".
  6890  	UserFraction float64 `json:"userFraction,omitempty"`
  6891  	// VersionCodes: Version codes of all APKs in the release. Must include version
  6892  	// codes to retain from previous releases.
  6893  	VersionCodes googleapi.Int64s `json:"versionCodes,omitempty"`
  6894  	// ForceSendFields is a list of field names (e.g. "CountryTargeting") to
  6895  	// unconditionally include in API requests. By default, fields with empty or
  6896  	// default values are omitted from API requests. See
  6897  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6898  	// details.
  6899  	ForceSendFields []string `json:"-"`
  6900  	// NullFields is a list of field names (e.g. "CountryTargeting") to include in
  6901  	// API requests with the JSON null value. By default, fields with empty values
  6902  	// are omitted from API requests. See
  6903  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6904  	NullFields []string `json:"-"`
  6905  }
  6906  
  6907  func (s *TrackRelease) MarshalJSON() ([]byte, error) {
  6908  	type NoMethod TrackRelease
  6909  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6910  }
  6911  
  6912  func (s *TrackRelease) UnmarshalJSON(data []byte) error {
  6913  	type NoMethod TrackRelease
  6914  	var s1 struct {
  6915  		UserFraction gensupport.JSONFloat64 `json:"userFraction"`
  6916  		*NoMethod
  6917  	}
  6918  	s1.NoMethod = (*NoMethod)(s)
  6919  	if err := json.Unmarshal(data, &s1); err != nil {
  6920  		return err
  6921  	}
  6922  	s.UserFraction = float64(s1.UserFraction)
  6923  	return nil
  6924  }
  6925  
  6926  // TrackTargetedCountry: Representation of a single country where the contents
  6927  // of a track are available.
  6928  type TrackTargetedCountry struct {
  6929  	// CountryCode: The country to target, as a two-letter CLDR code.
  6930  	CountryCode string `json:"countryCode,omitempty"`
  6931  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  6932  	// unconditionally include in API requests. By default, fields with empty or
  6933  	// default values are omitted from API requests. See
  6934  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6935  	// details.
  6936  	ForceSendFields []string `json:"-"`
  6937  	// NullFields is a list of field names (e.g. "CountryCode") to include in API
  6938  	// requests with the JSON null value. By default, fields with empty values are
  6939  	// omitted from API requests. See
  6940  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6941  	NullFields []string `json:"-"`
  6942  }
  6943  
  6944  func (s *TrackTargetedCountry) MarshalJSON() ([]byte, error) {
  6945  	type NoMethod TrackTargetedCountry
  6946  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6947  }
  6948  
  6949  // TracksListResponse: Response listing all tracks.
  6950  type TracksListResponse struct {
  6951  	// Kind: The kind of this response ("androidpublisher#tracksListResponse").
  6952  	Kind string `json:"kind,omitempty"`
  6953  	// Tracks: All tracks (including tracks with no releases).
  6954  	Tracks []*Track `json:"tracks,omitempty"`
  6955  
  6956  	// ServerResponse contains the HTTP response code and headers from the server.
  6957  	googleapi.ServerResponse `json:"-"`
  6958  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  6959  	// include in API requests. By default, fields with empty or default values are
  6960  	// omitted from API requests. See
  6961  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6962  	// details.
  6963  	ForceSendFields []string `json:"-"`
  6964  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  6965  	// with the JSON null value. By default, fields with empty values are omitted
  6966  	// from API requests. See
  6967  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6968  	NullFields []string `json:"-"`
  6969  }
  6970  
  6971  func (s *TracksListResponse) MarshalJSON() ([]byte, error) {
  6972  	type NoMethod TracksListResponse
  6973  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6974  }
  6975  
  6976  // UpdateBasePlanStateRequest: Request message to update the state of a
  6977  // subscription base plan.
  6978  type UpdateBasePlanStateRequest struct {
  6979  	// ActivateBasePlanRequest: Activates a base plan. Once activated, base plans
  6980  	// will be available to new subscribers.
  6981  	ActivateBasePlanRequest *ActivateBasePlanRequest `json:"activateBasePlanRequest,omitempty"`
  6982  	// DeactivateBasePlanRequest: Deactivates a base plan. Once deactivated, the
  6983  	// base plan will become unavailable to new subscribers, but existing
  6984  	// subscribers will maintain their subscription
  6985  	DeactivateBasePlanRequest *DeactivateBasePlanRequest `json:"deactivateBasePlanRequest,omitempty"`
  6986  	// ForceSendFields is a list of field names (e.g. "ActivateBasePlanRequest") to
  6987  	// unconditionally include in API requests. By default, fields with empty or
  6988  	// default values are omitted from API requests. See
  6989  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6990  	// details.
  6991  	ForceSendFields []string `json:"-"`
  6992  	// NullFields is a list of field names (e.g. "ActivateBasePlanRequest") to
  6993  	// include in API requests with the JSON null value. By default, fields with
  6994  	// empty values are omitted from API requests. See
  6995  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6996  	NullFields []string `json:"-"`
  6997  }
  6998  
  6999  func (s *UpdateBasePlanStateRequest) MarshalJSON() ([]byte, error) {
  7000  	type NoMethod UpdateBasePlanStateRequest
  7001  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7002  }
  7003  
  7004  // UpdateSubscriptionOfferRequest: Request message for UpdateSubscriptionOffer.
  7005  type UpdateSubscriptionOfferRequest struct {
  7006  	// AllowMissing: Optional. If set to true, and the subscription offer with the
  7007  	// given package_name, product_id, base_plan_id and offer_id doesn't exist, an
  7008  	// offer will be created. If a new offer is created, update_mask is ignored.
  7009  	AllowMissing bool `json:"allowMissing,omitempty"`
  7010  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  7011  	// this product update. Defaults to latency-sensitive.
  7012  	//
  7013  	// Possible values:
  7014  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  7015  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  7016  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  7017  	// propagate to clients within several minutes on average and up to a few hours
  7018  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  7019  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  7020  	// propagate to clients within 24 hours. Supports high throughput of up to
  7021  	// 720,000 updates per app per hour using batch modification methods.
  7022  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  7023  	// RegionsVersion: Required. The version of the available regions being used
  7024  	// for the subscription_offer.
  7025  	RegionsVersion *RegionsVersion `json:"regionsVersion,omitempty"`
  7026  	// SubscriptionOffer: Required. The subscription offer to update.
  7027  	SubscriptionOffer *SubscriptionOffer `json:"subscriptionOffer,omitempty"`
  7028  	// UpdateMask: Required. The list of fields to be updated.
  7029  	UpdateMask string `json:"updateMask,omitempty"`
  7030  	// ForceSendFields is a list of field names (e.g. "AllowMissing") to
  7031  	// unconditionally include in API requests. By default, fields with empty or
  7032  	// default values are omitted from API requests. See
  7033  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7034  	// details.
  7035  	ForceSendFields []string `json:"-"`
  7036  	// NullFields is a list of field names (e.g. "AllowMissing") to include in API
  7037  	// requests with the JSON null value. By default, fields with empty values are
  7038  	// omitted from API requests. See
  7039  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7040  	NullFields []string `json:"-"`
  7041  }
  7042  
  7043  func (s *UpdateSubscriptionOfferRequest) MarshalJSON() ([]byte, error) {
  7044  	type NoMethod UpdateSubscriptionOfferRequest
  7045  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7046  }
  7047  
  7048  // UpdateSubscriptionOfferStateRequest: Request message to update the state of
  7049  // a subscription offer.
  7050  type UpdateSubscriptionOfferStateRequest struct {
  7051  	// ActivateSubscriptionOfferRequest: Activates an offer. Once activated, the
  7052  	// offer will be available to new subscribers.
  7053  	ActivateSubscriptionOfferRequest *ActivateSubscriptionOfferRequest `json:"activateSubscriptionOfferRequest,omitempty"`
  7054  	// DeactivateSubscriptionOfferRequest: Deactivates an offer. Once deactivated,
  7055  	// the offer will become unavailable to new subscribers, but existing
  7056  	// subscribers will maintain their subscription
  7057  	DeactivateSubscriptionOfferRequest *DeactivateSubscriptionOfferRequest `json:"deactivateSubscriptionOfferRequest,omitempty"`
  7058  	// ForceSendFields is a list of field names (e.g.
  7059  	// "ActivateSubscriptionOfferRequest") to unconditionally include in API
  7060  	// requests. By default, fields with empty or default values are omitted from
  7061  	// API requests. See
  7062  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7063  	// details.
  7064  	ForceSendFields []string `json:"-"`
  7065  	// NullFields is a list of field names (e.g.
  7066  	// "ActivateSubscriptionOfferRequest") to include in API requests with the JSON
  7067  	// null value. By default, fields with empty values are omitted from API
  7068  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  7069  	// more details.
  7070  	NullFields []string `json:"-"`
  7071  }
  7072  
  7073  func (s *UpdateSubscriptionOfferStateRequest) MarshalJSON() ([]byte, error) {
  7074  	type NoMethod UpdateSubscriptionOfferStateRequest
  7075  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7076  }
  7077  
  7078  // UpdateSubscriptionRequest: Request message for UpdateSubscription.
  7079  type UpdateSubscriptionRequest struct {
  7080  	// AllowMissing: Optional. If set to true, and the subscription with the given
  7081  	// package_name and product_id doesn't exist, the subscription will be created.
  7082  	// If a new subscription is created, update_mask is ignored.
  7083  	AllowMissing bool `json:"allowMissing,omitempty"`
  7084  	// LatencyTolerance: Optional. The latency tolerance for the propagation of
  7085  	// this product update. Defaults to latency-sensitive.
  7086  	//
  7087  	// Possible values:
  7088  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
  7089  	// PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
  7090  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
  7091  	// propagate to clients within several minutes on average and up to a few hours
  7092  	// in rare cases. Throughput is limited to 7,200 updates per app per hour.
  7093  	//   "PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
  7094  	// propagate to clients within 24 hours. Supports high throughput of up to
  7095  	// 720,000 updates per app per hour using batch modification methods.
  7096  	LatencyTolerance string `json:"latencyTolerance,omitempty"`
  7097  	// RegionsVersion: Required. The version of the available regions being used
  7098  	// for the subscription.
  7099  	RegionsVersion *RegionsVersion `json:"regionsVersion,omitempty"`
  7100  	// Subscription: Required. The subscription to update.
  7101  	Subscription *Subscription `json:"subscription,omitempty"`
  7102  	// UpdateMask: Required. The list of fields to be updated.
  7103  	UpdateMask string `json:"updateMask,omitempty"`
  7104  	// ForceSendFields is a list of field names (e.g. "AllowMissing") to
  7105  	// unconditionally include in API requests. By default, fields with empty or
  7106  	// default values are omitted from API requests. See
  7107  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7108  	// details.
  7109  	ForceSendFields []string `json:"-"`
  7110  	// NullFields is a list of field names (e.g. "AllowMissing") to include in API
  7111  	// requests with the JSON null value. By default, fields with empty values are
  7112  	// omitted from API requests. See
  7113  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7114  	NullFields []string `json:"-"`
  7115  }
  7116  
  7117  func (s *UpdateSubscriptionRequest) MarshalJSON() ([]byte, error) {
  7118  	type NoMethod UpdateSubscriptionRequest
  7119  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7120  }
  7121  
  7122  // UpgradeTargetingRule: Represents a targeting rule of the form: User
  7123  // currently has {scope} [with billing period {billing_period}].
  7124  type UpgradeTargetingRule struct {
  7125  	// BillingPeriodDuration: The specific billing period duration, specified in
  7126  	// ISO 8601 format, that a user must be currently subscribed to to be eligible
  7127  	// for this rule. If not specified, users subscribed to any billing period are
  7128  	// matched.
  7129  	BillingPeriodDuration string `json:"billingPeriodDuration,omitempty"`
  7130  	// OncePerUser: Limit this offer to only once per user. If set to true, a user
  7131  	// can never be eligible for this offer again if they ever subscribed to this
  7132  	// offer.
  7133  	OncePerUser bool `json:"oncePerUser,omitempty"`
  7134  	// Scope: Required. The scope of subscriptions this rule considers. Only allows
  7135  	// "this subscription" and "specific subscription in app".
  7136  	Scope *TargetingRuleScope `json:"scope,omitempty"`
  7137  	// ForceSendFields is a list of field names (e.g. "BillingPeriodDuration") to
  7138  	// unconditionally include in API requests. By default, fields with empty or
  7139  	// default values are omitted from API requests. See
  7140  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7141  	// details.
  7142  	ForceSendFields []string `json:"-"`
  7143  	// NullFields is a list of field names (e.g. "BillingPeriodDuration") to
  7144  	// include in API requests with the JSON null value. By default, fields with
  7145  	// empty values are omitted from API requests. See
  7146  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7147  	NullFields []string `json:"-"`
  7148  }
  7149  
  7150  func (s *UpgradeTargetingRule) MarshalJSON() ([]byte, error) {
  7151  	type NoMethod UpgradeTargetingRule
  7152  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7153  }
  7154  
  7155  // User: A user resource.
  7156  type User struct {
  7157  	// AccessState: Output only. The state of the user's access to the Play
  7158  	// Console.
  7159  	//
  7160  	// Possible values:
  7161  	//   "ACCESS_STATE_UNSPECIFIED" - Unknown or unspecified access state.
  7162  	//   "INVITED" - User is invited but has not yet accepted the invitation.
  7163  	//   "INVITATION_EXPIRED" - Invitation has expired.
  7164  	//   "ACCESS_GRANTED" - User has accepted an invitation and has access to the
  7165  	// Play Console.
  7166  	//   "ACCESS_EXPIRED" - Account access has expired.
  7167  	AccessState string `json:"accessState,omitempty"`
  7168  	// DeveloperAccountPermissions: Permissions for the user which apply across the
  7169  	// developer account.
  7170  	//
  7171  	// Possible values:
  7172  	//   "DEVELOPER_LEVEL_PERMISSION_UNSPECIFIED" - Unknown or unspecified
  7173  	// permission.
  7174  	//   "CAN_SEE_ALL_APPS" - View app information and download bulk reports
  7175  	// (read-only). Deprecated: Check CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL.
  7176  	//   "CAN_VIEW_FINANCIAL_DATA_GLOBAL" - View financial data, orders, and
  7177  	// cancellation survey responses.
  7178  	//   "CAN_MANAGE_PERMISSIONS_GLOBAL" - Admin (all permissions).
  7179  	//   "CAN_EDIT_GAMES_GLOBAL" - Edit Play Games Services projects.
  7180  	//   "CAN_PUBLISH_GAMES_GLOBAL" - Publish Play Games Services projects.
  7181  	//   "CAN_REPLY_TO_REVIEWS_GLOBAL" - Reply to reviews.
  7182  	//   "CAN_MANAGE_PUBLIC_APKS_GLOBAL" - Release to production, exclude devices,
  7183  	// and use app signing by Google Play.
  7184  	//   "CAN_MANAGE_TRACK_APKS_GLOBAL" - Release to testing tracks.
  7185  	//   "CAN_MANAGE_TRACK_USERS_GLOBAL" - Manage testing tracks and edit tester
  7186  	// lists.
  7187  	//   "CAN_MANAGE_PUBLIC_LISTING_GLOBAL" - Manage store presence.
  7188  	//   "CAN_MANAGE_DRAFT_APPS_GLOBAL" - Create, edit, and delete draft apps.
  7189  	//   "CAN_CREATE_MANAGED_PLAY_APPS_GLOBAL" - Create and publish private apps to
  7190  	// your organization.
  7191  	//   "CAN_CHANGE_MANAGED_PLAY_SETTING_GLOBAL" - Choose whether apps are public,
  7192  	// or only available to your organization.
  7193  	//   "CAN_MANAGE_ORDERS_GLOBAL" - Manage orders and subscriptions.
  7194  	//   "CAN_MANAGE_APP_CONTENT_GLOBAL" - Manage policy related pages on all apps
  7195  	// for the developer.
  7196  	//   "CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL" - View app information and download
  7197  	// bulk reports (read-only).
  7198  	//   "CAN_VIEW_APP_QUALITY_GLOBAL" - View app quality information for all apps
  7199  	// for the developer.
  7200  	//   "CAN_MANAGE_DEEPLINKS_GLOBAL" - Manage the deep links setup for all apps
  7201  	// for the developer.
  7202  	DeveloperAccountPermissions []string `json:"developerAccountPermissions,omitempty"`
  7203  	// Email: Immutable. The user's email address.
  7204  	Email string `json:"email,omitempty"`
  7205  	// ExpirationTime: The time at which the user's access expires, if set. When
  7206  	// setting this value, it must always be in the future.
  7207  	ExpirationTime string `json:"expirationTime,omitempty"`
  7208  	// Grants: Output only. Per-app permissions for the user.
  7209  	Grants []*Grant `json:"grants,omitempty"`
  7210  	// Name: Required. Resource name for this user, following the pattern
  7211  	// "developers/{developer}/users/{email}".
  7212  	Name string `json:"name,omitempty"`
  7213  	// Partial: Output only. Whether there are more permissions for the user that
  7214  	// are not represented here. This can happen if the caller does not have
  7215  	// permission to manage all apps in the account. This is also `true` if this
  7216  	// user is the account owner. If this field is `true`, it should be taken as a
  7217  	// signal that this user cannot be fully managed via the API. That is, the API
  7218  	// caller is not be able to manage all of the permissions this user holds,
  7219  	// either because it doesn't know about them or because the user is the account
  7220  	// owner.
  7221  	Partial bool `json:"partial,omitempty"`
  7222  
  7223  	// ServerResponse contains the HTTP response code and headers from the server.
  7224  	googleapi.ServerResponse `json:"-"`
  7225  	// ForceSendFields is a list of field names (e.g. "AccessState") to
  7226  	// unconditionally include in API requests. By default, fields with empty or
  7227  	// default values are omitted from API requests. See
  7228  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7229  	// details.
  7230  	ForceSendFields []string `json:"-"`
  7231  	// NullFields is a list of field names (e.g. "AccessState") to include in API
  7232  	// requests with the JSON null value. By default, fields with empty values are
  7233  	// omitted from API requests. See
  7234  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7235  	NullFields []string `json:"-"`
  7236  }
  7237  
  7238  func (s *User) MarshalJSON() ([]byte, error) {
  7239  	type NoMethod User
  7240  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7241  }
  7242  
  7243  // UserComment: User entry from conversation between user and developer.
  7244  type UserComment struct {
  7245  	// AndroidOsVersion: Integer Android SDK version of the user's device at the
  7246  	// time the review was written, e.g. 23 is Marshmallow. May be absent.
  7247  	AndroidOsVersion int64 `json:"androidOsVersion,omitempty"`
  7248  	// AppVersionCode: Integer version code of the app as installed at the time the
  7249  	// review was written. May be absent.
  7250  	AppVersionCode int64 `json:"appVersionCode,omitempty"`
  7251  	// AppVersionName: String version name of the app as installed at the time the
  7252  	// review was written. May be absent.
  7253  	AppVersionName string `json:"appVersionName,omitempty"`
  7254  	// Device: Codename for the reviewer's device, e.g. klte, flounder. May be
  7255  	// absent.
  7256  	Device string `json:"device,omitempty"`
  7257  	// DeviceMetadata: Information about the characteristics of the user's device.
  7258  	DeviceMetadata *DeviceMetadata `json:"deviceMetadata,omitempty"`
  7259  	// LastModified: The last time at which this comment was updated.
  7260  	LastModified *Timestamp `json:"lastModified,omitempty"`
  7261  	// OriginalText: Untranslated text of the review, where the review was
  7262  	// translated. If the review was not translated this is left blank.
  7263  	OriginalText string `json:"originalText,omitempty"`
  7264  	// ReviewerLanguage: Language code for the reviewer. This is taken from the
  7265  	// device settings so is not guaranteed to match the language the review is
  7266  	// written in. May be absent.
  7267  	ReviewerLanguage string `json:"reviewerLanguage,omitempty"`
  7268  	// StarRating: The star rating associated with the review, from 1 to 5.
  7269  	StarRating int64 `json:"starRating,omitempty"`
  7270  	// Text: The content of the comment, i.e. review body. In some cases users have
  7271  	// been able to write a review with separate title and body; in those cases the
  7272  	// title and body are concatenated and separated by a tab character.
  7273  	Text string `json:"text,omitempty"`
  7274  	// ThumbsDownCount: Number of users who have given this review a thumbs down.
  7275  	ThumbsDownCount int64 `json:"thumbsDownCount,omitempty"`
  7276  	// ThumbsUpCount: Number of users who have given this review a thumbs up.
  7277  	ThumbsUpCount int64 `json:"thumbsUpCount,omitempty"`
  7278  	// ForceSendFields is a list of field names (e.g. "AndroidOsVersion") to
  7279  	// unconditionally include in API requests. By default, fields with empty or
  7280  	// default values are omitted from API requests. See
  7281  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7282  	// details.
  7283  	ForceSendFields []string `json:"-"`
  7284  	// NullFields is a list of field names (e.g. "AndroidOsVersion") to include in
  7285  	// API requests with the JSON null value. By default, fields with empty values
  7286  	// are omitted from API requests. See
  7287  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7288  	NullFields []string `json:"-"`
  7289  }
  7290  
  7291  func (s *UserComment) MarshalJSON() ([]byte, error) {
  7292  	type NoMethod UserComment
  7293  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7294  }
  7295  
  7296  // UserCountriesTargeting: Describes an inclusive/exclusive list of country
  7297  // codes that module targets.
  7298  type UserCountriesTargeting struct {
  7299  	// CountryCodes: List of country codes in the two-letter CLDR territory format.
  7300  	CountryCodes []string `json:"countryCodes,omitempty"`
  7301  	// Exclude: Indicates if the list above is exclusive.
  7302  	Exclude bool `json:"exclude,omitempty"`
  7303  	// ForceSendFields is a list of field names (e.g. "CountryCodes") to
  7304  	// unconditionally include in API requests. By default, fields with empty or
  7305  	// default values are omitted from API requests. See
  7306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7307  	// details.
  7308  	ForceSendFields []string `json:"-"`
  7309  	// NullFields is a list of field names (e.g. "CountryCodes") to include in API
  7310  	// requests with the JSON null value. By default, fields with empty values are
  7311  	// omitted from API requests. See
  7312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7313  	NullFields []string `json:"-"`
  7314  }
  7315  
  7316  func (s *UserCountriesTargeting) MarshalJSON() ([]byte, error) {
  7317  	type NoMethod UserCountriesTargeting
  7318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7319  }
  7320  
  7321  // UserCountrySet: A set of user countries. A country set determines what
  7322  // variation of app content gets served to a specific location.
  7323  type UserCountrySet struct {
  7324  	// CountryCodes: List of country codes representing countries. A Country code
  7325  	// is represented in ISO 3166 alpha-2 format. For Example:- "IT" for Italy,
  7326  	// "GE" for Georgia.
  7327  	CountryCodes []string `json:"countryCodes,omitempty"`
  7328  	// Name: Country set name.
  7329  	Name string `json:"name,omitempty"`
  7330  	// ForceSendFields is a list of field names (e.g. "CountryCodes") to
  7331  	// unconditionally include in API requests. By default, fields with empty or
  7332  	// default values are omitted from API requests. See
  7333  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7334  	// details.
  7335  	ForceSendFields []string `json:"-"`
  7336  	// NullFields is a list of field names (e.g. "CountryCodes") to include in API
  7337  	// requests with the JSON null value. By default, fields with empty values are
  7338  	// omitted from API requests. See
  7339  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7340  	NullFields []string `json:"-"`
  7341  }
  7342  
  7343  func (s *UserCountrySet) MarshalJSON() ([]byte, error) {
  7344  	type NoMethod UserCountrySet
  7345  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7346  }
  7347  
  7348  // UserInitiatedCancellation: Information specific to cancellations initiated
  7349  // by users.
  7350  type UserInitiatedCancellation struct {
  7351  	// CancelSurveyResult: Information provided by the user when they complete the
  7352  	// subscription cancellation flow (cancellation reason survey).
  7353  	CancelSurveyResult *CancelSurveyResult `json:"cancelSurveyResult,omitempty"`
  7354  	// CancelTime: The time at which the subscription was canceled by the user. The
  7355  	// user might still have access to the subscription after this time. Use
  7356  	// line_items.expiry_time to determine if a user still has access.
  7357  	CancelTime string `json:"cancelTime,omitempty"`
  7358  	// ForceSendFields is a list of field names (e.g. "CancelSurveyResult") to
  7359  	// unconditionally include in API requests. By default, fields with empty or
  7360  	// default values are omitted from API requests. See
  7361  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7362  	// details.
  7363  	ForceSendFields []string `json:"-"`
  7364  	// NullFields is a list of field names (e.g. "CancelSurveyResult") to include
  7365  	// in API requests with the JSON null value. By default, fields with empty
  7366  	// values are omitted from API requests. See
  7367  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7368  	NullFields []string `json:"-"`
  7369  }
  7370  
  7371  func (s *UserInitiatedCancellation) MarshalJSON() ([]byte, error) {
  7372  	type NoMethod UserInitiatedCancellation
  7373  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7374  }
  7375  
  7376  // UsesPermission: A permission used by this APK.
  7377  type UsesPermission struct {
  7378  	// MaxSdkVersion: Optionally, the maximum SDK version for which the permission
  7379  	// is required.
  7380  	MaxSdkVersion int64 `json:"maxSdkVersion,omitempty"`
  7381  	// Name: The name of the permission requested.
  7382  	Name string `json:"name,omitempty"`
  7383  	// ForceSendFields is a list of field names (e.g. "MaxSdkVersion") to
  7384  	// unconditionally include in API requests. By default, fields with empty or
  7385  	// default values are omitted from API requests. See
  7386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7387  	// details.
  7388  	ForceSendFields []string `json:"-"`
  7389  	// NullFields is a list of field names (e.g. "MaxSdkVersion") to include in API
  7390  	// requests with the JSON null value. By default, fields with empty values are
  7391  	// omitted from API requests. See
  7392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7393  	NullFields []string `json:"-"`
  7394  }
  7395  
  7396  func (s *UsesPermission) MarshalJSON() ([]byte, error) {
  7397  	type NoMethod UsesPermission
  7398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7399  }
  7400  
  7401  // Variant: APK that is suitable for inclusion in a system image. The resource
  7402  // of SystemApksService.
  7403  type Variant struct {
  7404  	// DeviceSpec: The device spec used to generate the APK.
  7405  	DeviceSpec *DeviceSpec `json:"deviceSpec,omitempty"`
  7406  	// Options: Optional. Options applied to the generated APK.
  7407  	Options *SystemApkOptions `json:"options,omitempty"`
  7408  	// VariantId: Output only. The ID of a previously created system APK variant.
  7409  	VariantId int64 `json:"variantId,omitempty"`
  7410  
  7411  	// ServerResponse contains the HTTP response code and headers from the server.
  7412  	googleapi.ServerResponse `json:"-"`
  7413  	// ForceSendFields is a list of field names (e.g. "DeviceSpec") to
  7414  	// unconditionally include in API requests. By default, fields with empty or
  7415  	// default values are omitted from API requests. See
  7416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7417  	// details.
  7418  	ForceSendFields []string `json:"-"`
  7419  	// NullFields is a list of field names (e.g. "DeviceSpec") to include in API
  7420  	// requests with the JSON null value. By default, fields with empty values are
  7421  	// omitted from API requests. See
  7422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7423  	NullFields []string `json:"-"`
  7424  }
  7425  
  7426  func (s *Variant) MarshalJSON() ([]byte, error) {
  7427  	type NoMethod Variant
  7428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7429  }
  7430  
  7431  // VariantTargeting: Targeting on the level of variants.
  7432  type VariantTargeting struct {
  7433  	// AbiTargeting: The abi that the variant targets
  7434  	AbiTargeting *AbiTargeting `json:"abiTargeting,omitempty"`
  7435  	// MultiAbiTargeting: Multi-api-level targeting
  7436  	MultiAbiTargeting *MultiAbiTargeting `json:"multiAbiTargeting,omitempty"`
  7437  	// ScreenDensityTargeting: The screen densities that this variant supports
  7438  	ScreenDensityTargeting *ScreenDensityTargeting `json:"screenDensityTargeting,omitempty"`
  7439  	// SdkVersionTargeting: The sdk version that the variant targets
  7440  	SdkVersionTargeting *SdkVersionTargeting `json:"sdkVersionTargeting,omitempty"`
  7441  	// TextureCompressionFormatTargeting: Texture-compression-format-level
  7442  	// targeting
  7443  	TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `json:"textureCompressionFormatTargeting,omitempty"`
  7444  	// ForceSendFields is a list of field names (e.g. "AbiTargeting") to
  7445  	// unconditionally include in API requests. By default, fields with empty or
  7446  	// default values are omitted from API requests. See
  7447  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7448  	// details.
  7449  	ForceSendFields []string `json:"-"`
  7450  	// NullFields is a list of field names (e.g. "AbiTargeting") to include in API
  7451  	// requests with the JSON null value. By default, fields with empty values are
  7452  	// omitted from API requests. See
  7453  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7454  	NullFields []string `json:"-"`
  7455  }
  7456  
  7457  func (s *VariantTargeting) MarshalJSON() ([]byte, error) {
  7458  	type NoMethod VariantTargeting
  7459  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7460  }
  7461  
  7462  // VoidedPurchase: A VoidedPurchase resource indicates a purchase that was
  7463  // either canceled/refunded/charged-back.
  7464  type VoidedPurchase struct {
  7465  	// Kind: This kind represents a voided purchase object in the androidpublisher
  7466  	// service.
  7467  	Kind string `json:"kind,omitempty"`
  7468  	// OrderId: The order id which uniquely identifies a one-time purchase,
  7469  	// subscription purchase, or subscription renewal.
  7470  	OrderId string `json:"orderId,omitempty"`
  7471  	// PurchaseTimeMillis: The time at which the purchase was made, in milliseconds
  7472  	// since the epoch (Jan 1, 1970).
  7473  	PurchaseTimeMillis int64 `json:"purchaseTimeMillis,omitempty,string"`
  7474  	// PurchaseToken: The token which uniquely identifies a one-time purchase or
  7475  	// subscription. To uniquely identify subscription renewals use order_id
  7476  	// (available starting from version 3 of the API).
  7477  	PurchaseToken string `json:"purchaseToken,omitempty"`
  7478  	// VoidedQuantity: The voided quantity as the result of a quantity-based
  7479  	// partial refund. Voided purchases of quantity-based partial refunds may only
  7480  	// be returned when includeQuantityBasedPartialRefund is set to true.
  7481  	VoidedQuantity int64 `json:"voidedQuantity,omitempty"`
  7482  	// VoidedReason: The reason why the purchase was voided, possible values are:
  7483  	// 0. Other 1. Remorse 2. Not_received 3. Defective 4. Accidental_purchase 5.
  7484  	// Fraud 6. Friendly_fraud 7. Chargeback
  7485  	VoidedReason int64 `json:"voidedReason,omitempty"`
  7486  	// VoidedSource: The initiator of voided purchase, possible values are: 0. User
  7487  	// 1. Developer 2. Google
  7488  	VoidedSource int64 `json:"voidedSource,omitempty"`
  7489  	// VoidedTimeMillis: The time at which the purchase was
  7490  	// canceled/refunded/charged-back, in milliseconds since the epoch (Jan 1,
  7491  	// 1970).
  7492  	VoidedTimeMillis int64 `json:"voidedTimeMillis,omitempty,string"`
  7493  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  7494  	// include in API requests. By default, fields with empty or default values are
  7495  	// omitted from API requests. See
  7496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7497  	// details.
  7498  	ForceSendFields []string `json:"-"`
  7499  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  7500  	// with the JSON null value. By default, fields with empty values are omitted
  7501  	// from API requests. See
  7502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7503  	NullFields []string `json:"-"`
  7504  }
  7505  
  7506  func (s *VoidedPurchase) MarshalJSON() ([]byte, error) {
  7507  	type NoMethod VoidedPurchase
  7508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7509  }
  7510  
  7511  // VoidedPurchasesListResponse: Response for the voidedpurchases.list API.
  7512  type VoidedPurchasesListResponse struct {
  7513  	// PageInfo: General pagination information.
  7514  	PageInfo *PageInfo `json:"pageInfo,omitempty"`
  7515  	// TokenPagination: Pagination information for token pagination.
  7516  	TokenPagination *TokenPagination  `json:"tokenPagination,omitempty"`
  7517  	VoidedPurchases []*VoidedPurchase `json:"voidedPurchases,omitempty"`
  7518  
  7519  	// ServerResponse contains the HTTP response code and headers from the server.
  7520  	googleapi.ServerResponse `json:"-"`
  7521  	// ForceSendFields is a list of field names (e.g. "PageInfo") to
  7522  	// unconditionally include in API requests. By default, fields with empty or
  7523  	// default values are omitted from API requests. See
  7524  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7525  	// details.
  7526  	ForceSendFields []string `json:"-"`
  7527  	// NullFields is a list of field names (e.g. "PageInfo") to include in API
  7528  	// requests with the JSON null value. By default, fields with empty values are
  7529  	// omitted from API requests. See
  7530  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7531  	NullFields []string `json:"-"`
  7532  }
  7533  
  7534  func (s *VoidedPurchasesListResponse) MarshalJSON() ([]byte, error) {
  7535  	type NoMethod VoidedPurchasesListResponse
  7536  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7537  }
  7538  
  7539  type ApplicationsDataSafetyCall struct {
  7540  	s                         *Service
  7541  	packageName               string
  7542  	safetylabelsupdaterequest *SafetyLabelsUpdateRequest
  7543  	urlParams_                gensupport.URLParams
  7544  	ctx_                      context.Context
  7545  	header_                   http.Header
  7546  }
  7547  
  7548  // DataSafety: Writes the Safety Labels declaration of an app.
  7549  //
  7550  // - packageName: Package name of the app.
  7551  func (r *ApplicationsService) DataSafety(packageName string, safetylabelsupdaterequest *SafetyLabelsUpdateRequest) *ApplicationsDataSafetyCall {
  7552  	c := &ApplicationsDataSafetyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7553  	c.packageName = packageName
  7554  	c.safetylabelsupdaterequest = safetylabelsupdaterequest
  7555  	return c
  7556  }
  7557  
  7558  // Fields allows partial responses to be retrieved. See
  7559  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7560  // details.
  7561  func (c *ApplicationsDataSafetyCall) Fields(s ...googleapi.Field) *ApplicationsDataSafetyCall {
  7562  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7563  	return c
  7564  }
  7565  
  7566  // Context sets the context to be used in this call's Do method.
  7567  func (c *ApplicationsDataSafetyCall) Context(ctx context.Context) *ApplicationsDataSafetyCall {
  7568  	c.ctx_ = ctx
  7569  	return c
  7570  }
  7571  
  7572  // Header returns a http.Header that can be modified by the caller to add
  7573  // headers to the request.
  7574  func (c *ApplicationsDataSafetyCall) Header() http.Header {
  7575  	if c.header_ == nil {
  7576  		c.header_ = make(http.Header)
  7577  	}
  7578  	return c.header_
  7579  }
  7580  
  7581  func (c *ApplicationsDataSafetyCall) doRequest(alt string) (*http.Response, error) {
  7582  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7583  	var body io.Reader = nil
  7584  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.safetylabelsupdaterequest)
  7585  	if err != nil {
  7586  		return nil, err
  7587  	}
  7588  	c.urlParams_.Set("alt", alt)
  7589  	c.urlParams_.Set("prettyPrint", "false")
  7590  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/dataSafety")
  7591  	urls += "?" + c.urlParams_.Encode()
  7592  	req, err := http.NewRequest("POST", urls, body)
  7593  	if err != nil {
  7594  		return nil, err
  7595  	}
  7596  	req.Header = reqHeaders
  7597  	googleapi.Expand(req.URL, map[string]string{
  7598  		"packageName": c.packageName,
  7599  	})
  7600  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7601  }
  7602  
  7603  // Do executes the "androidpublisher.applications.dataSafety" call.
  7604  // Any non-2xx status code is an error. Response headers are in either
  7605  // *SafetyLabelsUpdateResponse.ServerResponse.Header or (if a response was
  7606  // returned at all) in error.(*googleapi.Error).Header. Use
  7607  // googleapi.IsNotModified to check whether the returned error was because
  7608  // http.StatusNotModified was returned.
  7609  func (c *ApplicationsDataSafetyCall) Do(opts ...googleapi.CallOption) (*SafetyLabelsUpdateResponse, error) {
  7610  	gensupport.SetOptions(c.urlParams_, opts...)
  7611  	res, err := c.doRequest("json")
  7612  	if res != nil && res.StatusCode == http.StatusNotModified {
  7613  		if res.Body != nil {
  7614  			res.Body.Close()
  7615  		}
  7616  		return nil, gensupport.WrapError(&googleapi.Error{
  7617  			Code:   res.StatusCode,
  7618  			Header: res.Header,
  7619  		})
  7620  	}
  7621  	if err != nil {
  7622  		return nil, err
  7623  	}
  7624  	defer googleapi.CloseBody(res)
  7625  	if err := googleapi.CheckResponse(res); err != nil {
  7626  		return nil, gensupport.WrapError(err)
  7627  	}
  7628  	ret := &SafetyLabelsUpdateResponse{
  7629  		ServerResponse: googleapi.ServerResponse{
  7630  			Header:         res.Header,
  7631  			HTTPStatusCode: res.StatusCode,
  7632  		},
  7633  	}
  7634  	target := &ret
  7635  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7636  		return nil, err
  7637  	}
  7638  	return ret, nil
  7639  }
  7640  
  7641  type ApplicationsDeviceTierConfigsCreateCall struct {
  7642  	s                *Service
  7643  	packageName      string
  7644  	devicetierconfig *DeviceTierConfig
  7645  	urlParams_       gensupport.URLParams
  7646  	ctx_             context.Context
  7647  	header_          http.Header
  7648  }
  7649  
  7650  // Create: Creates a new device tier config for an app.
  7651  //
  7652  // - packageName: Package name of the app.
  7653  func (r *ApplicationsDeviceTierConfigsService) Create(packageName string, devicetierconfig *DeviceTierConfig) *ApplicationsDeviceTierConfigsCreateCall {
  7654  	c := &ApplicationsDeviceTierConfigsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7655  	c.packageName = packageName
  7656  	c.devicetierconfig = devicetierconfig
  7657  	return c
  7658  }
  7659  
  7660  // AllowUnknownDevices sets the optional parameter "allowUnknownDevices":
  7661  // Whether the service should accept device IDs that are unknown to Play's
  7662  // device catalog.
  7663  func (c *ApplicationsDeviceTierConfigsCreateCall) AllowUnknownDevices(allowUnknownDevices bool) *ApplicationsDeviceTierConfigsCreateCall {
  7664  	c.urlParams_.Set("allowUnknownDevices", fmt.Sprint(allowUnknownDevices))
  7665  	return c
  7666  }
  7667  
  7668  // Fields allows partial responses to be retrieved. See
  7669  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7670  // details.
  7671  func (c *ApplicationsDeviceTierConfigsCreateCall) Fields(s ...googleapi.Field) *ApplicationsDeviceTierConfigsCreateCall {
  7672  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7673  	return c
  7674  }
  7675  
  7676  // Context sets the context to be used in this call's Do method.
  7677  func (c *ApplicationsDeviceTierConfigsCreateCall) Context(ctx context.Context) *ApplicationsDeviceTierConfigsCreateCall {
  7678  	c.ctx_ = ctx
  7679  	return c
  7680  }
  7681  
  7682  // Header returns a http.Header that can be modified by the caller to add
  7683  // headers to the request.
  7684  func (c *ApplicationsDeviceTierConfigsCreateCall) Header() http.Header {
  7685  	if c.header_ == nil {
  7686  		c.header_ = make(http.Header)
  7687  	}
  7688  	return c.header_
  7689  }
  7690  
  7691  func (c *ApplicationsDeviceTierConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
  7692  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7693  	var body io.Reader = nil
  7694  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.devicetierconfig)
  7695  	if err != nil {
  7696  		return nil, err
  7697  	}
  7698  	c.urlParams_.Set("alt", alt)
  7699  	c.urlParams_.Set("prettyPrint", "false")
  7700  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/deviceTierConfigs")
  7701  	urls += "?" + c.urlParams_.Encode()
  7702  	req, err := http.NewRequest("POST", urls, body)
  7703  	if err != nil {
  7704  		return nil, err
  7705  	}
  7706  	req.Header = reqHeaders
  7707  	googleapi.Expand(req.URL, map[string]string{
  7708  		"packageName": c.packageName,
  7709  	})
  7710  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7711  }
  7712  
  7713  // Do executes the "androidpublisher.applications.deviceTierConfigs.create" call.
  7714  // Any non-2xx status code is an error. Response headers are in either
  7715  // *DeviceTierConfig.ServerResponse.Header or (if a response was returned at
  7716  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7717  // check whether the returned error was because http.StatusNotModified was
  7718  // returned.
  7719  func (c *ApplicationsDeviceTierConfigsCreateCall) Do(opts ...googleapi.CallOption) (*DeviceTierConfig, error) {
  7720  	gensupport.SetOptions(c.urlParams_, opts...)
  7721  	res, err := c.doRequest("json")
  7722  	if res != nil && res.StatusCode == http.StatusNotModified {
  7723  		if res.Body != nil {
  7724  			res.Body.Close()
  7725  		}
  7726  		return nil, gensupport.WrapError(&googleapi.Error{
  7727  			Code:   res.StatusCode,
  7728  			Header: res.Header,
  7729  		})
  7730  	}
  7731  	if err != nil {
  7732  		return nil, err
  7733  	}
  7734  	defer googleapi.CloseBody(res)
  7735  	if err := googleapi.CheckResponse(res); err != nil {
  7736  		return nil, gensupport.WrapError(err)
  7737  	}
  7738  	ret := &DeviceTierConfig{
  7739  		ServerResponse: googleapi.ServerResponse{
  7740  			Header:         res.Header,
  7741  			HTTPStatusCode: res.StatusCode,
  7742  		},
  7743  	}
  7744  	target := &ret
  7745  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7746  		return nil, err
  7747  	}
  7748  	return ret, nil
  7749  }
  7750  
  7751  type ApplicationsDeviceTierConfigsGetCall struct {
  7752  	s                  *Service
  7753  	packageName        string
  7754  	deviceTierConfigId int64
  7755  	urlParams_         gensupport.URLParams
  7756  	ifNoneMatch_       string
  7757  	ctx_               context.Context
  7758  	header_            http.Header
  7759  }
  7760  
  7761  // Get: Returns a particular device tier config.
  7762  //
  7763  // - deviceTierConfigId: Id of an existing device tier config.
  7764  // - packageName: Package name of the app.
  7765  func (r *ApplicationsDeviceTierConfigsService) Get(packageName string, deviceTierConfigId int64) *ApplicationsDeviceTierConfigsGetCall {
  7766  	c := &ApplicationsDeviceTierConfigsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7767  	c.packageName = packageName
  7768  	c.deviceTierConfigId = deviceTierConfigId
  7769  	return c
  7770  }
  7771  
  7772  // Fields allows partial responses to be retrieved. See
  7773  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7774  // details.
  7775  func (c *ApplicationsDeviceTierConfigsGetCall) Fields(s ...googleapi.Field) *ApplicationsDeviceTierConfigsGetCall {
  7776  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7777  	return c
  7778  }
  7779  
  7780  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7781  // object's ETag matches the given value. This is useful for getting updates
  7782  // only after the object has changed since the last request.
  7783  func (c *ApplicationsDeviceTierConfigsGetCall) IfNoneMatch(entityTag string) *ApplicationsDeviceTierConfigsGetCall {
  7784  	c.ifNoneMatch_ = entityTag
  7785  	return c
  7786  }
  7787  
  7788  // Context sets the context to be used in this call's Do method.
  7789  func (c *ApplicationsDeviceTierConfigsGetCall) Context(ctx context.Context) *ApplicationsDeviceTierConfigsGetCall {
  7790  	c.ctx_ = ctx
  7791  	return c
  7792  }
  7793  
  7794  // Header returns a http.Header that can be modified by the caller to add
  7795  // headers to the request.
  7796  func (c *ApplicationsDeviceTierConfigsGetCall) Header() http.Header {
  7797  	if c.header_ == nil {
  7798  		c.header_ = make(http.Header)
  7799  	}
  7800  	return c.header_
  7801  }
  7802  
  7803  func (c *ApplicationsDeviceTierConfigsGetCall) doRequest(alt string) (*http.Response, error) {
  7804  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7805  	if c.ifNoneMatch_ != "" {
  7806  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7807  	}
  7808  	var body io.Reader = nil
  7809  	c.urlParams_.Set("alt", alt)
  7810  	c.urlParams_.Set("prettyPrint", "false")
  7811  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId}")
  7812  	urls += "?" + c.urlParams_.Encode()
  7813  	req, err := http.NewRequest("GET", urls, body)
  7814  	if err != nil {
  7815  		return nil, err
  7816  	}
  7817  	req.Header = reqHeaders
  7818  	googleapi.Expand(req.URL, map[string]string{
  7819  		"packageName":        c.packageName,
  7820  		"deviceTierConfigId": strconv.FormatInt(c.deviceTierConfigId, 10),
  7821  	})
  7822  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7823  }
  7824  
  7825  // Do executes the "androidpublisher.applications.deviceTierConfigs.get" call.
  7826  // Any non-2xx status code is an error. Response headers are in either
  7827  // *DeviceTierConfig.ServerResponse.Header or (if a response was returned at
  7828  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7829  // check whether the returned error was because http.StatusNotModified was
  7830  // returned.
  7831  func (c *ApplicationsDeviceTierConfigsGetCall) Do(opts ...googleapi.CallOption) (*DeviceTierConfig, error) {
  7832  	gensupport.SetOptions(c.urlParams_, opts...)
  7833  	res, err := c.doRequest("json")
  7834  	if res != nil && res.StatusCode == http.StatusNotModified {
  7835  		if res.Body != nil {
  7836  			res.Body.Close()
  7837  		}
  7838  		return nil, gensupport.WrapError(&googleapi.Error{
  7839  			Code:   res.StatusCode,
  7840  			Header: res.Header,
  7841  		})
  7842  	}
  7843  	if err != nil {
  7844  		return nil, err
  7845  	}
  7846  	defer googleapi.CloseBody(res)
  7847  	if err := googleapi.CheckResponse(res); err != nil {
  7848  		return nil, gensupport.WrapError(err)
  7849  	}
  7850  	ret := &DeviceTierConfig{
  7851  		ServerResponse: googleapi.ServerResponse{
  7852  			Header:         res.Header,
  7853  			HTTPStatusCode: res.StatusCode,
  7854  		},
  7855  	}
  7856  	target := &ret
  7857  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7858  		return nil, err
  7859  	}
  7860  	return ret, nil
  7861  }
  7862  
  7863  type ApplicationsDeviceTierConfigsListCall struct {
  7864  	s            *Service
  7865  	packageName  string
  7866  	urlParams_   gensupport.URLParams
  7867  	ifNoneMatch_ string
  7868  	ctx_         context.Context
  7869  	header_      http.Header
  7870  }
  7871  
  7872  // List: Returns created device tier configs, ordered by descending creation
  7873  // time.
  7874  //
  7875  // - packageName: Package name of the app.
  7876  func (r *ApplicationsDeviceTierConfigsService) List(packageName string) *ApplicationsDeviceTierConfigsListCall {
  7877  	c := &ApplicationsDeviceTierConfigsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7878  	c.packageName = packageName
  7879  	return c
  7880  }
  7881  
  7882  // PageSize sets the optional parameter "pageSize": The maximum number of
  7883  // device tier configs to return. The service may return fewer than this value.
  7884  // If unspecified, at most 10 device tier configs will be returned. The maximum
  7885  // value for this field is 100; values above 100 will be coerced to 100. Device
  7886  // tier configs will be ordered by descending creation time.
  7887  func (c *ApplicationsDeviceTierConfigsListCall) PageSize(pageSize int64) *ApplicationsDeviceTierConfigsListCall {
  7888  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7889  	return c
  7890  }
  7891  
  7892  // PageToken sets the optional parameter "pageToken": A page token, received
  7893  // from a previous `ListDeviceTierConfigs` call. Provide this to retrieve the
  7894  // subsequent page.
  7895  func (c *ApplicationsDeviceTierConfigsListCall) PageToken(pageToken string) *ApplicationsDeviceTierConfigsListCall {
  7896  	c.urlParams_.Set("pageToken", pageToken)
  7897  	return c
  7898  }
  7899  
  7900  // Fields allows partial responses to be retrieved. See
  7901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7902  // details.
  7903  func (c *ApplicationsDeviceTierConfigsListCall) Fields(s ...googleapi.Field) *ApplicationsDeviceTierConfigsListCall {
  7904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7905  	return c
  7906  }
  7907  
  7908  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7909  // object's ETag matches the given value. This is useful for getting updates
  7910  // only after the object has changed since the last request.
  7911  func (c *ApplicationsDeviceTierConfigsListCall) IfNoneMatch(entityTag string) *ApplicationsDeviceTierConfigsListCall {
  7912  	c.ifNoneMatch_ = entityTag
  7913  	return c
  7914  }
  7915  
  7916  // Context sets the context to be used in this call's Do method.
  7917  func (c *ApplicationsDeviceTierConfigsListCall) Context(ctx context.Context) *ApplicationsDeviceTierConfigsListCall {
  7918  	c.ctx_ = ctx
  7919  	return c
  7920  }
  7921  
  7922  // Header returns a http.Header that can be modified by the caller to add
  7923  // headers to the request.
  7924  func (c *ApplicationsDeviceTierConfigsListCall) Header() http.Header {
  7925  	if c.header_ == nil {
  7926  		c.header_ = make(http.Header)
  7927  	}
  7928  	return c.header_
  7929  }
  7930  
  7931  func (c *ApplicationsDeviceTierConfigsListCall) doRequest(alt string) (*http.Response, error) {
  7932  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7933  	if c.ifNoneMatch_ != "" {
  7934  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7935  	}
  7936  	var body io.Reader = nil
  7937  	c.urlParams_.Set("alt", alt)
  7938  	c.urlParams_.Set("prettyPrint", "false")
  7939  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/deviceTierConfigs")
  7940  	urls += "?" + c.urlParams_.Encode()
  7941  	req, err := http.NewRequest("GET", urls, body)
  7942  	if err != nil {
  7943  		return nil, err
  7944  	}
  7945  	req.Header = reqHeaders
  7946  	googleapi.Expand(req.URL, map[string]string{
  7947  		"packageName": c.packageName,
  7948  	})
  7949  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7950  }
  7951  
  7952  // Do executes the "androidpublisher.applications.deviceTierConfigs.list" call.
  7953  // Any non-2xx status code is an error. Response headers are in either
  7954  // *ListDeviceTierConfigsResponse.ServerResponse.Header or (if a response was
  7955  // returned at all) in error.(*googleapi.Error).Header. Use
  7956  // googleapi.IsNotModified to check whether the returned error was because
  7957  // http.StatusNotModified was returned.
  7958  func (c *ApplicationsDeviceTierConfigsListCall) Do(opts ...googleapi.CallOption) (*ListDeviceTierConfigsResponse, error) {
  7959  	gensupport.SetOptions(c.urlParams_, opts...)
  7960  	res, err := c.doRequest("json")
  7961  	if res != nil && res.StatusCode == http.StatusNotModified {
  7962  		if res.Body != nil {
  7963  			res.Body.Close()
  7964  		}
  7965  		return nil, gensupport.WrapError(&googleapi.Error{
  7966  			Code:   res.StatusCode,
  7967  			Header: res.Header,
  7968  		})
  7969  	}
  7970  	if err != nil {
  7971  		return nil, err
  7972  	}
  7973  	defer googleapi.CloseBody(res)
  7974  	if err := googleapi.CheckResponse(res); err != nil {
  7975  		return nil, gensupport.WrapError(err)
  7976  	}
  7977  	ret := &ListDeviceTierConfigsResponse{
  7978  		ServerResponse: googleapi.ServerResponse{
  7979  			Header:         res.Header,
  7980  			HTTPStatusCode: res.StatusCode,
  7981  		},
  7982  	}
  7983  	target := &ret
  7984  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7985  		return nil, err
  7986  	}
  7987  	return ret, nil
  7988  }
  7989  
  7990  // Pages invokes f for each page of results.
  7991  // A non-nil error returned from f will halt the iteration.
  7992  // The provided context supersedes any context provided to the Context method.
  7993  func (c *ApplicationsDeviceTierConfigsListCall) Pages(ctx context.Context, f func(*ListDeviceTierConfigsResponse) error) error {
  7994  	c.ctx_ = ctx
  7995  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7996  	for {
  7997  		x, err := c.Do()
  7998  		if err != nil {
  7999  			return err
  8000  		}
  8001  		if err := f(x); err != nil {
  8002  			return err
  8003  		}
  8004  		if x.NextPageToken == "" {
  8005  			return nil
  8006  		}
  8007  		c.PageToken(x.NextPageToken)
  8008  	}
  8009  }
  8010  
  8011  type ApprecoveryAddTargetingCall struct {
  8012  	s                   *Service
  8013  	packageName         string
  8014  	appRecoveryId       int64
  8015  	addtargetingrequest *AddTargetingRequest
  8016  	urlParams_          gensupport.URLParams
  8017  	ctx_                context.Context
  8018  	header_             http.Header
  8019  }
  8020  
  8021  // AddTargeting: Incrementally update targeting for a recovery action. Note
  8022  // that only the criteria selected during the creation of recovery action can
  8023  // be expanded.
  8024  //
  8025  //   - appRecoveryId: ID corresponding to the app recovery action.
  8026  //   - packageName: Package name of the app for which recovery action is to be
  8027  //     updated.
  8028  func (r *ApprecoveryService) AddTargeting(packageName string, appRecoveryId int64, addtargetingrequest *AddTargetingRequest) *ApprecoveryAddTargetingCall {
  8029  	c := &ApprecoveryAddTargetingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8030  	c.packageName = packageName
  8031  	c.appRecoveryId = appRecoveryId
  8032  	c.addtargetingrequest = addtargetingrequest
  8033  	return c
  8034  }
  8035  
  8036  // Fields allows partial responses to be retrieved. See
  8037  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8038  // details.
  8039  func (c *ApprecoveryAddTargetingCall) Fields(s ...googleapi.Field) *ApprecoveryAddTargetingCall {
  8040  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8041  	return c
  8042  }
  8043  
  8044  // Context sets the context to be used in this call's Do method.
  8045  func (c *ApprecoveryAddTargetingCall) Context(ctx context.Context) *ApprecoveryAddTargetingCall {
  8046  	c.ctx_ = ctx
  8047  	return c
  8048  }
  8049  
  8050  // Header returns a http.Header that can be modified by the caller to add
  8051  // headers to the request.
  8052  func (c *ApprecoveryAddTargetingCall) Header() http.Header {
  8053  	if c.header_ == nil {
  8054  		c.header_ = make(http.Header)
  8055  	}
  8056  	return c.header_
  8057  }
  8058  
  8059  func (c *ApprecoveryAddTargetingCall) doRequest(alt string) (*http.Response, error) {
  8060  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8061  	var body io.Reader = nil
  8062  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.addtargetingrequest)
  8063  	if err != nil {
  8064  		return nil, err
  8065  	}
  8066  	c.urlParams_.Set("alt", alt)
  8067  	c.urlParams_.Set("prettyPrint", "false")
  8068  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/appRecoveries/{appRecoveryId}:addTargeting")
  8069  	urls += "?" + c.urlParams_.Encode()
  8070  	req, err := http.NewRequest("POST", urls, body)
  8071  	if err != nil {
  8072  		return nil, err
  8073  	}
  8074  	req.Header = reqHeaders
  8075  	googleapi.Expand(req.URL, map[string]string{
  8076  		"packageName":   c.packageName,
  8077  		"appRecoveryId": strconv.FormatInt(c.appRecoveryId, 10),
  8078  	})
  8079  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8080  }
  8081  
  8082  // Do executes the "androidpublisher.apprecovery.addTargeting" call.
  8083  // Any non-2xx status code is an error. Response headers are in either
  8084  // *AddTargetingResponse.ServerResponse.Header or (if a response was returned
  8085  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8086  // check whether the returned error was because http.StatusNotModified was
  8087  // returned.
  8088  func (c *ApprecoveryAddTargetingCall) Do(opts ...googleapi.CallOption) (*AddTargetingResponse, error) {
  8089  	gensupport.SetOptions(c.urlParams_, opts...)
  8090  	res, err := c.doRequest("json")
  8091  	if res != nil && res.StatusCode == http.StatusNotModified {
  8092  		if res.Body != nil {
  8093  			res.Body.Close()
  8094  		}
  8095  		return nil, gensupport.WrapError(&googleapi.Error{
  8096  			Code:   res.StatusCode,
  8097  			Header: res.Header,
  8098  		})
  8099  	}
  8100  	if err != nil {
  8101  		return nil, err
  8102  	}
  8103  	defer googleapi.CloseBody(res)
  8104  	if err := googleapi.CheckResponse(res); err != nil {
  8105  		return nil, gensupport.WrapError(err)
  8106  	}
  8107  	ret := &AddTargetingResponse{
  8108  		ServerResponse: googleapi.ServerResponse{
  8109  			Header:         res.Header,
  8110  			HTTPStatusCode: res.StatusCode,
  8111  		},
  8112  	}
  8113  	target := &ret
  8114  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8115  		return nil, err
  8116  	}
  8117  	return ret, nil
  8118  }
  8119  
  8120  type ApprecoveryAppRecoveriesCall struct {
  8121  	s           *Service
  8122  	packageName string
  8123  	urlParams_  gensupport.URLParams
  8124  	ctx_        context.Context
  8125  	header_     http.Header
  8126  }
  8127  
  8128  // AppRecoveries: List all app recovery action resources associated with a
  8129  // particular package name and app version.
  8130  //
  8131  //   - packageName: Package name of the app for which list of recovery actions is
  8132  //     requested.
  8133  func (r *ApprecoveryService) AppRecoveries(packageName string) *ApprecoveryAppRecoveriesCall {
  8134  	c := &ApprecoveryAppRecoveriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8135  	c.packageName = packageName
  8136  	return c
  8137  }
  8138  
  8139  // VersionCode sets the optional parameter "versionCode": Required. Version
  8140  // code targeted by the list of recovery actions.
  8141  func (c *ApprecoveryAppRecoveriesCall) VersionCode(versionCode int64) *ApprecoveryAppRecoveriesCall {
  8142  	c.urlParams_.Set("versionCode", fmt.Sprint(versionCode))
  8143  	return c
  8144  }
  8145  
  8146  // Fields allows partial responses to be retrieved. See
  8147  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8148  // details.
  8149  func (c *ApprecoveryAppRecoveriesCall) Fields(s ...googleapi.Field) *ApprecoveryAppRecoveriesCall {
  8150  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8151  	return c
  8152  }
  8153  
  8154  // Context sets the context to be used in this call's Do method.
  8155  func (c *ApprecoveryAppRecoveriesCall) Context(ctx context.Context) *ApprecoveryAppRecoveriesCall {
  8156  	c.ctx_ = ctx
  8157  	return c
  8158  }
  8159  
  8160  // Header returns a http.Header that can be modified by the caller to add
  8161  // headers to the request.
  8162  func (c *ApprecoveryAppRecoveriesCall) Header() http.Header {
  8163  	if c.header_ == nil {
  8164  		c.header_ = make(http.Header)
  8165  	}
  8166  	return c.header_
  8167  }
  8168  
  8169  func (c *ApprecoveryAppRecoveriesCall) doRequest(alt string) (*http.Response, error) {
  8170  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8171  	var body io.Reader = nil
  8172  	c.urlParams_.Set("alt", alt)
  8173  	c.urlParams_.Set("prettyPrint", "false")
  8174  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/appRecoveries")
  8175  	urls += "?" + c.urlParams_.Encode()
  8176  	req, err := http.NewRequest("POST", urls, body)
  8177  	if err != nil {
  8178  		return nil, err
  8179  	}
  8180  	req.Header = reqHeaders
  8181  	googleapi.Expand(req.URL, map[string]string{
  8182  		"packageName": c.packageName,
  8183  	})
  8184  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8185  }
  8186  
  8187  // Do executes the "androidpublisher.apprecovery.appRecoveries" call.
  8188  // Any non-2xx status code is an error. Response headers are in either
  8189  // *ListAppRecoveriesResponse.ServerResponse.Header or (if a response was
  8190  // returned at all) in error.(*googleapi.Error).Header. Use
  8191  // googleapi.IsNotModified to check whether the returned error was because
  8192  // http.StatusNotModified was returned.
  8193  func (c *ApprecoveryAppRecoveriesCall) Do(opts ...googleapi.CallOption) (*ListAppRecoveriesResponse, error) {
  8194  	gensupport.SetOptions(c.urlParams_, opts...)
  8195  	res, err := c.doRequest("json")
  8196  	if res != nil && res.StatusCode == http.StatusNotModified {
  8197  		if res.Body != nil {
  8198  			res.Body.Close()
  8199  		}
  8200  		return nil, gensupport.WrapError(&googleapi.Error{
  8201  			Code:   res.StatusCode,
  8202  			Header: res.Header,
  8203  		})
  8204  	}
  8205  	if err != nil {
  8206  		return nil, err
  8207  	}
  8208  	defer googleapi.CloseBody(res)
  8209  	if err := googleapi.CheckResponse(res); err != nil {
  8210  		return nil, gensupport.WrapError(err)
  8211  	}
  8212  	ret := &ListAppRecoveriesResponse{
  8213  		ServerResponse: googleapi.ServerResponse{
  8214  			Header:         res.Header,
  8215  			HTTPStatusCode: res.StatusCode,
  8216  		},
  8217  	}
  8218  	target := &ret
  8219  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8220  		return nil, err
  8221  	}
  8222  	return ret, nil
  8223  }
  8224  
  8225  type ApprecoveryCancelCall struct {
  8226  	s                        *Service
  8227  	packageName              string
  8228  	appRecoveryId            int64
  8229  	cancelapprecoveryrequest *CancelAppRecoveryRequest
  8230  	urlParams_               gensupport.URLParams
  8231  	ctx_                     context.Context
  8232  	header_                  http.Header
  8233  }
  8234  
  8235  // Cancel: Cancel an already executing app recovery action. Note that this
  8236  // action changes status of the recovery action to CANCELED.
  8237  //
  8238  //   - appRecoveryId: ID corresponding to the app recovery action.
  8239  //   - packageName: Package name of the app for which recovery action
  8240  //     cancellation is requested.
  8241  func (r *ApprecoveryService) Cancel(packageName string, appRecoveryId int64, cancelapprecoveryrequest *CancelAppRecoveryRequest) *ApprecoveryCancelCall {
  8242  	c := &ApprecoveryCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8243  	c.packageName = packageName
  8244  	c.appRecoveryId = appRecoveryId
  8245  	c.cancelapprecoveryrequest = cancelapprecoveryrequest
  8246  	return c
  8247  }
  8248  
  8249  // Fields allows partial responses to be retrieved. See
  8250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8251  // details.
  8252  func (c *ApprecoveryCancelCall) Fields(s ...googleapi.Field) *ApprecoveryCancelCall {
  8253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8254  	return c
  8255  }
  8256  
  8257  // Context sets the context to be used in this call's Do method.
  8258  func (c *ApprecoveryCancelCall) Context(ctx context.Context) *ApprecoveryCancelCall {
  8259  	c.ctx_ = ctx
  8260  	return c
  8261  }
  8262  
  8263  // Header returns a http.Header that can be modified by the caller to add
  8264  // headers to the request.
  8265  func (c *ApprecoveryCancelCall) Header() http.Header {
  8266  	if c.header_ == nil {
  8267  		c.header_ = make(http.Header)
  8268  	}
  8269  	return c.header_
  8270  }
  8271  
  8272  func (c *ApprecoveryCancelCall) doRequest(alt string) (*http.Response, error) {
  8273  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8274  	var body io.Reader = nil
  8275  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cancelapprecoveryrequest)
  8276  	if err != nil {
  8277  		return nil, err
  8278  	}
  8279  	c.urlParams_.Set("alt", alt)
  8280  	c.urlParams_.Set("prettyPrint", "false")
  8281  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/appRecoveries/{appRecoveryId}:cancel")
  8282  	urls += "?" + c.urlParams_.Encode()
  8283  	req, err := http.NewRequest("POST", urls, body)
  8284  	if err != nil {
  8285  		return nil, err
  8286  	}
  8287  	req.Header = reqHeaders
  8288  	googleapi.Expand(req.URL, map[string]string{
  8289  		"packageName":   c.packageName,
  8290  		"appRecoveryId": strconv.FormatInt(c.appRecoveryId, 10),
  8291  	})
  8292  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8293  }
  8294  
  8295  // Do executes the "androidpublisher.apprecovery.cancel" call.
  8296  // Any non-2xx status code is an error. Response headers are in either
  8297  // *CancelAppRecoveryResponse.ServerResponse.Header or (if a response was
  8298  // returned at all) in error.(*googleapi.Error).Header. Use
  8299  // googleapi.IsNotModified to check whether the returned error was because
  8300  // http.StatusNotModified was returned.
  8301  func (c *ApprecoveryCancelCall) Do(opts ...googleapi.CallOption) (*CancelAppRecoveryResponse, error) {
  8302  	gensupport.SetOptions(c.urlParams_, opts...)
  8303  	res, err := c.doRequest("json")
  8304  	if res != nil && res.StatusCode == http.StatusNotModified {
  8305  		if res.Body != nil {
  8306  			res.Body.Close()
  8307  		}
  8308  		return nil, gensupport.WrapError(&googleapi.Error{
  8309  			Code:   res.StatusCode,
  8310  			Header: res.Header,
  8311  		})
  8312  	}
  8313  	if err != nil {
  8314  		return nil, err
  8315  	}
  8316  	defer googleapi.CloseBody(res)
  8317  	if err := googleapi.CheckResponse(res); err != nil {
  8318  		return nil, gensupport.WrapError(err)
  8319  	}
  8320  	ret := &CancelAppRecoveryResponse{
  8321  		ServerResponse: googleapi.ServerResponse{
  8322  			Header:         res.Header,
  8323  			HTTPStatusCode: res.StatusCode,
  8324  		},
  8325  	}
  8326  	target := &ret
  8327  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8328  		return nil, err
  8329  	}
  8330  	return ret, nil
  8331  }
  8332  
  8333  type ApprecoveryCreateCall struct {
  8334  	s                             *Service
  8335  	packageName                   string
  8336  	createdraftapprecoveryrequest *CreateDraftAppRecoveryRequest
  8337  	urlParams_                    gensupport.URLParams
  8338  	ctx_                          context.Context
  8339  	header_                       http.Header
  8340  }
  8341  
  8342  // Create: Create an app recovery action with recovery status as DRAFT. Note
  8343  // that this action does not execute the recovery action.
  8344  //
  8345  //   - packageName: Package name of the app on which recovery action is
  8346  //     performed.
  8347  func (r *ApprecoveryService) Create(packageName string, createdraftapprecoveryrequest *CreateDraftAppRecoveryRequest) *ApprecoveryCreateCall {
  8348  	c := &ApprecoveryCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8349  	c.packageName = packageName
  8350  	c.createdraftapprecoveryrequest = createdraftapprecoveryrequest
  8351  	return c
  8352  }
  8353  
  8354  // Fields allows partial responses to be retrieved. See
  8355  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8356  // details.
  8357  func (c *ApprecoveryCreateCall) Fields(s ...googleapi.Field) *ApprecoveryCreateCall {
  8358  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8359  	return c
  8360  }
  8361  
  8362  // Context sets the context to be used in this call's Do method.
  8363  func (c *ApprecoveryCreateCall) Context(ctx context.Context) *ApprecoveryCreateCall {
  8364  	c.ctx_ = ctx
  8365  	return c
  8366  }
  8367  
  8368  // Header returns a http.Header that can be modified by the caller to add
  8369  // headers to the request.
  8370  func (c *ApprecoveryCreateCall) Header() http.Header {
  8371  	if c.header_ == nil {
  8372  		c.header_ = make(http.Header)
  8373  	}
  8374  	return c.header_
  8375  }
  8376  
  8377  func (c *ApprecoveryCreateCall) doRequest(alt string) (*http.Response, error) {
  8378  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8379  	var body io.Reader = nil
  8380  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createdraftapprecoveryrequest)
  8381  	if err != nil {
  8382  		return nil, err
  8383  	}
  8384  	c.urlParams_.Set("alt", alt)
  8385  	c.urlParams_.Set("prettyPrint", "false")
  8386  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/appRecoveries")
  8387  	urls += "?" + c.urlParams_.Encode()
  8388  	req, err := http.NewRequest("POST", urls, body)
  8389  	if err != nil {
  8390  		return nil, err
  8391  	}
  8392  	req.Header = reqHeaders
  8393  	googleapi.Expand(req.URL, map[string]string{
  8394  		"packageName": c.packageName,
  8395  	})
  8396  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8397  }
  8398  
  8399  // Do executes the "androidpublisher.apprecovery.create" call.
  8400  // Any non-2xx status code is an error. Response headers are in either
  8401  // *AppRecoveryAction.ServerResponse.Header or (if a response was returned at
  8402  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8403  // check whether the returned error was because http.StatusNotModified was
  8404  // returned.
  8405  func (c *ApprecoveryCreateCall) Do(opts ...googleapi.CallOption) (*AppRecoveryAction, error) {
  8406  	gensupport.SetOptions(c.urlParams_, opts...)
  8407  	res, err := c.doRequest("json")
  8408  	if res != nil && res.StatusCode == http.StatusNotModified {
  8409  		if res.Body != nil {
  8410  			res.Body.Close()
  8411  		}
  8412  		return nil, gensupport.WrapError(&googleapi.Error{
  8413  			Code:   res.StatusCode,
  8414  			Header: res.Header,
  8415  		})
  8416  	}
  8417  	if err != nil {
  8418  		return nil, err
  8419  	}
  8420  	defer googleapi.CloseBody(res)
  8421  	if err := googleapi.CheckResponse(res); err != nil {
  8422  		return nil, gensupport.WrapError(err)
  8423  	}
  8424  	ret := &AppRecoveryAction{
  8425  		ServerResponse: googleapi.ServerResponse{
  8426  			Header:         res.Header,
  8427  			HTTPStatusCode: res.StatusCode,
  8428  		},
  8429  	}
  8430  	target := &ret
  8431  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8432  		return nil, err
  8433  	}
  8434  	return ret, nil
  8435  }
  8436  
  8437  type ApprecoveryDeployCall struct {
  8438  	s                        *Service
  8439  	packageName              string
  8440  	appRecoveryId            int64
  8441  	deployapprecoveryrequest *DeployAppRecoveryRequest
  8442  	urlParams_               gensupport.URLParams
  8443  	ctx_                     context.Context
  8444  	header_                  http.Header
  8445  }
  8446  
  8447  // Deploy: Deploy an already created app recovery action with recovery status
  8448  // DRAFT. Note that this action activates the recovery action for all targeted
  8449  // users and changes its status to ACTIVE.
  8450  //
  8451  //   - appRecoveryId: ID corresponding to the app recovery action to deploy.
  8452  //   - packageName: Package name of the app for which recovery action is
  8453  //     deployed.
  8454  func (r *ApprecoveryService) Deploy(packageName string, appRecoveryId int64, deployapprecoveryrequest *DeployAppRecoveryRequest) *ApprecoveryDeployCall {
  8455  	c := &ApprecoveryDeployCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8456  	c.packageName = packageName
  8457  	c.appRecoveryId = appRecoveryId
  8458  	c.deployapprecoveryrequest = deployapprecoveryrequest
  8459  	return c
  8460  }
  8461  
  8462  // Fields allows partial responses to be retrieved. See
  8463  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8464  // details.
  8465  func (c *ApprecoveryDeployCall) Fields(s ...googleapi.Field) *ApprecoveryDeployCall {
  8466  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8467  	return c
  8468  }
  8469  
  8470  // Context sets the context to be used in this call's Do method.
  8471  func (c *ApprecoveryDeployCall) Context(ctx context.Context) *ApprecoveryDeployCall {
  8472  	c.ctx_ = ctx
  8473  	return c
  8474  }
  8475  
  8476  // Header returns a http.Header that can be modified by the caller to add
  8477  // headers to the request.
  8478  func (c *ApprecoveryDeployCall) Header() http.Header {
  8479  	if c.header_ == nil {
  8480  		c.header_ = make(http.Header)
  8481  	}
  8482  	return c.header_
  8483  }
  8484  
  8485  func (c *ApprecoveryDeployCall) doRequest(alt string) (*http.Response, error) {
  8486  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8487  	var body io.Reader = nil
  8488  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployapprecoveryrequest)
  8489  	if err != nil {
  8490  		return nil, err
  8491  	}
  8492  	c.urlParams_.Set("alt", alt)
  8493  	c.urlParams_.Set("prettyPrint", "false")
  8494  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/appRecoveries/{appRecoveryId}:deploy")
  8495  	urls += "?" + c.urlParams_.Encode()
  8496  	req, err := http.NewRequest("POST", urls, body)
  8497  	if err != nil {
  8498  		return nil, err
  8499  	}
  8500  	req.Header = reqHeaders
  8501  	googleapi.Expand(req.URL, map[string]string{
  8502  		"packageName":   c.packageName,
  8503  		"appRecoveryId": strconv.FormatInt(c.appRecoveryId, 10),
  8504  	})
  8505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8506  }
  8507  
  8508  // Do executes the "androidpublisher.apprecovery.deploy" call.
  8509  // Any non-2xx status code is an error. Response headers are in either
  8510  // *DeployAppRecoveryResponse.ServerResponse.Header or (if a response was
  8511  // returned at all) in error.(*googleapi.Error).Header. Use
  8512  // googleapi.IsNotModified to check whether the returned error was because
  8513  // http.StatusNotModified was returned.
  8514  func (c *ApprecoveryDeployCall) Do(opts ...googleapi.CallOption) (*DeployAppRecoveryResponse, error) {
  8515  	gensupport.SetOptions(c.urlParams_, opts...)
  8516  	res, err := c.doRequest("json")
  8517  	if res != nil && res.StatusCode == http.StatusNotModified {
  8518  		if res.Body != nil {
  8519  			res.Body.Close()
  8520  		}
  8521  		return nil, gensupport.WrapError(&googleapi.Error{
  8522  			Code:   res.StatusCode,
  8523  			Header: res.Header,
  8524  		})
  8525  	}
  8526  	if err != nil {
  8527  		return nil, err
  8528  	}
  8529  	defer googleapi.CloseBody(res)
  8530  	if err := googleapi.CheckResponse(res); err != nil {
  8531  		return nil, gensupport.WrapError(err)
  8532  	}
  8533  	ret := &DeployAppRecoveryResponse{
  8534  		ServerResponse: googleapi.ServerResponse{
  8535  			Header:         res.Header,
  8536  			HTTPStatusCode: res.StatusCode,
  8537  		},
  8538  	}
  8539  	target := &ret
  8540  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8541  		return nil, err
  8542  	}
  8543  	return ret, nil
  8544  }
  8545  
  8546  type EditsCommitCall struct {
  8547  	s           *Service
  8548  	packageName string
  8549  	editId      string
  8550  	urlParams_  gensupport.URLParams
  8551  	ctx_        context.Context
  8552  	header_     http.Header
  8553  }
  8554  
  8555  // Commit: Commits an app edit.
  8556  //
  8557  // - editId: Identifier of the edit.
  8558  // - packageName: Package name of the app.
  8559  func (r *EditsService) Commit(packageName string, editId string) *EditsCommitCall {
  8560  	c := &EditsCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8561  	c.packageName = packageName
  8562  	c.editId = editId
  8563  	return c
  8564  }
  8565  
  8566  // ChangesNotSentForReview sets the optional parameter
  8567  // "changesNotSentForReview": Indicates that the changes in this edit will not
  8568  // be reviewed until they are explicitly sent for review from the Google Play
  8569  // Console UI. These changes will be added to any other changes that are not
  8570  // yet sent for review.
  8571  func (c *EditsCommitCall) ChangesNotSentForReview(changesNotSentForReview bool) *EditsCommitCall {
  8572  	c.urlParams_.Set("changesNotSentForReview", fmt.Sprint(changesNotSentForReview))
  8573  	return c
  8574  }
  8575  
  8576  // Fields allows partial responses to be retrieved. See
  8577  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8578  // details.
  8579  func (c *EditsCommitCall) Fields(s ...googleapi.Field) *EditsCommitCall {
  8580  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8581  	return c
  8582  }
  8583  
  8584  // Context sets the context to be used in this call's Do method.
  8585  func (c *EditsCommitCall) Context(ctx context.Context) *EditsCommitCall {
  8586  	c.ctx_ = ctx
  8587  	return c
  8588  }
  8589  
  8590  // Header returns a http.Header that can be modified by the caller to add
  8591  // headers to the request.
  8592  func (c *EditsCommitCall) Header() http.Header {
  8593  	if c.header_ == nil {
  8594  		c.header_ = make(http.Header)
  8595  	}
  8596  	return c.header_
  8597  }
  8598  
  8599  func (c *EditsCommitCall) doRequest(alt string) (*http.Response, error) {
  8600  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8601  	var body io.Reader = nil
  8602  	c.urlParams_.Set("alt", alt)
  8603  	c.urlParams_.Set("prettyPrint", "false")
  8604  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}:commit")
  8605  	urls += "?" + c.urlParams_.Encode()
  8606  	req, err := http.NewRequest("POST", urls, body)
  8607  	if err != nil {
  8608  		return nil, err
  8609  	}
  8610  	req.Header = reqHeaders
  8611  	googleapi.Expand(req.URL, map[string]string{
  8612  		"packageName": c.packageName,
  8613  		"editId":      c.editId,
  8614  	})
  8615  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8616  }
  8617  
  8618  // Do executes the "androidpublisher.edits.commit" call.
  8619  // Any non-2xx status code is an error. Response headers are in either
  8620  // *AppEdit.ServerResponse.Header or (if a response was returned at all) in
  8621  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8622  // whether the returned error was because http.StatusNotModified was returned.
  8623  func (c *EditsCommitCall) Do(opts ...googleapi.CallOption) (*AppEdit, error) {
  8624  	gensupport.SetOptions(c.urlParams_, opts...)
  8625  	res, err := c.doRequest("json")
  8626  	if res != nil && res.StatusCode == http.StatusNotModified {
  8627  		if res.Body != nil {
  8628  			res.Body.Close()
  8629  		}
  8630  		return nil, gensupport.WrapError(&googleapi.Error{
  8631  			Code:   res.StatusCode,
  8632  			Header: res.Header,
  8633  		})
  8634  	}
  8635  	if err != nil {
  8636  		return nil, err
  8637  	}
  8638  	defer googleapi.CloseBody(res)
  8639  	if err := googleapi.CheckResponse(res); err != nil {
  8640  		return nil, gensupport.WrapError(err)
  8641  	}
  8642  	ret := &AppEdit{
  8643  		ServerResponse: googleapi.ServerResponse{
  8644  			Header:         res.Header,
  8645  			HTTPStatusCode: res.StatusCode,
  8646  		},
  8647  	}
  8648  	target := &ret
  8649  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8650  		return nil, err
  8651  	}
  8652  	return ret, nil
  8653  }
  8654  
  8655  type EditsDeleteCall struct {
  8656  	s           *Service
  8657  	packageName string
  8658  	editId      string
  8659  	urlParams_  gensupport.URLParams
  8660  	ctx_        context.Context
  8661  	header_     http.Header
  8662  }
  8663  
  8664  // Delete: Deletes an app edit.
  8665  //
  8666  // - editId: Identifier of the edit.
  8667  // - packageName: Package name of the app.
  8668  func (r *EditsService) Delete(packageName string, editId string) *EditsDeleteCall {
  8669  	c := &EditsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8670  	c.packageName = packageName
  8671  	c.editId = editId
  8672  	return c
  8673  }
  8674  
  8675  // Fields allows partial responses to be retrieved. See
  8676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8677  // details.
  8678  func (c *EditsDeleteCall) Fields(s ...googleapi.Field) *EditsDeleteCall {
  8679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8680  	return c
  8681  }
  8682  
  8683  // Context sets the context to be used in this call's Do method.
  8684  func (c *EditsDeleteCall) Context(ctx context.Context) *EditsDeleteCall {
  8685  	c.ctx_ = ctx
  8686  	return c
  8687  }
  8688  
  8689  // Header returns a http.Header that can be modified by the caller to add
  8690  // headers to the request.
  8691  func (c *EditsDeleteCall) Header() http.Header {
  8692  	if c.header_ == nil {
  8693  		c.header_ = make(http.Header)
  8694  	}
  8695  	return c.header_
  8696  }
  8697  
  8698  func (c *EditsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8699  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8700  	var body io.Reader = nil
  8701  	c.urlParams_.Set("alt", alt)
  8702  	c.urlParams_.Set("prettyPrint", "false")
  8703  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}")
  8704  	urls += "?" + c.urlParams_.Encode()
  8705  	req, err := http.NewRequest("DELETE", urls, body)
  8706  	if err != nil {
  8707  		return nil, err
  8708  	}
  8709  	req.Header = reqHeaders
  8710  	googleapi.Expand(req.URL, map[string]string{
  8711  		"packageName": c.packageName,
  8712  		"editId":      c.editId,
  8713  	})
  8714  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8715  }
  8716  
  8717  // Do executes the "androidpublisher.edits.delete" call.
  8718  func (c *EditsDeleteCall) Do(opts ...googleapi.CallOption) error {
  8719  	gensupport.SetOptions(c.urlParams_, opts...)
  8720  	res, err := c.doRequest("json")
  8721  	if err != nil {
  8722  		return err
  8723  	}
  8724  	defer googleapi.CloseBody(res)
  8725  	if err := googleapi.CheckResponse(res); err != nil {
  8726  		return gensupport.WrapError(err)
  8727  	}
  8728  	return nil
  8729  }
  8730  
  8731  type EditsGetCall struct {
  8732  	s            *Service
  8733  	packageName  string
  8734  	editId       string
  8735  	urlParams_   gensupport.URLParams
  8736  	ifNoneMatch_ string
  8737  	ctx_         context.Context
  8738  	header_      http.Header
  8739  }
  8740  
  8741  // Get: Gets an app edit.
  8742  //
  8743  // - editId: Identifier of the edit.
  8744  // - packageName: Package name of the app.
  8745  func (r *EditsService) Get(packageName string, editId string) *EditsGetCall {
  8746  	c := &EditsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8747  	c.packageName = packageName
  8748  	c.editId = editId
  8749  	return c
  8750  }
  8751  
  8752  // Fields allows partial responses to be retrieved. See
  8753  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8754  // details.
  8755  func (c *EditsGetCall) Fields(s ...googleapi.Field) *EditsGetCall {
  8756  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8757  	return c
  8758  }
  8759  
  8760  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8761  // object's ETag matches the given value. This is useful for getting updates
  8762  // only after the object has changed since the last request.
  8763  func (c *EditsGetCall) IfNoneMatch(entityTag string) *EditsGetCall {
  8764  	c.ifNoneMatch_ = entityTag
  8765  	return c
  8766  }
  8767  
  8768  // Context sets the context to be used in this call's Do method.
  8769  func (c *EditsGetCall) Context(ctx context.Context) *EditsGetCall {
  8770  	c.ctx_ = ctx
  8771  	return c
  8772  }
  8773  
  8774  // Header returns a http.Header that can be modified by the caller to add
  8775  // headers to the request.
  8776  func (c *EditsGetCall) Header() http.Header {
  8777  	if c.header_ == nil {
  8778  		c.header_ = make(http.Header)
  8779  	}
  8780  	return c.header_
  8781  }
  8782  
  8783  func (c *EditsGetCall) doRequest(alt string) (*http.Response, error) {
  8784  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8785  	if c.ifNoneMatch_ != "" {
  8786  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8787  	}
  8788  	var body io.Reader = nil
  8789  	c.urlParams_.Set("alt", alt)
  8790  	c.urlParams_.Set("prettyPrint", "false")
  8791  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}")
  8792  	urls += "?" + c.urlParams_.Encode()
  8793  	req, err := http.NewRequest("GET", urls, body)
  8794  	if err != nil {
  8795  		return nil, err
  8796  	}
  8797  	req.Header = reqHeaders
  8798  	googleapi.Expand(req.URL, map[string]string{
  8799  		"packageName": c.packageName,
  8800  		"editId":      c.editId,
  8801  	})
  8802  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8803  }
  8804  
  8805  // Do executes the "androidpublisher.edits.get" call.
  8806  // Any non-2xx status code is an error. Response headers are in either
  8807  // *AppEdit.ServerResponse.Header or (if a response was returned at all) in
  8808  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8809  // whether the returned error was because http.StatusNotModified was returned.
  8810  func (c *EditsGetCall) Do(opts ...googleapi.CallOption) (*AppEdit, error) {
  8811  	gensupport.SetOptions(c.urlParams_, opts...)
  8812  	res, err := c.doRequest("json")
  8813  	if res != nil && res.StatusCode == http.StatusNotModified {
  8814  		if res.Body != nil {
  8815  			res.Body.Close()
  8816  		}
  8817  		return nil, gensupport.WrapError(&googleapi.Error{
  8818  			Code:   res.StatusCode,
  8819  			Header: res.Header,
  8820  		})
  8821  	}
  8822  	if err != nil {
  8823  		return nil, err
  8824  	}
  8825  	defer googleapi.CloseBody(res)
  8826  	if err := googleapi.CheckResponse(res); err != nil {
  8827  		return nil, gensupport.WrapError(err)
  8828  	}
  8829  	ret := &AppEdit{
  8830  		ServerResponse: googleapi.ServerResponse{
  8831  			Header:         res.Header,
  8832  			HTTPStatusCode: res.StatusCode,
  8833  		},
  8834  	}
  8835  	target := &ret
  8836  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8837  		return nil, err
  8838  	}
  8839  	return ret, nil
  8840  }
  8841  
  8842  type EditsInsertCall struct {
  8843  	s           *Service
  8844  	packageName string
  8845  	appedit     *AppEdit
  8846  	urlParams_  gensupport.URLParams
  8847  	ctx_        context.Context
  8848  	header_     http.Header
  8849  }
  8850  
  8851  // Insert: Creates a new edit for an app.
  8852  //
  8853  // - packageName: Package name of the app.
  8854  func (r *EditsService) Insert(packageName string, appedit *AppEdit) *EditsInsertCall {
  8855  	c := &EditsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8856  	c.packageName = packageName
  8857  	c.appedit = appedit
  8858  	return c
  8859  }
  8860  
  8861  // Fields allows partial responses to be retrieved. See
  8862  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8863  // details.
  8864  func (c *EditsInsertCall) Fields(s ...googleapi.Field) *EditsInsertCall {
  8865  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8866  	return c
  8867  }
  8868  
  8869  // Context sets the context to be used in this call's Do method.
  8870  func (c *EditsInsertCall) Context(ctx context.Context) *EditsInsertCall {
  8871  	c.ctx_ = ctx
  8872  	return c
  8873  }
  8874  
  8875  // Header returns a http.Header that can be modified by the caller to add
  8876  // headers to the request.
  8877  func (c *EditsInsertCall) Header() http.Header {
  8878  	if c.header_ == nil {
  8879  		c.header_ = make(http.Header)
  8880  	}
  8881  	return c.header_
  8882  }
  8883  
  8884  func (c *EditsInsertCall) doRequest(alt string) (*http.Response, error) {
  8885  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8886  	var body io.Reader = nil
  8887  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appedit)
  8888  	if err != nil {
  8889  		return nil, err
  8890  	}
  8891  	c.urlParams_.Set("alt", alt)
  8892  	c.urlParams_.Set("prettyPrint", "false")
  8893  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits")
  8894  	urls += "?" + c.urlParams_.Encode()
  8895  	req, err := http.NewRequest("POST", urls, body)
  8896  	if err != nil {
  8897  		return nil, err
  8898  	}
  8899  	req.Header = reqHeaders
  8900  	googleapi.Expand(req.URL, map[string]string{
  8901  		"packageName": c.packageName,
  8902  	})
  8903  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8904  }
  8905  
  8906  // Do executes the "androidpublisher.edits.insert" call.
  8907  // Any non-2xx status code is an error. Response headers are in either
  8908  // *AppEdit.ServerResponse.Header or (if a response was returned at all) in
  8909  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8910  // whether the returned error was because http.StatusNotModified was returned.
  8911  func (c *EditsInsertCall) Do(opts ...googleapi.CallOption) (*AppEdit, error) {
  8912  	gensupport.SetOptions(c.urlParams_, opts...)
  8913  	res, err := c.doRequest("json")
  8914  	if res != nil && res.StatusCode == http.StatusNotModified {
  8915  		if res.Body != nil {
  8916  			res.Body.Close()
  8917  		}
  8918  		return nil, gensupport.WrapError(&googleapi.Error{
  8919  			Code:   res.StatusCode,
  8920  			Header: res.Header,
  8921  		})
  8922  	}
  8923  	if err != nil {
  8924  		return nil, err
  8925  	}
  8926  	defer googleapi.CloseBody(res)
  8927  	if err := googleapi.CheckResponse(res); err != nil {
  8928  		return nil, gensupport.WrapError(err)
  8929  	}
  8930  	ret := &AppEdit{
  8931  		ServerResponse: googleapi.ServerResponse{
  8932  			Header:         res.Header,
  8933  			HTTPStatusCode: res.StatusCode,
  8934  		},
  8935  	}
  8936  	target := &ret
  8937  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8938  		return nil, err
  8939  	}
  8940  	return ret, nil
  8941  }
  8942  
  8943  type EditsValidateCall struct {
  8944  	s           *Service
  8945  	packageName string
  8946  	editId      string
  8947  	urlParams_  gensupport.URLParams
  8948  	ctx_        context.Context
  8949  	header_     http.Header
  8950  }
  8951  
  8952  // Validate: Validates an app edit.
  8953  //
  8954  // - editId: Identifier of the edit.
  8955  // - packageName: Package name of the app.
  8956  func (r *EditsService) Validate(packageName string, editId string) *EditsValidateCall {
  8957  	c := &EditsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8958  	c.packageName = packageName
  8959  	c.editId = editId
  8960  	return c
  8961  }
  8962  
  8963  // Fields allows partial responses to be retrieved. See
  8964  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8965  // details.
  8966  func (c *EditsValidateCall) Fields(s ...googleapi.Field) *EditsValidateCall {
  8967  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8968  	return c
  8969  }
  8970  
  8971  // Context sets the context to be used in this call's Do method.
  8972  func (c *EditsValidateCall) Context(ctx context.Context) *EditsValidateCall {
  8973  	c.ctx_ = ctx
  8974  	return c
  8975  }
  8976  
  8977  // Header returns a http.Header that can be modified by the caller to add
  8978  // headers to the request.
  8979  func (c *EditsValidateCall) Header() http.Header {
  8980  	if c.header_ == nil {
  8981  		c.header_ = make(http.Header)
  8982  	}
  8983  	return c.header_
  8984  }
  8985  
  8986  func (c *EditsValidateCall) doRequest(alt string) (*http.Response, error) {
  8987  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8988  	var body io.Reader = nil
  8989  	c.urlParams_.Set("alt", alt)
  8990  	c.urlParams_.Set("prettyPrint", "false")
  8991  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}:validate")
  8992  	urls += "?" + c.urlParams_.Encode()
  8993  	req, err := http.NewRequest("POST", urls, body)
  8994  	if err != nil {
  8995  		return nil, err
  8996  	}
  8997  	req.Header = reqHeaders
  8998  	googleapi.Expand(req.URL, map[string]string{
  8999  		"packageName": c.packageName,
  9000  		"editId":      c.editId,
  9001  	})
  9002  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9003  }
  9004  
  9005  // Do executes the "androidpublisher.edits.validate" call.
  9006  // Any non-2xx status code is an error. Response headers are in either
  9007  // *AppEdit.ServerResponse.Header or (if a response was returned at all) in
  9008  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9009  // whether the returned error was because http.StatusNotModified was returned.
  9010  func (c *EditsValidateCall) Do(opts ...googleapi.CallOption) (*AppEdit, error) {
  9011  	gensupport.SetOptions(c.urlParams_, opts...)
  9012  	res, err := c.doRequest("json")
  9013  	if res != nil && res.StatusCode == http.StatusNotModified {
  9014  		if res.Body != nil {
  9015  			res.Body.Close()
  9016  		}
  9017  		return nil, gensupport.WrapError(&googleapi.Error{
  9018  			Code:   res.StatusCode,
  9019  			Header: res.Header,
  9020  		})
  9021  	}
  9022  	if err != nil {
  9023  		return nil, err
  9024  	}
  9025  	defer googleapi.CloseBody(res)
  9026  	if err := googleapi.CheckResponse(res); err != nil {
  9027  		return nil, gensupport.WrapError(err)
  9028  	}
  9029  	ret := &AppEdit{
  9030  		ServerResponse: googleapi.ServerResponse{
  9031  			Header:         res.Header,
  9032  			HTTPStatusCode: res.StatusCode,
  9033  		},
  9034  	}
  9035  	target := &ret
  9036  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9037  		return nil, err
  9038  	}
  9039  	return ret, nil
  9040  }
  9041  
  9042  type EditsApksAddexternallyhostedCall struct {
  9043  	s                              *Service
  9044  	packageName                    string
  9045  	editId                         string
  9046  	apksaddexternallyhostedrequest *ApksAddExternallyHostedRequest
  9047  	urlParams_                     gensupport.URLParams
  9048  	ctx_                           context.Context
  9049  	header_                        http.Header
  9050  }
  9051  
  9052  // Addexternallyhosted: Creates a new APK without uploading the APK itself to
  9053  // Google Play, instead hosting the APK at a specified URL. This function is
  9054  // only available to organizations using Managed Play whose application is
  9055  // configured to restrict distribution to the organizations.
  9056  //
  9057  // - editId: Identifier of the edit.
  9058  // - packageName: Package name of the app.
  9059  func (r *EditsApksService) Addexternallyhosted(packageName string, editId string, apksaddexternallyhostedrequest *ApksAddExternallyHostedRequest) *EditsApksAddexternallyhostedCall {
  9060  	c := &EditsApksAddexternallyhostedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9061  	c.packageName = packageName
  9062  	c.editId = editId
  9063  	c.apksaddexternallyhostedrequest = apksaddexternallyhostedrequest
  9064  	return c
  9065  }
  9066  
  9067  // Fields allows partial responses to be retrieved. See
  9068  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9069  // details.
  9070  func (c *EditsApksAddexternallyhostedCall) Fields(s ...googleapi.Field) *EditsApksAddexternallyhostedCall {
  9071  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9072  	return c
  9073  }
  9074  
  9075  // Context sets the context to be used in this call's Do method.
  9076  func (c *EditsApksAddexternallyhostedCall) Context(ctx context.Context) *EditsApksAddexternallyhostedCall {
  9077  	c.ctx_ = ctx
  9078  	return c
  9079  }
  9080  
  9081  // Header returns a http.Header that can be modified by the caller to add
  9082  // headers to the request.
  9083  func (c *EditsApksAddexternallyhostedCall) Header() http.Header {
  9084  	if c.header_ == nil {
  9085  		c.header_ = make(http.Header)
  9086  	}
  9087  	return c.header_
  9088  }
  9089  
  9090  func (c *EditsApksAddexternallyhostedCall) doRequest(alt string) (*http.Response, error) {
  9091  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9092  	var body io.Reader = nil
  9093  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.apksaddexternallyhostedrequest)
  9094  	if err != nil {
  9095  		return nil, err
  9096  	}
  9097  	c.urlParams_.Set("alt", alt)
  9098  	c.urlParams_.Set("prettyPrint", "false")
  9099  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted")
  9100  	urls += "?" + c.urlParams_.Encode()
  9101  	req, err := http.NewRequest("POST", urls, body)
  9102  	if err != nil {
  9103  		return nil, err
  9104  	}
  9105  	req.Header = reqHeaders
  9106  	googleapi.Expand(req.URL, map[string]string{
  9107  		"packageName": c.packageName,
  9108  		"editId":      c.editId,
  9109  	})
  9110  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9111  }
  9112  
  9113  // Do executes the "androidpublisher.edits.apks.addexternallyhosted" call.
  9114  // Any non-2xx status code is an error. Response headers are in either
  9115  // *ApksAddExternallyHostedResponse.ServerResponse.Header or (if a response was
  9116  // returned at all) in error.(*googleapi.Error).Header. Use
  9117  // googleapi.IsNotModified to check whether the returned error was because
  9118  // http.StatusNotModified was returned.
  9119  func (c *EditsApksAddexternallyhostedCall) Do(opts ...googleapi.CallOption) (*ApksAddExternallyHostedResponse, error) {
  9120  	gensupport.SetOptions(c.urlParams_, opts...)
  9121  	res, err := c.doRequest("json")
  9122  	if res != nil && res.StatusCode == http.StatusNotModified {
  9123  		if res.Body != nil {
  9124  			res.Body.Close()
  9125  		}
  9126  		return nil, gensupport.WrapError(&googleapi.Error{
  9127  			Code:   res.StatusCode,
  9128  			Header: res.Header,
  9129  		})
  9130  	}
  9131  	if err != nil {
  9132  		return nil, err
  9133  	}
  9134  	defer googleapi.CloseBody(res)
  9135  	if err := googleapi.CheckResponse(res); err != nil {
  9136  		return nil, gensupport.WrapError(err)
  9137  	}
  9138  	ret := &ApksAddExternallyHostedResponse{
  9139  		ServerResponse: googleapi.ServerResponse{
  9140  			Header:         res.Header,
  9141  			HTTPStatusCode: res.StatusCode,
  9142  		},
  9143  	}
  9144  	target := &ret
  9145  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9146  		return nil, err
  9147  	}
  9148  	return ret, nil
  9149  }
  9150  
  9151  type EditsApksListCall struct {
  9152  	s            *Service
  9153  	packageName  string
  9154  	editId       string
  9155  	urlParams_   gensupport.URLParams
  9156  	ifNoneMatch_ string
  9157  	ctx_         context.Context
  9158  	header_      http.Header
  9159  }
  9160  
  9161  // List: Lists all current APKs of the app and edit.
  9162  //
  9163  // - editId: Identifier of the edit.
  9164  // - packageName: Package name of the app.
  9165  func (r *EditsApksService) List(packageName string, editId string) *EditsApksListCall {
  9166  	c := &EditsApksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9167  	c.packageName = packageName
  9168  	c.editId = editId
  9169  	return c
  9170  }
  9171  
  9172  // Fields allows partial responses to be retrieved. See
  9173  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9174  // details.
  9175  func (c *EditsApksListCall) Fields(s ...googleapi.Field) *EditsApksListCall {
  9176  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9177  	return c
  9178  }
  9179  
  9180  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9181  // object's ETag matches the given value. This is useful for getting updates
  9182  // only after the object has changed since the last request.
  9183  func (c *EditsApksListCall) IfNoneMatch(entityTag string) *EditsApksListCall {
  9184  	c.ifNoneMatch_ = entityTag
  9185  	return c
  9186  }
  9187  
  9188  // Context sets the context to be used in this call's Do method.
  9189  func (c *EditsApksListCall) Context(ctx context.Context) *EditsApksListCall {
  9190  	c.ctx_ = ctx
  9191  	return c
  9192  }
  9193  
  9194  // Header returns a http.Header that can be modified by the caller to add
  9195  // headers to the request.
  9196  func (c *EditsApksListCall) Header() http.Header {
  9197  	if c.header_ == nil {
  9198  		c.header_ = make(http.Header)
  9199  	}
  9200  	return c.header_
  9201  }
  9202  
  9203  func (c *EditsApksListCall) doRequest(alt string) (*http.Response, error) {
  9204  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9205  	if c.ifNoneMatch_ != "" {
  9206  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9207  	}
  9208  	var body io.Reader = nil
  9209  	c.urlParams_.Set("alt", alt)
  9210  	c.urlParams_.Set("prettyPrint", "false")
  9211  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks")
  9212  	urls += "?" + c.urlParams_.Encode()
  9213  	req, err := http.NewRequest("GET", urls, body)
  9214  	if err != nil {
  9215  		return nil, err
  9216  	}
  9217  	req.Header = reqHeaders
  9218  	googleapi.Expand(req.URL, map[string]string{
  9219  		"packageName": c.packageName,
  9220  		"editId":      c.editId,
  9221  	})
  9222  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9223  }
  9224  
  9225  // Do executes the "androidpublisher.edits.apks.list" call.
  9226  // Any non-2xx status code is an error. Response headers are in either
  9227  // *ApksListResponse.ServerResponse.Header or (if a response was returned at
  9228  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9229  // check whether the returned error was because http.StatusNotModified was
  9230  // returned.
  9231  func (c *EditsApksListCall) Do(opts ...googleapi.CallOption) (*ApksListResponse, error) {
  9232  	gensupport.SetOptions(c.urlParams_, opts...)
  9233  	res, err := c.doRequest("json")
  9234  	if res != nil && res.StatusCode == http.StatusNotModified {
  9235  		if res.Body != nil {
  9236  			res.Body.Close()
  9237  		}
  9238  		return nil, gensupport.WrapError(&googleapi.Error{
  9239  			Code:   res.StatusCode,
  9240  			Header: res.Header,
  9241  		})
  9242  	}
  9243  	if err != nil {
  9244  		return nil, err
  9245  	}
  9246  	defer googleapi.CloseBody(res)
  9247  	if err := googleapi.CheckResponse(res); err != nil {
  9248  		return nil, gensupport.WrapError(err)
  9249  	}
  9250  	ret := &ApksListResponse{
  9251  		ServerResponse: googleapi.ServerResponse{
  9252  			Header:         res.Header,
  9253  			HTTPStatusCode: res.StatusCode,
  9254  		},
  9255  	}
  9256  	target := &ret
  9257  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9258  		return nil, err
  9259  	}
  9260  	return ret, nil
  9261  }
  9262  
  9263  type EditsApksUploadCall struct {
  9264  	s           *Service
  9265  	packageName string
  9266  	editId      string
  9267  	urlParams_  gensupport.URLParams
  9268  	mediaInfo_  *gensupport.MediaInfo
  9269  	ctx_        context.Context
  9270  	header_     http.Header
  9271  }
  9272  
  9273  // Upload: Uploads an APK and adds to the current edit.
  9274  //
  9275  // - editId: Identifier of the edit.
  9276  // - packageName: Package name of the app.
  9277  func (r *EditsApksService) Upload(packageName string, editId string) *EditsApksUploadCall {
  9278  	c := &EditsApksUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9279  	c.packageName = packageName
  9280  	c.editId = editId
  9281  	return c
  9282  }
  9283  
  9284  // Media specifies the media to upload in one or more chunks. The chunk size
  9285  // may be controlled by supplying a MediaOption generated by
  9286  // googleapi.ChunkSize. The chunk size defaults to
  9287  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
  9288  // request will be determined by sniffing the contents of r, unless a
  9289  // MediaOption generated by googleapi.ContentType is supplied.
  9290  // At most one of Media and ResumableMedia may be set.
  9291  func (c *EditsApksUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsApksUploadCall {
  9292  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
  9293  	return c
  9294  }
  9295  
  9296  // ResumableMedia specifies the media to upload in chunks and can be canceled
  9297  // with ctx.
  9298  //
  9299  // Deprecated: use Media instead.
  9300  //
  9301  // At most one of Media and ResumableMedia may be set. mediaType identifies the
  9302  // MIME media type of the upload, such as "image/png". If mediaType is "", it
  9303  // will be auto-detected. The provided ctx will supersede any context
  9304  // previously provided to the Context method.
  9305  func (c *EditsApksUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsApksUploadCall {
  9306  	c.ctx_ = ctx
  9307  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
  9308  	return c
  9309  }
  9310  
  9311  // ProgressUpdater provides a callback function that will be called after every
  9312  // chunk. It should be a low-latency function in order to not slow down the
  9313  // upload operation. This should only be called when using ResumableMedia (as
  9314  // opposed to Media).
  9315  func (c *EditsApksUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsApksUploadCall {
  9316  	c.mediaInfo_.SetProgressUpdater(pu)
  9317  	return c
  9318  }
  9319  
  9320  // Fields allows partial responses to be retrieved. See
  9321  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9322  // details.
  9323  func (c *EditsApksUploadCall) Fields(s ...googleapi.Field) *EditsApksUploadCall {
  9324  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9325  	return c
  9326  }
  9327  
  9328  // Context sets the context to be used in this call's Do method.
  9329  // This context will supersede any context previously provided to the
  9330  // ResumableMedia method.
  9331  func (c *EditsApksUploadCall) Context(ctx context.Context) *EditsApksUploadCall {
  9332  	c.ctx_ = ctx
  9333  	return c
  9334  }
  9335  
  9336  // Header returns a http.Header that can be modified by the caller to add
  9337  // headers to the request.
  9338  func (c *EditsApksUploadCall) Header() http.Header {
  9339  	if c.header_ == nil {
  9340  		c.header_ = make(http.Header)
  9341  	}
  9342  	return c.header_
  9343  }
  9344  
  9345  func (c *EditsApksUploadCall) doRequest(alt string) (*http.Response, error) {
  9346  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9347  	var body io.Reader = nil
  9348  	c.urlParams_.Set("alt", alt)
  9349  	c.urlParams_.Set("prettyPrint", "false")
  9350  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks")
  9351  	if c.mediaInfo_ != nil {
  9352  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks")
  9353  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
  9354  	}
  9355  	if body == nil {
  9356  		body = new(bytes.Buffer)
  9357  		reqHeaders.Set("Content-Type", "application/json")
  9358  	}
  9359  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
  9360  	defer cleanup()
  9361  	urls += "?" + c.urlParams_.Encode()
  9362  	req, err := http.NewRequest("POST", urls, body)
  9363  	if err != nil {
  9364  		return nil, err
  9365  	}
  9366  	req.Header = reqHeaders
  9367  	req.GetBody = getBody
  9368  	googleapi.Expand(req.URL, map[string]string{
  9369  		"packageName": c.packageName,
  9370  		"editId":      c.editId,
  9371  	})
  9372  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9373  }
  9374  
  9375  // Do executes the "androidpublisher.edits.apks.upload" call.
  9376  // Any non-2xx status code is an error. Response headers are in either
  9377  // *Apk.ServerResponse.Header or (if a response was returned at all) in
  9378  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9379  // whether the returned error was because http.StatusNotModified was returned.
  9380  func (c *EditsApksUploadCall) Do(opts ...googleapi.CallOption) (*Apk, error) {
  9381  	gensupport.SetOptions(c.urlParams_, opts...)
  9382  	res, err := c.doRequest("json")
  9383  	if res != nil && res.StatusCode == http.StatusNotModified {
  9384  		if res.Body != nil {
  9385  			res.Body.Close()
  9386  		}
  9387  		return nil, gensupport.WrapError(&googleapi.Error{
  9388  			Code:   res.StatusCode,
  9389  			Header: res.Header,
  9390  		})
  9391  	}
  9392  	if err != nil {
  9393  		return nil, err
  9394  	}
  9395  	defer googleapi.CloseBody(res)
  9396  	if err := googleapi.CheckResponse(res); err != nil {
  9397  		return nil, gensupport.WrapError(err)
  9398  	}
  9399  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
  9400  	if rx != nil {
  9401  		rx.Client = c.s.client
  9402  		rx.UserAgent = c.s.userAgent()
  9403  		ctx := c.ctx_
  9404  		if ctx == nil {
  9405  			ctx = context.TODO()
  9406  		}
  9407  		res, err = rx.Upload(ctx)
  9408  		if err != nil {
  9409  			return nil, err
  9410  		}
  9411  		defer res.Body.Close()
  9412  		if err := googleapi.CheckResponse(res); err != nil {
  9413  			return nil, gensupport.WrapError(err)
  9414  		}
  9415  	}
  9416  	ret := &Apk{
  9417  		ServerResponse: googleapi.ServerResponse{
  9418  			Header:         res.Header,
  9419  			HTTPStatusCode: res.StatusCode,
  9420  		},
  9421  	}
  9422  	target := &ret
  9423  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9424  		return nil, err
  9425  	}
  9426  	return ret, nil
  9427  }
  9428  
  9429  type EditsBundlesListCall struct {
  9430  	s            *Service
  9431  	packageName  string
  9432  	editId       string
  9433  	urlParams_   gensupport.URLParams
  9434  	ifNoneMatch_ string
  9435  	ctx_         context.Context
  9436  	header_      http.Header
  9437  }
  9438  
  9439  // List: Lists all current Android App Bundles of the app and edit.
  9440  //
  9441  // - editId: Identifier of the edit.
  9442  // - packageName: Package name of the app.
  9443  func (r *EditsBundlesService) List(packageName string, editId string) *EditsBundlesListCall {
  9444  	c := &EditsBundlesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9445  	c.packageName = packageName
  9446  	c.editId = editId
  9447  	return c
  9448  }
  9449  
  9450  // Fields allows partial responses to be retrieved. See
  9451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9452  // details.
  9453  func (c *EditsBundlesListCall) Fields(s ...googleapi.Field) *EditsBundlesListCall {
  9454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9455  	return c
  9456  }
  9457  
  9458  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9459  // object's ETag matches the given value. This is useful for getting updates
  9460  // only after the object has changed since the last request.
  9461  func (c *EditsBundlesListCall) IfNoneMatch(entityTag string) *EditsBundlesListCall {
  9462  	c.ifNoneMatch_ = entityTag
  9463  	return c
  9464  }
  9465  
  9466  // Context sets the context to be used in this call's Do method.
  9467  func (c *EditsBundlesListCall) Context(ctx context.Context) *EditsBundlesListCall {
  9468  	c.ctx_ = ctx
  9469  	return c
  9470  }
  9471  
  9472  // Header returns a http.Header that can be modified by the caller to add
  9473  // headers to the request.
  9474  func (c *EditsBundlesListCall) Header() http.Header {
  9475  	if c.header_ == nil {
  9476  		c.header_ = make(http.Header)
  9477  	}
  9478  	return c.header_
  9479  }
  9480  
  9481  func (c *EditsBundlesListCall) doRequest(alt string) (*http.Response, error) {
  9482  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9483  	if c.ifNoneMatch_ != "" {
  9484  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9485  	}
  9486  	var body io.Reader = nil
  9487  	c.urlParams_.Set("alt", alt)
  9488  	c.urlParams_.Set("prettyPrint", "false")
  9489  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles")
  9490  	urls += "?" + c.urlParams_.Encode()
  9491  	req, err := http.NewRequest("GET", urls, body)
  9492  	if err != nil {
  9493  		return nil, err
  9494  	}
  9495  	req.Header = reqHeaders
  9496  	googleapi.Expand(req.URL, map[string]string{
  9497  		"packageName": c.packageName,
  9498  		"editId":      c.editId,
  9499  	})
  9500  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9501  }
  9502  
  9503  // Do executes the "androidpublisher.edits.bundles.list" call.
  9504  // Any non-2xx status code is an error. Response headers are in either
  9505  // *BundlesListResponse.ServerResponse.Header or (if a response was returned at
  9506  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9507  // check whether the returned error was because http.StatusNotModified was
  9508  // returned.
  9509  func (c *EditsBundlesListCall) Do(opts ...googleapi.CallOption) (*BundlesListResponse, error) {
  9510  	gensupport.SetOptions(c.urlParams_, opts...)
  9511  	res, err := c.doRequest("json")
  9512  	if res != nil && res.StatusCode == http.StatusNotModified {
  9513  		if res.Body != nil {
  9514  			res.Body.Close()
  9515  		}
  9516  		return nil, gensupport.WrapError(&googleapi.Error{
  9517  			Code:   res.StatusCode,
  9518  			Header: res.Header,
  9519  		})
  9520  	}
  9521  	if err != nil {
  9522  		return nil, err
  9523  	}
  9524  	defer googleapi.CloseBody(res)
  9525  	if err := googleapi.CheckResponse(res); err != nil {
  9526  		return nil, gensupport.WrapError(err)
  9527  	}
  9528  	ret := &BundlesListResponse{
  9529  		ServerResponse: googleapi.ServerResponse{
  9530  			Header:         res.Header,
  9531  			HTTPStatusCode: res.StatusCode,
  9532  		},
  9533  	}
  9534  	target := &ret
  9535  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9536  		return nil, err
  9537  	}
  9538  	return ret, nil
  9539  }
  9540  
  9541  type EditsBundlesUploadCall struct {
  9542  	s           *Service
  9543  	packageName string
  9544  	editId      string
  9545  	urlParams_  gensupport.URLParams
  9546  	mediaInfo_  *gensupport.MediaInfo
  9547  	ctx_        context.Context
  9548  	header_     http.Header
  9549  }
  9550  
  9551  // Upload: Uploads a new Android App Bundle to this edit. If you are using the
  9552  // Google API client libraries, please increase the timeout of the http request
  9553  // before calling this endpoint (a timeout of 2 minutes is recommended). See
  9554  // Timeouts and Errors
  9555  // (https://developers.google.com/api-client-library/java/google-api-java-client/errors)
  9556  // for an example in java.
  9557  //
  9558  // - editId: Identifier of the edit.
  9559  // - packageName: Package name of the app.
  9560  func (r *EditsBundlesService) Upload(packageName string, editId string) *EditsBundlesUploadCall {
  9561  	c := &EditsBundlesUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9562  	c.packageName = packageName
  9563  	c.editId = editId
  9564  	return c
  9565  }
  9566  
  9567  // AckBundleInstallationWarning sets the optional parameter
  9568  // "ackBundleInstallationWarning": Must be set to true if the app bundle
  9569  // installation may trigger a warning on user devices (for example, if
  9570  // installation size may be over a threshold, typically 100 MB).
  9571  func (c *EditsBundlesUploadCall) AckBundleInstallationWarning(ackBundleInstallationWarning bool) *EditsBundlesUploadCall {
  9572  	c.urlParams_.Set("ackBundleInstallationWarning", fmt.Sprint(ackBundleInstallationWarning))
  9573  	return c
  9574  }
  9575  
  9576  // DeviceTierConfigId sets the optional parameter "deviceTierConfigId": Device
  9577  // tier config (DTC) to be used for generating deliverables (APKs). Contains id
  9578  // of the DTC or "LATEST" for last uploaded DTC.
  9579  func (c *EditsBundlesUploadCall) DeviceTierConfigId(deviceTierConfigId string) *EditsBundlesUploadCall {
  9580  	c.urlParams_.Set("deviceTierConfigId", deviceTierConfigId)
  9581  	return c
  9582  }
  9583  
  9584  // Media specifies the media to upload in one or more chunks. The chunk size
  9585  // may be controlled by supplying a MediaOption generated by
  9586  // googleapi.ChunkSize. The chunk size defaults to
  9587  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
  9588  // request will be determined by sniffing the contents of r, unless a
  9589  // MediaOption generated by googleapi.ContentType is supplied.
  9590  // At most one of Media and ResumableMedia may be set.
  9591  func (c *EditsBundlesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsBundlesUploadCall {
  9592  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
  9593  	return c
  9594  }
  9595  
  9596  // ResumableMedia specifies the media to upload in chunks and can be canceled
  9597  // with ctx.
  9598  //
  9599  // Deprecated: use Media instead.
  9600  //
  9601  // At most one of Media and ResumableMedia may be set. mediaType identifies the
  9602  // MIME media type of the upload, such as "image/png". If mediaType is "", it
  9603  // will be auto-detected. The provided ctx will supersede any context
  9604  // previously provided to the Context method.
  9605  func (c *EditsBundlesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsBundlesUploadCall {
  9606  	c.ctx_ = ctx
  9607  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
  9608  	return c
  9609  }
  9610  
  9611  // ProgressUpdater provides a callback function that will be called after every
  9612  // chunk. It should be a low-latency function in order to not slow down the
  9613  // upload operation. This should only be called when using ResumableMedia (as
  9614  // opposed to Media).
  9615  func (c *EditsBundlesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsBundlesUploadCall {
  9616  	c.mediaInfo_.SetProgressUpdater(pu)
  9617  	return c
  9618  }
  9619  
  9620  // Fields allows partial responses to be retrieved. See
  9621  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9622  // details.
  9623  func (c *EditsBundlesUploadCall) Fields(s ...googleapi.Field) *EditsBundlesUploadCall {
  9624  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9625  	return c
  9626  }
  9627  
  9628  // Context sets the context to be used in this call's Do method.
  9629  // This context will supersede any context previously provided to the
  9630  // ResumableMedia method.
  9631  func (c *EditsBundlesUploadCall) Context(ctx context.Context) *EditsBundlesUploadCall {
  9632  	c.ctx_ = ctx
  9633  	return c
  9634  }
  9635  
  9636  // Header returns a http.Header that can be modified by the caller to add
  9637  // headers to the request.
  9638  func (c *EditsBundlesUploadCall) Header() http.Header {
  9639  	if c.header_ == nil {
  9640  		c.header_ = make(http.Header)
  9641  	}
  9642  	return c.header_
  9643  }
  9644  
  9645  func (c *EditsBundlesUploadCall) doRequest(alt string) (*http.Response, error) {
  9646  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9647  	var body io.Reader = nil
  9648  	c.urlParams_.Set("alt", alt)
  9649  	c.urlParams_.Set("prettyPrint", "false")
  9650  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles")
  9651  	if c.mediaInfo_ != nil {
  9652  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles")
  9653  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
  9654  	}
  9655  	if body == nil {
  9656  		body = new(bytes.Buffer)
  9657  		reqHeaders.Set("Content-Type", "application/json")
  9658  	}
  9659  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
  9660  	defer cleanup()
  9661  	urls += "?" + c.urlParams_.Encode()
  9662  	req, err := http.NewRequest("POST", urls, body)
  9663  	if err != nil {
  9664  		return nil, err
  9665  	}
  9666  	req.Header = reqHeaders
  9667  	req.GetBody = getBody
  9668  	googleapi.Expand(req.URL, map[string]string{
  9669  		"packageName": c.packageName,
  9670  		"editId":      c.editId,
  9671  	})
  9672  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9673  }
  9674  
  9675  // Do executes the "androidpublisher.edits.bundles.upload" call.
  9676  // Any non-2xx status code is an error. Response headers are in either
  9677  // *Bundle.ServerResponse.Header or (if a response was returned at all) in
  9678  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9679  // whether the returned error was because http.StatusNotModified was returned.
  9680  func (c *EditsBundlesUploadCall) Do(opts ...googleapi.CallOption) (*Bundle, error) {
  9681  	gensupport.SetOptions(c.urlParams_, opts...)
  9682  	res, err := c.doRequest("json")
  9683  	if res != nil && res.StatusCode == http.StatusNotModified {
  9684  		if res.Body != nil {
  9685  			res.Body.Close()
  9686  		}
  9687  		return nil, gensupport.WrapError(&googleapi.Error{
  9688  			Code:   res.StatusCode,
  9689  			Header: res.Header,
  9690  		})
  9691  	}
  9692  	if err != nil {
  9693  		return nil, err
  9694  	}
  9695  	defer googleapi.CloseBody(res)
  9696  	if err := googleapi.CheckResponse(res); err != nil {
  9697  		return nil, gensupport.WrapError(err)
  9698  	}
  9699  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
  9700  	if rx != nil {
  9701  		rx.Client = c.s.client
  9702  		rx.UserAgent = c.s.userAgent()
  9703  		ctx := c.ctx_
  9704  		if ctx == nil {
  9705  			ctx = context.TODO()
  9706  		}
  9707  		res, err = rx.Upload(ctx)
  9708  		if err != nil {
  9709  			return nil, err
  9710  		}
  9711  		defer res.Body.Close()
  9712  		if err := googleapi.CheckResponse(res); err != nil {
  9713  			return nil, gensupport.WrapError(err)
  9714  		}
  9715  	}
  9716  	ret := &Bundle{
  9717  		ServerResponse: googleapi.ServerResponse{
  9718  			Header:         res.Header,
  9719  			HTTPStatusCode: res.StatusCode,
  9720  		},
  9721  	}
  9722  	target := &ret
  9723  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9724  		return nil, err
  9725  	}
  9726  	return ret, nil
  9727  }
  9728  
  9729  type EditsCountryavailabilityGetCall struct {
  9730  	s            *Service
  9731  	packageName  string
  9732  	editId       string
  9733  	track        string
  9734  	urlParams_   gensupport.URLParams
  9735  	ifNoneMatch_ string
  9736  	ctx_         context.Context
  9737  	header_      http.Header
  9738  }
  9739  
  9740  // Get: Gets country availability.
  9741  //
  9742  // - editId: Identifier of the edit.
  9743  // - packageName: Package name of the app.
  9744  // - track: The track to read from.
  9745  func (r *EditsCountryavailabilityService) Get(packageName string, editId string, track string) *EditsCountryavailabilityGetCall {
  9746  	c := &EditsCountryavailabilityGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9747  	c.packageName = packageName
  9748  	c.editId = editId
  9749  	c.track = track
  9750  	return c
  9751  }
  9752  
  9753  // Fields allows partial responses to be retrieved. See
  9754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9755  // details.
  9756  func (c *EditsCountryavailabilityGetCall) Fields(s ...googleapi.Field) *EditsCountryavailabilityGetCall {
  9757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9758  	return c
  9759  }
  9760  
  9761  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9762  // object's ETag matches the given value. This is useful for getting updates
  9763  // only after the object has changed since the last request.
  9764  func (c *EditsCountryavailabilityGetCall) IfNoneMatch(entityTag string) *EditsCountryavailabilityGetCall {
  9765  	c.ifNoneMatch_ = entityTag
  9766  	return c
  9767  }
  9768  
  9769  // Context sets the context to be used in this call's Do method.
  9770  func (c *EditsCountryavailabilityGetCall) Context(ctx context.Context) *EditsCountryavailabilityGetCall {
  9771  	c.ctx_ = ctx
  9772  	return c
  9773  }
  9774  
  9775  // Header returns a http.Header that can be modified by the caller to add
  9776  // headers to the request.
  9777  func (c *EditsCountryavailabilityGetCall) Header() http.Header {
  9778  	if c.header_ == nil {
  9779  		c.header_ = make(http.Header)
  9780  	}
  9781  	return c.header_
  9782  }
  9783  
  9784  func (c *EditsCountryavailabilityGetCall) doRequest(alt string) (*http.Response, error) {
  9785  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9786  	if c.ifNoneMatch_ != "" {
  9787  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9788  	}
  9789  	var body io.Reader = nil
  9790  	c.urlParams_.Set("alt", alt)
  9791  	c.urlParams_.Set("prettyPrint", "false")
  9792  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/countryAvailability/{track}")
  9793  	urls += "?" + c.urlParams_.Encode()
  9794  	req, err := http.NewRequest("GET", urls, body)
  9795  	if err != nil {
  9796  		return nil, err
  9797  	}
  9798  	req.Header = reqHeaders
  9799  	googleapi.Expand(req.URL, map[string]string{
  9800  		"packageName": c.packageName,
  9801  		"editId":      c.editId,
  9802  		"track":       c.track,
  9803  	})
  9804  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9805  }
  9806  
  9807  // Do executes the "androidpublisher.edits.countryavailability.get" call.
  9808  // Any non-2xx status code is an error. Response headers are in either
  9809  // *TrackCountryAvailability.ServerResponse.Header or (if a response was
  9810  // returned at all) in error.(*googleapi.Error).Header. Use
  9811  // googleapi.IsNotModified to check whether the returned error was because
  9812  // http.StatusNotModified was returned.
  9813  func (c *EditsCountryavailabilityGetCall) Do(opts ...googleapi.CallOption) (*TrackCountryAvailability, error) {
  9814  	gensupport.SetOptions(c.urlParams_, opts...)
  9815  	res, err := c.doRequest("json")
  9816  	if res != nil && res.StatusCode == http.StatusNotModified {
  9817  		if res.Body != nil {
  9818  			res.Body.Close()
  9819  		}
  9820  		return nil, gensupport.WrapError(&googleapi.Error{
  9821  			Code:   res.StatusCode,
  9822  			Header: res.Header,
  9823  		})
  9824  	}
  9825  	if err != nil {
  9826  		return nil, err
  9827  	}
  9828  	defer googleapi.CloseBody(res)
  9829  	if err := googleapi.CheckResponse(res); err != nil {
  9830  		return nil, gensupport.WrapError(err)
  9831  	}
  9832  	ret := &TrackCountryAvailability{
  9833  		ServerResponse: googleapi.ServerResponse{
  9834  			Header:         res.Header,
  9835  			HTTPStatusCode: res.StatusCode,
  9836  		},
  9837  	}
  9838  	target := &ret
  9839  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9840  		return nil, err
  9841  	}
  9842  	return ret, nil
  9843  }
  9844  
  9845  type EditsDeobfuscationfilesUploadCall struct {
  9846  	s                     *Service
  9847  	packageNameid         string
  9848  	editId                string
  9849  	apkVersionCode        int64
  9850  	deobfuscationFileType string
  9851  	urlParams_            gensupport.URLParams
  9852  	mediaInfo_            *gensupport.MediaInfo
  9853  	ctx_                  context.Context
  9854  	header_               http.Header
  9855  }
  9856  
  9857  // Upload: Uploads a new deobfuscation file and attaches to the specified APK.
  9858  //
  9859  //   - apkVersionCode: The version code of the APK whose Deobfuscation File is
  9860  //     being uploaded.
  9861  //   - deobfuscationFileType: The type of the deobfuscation file.
  9862  //   - editId: Unique identifier for this edit.
  9863  //   - packageName: Unique identifier for the Android app.
  9864  func (r *EditsDeobfuscationfilesService) Upload(packageNameid string, editId string, apkVersionCode int64, deobfuscationFileType string) *EditsDeobfuscationfilesUploadCall {
  9865  	c := &EditsDeobfuscationfilesUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9866  	c.packageNameid = packageNameid
  9867  	c.editId = editId
  9868  	c.apkVersionCode = apkVersionCode
  9869  	c.deobfuscationFileType = deobfuscationFileType
  9870  	return c
  9871  }
  9872  
  9873  // Media specifies the media to upload in one or more chunks. The chunk size
  9874  // may be controlled by supplying a MediaOption generated by
  9875  // googleapi.ChunkSize. The chunk size defaults to
  9876  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
  9877  // request will be determined by sniffing the contents of r, unless a
  9878  // MediaOption generated by googleapi.ContentType is supplied.
  9879  // At most one of Media and ResumableMedia may be set.
  9880  func (c *EditsDeobfuscationfilesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsDeobfuscationfilesUploadCall {
  9881  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
  9882  	return c
  9883  }
  9884  
  9885  // ResumableMedia specifies the media to upload in chunks and can be canceled
  9886  // with ctx.
  9887  //
  9888  // Deprecated: use Media instead.
  9889  //
  9890  // At most one of Media and ResumableMedia may be set. mediaType identifies the
  9891  // MIME media type of the upload, such as "image/png". If mediaType is "", it
  9892  // will be auto-detected. The provided ctx will supersede any context
  9893  // previously provided to the Context method.
  9894  func (c *EditsDeobfuscationfilesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsDeobfuscationfilesUploadCall {
  9895  	c.ctx_ = ctx
  9896  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
  9897  	return c
  9898  }
  9899  
  9900  // ProgressUpdater provides a callback function that will be called after every
  9901  // chunk. It should be a low-latency function in order to not slow down the
  9902  // upload operation. This should only be called when using ResumableMedia (as
  9903  // opposed to Media).
  9904  func (c *EditsDeobfuscationfilesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsDeobfuscationfilesUploadCall {
  9905  	c.mediaInfo_.SetProgressUpdater(pu)
  9906  	return c
  9907  }
  9908  
  9909  // Fields allows partial responses to be retrieved. See
  9910  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9911  // details.
  9912  func (c *EditsDeobfuscationfilesUploadCall) Fields(s ...googleapi.Field) *EditsDeobfuscationfilesUploadCall {
  9913  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9914  	return c
  9915  }
  9916  
  9917  // Context sets the context to be used in this call's Do method.
  9918  // This context will supersede any context previously provided to the
  9919  // ResumableMedia method.
  9920  func (c *EditsDeobfuscationfilesUploadCall) Context(ctx context.Context) *EditsDeobfuscationfilesUploadCall {
  9921  	c.ctx_ = ctx
  9922  	return c
  9923  }
  9924  
  9925  // Header returns a http.Header that can be modified by the caller to add
  9926  // headers to the request.
  9927  func (c *EditsDeobfuscationfilesUploadCall) Header() http.Header {
  9928  	if c.header_ == nil {
  9929  		c.header_ = make(http.Header)
  9930  	}
  9931  	return c.header_
  9932  }
  9933  
  9934  func (c *EditsDeobfuscationfilesUploadCall) doRequest(alt string) (*http.Response, error) {
  9935  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9936  	var body io.Reader = nil
  9937  	c.urlParams_.Set("alt", alt)
  9938  	c.urlParams_.Set("prettyPrint", "false")
  9939  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}")
  9940  	if c.mediaInfo_ != nil {
  9941  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}")
  9942  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
  9943  	}
  9944  	if body == nil {
  9945  		body = new(bytes.Buffer)
  9946  		reqHeaders.Set("Content-Type", "application/json")
  9947  	}
  9948  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
  9949  	defer cleanup()
  9950  	urls += "?" + c.urlParams_.Encode()
  9951  	req, err := http.NewRequest("POST", urls, body)
  9952  	if err != nil {
  9953  		return nil, err
  9954  	}
  9955  	req.Header = reqHeaders
  9956  	req.GetBody = getBody
  9957  	googleapi.Expand(req.URL, map[string]string{
  9958  		"packageName":           c.packageNameid,
  9959  		"editId":                c.editId,
  9960  		"apkVersionCode":        strconv.FormatInt(c.apkVersionCode, 10),
  9961  		"deobfuscationFileType": c.deobfuscationFileType,
  9962  	})
  9963  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9964  }
  9965  
  9966  // Do executes the "androidpublisher.edits.deobfuscationfiles.upload" call.
  9967  // Any non-2xx status code is an error. Response headers are in either
  9968  // *DeobfuscationFilesUploadResponse.ServerResponse.Header or (if a response
  9969  // was returned at all) in error.(*googleapi.Error).Header. Use
  9970  // googleapi.IsNotModified to check whether the returned error was because
  9971  // http.StatusNotModified was returned.
  9972  func (c *EditsDeobfuscationfilesUploadCall) Do(opts ...googleapi.CallOption) (*DeobfuscationFilesUploadResponse, error) {
  9973  	gensupport.SetOptions(c.urlParams_, opts...)
  9974  	res, err := c.doRequest("json")
  9975  	if res != nil && res.StatusCode == http.StatusNotModified {
  9976  		if res.Body != nil {
  9977  			res.Body.Close()
  9978  		}
  9979  		return nil, gensupport.WrapError(&googleapi.Error{
  9980  			Code:   res.StatusCode,
  9981  			Header: res.Header,
  9982  		})
  9983  	}
  9984  	if err != nil {
  9985  		return nil, err
  9986  	}
  9987  	defer googleapi.CloseBody(res)
  9988  	if err := googleapi.CheckResponse(res); err != nil {
  9989  		return nil, gensupport.WrapError(err)
  9990  	}
  9991  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
  9992  	if rx != nil {
  9993  		rx.Client = c.s.client
  9994  		rx.UserAgent = c.s.userAgent()
  9995  		ctx := c.ctx_
  9996  		if ctx == nil {
  9997  			ctx = context.TODO()
  9998  		}
  9999  		res, err = rx.Upload(ctx)
 10000  		if err != nil {
 10001  			return nil, err
 10002  		}
 10003  		defer res.Body.Close()
 10004  		if err := googleapi.CheckResponse(res); err != nil {
 10005  			return nil, gensupport.WrapError(err)
 10006  		}
 10007  	}
 10008  	ret := &DeobfuscationFilesUploadResponse{
 10009  		ServerResponse: googleapi.ServerResponse{
 10010  			Header:         res.Header,
 10011  			HTTPStatusCode: res.StatusCode,
 10012  		},
 10013  	}
 10014  	target := &ret
 10015  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10016  		return nil, err
 10017  	}
 10018  	return ret, nil
 10019  }
 10020  
 10021  type EditsDetailsGetCall struct {
 10022  	s            *Service
 10023  	packageName  string
 10024  	editId       string
 10025  	urlParams_   gensupport.URLParams
 10026  	ifNoneMatch_ string
 10027  	ctx_         context.Context
 10028  	header_      http.Header
 10029  }
 10030  
 10031  // Get: Gets details of an app.
 10032  //
 10033  // - editId: Identifier of the edit.
 10034  // - packageName: Package name of the app.
 10035  func (r *EditsDetailsService) Get(packageName string, editId string) *EditsDetailsGetCall {
 10036  	c := &EditsDetailsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10037  	c.packageName = packageName
 10038  	c.editId = editId
 10039  	return c
 10040  }
 10041  
 10042  // Fields allows partial responses to be retrieved. See
 10043  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10044  // details.
 10045  func (c *EditsDetailsGetCall) Fields(s ...googleapi.Field) *EditsDetailsGetCall {
 10046  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10047  	return c
 10048  }
 10049  
 10050  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10051  // object's ETag matches the given value. This is useful for getting updates
 10052  // only after the object has changed since the last request.
 10053  func (c *EditsDetailsGetCall) IfNoneMatch(entityTag string) *EditsDetailsGetCall {
 10054  	c.ifNoneMatch_ = entityTag
 10055  	return c
 10056  }
 10057  
 10058  // Context sets the context to be used in this call's Do method.
 10059  func (c *EditsDetailsGetCall) Context(ctx context.Context) *EditsDetailsGetCall {
 10060  	c.ctx_ = ctx
 10061  	return c
 10062  }
 10063  
 10064  // Header returns a http.Header that can be modified by the caller to add
 10065  // headers to the request.
 10066  func (c *EditsDetailsGetCall) Header() http.Header {
 10067  	if c.header_ == nil {
 10068  		c.header_ = make(http.Header)
 10069  	}
 10070  	return c.header_
 10071  }
 10072  
 10073  func (c *EditsDetailsGetCall) doRequest(alt string) (*http.Response, error) {
 10074  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10075  	if c.ifNoneMatch_ != "" {
 10076  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10077  	}
 10078  	var body io.Reader = nil
 10079  	c.urlParams_.Set("alt", alt)
 10080  	c.urlParams_.Set("prettyPrint", "false")
 10081  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/details")
 10082  	urls += "?" + c.urlParams_.Encode()
 10083  	req, err := http.NewRequest("GET", urls, body)
 10084  	if err != nil {
 10085  		return nil, err
 10086  	}
 10087  	req.Header = reqHeaders
 10088  	googleapi.Expand(req.URL, map[string]string{
 10089  		"packageName": c.packageName,
 10090  		"editId":      c.editId,
 10091  	})
 10092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10093  }
 10094  
 10095  // Do executes the "androidpublisher.edits.details.get" call.
 10096  // Any non-2xx status code is an error. Response headers are in either
 10097  // *AppDetails.ServerResponse.Header or (if a response was returned at all) in
 10098  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10099  // whether the returned error was because http.StatusNotModified was returned.
 10100  func (c *EditsDetailsGetCall) Do(opts ...googleapi.CallOption) (*AppDetails, error) {
 10101  	gensupport.SetOptions(c.urlParams_, opts...)
 10102  	res, err := c.doRequest("json")
 10103  	if res != nil && res.StatusCode == http.StatusNotModified {
 10104  		if res.Body != nil {
 10105  			res.Body.Close()
 10106  		}
 10107  		return nil, gensupport.WrapError(&googleapi.Error{
 10108  			Code:   res.StatusCode,
 10109  			Header: res.Header,
 10110  		})
 10111  	}
 10112  	if err != nil {
 10113  		return nil, err
 10114  	}
 10115  	defer googleapi.CloseBody(res)
 10116  	if err := googleapi.CheckResponse(res); err != nil {
 10117  		return nil, gensupport.WrapError(err)
 10118  	}
 10119  	ret := &AppDetails{
 10120  		ServerResponse: googleapi.ServerResponse{
 10121  			Header:         res.Header,
 10122  			HTTPStatusCode: res.StatusCode,
 10123  		},
 10124  	}
 10125  	target := &ret
 10126  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10127  		return nil, err
 10128  	}
 10129  	return ret, nil
 10130  }
 10131  
 10132  type EditsDetailsPatchCall struct {
 10133  	s           *Service
 10134  	packageName string
 10135  	editId      string
 10136  	appdetails  *AppDetails
 10137  	urlParams_  gensupport.URLParams
 10138  	ctx_        context.Context
 10139  	header_     http.Header
 10140  }
 10141  
 10142  // Patch: Patches details of an app.
 10143  //
 10144  // - editId: Identifier of the edit.
 10145  // - packageName: Package name of the app.
 10146  func (r *EditsDetailsService) Patch(packageName string, editId string, appdetails *AppDetails) *EditsDetailsPatchCall {
 10147  	c := &EditsDetailsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10148  	c.packageName = packageName
 10149  	c.editId = editId
 10150  	c.appdetails = appdetails
 10151  	return c
 10152  }
 10153  
 10154  // Fields allows partial responses to be retrieved. See
 10155  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10156  // details.
 10157  func (c *EditsDetailsPatchCall) Fields(s ...googleapi.Field) *EditsDetailsPatchCall {
 10158  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10159  	return c
 10160  }
 10161  
 10162  // Context sets the context to be used in this call's Do method.
 10163  func (c *EditsDetailsPatchCall) Context(ctx context.Context) *EditsDetailsPatchCall {
 10164  	c.ctx_ = ctx
 10165  	return c
 10166  }
 10167  
 10168  // Header returns a http.Header that can be modified by the caller to add
 10169  // headers to the request.
 10170  func (c *EditsDetailsPatchCall) Header() http.Header {
 10171  	if c.header_ == nil {
 10172  		c.header_ = make(http.Header)
 10173  	}
 10174  	return c.header_
 10175  }
 10176  
 10177  func (c *EditsDetailsPatchCall) doRequest(alt string) (*http.Response, error) {
 10178  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10179  	var body io.Reader = nil
 10180  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appdetails)
 10181  	if err != nil {
 10182  		return nil, err
 10183  	}
 10184  	c.urlParams_.Set("alt", alt)
 10185  	c.urlParams_.Set("prettyPrint", "false")
 10186  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/details")
 10187  	urls += "?" + c.urlParams_.Encode()
 10188  	req, err := http.NewRequest("PATCH", urls, body)
 10189  	if err != nil {
 10190  		return nil, err
 10191  	}
 10192  	req.Header = reqHeaders
 10193  	googleapi.Expand(req.URL, map[string]string{
 10194  		"packageName": c.packageName,
 10195  		"editId":      c.editId,
 10196  	})
 10197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10198  }
 10199  
 10200  // Do executes the "androidpublisher.edits.details.patch" call.
 10201  // Any non-2xx status code is an error. Response headers are in either
 10202  // *AppDetails.ServerResponse.Header or (if a response was returned at all) in
 10203  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10204  // whether the returned error was because http.StatusNotModified was returned.
 10205  func (c *EditsDetailsPatchCall) Do(opts ...googleapi.CallOption) (*AppDetails, error) {
 10206  	gensupport.SetOptions(c.urlParams_, opts...)
 10207  	res, err := c.doRequest("json")
 10208  	if res != nil && res.StatusCode == http.StatusNotModified {
 10209  		if res.Body != nil {
 10210  			res.Body.Close()
 10211  		}
 10212  		return nil, gensupport.WrapError(&googleapi.Error{
 10213  			Code:   res.StatusCode,
 10214  			Header: res.Header,
 10215  		})
 10216  	}
 10217  	if err != nil {
 10218  		return nil, err
 10219  	}
 10220  	defer googleapi.CloseBody(res)
 10221  	if err := googleapi.CheckResponse(res); err != nil {
 10222  		return nil, gensupport.WrapError(err)
 10223  	}
 10224  	ret := &AppDetails{
 10225  		ServerResponse: googleapi.ServerResponse{
 10226  			Header:         res.Header,
 10227  			HTTPStatusCode: res.StatusCode,
 10228  		},
 10229  	}
 10230  	target := &ret
 10231  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10232  		return nil, err
 10233  	}
 10234  	return ret, nil
 10235  }
 10236  
 10237  type EditsDetailsUpdateCall struct {
 10238  	s           *Service
 10239  	packageName string
 10240  	editId      string
 10241  	appdetails  *AppDetails
 10242  	urlParams_  gensupport.URLParams
 10243  	ctx_        context.Context
 10244  	header_     http.Header
 10245  }
 10246  
 10247  // Update: Updates details of an app.
 10248  //
 10249  // - editId: Identifier of the edit.
 10250  // - packageName: Package name of the app.
 10251  func (r *EditsDetailsService) Update(packageName string, editId string, appdetails *AppDetails) *EditsDetailsUpdateCall {
 10252  	c := &EditsDetailsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10253  	c.packageName = packageName
 10254  	c.editId = editId
 10255  	c.appdetails = appdetails
 10256  	return c
 10257  }
 10258  
 10259  // Fields allows partial responses to be retrieved. See
 10260  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10261  // details.
 10262  func (c *EditsDetailsUpdateCall) Fields(s ...googleapi.Field) *EditsDetailsUpdateCall {
 10263  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10264  	return c
 10265  }
 10266  
 10267  // Context sets the context to be used in this call's Do method.
 10268  func (c *EditsDetailsUpdateCall) Context(ctx context.Context) *EditsDetailsUpdateCall {
 10269  	c.ctx_ = ctx
 10270  	return c
 10271  }
 10272  
 10273  // Header returns a http.Header that can be modified by the caller to add
 10274  // headers to the request.
 10275  func (c *EditsDetailsUpdateCall) Header() http.Header {
 10276  	if c.header_ == nil {
 10277  		c.header_ = make(http.Header)
 10278  	}
 10279  	return c.header_
 10280  }
 10281  
 10282  func (c *EditsDetailsUpdateCall) doRequest(alt string) (*http.Response, error) {
 10283  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10284  	var body io.Reader = nil
 10285  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appdetails)
 10286  	if err != nil {
 10287  		return nil, err
 10288  	}
 10289  	c.urlParams_.Set("alt", alt)
 10290  	c.urlParams_.Set("prettyPrint", "false")
 10291  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/details")
 10292  	urls += "?" + c.urlParams_.Encode()
 10293  	req, err := http.NewRequest("PUT", urls, body)
 10294  	if err != nil {
 10295  		return nil, err
 10296  	}
 10297  	req.Header = reqHeaders
 10298  	googleapi.Expand(req.URL, map[string]string{
 10299  		"packageName": c.packageName,
 10300  		"editId":      c.editId,
 10301  	})
 10302  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10303  }
 10304  
 10305  // Do executes the "androidpublisher.edits.details.update" call.
 10306  // Any non-2xx status code is an error. Response headers are in either
 10307  // *AppDetails.ServerResponse.Header or (if a response was returned at all) in
 10308  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10309  // whether the returned error was because http.StatusNotModified was returned.
 10310  func (c *EditsDetailsUpdateCall) Do(opts ...googleapi.CallOption) (*AppDetails, error) {
 10311  	gensupport.SetOptions(c.urlParams_, opts...)
 10312  	res, err := c.doRequest("json")
 10313  	if res != nil && res.StatusCode == http.StatusNotModified {
 10314  		if res.Body != nil {
 10315  			res.Body.Close()
 10316  		}
 10317  		return nil, gensupport.WrapError(&googleapi.Error{
 10318  			Code:   res.StatusCode,
 10319  			Header: res.Header,
 10320  		})
 10321  	}
 10322  	if err != nil {
 10323  		return nil, err
 10324  	}
 10325  	defer googleapi.CloseBody(res)
 10326  	if err := googleapi.CheckResponse(res); err != nil {
 10327  		return nil, gensupport.WrapError(err)
 10328  	}
 10329  	ret := &AppDetails{
 10330  		ServerResponse: googleapi.ServerResponse{
 10331  			Header:         res.Header,
 10332  			HTTPStatusCode: res.StatusCode,
 10333  		},
 10334  	}
 10335  	target := &ret
 10336  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10337  		return nil, err
 10338  	}
 10339  	return ret, nil
 10340  }
 10341  
 10342  type EditsExpansionfilesGetCall struct {
 10343  	s                 *Service
 10344  	packageName       string
 10345  	editId            string
 10346  	apkVersionCode    int64
 10347  	expansionFileType string
 10348  	urlParams_        gensupport.URLParams
 10349  	ifNoneMatch_      string
 10350  	ctx_              context.Context
 10351  	header_           http.Header
 10352  }
 10353  
 10354  // Get: Fetches the expansion file configuration for the specified APK.
 10355  //
 10356  //   - apkVersionCode: The version code of the APK whose expansion file
 10357  //     configuration is being read or modified.
 10358  //   - editId: Identifier of the edit.
 10359  //   - expansionFileType: The file type of the file configuration which is being
 10360  //     read or modified.
 10361  //   - packageName: Package name of the app.
 10362  func (r *EditsExpansionfilesService) Get(packageName string, editId string, apkVersionCode int64, expansionFileType string) *EditsExpansionfilesGetCall {
 10363  	c := &EditsExpansionfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10364  	c.packageName = packageName
 10365  	c.editId = editId
 10366  	c.apkVersionCode = apkVersionCode
 10367  	c.expansionFileType = expansionFileType
 10368  	return c
 10369  }
 10370  
 10371  // Fields allows partial responses to be retrieved. See
 10372  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10373  // details.
 10374  func (c *EditsExpansionfilesGetCall) Fields(s ...googleapi.Field) *EditsExpansionfilesGetCall {
 10375  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10376  	return c
 10377  }
 10378  
 10379  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10380  // object's ETag matches the given value. This is useful for getting updates
 10381  // only after the object has changed since the last request.
 10382  func (c *EditsExpansionfilesGetCall) IfNoneMatch(entityTag string) *EditsExpansionfilesGetCall {
 10383  	c.ifNoneMatch_ = entityTag
 10384  	return c
 10385  }
 10386  
 10387  // Context sets the context to be used in this call's Do method.
 10388  func (c *EditsExpansionfilesGetCall) Context(ctx context.Context) *EditsExpansionfilesGetCall {
 10389  	c.ctx_ = ctx
 10390  	return c
 10391  }
 10392  
 10393  // Header returns a http.Header that can be modified by the caller to add
 10394  // headers to the request.
 10395  func (c *EditsExpansionfilesGetCall) Header() http.Header {
 10396  	if c.header_ == nil {
 10397  		c.header_ = make(http.Header)
 10398  	}
 10399  	return c.header_
 10400  }
 10401  
 10402  func (c *EditsExpansionfilesGetCall) doRequest(alt string) (*http.Response, error) {
 10403  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10404  	if c.ifNoneMatch_ != "" {
 10405  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10406  	}
 10407  	var body io.Reader = nil
 10408  	c.urlParams_.Set("alt", alt)
 10409  	c.urlParams_.Set("prettyPrint", "false")
 10410  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 10411  	urls += "?" + c.urlParams_.Encode()
 10412  	req, err := http.NewRequest("GET", urls, body)
 10413  	if err != nil {
 10414  		return nil, err
 10415  	}
 10416  	req.Header = reqHeaders
 10417  	googleapi.Expand(req.URL, map[string]string{
 10418  		"packageName":       c.packageName,
 10419  		"editId":            c.editId,
 10420  		"apkVersionCode":    strconv.FormatInt(c.apkVersionCode, 10),
 10421  		"expansionFileType": c.expansionFileType,
 10422  	})
 10423  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10424  }
 10425  
 10426  // Do executes the "androidpublisher.edits.expansionfiles.get" call.
 10427  // Any non-2xx status code is an error. Response headers are in either
 10428  // *ExpansionFile.ServerResponse.Header or (if a response was returned at all)
 10429  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10430  // whether the returned error was because http.StatusNotModified was returned.
 10431  func (c *EditsExpansionfilesGetCall) Do(opts ...googleapi.CallOption) (*ExpansionFile, error) {
 10432  	gensupport.SetOptions(c.urlParams_, opts...)
 10433  	res, err := c.doRequest("json")
 10434  	if res != nil && res.StatusCode == http.StatusNotModified {
 10435  		if res.Body != nil {
 10436  			res.Body.Close()
 10437  		}
 10438  		return nil, gensupport.WrapError(&googleapi.Error{
 10439  			Code:   res.StatusCode,
 10440  			Header: res.Header,
 10441  		})
 10442  	}
 10443  	if err != nil {
 10444  		return nil, err
 10445  	}
 10446  	defer googleapi.CloseBody(res)
 10447  	if err := googleapi.CheckResponse(res); err != nil {
 10448  		return nil, gensupport.WrapError(err)
 10449  	}
 10450  	ret := &ExpansionFile{
 10451  		ServerResponse: googleapi.ServerResponse{
 10452  			Header:         res.Header,
 10453  			HTTPStatusCode: res.StatusCode,
 10454  		},
 10455  	}
 10456  	target := &ret
 10457  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10458  		return nil, err
 10459  	}
 10460  	return ret, nil
 10461  }
 10462  
 10463  type EditsExpansionfilesPatchCall struct {
 10464  	s                 *Service
 10465  	packageName       string
 10466  	editId            string
 10467  	apkVersionCode    int64
 10468  	expansionFileType string
 10469  	expansionfile     *ExpansionFile
 10470  	urlParams_        gensupport.URLParams
 10471  	ctx_              context.Context
 10472  	header_           http.Header
 10473  }
 10474  
 10475  // Patch: Patches the APK's expansion file configuration to reference another
 10476  // APK's expansion file. To add a new expansion file use the Upload method.
 10477  //
 10478  //   - apkVersionCode: The version code of the APK whose expansion file
 10479  //     configuration is being read or modified.
 10480  //   - editId: Identifier of the edit.
 10481  //   - expansionFileType: The file type of the expansion file configuration which
 10482  //     is being updated.
 10483  //   - packageName: Package name of the app.
 10484  func (r *EditsExpansionfilesService) Patch(packageName string, editId string, apkVersionCode int64, expansionFileType string, expansionfile *ExpansionFile) *EditsExpansionfilesPatchCall {
 10485  	c := &EditsExpansionfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10486  	c.packageName = packageName
 10487  	c.editId = editId
 10488  	c.apkVersionCode = apkVersionCode
 10489  	c.expansionFileType = expansionFileType
 10490  	c.expansionfile = expansionfile
 10491  	return c
 10492  }
 10493  
 10494  // Fields allows partial responses to be retrieved. See
 10495  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10496  // details.
 10497  func (c *EditsExpansionfilesPatchCall) Fields(s ...googleapi.Field) *EditsExpansionfilesPatchCall {
 10498  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10499  	return c
 10500  }
 10501  
 10502  // Context sets the context to be used in this call's Do method.
 10503  func (c *EditsExpansionfilesPatchCall) Context(ctx context.Context) *EditsExpansionfilesPatchCall {
 10504  	c.ctx_ = ctx
 10505  	return c
 10506  }
 10507  
 10508  // Header returns a http.Header that can be modified by the caller to add
 10509  // headers to the request.
 10510  func (c *EditsExpansionfilesPatchCall) Header() http.Header {
 10511  	if c.header_ == nil {
 10512  		c.header_ = make(http.Header)
 10513  	}
 10514  	return c.header_
 10515  }
 10516  
 10517  func (c *EditsExpansionfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 10518  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10519  	var body io.Reader = nil
 10520  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.expansionfile)
 10521  	if err != nil {
 10522  		return nil, err
 10523  	}
 10524  	c.urlParams_.Set("alt", alt)
 10525  	c.urlParams_.Set("prettyPrint", "false")
 10526  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 10527  	urls += "?" + c.urlParams_.Encode()
 10528  	req, err := http.NewRequest("PATCH", urls, body)
 10529  	if err != nil {
 10530  		return nil, err
 10531  	}
 10532  	req.Header = reqHeaders
 10533  	googleapi.Expand(req.URL, map[string]string{
 10534  		"packageName":       c.packageName,
 10535  		"editId":            c.editId,
 10536  		"apkVersionCode":    strconv.FormatInt(c.apkVersionCode, 10),
 10537  		"expansionFileType": c.expansionFileType,
 10538  	})
 10539  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10540  }
 10541  
 10542  // Do executes the "androidpublisher.edits.expansionfiles.patch" call.
 10543  // Any non-2xx status code is an error. Response headers are in either
 10544  // *ExpansionFile.ServerResponse.Header or (if a response was returned at all)
 10545  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10546  // whether the returned error was because http.StatusNotModified was returned.
 10547  func (c *EditsExpansionfilesPatchCall) Do(opts ...googleapi.CallOption) (*ExpansionFile, error) {
 10548  	gensupport.SetOptions(c.urlParams_, opts...)
 10549  	res, err := c.doRequest("json")
 10550  	if res != nil && res.StatusCode == http.StatusNotModified {
 10551  		if res.Body != nil {
 10552  			res.Body.Close()
 10553  		}
 10554  		return nil, gensupport.WrapError(&googleapi.Error{
 10555  			Code:   res.StatusCode,
 10556  			Header: res.Header,
 10557  		})
 10558  	}
 10559  	if err != nil {
 10560  		return nil, err
 10561  	}
 10562  	defer googleapi.CloseBody(res)
 10563  	if err := googleapi.CheckResponse(res); err != nil {
 10564  		return nil, gensupport.WrapError(err)
 10565  	}
 10566  	ret := &ExpansionFile{
 10567  		ServerResponse: googleapi.ServerResponse{
 10568  			Header:         res.Header,
 10569  			HTTPStatusCode: res.StatusCode,
 10570  		},
 10571  	}
 10572  	target := &ret
 10573  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10574  		return nil, err
 10575  	}
 10576  	return ret, nil
 10577  }
 10578  
 10579  type EditsExpansionfilesUpdateCall struct {
 10580  	s                 *Service
 10581  	packageName       string
 10582  	editId            string
 10583  	apkVersionCode    int64
 10584  	expansionFileType string
 10585  	expansionfile     *ExpansionFile
 10586  	urlParams_        gensupport.URLParams
 10587  	ctx_              context.Context
 10588  	header_           http.Header
 10589  }
 10590  
 10591  // Update: Updates the APK's expansion file configuration to reference another
 10592  // APK's expansion file. To add a new expansion file use the Upload method.
 10593  //
 10594  //   - apkVersionCode: The version code of the APK whose expansion file
 10595  //     configuration is being read or modified.
 10596  //   - editId: Identifier of the edit.
 10597  //   - expansionFileType: The file type of the file configuration which is being
 10598  //     read or modified.
 10599  //   - packageName: Package name of the app.
 10600  func (r *EditsExpansionfilesService) Update(packageName string, editId string, apkVersionCode int64, expansionFileType string, expansionfile *ExpansionFile) *EditsExpansionfilesUpdateCall {
 10601  	c := &EditsExpansionfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10602  	c.packageName = packageName
 10603  	c.editId = editId
 10604  	c.apkVersionCode = apkVersionCode
 10605  	c.expansionFileType = expansionFileType
 10606  	c.expansionfile = expansionfile
 10607  	return c
 10608  }
 10609  
 10610  // Fields allows partial responses to be retrieved. See
 10611  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10612  // details.
 10613  func (c *EditsExpansionfilesUpdateCall) Fields(s ...googleapi.Field) *EditsExpansionfilesUpdateCall {
 10614  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10615  	return c
 10616  }
 10617  
 10618  // Context sets the context to be used in this call's Do method.
 10619  func (c *EditsExpansionfilesUpdateCall) Context(ctx context.Context) *EditsExpansionfilesUpdateCall {
 10620  	c.ctx_ = ctx
 10621  	return c
 10622  }
 10623  
 10624  // Header returns a http.Header that can be modified by the caller to add
 10625  // headers to the request.
 10626  func (c *EditsExpansionfilesUpdateCall) Header() http.Header {
 10627  	if c.header_ == nil {
 10628  		c.header_ = make(http.Header)
 10629  	}
 10630  	return c.header_
 10631  }
 10632  
 10633  func (c *EditsExpansionfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 10634  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10635  	var body io.Reader = nil
 10636  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.expansionfile)
 10637  	if err != nil {
 10638  		return nil, err
 10639  	}
 10640  	c.urlParams_.Set("alt", alt)
 10641  	c.urlParams_.Set("prettyPrint", "false")
 10642  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 10643  	urls += "?" + c.urlParams_.Encode()
 10644  	req, err := http.NewRequest("PUT", urls, body)
 10645  	if err != nil {
 10646  		return nil, err
 10647  	}
 10648  	req.Header = reqHeaders
 10649  	googleapi.Expand(req.URL, map[string]string{
 10650  		"packageName":       c.packageName,
 10651  		"editId":            c.editId,
 10652  		"apkVersionCode":    strconv.FormatInt(c.apkVersionCode, 10),
 10653  		"expansionFileType": c.expansionFileType,
 10654  	})
 10655  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10656  }
 10657  
 10658  // Do executes the "androidpublisher.edits.expansionfiles.update" call.
 10659  // Any non-2xx status code is an error. Response headers are in either
 10660  // *ExpansionFile.ServerResponse.Header or (if a response was returned at all)
 10661  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10662  // whether the returned error was because http.StatusNotModified was returned.
 10663  func (c *EditsExpansionfilesUpdateCall) Do(opts ...googleapi.CallOption) (*ExpansionFile, error) {
 10664  	gensupport.SetOptions(c.urlParams_, opts...)
 10665  	res, err := c.doRequest("json")
 10666  	if res != nil && res.StatusCode == http.StatusNotModified {
 10667  		if res.Body != nil {
 10668  			res.Body.Close()
 10669  		}
 10670  		return nil, gensupport.WrapError(&googleapi.Error{
 10671  			Code:   res.StatusCode,
 10672  			Header: res.Header,
 10673  		})
 10674  	}
 10675  	if err != nil {
 10676  		return nil, err
 10677  	}
 10678  	defer googleapi.CloseBody(res)
 10679  	if err := googleapi.CheckResponse(res); err != nil {
 10680  		return nil, gensupport.WrapError(err)
 10681  	}
 10682  	ret := &ExpansionFile{
 10683  		ServerResponse: googleapi.ServerResponse{
 10684  			Header:         res.Header,
 10685  			HTTPStatusCode: res.StatusCode,
 10686  		},
 10687  	}
 10688  	target := &ret
 10689  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10690  		return nil, err
 10691  	}
 10692  	return ret, nil
 10693  }
 10694  
 10695  type EditsExpansionfilesUploadCall struct {
 10696  	s                 *Service
 10697  	packageName       string
 10698  	editId            string
 10699  	apkVersionCode    int64
 10700  	expansionFileType string
 10701  	urlParams_        gensupport.URLParams
 10702  	mediaInfo_        *gensupport.MediaInfo
 10703  	ctx_              context.Context
 10704  	header_           http.Header
 10705  }
 10706  
 10707  // Upload: Uploads a new expansion file and attaches to the specified APK.
 10708  //
 10709  //   - apkVersionCode: The version code of the APK whose expansion file
 10710  //     configuration is being read or modified.
 10711  //   - editId: Identifier of the edit.
 10712  //   - expansionFileType: The file type of the expansion file configuration which
 10713  //     is being updated.
 10714  //   - packageName: Package name of the app.
 10715  func (r *EditsExpansionfilesService) Upload(packageName string, editId string, apkVersionCode int64, expansionFileType string) *EditsExpansionfilesUploadCall {
 10716  	c := &EditsExpansionfilesUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10717  	c.packageName = packageName
 10718  	c.editId = editId
 10719  	c.apkVersionCode = apkVersionCode
 10720  	c.expansionFileType = expansionFileType
 10721  	return c
 10722  }
 10723  
 10724  // Media specifies the media to upload in one or more chunks. The chunk size
 10725  // may be controlled by supplying a MediaOption generated by
 10726  // googleapi.ChunkSize. The chunk size defaults to
 10727  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 10728  // request will be determined by sniffing the contents of r, unless a
 10729  // MediaOption generated by googleapi.ContentType is supplied.
 10730  // At most one of Media and ResumableMedia may be set.
 10731  func (c *EditsExpansionfilesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsExpansionfilesUploadCall {
 10732  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 10733  	return c
 10734  }
 10735  
 10736  // ResumableMedia specifies the media to upload in chunks and can be canceled
 10737  // with ctx.
 10738  //
 10739  // Deprecated: use Media instead.
 10740  //
 10741  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 10742  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 10743  // will be auto-detected. The provided ctx will supersede any context
 10744  // previously provided to the Context method.
 10745  func (c *EditsExpansionfilesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsExpansionfilesUploadCall {
 10746  	c.ctx_ = ctx
 10747  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 10748  	return c
 10749  }
 10750  
 10751  // ProgressUpdater provides a callback function that will be called after every
 10752  // chunk. It should be a low-latency function in order to not slow down the
 10753  // upload operation. This should only be called when using ResumableMedia (as
 10754  // opposed to Media).
 10755  func (c *EditsExpansionfilesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsExpansionfilesUploadCall {
 10756  	c.mediaInfo_.SetProgressUpdater(pu)
 10757  	return c
 10758  }
 10759  
 10760  // Fields allows partial responses to be retrieved. See
 10761  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10762  // details.
 10763  func (c *EditsExpansionfilesUploadCall) Fields(s ...googleapi.Field) *EditsExpansionfilesUploadCall {
 10764  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10765  	return c
 10766  }
 10767  
 10768  // Context sets the context to be used in this call's Do method.
 10769  // This context will supersede any context previously provided to the
 10770  // ResumableMedia method.
 10771  func (c *EditsExpansionfilesUploadCall) Context(ctx context.Context) *EditsExpansionfilesUploadCall {
 10772  	c.ctx_ = ctx
 10773  	return c
 10774  }
 10775  
 10776  // Header returns a http.Header that can be modified by the caller to add
 10777  // headers to the request.
 10778  func (c *EditsExpansionfilesUploadCall) Header() http.Header {
 10779  	if c.header_ == nil {
 10780  		c.header_ = make(http.Header)
 10781  	}
 10782  	return c.header_
 10783  }
 10784  
 10785  func (c *EditsExpansionfilesUploadCall) doRequest(alt string) (*http.Response, error) {
 10786  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10787  	var body io.Reader = nil
 10788  	c.urlParams_.Set("alt", alt)
 10789  	c.urlParams_.Set("prettyPrint", "false")
 10790  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 10791  	if c.mediaInfo_ != nil {
 10792  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}")
 10793  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 10794  	}
 10795  	if body == nil {
 10796  		body = new(bytes.Buffer)
 10797  		reqHeaders.Set("Content-Type", "application/json")
 10798  	}
 10799  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 10800  	defer cleanup()
 10801  	urls += "?" + c.urlParams_.Encode()
 10802  	req, err := http.NewRequest("POST", urls, body)
 10803  	if err != nil {
 10804  		return nil, err
 10805  	}
 10806  	req.Header = reqHeaders
 10807  	req.GetBody = getBody
 10808  	googleapi.Expand(req.URL, map[string]string{
 10809  		"packageName":       c.packageName,
 10810  		"editId":            c.editId,
 10811  		"apkVersionCode":    strconv.FormatInt(c.apkVersionCode, 10),
 10812  		"expansionFileType": c.expansionFileType,
 10813  	})
 10814  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10815  }
 10816  
 10817  // Do executes the "androidpublisher.edits.expansionfiles.upload" call.
 10818  // Any non-2xx status code is an error. Response headers are in either
 10819  // *ExpansionFilesUploadResponse.ServerResponse.Header or (if a response was
 10820  // returned at all) in error.(*googleapi.Error).Header. Use
 10821  // googleapi.IsNotModified to check whether the returned error was because
 10822  // http.StatusNotModified was returned.
 10823  func (c *EditsExpansionfilesUploadCall) Do(opts ...googleapi.CallOption) (*ExpansionFilesUploadResponse, error) {
 10824  	gensupport.SetOptions(c.urlParams_, opts...)
 10825  	res, err := c.doRequest("json")
 10826  	if res != nil && res.StatusCode == http.StatusNotModified {
 10827  		if res.Body != nil {
 10828  			res.Body.Close()
 10829  		}
 10830  		return nil, gensupport.WrapError(&googleapi.Error{
 10831  			Code:   res.StatusCode,
 10832  			Header: res.Header,
 10833  		})
 10834  	}
 10835  	if err != nil {
 10836  		return nil, err
 10837  	}
 10838  	defer googleapi.CloseBody(res)
 10839  	if err := googleapi.CheckResponse(res); err != nil {
 10840  		return nil, gensupport.WrapError(err)
 10841  	}
 10842  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 10843  	if rx != nil {
 10844  		rx.Client = c.s.client
 10845  		rx.UserAgent = c.s.userAgent()
 10846  		ctx := c.ctx_
 10847  		if ctx == nil {
 10848  			ctx = context.TODO()
 10849  		}
 10850  		res, err = rx.Upload(ctx)
 10851  		if err != nil {
 10852  			return nil, err
 10853  		}
 10854  		defer res.Body.Close()
 10855  		if err := googleapi.CheckResponse(res); err != nil {
 10856  			return nil, gensupport.WrapError(err)
 10857  		}
 10858  	}
 10859  	ret := &ExpansionFilesUploadResponse{
 10860  		ServerResponse: googleapi.ServerResponse{
 10861  			Header:         res.Header,
 10862  			HTTPStatusCode: res.StatusCode,
 10863  		},
 10864  	}
 10865  	target := &ret
 10866  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10867  		return nil, err
 10868  	}
 10869  	return ret, nil
 10870  }
 10871  
 10872  type EditsImagesDeleteCall struct {
 10873  	s           *Service
 10874  	packageName string
 10875  	editId      string
 10876  	language    string
 10877  	imageType   string
 10878  	imageId     string
 10879  	urlParams_  gensupport.URLParams
 10880  	ctx_        context.Context
 10881  	header_     http.Header
 10882  }
 10883  
 10884  // Delete: Deletes the image (specified by id) from the edit.
 10885  //
 10886  //   - editId: Identifier of the edit.
 10887  //   - imageId: Unique identifier an image within the set of images attached to
 10888  //     this edit.
 10889  //   - imageType: Type of the Image.
 10890  //   - language: Language localization code (a BCP-47 language tag; for example,
 10891  //     "de-AT" for Austrian German).
 10892  //   - packageName: Package name of the app.
 10893  func (r *EditsImagesService) Delete(packageName string, editId string, language string, imageType string, imageId string) *EditsImagesDeleteCall {
 10894  	c := &EditsImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10895  	c.packageName = packageName
 10896  	c.editId = editId
 10897  	c.language = language
 10898  	c.imageType = imageType
 10899  	c.imageId = imageId
 10900  	return c
 10901  }
 10902  
 10903  // Fields allows partial responses to be retrieved. See
 10904  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10905  // details.
 10906  func (c *EditsImagesDeleteCall) Fields(s ...googleapi.Field) *EditsImagesDeleteCall {
 10907  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10908  	return c
 10909  }
 10910  
 10911  // Context sets the context to be used in this call's Do method.
 10912  func (c *EditsImagesDeleteCall) Context(ctx context.Context) *EditsImagesDeleteCall {
 10913  	c.ctx_ = ctx
 10914  	return c
 10915  }
 10916  
 10917  // Header returns a http.Header that can be modified by the caller to add
 10918  // headers to the request.
 10919  func (c *EditsImagesDeleteCall) Header() http.Header {
 10920  	if c.header_ == nil {
 10921  		c.header_ = make(http.Header)
 10922  	}
 10923  	return c.header_
 10924  }
 10925  
 10926  func (c *EditsImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 10927  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10928  	var body io.Reader = nil
 10929  	c.urlParams_.Set("alt", alt)
 10930  	c.urlParams_.Set("prettyPrint", "false")
 10931  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}")
 10932  	urls += "?" + c.urlParams_.Encode()
 10933  	req, err := http.NewRequest("DELETE", urls, body)
 10934  	if err != nil {
 10935  		return nil, err
 10936  	}
 10937  	req.Header = reqHeaders
 10938  	googleapi.Expand(req.URL, map[string]string{
 10939  		"packageName": c.packageName,
 10940  		"editId":      c.editId,
 10941  		"language":    c.language,
 10942  		"imageType":   c.imageType,
 10943  		"imageId":     c.imageId,
 10944  	})
 10945  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10946  }
 10947  
 10948  // Do executes the "androidpublisher.edits.images.delete" call.
 10949  func (c *EditsImagesDeleteCall) Do(opts ...googleapi.CallOption) error {
 10950  	gensupport.SetOptions(c.urlParams_, opts...)
 10951  	res, err := c.doRequest("json")
 10952  	if err != nil {
 10953  		return err
 10954  	}
 10955  	defer googleapi.CloseBody(res)
 10956  	if err := googleapi.CheckResponse(res); err != nil {
 10957  		return gensupport.WrapError(err)
 10958  	}
 10959  	return nil
 10960  }
 10961  
 10962  type EditsImagesDeleteallCall struct {
 10963  	s           *Service
 10964  	packageName string
 10965  	editId      string
 10966  	language    string
 10967  	imageType   string
 10968  	urlParams_  gensupport.URLParams
 10969  	ctx_        context.Context
 10970  	header_     http.Header
 10971  }
 10972  
 10973  // Deleteall: Deletes all images for the specified language and image type.
 10974  // Returns an empty response if no images are found.
 10975  //
 10976  //   - editId: Identifier of the edit.
 10977  //   - imageType: Type of the Image. Providing an image type that refers to no
 10978  //     images is a no-op.
 10979  //   - language: Language localization code (a BCP-47 language tag; for example,
 10980  //     "de-AT" for Austrian German). Providing a language that is not supported
 10981  //     by the App is a no-op.
 10982  //   - packageName: Package name of the app.
 10983  func (r *EditsImagesService) Deleteall(packageName string, editId string, language string, imageType string) *EditsImagesDeleteallCall {
 10984  	c := &EditsImagesDeleteallCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10985  	c.packageName = packageName
 10986  	c.editId = editId
 10987  	c.language = language
 10988  	c.imageType = imageType
 10989  	return c
 10990  }
 10991  
 10992  // Fields allows partial responses to be retrieved. See
 10993  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10994  // details.
 10995  func (c *EditsImagesDeleteallCall) Fields(s ...googleapi.Field) *EditsImagesDeleteallCall {
 10996  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10997  	return c
 10998  }
 10999  
 11000  // Context sets the context to be used in this call's Do method.
 11001  func (c *EditsImagesDeleteallCall) Context(ctx context.Context) *EditsImagesDeleteallCall {
 11002  	c.ctx_ = ctx
 11003  	return c
 11004  }
 11005  
 11006  // Header returns a http.Header that can be modified by the caller to add
 11007  // headers to the request.
 11008  func (c *EditsImagesDeleteallCall) Header() http.Header {
 11009  	if c.header_ == nil {
 11010  		c.header_ = make(http.Header)
 11011  	}
 11012  	return c.header_
 11013  }
 11014  
 11015  func (c *EditsImagesDeleteallCall) doRequest(alt string) (*http.Response, error) {
 11016  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11017  	var body io.Reader = nil
 11018  	c.urlParams_.Set("alt", alt)
 11019  	c.urlParams_.Set("prettyPrint", "false")
 11020  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}")
 11021  	urls += "?" + c.urlParams_.Encode()
 11022  	req, err := http.NewRequest("DELETE", urls, body)
 11023  	if err != nil {
 11024  		return nil, err
 11025  	}
 11026  	req.Header = reqHeaders
 11027  	googleapi.Expand(req.URL, map[string]string{
 11028  		"packageName": c.packageName,
 11029  		"editId":      c.editId,
 11030  		"language":    c.language,
 11031  		"imageType":   c.imageType,
 11032  	})
 11033  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11034  }
 11035  
 11036  // Do executes the "androidpublisher.edits.images.deleteall" call.
 11037  // Any non-2xx status code is an error. Response headers are in either
 11038  // *ImagesDeleteAllResponse.ServerResponse.Header or (if a response was
 11039  // returned at all) in error.(*googleapi.Error).Header. Use
 11040  // googleapi.IsNotModified to check whether the returned error was because
 11041  // http.StatusNotModified was returned.
 11042  func (c *EditsImagesDeleteallCall) Do(opts ...googleapi.CallOption) (*ImagesDeleteAllResponse, error) {
 11043  	gensupport.SetOptions(c.urlParams_, opts...)
 11044  	res, err := c.doRequest("json")
 11045  	if res != nil && res.StatusCode == http.StatusNotModified {
 11046  		if res.Body != nil {
 11047  			res.Body.Close()
 11048  		}
 11049  		return nil, gensupport.WrapError(&googleapi.Error{
 11050  			Code:   res.StatusCode,
 11051  			Header: res.Header,
 11052  		})
 11053  	}
 11054  	if err != nil {
 11055  		return nil, err
 11056  	}
 11057  	defer googleapi.CloseBody(res)
 11058  	if err := googleapi.CheckResponse(res); err != nil {
 11059  		return nil, gensupport.WrapError(err)
 11060  	}
 11061  	ret := &ImagesDeleteAllResponse{
 11062  		ServerResponse: googleapi.ServerResponse{
 11063  			Header:         res.Header,
 11064  			HTTPStatusCode: res.StatusCode,
 11065  		},
 11066  	}
 11067  	target := &ret
 11068  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11069  		return nil, err
 11070  	}
 11071  	return ret, nil
 11072  }
 11073  
 11074  type EditsImagesListCall struct {
 11075  	s            *Service
 11076  	packageName  string
 11077  	editId       string
 11078  	language     string
 11079  	imageType    string
 11080  	urlParams_   gensupport.URLParams
 11081  	ifNoneMatch_ string
 11082  	ctx_         context.Context
 11083  	header_      http.Header
 11084  }
 11085  
 11086  // List: Lists all images. The response may be empty.
 11087  //
 11088  //   - editId: Identifier of the edit.
 11089  //   - imageType: Type of the Image. Providing an image type that refers to no
 11090  //     images will return an empty response.
 11091  //   - language: Language localization code (a BCP-47 language tag; for example,
 11092  //     "de-AT" for Austrian German). There must be a store listing for the
 11093  //     specified language.
 11094  //   - packageName: Package name of the app.
 11095  func (r *EditsImagesService) List(packageName string, editId string, language string, imageType string) *EditsImagesListCall {
 11096  	c := &EditsImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11097  	c.packageName = packageName
 11098  	c.editId = editId
 11099  	c.language = language
 11100  	c.imageType = imageType
 11101  	return c
 11102  }
 11103  
 11104  // Fields allows partial responses to be retrieved. See
 11105  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11106  // details.
 11107  func (c *EditsImagesListCall) Fields(s ...googleapi.Field) *EditsImagesListCall {
 11108  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11109  	return c
 11110  }
 11111  
 11112  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11113  // object's ETag matches the given value. This is useful for getting updates
 11114  // only after the object has changed since the last request.
 11115  func (c *EditsImagesListCall) IfNoneMatch(entityTag string) *EditsImagesListCall {
 11116  	c.ifNoneMatch_ = entityTag
 11117  	return c
 11118  }
 11119  
 11120  // Context sets the context to be used in this call's Do method.
 11121  func (c *EditsImagesListCall) Context(ctx context.Context) *EditsImagesListCall {
 11122  	c.ctx_ = ctx
 11123  	return c
 11124  }
 11125  
 11126  // Header returns a http.Header that can be modified by the caller to add
 11127  // headers to the request.
 11128  func (c *EditsImagesListCall) Header() http.Header {
 11129  	if c.header_ == nil {
 11130  		c.header_ = make(http.Header)
 11131  	}
 11132  	return c.header_
 11133  }
 11134  
 11135  func (c *EditsImagesListCall) doRequest(alt string) (*http.Response, error) {
 11136  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11137  	if c.ifNoneMatch_ != "" {
 11138  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11139  	}
 11140  	var body io.Reader = nil
 11141  	c.urlParams_.Set("alt", alt)
 11142  	c.urlParams_.Set("prettyPrint", "false")
 11143  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}")
 11144  	urls += "?" + c.urlParams_.Encode()
 11145  	req, err := http.NewRequest("GET", urls, body)
 11146  	if err != nil {
 11147  		return nil, err
 11148  	}
 11149  	req.Header = reqHeaders
 11150  	googleapi.Expand(req.URL, map[string]string{
 11151  		"packageName": c.packageName,
 11152  		"editId":      c.editId,
 11153  		"language":    c.language,
 11154  		"imageType":   c.imageType,
 11155  	})
 11156  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11157  }
 11158  
 11159  // Do executes the "androidpublisher.edits.images.list" call.
 11160  // Any non-2xx status code is an error. Response headers are in either
 11161  // *ImagesListResponse.ServerResponse.Header or (if a response was returned at
 11162  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11163  // check whether the returned error was because http.StatusNotModified was
 11164  // returned.
 11165  func (c *EditsImagesListCall) Do(opts ...googleapi.CallOption) (*ImagesListResponse, error) {
 11166  	gensupport.SetOptions(c.urlParams_, opts...)
 11167  	res, err := c.doRequest("json")
 11168  	if res != nil && res.StatusCode == http.StatusNotModified {
 11169  		if res.Body != nil {
 11170  			res.Body.Close()
 11171  		}
 11172  		return nil, gensupport.WrapError(&googleapi.Error{
 11173  			Code:   res.StatusCode,
 11174  			Header: res.Header,
 11175  		})
 11176  	}
 11177  	if err != nil {
 11178  		return nil, err
 11179  	}
 11180  	defer googleapi.CloseBody(res)
 11181  	if err := googleapi.CheckResponse(res); err != nil {
 11182  		return nil, gensupport.WrapError(err)
 11183  	}
 11184  	ret := &ImagesListResponse{
 11185  		ServerResponse: googleapi.ServerResponse{
 11186  			Header:         res.Header,
 11187  			HTTPStatusCode: res.StatusCode,
 11188  		},
 11189  	}
 11190  	target := &ret
 11191  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11192  		return nil, err
 11193  	}
 11194  	return ret, nil
 11195  }
 11196  
 11197  type EditsImagesUploadCall struct {
 11198  	s           *Service
 11199  	packageName string
 11200  	editId      string
 11201  	language    string
 11202  	imageType   string
 11203  	urlParams_  gensupport.URLParams
 11204  	mediaInfo_  *gensupport.MediaInfo
 11205  	ctx_        context.Context
 11206  	header_     http.Header
 11207  }
 11208  
 11209  // Upload: Uploads an image of the specified language and image type, and adds
 11210  // to the edit.
 11211  //
 11212  //   - editId: Identifier of the edit.
 11213  //   - imageType: Type of the Image.
 11214  //   - language: Language localization code (a BCP-47 language tag; for example,
 11215  //     "de-AT" for Austrian German). Providing a language that is not supported
 11216  //     by the App is a no-op.
 11217  //   - packageName: Package name of the app.
 11218  func (r *EditsImagesService) Upload(packageName string, editId string, language string, imageType string) *EditsImagesUploadCall {
 11219  	c := &EditsImagesUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11220  	c.packageName = packageName
 11221  	c.editId = editId
 11222  	c.language = language
 11223  	c.imageType = imageType
 11224  	return c
 11225  }
 11226  
 11227  // Media specifies the media to upload in one or more chunks. The chunk size
 11228  // may be controlled by supplying a MediaOption generated by
 11229  // googleapi.ChunkSize. The chunk size defaults to
 11230  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 11231  // request will be determined by sniffing the contents of r, unless a
 11232  // MediaOption generated by googleapi.ContentType is supplied.
 11233  // At most one of Media and ResumableMedia may be set.
 11234  func (c *EditsImagesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsImagesUploadCall {
 11235  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 11236  	return c
 11237  }
 11238  
 11239  // ResumableMedia specifies the media to upload in chunks and can be canceled
 11240  // with ctx.
 11241  //
 11242  // Deprecated: use Media instead.
 11243  //
 11244  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 11245  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 11246  // will be auto-detected. The provided ctx will supersede any context
 11247  // previously provided to the Context method.
 11248  func (c *EditsImagesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsImagesUploadCall {
 11249  	c.ctx_ = ctx
 11250  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 11251  	return c
 11252  }
 11253  
 11254  // ProgressUpdater provides a callback function that will be called after every
 11255  // chunk. It should be a low-latency function in order to not slow down the
 11256  // upload operation. This should only be called when using ResumableMedia (as
 11257  // opposed to Media).
 11258  func (c *EditsImagesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsImagesUploadCall {
 11259  	c.mediaInfo_.SetProgressUpdater(pu)
 11260  	return c
 11261  }
 11262  
 11263  // Fields allows partial responses to be retrieved. See
 11264  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11265  // details.
 11266  func (c *EditsImagesUploadCall) Fields(s ...googleapi.Field) *EditsImagesUploadCall {
 11267  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11268  	return c
 11269  }
 11270  
 11271  // Context sets the context to be used in this call's Do method.
 11272  // This context will supersede any context previously provided to the
 11273  // ResumableMedia method.
 11274  func (c *EditsImagesUploadCall) Context(ctx context.Context) *EditsImagesUploadCall {
 11275  	c.ctx_ = ctx
 11276  	return c
 11277  }
 11278  
 11279  // Header returns a http.Header that can be modified by the caller to add
 11280  // headers to the request.
 11281  func (c *EditsImagesUploadCall) Header() http.Header {
 11282  	if c.header_ == nil {
 11283  		c.header_ = make(http.Header)
 11284  	}
 11285  	return c.header_
 11286  }
 11287  
 11288  func (c *EditsImagesUploadCall) doRequest(alt string) (*http.Response, error) {
 11289  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11290  	var body io.Reader = nil
 11291  	c.urlParams_.Set("alt", alt)
 11292  	c.urlParams_.Set("prettyPrint", "false")
 11293  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}")
 11294  	if c.mediaInfo_ != nil {
 11295  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}")
 11296  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 11297  	}
 11298  	if body == nil {
 11299  		body = new(bytes.Buffer)
 11300  		reqHeaders.Set("Content-Type", "application/json")
 11301  	}
 11302  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 11303  	defer cleanup()
 11304  	urls += "?" + c.urlParams_.Encode()
 11305  	req, err := http.NewRequest("POST", urls, body)
 11306  	if err != nil {
 11307  		return nil, err
 11308  	}
 11309  	req.Header = reqHeaders
 11310  	req.GetBody = getBody
 11311  	googleapi.Expand(req.URL, map[string]string{
 11312  		"packageName": c.packageName,
 11313  		"editId":      c.editId,
 11314  		"language":    c.language,
 11315  		"imageType":   c.imageType,
 11316  	})
 11317  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11318  }
 11319  
 11320  // Do executes the "androidpublisher.edits.images.upload" call.
 11321  // Any non-2xx status code is an error. Response headers are in either
 11322  // *ImagesUploadResponse.ServerResponse.Header or (if a response was returned
 11323  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11324  // check whether the returned error was because http.StatusNotModified was
 11325  // returned.
 11326  func (c *EditsImagesUploadCall) Do(opts ...googleapi.CallOption) (*ImagesUploadResponse, error) {
 11327  	gensupport.SetOptions(c.urlParams_, opts...)
 11328  	res, err := c.doRequest("json")
 11329  	if res != nil && res.StatusCode == http.StatusNotModified {
 11330  		if res.Body != nil {
 11331  			res.Body.Close()
 11332  		}
 11333  		return nil, gensupport.WrapError(&googleapi.Error{
 11334  			Code:   res.StatusCode,
 11335  			Header: res.Header,
 11336  		})
 11337  	}
 11338  	if err != nil {
 11339  		return nil, err
 11340  	}
 11341  	defer googleapi.CloseBody(res)
 11342  	if err := googleapi.CheckResponse(res); err != nil {
 11343  		return nil, gensupport.WrapError(err)
 11344  	}
 11345  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 11346  	if rx != nil {
 11347  		rx.Client = c.s.client
 11348  		rx.UserAgent = c.s.userAgent()
 11349  		ctx := c.ctx_
 11350  		if ctx == nil {
 11351  			ctx = context.TODO()
 11352  		}
 11353  		res, err = rx.Upload(ctx)
 11354  		if err != nil {
 11355  			return nil, err
 11356  		}
 11357  		defer res.Body.Close()
 11358  		if err := googleapi.CheckResponse(res); err != nil {
 11359  			return nil, gensupport.WrapError(err)
 11360  		}
 11361  	}
 11362  	ret := &ImagesUploadResponse{
 11363  		ServerResponse: googleapi.ServerResponse{
 11364  			Header:         res.Header,
 11365  			HTTPStatusCode: res.StatusCode,
 11366  		},
 11367  	}
 11368  	target := &ret
 11369  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11370  		return nil, err
 11371  	}
 11372  	return ret, nil
 11373  }
 11374  
 11375  type EditsListingsDeleteCall struct {
 11376  	s           *Service
 11377  	packageName string
 11378  	editId      string
 11379  	language    string
 11380  	urlParams_  gensupport.URLParams
 11381  	ctx_        context.Context
 11382  	header_     http.Header
 11383  }
 11384  
 11385  // Delete: Deletes a localized store listing.
 11386  //
 11387  //   - editId: Identifier of the edit.
 11388  //   - language: Language localization code (a BCP-47 language tag; for example,
 11389  //     "de-AT" for Austrian German).
 11390  //   - packageName: Package name of the app.
 11391  func (r *EditsListingsService) Delete(packageName string, editId string, language string) *EditsListingsDeleteCall {
 11392  	c := &EditsListingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11393  	c.packageName = packageName
 11394  	c.editId = editId
 11395  	c.language = language
 11396  	return c
 11397  }
 11398  
 11399  // Fields allows partial responses to be retrieved. See
 11400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11401  // details.
 11402  func (c *EditsListingsDeleteCall) Fields(s ...googleapi.Field) *EditsListingsDeleteCall {
 11403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11404  	return c
 11405  }
 11406  
 11407  // Context sets the context to be used in this call's Do method.
 11408  func (c *EditsListingsDeleteCall) Context(ctx context.Context) *EditsListingsDeleteCall {
 11409  	c.ctx_ = ctx
 11410  	return c
 11411  }
 11412  
 11413  // Header returns a http.Header that can be modified by the caller to add
 11414  // headers to the request.
 11415  func (c *EditsListingsDeleteCall) Header() http.Header {
 11416  	if c.header_ == nil {
 11417  		c.header_ = make(http.Header)
 11418  	}
 11419  	return c.header_
 11420  }
 11421  
 11422  func (c *EditsListingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11423  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11424  	var body io.Reader = nil
 11425  	c.urlParams_.Set("alt", alt)
 11426  	c.urlParams_.Set("prettyPrint", "false")
 11427  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}")
 11428  	urls += "?" + c.urlParams_.Encode()
 11429  	req, err := http.NewRequest("DELETE", urls, body)
 11430  	if err != nil {
 11431  		return nil, err
 11432  	}
 11433  	req.Header = reqHeaders
 11434  	googleapi.Expand(req.URL, map[string]string{
 11435  		"packageName": c.packageName,
 11436  		"editId":      c.editId,
 11437  		"language":    c.language,
 11438  	})
 11439  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11440  }
 11441  
 11442  // Do executes the "androidpublisher.edits.listings.delete" call.
 11443  func (c *EditsListingsDeleteCall) Do(opts ...googleapi.CallOption) error {
 11444  	gensupport.SetOptions(c.urlParams_, opts...)
 11445  	res, err := c.doRequest("json")
 11446  	if err != nil {
 11447  		return err
 11448  	}
 11449  	defer googleapi.CloseBody(res)
 11450  	if err := googleapi.CheckResponse(res); err != nil {
 11451  		return gensupport.WrapError(err)
 11452  	}
 11453  	return nil
 11454  }
 11455  
 11456  type EditsListingsDeleteallCall struct {
 11457  	s           *Service
 11458  	packageName string
 11459  	editId      string
 11460  	urlParams_  gensupport.URLParams
 11461  	ctx_        context.Context
 11462  	header_     http.Header
 11463  }
 11464  
 11465  // Deleteall: Deletes all store listings.
 11466  //
 11467  // - editId: Identifier of the edit.
 11468  // - packageName: Package name of the app.
 11469  func (r *EditsListingsService) Deleteall(packageName string, editId string) *EditsListingsDeleteallCall {
 11470  	c := &EditsListingsDeleteallCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11471  	c.packageName = packageName
 11472  	c.editId = editId
 11473  	return c
 11474  }
 11475  
 11476  // Fields allows partial responses to be retrieved. See
 11477  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11478  // details.
 11479  func (c *EditsListingsDeleteallCall) Fields(s ...googleapi.Field) *EditsListingsDeleteallCall {
 11480  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11481  	return c
 11482  }
 11483  
 11484  // Context sets the context to be used in this call's Do method.
 11485  func (c *EditsListingsDeleteallCall) Context(ctx context.Context) *EditsListingsDeleteallCall {
 11486  	c.ctx_ = ctx
 11487  	return c
 11488  }
 11489  
 11490  // Header returns a http.Header that can be modified by the caller to add
 11491  // headers to the request.
 11492  func (c *EditsListingsDeleteallCall) Header() http.Header {
 11493  	if c.header_ == nil {
 11494  		c.header_ = make(http.Header)
 11495  	}
 11496  	return c.header_
 11497  }
 11498  
 11499  func (c *EditsListingsDeleteallCall) doRequest(alt string) (*http.Response, error) {
 11500  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11501  	var body io.Reader = nil
 11502  	c.urlParams_.Set("alt", alt)
 11503  	c.urlParams_.Set("prettyPrint", "false")
 11504  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings")
 11505  	urls += "?" + c.urlParams_.Encode()
 11506  	req, err := http.NewRequest("DELETE", urls, body)
 11507  	if err != nil {
 11508  		return nil, err
 11509  	}
 11510  	req.Header = reqHeaders
 11511  	googleapi.Expand(req.URL, map[string]string{
 11512  		"packageName": c.packageName,
 11513  		"editId":      c.editId,
 11514  	})
 11515  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11516  }
 11517  
 11518  // Do executes the "androidpublisher.edits.listings.deleteall" call.
 11519  func (c *EditsListingsDeleteallCall) Do(opts ...googleapi.CallOption) error {
 11520  	gensupport.SetOptions(c.urlParams_, opts...)
 11521  	res, err := c.doRequest("json")
 11522  	if err != nil {
 11523  		return err
 11524  	}
 11525  	defer googleapi.CloseBody(res)
 11526  	if err := googleapi.CheckResponse(res); err != nil {
 11527  		return gensupport.WrapError(err)
 11528  	}
 11529  	return nil
 11530  }
 11531  
 11532  type EditsListingsGetCall struct {
 11533  	s            *Service
 11534  	packageName  string
 11535  	editId       string
 11536  	language     string
 11537  	urlParams_   gensupport.URLParams
 11538  	ifNoneMatch_ string
 11539  	ctx_         context.Context
 11540  	header_      http.Header
 11541  }
 11542  
 11543  // Get: Gets a localized store listing.
 11544  //
 11545  //   - editId: Identifier of the edit.
 11546  //   - language: Language localization code (a BCP-47 language tag; for example,
 11547  //     "de-AT" for Austrian German).
 11548  //   - packageName: Package name of the app.
 11549  func (r *EditsListingsService) Get(packageName string, editId string, language string) *EditsListingsGetCall {
 11550  	c := &EditsListingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11551  	c.packageName = packageName
 11552  	c.editId = editId
 11553  	c.language = language
 11554  	return c
 11555  }
 11556  
 11557  // Fields allows partial responses to be retrieved. See
 11558  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11559  // details.
 11560  func (c *EditsListingsGetCall) Fields(s ...googleapi.Field) *EditsListingsGetCall {
 11561  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11562  	return c
 11563  }
 11564  
 11565  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11566  // object's ETag matches the given value. This is useful for getting updates
 11567  // only after the object has changed since the last request.
 11568  func (c *EditsListingsGetCall) IfNoneMatch(entityTag string) *EditsListingsGetCall {
 11569  	c.ifNoneMatch_ = entityTag
 11570  	return c
 11571  }
 11572  
 11573  // Context sets the context to be used in this call's Do method.
 11574  func (c *EditsListingsGetCall) Context(ctx context.Context) *EditsListingsGetCall {
 11575  	c.ctx_ = ctx
 11576  	return c
 11577  }
 11578  
 11579  // Header returns a http.Header that can be modified by the caller to add
 11580  // headers to the request.
 11581  func (c *EditsListingsGetCall) Header() http.Header {
 11582  	if c.header_ == nil {
 11583  		c.header_ = make(http.Header)
 11584  	}
 11585  	return c.header_
 11586  }
 11587  
 11588  func (c *EditsListingsGetCall) doRequest(alt string) (*http.Response, error) {
 11589  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11590  	if c.ifNoneMatch_ != "" {
 11591  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11592  	}
 11593  	var body io.Reader = nil
 11594  	c.urlParams_.Set("alt", alt)
 11595  	c.urlParams_.Set("prettyPrint", "false")
 11596  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}")
 11597  	urls += "?" + c.urlParams_.Encode()
 11598  	req, err := http.NewRequest("GET", urls, body)
 11599  	if err != nil {
 11600  		return nil, err
 11601  	}
 11602  	req.Header = reqHeaders
 11603  	googleapi.Expand(req.URL, map[string]string{
 11604  		"packageName": c.packageName,
 11605  		"editId":      c.editId,
 11606  		"language":    c.language,
 11607  	})
 11608  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11609  }
 11610  
 11611  // Do executes the "androidpublisher.edits.listings.get" call.
 11612  // Any non-2xx status code is an error. Response headers are in either
 11613  // *Listing.ServerResponse.Header or (if a response was returned at all) in
 11614  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11615  // whether the returned error was because http.StatusNotModified was returned.
 11616  func (c *EditsListingsGetCall) Do(opts ...googleapi.CallOption) (*Listing, error) {
 11617  	gensupport.SetOptions(c.urlParams_, opts...)
 11618  	res, err := c.doRequest("json")
 11619  	if res != nil && res.StatusCode == http.StatusNotModified {
 11620  		if res.Body != nil {
 11621  			res.Body.Close()
 11622  		}
 11623  		return nil, gensupport.WrapError(&googleapi.Error{
 11624  			Code:   res.StatusCode,
 11625  			Header: res.Header,
 11626  		})
 11627  	}
 11628  	if err != nil {
 11629  		return nil, err
 11630  	}
 11631  	defer googleapi.CloseBody(res)
 11632  	if err := googleapi.CheckResponse(res); err != nil {
 11633  		return nil, gensupport.WrapError(err)
 11634  	}
 11635  	ret := &Listing{
 11636  		ServerResponse: googleapi.ServerResponse{
 11637  			Header:         res.Header,
 11638  			HTTPStatusCode: res.StatusCode,
 11639  		},
 11640  	}
 11641  	target := &ret
 11642  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11643  		return nil, err
 11644  	}
 11645  	return ret, nil
 11646  }
 11647  
 11648  type EditsListingsListCall struct {
 11649  	s            *Service
 11650  	packageName  string
 11651  	editId       string
 11652  	urlParams_   gensupport.URLParams
 11653  	ifNoneMatch_ string
 11654  	ctx_         context.Context
 11655  	header_      http.Header
 11656  }
 11657  
 11658  // List: Lists all localized store listings.
 11659  //
 11660  // - editId: Identifier of the edit.
 11661  // - packageName: Package name of the app.
 11662  func (r *EditsListingsService) List(packageName string, editId string) *EditsListingsListCall {
 11663  	c := &EditsListingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11664  	c.packageName = packageName
 11665  	c.editId = editId
 11666  	return c
 11667  }
 11668  
 11669  // Fields allows partial responses to be retrieved. See
 11670  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11671  // details.
 11672  func (c *EditsListingsListCall) Fields(s ...googleapi.Field) *EditsListingsListCall {
 11673  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11674  	return c
 11675  }
 11676  
 11677  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11678  // object's ETag matches the given value. This is useful for getting updates
 11679  // only after the object has changed since the last request.
 11680  func (c *EditsListingsListCall) IfNoneMatch(entityTag string) *EditsListingsListCall {
 11681  	c.ifNoneMatch_ = entityTag
 11682  	return c
 11683  }
 11684  
 11685  // Context sets the context to be used in this call's Do method.
 11686  func (c *EditsListingsListCall) Context(ctx context.Context) *EditsListingsListCall {
 11687  	c.ctx_ = ctx
 11688  	return c
 11689  }
 11690  
 11691  // Header returns a http.Header that can be modified by the caller to add
 11692  // headers to the request.
 11693  func (c *EditsListingsListCall) Header() http.Header {
 11694  	if c.header_ == nil {
 11695  		c.header_ = make(http.Header)
 11696  	}
 11697  	return c.header_
 11698  }
 11699  
 11700  func (c *EditsListingsListCall) doRequest(alt string) (*http.Response, error) {
 11701  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11702  	if c.ifNoneMatch_ != "" {
 11703  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11704  	}
 11705  	var body io.Reader = nil
 11706  	c.urlParams_.Set("alt", alt)
 11707  	c.urlParams_.Set("prettyPrint", "false")
 11708  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings")
 11709  	urls += "?" + c.urlParams_.Encode()
 11710  	req, err := http.NewRequest("GET", urls, body)
 11711  	if err != nil {
 11712  		return nil, err
 11713  	}
 11714  	req.Header = reqHeaders
 11715  	googleapi.Expand(req.URL, map[string]string{
 11716  		"packageName": c.packageName,
 11717  		"editId":      c.editId,
 11718  	})
 11719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11720  }
 11721  
 11722  // Do executes the "androidpublisher.edits.listings.list" call.
 11723  // Any non-2xx status code is an error. Response headers are in either
 11724  // *ListingsListResponse.ServerResponse.Header or (if a response was returned
 11725  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11726  // check whether the returned error was because http.StatusNotModified was
 11727  // returned.
 11728  func (c *EditsListingsListCall) Do(opts ...googleapi.CallOption) (*ListingsListResponse, error) {
 11729  	gensupport.SetOptions(c.urlParams_, opts...)
 11730  	res, err := c.doRequest("json")
 11731  	if res != nil && res.StatusCode == http.StatusNotModified {
 11732  		if res.Body != nil {
 11733  			res.Body.Close()
 11734  		}
 11735  		return nil, gensupport.WrapError(&googleapi.Error{
 11736  			Code:   res.StatusCode,
 11737  			Header: res.Header,
 11738  		})
 11739  	}
 11740  	if err != nil {
 11741  		return nil, err
 11742  	}
 11743  	defer googleapi.CloseBody(res)
 11744  	if err := googleapi.CheckResponse(res); err != nil {
 11745  		return nil, gensupport.WrapError(err)
 11746  	}
 11747  	ret := &ListingsListResponse{
 11748  		ServerResponse: googleapi.ServerResponse{
 11749  			Header:         res.Header,
 11750  			HTTPStatusCode: res.StatusCode,
 11751  		},
 11752  	}
 11753  	target := &ret
 11754  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11755  		return nil, err
 11756  	}
 11757  	return ret, nil
 11758  }
 11759  
 11760  type EditsListingsPatchCall struct {
 11761  	s           *Service
 11762  	packageName string
 11763  	editId      string
 11764  	language    string
 11765  	listing     *Listing
 11766  	urlParams_  gensupport.URLParams
 11767  	ctx_        context.Context
 11768  	header_     http.Header
 11769  }
 11770  
 11771  // Patch: Patches a localized store listing.
 11772  //
 11773  //   - editId: Identifier of the edit.
 11774  //   - language: Language localization code (a BCP-47 language tag; for example,
 11775  //     "de-AT" for Austrian German).
 11776  //   - packageName: Package name of the app.
 11777  func (r *EditsListingsService) Patch(packageName string, editId string, language string, listing *Listing) *EditsListingsPatchCall {
 11778  	c := &EditsListingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11779  	c.packageName = packageName
 11780  	c.editId = editId
 11781  	c.language = language
 11782  	c.listing = listing
 11783  	return c
 11784  }
 11785  
 11786  // Fields allows partial responses to be retrieved. See
 11787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11788  // details.
 11789  func (c *EditsListingsPatchCall) Fields(s ...googleapi.Field) *EditsListingsPatchCall {
 11790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11791  	return c
 11792  }
 11793  
 11794  // Context sets the context to be used in this call's Do method.
 11795  func (c *EditsListingsPatchCall) Context(ctx context.Context) *EditsListingsPatchCall {
 11796  	c.ctx_ = ctx
 11797  	return c
 11798  }
 11799  
 11800  // Header returns a http.Header that can be modified by the caller to add
 11801  // headers to the request.
 11802  func (c *EditsListingsPatchCall) Header() http.Header {
 11803  	if c.header_ == nil {
 11804  		c.header_ = make(http.Header)
 11805  	}
 11806  	return c.header_
 11807  }
 11808  
 11809  func (c *EditsListingsPatchCall) doRequest(alt string) (*http.Response, error) {
 11810  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11811  	var body io.Reader = nil
 11812  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.listing)
 11813  	if err != nil {
 11814  		return nil, err
 11815  	}
 11816  	c.urlParams_.Set("alt", alt)
 11817  	c.urlParams_.Set("prettyPrint", "false")
 11818  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}")
 11819  	urls += "?" + c.urlParams_.Encode()
 11820  	req, err := http.NewRequest("PATCH", urls, body)
 11821  	if err != nil {
 11822  		return nil, err
 11823  	}
 11824  	req.Header = reqHeaders
 11825  	googleapi.Expand(req.URL, map[string]string{
 11826  		"packageName": c.packageName,
 11827  		"editId":      c.editId,
 11828  		"language":    c.language,
 11829  	})
 11830  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11831  }
 11832  
 11833  // Do executes the "androidpublisher.edits.listings.patch" call.
 11834  // Any non-2xx status code is an error. Response headers are in either
 11835  // *Listing.ServerResponse.Header or (if a response was returned at all) in
 11836  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11837  // whether the returned error was because http.StatusNotModified was returned.
 11838  func (c *EditsListingsPatchCall) Do(opts ...googleapi.CallOption) (*Listing, error) {
 11839  	gensupport.SetOptions(c.urlParams_, opts...)
 11840  	res, err := c.doRequest("json")
 11841  	if res != nil && res.StatusCode == http.StatusNotModified {
 11842  		if res.Body != nil {
 11843  			res.Body.Close()
 11844  		}
 11845  		return nil, gensupport.WrapError(&googleapi.Error{
 11846  			Code:   res.StatusCode,
 11847  			Header: res.Header,
 11848  		})
 11849  	}
 11850  	if err != nil {
 11851  		return nil, err
 11852  	}
 11853  	defer googleapi.CloseBody(res)
 11854  	if err := googleapi.CheckResponse(res); err != nil {
 11855  		return nil, gensupport.WrapError(err)
 11856  	}
 11857  	ret := &Listing{
 11858  		ServerResponse: googleapi.ServerResponse{
 11859  			Header:         res.Header,
 11860  			HTTPStatusCode: res.StatusCode,
 11861  		},
 11862  	}
 11863  	target := &ret
 11864  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11865  		return nil, err
 11866  	}
 11867  	return ret, nil
 11868  }
 11869  
 11870  type EditsListingsUpdateCall struct {
 11871  	s           *Service
 11872  	packageName string
 11873  	editId      string
 11874  	language    string
 11875  	listing     *Listing
 11876  	urlParams_  gensupport.URLParams
 11877  	ctx_        context.Context
 11878  	header_     http.Header
 11879  }
 11880  
 11881  // Update: Creates or updates a localized store listing.
 11882  //
 11883  //   - editId: Identifier of the edit.
 11884  //   - language: Language localization code (a BCP-47 language tag; for example,
 11885  //     "de-AT" for Austrian German).
 11886  //   - packageName: Package name of the app.
 11887  func (r *EditsListingsService) Update(packageName string, editId string, language string, listing *Listing) *EditsListingsUpdateCall {
 11888  	c := &EditsListingsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11889  	c.packageName = packageName
 11890  	c.editId = editId
 11891  	c.language = language
 11892  	c.listing = listing
 11893  	return c
 11894  }
 11895  
 11896  // Fields allows partial responses to be retrieved. See
 11897  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11898  // details.
 11899  func (c *EditsListingsUpdateCall) Fields(s ...googleapi.Field) *EditsListingsUpdateCall {
 11900  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11901  	return c
 11902  }
 11903  
 11904  // Context sets the context to be used in this call's Do method.
 11905  func (c *EditsListingsUpdateCall) Context(ctx context.Context) *EditsListingsUpdateCall {
 11906  	c.ctx_ = ctx
 11907  	return c
 11908  }
 11909  
 11910  // Header returns a http.Header that can be modified by the caller to add
 11911  // headers to the request.
 11912  func (c *EditsListingsUpdateCall) Header() http.Header {
 11913  	if c.header_ == nil {
 11914  		c.header_ = make(http.Header)
 11915  	}
 11916  	return c.header_
 11917  }
 11918  
 11919  func (c *EditsListingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 11920  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11921  	var body io.Reader = nil
 11922  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.listing)
 11923  	if err != nil {
 11924  		return nil, err
 11925  	}
 11926  	c.urlParams_.Set("alt", alt)
 11927  	c.urlParams_.Set("prettyPrint", "false")
 11928  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}")
 11929  	urls += "?" + c.urlParams_.Encode()
 11930  	req, err := http.NewRequest("PUT", urls, body)
 11931  	if err != nil {
 11932  		return nil, err
 11933  	}
 11934  	req.Header = reqHeaders
 11935  	googleapi.Expand(req.URL, map[string]string{
 11936  		"packageName": c.packageName,
 11937  		"editId":      c.editId,
 11938  		"language":    c.language,
 11939  	})
 11940  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11941  }
 11942  
 11943  // Do executes the "androidpublisher.edits.listings.update" call.
 11944  // Any non-2xx status code is an error. Response headers are in either
 11945  // *Listing.ServerResponse.Header or (if a response was returned at all) in
 11946  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11947  // whether the returned error was because http.StatusNotModified was returned.
 11948  func (c *EditsListingsUpdateCall) Do(opts ...googleapi.CallOption) (*Listing, error) {
 11949  	gensupport.SetOptions(c.urlParams_, opts...)
 11950  	res, err := c.doRequest("json")
 11951  	if res != nil && res.StatusCode == http.StatusNotModified {
 11952  		if res.Body != nil {
 11953  			res.Body.Close()
 11954  		}
 11955  		return nil, gensupport.WrapError(&googleapi.Error{
 11956  			Code:   res.StatusCode,
 11957  			Header: res.Header,
 11958  		})
 11959  	}
 11960  	if err != nil {
 11961  		return nil, err
 11962  	}
 11963  	defer googleapi.CloseBody(res)
 11964  	if err := googleapi.CheckResponse(res); err != nil {
 11965  		return nil, gensupport.WrapError(err)
 11966  	}
 11967  	ret := &Listing{
 11968  		ServerResponse: googleapi.ServerResponse{
 11969  			Header:         res.Header,
 11970  			HTTPStatusCode: res.StatusCode,
 11971  		},
 11972  	}
 11973  	target := &ret
 11974  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11975  		return nil, err
 11976  	}
 11977  	return ret, nil
 11978  }
 11979  
 11980  type EditsTestersGetCall struct {
 11981  	s            *Service
 11982  	packageName  string
 11983  	editId       string
 11984  	track        string
 11985  	urlParams_   gensupport.URLParams
 11986  	ifNoneMatch_ string
 11987  	ctx_         context.Context
 11988  	header_      http.Header
 11989  }
 11990  
 11991  // Get: Gets testers. Note: Testers resource does not support email lists.
 11992  //
 11993  // - editId: Identifier of the edit.
 11994  // - packageName: Package name of the app.
 11995  // - track: The track to read from.
 11996  func (r *EditsTestersService) Get(packageName string, editId string, track string) *EditsTestersGetCall {
 11997  	c := &EditsTestersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11998  	c.packageName = packageName
 11999  	c.editId = editId
 12000  	c.track = track
 12001  	return c
 12002  }
 12003  
 12004  // Fields allows partial responses to be retrieved. See
 12005  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12006  // details.
 12007  func (c *EditsTestersGetCall) Fields(s ...googleapi.Field) *EditsTestersGetCall {
 12008  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12009  	return c
 12010  }
 12011  
 12012  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12013  // object's ETag matches the given value. This is useful for getting updates
 12014  // only after the object has changed since the last request.
 12015  func (c *EditsTestersGetCall) IfNoneMatch(entityTag string) *EditsTestersGetCall {
 12016  	c.ifNoneMatch_ = entityTag
 12017  	return c
 12018  }
 12019  
 12020  // Context sets the context to be used in this call's Do method.
 12021  func (c *EditsTestersGetCall) Context(ctx context.Context) *EditsTestersGetCall {
 12022  	c.ctx_ = ctx
 12023  	return c
 12024  }
 12025  
 12026  // Header returns a http.Header that can be modified by the caller to add
 12027  // headers to the request.
 12028  func (c *EditsTestersGetCall) Header() http.Header {
 12029  	if c.header_ == nil {
 12030  		c.header_ = make(http.Header)
 12031  	}
 12032  	return c.header_
 12033  }
 12034  
 12035  func (c *EditsTestersGetCall) doRequest(alt string) (*http.Response, error) {
 12036  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12037  	if c.ifNoneMatch_ != "" {
 12038  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12039  	}
 12040  	var body io.Reader = nil
 12041  	c.urlParams_.Set("alt", alt)
 12042  	c.urlParams_.Set("prettyPrint", "false")
 12043  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}")
 12044  	urls += "?" + c.urlParams_.Encode()
 12045  	req, err := http.NewRequest("GET", urls, body)
 12046  	if err != nil {
 12047  		return nil, err
 12048  	}
 12049  	req.Header = reqHeaders
 12050  	googleapi.Expand(req.URL, map[string]string{
 12051  		"packageName": c.packageName,
 12052  		"editId":      c.editId,
 12053  		"track":       c.track,
 12054  	})
 12055  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12056  }
 12057  
 12058  // Do executes the "androidpublisher.edits.testers.get" call.
 12059  // Any non-2xx status code is an error. Response headers are in either
 12060  // *Testers.ServerResponse.Header or (if a response was returned at all) in
 12061  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12062  // whether the returned error was because http.StatusNotModified was returned.
 12063  func (c *EditsTestersGetCall) Do(opts ...googleapi.CallOption) (*Testers, error) {
 12064  	gensupport.SetOptions(c.urlParams_, opts...)
 12065  	res, err := c.doRequest("json")
 12066  	if res != nil && res.StatusCode == http.StatusNotModified {
 12067  		if res.Body != nil {
 12068  			res.Body.Close()
 12069  		}
 12070  		return nil, gensupport.WrapError(&googleapi.Error{
 12071  			Code:   res.StatusCode,
 12072  			Header: res.Header,
 12073  		})
 12074  	}
 12075  	if err != nil {
 12076  		return nil, err
 12077  	}
 12078  	defer googleapi.CloseBody(res)
 12079  	if err := googleapi.CheckResponse(res); err != nil {
 12080  		return nil, gensupport.WrapError(err)
 12081  	}
 12082  	ret := &Testers{
 12083  		ServerResponse: googleapi.ServerResponse{
 12084  			Header:         res.Header,
 12085  			HTTPStatusCode: res.StatusCode,
 12086  		},
 12087  	}
 12088  	target := &ret
 12089  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12090  		return nil, err
 12091  	}
 12092  	return ret, nil
 12093  }
 12094  
 12095  type EditsTestersPatchCall struct {
 12096  	s           *Service
 12097  	packageName string
 12098  	editId      string
 12099  	track       string
 12100  	testers     *Testers
 12101  	urlParams_  gensupport.URLParams
 12102  	ctx_        context.Context
 12103  	header_     http.Header
 12104  }
 12105  
 12106  // Patch: Patches testers. Note: Testers resource does not support email lists.
 12107  //
 12108  // - editId: Identifier of the edit.
 12109  // - packageName: Package name of the app.
 12110  // - track: The track to update.
 12111  func (r *EditsTestersService) Patch(packageName string, editId string, track string, testers *Testers) *EditsTestersPatchCall {
 12112  	c := &EditsTestersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12113  	c.packageName = packageName
 12114  	c.editId = editId
 12115  	c.track = track
 12116  	c.testers = testers
 12117  	return c
 12118  }
 12119  
 12120  // Fields allows partial responses to be retrieved. See
 12121  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12122  // details.
 12123  func (c *EditsTestersPatchCall) Fields(s ...googleapi.Field) *EditsTestersPatchCall {
 12124  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12125  	return c
 12126  }
 12127  
 12128  // Context sets the context to be used in this call's Do method.
 12129  func (c *EditsTestersPatchCall) Context(ctx context.Context) *EditsTestersPatchCall {
 12130  	c.ctx_ = ctx
 12131  	return c
 12132  }
 12133  
 12134  // Header returns a http.Header that can be modified by the caller to add
 12135  // headers to the request.
 12136  func (c *EditsTestersPatchCall) Header() http.Header {
 12137  	if c.header_ == nil {
 12138  		c.header_ = make(http.Header)
 12139  	}
 12140  	return c.header_
 12141  }
 12142  
 12143  func (c *EditsTestersPatchCall) doRequest(alt string) (*http.Response, error) {
 12144  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12145  	var body io.Reader = nil
 12146  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testers)
 12147  	if err != nil {
 12148  		return nil, err
 12149  	}
 12150  	c.urlParams_.Set("alt", alt)
 12151  	c.urlParams_.Set("prettyPrint", "false")
 12152  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}")
 12153  	urls += "?" + c.urlParams_.Encode()
 12154  	req, err := http.NewRequest("PATCH", urls, body)
 12155  	if err != nil {
 12156  		return nil, err
 12157  	}
 12158  	req.Header = reqHeaders
 12159  	googleapi.Expand(req.URL, map[string]string{
 12160  		"packageName": c.packageName,
 12161  		"editId":      c.editId,
 12162  		"track":       c.track,
 12163  	})
 12164  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12165  }
 12166  
 12167  // Do executes the "androidpublisher.edits.testers.patch" call.
 12168  // Any non-2xx status code is an error. Response headers are in either
 12169  // *Testers.ServerResponse.Header or (if a response was returned at all) in
 12170  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12171  // whether the returned error was because http.StatusNotModified was returned.
 12172  func (c *EditsTestersPatchCall) Do(opts ...googleapi.CallOption) (*Testers, error) {
 12173  	gensupport.SetOptions(c.urlParams_, opts...)
 12174  	res, err := c.doRequest("json")
 12175  	if res != nil && res.StatusCode == http.StatusNotModified {
 12176  		if res.Body != nil {
 12177  			res.Body.Close()
 12178  		}
 12179  		return nil, gensupport.WrapError(&googleapi.Error{
 12180  			Code:   res.StatusCode,
 12181  			Header: res.Header,
 12182  		})
 12183  	}
 12184  	if err != nil {
 12185  		return nil, err
 12186  	}
 12187  	defer googleapi.CloseBody(res)
 12188  	if err := googleapi.CheckResponse(res); err != nil {
 12189  		return nil, gensupport.WrapError(err)
 12190  	}
 12191  	ret := &Testers{
 12192  		ServerResponse: googleapi.ServerResponse{
 12193  			Header:         res.Header,
 12194  			HTTPStatusCode: res.StatusCode,
 12195  		},
 12196  	}
 12197  	target := &ret
 12198  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12199  		return nil, err
 12200  	}
 12201  	return ret, nil
 12202  }
 12203  
 12204  type EditsTestersUpdateCall struct {
 12205  	s           *Service
 12206  	packageName string
 12207  	editId      string
 12208  	track       string
 12209  	testers     *Testers
 12210  	urlParams_  gensupport.URLParams
 12211  	ctx_        context.Context
 12212  	header_     http.Header
 12213  }
 12214  
 12215  // Update: Updates testers. Note: Testers resource does not support email
 12216  // lists.
 12217  //
 12218  // - editId: Identifier of the edit.
 12219  // - packageName: Package name of the app.
 12220  // - track: The track to update.
 12221  func (r *EditsTestersService) Update(packageName string, editId string, track string, testers *Testers) *EditsTestersUpdateCall {
 12222  	c := &EditsTestersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12223  	c.packageName = packageName
 12224  	c.editId = editId
 12225  	c.track = track
 12226  	c.testers = testers
 12227  	return c
 12228  }
 12229  
 12230  // Fields allows partial responses to be retrieved. See
 12231  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12232  // details.
 12233  func (c *EditsTestersUpdateCall) Fields(s ...googleapi.Field) *EditsTestersUpdateCall {
 12234  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12235  	return c
 12236  }
 12237  
 12238  // Context sets the context to be used in this call's Do method.
 12239  func (c *EditsTestersUpdateCall) Context(ctx context.Context) *EditsTestersUpdateCall {
 12240  	c.ctx_ = ctx
 12241  	return c
 12242  }
 12243  
 12244  // Header returns a http.Header that can be modified by the caller to add
 12245  // headers to the request.
 12246  func (c *EditsTestersUpdateCall) Header() http.Header {
 12247  	if c.header_ == nil {
 12248  		c.header_ = make(http.Header)
 12249  	}
 12250  	return c.header_
 12251  }
 12252  
 12253  func (c *EditsTestersUpdateCall) doRequest(alt string) (*http.Response, error) {
 12254  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12255  	var body io.Reader = nil
 12256  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testers)
 12257  	if err != nil {
 12258  		return nil, err
 12259  	}
 12260  	c.urlParams_.Set("alt", alt)
 12261  	c.urlParams_.Set("prettyPrint", "false")
 12262  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}")
 12263  	urls += "?" + c.urlParams_.Encode()
 12264  	req, err := http.NewRequest("PUT", urls, body)
 12265  	if err != nil {
 12266  		return nil, err
 12267  	}
 12268  	req.Header = reqHeaders
 12269  	googleapi.Expand(req.URL, map[string]string{
 12270  		"packageName": c.packageName,
 12271  		"editId":      c.editId,
 12272  		"track":       c.track,
 12273  	})
 12274  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12275  }
 12276  
 12277  // Do executes the "androidpublisher.edits.testers.update" call.
 12278  // Any non-2xx status code is an error. Response headers are in either
 12279  // *Testers.ServerResponse.Header or (if a response was returned at all) in
 12280  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12281  // whether the returned error was because http.StatusNotModified was returned.
 12282  func (c *EditsTestersUpdateCall) Do(opts ...googleapi.CallOption) (*Testers, error) {
 12283  	gensupport.SetOptions(c.urlParams_, opts...)
 12284  	res, err := c.doRequest("json")
 12285  	if res != nil && res.StatusCode == http.StatusNotModified {
 12286  		if res.Body != nil {
 12287  			res.Body.Close()
 12288  		}
 12289  		return nil, gensupport.WrapError(&googleapi.Error{
 12290  			Code:   res.StatusCode,
 12291  			Header: res.Header,
 12292  		})
 12293  	}
 12294  	if err != nil {
 12295  		return nil, err
 12296  	}
 12297  	defer googleapi.CloseBody(res)
 12298  	if err := googleapi.CheckResponse(res); err != nil {
 12299  		return nil, gensupport.WrapError(err)
 12300  	}
 12301  	ret := &Testers{
 12302  		ServerResponse: googleapi.ServerResponse{
 12303  			Header:         res.Header,
 12304  			HTTPStatusCode: res.StatusCode,
 12305  		},
 12306  	}
 12307  	target := &ret
 12308  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12309  		return nil, err
 12310  	}
 12311  	return ret, nil
 12312  }
 12313  
 12314  type EditsTracksCreateCall struct {
 12315  	s           *Service
 12316  	packageName string
 12317  	editId      string
 12318  	trackconfig *TrackConfig
 12319  	urlParams_  gensupport.URLParams
 12320  	ctx_        context.Context
 12321  	header_     http.Header
 12322  }
 12323  
 12324  // Create: Creates a new track.
 12325  //
 12326  // - editId: Identifier of the edit.
 12327  // - packageName: Package name of the app.
 12328  func (r *EditsTracksService) Create(packageName string, editId string, trackconfig *TrackConfig) *EditsTracksCreateCall {
 12329  	c := &EditsTracksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12330  	c.packageName = packageName
 12331  	c.editId = editId
 12332  	c.trackconfig = trackconfig
 12333  	return c
 12334  }
 12335  
 12336  // Fields allows partial responses to be retrieved. See
 12337  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12338  // details.
 12339  func (c *EditsTracksCreateCall) Fields(s ...googleapi.Field) *EditsTracksCreateCall {
 12340  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12341  	return c
 12342  }
 12343  
 12344  // Context sets the context to be used in this call's Do method.
 12345  func (c *EditsTracksCreateCall) Context(ctx context.Context) *EditsTracksCreateCall {
 12346  	c.ctx_ = ctx
 12347  	return c
 12348  }
 12349  
 12350  // Header returns a http.Header that can be modified by the caller to add
 12351  // headers to the request.
 12352  func (c *EditsTracksCreateCall) Header() http.Header {
 12353  	if c.header_ == nil {
 12354  		c.header_ = make(http.Header)
 12355  	}
 12356  	return c.header_
 12357  }
 12358  
 12359  func (c *EditsTracksCreateCall) doRequest(alt string) (*http.Response, error) {
 12360  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12361  	var body io.Reader = nil
 12362  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trackconfig)
 12363  	if err != nil {
 12364  		return nil, err
 12365  	}
 12366  	c.urlParams_.Set("alt", alt)
 12367  	c.urlParams_.Set("prettyPrint", "false")
 12368  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks")
 12369  	urls += "?" + c.urlParams_.Encode()
 12370  	req, err := http.NewRequest("POST", urls, body)
 12371  	if err != nil {
 12372  		return nil, err
 12373  	}
 12374  	req.Header = reqHeaders
 12375  	googleapi.Expand(req.URL, map[string]string{
 12376  		"packageName": c.packageName,
 12377  		"editId":      c.editId,
 12378  	})
 12379  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12380  }
 12381  
 12382  // Do executes the "androidpublisher.edits.tracks.create" call.
 12383  // Any non-2xx status code is an error. Response headers are in either
 12384  // *Track.ServerResponse.Header or (if a response was returned at all) in
 12385  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12386  // whether the returned error was because http.StatusNotModified was returned.
 12387  func (c *EditsTracksCreateCall) Do(opts ...googleapi.CallOption) (*Track, error) {
 12388  	gensupport.SetOptions(c.urlParams_, opts...)
 12389  	res, err := c.doRequest("json")
 12390  	if res != nil && res.StatusCode == http.StatusNotModified {
 12391  		if res.Body != nil {
 12392  			res.Body.Close()
 12393  		}
 12394  		return nil, gensupport.WrapError(&googleapi.Error{
 12395  			Code:   res.StatusCode,
 12396  			Header: res.Header,
 12397  		})
 12398  	}
 12399  	if err != nil {
 12400  		return nil, err
 12401  	}
 12402  	defer googleapi.CloseBody(res)
 12403  	if err := googleapi.CheckResponse(res); err != nil {
 12404  		return nil, gensupport.WrapError(err)
 12405  	}
 12406  	ret := &Track{
 12407  		ServerResponse: googleapi.ServerResponse{
 12408  			Header:         res.Header,
 12409  			HTTPStatusCode: res.StatusCode,
 12410  		},
 12411  	}
 12412  	target := &ret
 12413  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12414  		return nil, err
 12415  	}
 12416  	return ret, nil
 12417  }
 12418  
 12419  type EditsTracksGetCall struct {
 12420  	s            *Service
 12421  	packageName  string
 12422  	editId       string
 12423  	track        string
 12424  	urlParams_   gensupport.URLParams
 12425  	ifNoneMatch_ string
 12426  	ctx_         context.Context
 12427  	header_      http.Header
 12428  }
 12429  
 12430  // Get: Gets a track.
 12431  //
 12432  //   - editId: Identifier of the edit.
 12433  //   - packageName: Package name of the app.
 12434  //   - track: Identifier of the track. More on track name
 12435  //     (https://developers.google.com/android-publisher/tracks#ff-track-name).
 12436  func (r *EditsTracksService) Get(packageName string, editId string, track string) *EditsTracksGetCall {
 12437  	c := &EditsTracksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12438  	c.packageName = packageName
 12439  	c.editId = editId
 12440  	c.track = track
 12441  	return c
 12442  }
 12443  
 12444  // Fields allows partial responses to be retrieved. See
 12445  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12446  // details.
 12447  func (c *EditsTracksGetCall) Fields(s ...googleapi.Field) *EditsTracksGetCall {
 12448  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12449  	return c
 12450  }
 12451  
 12452  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12453  // object's ETag matches the given value. This is useful for getting updates
 12454  // only after the object has changed since the last request.
 12455  func (c *EditsTracksGetCall) IfNoneMatch(entityTag string) *EditsTracksGetCall {
 12456  	c.ifNoneMatch_ = entityTag
 12457  	return c
 12458  }
 12459  
 12460  // Context sets the context to be used in this call's Do method.
 12461  func (c *EditsTracksGetCall) Context(ctx context.Context) *EditsTracksGetCall {
 12462  	c.ctx_ = ctx
 12463  	return c
 12464  }
 12465  
 12466  // Header returns a http.Header that can be modified by the caller to add
 12467  // headers to the request.
 12468  func (c *EditsTracksGetCall) Header() http.Header {
 12469  	if c.header_ == nil {
 12470  		c.header_ = make(http.Header)
 12471  	}
 12472  	return c.header_
 12473  }
 12474  
 12475  func (c *EditsTracksGetCall) doRequest(alt string) (*http.Response, error) {
 12476  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12477  	if c.ifNoneMatch_ != "" {
 12478  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12479  	}
 12480  	var body io.Reader = nil
 12481  	c.urlParams_.Set("alt", alt)
 12482  	c.urlParams_.Set("prettyPrint", "false")
 12483  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}")
 12484  	urls += "?" + c.urlParams_.Encode()
 12485  	req, err := http.NewRequest("GET", urls, body)
 12486  	if err != nil {
 12487  		return nil, err
 12488  	}
 12489  	req.Header = reqHeaders
 12490  	googleapi.Expand(req.URL, map[string]string{
 12491  		"packageName": c.packageName,
 12492  		"editId":      c.editId,
 12493  		"track":       c.track,
 12494  	})
 12495  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12496  }
 12497  
 12498  // Do executes the "androidpublisher.edits.tracks.get" call.
 12499  // Any non-2xx status code is an error. Response headers are in either
 12500  // *Track.ServerResponse.Header or (if a response was returned at all) in
 12501  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12502  // whether the returned error was because http.StatusNotModified was returned.
 12503  func (c *EditsTracksGetCall) Do(opts ...googleapi.CallOption) (*Track, error) {
 12504  	gensupport.SetOptions(c.urlParams_, opts...)
 12505  	res, err := c.doRequest("json")
 12506  	if res != nil && res.StatusCode == http.StatusNotModified {
 12507  		if res.Body != nil {
 12508  			res.Body.Close()
 12509  		}
 12510  		return nil, gensupport.WrapError(&googleapi.Error{
 12511  			Code:   res.StatusCode,
 12512  			Header: res.Header,
 12513  		})
 12514  	}
 12515  	if err != nil {
 12516  		return nil, err
 12517  	}
 12518  	defer googleapi.CloseBody(res)
 12519  	if err := googleapi.CheckResponse(res); err != nil {
 12520  		return nil, gensupport.WrapError(err)
 12521  	}
 12522  	ret := &Track{
 12523  		ServerResponse: googleapi.ServerResponse{
 12524  			Header:         res.Header,
 12525  			HTTPStatusCode: res.StatusCode,
 12526  		},
 12527  	}
 12528  	target := &ret
 12529  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12530  		return nil, err
 12531  	}
 12532  	return ret, nil
 12533  }
 12534  
 12535  type EditsTracksListCall struct {
 12536  	s            *Service
 12537  	packageName  string
 12538  	editId       string
 12539  	urlParams_   gensupport.URLParams
 12540  	ifNoneMatch_ string
 12541  	ctx_         context.Context
 12542  	header_      http.Header
 12543  }
 12544  
 12545  // List: Lists all tracks.
 12546  //
 12547  // - editId: Identifier of the edit.
 12548  // - packageName: Package name of the app.
 12549  func (r *EditsTracksService) List(packageName string, editId string) *EditsTracksListCall {
 12550  	c := &EditsTracksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12551  	c.packageName = packageName
 12552  	c.editId = editId
 12553  	return c
 12554  }
 12555  
 12556  // Fields allows partial responses to be retrieved. See
 12557  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12558  // details.
 12559  func (c *EditsTracksListCall) Fields(s ...googleapi.Field) *EditsTracksListCall {
 12560  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12561  	return c
 12562  }
 12563  
 12564  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12565  // object's ETag matches the given value. This is useful for getting updates
 12566  // only after the object has changed since the last request.
 12567  func (c *EditsTracksListCall) IfNoneMatch(entityTag string) *EditsTracksListCall {
 12568  	c.ifNoneMatch_ = entityTag
 12569  	return c
 12570  }
 12571  
 12572  // Context sets the context to be used in this call's Do method.
 12573  func (c *EditsTracksListCall) Context(ctx context.Context) *EditsTracksListCall {
 12574  	c.ctx_ = ctx
 12575  	return c
 12576  }
 12577  
 12578  // Header returns a http.Header that can be modified by the caller to add
 12579  // headers to the request.
 12580  func (c *EditsTracksListCall) Header() http.Header {
 12581  	if c.header_ == nil {
 12582  		c.header_ = make(http.Header)
 12583  	}
 12584  	return c.header_
 12585  }
 12586  
 12587  func (c *EditsTracksListCall) doRequest(alt string) (*http.Response, error) {
 12588  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12589  	if c.ifNoneMatch_ != "" {
 12590  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12591  	}
 12592  	var body io.Reader = nil
 12593  	c.urlParams_.Set("alt", alt)
 12594  	c.urlParams_.Set("prettyPrint", "false")
 12595  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks")
 12596  	urls += "?" + c.urlParams_.Encode()
 12597  	req, err := http.NewRequest("GET", urls, body)
 12598  	if err != nil {
 12599  		return nil, err
 12600  	}
 12601  	req.Header = reqHeaders
 12602  	googleapi.Expand(req.URL, map[string]string{
 12603  		"packageName": c.packageName,
 12604  		"editId":      c.editId,
 12605  	})
 12606  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12607  }
 12608  
 12609  // Do executes the "androidpublisher.edits.tracks.list" call.
 12610  // Any non-2xx status code is an error. Response headers are in either
 12611  // *TracksListResponse.ServerResponse.Header or (if a response was returned at
 12612  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12613  // check whether the returned error was because http.StatusNotModified was
 12614  // returned.
 12615  func (c *EditsTracksListCall) Do(opts ...googleapi.CallOption) (*TracksListResponse, error) {
 12616  	gensupport.SetOptions(c.urlParams_, opts...)
 12617  	res, err := c.doRequest("json")
 12618  	if res != nil && res.StatusCode == http.StatusNotModified {
 12619  		if res.Body != nil {
 12620  			res.Body.Close()
 12621  		}
 12622  		return nil, gensupport.WrapError(&googleapi.Error{
 12623  			Code:   res.StatusCode,
 12624  			Header: res.Header,
 12625  		})
 12626  	}
 12627  	if err != nil {
 12628  		return nil, err
 12629  	}
 12630  	defer googleapi.CloseBody(res)
 12631  	if err := googleapi.CheckResponse(res); err != nil {
 12632  		return nil, gensupport.WrapError(err)
 12633  	}
 12634  	ret := &TracksListResponse{
 12635  		ServerResponse: googleapi.ServerResponse{
 12636  			Header:         res.Header,
 12637  			HTTPStatusCode: res.StatusCode,
 12638  		},
 12639  	}
 12640  	target := &ret
 12641  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12642  		return nil, err
 12643  	}
 12644  	return ret, nil
 12645  }
 12646  
 12647  type EditsTracksPatchCall struct {
 12648  	s           *Service
 12649  	packageName string
 12650  	editId      string
 12651  	track       string
 12652  	track2      *Track
 12653  	urlParams_  gensupport.URLParams
 12654  	ctx_        context.Context
 12655  	header_     http.Header
 12656  }
 12657  
 12658  // Patch: Patches a track.
 12659  //
 12660  //   - editId: Identifier of the edit.
 12661  //   - packageName: Package name of the app.
 12662  //   - track: Identifier of the track. More on track name
 12663  //     (https://developers.google.com/android-publisher/tracks#ff-track-name).
 12664  func (r *EditsTracksService) Patch(packageName string, editId string, track string, track2 *Track) *EditsTracksPatchCall {
 12665  	c := &EditsTracksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12666  	c.packageName = packageName
 12667  	c.editId = editId
 12668  	c.track = track
 12669  	c.track2 = track2
 12670  	return c
 12671  }
 12672  
 12673  // Fields allows partial responses to be retrieved. See
 12674  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12675  // details.
 12676  func (c *EditsTracksPatchCall) Fields(s ...googleapi.Field) *EditsTracksPatchCall {
 12677  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12678  	return c
 12679  }
 12680  
 12681  // Context sets the context to be used in this call's Do method.
 12682  func (c *EditsTracksPatchCall) Context(ctx context.Context) *EditsTracksPatchCall {
 12683  	c.ctx_ = ctx
 12684  	return c
 12685  }
 12686  
 12687  // Header returns a http.Header that can be modified by the caller to add
 12688  // headers to the request.
 12689  func (c *EditsTracksPatchCall) Header() http.Header {
 12690  	if c.header_ == nil {
 12691  		c.header_ = make(http.Header)
 12692  	}
 12693  	return c.header_
 12694  }
 12695  
 12696  func (c *EditsTracksPatchCall) doRequest(alt string) (*http.Response, error) {
 12697  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12698  	var body io.Reader = nil
 12699  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.track2)
 12700  	if err != nil {
 12701  		return nil, err
 12702  	}
 12703  	c.urlParams_.Set("alt", alt)
 12704  	c.urlParams_.Set("prettyPrint", "false")
 12705  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}")
 12706  	urls += "?" + c.urlParams_.Encode()
 12707  	req, err := http.NewRequest("PATCH", urls, body)
 12708  	if err != nil {
 12709  		return nil, err
 12710  	}
 12711  	req.Header = reqHeaders
 12712  	googleapi.Expand(req.URL, map[string]string{
 12713  		"packageName": c.packageName,
 12714  		"editId":      c.editId,
 12715  		"track":       c.track,
 12716  	})
 12717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12718  }
 12719  
 12720  // Do executes the "androidpublisher.edits.tracks.patch" call.
 12721  // Any non-2xx status code is an error. Response headers are in either
 12722  // *Track.ServerResponse.Header or (if a response was returned at all) in
 12723  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12724  // whether the returned error was because http.StatusNotModified was returned.
 12725  func (c *EditsTracksPatchCall) Do(opts ...googleapi.CallOption) (*Track, error) {
 12726  	gensupport.SetOptions(c.urlParams_, opts...)
 12727  	res, err := c.doRequest("json")
 12728  	if res != nil && res.StatusCode == http.StatusNotModified {
 12729  		if res.Body != nil {
 12730  			res.Body.Close()
 12731  		}
 12732  		return nil, gensupport.WrapError(&googleapi.Error{
 12733  			Code:   res.StatusCode,
 12734  			Header: res.Header,
 12735  		})
 12736  	}
 12737  	if err != nil {
 12738  		return nil, err
 12739  	}
 12740  	defer googleapi.CloseBody(res)
 12741  	if err := googleapi.CheckResponse(res); err != nil {
 12742  		return nil, gensupport.WrapError(err)
 12743  	}
 12744  	ret := &Track{
 12745  		ServerResponse: googleapi.ServerResponse{
 12746  			Header:         res.Header,
 12747  			HTTPStatusCode: res.StatusCode,
 12748  		},
 12749  	}
 12750  	target := &ret
 12751  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12752  		return nil, err
 12753  	}
 12754  	return ret, nil
 12755  }
 12756  
 12757  type EditsTracksUpdateCall struct {
 12758  	s           *Service
 12759  	packageName string
 12760  	editId      string
 12761  	track       string
 12762  	track2      *Track
 12763  	urlParams_  gensupport.URLParams
 12764  	ctx_        context.Context
 12765  	header_     http.Header
 12766  }
 12767  
 12768  // Update: Updates a track.
 12769  //
 12770  //   - editId: Identifier of the edit.
 12771  //   - packageName: Package name of the app.
 12772  //   - track: Identifier of the track. More on track name
 12773  //     (https://developers.google.com/android-publisher/tracks#ff-track-name).
 12774  func (r *EditsTracksService) Update(packageName string, editId string, track string, track2 *Track) *EditsTracksUpdateCall {
 12775  	c := &EditsTracksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12776  	c.packageName = packageName
 12777  	c.editId = editId
 12778  	c.track = track
 12779  	c.track2 = track2
 12780  	return c
 12781  }
 12782  
 12783  // Fields allows partial responses to be retrieved. See
 12784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12785  // details.
 12786  func (c *EditsTracksUpdateCall) Fields(s ...googleapi.Field) *EditsTracksUpdateCall {
 12787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12788  	return c
 12789  }
 12790  
 12791  // Context sets the context to be used in this call's Do method.
 12792  func (c *EditsTracksUpdateCall) Context(ctx context.Context) *EditsTracksUpdateCall {
 12793  	c.ctx_ = ctx
 12794  	return c
 12795  }
 12796  
 12797  // Header returns a http.Header that can be modified by the caller to add
 12798  // headers to the request.
 12799  func (c *EditsTracksUpdateCall) Header() http.Header {
 12800  	if c.header_ == nil {
 12801  		c.header_ = make(http.Header)
 12802  	}
 12803  	return c.header_
 12804  }
 12805  
 12806  func (c *EditsTracksUpdateCall) doRequest(alt string) (*http.Response, error) {
 12807  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12808  	var body io.Reader = nil
 12809  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.track2)
 12810  	if err != nil {
 12811  		return nil, err
 12812  	}
 12813  	c.urlParams_.Set("alt", alt)
 12814  	c.urlParams_.Set("prettyPrint", "false")
 12815  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}")
 12816  	urls += "?" + c.urlParams_.Encode()
 12817  	req, err := http.NewRequest("PUT", urls, body)
 12818  	if err != nil {
 12819  		return nil, err
 12820  	}
 12821  	req.Header = reqHeaders
 12822  	googleapi.Expand(req.URL, map[string]string{
 12823  		"packageName": c.packageName,
 12824  		"editId":      c.editId,
 12825  		"track":       c.track,
 12826  	})
 12827  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12828  }
 12829  
 12830  // Do executes the "androidpublisher.edits.tracks.update" call.
 12831  // Any non-2xx status code is an error. Response headers are in either
 12832  // *Track.ServerResponse.Header or (if a response was returned at all) in
 12833  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12834  // whether the returned error was because http.StatusNotModified was returned.
 12835  func (c *EditsTracksUpdateCall) Do(opts ...googleapi.CallOption) (*Track, error) {
 12836  	gensupport.SetOptions(c.urlParams_, opts...)
 12837  	res, err := c.doRequest("json")
 12838  	if res != nil && res.StatusCode == http.StatusNotModified {
 12839  		if res.Body != nil {
 12840  			res.Body.Close()
 12841  		}
 12842  		return nil, gensupport.WrapError(&googleapi.Error{
 12843  			Code:   res.StatusCode,
 12844  			Header: res.Header,
 12845  		})
 12846  	}
 12847  	if err != nil {
 12848  		return nil, err
 12849  	}
 12850  	defer googleapi.CloseBody(res)
 12851  	if err := googleapi.CheckResponse(res); err != nil {
 12852  		return nil, gensupport.WrapError(err)
 12853  	}
 12854  	ret := &Track{
 12855  		ServerResponse: googleapi.ServerResponse{
 12856  			Header:         res.Header,
 12857  			HTTPStatusCode: res.StatusCode,
 12858  		},
 12859  	}
 12860  	target := &ret
 12861  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12862  		return nil, err
 12863  	}
 12864  	return ret, nil
 12865  }
 12866  
 12867  type ExternaltransactionsCreateexternaltransactionCall struct {
 12868  	s                   *Service
 12869  	parent              string
 12870  	externaltransaction *ExternalTransaction
 12871  	urlParams_          gensupport.URLParams
 12872  	ctx_                context.Context
 12873  	header_             http.Header
 12874  }
 12875  
 12876  // Createexternaltransaction: Creates a new external transaction.
 12877  //
 12878  //   - parent: The parent resource where this external transaction will be
 12879  //     created. Format: applications/{package_name}.
 12880  func (r *ExternaltransactionsService) Createexternaltransaction(parent string, externaltransaction *ExternalTransaction) *ExternaltransactionsCreateexternaltransactionCall {
 12881  	c := &ExternaltransactionsCreateexternaltransactionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12882  	c.parent = parent
 12883  	c.externaltransaction = externaltransaction
 12884  	return c
 12885  }
 12886  
 12887  // ExternalTransactionId sets the optional parameter "externalTransactionId":
 12888  // Required. The id to use for the external transaction. Must be unique across
 12889  // all other transactions for the app. This value should be 1-63 characters and
 12890  // valid characters are /a-zA-Z0-9_-/. Do not use this field to store any
 12891  // Personally Identifiable Information (PII) such as emails. Attempting to
 12892  // store PII in this field may result in requests being blocked.
 12893  func (c *ExternaltransactionsCreateexternaltransactionCall) ExternalTransactionId(externalTransactionId string) *ExternaltransactionsCreateexternaltransactionCall {
 12894  	c.urlParams_.Set("externalTransactionId", externalTransactionId)
 12895  	return c
 12896  }
 12897  
 12898  // Fields allows partial responses to be retrieved. See
 12899  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12900  // details.
 12901  func (c *ExternaltransactionsCreateexternaltransactionCall) Fields(s ...googleapi.Field) *ExternaltransactionsCreateexternaltransactionCall {
 12902  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12903  	return c
 12904  }
 12905  
 12906  // Context sets the context to be used in this call's Do method.
 12907  func (c *ExternaltransactionsCreateexternaltransactionCall) Context(ctx context.Context) *ExternaltransactionsCreateexternaltransactionCall {
 12908  	c.ctx_ = ctx
 12909  	return c
 12910  }
 12911  
 12912  // Header returns a http.Header that can be modified by the caller to add
 12913  // headers to the request.
 12914  func (c *ExternaltransactionsCreateexternaltransactionCall) Header() http.Header {
 12915  	if c.header_ == nil {
 12916  		c.header_ = make(http.Header)
 12917  	}
 12918  	return c.header_
 12919  }
 12920  
 12921  func (c *ExternaltransactionsCreateexternaltransactionCall) doRequest(alt string) (*http.Response, error) {
 12922  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12923  	var body io.Reader = nil
 12924  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.externaltransaction)
 12925  	if err != nil {
 12926  		return nil, err
 12927  	}
 12928  	c.urlParams_.Set("alt", alt)
 12929  	c.urlParams_.Set("prettyPrint", "false")
 12930  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+parent}/externalTransactions")
 12931  	urls += "?" + c.urlParams_.Encode()
 12932  	req, err := http.NewRequest("POST", urls, body)
 12933  	if err != nil {
 12934  		return nil, err
 12935  	}
 12936  	req.Header = reqHeaders
 12937  	googleapi.Expand(req.URL, map[string]string{
 12938  		"parent": c.parent,
 12939  	})
 12940  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12941  }
 12942  
 12943  // Do executes the "androidpublisher.externaltransactions.createexternaltransaction" call.
 12944  // Any non-2xx status code is an error. Response headers are in either
 12945  // *ExternalTransaction.ServerResponse.Header or (if a response was returned at
 12946  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12947  // check whether the returned error was because http.StatusNotModified was
 12948  // returned.
 12949  func (c *ExternaltransactionsCreateexternaltransactionCall) Do(opts ...googleapi.CallOption) (*ExternalTransaction, error) {
 12950  	gensupport.SetOptions(c.urlParams_, opts...)
 12951  	res, err := c.doRequest("json")
 12952  	if res != nil && res.StatusCode == http.StatusNotModified {
 12953  		if res.Body != nil {
 12954  			res.Body.Close()
 12955  		}
 12956  		return nil, gensupport.WrapError(&googleapi.Error{
 12957  			Code:   res.StatusCode,
 12958  			Header: res.Header,
 12959  		})
 12960  	}
 12961  	if err != nil {
 12962  		return nil, err
 12963  	}
 12964  	defer googleapi.CloseBody(res)
 12965  	if err := googleapi.CheckResponse(res); err != nil {
 12966  		return nil, gensupport.WrapError(err)
 12967  	}
 12968  	ret := &ExternalTransaction{
 12969  		ServerResponse: googleapi.ServerResponse{
 12970  			Header:         res.Header,
 12971  			HTTPStatusCode: res.StatusCode,
 12972  		},
 12973  	}
 12974  	target := &ret
 12975  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12976  		return nil, err
 12977  	}
 12978  	return ret, nil
 12979  }
 12980  
 12981  type ExternaltransactionsGetexternaltransactionCall struct {
 12982  	s            *Service
 12983  	name         string
 12984  	urlParams_   gensupport.URLParams
 12985  	ifNoneMatch_ string
 12986  	ctx_         context.Context
 12987  	header_      http.Header
 12988  }
 12989  
 12990  // Getexternaltransaction: Gets an existing external transaction.
 12991  //
 12992  //   - name: The name of the external transaction to retrieve. Format:
 12993  //     applications/{package_name}/externalTransactions/{external_transaction}.
 12994  func (r *ExternaltransactionsService) Getexternaltransaction(name string) *ExternaltransactionsGetexternaltransactionCall {
 12995  	c := &ExternaltransactionsGetexternaltransactionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12996  	c.name = name
 12997  	return c
 12998  }
 12999  
 13000  // Fields allows partial responses to be retrieved. See
 13001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13002  // details.
 13003  func (c *ExternaltransactionsGetexternaltransactionCall) Fields(s ...googleapi.Field) *ExternaltransactionsGetexternaltransactionCall {
 13004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13005  	return c
 13006  }
 13007  
 13008  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13009  // object's ETag matches the given value. This is useful for getting updates
 13010  // only after the object has changed since the last request.
 13011  func (c *ExternaltransactionsGetexternaltransactionCall) IfNoneMatch(entityTag string) *ExternaltransactionsGetexternaltransactionCall {
 13012  	c.ifNoneMatch_ = entityTag
 13013  	return c
 13014  }
 13015  
 13016  // Context sets the context to be used in this call's Do method.
 13017  func (c *ExternaltransactionsGetexternaltransactionCall) Context(ctx context.Context) *ExternaltransactionsGetexternaltransactionCall {
 13018  	c.ctx_ = ctx
 13019  	return c
 13020  }
 13021  
 13022  // Header returns a http.Header that can be modified by the caller to add
 13023  // headers to the request.
 13024  func (c *ExternaltransactionsGetexternaltransactionCall) Header() http.Header {
 13025  	if c.header_ == nil {
 13026  		c.header_ = make(http.Header)
 13027  	}
 13028  	return c.header_
 13029  }
 13030  
 13031  func (c *ExternaltransactionsGetexternaltransactionCall) doRequest(alt string) (*http.Response, error) {
 13032  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13033  	if c.ifNoneMatch_ != "" {
 13034  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13035  	}
 13036  	var body io.Reader = nil
 13037  	c.urlParams_.Set("alt", alt)
 13038  	c.urlParams_.Set("prettyPrint", "false")
 13039  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}")
 13040  	urls += "?" + c.urlParams_.Encode()
 13041  	req, err := http.NewRequest("GET", urls, body)
 13042  	if err != nil {
 13043  		return nil, err
 13044  	}
 13045  	req.Header = reqHeaders
 13046  	googleapi.Expand(req.URL, map[string]string{
 13047  		"name": c.name,
 13048  	})
 13049  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13050  }
 13051  
 13052  // Do executes the "androidpublisher.externaltransactions.getexternaltransaction" call.
 13053  // Any non-2xx status code is an error. Response headers are in either
 13054  // *ExternalTransaction.ServerResponse.Header or (if a response was returned at
 13055  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13056  // check whether the returned error was because http.StatusNotModified was
 13057  // returned.
 13058  func (c *ExternaltransactionsGetexternaltransactionCall) Do(opts ...googleapi.CallOption) (*ExternalTransaction, error) {
 13059  	gensupport.SetOptions(c.urlParams_, opts...)
 13060  	res, err := c.doRequest("json")
 13061  	if res != nil && res.StatusCode == http.StatusNotModified {
 13062  		if res.Body != nil {
 13063  			res.Body.Close()
 13064  		}
 13065  		return nil, gensupport.WrapError(&googleapi.Error{
 13066  			Code:   res.StatusCode,
 13067  			Header: res.Header,
 13068  		})
 13069  	}
 13070  	if err != nil {
 13071  		return nil, err
 13072  	}
 13073  	defer googleapi.CloseBody(res)
 13074  	if err := googleapi.CheckResponse(res); err != nil {
 13075  		return nil, gensupport.WrapError(err)
 13076  	}
 13077  	ret := &ExternalTransaction{
 13078  		ServerResponse: googleapi.ServerResponse{
 13079  			Header:         res.Header,
 13080  			HTTPStatusCode: res.StatusCode,
 13081  		},
 13082  	}
 13083  	target := &ret
 13084  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13085  		return nil, err
 13086  	}
 13087  	return ret, nil
 13088  }
 13089  
 13090  type ExternaltransactionsRefundexternaltransactionCall struct {
 13091  	s                                *Service
 13092  	name                             string
 13093  	refundexternaltransactionrequest *RefundExternalTransactionRequest
 13094  	urlParams_                       gensupport.URLParams
 13095  	ctx_                             context.Context
 13096  	header_                          http.Header
 13097  }
 13098  
 13099  // Refundexternaltransaction: Refunds or partially refunds an existing external
 13100  // transaction.
 13101  //
 13102  //   - name: The name of the external transaction that will be refunded. Format:
 13103  //     applications/{package_name}/externalTransactions/{external_transaction}.
 13104  func (r *ExternaltransactionsService) Refundexternaltransaction(name string, refundexternaltransactionrequest *RefundExternalTransactionRequest) *ExternaltransactionsRefundexternaltransactionCall {
 13105  	c := &ExternaltransactionsRefundexternaltransactionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13106  	c.name = name
 13107  	c.refundexternaltransactionrequest = refundexternaltransactionrequest
 13108  	return c
 13109  }
 13110  
 13111  // Fields allows partial responses to be retrieved. See
 13112  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13113  // details.
 13114  func (c *ExternaltransactionsRefundexternaltransactionCall) Fields(s ...googleapi.Field) *ExternaltransactionsRefundexternaltransactionCall {
 13115  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13116  	return c
 13117  }
 13118  
 13119  // Context sets the context to be used in this call's Do method.
 13120  func (c *ExternaltransactionsRefundexternaltransactionCall) Context(ctx context.Context) *ExternaltransactionsRefundexternaltransactionCall {
 13121  	c.ctx_ = ctx
 13122  	return c
 13123  }
 13124  
 13125  // Header returns a http.Header that can be modified by the caller to add
 13126  // headers to the request.
 13127  func (c *ExternaltransactionsRefundexternaltransactionCall) Header() http.Header {
 13128  	if c.header_ == nil {
 13129  		c.header_ = make(http.Header)
 13130  	}
 13131  	return c.header_
 13132  }
 13133  
 13134  func (c *ExternaltransactionsRefundexternaltransactionCall) doRequest(alt string) (*http.Response, error) {
 13135  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13136  	var body io.Reader = nil
 13137  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.refundexternaltransactionrequest)
 13138  	if err != nil {
 13139  		return nil, err
 13140  	}
 13141  	c.urlParams_.Set("alt", alt)
 13142  	c.urlParams_.Set("prettyPrint", "false")
 13143  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}:refund")
 13144  	urls += "?" + c.urlParams_.Encode()
 13145  	req, err := http.NewRequest("POST", urls, body)
 13146  	if err != nil {
 13147  		return nil, err
 13148  	}
 13149  	req.Header = reqHeaders
 13150  	googleapi.Expand(req.URL, map[string]string{
 13151  		"name": c.name,
 13152  	})
 13153  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13154  }
 13155  
 13156  // Do executes the "androidpublisher.externaltransactions.refundexternaltransaction" call.
 13157  // Any non-2xx status code is an error. Response headers are in either
 13158  // *ExternalTransaction.ServerResponse.Header or (if a response was returned at
 13159  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13160  // check whether the returned error was because http.StatusNotModified was
 13161  // returned.
 13162  func (c *ExternaltransactionsRefundexternaltransactionCall) Do(opts ...googleapi.CallOption) (*ExternalTransaction, error) {
 13163  	gensupport.SetOptions(c.urlParams_, opts...)
 13164  	res, err := c.doRequest("json")
 13165  	if res != nil && res.StatusCode == http.StatusNotModified {
 13166  		if res.Body != nil {
 13167  			res.Body.Close()
 13168  		}
 13169  		return nil, gensupport.WrapError(&googleapi.Error{
 13170  			Code:   res.StatusCode,
 13171  			Header: res.Header,
 13172  		})
 13173  	}
 13174  	if err != nil {
 13175  		return nil, err
 13176  	}
 13177  	defer googleapi.CloseBody(res)
 13178  	if err := googleapi.CheckResponse(res); err != nil {
 13179  		return nil, gensupport.WrapError(err)
 13180  	}
 13181  	ret := &ExternalTransaction{
 13182  		ServerResponse: googleapi.ServerResponse{
 13183  			Header:         res.Header,
 13184  			HTTPStatusCode: res.StatusCode,
 13185  		},
 13186  	}
 13187  	target := &ret
 13188  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13189  		return nil, err
 13190  	}
 13191  	return ret, nil
 13192  }
 13193  
 13194  type GeneratedapksDownloadCall struct {
 13195  	s            *Service
 13196  	packageName  string
 13197  	versionCode  int64
 13198  	downloadId   string
 13199  	urlParams_   gensupport.URLParams
 13200  	ifNoneMatch_ string
 13201  	ctx_         context.Context
 13202  	header_      http.Header
 13203  }
 13204  
 13205  // Download: Downloads a single signed APK generated from an app bundle.
 13206  //
 13207  //   - downloadId: Download ID, which uniquely identifies the APK to download.
 13208  //     Can be obtained from the response of `generatedapks.list` method.
 13209  //   - packageName: Package name of the app.
 13210  //   - versionCode: Version code of the app bundle.
 13211  func (r *GeneratedapksService) Download(packageName string, versionCode int64, downloadId string) *GeneratedapksDownloadCall {
 13212  	c := &GeneratedapksDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13213  	c.packageName = packageName
 13214  	c.versionCode = versionCode
 13215  	c.downloadId = downloadId
 13216  	return c
 13217  }
 13218  
 13219  // Fields allows partial responses to be retrieved. See
 13220  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13221  // details.
 13222  func (c *GeneratedapksDownloadCall) Fields(s ...googleapi.Field) *GeneratedapksDownloadCall {
 13223  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13224  	return c
 13225  }
 13226  
 13227  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13228  // object's ETag matches the given value. This is useful for getting updates
 13229  // only after the object has changed since the last request.
 13230  func (c *GeneratedapksDownloadCall) IfNoneMatch(entityTag string) *GeneratedapksDownloadCall {
 13231  	c.ifNoneMatch_ = entityTag
 13232  	return c
 13233  }
 13234  
 13235  // Context sets the context to be used in this call's Do and Download methods.
 13236  func (c *GeneratedapksDownloadCall) Context(ctx context.Context) *GeneratedapksDownloadCall {
 13237  	c.ctx_ = ctx
 13238  	return c
 13239  }
 13240  
 13241  // Header returns a http.Header that can be modified by the caller to add
 13242  // headers to the request.
 13243  func (c *GeneratedapksDownloadCall) Header() http.Header {
 13244  	if c.header_ == nil {
 13245  		c.header_ = make(http.Header)
 13246  	}
 13247  	return c.header_
 13248  }
 13249  
 13250  func (c *GeneratedapksDownloadCall) doRequest(alt string) (*http.Response, error) {
 13251  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13252  	if c.ifNoneMatch_ != "" {
 13253  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13254  	}
 13255  	var body io.Reader = nil
 13256  	c.urlParams_.Set("alt", alt)
 13257  	c.urlParams_.Set("prettyPrint", "false")
 13258  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}/downloads/{downloadId}:download")
 13259  	urls += "?" + c.urlParams_.Encode()
 13260  	req, err := http.NewRequest("GET", urls, body)
 13261  	if err != nil {
 13262  		return nil, err
 13263  	}
 13264  	req.Header = reqHeaders
 13265  	googleapi.Expand(req.URL, map[string]string{
 13266  		"packageName": c.packageName,
 13267  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 13268  		"downloadId":  c.downloadId,
 13269  	})
 13270  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13271  }
 13272  
 13273  // Download fetches the API endpoint's "media" value, instead of the normal
 13274  // API response value. If the returned error is nil, the Response is guaranteed to
 13275  // have a 2xx status code. Callers must close the Response.Body as usual.
 13276  func (c *GeneratedapksDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 13277  	gensupport.SetOptions(c.urlParams_, opts...)
 13278  	res, err := c.doRequest("media")
 13279  	if err != nil {
 13280  		return nil, err
 13281  	}
 13282  	if err := googleapi.CheckResponse(res); err != nil {
 13283  		res.Body.Close()
 13284  		return nil, gensupport.WrapError(err)
 13285  	}
 13286  	return res, nil
 13287  }
 13288  
 13289  // Do executes the "androidpublisher.generatedapks.download" call.
 13290  func (c *GeneratedapksDownloadCall) Do(opts ...googleapi.CallOption) error {
 13291  	gensupport.SetOptions(c.urlParams_, opts...)
 13292  	res, err := c.doRequest("json")
 13293  	if err != nil {
 13294  		return err
 13295  	}
 13296  	defer googleapi.CloseBody(res)
 13297  	if err := googleapi.CheckResponse(res); err != nil {
 13298  		return gensupport.WrapError(err)
 13299  	}
 13300  	return nil
 13301  }
 13302  
 13303  type GeneratedapksListCall struct {
 13304  	s            *Service
 13305  	packageName  string
 13306  	versionCode  int64
 13307  	urlParams_   gensupport.URLParams
 13308  	ifNoneMatch_ string
 13309  	ctx_         context.Context
 13310  	header_      http.Header
 13311  }
 13312  
 13313  // List: Returns download metadata for all APKs that were generated from a
 13314  // given app bundle.
 13315  //
 13316  // - packageName: Package name of the app.
 13317  // - versionCode: Version code of the app bundle.
 13318  func (r *GeneratedapksService) List(packageName string, versionCode int64) *GeneratedapksListCall {
 13319  	c := &GeneratedapksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13320  	c.packageName = packageName
 13321  	c.versionCode = versionCode
 13322  	return c
 13323  }
 13324  
 13325  // Fields allows partial responses to be retrieved. See
 13326  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13327  // details.
 13328  func (c *GeneratedapksListCall) Fields(s ...googleapi.Field) *GeneratedapksListCall {
 13329  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13330  	return c
 13331  }
 13332  
 13333  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13334  // object's ETag matches the given value. This is useful for getting updates
 13335  // only after the object has changed since the last request.
 13336  func (c *GeneratedapksListCall) IfNoneMatch(entityTag string) *GeneratedapksListCall {
 13337  	c.ifNoneMatch_ = entityTag
 13338  	return c
 13339  }
 13340  
 13341  // Context sets the context to be used in this call's Do method.
 13342  func (c *GeneratedapksListCall) Context(ctx context.Context) *GeneratedapksListCall {
 13343  	c.ctx_ = ctx
 13344  	return c
 13345  }
 13346  
 13347  // Header returns a http.Header that can be modified by the caller to add
 13348  // headers to the request.
 13349  func (c *GeneratedapksListCall) Header() http.Header {
 13350  	if c.header_ == nil {
 13351  		c.header_ = make(http.Header)
 13352  	}
 13353  	return c.header_
 13354  }
 13355  
 13356  func (c *GeneratedapksListCall) doRequest(alt string) (*http.Response, error) {
 13357  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13358  	if c.ifNoneMatch_ != "" {
 13359  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13360  	}
 13361  	var body io.Reader = nil
 13362  	c.urlParams_.Set("alt", alt)
 13363  	c.urlParams_.Set("prettyPrint", "false")
 13364  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}")
 13365  	urls += "?" + c.urlParams_.Encode()
 13366  	req, err := http.NewRequest("GET", urls, body)
 13367  	if err != nil {
 13368  		return nil, err
 13369  	}
 13370  	req.Header = reqHeaders
 13371  	googleapi.Expand(req.URL, map[string]string{
 13372  		"packageName": c.packageName,
 13373  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 13374  	})
 13375  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13376  }
 13377  
 13378  // Do executes the "androidpublisher.generatedapks.list" call.
 13379  // Any non-2xx status code is an error. Response headers are in either
 13380  // *GeneratedApksListResponse.ServerResponse.Header or (if a response was
 13381  // returned at all) in error.(*googleapi.Error).Header. Use
 13382  // googleapi.IsNotModified to check whether the returned error was because
 13383  // http.StatusNotModified was returned.
 13384  func (c *GeneratedapksListCall) Do(opts ...googleapi.CallOption) (*GeneratedApksListResponse, error) {
 13385  	gensupport.SetOptions(c.urlParams_, opts...)
 13386  	res, err := c.doRequest("json")
 13387  	if res != nil && res.StatusCode == http.StatusNotModified {
 13388  		if res.Body != nil {
 13389  			res.Body.Close()
 13390  		}
 13391  		return nil, gensupport.WrapError(&googleapi.Error{
 13392  			Code:   res.StatusCode,
 13393  			Header: res.Header,
 13394  		})
 13395  	}
 13396  	if err != nil {
 13397  		return nil, err
 13398  	}
 13399  	defer googleapi.CloseBody(res)
 13400  	if err := googleapi.CheckResponse(res); err != nil {
 13401  		return nil, gensupport.WrapError(err)
 13402  	}
 13403  	ret := &GeneratedApksListResponse{
 13404  		ServerResponse: googleapi.ServerResponse{
 13405  			Header:         res.Header,
 13406  			HTTPStatusCode: res.StatusCode,
 13407  		},
 13408  	}
 13409  	target := &ret
 13410  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13411  		return nil, err
 13412  	}
 13413  	return ret, nil
 13414  }
 13415  
 13416  type GrantsCreateCall struct {
 13417  	s          *Service
 13418  	parent     string
 13419  	grant      *Grant
 13420  	urlParams_ gensupport.URLParams
 13421  	ctx_       context.Context
 13422  	header_    http.Header
 13423  }
 13424  
 13425  // Create: Grant access for a user to the given package.
 13426  //
 13427  //   - parent: The user which needs permission. Format:
 13428  //     developers/{developer}/users/{user}.
 13429  func (r *GrantsService) Create(parent string, grant *Grant) *GrantsCreateCall {
 13430  	c := &GrantsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13431  	c.parent = parent
 13432  	c.grant = grant
 13433  	return c
 13434  }
 13435  
 13436  // Fields allows partial responses to be retrieved. See
 13437  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13438  // details.
 13439  func (c *GrantsCreateCall) Fields(s ...googleapi.Field) *GrantsCreateCall {
 13440  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13441  	return c
 13442  }
 13443  
 13444  // Context sets the context to be used in this call's Do method.
 13445  func (c *GrantsCreateCall) Context(ctx context.Context) *GrantsCreateCall {
 13446  	c.ctx_ = ctx
 13447  	return c
 13448  }
 13449  
 13450  // Header returns a http.Header that can be modified by the caller to add
 13451  // headers to the request.
 13452  func (c *GrantsCreateCall) Header() http.Header {
 13453  	if c.header_ == nil {
 13454  		c.header_ = make(http.Header)
 13455  	}
 13456  	return c.header_
 13457  }
 13458  
 13459  func (c *GrantsCreateCall) doRequest(alt string) (*http.Response, error) {
 13460  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13461  	var body io.Reader = nil
 13462  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.grant)
 13463  	if err != nil {
 13464  		return nil, err
 13465  	}
 13466  	c.urlParams_.Set("alt", alt)
 13467  	c.urlParams_.Set("prettyPrint", "false")
 13468  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+parent}/grants")
 13469  	urls += "?" + c.urlParams_.Encode()
 13470  	req, err := http.NewRequest("POST", urls, body)
 13471  	if err != nil {
 13472  		return nil, err
 13473  	}
 13474  	req.Header = reqHeaders
 13475  	googleapi.Expand(req.URL, map[string]string{
 13476  		"parent": c.parent,
 13477  	})
 13478  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13479  }
 13480  
 13481  // Do executes the "androidpublisher.grants.create" call.
 13482  // Any non-2xx status code is an error. Response headers are in either
 13483  // *Grant.ServerResponse.Header or (if a response was returned at all) in
 13484  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13485  // whether the returned error was because http.StatusNotModified was returned.
 13486  func (c *GrantsCreateCall) Do(opts ...googleapi.CallOption) (*Grant, error) {
 13487  	gensupport.SetOptions(c.urlParams_, opts...)
 13488  	res, err := c.doRequest("json")
 13489  	if res != nil && res.StatusCode == http.StatusNotModified {
 13490  		if res.Body != nil {
 13491  			res.Body.Close()
 13492  		}
 13493  		return nil, gensupport.WrapError(&googleapi.Error{
 13494  			Code:   res.StatusCode,
 13495  			Header: res.Header,
 13496  		})
 13497  	}
 13498  	if err != nil {
 13499  		return nil, err
 13500  	}
 13501  	defer googleapi.CloseBody(res)
 13502  	if err := googleapi.CheckResponse(res); err != nil {
 13503  		return nil, gensupport.WrapError(err)
 13504  	}
 13505  	ret := &Grant{
 13506  		ServerResponse: googleapi.ServerResponse{
 13507  			Header:         res.Header,
 13508  			HTTPStatusCode: res.StatusCode,
 13509  		},
 13510  	}
 13511  	target := &ret
 13512  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13513  		return nil, err
 13514  	}
 13515  	return ret, nil
 13516  }
 13517  
 13518  type GrantsDeleteCall struct {
 13519  	s          *Service
 13520  	name       string
 13521  	urlParams_ gensupport.URLParams
 13522  	ctx_       context.Context
 13523  	header_    http.Header
 13524  }
 13525  
 13526  // Delete: Removes all access for the user to the given package or developer
 13527  // account.
 13528  //
 13529  //   - name: The name of the grant to delete. Format:
 13530  //     developers/{developer}/users/{email}/grants/{package_name}.
 13531  func (r *GrantsService) Delete(name string) *GrantsDeleteCall {
 13532  	c := &GrantsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13533  	c.name = name
 13534  	return c
 13535  }
 13536  
 13537  // Fields allows partial responses to be retrieved. See
 13538  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13539  // details.
 13540  func (c *GrantsDeleteCall) Fields(s ...googleapi.Field) *GrantsDeleteCall {
 13541  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13542  	return c
 13543  }
 13544  
 13545  // Context sets the context to be used in this call's Do method.
 13546  func (c *GrantsDeleteCall) Context(ctx context.Context) *GrantsDeleteCall {
 13547  	c.ctx_ = ctx
 13548  	return c
 13549  }
 13550  
 13551  // Header returns a http.Header that can be modified by the caller to add
 13552  // headers to the request.
 13553  func (c *GrantsDeleteCall) Header() http.Header {
 13554  	if c.header_ == nil {
 13555  		c.header_ = make(http.Header)
 13556  	}
 13557  	return c.header_
 13558  }
 13559  
 13560  func (c *GrantsDeleteCall) doRequest(alt string) (*http.Response, error) {
 13561  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13562  	var body io.Reader = nil
 13563  	c.urlParams_.Set("alt", alt)
 13564  	c.urlParams_.Set("prettyPrint", "false")
 13565  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}")
 13566  	urls += "?" + c.urlParams_.Encode()
 13567  	req, err := http.NewRequest("DELETE", urls, body)
 13568  	if err != nil {
 13569  		return nil, err
 13570  	}
 13571  	req.Header = reqHeaders
 13572  	googleapi.Expand(req.URL, map[string]string{
 13573  		"name": c.name,
 13574  	})
 13575  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13576  }
 13577  
 13578  // Do executes the "androidpublisher.grants.delete" call.
 13579  func (c *GrantsDeleteCall) Do(opts ...googleapi.CallOption) error {
 13580  	gensupport.SetOptions(c.urlParams_, opts...)
 13581  	res, err := c.doRequest("json")
 13582  	if err != nil {
 13583  		return err
 13584  	}
 13585  	defer googleapi.CloseBody(res)
 13586  	if err := googleapi.CheckResponse(res); err != nil {
 13587  		return gensupport.WrapError(err)
 13588  	}
 13589  	return nil
 13590  }
 13591  
 13592  type GrantsPatchCall struct {
 13593  	s          *Service
 13594  	name       string
 13595  	grant      *Grant
 13596  	urlParams_ gensupport.URLParams
 13597  	ctx_       context.Context
 13598  	header_    http.Header
 13599  }
 13600  
 13601  // Patch: Updates access for the user to the given package.
 13602  //
 13603  //   - name: Resource name for this grant, following the pattern
 13604  //     "developers/{developer}/users/{email}/grants/{package_name}". If this
 13605  //     grant is for a draft app, the app ID will be used in this resource name
 13606  //     instead of the package name.
 13607  func (r *GrantsService) Patch(name string, grant *Grant) *GrantsPatchCall {
 13608  	c := &GrantsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13609  	c.name = name
 13610  	c.grant = grant
 13611  	return c
 13612  }
 13613  
 13614  // UpdateMask sets the optional parameter "updateMask": The list of fields to
 13615  // be updated.
 13616  func (c *GrantsPatchCall) UpdateMask(updateMask string) *GrantsPatchCall {
 13617  	c.urlParams_.Set("updateMask", updateMask)
 13618  	return c
 13619  }
 13620  
 13621  // Fields allows partial responses to be retrieved. See
 13622  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13623  // details.
 13624  func (c *GrantsPatchCall) Fields(s ...googleapi.Field) *GrantsPatchCall {
 13625  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13626  	return c
 13627  }
 13628  
 13629  // Context sets the context to be used in this call's Do method.
 13630  func (c *GrantsPatchCall) Context(ctx context.Context) *GrantsPatchCall {
 13631  	c.ctx_ = ctx
 13632  	return c
 13633  }
 13634  
 13635  // Header returns a http.Header that can be modified by the caller to add
 13636  // headers to the request.
 13637  func (c *GrantsPatchCall) Header() http.Header {
 13638  	if c.header_ == nil {
 13639  		c.header_ = make(http.Header)
 13640  	}
 13641  	return c.header_
 13642  }
 13643  
 13644  func (c *GrantsPatchCall) doRequest(alt string) (*http.Response, error) {
 13645  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13646  	var body io.Reader = nil
 13647  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.grant)
 13648  	if err != nil {
 13649  		return nil, err
 13650  	}
 13651  	c.urlParams_.Set("alt", alt)
 13652  	c.urlParams_.Set("prettyPrint", "false")
 13653  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}")
 13654  	urls += "?" + c.urlParams_.Encode()
 13655  	req, err := http.NewRequest("PATCH", urls, body)
 13656  	if err != nil {
 13657  		return nil, err
 13658  	}
 13659  	req.Header = reqHeaders
 13660  	googleapi.Expand(req.URL, map[string]string{
 13661  		"name": c.name,
 13662  	})
 13663  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13664  }
 13665  
 13666  // Do executes the "androidpublisher.grants.patch" call.
 13667  // Any non-2xx status code is an error. Response headers are in either
 13668  // *Grant.ServerResponse.Header or (if a response was returned at all) in
 13669  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13670  // whether the returned error was because http.StatusNotModified was returned.
 13671  func (c *GrantsPatchCall) Do(opts ...googleapi.CallOption) (*Grant, error) {
 13672  	gensupport.SetOptions(c.urlParams_, opts...)
 13673  	res, err := c.doRequest("json")
 13674  	if res != nil && res.StatusCode == http.StatusNotModified {
 13675  		if res.Body != nil {
 13676  			res.Body.Close()
 13677  		}
 13678  		return nil, gensupport.WrapError(&googleapi.Error{
 13679  			Code:   res.StatusCode,
 13680  			Header: res.Header,
 13681  		})
 13682  	}
 13683  	if err != nil {
 13684  		return nil, err
 13685  	}
 13686  	defer googleapi.CloseBody(res)
 13687  	if err := googleapi.CheckResponse(res); err != nil {
 13688  		return nil, gensupport.WrapError(err)
 13689  	}
 13690  	ret := &Grant{
 13691  		ServerResponse: googleapi.ServerResponse{
 13692  			Header:         res.Header,
 13693  			HTTPStatusCode: res.StatusCode,
 13694  		},
 13695  	}
 13696  	target := &ret
 13697  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13698  		return nil, err
 13699  	}
 13700  	return ret, nil
 13701  }
 13702  
 13703  type InappproductsBatchDeleteCall struct {
 13704  	s                               *Service
 13705  	packageName                     string
 13706  	inappproductsbatchdeleterequest *InappproductsBatchDeleteRequest
 13707  	urlParams_                      gensupport.URLParams
 13708  	ctx_                            context.Context
 13709  	header_                         http.Header
 13710  }
 13711  
 13712  // BatchDelete: Deletes in-app products (managed products or subscriptions).
 13713  // Set the latencyTolerance field on nested requests to
 13714  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 13715  // throughput. This method should not be used to delete subscriptions. See this
 13716  // article
 13717  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 13718  // for more information.
 13719  //
 13720  // - packageName: Package name of the app.
 13721  func (r *InappproductsService) BatchDelete(packageName string, inappproductsbatchdeleterequest *InappproductsBatchDeleteRequest) *InappproductsBatchDeleteCall {
 13722  	c := &InappproductsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13723  	c.packageName = packageName
 13724  	c.inappproductsbatchdeleterequest = inappproductsbatchdeleterequest
 13725  	return c
 13726  }
 13727  
 13728  // Fields allows partial responses to be retrieved. See
 13729  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13730  // details.
 13731  func (c *InappproductsBatchDeleteCall) Fields(s ...googleapi.Field) *InappproductsBatchDeleteCall {
 13732  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13733  	return c
 13734  }
 13735  
 13736  // Context sets the context to be used in this call's Do method.
 13737  func (c *InappproductsBatchDeleteCall) Context(ctx context.Context) *InappproductsBatchDeleteCall {
 13738  	c.ctx_ = ctx
 13739  	return c
 13740  }
 13741  
 13742  // Header returns a http.Header that can be modified by the caller to add
 13743  // headers to the request.
 13744  func (c *InappproductsBatchDeleteCall) Header() http.Header {
 13745  	if c.header_ == nil {
 13746  		c.header_ = make(http.Header)
 13747  	}
 13748  	return c.header_
 13749  }
 13750  
 13751  func (c *InappproductsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 13752  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13753  	var body io.Reader = nil
 13754  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inappproductsbatchdeleterequest)
 13755  	if err != nil {
 13756  		return nil, err
 13757  	}
 13758  	c.urlParams_.Set("alt", alt)
 13759  	c.urlParams_.Set("prettyPrint", "false")
 13760  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts:batchDelete")
 13761  	urls += "?" + c.urlParams_.Encode()
 13762  	req, err := http.NewRequest("POST", urls, body)
 13763  	if err != nil {
 13764  		return nil, err
 13765  	}
 13766  	req.Header = reqHeaders
 13767  	googleapi.Expand(req.URL, map[string]string{
 13768  		"packageName": c.packageName,
 13769  	})
 13770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13771  }
 13772  
 13773  // Do executes the "androidpublisher.inappproducts.batchDelete" call.
 13774  func (c *InappproductsBatchDeleteCall) Do(opts ...googleapi.CallOption) error {
 13775  	gensupport.SetOptions(c.urlParams_, opts...)
 13776  	res, err := c.doRequest("json")
 13777  	if err != nil {
 13778  		return err
 13779  	}
 13780  	defer googleapi.CloseBody(res)
 13781  	if err := googleapi.CheckResponse(res); err != nil {
 13782  		return gensupport.WrapError(err)
 13783  	}
 13784  	return nil
 13785  }
 13786  
 13787  type InappproductsBatchGetCall struct {
 13788  	s            *Service
 13789  	packageName  string
 13790  	urlParams_   gensupport.URLParams
 13791  	ifNoneMatch_ string
 13792  	ctx_         context.Context
 13793  	header_      http.Header
 13794  }
 13795  
 13796  // BatchGet: Reads multiple in-app products, which can be managed products or
 13797  // subscriptions. This method should not be used to retrieve subscriptions. See
 13798  // this article
 13799  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 13800  // for more information.
 13801  //
 13802  // - packageName: Package name of the app.
 13803  func (r *InappproductsService) BatchGet(packageName string) *InappproductsBatchGetCall {
 13804  	c := &InappproductsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13805  	c.packageName = packageName
 13806  	return c
 13807  }
 13808  
 13809  // Sku sets the optional parameter "sku": Unique identifier for the in-app
 13810  // products.
 13811  func (c *InappproductsBatchGetCall) Sku(sku ...string) *InappproductsBatchGetCall {
 13812  	c.urlParams_.SetMulti("sku", append([]string{}, sku...))
 13813  	return c
 13814  }
 13815  
 13816  // Fields allows partial responses to be retrieved. See
 13817  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13818  // details.
 13819  func (c *InappproductsBatchGetCall) Fields(s ...googleapi.Field) *InappproductsBatchGetCall {
 13820  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13821  	return c
 13822  }
 13823  
 13824  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13825  // object's ETag matches the given value. This is useful for getting updates
 13826  // only after the object has changed since the last request.
 13827  func (c *InappproductsBatchGetCall) IfNoneMatch(entityTag string) *InappproductsBatchGetCall {
 13828  	c.ifNoneMatch_ = entityTag
 13829  	return c
 13830  }
 13831  
 13832  // Context sets the context to be used in this call's Do method.
 13833  func (c *InappproductsBatchGetCall) Context(ctx context.Context) *InappproductsBatchGetCall {
 13834  	c.ctx_ = ctx
 13835  	return c
 13836  }
 13837  
 13838  // Header returns a http.Header that can be modified by the caller to add
 13839  // headers to the request.
 13840  func (c *InappproductsBatchGetCall) Header() http.Header {
 13841  	if c.header_ == nil {
 13842  		c.header_ = make(http.Header)
 13843  	}
 13844  	return c.header_
 13845  }
 13846  
 13847  func (c *InappproductsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 13848  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13849  	if c.ifNoneMatch_ != "" {
 13850  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13851  	}
 13852  	var body io.Reader = nil
 13853  	c.urlParams_.Set("alt", alt)
 13854  	c.urlParams_.Set("prettyPrint", "false")
 13855  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts:batchGet")
 13856  	urls += "?" + c.urlParams_.Encode()
 13857  	req, err := http.NewRequest("GET", urls, body)
 13858  	if err != nil {
 13859  		return nil, err
 13860  	}
 13861  	req.Header = reqHeaders
 13862  	googleapi.Expand(req.URL, map[string]string{
 13863  		"packageName": c.packageName,
 13864  	})
 13865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13866  }
 13867  
 13868  // Do executes the "androidpublisher.inappproducts.batchGet" call.
 13869  // Any non-2xx status code is an error. Response headers are in either
 13870  // *InappproductsBatchGetResponse.ServerResponse.Header or (if a response was
 13871  // returned at all) in error.(*googleapi.Error).Header. Use
 13872  // googleapi.IsNotModified to check whether the returned error was because
 13873  // http.StatusNotModified was returned.
 13874  func (c *InappproductsBatchGetCall) Do(opts ...googleapi.CallOption) (*InappproductsBatchGetResponse, error) {
 13875  	gensupport.SetOptions(c.urlParams_, opts...)
 13876  	res, err := c.doRequest("json")
 13877  	if res != nil && res.StatusCode == http.StatusNotModified {
 13878  		if res.Body != nil {
 13879  			res.Body.Close()
 13880  		}
 13881  		return nil, gensupport.WrapError(&googleapi.Error{
 13882  			Code:   res.StatusCode,
 13883  			Header: res.Header,
 13884  		})
 13885  	}
 13886  	if err != nil {
 13887  		return nil, err
 13888  	}
 13889  	defer googleapi.CloseBody(res)
 13890  	if err := googleapi.CheckResponse(res); err != nil {
 13891  		return nil, gensupport.WrapError(err)
 13892  	}
 13893  	ret := &InappproductsBatchGetResponse{
 13894  		ServerResponse: googleapi.ServerResponse{
 13895  			Header:         res.Header,
 13896  			HTTPStatusCode: res.StatusCode,
 13897  		},
 13898  	}
 13899  	target := &ret
 13900  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13901  		return nil, err
 13902  	}
 13903  	return ret, nil
 13904  }
 13905  
 13906  type InappproductsBatchUpdateCall struct {
 13907  	s                               *Service
 13908  	packageName                     string
 13909  	inappproductsbatchupdaterequest *InappproductsBatchUpdateRequest
 13910  	urlParams_                      gensupport.URLParams
 13911  	ctx_                            context.Context
 13912  	header_                         http.Header
 13913  }
 13914  
 13915  // BatchUpdate: Updates or inserts one or more in-app products (managed
 13916  // products or subscriptions). Set the latencyTolerance field on nested
 13917  // requests to PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve
 13918  // maximum update throughput. This method should no longer be used to update
 13919  // subscriptions. See this article
 13920  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 13921  // for more information.
 13922  //
 13923  // - packageName: Package name of the app.
 13924  func (r *InappproductsService) BatchUpdate(packageName string, inappproductsbatchupdaterequest *InappproductsBatchUpdateRequest) *InappproductsBatchUpdateCall {
 13925  	c := &InappproductsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13926  	c.packageName = packageName
 13927  	c.inappproductsbatchupdaterequest = inappproductsbatchupdaterequest
 13928  	return c
 13929  }
 13930  
 13931  // Fields allows partial responses to be retrieved. See
 13932  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13933  // details.
 13934  func (c *InappproductsBatchUpdateCall) Fields(s ...googleapi.Field) *InappproductsBatchUpdateCall {
 13935  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13936  	return c
 13937  }
 13938  
 13939  // Context sets the context to be used in this call's Do method.
 13940  func (c *InappproductsBatchUpdateCall) Context(ctx context.Context) *InappproductsBatchUpdateCall {
 13941  	c.ctx_ = ctx
 13942  	return c
 13943  }
 13944  
 13945  // Header returns a http.Header that can be modified by the caller to add
 13946  // headers to the request.
 13947  func (c *InappproductsBatchUpdateCall) Header() http.Header {
 13948  	if c.header_ == nil {
 13949  		c.header_ = make(http.Header)
 13950  	}
 13951  	return c.header_
 13952  }
 13953  
 13954  func (c *InappproductsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 13955  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13956  	var body io.Reader = nil
 13957  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inappproductsbatchupdaterequest)
 13958  	if err != nil {
 13959  		return nil, err
 13960  	}
 13961  	c.urlParams_.Set("alt", alt)
 13962  	c.urlParams_.Set("prettyPrint", "false")
 13963  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts:batchUpdate")
 13964  	urls += "?" + c.urlParams_.Encode()
 13965  	req, err := http.NewRequest("POST", urls, body)
 13966  	if err != nil {
 13967  		return nil, err
 13968  	}
 13969  	req.Header = reqHeaders
 13970  	googleapi.Expand(req.URL, map[string]string{
 13971  		"packageName": c.packageName,
 13972  	})
 13973  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13974  }
 13975  
 13976  // Do executes the "androidpublisher.inappproducts.batchUpdate" call.
 13977  // Any non-2xx status code is an error. Response headers are in either
 13978  // *InappproductsBatchUpdateResponse.ServerResponse.Header or (if a response
 13979  // was returned at all) in error.(*googleapi.Error).Header. Use
 13980  // googleapi.IsNotModified to check whether the returned error was because
 13981  // http.StatusNotModified was returned.
 13982  func (c *InappproductsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*InappproductsBatchUpdateResponse, error) {
 13983  	gensupport.SetOptions(c.urlParams_, opts...)
 13984  	res, err := c.doRequest("json")
 13985  	if res != nil && res.StatusCode == http.StatusNotModified {
 13986  		if res.Body != nil {
 13987  			res.Body.Close()
 13988  		}
 13989  		return nil, gensupport.WrapError(&googleapi.Error{
 13990  			Code:   res.StatusCode,
 13991  			Header: res.Header,
 13992  		})
 13993  	}
 13994  	if err != nil {
 13995  		return nil, err
 13996  	}
 13997  	defer googleapi.CloseBody(res)
 13998  	if err := googleapi.CheckResponse(res); err != nil {
 13999  		return nil, gensupport.WrapError(err)
 14000  	}
 14001  	ret := &InappproductsBatchUpdateResponse{
 14002  		ServerResponse: googleapi.ServerResponse{
 14003  			Header:         res.Header,
 14004  			HTTPStatusCode: res.StatusCode,
 14005  		},
 14006  	}
 14007  	target := &ret
 14008  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14009  		return nil, err
 14010  	}
 14011  	return ret, nil
 14012  }
 14013  
 14014  type InappproductsDeleteCall struct {
 14015  	s           *Service
 14016  	packageName string
 14017  	skuid       string
 14018  	urlParams_  gensupport.URLParams
 14019  	ctx_        context.Context
 14020  	header_     http.Header
 14021  }
 14022  
 14023  // Delete: Deletes an in-app product (a managed product or a subscription).
 14024  // This method should no longer be used to delete subscriptions. See this
 14025  // article
 14026  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14027  // for more information.
 14028  //
 14029  // - packageName: Package name of the app.
 14030  // - sku: Unique identifier for the in-app product.
 14031  func (r *InappproductsService) Delete(packageName string, skuid string) *InappproductsDeleteCall {
 14032  	c := &InappproductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14033  	c.packageName = packageName
 14034  	c.skuid = skuid
 14035  	return c
 14036  }
 14037  
 14038  // LatencyTolerance sets the optional parameter "latencyTolerance": The latency
 14039  // tolerance for the propagation of this product update. Defaults to
 14040  // latency-sensitive.
 14041  //
 14042  // Possible values:
 14043  //
 14044  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
 14045  //
 14046  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
 14047  //
 14048  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
 14049  //
 14050  // propagate to clients within several minutes on average and up to a few hours
 14051  // in rare cases. Throughput is limited to 7,200 updates per app per hour.
 14052  //
 14053  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
 14054  //
 14055  // propagate to clients within 24 hours. Supports high throughput of up to
 14056  // 720,000 updates per app per hour using batch modification methods.
 14057  func (c *InappproductsDeleteCall) LatencyTolerance(latencyTolerance string) *InappproductsDeleteCall {
 14058  	c.urlParams_.Set("latencyTolerance", latencyTolerance)
 14059  	return c
 14060  }
 14061  
 14062  // Fields allows partial responses to be retrieved. See
 14063  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14064  // details.
 14065  func (c *InappproductsDeleteCall) Fields(s ...googleapi.Field) *InappproductsDeleteCall {
 14066  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14067  	return c
 14068  }
 14069  
 14070  // Context sets the context to be used in this call's Do method.
 14071  func (c *InappproductsDeleteCall) Context(ctx context.Context) *InappproductsDeleteCall {
 14072  	c.ctx_ = ctx
 14073  	return c
 14074  }
 14075  
 14076  // Header returns a http.Header that can be modified by the caller to add
 14077  // headers to the request.
 14078  func (c *InappproductsDeleteCall) Header() http.Header {
 14079  	if c.header_ == nil {
 14080  		c.header_ = make(http.Header)
 14081  	}
 14082  	return c.header_
 14083  }
 14084  
 14085  func (c *InappproductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 14086  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14087  	var body io.Reader = nil
 14088  	c.urlParams_.Set("alt", alt)
 14089  	c.urlParams_.Set("prettyPrint", "false")
 14090  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}")
 14091  	urls += "?" + c.urlParams_.Encode()
 14092  	req, err := http.NewRequest("DELETE", urls, body)
 14093  	if err != nil {
 14094  		return nil, err
 14095  	}
 14096  	req.Header = reqHeaders
 14097  	googleapi.Expand(req.URL, map[string]string{
 14098  		"packageName": c.packageName,
 14099  		"sku":         c.skuid,
 14100  	})
 14101  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14102  }
 14103  
 14104  // Do executes the "androidpublisher.inappproducts.delete" call.
 14105  func (c *InappproductsDeleteCall) Do(opts ...googleapi.CallOption) error {
 14106  	gensupport.SetOptions(c.urlParams_, opts...)
 14107  	res, err := c.doRequest("json")
 14108  	if err != nil {
 14109  		return err
 14110  	}
 14111  	defer googleapi.CloseBody(res)
 14112  	if err := googleapi.CheckResponse(res); err != nil {
 14113  		return gensupport.WrapError(err)
 14114  	}
 14115  	return nil
 14116  }
 14117  
 14118  type InappproductsGetCall struct {
 14119  	s            *Service
 14120  	packageName  string
 14121  	skuid        string
 14122  	urlParams_   gensupport.URLParams
 14123  	ifNoneMatch_ string
 14124  	ctx_         context.Context
 14125  	header_      http.Header
 14126  }
 14127  
 14128  // Get: Gets an in-app product, which can be a managed product or a
 14129  // subscription. This method should no longer be used to retrieve
 14130  // subscriptions. See this article
 14131  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14132  // for more information.
 14133  //
 14134  // - packageName: Package name of the app.
 14135  // - sku: Unique identifier for the in-app product.
 14136  func (r *InappproductsService) Get(packageName string, skuid string) *InappproductsGetCall {
 14137  	c := &InappproductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14138  	c.packageName = packageName
 14139  	c.skuid = skuid
 14140  	return c
 14141  }
 14142  
 14143  // Fields allows partial responses to be retrieved. See
 14144  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14145  // details.
 14146  func (c *InappproductsGetCall) Fields(s ...googleapi.Field) *InappproductsGetCall {
 14147  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14148  	return c
 14149  }
 14150  
 14151  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14152  // object's ETag matches the given value. This is useful for getting updates
 14153  // only after the object has changed since the last request.
 14154  func (c *InappproductsGetCall) IfNoneMatch(entityTag string) *InappproductsGetCall {
 14155  	c.ifNoneMatch_ = entityTag
 14156  	return c
 14157  }
 14158  
 14159  // Context sets the context to be used in this call's Do method.
 14160  func (c *InappproductsGetCall) Context(ctx context.Context) *InappproductsGetCall {
 14161  	c.ctx_ = ctx
 14162  	return c
 14163  }
 14164  
 14165  // Header returns a http.Header that can be modified by the caller to add
 14166  // headers to the request.
 14167  func (c *InappproductsGetCall) Header() http.Header {
 14168  	if c.header_ == nil {
 14169  		c.header_ = make(http.Header)
 14170  	}
 14171  	return c.header_
 14172  }
 14173  
 14174  func (c *InappproductsGetCall) doRequest(alt string) (*http.Response, error) {
 14175  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14176  	if c.ifNoneMatch_ != "" {
 14177  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14178  	}
 14179  	var body io.Reader = nil
 14180  	c.urlParams_.Set("alt", alt)
 14181  	c.urlParams_.Set("prettyPrint", "false")
 14182  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}")
 14183  	urls += "?" + c.urlParams_.Encode()
 14184  	req, err := http.NewRequest("GET", urls, body)
 14185  	if err != nil {
 14186  		return nil, err
 14187  	}
 14188  	req.Header = reqHeaders
 14189  	googleapi.Expand(req.URL, map[string]string{
 14190  		"packageName": c.packageName,
 14191  		"sku":         c.skuid,
 14192  	})
 14193  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14194  }
 14195  
 14196  // Do executes the "androidpublisher.inappproducts.get" call.
 14197  // Any non-2xx status code is an error. Response headers are in either
 14198  // *InAppProduct.ServerResponse.Header or (if a response was returned at all)
 14199  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14200  // whether the returned error was because http.StatusNotModified was returned.
 14201  func (c *InappproductsGetCall) Do(opts ...googleapi.CallOption) (*InAppProduct, error) {
 14202  	gensupport.SetOptions(c.urlParams_, opts...)
 14203  	res, err := c.doRequest("json")
 14204  	if res != nil && res.StatusCode == http.StatusNotModified {
 14205  		if res.Body != nil {
 14206  			res.Body.Close()
 14207  		}
 14208  		return nil, gensupport.WrapError(&googleapi.Error{
 14209  			Code:   res.StatusCode,
 14210  			Header: res.Header,
 14211  		})
 14212  	}
 14213  	if err != nil {
 14214  		return nil, err
 14215  	}
 14216  	defer googleapi.CloseBody(res)
 14217  	if err := googleapi.CheckResponse(res); err != nil {
 14218  		return nil, gensupport.WrapError(err)
 14219  	}
 14220  	ret := &InAppProduct{
 14221  		ServerResponse: googleapi.ServerResponse{
 14222  			Header:         res.Header,
 14223  			HTTPStatusCode: res.StatusCode,
 14224  		},
 14225  	}
 14226  	target := &ret
 14227  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14228  		return nil, err
 14229  	}
 14230  	return ret, nil
 14231  }
 14232  
 14233  type InappproductsInsertCall struct {
 14234  	s            *Service
 14235  	packageName  string
 14236  	inappproduct *InAppProduct
 14237  	urlParams_   gensupport.URLParams
 14238  	ctx_         context.Context
 14239  	header_      http.Header
 14240  }
 14241  
 14242  // Insert: Creates an in-app product (a managed product or a subscription).
 14243  // This method should no longer be used to create subscriptions. See this
 14244  // article
 14245  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14246  // for more information.
 14247  //
 14248  // - packageName: Package name of the app.
 14249  func (r *InappproductsService) Insert(packageName string, inappproduct *InAppProduct) *InappproductsInsertCall {
 14250  	c := &InappproductsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14251  	c.packageName = packageName
 14252  	c.inappproduct = inappproduct
 14253  	return c
 14254  }
 14255  
 14256  // AutoConvertMissingPrices sets the optional parameter
 14257  // "autoConvertMissingPrices": If true the prices for all regions targeted by
 14258  // the parent app that don't have a price specified for this in-app product
 14259  // will be auto converted to the target currency based on the default price.
 14260  // Defaults to false.
 14261  func (c *InappproductsInsertCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsInsertCall {
 14262  	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprint(autoConvertMissingPrices))
 14263  	return c
 14264  }
 14265  
 14266  // Fields allows partial responses to be retrieved. See
 14267  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14268  // details.
 14269  func (c *InappproductsInsertCall) Fields(s ...googleapi.Field) *InappproductsInsertCall {
 14270  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14271  	return c
 14272  }
 14273  
 14274  // Context sets the context to be used in this call's Do method.
 14275  func (c *InappproductsInsertCall) Context(ctx context.Context) *InappproductsInsertCall {
 14276  	c.ctx_ = ctx
 14277  	return c
 14278  }
 14279  
 14280  // Header returns a http.Header that can be modified by the caller to add
 14281  // headers to the request.
 14282  func (c *InappproductsInsertCall) Header() http.Header {
 14283  	if c.header_ == nil {
 14284  		c.header_ = make(http.Header)
 14285  	}
 14286  	return c.header_
 14287  }
 14288  
 14289  func (c *InappproductsInsertCall) doRequest(alt string) (*http.Response, error) {
 14290  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14291  	var body io.Reader = nil
 14292  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inappproduct)
 14293  	if err != nil {
 14294  		return nil, err
 14295  	}
 14296  	c.urlParams_.Set("alt", alt)
 14297  	c.urlParams_.Set("prettyPrint", "false")
 14298  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts")
 14299  	urls += "?" + c.urlParams_.Encode()
 14300  	req, err := http.NewRequest("POST", urls, body)
 14301  	if err != nil {
 14302  		return nil, err
 14303  	}
 14304  	req.Header = reqHeaders
 14305  	googleapi.Expand(req.URL, map[string]string{
 14306  		"packageName": c.packageName,
 14307  	})
 14308  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14309  }
 14310  
 14311  // Do executes the "androidpublisher.inappproducts.insert" call.
 14312  // Any non-2xx status code is an error. Response headers are in either
 14313  // *InAppProduct.ServerResponse.Header or (if a response was returned at all)
 14314  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14315  // whether the returned error was because http.StatusNotModified was returned.
 14316  func (c *InappproductsInsertCall) Do(opts ...googleapi.CallOption) (*InAppProduct, error) {
 14317  	gensupport.SetOptions(c.urlParams_, opts...)
 14318  	res, err := c.doRequest("json")
 14319  	if res != nil && res.StatusCode == http.StatusNotModified {
 14320  		if res.Body != nil {
 14321  			res.Body.Close()
 14322  		}
 14323  		return nil, gensupport.WrapError(&googleapi.Error{
 14324  			Code:   res.StatusCode,
 14325  			Header: res.Header,
 14326  		})
 14327  	}
 14328  	if err != nil {
 14329  		return nil, err
 14330  	}
 14331  	defer googleapi.CloseBody(res)
 14332  	if err := googleapi.CheckResponse(res); err != nil {
 14333  		return nil, gensupport.WrapError(err)
 14334  	}
 14335  	ret := &InAppProduct{
 14336  		ServerResponse: googleapi.ServerResponse{
 14337  			Header:         res.Header,
 14338  			HTTPStatusCode: res.StatusCode,
 14339  		},
 14340  	}
 14341  	target := &ret
 14342  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14343  		return nil, err
 14344  	}
 14345  	return ret, nil
 14346  }
 14347  
 14348  type InappproductsListCall struct {
 14349  	s            *Service
 14350  	packageName  string
 14351  	urlParams_   gensupport.URLParams
 14352  	ifNoneMatch_ string
 14353  	ctx_         context.Context
 14354  	header_      http.Header
 14355  }
 14356  
 14357  // List: Lists all in-app products - both managed products and subscriptions.
 14358  // If an app has a large number of in-app products, the response may be
 14359  // paginated. In this case the response field `tokenPagination.nextPageToken`
 14360  // will be set and the caller should provide its value as a `token` request
 14361  // parameter to retrieve the next page. This method should no longer be used to
 14362  // retrieve subscriptions. See this article
 14363  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14364  // for more information.
 14365  //
 14366  // - packageName: Package name of the app.
 14367  func (r *InappproductsService) List(packageName string) *InappproductsListCall {
 14368  	c := &InappproductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14369  	c.packageName = packageName
 14370  	return c
 14371  }
 14372  
 14373  // MaxResults sets the optional parameter "maxResults": Deprecated and ignored.
 14374  // The page size is determined by the server.
 14375  func (c *InappproductsListCall) MaxResults(maxResults int64) *InappproductsListCall {
 14376  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 14377  	return c
 14378  }
 14379  
 14380  // StartIndex sets the optional parameter "startIndex": Deprecated and ignored.
 14381  // Set the `token` parameter to retrieve the next page.
 14382  func (c *InappproductsListCall) StartIndex(startIndex int64) *InappproductsListCall {
 14383  	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
 14384  	return c
 14385  }
 14386  
 14387  // Token sets the optional parameter "token": Pagination token. If empty, list
 14388  // starts at the first product.
 14389  func (c *InappproductsListCall) Token(token string) *InappproductsListCall {
 14390  	c.urlParams_.Set("token", token)
 14391  	return c
 14392  }
 14393  
 14394  // Fields allows partial responses to be retrieved. See
 14395  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14396  // details.
 14397  func (c *InappproductsListCall) Fields(s ...googleapi.Field) *InappproductsListCall {
 14398  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14399  	return c
 14400  }
 14401  
 14402  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14403  // object's ETag matches the given value. This is useful for getting updates
 14404  // only after the object has changed since the last request.
 14405  func (c *InappproductsListCall) IfNoneMatch(entityTag string) *InappproductsListCall {
 14406  	c.ifNoneMatch_ = entityTag
 14407  	return c
 14408  }
 14409  
 14410  // Context sets the context to be used in this call's Do method.
 14411  func (c *InappproductsListCall) Context(ctx context.Context) *InappproductsListCall {
 14412  	c.ctx_ = ctx
 14413  	return c
 14414  }
 14415  
 14416  // Header returns a http.Header that can be modified by the caller to add
 14417  // headers to the request.
 14418  func (c *InappproductsListCall) Header() http.Header {
 14419  	if c.header_ == nil {
 14420  		c.header_ = make(http.Header)
 14421  	}
 14422  	return c.header_
 14423  }
 14424  
 14425  func (c *InappproductsListCall) doRequest(alt string) (*http.Response, error) {
 14426  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14427  	if c.ifNoneMatch_ != "" {
 14428  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14429  	}
 14430  	var body io.Reader = nil
 14431  	c.urlParams_.Set("alt", alt)
 14432  	c.urlParams_.Set("prettyPrint", "false")
 14433  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts")
 14434  	urls += "?" + c.urlParams_.Encode()
 14435  	req, err := http.NewRequest("GET", urls, body)
 14436  	if err != nil {
 14437  		return nil, err
 14438  	}
 14439  	req.Header = reqHeaders
 14440  	googleapi.Expand(req.URL, map[string]string{
 14441  		"packageName": c.packageName,
 14442  	})
 14443  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14444  }
 14445  
 14446  // Do executes the "androidpublisher.inappproducts.list" call.
 14447  // Any non-2xx status code is an error. Response headers are in either
 14448  // *InappproductsListResponse.ServerResponse.Header or (if a response was
 14449  // returned at all) in error.(*googleapi.Error).Header. Use
 14450  // googleapi.IsNotModified to check whether the returned error was because
 14451  // http.StatusNotModified was returned.
 14452  func (c *InappproductsListCall) Do(opts ...googleapi.CallOption) (*InappproductsListResponse, error) {
 14453  	gensupport.SetOptions(c.urlParams_, opts...)
 14454  	res, err := c.doRequest("json")
 14455  	if res != nil && res.StatusCode == http.StatusNotModified {
 14456  		if res.Body != nil {
 14457  			res.Body.Close()
 14458  		}
 14459  		return nil, gensupport.WrapError(&googleapi.Error{
 14460  			Code:   res.StatusCode,
 14461  			Header: res.Header,
 14462  		})
 14463  	}
 14464  	if err != nil {
 14465  		return nil, err
 14466  	}
 14467  	defer googleapi.CloseBody(res)
 14468  	if err := googleapi.CheckResponse(res); err != nil {
 14469  		return nil, gensupport.WrapError(err)
 14470  	}
 14471  	ret := &InappproductsListResponse{
 14472  		ServerResponse: googleapi.ServerResponse{
 14473  			Header:         res.Header,
 14474  			HTTPStatusCode: res.StatusCode,
 14475  		},
 14476  	}
 14477  	target := &ret
 14478  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14479  		return nil, err
 14480  	}
 14481  	return ret, nil
 14482  }
 14483  
 14484  type InappproductsPatchCall struct {
 14485  	s            *Service
 14486  	packageName  string
 14487  	skuid        string
 14488  	inappproduct *InAppProduct
 14489  	urlParams_   gensupport.URLParams
 14490  	ctx_         context.Context
 14491  	header_      http.Header
 14492  }
 14493  
 14494  // Patch: Patches an in-app product (a managed product or a subscription). This
 14495  // method should no longer be used to update subscriptions. See this article
 14496  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14497  // for more information.
 14498  //
 14499  // - packageName: Package name of the app.
 14500  // - sku: Unique identifier for the in-app product.
 14501  func (r *InappproductsService) Patch(packageName string, skuid string, inappproduct *InAppProduct) *InappproductsPatchCall {
 14502  	c := &InappproductsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14503  	c.packageName = packageName
 14504  	c.skuid = skuid
 14505  	c.inappproduct = inappproduct
 14506  	return c
 14507  }
 14508  
 14509  // AutoConvertMissingPrices sets the optional parameter
 14510  // "autoConvertMissingPrices": If true the prices for all regions targeted by
 14511  // the parent app that don't have a price specified for this in-app product
 14512  // will be auto converted to the target currency based on the default price.
 14513  // Defaults to false.
 14514  func (c *InappproductsPatchCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsPatchCall {
 14515  	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprint(autoConvertMissingPrices))
 14516  	return c
 14517  }
 14518  
 14519  // LatencyTolerance sets the optional parameter "latencyTolerance": The latency
 14520  // tolerance for the propagation of this product update. Defaults to
 14521  // latency-sensitive.
 14522  //
 14523  // Possible values:
 14524  //
 14525  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
 14526  //
 14527  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
 14528  //
 14529  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
 14530  //
 14531  // propagate to clients within several minutes on average and up to a few hours
 14532  // in rare cases. Throughput is limited to 7,200 updates per app per hour.
 14533  //
 14534  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
 14535  //
 14536  // propagate to clients within 24 hours. Supports high throughput of up to
 14537  // 720,000 updates per app per hour using batch modification methods.
 14538  func (c *InappproductsPatchCall) LatencyTolerance(latencyTolerance string) *InappproductsPatchCall {
 14539  	c.urlParams_.Set("latencyTolerance", latencyTolerance)
 14540  	return c
 14541  }
 14542  
 14543  // Fields allows partial responses to be retrieved. See
 14544  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14545  // details.
 14546  func (c *InappproductsPatchCall) Fields(s ...googleapi.Field) *InappproductsPatchCall {
 14547  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14548  	return c
 14549  }
 14550  
 14551  // Context sets the context to be used in this call's Do method.
 14552  func (c *InappproductsPatchCall) Context(ctx context.Context) *InappproductsPatchCall {
 14553  	c.ctx_ = ctx
 14554  	return c
 14555  }
 14556  
 14557  // Header returns a http.Header that can be modified by the caller to add
 14558  // headers to the request.
 14559  func (c *InappproductsPatchCall) Header() http.Header {
 14560  	if c.header_ == nil {
 14561  		c.header_ = make(http.Header)
 14562  	}
 14563  	return c.header_
 14564  }
 14565  
 14566  func (c *InappproductsPatchCall) doRequest(alt string) (*http.Response, error) {
 14567  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14568  	var body io.Reader = nil
 14569  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inappproduct)
 14570  	if err != nil {
 14571  		return nil, err
 14572  	}
 14573  	c.urlParams_.Set("alt", alt)
 14574  	c.urlParams_.Set("prettyPrint", "false")
 14575  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}")
 14576  	urls += "?" + c.urlParams_.Encode()
 14577  	req, err := http.NewRequest("PATCH", urls, body)
 14578  	if err != nil {
 14579  		return nil, err
 14580  	}
 14581  	req.Header = reqHeaders
 14582  	googleapi.Expand(req.URL, map[string]string{
 14583  		"packageName": c.packageName,
 14584  		"sku":         c.skuid,
 14585  	})
 14586  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14587  }
 14588  
 14589  // Do executes the "androidpublisher.inappproducts.patch" call.
 14590  // Any non-2xx status code is an error. Response headers are in either
 14591  // *InAppProduct.ServerResponse.Header or (if a response was returned at all)
 14592  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14593  // whether the returned error was because http.StatusNotModified was returned.
 14594  func (c *InappproductsPatchCall) Do(opts ...googleapi.CallOption) (*InAppProduct, error) {
 14595  	gensupport.SetOptions(c.urlParams_, opts...)
 14596  	res, err := c.doRequest("json")
 14597  	if res != nil && res.StatusCode == http.StatusNotModified {
 14598  		if res.Body != nil {
 14599  			res.Body.Close()
 14600  		}
 14601  		return nil, gensupport.WrapError(&googleapi.Error{
 14602  			Code:   res.StatusCode,
 14603  			Header: res.Header,
 14604  		})
 14605  	}
 14606  	if err != nil {
 14607  		return nil, err
 14608  	}
 14609  	defer googleapi.CloseBody(res)
 14610  	if err := googleapi.CheckResponse(res); err != nil {
 14611  		return nil, gensupport.WrapError(err)
 14612  	}
 14613  	ret := &InAppProduct{
 14614  		ServerResponse: googleapi.ServerResponse{
 14615  			Header:         res.Header,
 14616  			HTTPStatusCode: res.StatusCode,
 14617  		},
 14618  	}
 14619  	target := &ret
 14620  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14621  		return nil, err
 14622  	}
 14623  	return ret, nil
 14624  }
 14625  
 14626  type InappproductsUpdateCall struct {
 14627  	s            *Service
 14628  	packageName  string
 14629  	skuid        string
 14630  	inappproduct *InAppProduct
 14631  	urlParams_   gensupport.URLParams
 14632  	ctx_         context.Context
 14633  	header_      http.Header
 14634  }
 14635  
 14636  // Update: Updates an in-app product (a managed product or a subscription).
 14637  // This method should no longer be used to update subscriptions. See this
 14638  // article
 14639  // (https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html)
 14640  // for more information.
 14641  //
 14642  // - packageName: Package name of the app.
 14643  // - sku: Unique identifier for the in-app product.
 14644  func (r *InappproductsService) Update(packageName string, skuid string, inappproduct *InAppProduct) *InappproductsUpdateCall {
 14645  	c := &InappproductsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14646  	c.packageName = packageName
 14647  	c.skuid = skuid
 14648  	c.inappproduct = inappproduct
 14649  	return c
 14650  }
 14651  
 14652  // AllowMissing sets the optional parameter "allowMissing": If set to true, and
 14653  // the in-app product with the given package_name and sku doesn't exist, the
 14654  // in-app product will be created.
 14655  func (c *InappproductsUpdateCall) AllowMissing(allowMissing bool) *InappproductsUpdateCall {
 14656  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
 14657  	return c
 14658  }
 14659  
 14660  // AutoConvertMissingPrices sets the optional parameter
 14661  // "autoConvertMissingPrices": If true the prices for all regions targeted by
 14662  // the parent app that don't have a price specified for this in-app product
 14663  // will be auto converted to the target currency based on the default price.
 14664  // Defaults to false.
 14665  func (c *InappproductsUpdateCall) AutoConvertMissingPrices(autoConvertMissingPrices bool) *InappproductsUpdateCall {
 14666  	c.urlParams_.Set("autoConvertMissingPrices", fmt.Sprint(autoConvertMissingPrices))
 14667  	return c
 14668  }
 14669  
 14670  // LatencyTolerance sets the optional parameter "latencyTolerance": The latency
 14671  // tolerance for the propagation of this product update. Defaults to
 14672  // latency-sensitive.
 14673  //
 14674  // Possible values:
 14675  //
 14676  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
 14677  //
 14678  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
 14679  //
 14680  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
 14681  //
 14682  // propagate to clients within several minutes on average and up to a few hours
 14683  // in rare cases. Throughput is limited to 7,200 updates per app per hour.
 14684  //
 14685  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
 14686  //
 14687  // propagate to clients within 24 hours. Supports high throughput of up to
 14688  // 720,000 updates per app per hour using batch modification methods.
 14689  func (c *InappproductsUpdateCall) LatencyTolerance(latencyTolerance string) *InappproductsUpdateCall {
 14690  	c.urlParams_.Set("latencyTolerance", latencyTolerance)
 14691  	return c
 14692  }
 14693  
 14694  // Fields allows partial responses to be retrieved. See
 14695  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14696  // details.
 14697  func (c *InappproductsUpdateCall) Fields(s ...googleapi.Field) *InappproductsUpdateCall {
 14698  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14699  	return c
 14700  }
 14701  
 14702  // Context sets the context to be used in this call's Do method.
 14703  func (c *InappproductsUpdateCall) Context(ctx context.Context) *InappproductsUpdateCall {
 14704  	c.ctx_ = ctx
 14705  	return c
 14706  }
 14707  
 14708  // Header returns a http.Header that can be modified by the caller to add
 14709  // headers to the request.
 14710  func (c *InappproductsUpdateCall) Header() http.Header {
 14711  	if c.header_ == nil {
 14712  		c.header_ = make(http.Header)
 14713  	}
 14714  	return c.header_
 14715  }
 14716  
 14717  func (c *InappproductsUpdateCall) doRequest(alt string) (*http.Response, error) {
 14718  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14719  	var body io.Reader = nil
 14720  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inappproduct)
 14721  	if err != nil {
 14722  		return nil, err
 14723  	}
 14724  	c.urlParams_.Set("alt", alt)
 14725  	c.urlParams_.Set("prettyPrint", "false")
 14726  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}")
 14727  	urls += "?" + c.urlParams_.Encode()
 14728  	req, err := http.NewRequest("PUT", urls, body)
 14729  	if err != nil {
 14730  		return nil, err
 14731  	}
 14732  	req.Header = reqHeaders
 14733  	googleapi.Expand(req.URL, map[string]string{
 14734  		"packageName": c.packageName,
 14735  		"sku":         c.skuid,
 14736  	})
 14737  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14738  }
 14739  
 14740  // Do executes the "androidpublisher.inappproducts.update" call.
 14741  // Any non-2xx status code is an error. Response headers are in either
 14742  // *InAppProduct.ServerResponse.Header or (if a response was returned at all)
 14743  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14744  // whether the returned error was because http.StatusNotModified was returned.
 14745  func (c *InappproductsUpdateCall) Do(opts ...googleapi.CallOption) (*InAppProduct, error) {
 14746  	gensupport.SetOptions(c.urlParams_, opts...)
 14747  	res, err := c.doRequest("json")
 14748  	if res != nil && res.StatusCode == http.StatusNotModified {
 14749  		if res.Body != nil {
 14750  			res.Body.Close()
 14751  		}
 14752  		return nil, gensupport.WrapError(&googleapi.Error{
 14753  			Code:   res.StatusCode,
 14754  			Header: res.Header,
 14755  		})
 14756  	}
 14757  	if err != nil {
 14758  		return nil, err
 14759  	}
 14760  	defer googleapi.CloseBody(res)
 14761  	if err := googleapi.CheckResponse(res); err != nil {
 14762  		return nil, gensupport.WrapError(err)
 14763  	}
 14764  	ret := &InAppProduct{
 14765  		ServerResponse: googleapi.ServerResponse{
 14766  			Header:         res.Header,
 14767  			HTTPStatusCode: res.StatusCode,
 14768  		},
 14769  	}
 14770  	target := &ret
 14771  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14772  		return nil, err
 14773  	}
 14774  	return ret, nil
 14775  }
 14776  
 14777  type InternalappsharingartifactsUploadapkCall struct {
 14778  	s           *Service
 14779  	packageName string
 14780  	urlParams_  gensupport.URLParams
 14781  	mediaInfo_  *gensupport.MediaInfo
 14782  	ctx_        context.Context
 14783  	header_     http.Header
 14784  }
 14785  
 14786  // Uploadapk: Uploads an APK to internal app sharing. If you are using the
 14787  // Google API client libraries, please increase the timeout of the http request
 14788  // before calling this endpoint (a timeout of 2 minutes is recommended). See
 14789  // Timeouts and Errors
 14790  // (https://developers.google.com/api-client-library/java/google-api-java-client/errors)
 14791  // for an example in java.
 14792  //
 14793  // - packageName: Package name of the app.
 14794  func (r *InternalappsharingartifactsService) Uploadapk(packageName string) *InternalappsharingartifactsUploadapkCall {
 14795  	c := &InternalappsharingartifactsUploadapkCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14796  	c.packageName = packageName
 14797  	return c
 14798  }
 14799  
 14800  // Media specifies the media to upload in one or more chunks. The chunk size
 14801  // may be controlled by supplying a MediaOption generated by
 14802  // googleapi.ChunkSize. The chunk size defaults to
 14803  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 14804  // request will be determined by sniffing the contents of r, unless a
 14805  // MediaOption generated by googleapi.ContentType is supplied.
 14806  // At most one of Media and ResumableMedia may be set.
 14807  func (c *InternalappsharingartifactsUploadapkCall) Media(r io.Reader, options ...googleapi.MediaOption) *InternalappsharingartifactsUploadapkCall {
 14808  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 14809  	return c
 14810  }
 14811  
 14812  // ResumableMedia specifies the media to upload in chunks and can be canceled
 14813  // with ctx.
 14814  //
 14815  // Deprecated: use Media instead.
 14816  //
 14817  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 14818  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 14819  // will be auto-detected. The provided ctx will supersede any context
 14820  // previously provided to the Context method.
 14821  func (c *InternalappsharingartifactsUploadapkCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *InternalappsharingartifactsUploadapkCall {
 14822  	c.ctx_ = ctx
 14823  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 14824  	return c
 14825  }
 14826  
 14827  // ProgressUpdater provides a callback function that will be called after every
 14828  // chunk. It should be a low-latency function in order to not slow down the
 14829  // upload operation. This should only be called when using ResumableMedia (as
 14830  // opposed to Media).
 14831  func (c *InternalappsharingartifactsUploadapkCall) ProgressUpdater(pu googleapi.ProgressUpdater) *InternalappsharingartifactsUploadapkCall {
 14832  	c.mediaInfo_.SetProgressUpdater(pu)
 14833  	return c
 14834  }
 14835  
 14836  // Fields allows partial responses to be retrieved. See
 14837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14838  // details.
 14839  func (c *InternalappsharingartifactsUploadapkCall) Fields(s ...googleapi.Field) *InternalappsharingartifactsUploadapkCall {
 14840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14841  	return c
 14842  }
 14843  
 14844  // Context sets the context to be used in this call's Do method.
 14845  // This context will supersede any context previously provided to the
 14846  // ResumableMedia method.
 14847  func (c *InternalappsharingartifactsUploadapkCall) Context(ctx context.Context) *InternalappsharingartifactsUploadapkCall {
 14848  	c.ctx_ = ctx
 14849  	return c
 14850  }
 14851  
 14852  // Header returns a http.Header that can be modified by the caller to add
 14853  // headers to the request.
 14854  func (c *InternalappsharingartifactsUploadapkCall) Header() http.Header {
 14855  	if c.header_ == nil {
 14856  		c.header_ = make(http.Header)
 14857  	}
 14858  	return c.header_
 14859  }
 14860  
 14861  func (c *InternalappsharingartifactsUploadapkCall) doRequest(alt string) (*http.Response, error) {
 14862  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14863  	var body io.Reader = nil
 14864  	c.urlParams_.Set("alt", alt)
 14865  	c.urlParams_.Set("prettyPrint", "false")
 14866  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk")
 14867  	if c.mediaInfo_ != nil {
 14868  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk")
 14869  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 14870  	}
 14871  	if body == nil {
 14872  		body = new(bytes.Buffer)
 14873  		reqHeaders.Set("Content-Type", "application/json")
 14874  	}
 14875  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 14876  	defer cleanup()
 14877  	urls += "?" + c.urlParams_.Encode()
 14878  	req, err := http.NewRequest("POST", urls, body)
 14879  	if err != nil {
 14880  		return nil, err
 14881  	}
 14882  	req.Header = reqHeaders
 14883  	req.GetBody = getBody
 14884  	googleapi.Expand(req.URL, map[string]string{
 14885  		"packageName": c.packageName,
 14886  	})
 14887  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14888  }
 14889  
 14890  // Do executes the "androidpublisher.internalappsharingartifacts.uploadapk" call.
 14891  // Any non-2xx status code is an error. Response headers are in either
 14892  // *InternalAppSharingArtifact.ServerResponse.Header or (if a response was
 14893  // returned at all) in error.(*googleapi.Error).Header. Use
 14894  // googleapi.IsNotModified to check whether the returned error was because
 14895  // http.StatusNotModified was returned.
 14896  func (c *InternalappsharingartifactsUploadapkCall) Do(opts ...googleapi.CallOption) (*InternalAppSharingArtifact, error) {
 14897  	gensupport.SetOptions(c.urlParams_, opts...)
 14898  	res, err := c.doRequest("json")
 14899  	if res != nil && res.StatusCode == http.StatusNotModified {
 14900  		if res.Body != nil {
 14901  			res.Body.Close()
 14902  		}
 14903  		return nil, gensupport.WrapError(&googleapi.Error{
 14904  			Code:   res.StatusCode,
 14905  			Header: res.Header,
 14906  		})
 14907  	}
 14908  	if err != nil {
 14909  		return nil, err
 14910  	}
 14911  	defer googleapi.CloseBody(res)
 14912  	if err := googleapi.CheckResponse(res); err != nil {
 14913  		return nil, gensupport.WrapError(err)
 14914  	}
 14915  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 14916  	if rx != nil {
 14917  		rx.Client = c.s.client
 14918  		rx.UserAgent = c.s.userAgent()
 14919  		ctx := c.ctx_
 14920  		if ctx == nil {
 14921  			ctx = context.TODO()
 14922  		}
 14923  		res, err = rx.Upload(ctx)
 14924  		if err != nil {
 14925  			return nil, err
 14926  		}
 14927  		defer res.Body.Close()
 14928  		if err := googleapi.CheckResponse(res); err != nil {
 14929  			return nil, gensupport.WrapError(err)
 14930  		}
 14931  	}
 14932  	ret := &InternalAppSharingArtifact{
 14933  		ServerResponse: googleapi.ServerResponse{
 14934  			Header:         res.Header,
 14935  			HTTPStatusCode: res.StatusCode,
 14936  		},
 14937  	}
 14938  	target := &ret
 14939  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14940  		return nil, err
 14941  	}
 14942  	return ret, nil
 14943  }
 14944  
 14945  type InternalappsharingartifactsUploadbundleCall struct {
 14946  	s           *Service
 14947  	packageName string
 14948  	urlParams_  gensupport.URLParams
 14949  	mediaInfo_  *gensupport.MediaInfo
 14950  	ctx_        context.Context
 14951  	header_     http.Header
 14952  }
 14953  
 14954  // Uploadbundle: Uploads an app bundle to internal app sharing. If you are
 14955  // using the Google API client libraries, please increase the timeout of the
 14956  // http request before calling this endpoint (a timeout of 2 minutes is
 14957  // recommended). See Timeouts and Errors
 14958  // (https://developers.google.com/api-client-library/java/google-api-java-client/errors)
 14959  // for an example in java.
 14960  //
 14961  // - packageName: Package name of the app.
 14962  func (r *InternalappsharingartifactsService) Uploadbundle(packageName string) *InternalappsharingartifactsUploadbundleCall {
 14963  	c := &InternalappsharingartifactsUploadbundleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14964  	c.packageName = packageName
 14965  	return c
 14966  }
 14967  
 14968  // Media specifies the media to upload in one or more chunks. The chunk size
 14969  // may be controlled by supplying a MediaOption generated by
 14970  // googleapi.ChunkSize. The chunk size defaults to
 14971  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 14972  // request will be determined by sniffing the contents of r, unless a
 14973  // MediaOption generated by googleapi.ContentType is supplied.
 14974  // At most one of Media and ResumableMedia may be set.
 14975  func (c *InternalappsharingartifactsUploadbundleCall) Media(r io.Reader, options ...googleapi.MediaOption) *InternalappsharingartifactsUploadbundleCall {
 14976  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 14977  	return c
 14978  }
 14979  
 14980  // ResumableMedia specifies the media to upload in chunks and can be canceled
 14981  // with ctx.
 14982  //
 14983  // Deprecated: use Media instead.
 14984  //
 14985  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 14986  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 14987  // will be auto-detected. The provided ctx will supersede any context
 14988  // previously provided to the Context method.
 14989  func (c *InternalappsharingartifactsUploadbundleCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *InternalappsharingartifactsUploadbundleCall {
 14990  	c.ctx_ = ctx
 14991  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 14992  	return c
 14993  }
 14994  
 14995  // ProgressUpdater provides a callback function that will be called after every
 14996  // chunk. It should be a low-latency function in order to not slow down the
 14997  // upload operation. This should only be called when using ResumableMedia (as
 14998  // opposed to Media).
 14999  func (c *InternalappsharingartifactsUploadbundleCall) ProgressUpdater(pu googleapi.ProgressUpdater) *InternalappsharingartifactsUploadbundleCall {
 15000  	c.mediaInfo_.SetProgressUpdater(pu)
 15001  	return c
 15002  }
 15003  
 15004  // Fields allows partial responses to be retrieved. See
 15005  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15006  // details.
 15007  func (c *InternalappsharingartifactsUploadbundleCall) Fields(s ...googleapi.Field) *InternalappsharingartifactsUploadbundleCall {
 15008  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15009  	return c
 15010  }
 15011  
 15012  // Context sets the context to be used in this call's Do method.
 15013  // This context will supersede any context previously provided to the
 15014  // ResumableMedia method.
 15015  func (c *InternalappsharingartifactsUploadbundleCall) Context(ctx context.Context) *InternalappsharingartifactsUploadbundleCall {
 15016  	c.ctx_ = ctx
 15017  	return c
 15018  }
 15019  
 15020  // Header returns a http.Header that can be modified by the caller to add
 15021  // headers to the request.
 15022  func (c *InternalappsharingartifactsUploadbundleCall) Header() http.Header {
 15023  	if c.header_ == nil {
 15024  		c.header_ = make(http.Header)
 15025  	}
 15026  	return c.header_
 15027  }
 15028  
 15029  func (c *InternalappsharingartifactsUploadbundleCall) doRequest(alt string) (*http.Response, error) {
 15030  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15031  	var body io.Reader = nil
 15032  	c.urlParams_.Set("alt", alt)
 15033  	c.urlParams_.Set("prettyPrint", "false")
 15034  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle")
 15035  	if c.mediaInfo_ != nil {
 15036  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle")
 15037  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 15038  	}
 15039  	if body == nil {
 15040  		body = new(bytes.Buffer)
 15041  		reqHeaders.Set("Content-Type", "application/json")
 15042  	}
 15043  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 15044  	defer cleanup()
 15045  	urls += "?" + c.urlParams_.Encode()
 15046  	req, err := http.NewRequest("POST", urls, body)
 15047  	if err != nil {
 15048  		return nil, err
 15049  	}
 15050  	req.Header = reqHeaders
 15051  	req.GetBody = getBody
 15052  	googleapi.Expand(req.URL, map[string]string{
 15053  		"packageName": c.packageName,
 15054  	})
 15055  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15056  }
 15057  
 15058  // Do executes the "androidpublisher.internalappsharingartifacts.uploadbundle" call.
 15059  // Any non-2xx status code is an error. Response headers are in either
 15060  // *InternalAppSharingArtifact.ServerResponse.Header or (if a response was
 15061  // returned at all) in error.(*googleapi.Error).Header. Use
 15062  // googleapi.IsNotModified to check whether the returned error was because
 15063  // http.StatusNotModified was returned.
 15064  func (c *InternalappsharingartifactsUploadbundleCall) Do(opts ...googleapi.CallOption) (*InternalAppSharingArtifact, error) {
 15065  	gensupport.SetOptions(c.urlParams_, opts...)
 15066  	res, err := c.doRequest("json")
 15067  	if res != nil && res.StatusCode == http.StatusNotModified {
 15068  		if res.Body != nil {
 15069  			res.Body.Close()
 15070  		}
 15071  		return nil, gensupport.WrapError(&googleapi.Error{
 15072  			Code:   res.StatusCode,
 15073  			Header: res.Header,
 15074  		})
 15075  	}
 15076  	if err != nil {
 15077  		return nil, err
 15078  	}
 15079  	defer googleapi.CloseBody(res)
 15080  	if err := googleapi.CheckResponse(res); err != nil {
 15081  		return nil, gensupport.WrapError(err)
 15082  	}
 15083  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 15084  	if rx != nil {
 15085  		rx.Client = c.s.client
 15086  		rx.UserAgent = c.s.userAgent()
 15087  		ctx := c.ctx_
 15088  		if ctx == nil {
 15089  			ctx = context.TODO()
 15090  		}
 15091  		res, err = rx.Upload(ctx)
 15092  		if err != nil {
 15093  			return nil, err
 15094  		}
 15095  		defer res.Body.Close()
 15096  		if err := googleapi.CheckResponse(res); err != nil {
 15097  			return nil, gensupport.WrapError(err)
 15098  		}
 15099  	}
 15100  	ret := &InternalAppSharingArtifact{
 15101  		ServerResponse: googleapi.ServerResponse{
 15102  			Header:         res.Header,
 15103  			HTTPStatusCode: res.StatusCode,
 15104  		},
 15105  	}
 15106  	target := &ret
 15107  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15108  		return nil, err
 15109  	}
 15110  	return ret, nil
 15111  }
 15112  
 15113  type MonetizationConvertRegionPricesCall struct {
 15114  	s                          *Service
 15115  	packageName                string
 15116  	convertregionpricesrequest *ConvertRegionPricesRequest
 15117  	urlParams_                 gensupport.URLParams
 15118  	ctx_                       context.Context
 15119  	header_                    http.Header
 15120  }
 15121  
 15122  // ConvertRegionPrices: Calculates the region prices, using today's exchange
 15123  // rate and country-specific pricing patterns, based on the price in the
 15124  // request for a set of regions.
 15125  //
 15126  // - packageName: The app package name.
 15127  func (r *MonetizationService) ConvertRegionPrices(packageName string, convertregionpricesrequest *ConvertRegionPricesRequest) *MonetizationConvertRegionPricesCall {
 15128  	c := &MonetizationConvertRegionPricesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15129  	c.packageName = packageName
 15130  	c.convertregionpricesrequest = convertregionpricesrequest
 15131  	return c
 15132  }
 15133  
 15134  // Fields allows partial responses to be retrieved. See
 15135  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15136  // details.
 15137  func (c *MonetizationConvertRegionPricesCall) Fields(s ...googleapi.Field) *MonetizationConvertRegionPricesCall {
 15138  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15139  	return c
 15140  }
 15141  
 15142  // Context sets the context to be used in this call's Do method.
 15143  func (c *MonetizationConvertRegionPricesCall) Context(ctx context.Context) *MonetizationConvertRegionPricesCall {
 15144  	c.ctx_ = ctx
 15145  	return c
 15146  }
 15147  
 15148  // Header returns a http.Header that can be modified by the caller to add
 15149  // headers to the request.
 15150  func (c *MonetizationConvertRegionPricesCall) Header() http.Header {
 15151  	if c.header_ == nil {
 15152  		c.header_ = make(http.Header)
 15153  	}
 15154  	return c.header_
 15155  }
 15156  
 15157  func (c *MonetizationConvertRegionPricesCall) doRequest(alt string) (*http.Response, error) {
 15158  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15159  	var body io.Reader = nil
 15160  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.convertregionpricesrequest)
 15161  	if err != nil {
 15162  		return nil, err
 15163  	}
 15164  	c.urlParams_.Set("alt", alt)
 15165  	c.urlParams_.Set("prettyPrint", "false")
 15166  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/pricing:convertRegionPrices")
 15167  	urls += "?" + c.urlParams_.Encode()
 15168  	req, err := http.NewRequest("POST", urls, body)
 15169  	if err != nil {
 15170  		return nil, err
 15171  	}
 15172  	req.Header = reqHeaders
 15173  	googleapi.Expand(req.URL, map[string]string{
 15174  		"packageName": c.packageName,
 15175  	})
 15176  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15177  }
 15178  
 15179  // Do executes the "androidpublisher.monetization.convertRegionPrices" call.
 15180  // Any non-2xx status code is an error. Response headers are in either
 15181  // *ConvertRegionPricesResponse.ServerResponse.Header or (if a response was
 15182  // returned at all) in error.(*googleapi.Error).Header. Use
 15183  // googleapi.IsNotModified to check whether the returned error was because
 15184  // http.StatusNotModified was returned.
 15185  func (c *MonetizationConvertRegionPricesCall) Do(opts ...googleapi.CallOption) (*ConvertRegionPricesResponse, error) {
 15186  	gensupport.SetOptions(c.urlParams_, opts...)
 15187  	res, err := c.doRequest("json")
 15188  	if res != nil && res.StatusCode == http.StatusNotModified {
 15189  		if res.Body != nil {
 15190  			res.Body.Close()
 15191  		}
 15192  		return nil, gensupport.WrapError(&googleapi.Error{
 15193  			Code:   res.StatusCode,
 15194  			Header: res.Header,
 15195  		})
 15196  	}
 15197  	if err != nil {
 15198  		return nil, err
 15199  	}
 15200  	defer googleapi.CloseBody(res)
 15201  	if err := googleapi.CheckResponse(res); err != nil {
 15202  		return nil, gensupport.WrapError(err)
 15203  	}
 15204  	ret := &ConvertRegionPricesResponse{
 15205  		ServerResponse: googleapi.ServerResponse{
 15206  			Header:         res.Header,
 15207  			HTTPStatusCode: res.StatusCode,
 15208  		},
 15209  	}
 15210  	target := &ret
 15211  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15212  		return nil, err
 15213  	}
 15214  	return ret, nil
 15215  }
 15216  
 15217  type MonetizationSubscriptionsArchiveCall struct {
 15218  	s                          *Service
 15219  	packageName                string
 15220  	productId                  string
 15221  	archivesubscriptionrequest *ArchiveSubscriptionRequest
 15222  	urlParams_                 gensupport.URLParams
 15223  	ctx_                       context.Context
 15224  	header_                    http.Header
 15225  }
 15226  
 15227  // Archive: Deprecated: subscription archiving is not supported.
 15228  //
 15229  //   - packageName: The parent app (package name) of the app of the subscription
 15230  //     to delete.
 15231  //   - productId: The unique product ID of the subscription to delete.
 15232  func (r *MonetizationSubscriptionsService) Archive(packageName string, productId string, archivesubscriptionrequest *ArchiveSubscriptionRequest) *MonetizationSubscriptionsArchiveCall {
 15233  	c := &MonetizationSubscriptionsArchiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15234  	c.packageName = packageName
 15235  	c.productId = productId
 15236  	c.archivesubscriptionrequest = archivesubscriptionrequest
 15237  	return c
 15238  }
 15239  
 15240  // Fields allows partial responses to be retrieved. See
 15241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15242  // details.
 15243  func (c *MonetizationSubscriptionsArchiveCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsArchiveCall {
 15244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15245  	return c
 15246  }
 15247  
 15248  // Context sets the context to be used in this call's Do method.
 15249  func (c *MonetizationSubscriptionsArchiveCall) Context(ctx context.Context) *MonetizationSubscriptionsArchiveCall {
 15250  	c.ctx_ = ctx
 15251  	return c
 15252  }
 15253  
 15254  // Header returns a http.Header that can be modified by the caller to add
 15255  // headers to the request.
 15256  func (c *MonetizationSubscriptionsArchiveCall) Header() http.Header {
 15257  	if c.header_ == nil {
 15258  		c.header_ = make(http.Header)
 15259  	}
 15260  	return c.header_
 15261  }
 15262  
 15263  func (c *MonetizationSubscriptionsArchiveCall) doRequest(alt string) (*http.Response, error) {
 15264  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15265  	var body io.Reader = nil
 15266  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.archivesubscriptionrequest)
 15267  	if err != nil {
 15268  		return nil, err
 15269  	}
 15270  	c.urlParams_.Set("alt", alt)
 15271  	c.urlParams_.Set("prettyPrint", "false")
 15272  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}:archive")
 15273  	urls += "?" + c.urlParams_.Encode()
 15274  	req, err := http.NewRequest("POST", urls, body)
 15275  	if err != nil {
 15276  		return nil, err
 15277  	}
 15278  	req.Header = reqHeaders
 15279  	googleapi.Expand(req.URL, map[string]string{
 15280  		"packageName": c.packageName,
 15281  		"productId":   c.productId,
 15282  	})
 15283  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15284  }
 15285  
 15286  // Do executes the "androidpublisher.monetization.subscriptions.archive" call.
 15287  // Any non-2xx status code is an error. Response headers are in either
 15288  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 15289  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15290  // whether the returned error was because http.StatusNotModified was returned.
 15291  func (c *MonetizationSubscriptionsArchiveCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 15292  	gensupport.SetOptions(c.urlParams_, opts...)
 15293  	res, err := c.doRequest("json")
 15294  	if res != nil && res.StatusCode == http.StatusNotModified {
 15295  		if res.Body != nil {
 15296  			res.Body.Close()
 15297  		}
 15298  		return nil, gensupport.WrapError(&googleapi.Error{
 15299  			Code:   res.StatusCode,
 15300  			Header: res.Header,
 15301  		})
 15302  	}
 15303  	if err != nil {
 15304  		return nil, err
 15305  	}
 15306  	defer googleapi.CloseBody(res)
 15307  	if err := googleapi.CheckResponse(res); err != nil {
 15308  		return nil, gensupport.WrapError(err)
 15309  	}
 15310  	ret := &Subscription{
 15311  		ServerResponse: googleapi.ServerResponse{
 15312  			Header:         res.Header,
 15313  			HTTPStatusCode: res.StatusCode,
 15314  		},
 15315  	}
 15316  	target := &ret
 15317  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15318  		return nil, err
 15319  	}
 15320  	return ret, nil
 15321  }
 15322  
 15323  type MonetizationSubscriptionsBatchGetCall struct {
 15324  	s            *Service
 15325  	packageName  string
 15326  	urlParams_   gensupport.URLParams
 15327  	ifNoneMatch_ string
 15328  	ctx_         context.Context
 15329  	header_      http.Header
 15330  }
 15331  
 15332  // BatchGet: Reads one or more subscriptions.
 15333  //
 15334  //   - packageName: The parent app (package name) for which the subscriptions
 15335  //     should be retrieved. Must be equal to the package_name field on all the
 15336  //     requests.
 15337  func (r *MonetizationSubscriptionsService) BatchGet(packageName string) *MonetizationSubscriptionsBatchGetCall {
 15338  	c := &MonetizationSubscriptionsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15339  	c.packageName = packageName
 15340  	return c
 15341  }
 15342  
 15343  // ProductIds sets the optional parameter "productIds": Required. A list of up
 15344  // to 100 subscription product IDs to retrieve. All the IDs must be different.
 15345  func (c *MonetizationSubscriptionsBatchGetCall) ProductIds(productIds ...string) *MonetizationSubscriptionsBatchGetCall {
 15346  	c.urlParams_.SetMulti("productIds", append([]string{}, productIds...))
 15347  	return c
 15348  }
 15349  
 15350  // Fields allows partial responses to be retrieved. See
 15351  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15352  // details.
 15353  func (c *MonetizationSubscriptionsBatchGetCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBatchGetCall {
 15354  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15355  	return c
 15356  }
 15357  
 15358  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15359  // object's ETag matches the given value. This is useful for getting updates
 15360  // only after the object has changed since the last request.
 15361  func (c *MonetizationSubscriptionsBatchGetCall) IfNoneMatch(entityTag string) *MonetizationSubscriptionsBatchGetCall {
 15362  	c.ifNoneMatch_ = entityTag
 15363  	return c
 15364  }
 15365  
 15366  // Context sets the context to be used in this call's Do method.
 15367  func (c *MonetizationSubscriptionsBatchGetCall) Context(ctx context.Context) *MonetizationSubscriptionsBatchGetCall {
 15368  	c.ctx_ = ctx
 15369  	return c
 15370  }
 15371  
 15372  // Header returns a http.Header that can be modified by the caller to add
 15373  // headers to the request.
 15374  func (c *MonetizationSubscriptionsBatchGetCall) Header() http.Header {
 15375  	if c.header_ == nil {
 15376  		c.header_ = make(http.Header)
 15377  	}
 15378  	return c.header_
 15379  }
 15380  
 15381  func (c *MonetizationSubscriptionsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 15382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15383  	if c.ifNoneMatch_ != "" {
 15384  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15385  	}
 15386  	var body io.Reader = nil
 15387  	c.urlParams_.Set("alt", alt)
 15388  	c.urlParams_.Set("prettyPrint", "false")
 15389  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions:batchGet")
 15390  	urls += "?" + c.urlParams_.Encode()
 15391  	req, err := http.NewRequest("GET", urls, body)
 15392  	if err != nil {
 15393  		return nil, err
 15394  	}
 15395  	req.Header = reqHeaders
 15396  	googleapi.Expand(req.URL, map[string]string{
 15397  		"packageName": c.packageName,
 15398  	})
 15399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15400  }
 15401  
 15402  // Do executes the "androidpublisher.monetization.subscriptions.batchGet" call.
 15403  // Any non-2xx status code is an error. Response headers are in either
 15404  // *BatchGetSubscriptionsResponse.ServerResponse.Header or (if a response was
 15405  // returned at all) in error.(*googleapi.Error).Header. Use
 15406  // googleapi.IsNotModified to check whether the returned error was because
 15407  // http.StatusNotModified was returned.
 15408  func (c *MonetizationSubscriptionsBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetSubscriptionsResponse, error) {
 15409  	gensupport.SetOptions(c.urlParams_, opts...)
 15410  	res, err := c.doRequest("json")
 15411  	if res != nil && res.StatusCode == http.StatusNotModified {
 15412  		if res.Body != nil {
 15413  			res.Body.Close()
 15414  		}
 15415  		return nil, gensupport.WrapError(&googleapi.Error{
 15416  			Code:   res.StatusCode,
 15417  			Header: res.Header,
 15418  		})
 15419  	}
 15420  	if err != nil {
 15421  		return nil, err
 15422  	}
 15423  	defer googleapi.CloseBody(res)
 15424  	if err := googleapi.CheckResponse(res); err != nil {
 15425  		return nil, gensupport.WrapError(err)
 15426  	}
 15427  	ret := &BatchGetSubscriptionsResponse{
 15428  		ServerResponse: googleapi.ServerResponse{
 15429  			Header:         res.Header,
 15430  			HTTPStatusCode: res.StatusCode,
 15431  		},
 15432  	}
 15433  	target := &ret
 15434  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15435  		return nil, err
 15436  	}
 15437  	return ret, nil
 15438  }
 15439  
 15440  type MonetizationSubscriptionsBatchUpdateCall struct {
 15441  	s                               *Service
 15442  	packageName                     string
 15443  	batchupdatesubscriptionsrequest *BatchUpdateSubscriptionsRequest
 15444  	urlParams_                      gensupport.URLParams
 15445  	ctx_                            context.Context
 15446  	header_                         http.Header
 15447  }
 15448  
 15449  // BatchUpdate: Updates a batch of subscriptions. Set the latencyTolerance
 15450  // field on nested requests to
 15451  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 15452  // throughput.
 15453  //
 15454  //   - packageName: The parent app (package name) for which the subscriptions
 15455  //     should be updated. Must be equal to the package_name field on all the
 15456  //     Subscription resources.
 15457  func (r *MonetizationSubscriptionsService) BatchUpdate(packageName string, batchupdatesubscriptionsrequest *BatchUpdateSubscriptionsRequest) *MonetizationSubscriptionsBatchUpdateCall {
 15458  	c := &MonetizationSubscriptionsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15459  	c.packageName = packageName
 15460  	c.batchupdatesubscriptionsrequest = batchupdatesubscriptionsrequest
 15461  	return c
 15462  }
 15463  
 15464  // Fields allows partial responses to be retrieved. See
 15465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15466  // details.
 15467  func (c *MonetizationSubscriptionsBatchUpdateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBatchUpdateCall {
 15468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15469  	return c
 15470  }
 15471  
 15472  // Context sets the context to be used in this call's Do method.
 15473  func (c *MonetizationSubscriptionsBatchUpdateCall) Context(ctx context.Context) *MonetizationSubscriptionsBatchUpdateCall {
 15474  	c.ctx_ = ctx
 15475  	return c
 15476  }
 15477  
 15478  // Header returns a http.Header that can be modified by the caller to add
 15479  // headers to the request.
 15480  func (c *MonetizationSubscriptionsBatchUpdateCall) Header() http.Header {
 15481  	if c.header_ == nil {
 15482  		c.header_ = make(http.Header)
 15483  	}
 15484  	return c.header_
 15485  }
 15486  
 15487  func (c *MonetizationSubscriptionsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 15488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15489  	var body io.Reader = nil
 15490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatesubscriptionsrequest)
 15491  	if err != nil {
 15492  		return nil, err
 15493  	}
 15494  	c.urlParams_.Set("alt", alt)
 15495  	c.urlParams_.Set("prettyPrint", "false")
 15496  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions:batchUpdate")
 15497  	urls += "?" + c.urlParams_.Encode()
 15498  	req, err := http.NewRequest("POST", urls, body)
 15499  	if err != nil {
 15500  		return nil, err
 15501  	}
 15502  	req.Header = reqHeaders
 15503  	googleapi.Expand(req.URL, map[string]string{
 15504  		"packageName": c.packageName,
 15505  	})
 15506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15507  }
 15508  
 15509  // Do executes the "androidpublisher.monetization.subscriptions.batchUpdate" call.
 15510  // Any non-2xx status code is an error. Response headers are in either
 15511  // *BatchUpdateSubscriptionsResponse.ServerResponse.Header or (if a response
 15512  // was returned at all) in error.(*googleapi.Error).Header. Use
 15513  // googleapi.IsNotModified to check whether the returned error was because
 15514  // http.StatusNotModified was returned.
 15515  func (c *MonetizationSubscriptionsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateSubscriptionsResponse, error) {
 15516  	gensupport.SetOptions(c.urlParams_, opts...)
 15517  	res, err := c.doRequest("json")
 15518  	if res != nil && res.StatusCode == http.StatusNotModified {
 15519  		if res.Body != nil {
 15520  			res.Body.Close()
 15521  		}
 15522  		return nil, gensupport.WrapError(&googleapi.Error{
 15523  			Code:   res.StatusCode,
 15524  			Header: res.Header,
 15525  		})
 15526  	}
 15527  	if err != nil {
 15528  		return nil, err
 15529  	}
 15530  	defer googleapi.CloseBody(res)
 15531  	if err := googleapi.CheckResponse(res); err != nil {
 15532  		return nil, gensupport.WrapError(err)
 15533  	}
 15534  	ret := &BatchUpdateSubscriptionsResponse{
 15535  		ServerResponse: googleapi.ServerResponse{
 15536  			Header:         res.Header,
 15537  			HTTPStatusCode: res.StatusCode,
 15538  		},
 15539  	}
 15540  	target := &ret
 15541  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15542  		return nil, err
 15543  	}
 15544  	return ret, nil
 15545  }
 15546  
 15547  type MonetizationSubscriptionsCreateCall struct {
 15548  	s            *Service
 15549  	packageName  string
 15550  	subscription *Subscription
 15551  	urlParams_   gensupport.URLParams
 15552  	ctx_         context.Context
 15553  	header_      http.Header
 15554  }
 15555  
 15556  // Create: Creates a new subscription. Newly added base plans will remain in
 15557  // draft state until activated.
 15558  //
 15559  //   - packageName: The parent app (package name) for which the subscription
 15560  //     should be created. Must be equal to the package_name field on the
 15561  //     Subscription resource.
 15562  func (r *MonetizationSubscriptionsService) Create(packageName string, subscription *Subscription) *MonetizationSubscriptionsCreateCall {
 15563  	c := &MonetizationSubscriptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15564  	c.packageName = packageName
 15565  	c.subscription = subscription
 15566  	return c
 15567  }
 15568  
 15569  // ProductId sets the optional parameter "productId": Required. The ID to use
 15570  // for the subscription. For the requirements on this format, see the
 15571  // documentation of the product_id field on the Subscription resource.
 15572  func (c *MonetizationSubscriptionsCreateCall) ProductId(productId string) *MonetizationSubscriptionsCreateCall {
 15573  	c.urlParams_.Set("productId", productId)
 15574  	return c
 15575  }
 15576  
 15577  // RegionsVersionVersion sets the optional parameter "regionsVersion.version":
 15578  // Required. A string representing the version of available regions being used
 15579  // for the specified resource. Regional prices for the resource have to be
 15580  // specified according to the information published in this article
 15581  // (https://support.google.com/googleplay/android-developer/answer/10532353).
 15582  // Each time the supported locations substantially change, the version will be
 15583  // incremented. Using this field will ensure that creating and updating the
 15584  // resource with an older region's version and set of regional prices and
 15585  // currencies will succeed even though a new version is available. The latest
 15586  // version is 2022/02.
 15587  func (c *MonetizationSubscriptionsCreateCall) RegionsVersionVersion(regionsVersionVersion string) *MonetizationSubscriptionsCreateCall {
 15588  	c.urlParams_.Set("regionsVersion.version", regionsVersionVersion)
 15589  	return c
 15590  }
 15591  
 15592  // Fields allows partial responses to be retrieved. See
 15593  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15594  // details.
 15595  func (c *MonetizationSubscriptionsCreateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsCreateCall {
 15596  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15597  	return c
 15598  }
 15599  
 15600  // Context sets the context to be used in this call's Do method.
 15601  func (c *MonetizationSubscriptionsCreateCall) Context(ctx context.Context) *MonetizationSubscriptionsCreateCall {
 15602  	c.ctx_ = ctx
 15603  	return c
 15604  }
 15605  
 15606  // Header returns a http.Header that can be modified by the caller to add
 15607  // headers to the request.
 15608  func (c *MonetizationSubscriptionsCreateCall) Header() http.Header {
 15609  	if c.header_ == nil {
 15610  		c.header_ = make(http.Header)
 15611  	}
 15612  	return c.header_
 15613  }
 15614  
 15615  func (c *MonetizationSubscriptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 15616  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15617  	var body io.Reader = nil
 15618  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscription)
 15619  	if err != nil {
 15620  		return nil, err
 15621  	}
 15622  	c.urlParams_.Set("alt", alt)
 15623  	c.urlParams_.Set("prettyPrint", "false")
 15624  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions")
 15625  	urls += "?" + c.urlParams_.Encode()
 15626  	req, err := http.NewRequest("POST", urls, body)
 15627  	if err != nil {
 15628  		return nil, err
 15629  	}
 15630  	req.Header = reqHeaders
 15631  	googleapi.Expand(req.URL, map[string]string{
 15632  		"packageName": c.packageName,
 15633  	})
 15634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15635  }
 15636  
 15637  // Do executes the "androidpublisher.monetization.subscriptions.create" call.
 15638  // Any non-2xx status code is an error. Response headers are in either
 15639  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 15640  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15641  // whether the returned error was because http.StatusNotModified was returned.
 15642  func (c *MonetizationSubscriptionsCreateCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 15643  	gensupport.SetOptions(c.urlParams_, opts...)
 15644  	res, err := c.doRequest("json")
 15645  	if res != nil && res.StatusCode == http.StatusNotModified {
 15646  		if res.Body != nil {
 15647  			res.Body.Close()
 15648  		}
 15649  		return nil, gensupport.WrapError(&googleapi.Error{
 15650  			Code:   res.StatusCode,
 15651  			Header: res.Header,
 15652  		})
 15653  	}
 15654  	if err != nil {
 15655  		return nil, err
 15656  	}
 15657  	defer googleapi.CloseBody(res)
 15658  	if err := googleapi.CheckResponse(res); err != nil {
 15659  		return nil, gensupport.WrapError(err)
 15660  	}
 15661  	ret := &Subscription{
 15662  		ServerResponse: googleapi.ServerResponse{
 15663  			Header:         res.Header,
 15664  			HTTPStatusCode: res.StatusCode,
 15665  		},
 15666  	}
 15667  	target := &ret
 15668  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15669  		return nil, err
 15670  	}
 15671  	return ret, nil
 15672  }
 15673  
 15674  type MonetizationSubscriptionsDeleteCall struct {
 15675  	s           *Service
 15676  	packageName string
 15677  	productId   string
 15678  	urlParams_  gensupport.URLParams
 15679  	ctx_        context.Context
 15680  	header_     http.Header
 15681  }
 15682  
 15683  // Delete: Deletes a subscription. A subscription can only be deleted if it has
 15684  // never had a base plan published.
 15685  //
 15686  //   - packageName: The parent app (package name) of the app of the subscription
 15687  //     to delete.
 15688  //   - productId: The unique product ID of the subscription to delete.
 15689  func (r *MonetizationSubscriptionsService) Delete(packageName string, productId string) *MonetizationSubscriptionsDeleteCall {
 15690  	c := &MonetizationSubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15691  	c.packageName = packageName
 15692  	c.productId = productId
 15693  	return c
 15694  }
 15695  
 15696  // Fields allows partial responses to be retrieved. See
 15697  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15698  // details.
 15699  func (c *MonetizationSubscriptionsDeleteCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsDeleteCall {
 15700  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15701  	return c
 15702  }
 15703  
 15704  // Context sets the context to be used in this call's Do method.
 15705  func (c *MonetizationSubscriptionsDeleteCall) Context(ctx context.Context) *MonetizationSubscriptionsDeleteCall {
 15706  	c.ctx_ = ctx
 15707  	return c
 15708  }
 15709  
 15710  // Header returns a http.Header that can be modified by the caller to add
 15711  // headers to the request.
 15712  func (c *MonetizationSubscriptionsDeleteCall) Header() http.Header {
 15713  	if c.header_ == nil {
 15714  		c.header_ = make(http.Header)
 15715  	}
 15716  	return c.header_
 15717  }
 15718  
 15719  func (c *MonetizationSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 15720  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15721  	var body io.Reader = nil
 15722  	c.urlParams_.Set("alt", alt)
 15723  	c.urlParams_.Set("prettyPrint", "false")
 15724  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}")
 15725  	urls += "?" + c.urlParams_.Encode()
 15726  	req, err := http.NewRequest("DELETE", urls, body)
 15727  	if err != nil {
 15728  		return nil, err
 15729  	}
 15730  	req.Header = reqHeaders
 15731  	googleapi.Expand(req.URL, map[string]string{
 15732  		"packageName": c.packageName,
 15733  		"productId":   c.productId,
 15734  	})
 15735  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15736  }
 15737  
 15738  // Do executes the "androidpublisher.monetization.subscriptions.delete" call.
 15739  func (c *MonetizationSubscriptionsDeleteCall) Do(opts ...googleapi.CallOption) error {
 15740  	gensupport.SetOptions(c.urlParams_, opts...)
 15741  	res, err := c.doRequest("json")
 15742  	if err != nil {
 15743  		return err
 15744  	}
 15745  	defer googleapi.CloseBody(res)
 15746  	if err := googleapi.CheckResponse(res); err != nil {
 15747  		return gensupport.WrapError(err)
 15748  	}
 15749  	return nil
 15750  }
 15751  
 15752  type MonetizationSubscriptionsGetCall struct {
 15753  	s            *Service
 15754  	packageName  string
 15755  	productId    string
 15756  	urlParams_   gensupport.URLParams
 15757  	ifNoneMatch_ string
 15758  	ctx_         context.Context
 15759  	header_      http.Header
 15760  }
 15761  
 15762  // Get: Reads a single subscription.
 15763  //
 15764  // - packageName: The parent app (package name) of the subscription to get.
 15765  // - productId: The unique product ID of the subscription to get.
 15766  func (r *MonetizationSubscriptionsService) Get(packageName string, productId string) *MonetizationSubscriptionsGetCall {
 15767  	c := &MonetizationSubscriptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15768  	c.packageName = packageName
 15769  	c.productId = productId
 15770  	return c
 15771  }
 15772  
 15773  // Fields allows partial responses to be retrieved. See
 15774  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15775  // details.
 15776  func (c *MonetizationSubscriptionsGetCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsGetCall {
 15777  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15778  	return c
 15779  }
 15780  
 15781  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15782  // object's ETag matches the given value. This is useful for getting updates
 15783  // only after the object has changed since the last request.
 15784  func (c *MonetizationSubscriptionsGetCall) IfNoneMatch(entityTag string) *MonetizationSubscriptionsGetCall {
 15785  	c.ifNoneMatch_ = entityTag
 15786  	return c
 15787  }
 15788  
 15789  // Context sets the context to be used in this call's Do method.
 15790  func (c *MonetizationSubscriptionsGetCall) Context(ctx context.Context) *MonetizationSubscriptionsGetCall {
 15791  	c.ctx_ = ctx
 15792  	return c
 15793  }
 15794  
 15795  // Header returns a http.Header that can be modified by the caller to add
 15796  // headers to the request.
 15797  func (c *MonetizationSubscriptionsGetCall) Header() http.Header {
 15798  	if c.header_ == nil {
 15799  		c.header_ = make(http.Header)
 15800  	}
 15801  	return c.header_
 15802  }
 15803  
 15804  func (c *MonetizationSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 15805  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15806  	if c.ifNoneMatch_ != "" {
 15807  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15808  	}
 15809  	var body io.Reader = nil
 15810  	c.urlParams_.Set("alt", alt)
 15811  	c.urlParams_.Set("prettyPrint", "false")
 15812  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}")
 15813  	urls += "?" + c.urlParams_.Encode()
 15814  	req, err := http.NewRequest("GET", urls, body)
 15815  	if err != nil {
 15816  		return nil, err
 15817  	}
 15818  	req.Header = reqHeaders
 15819  	googleapi.Expand(req.URL, map[string]string{
 15820  		"packageName": c.packageName,
 15821  		"productId":   c.productId,
 15822  	})
 15823  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15824  }
 15825  
 15826  // Do executes the "androidpublisher.monetization.subscriptions.get" call.
 15827  // Any non-2xx status code is an error. Response headers are in either
 15828  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 15829  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15830  // whether the returned error was because http.StatusNotModified was returned.
 15831  func (c *MonetizationSubscriptionsGetCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 15832  	gensupport.SetOptions(c.urlParams_, opts...)
 15833  	res, err := c.doRequest("json")
 15834  	if res != nil && res.StatusCode == http.StatusNotModified {
 15835  		if res.Body != nil {
 15836  			res.Body.Close()
 15837  		}
 15838  		return nil, gensupport.WrapError(&googleapi.Error{
 15839  			Code:   res.StatusCode,
 15840  			Header: res.Header,
 15841  		})
 15842  	}
 15843  	if err != nil {
 15844  		return nil, err
 15845  	}
 15846  	defer googleapi.CloseBody(res)
 15847  	if err := googleapi.CheckResponse(res); err != nil {
 15848  		return nil, gensupport.WrapError(err)
 15849  	}
 15850  	ret := &Subscription{
 15851  		ServerResponse: googleapi.ServerResponse{
 15852  			Header:         res.Header,
 15853  			HTTPStatusCode: res.StatusCode,
 15854  		},
 15855  	}
 15856  	target := &ret
 15857  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15858  		return nil, err
 15859  	}
 15860  	return ret, nil
 15861  }
 15862  
 15863  type MonetizationSubscriptionsListCall struct {
 15864  	s            *Service
 15865  	packageName  string
 15866  	urlParams_   gensupport.URLParams
 15867  	ifNoneMatch_ string
 15868  	ctx_         context.Context
 15869  	header_      http.Header
 15870  }
 15871  
 15872  // List: Lists all subscriptions under a given app.
 15873  //
 15874  //   - packageName: The parent app (package name) for which the subscriptions
 15875  //     should be read.
 15876  func (r *MonetizationSubscriptionsService) List(packageName string) *MonetizationSubscriptionsListCall {
 15877  	c := &MonetizationSubscriptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15878  	c.packageName = packageName
 15879  	return c
 15880  }
 15881  
 15882  // PageSize sets the optional parameter "pageSize": The maximum number of
 15883  // subscriptions to return. The service may return fewer than this value. If
 15884  // unspecified, at most 50 subscriptions will be returned. The maximum value is
 15885  // 1000; values above 1000 will be coerced to 1000.
 15886  func (c *MonetizationSubscriptionsListCall) PageSize(pageSize int64) *MonetizationSubscriptionsListCall {
 15887  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 15888  	return c
 15889  }
 15890  
 15891  // PageToken sets the optional parameter "pageToken": A page token, received
 15892  // from a previous `ListSubscriptions` call. Provide this to retrieve the
 15893  // subsequent page. When paginating, all other parameters provided to
 15894  // `ListSubscriptions` must match the call that provided the page token.
 15895  func (c *MonetizationSubscriptionsListCall) PageToken(pageToken string) *MonetizationSubscriptionsListCall {
 15896  	c.urlParams_.Set("pageToken", pageToken)
 15897  	return c
 15898  }
 15899  
 15900  // ShowArchived sets the optional parameter "showArchived": Deprecated:
 15901  // subscription archiving is not supported.
 15902  func (c *MonetizationSubscriptionsListCall) ShowArchived(showArchived bool) *MonetizationSubscriptionsListCall {
 15903  	c.urlParams_.Set("showArchived", fmt.Sprint(showArchived))
 15904  	return c
 15905  }
 15906  
 15907  // Fields allows partial responses to be retrieved. See
 15908  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15909  // details.
 15910  func (c *MonetizationSubscriptionsListCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsListCall {
 15911  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15912  	return c
 15913  }
 15914  
 15915  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15916  // object's ETag matches the given value. This is useful for getting updates
 15917  // only after the object has changed since the last request.
 15918  func (c *MonetizationSubscriptionsListCall) IfNoneMatch(entityTag string) *MonetizationSubscriptionsListCall {
 15919  	c.ifNoneMatch_ = entityTag
 15920  	return c
 15921  }
 15922  
 15923  // Context sets the context to be used in this call's Do method.
 15924  func (c *MonetizationSubscriptionsListCall) Context(ctx context.Context) *MonetizationSubscriptionsListCall {
 15925  	c.ctx_ = ctx
 15926  	return c
 15927  }
 15928  
 15929  // Header returns a http.Header that can be modified by the caller to add
 15930  // headers to the request.
 15931  func (c *MonetizationSubscriptionsListCall) Header() http.Header {
 15932  	if c.header_ == nil {
 15933  		c.header_ = make(http.Header)
 15934  	}
 15935  	return c.header_
 15936  }
 15937  
 15938  func (c *MonetizationSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 15939  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15940  	if c.ifNoneMatch_ != "" {
 15941  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15942  	}
 15943  	var body io.Reader = nil
 15944  	c.urlParams_.Set("alt", alt)
 15945  	c.urlParams_.Set("prettyPrint", "false")
 15946  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions")
 15947  	urls += "?" + c.urlParams_.Encode()
 15948  	req, err := http.NewRequest("GET", urls, body)
 15949  	if err != nil {
 15950  		return nil, err
 15951  	}
 15952  	req.Header = reqHeaders
 15953  	googleapi.Expand(req.URL, map[string]string{
 15954  		"packageName": c.packageName,
 15955  	})
 15956  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15957  }
 15958  
 15959  // Do executes the "androidpublisher.monetization.subscriptions.list" call.
 15960  // Any non-2xx status code is an error. Response headers are in either
 15961  // *ListSubscriptionsResponse.ServerResponse.Header or (if a response was
 15962  // returned at all) in error.(*googleapi.Error).Header. Use
 15963  // googleapi.IsNotModified to check whether the returned error was because
 15964  // http.StatusNotModified was returned.
 15965  func (c *MonetizationSubscriptionsListCall) Do(opts ...googleapi.CallOption) (*ListSubscriptionsResponse, error) {
 15966  	gensupport.SetOptions(c.urlParams_, opts...)
 15967  	res, err := c.doRequest("json")
 15968  	if res != nil && res.StatusCode == http.StatusNotModified {
 15969  		if res.Body != nil {
 15970  			res.Body.Close()
 15971  		}
 15972  		return nil, gensupport.WrapError(&googleapi.Error{
 15973  			Code:   res.StatusCode,
 15974  			Header: res.Header,
 15975  		})
 15976  	}
 15977  	if err != nil {
 15978  		return nil, err
 15979  	}
 15980  	defer googleapi.CloseBody(res)
 15981  	if err := googleapi.CheckResponse(res); err != nil {
 15982  		return nil, gensupport.WrapError(err)
 15983  	}
 15984  	ret := &ListSubscriptionsResponse{
 15985  		ServerResponse: googleapi.ServerResponse{
 15986  			Header:         res.Header,
 15987  			HTTPStatusCode: res.StatusCode,
 15988  		},
 15989  	}
 15990  	target := &ret
 15991  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15992  		return nil, err
 15993  	}
 15994  	return ret, nil
 15995  }
 15996  
 15997  // Pages invokes f for each page of results.
 15998  // A non-nil error returned from f will halt the iteration.
 15999  // The provided context supersedes any context provided to the Context method.
 16000  func (c *MonetizationSubscriptionsListCall) Pages(ctx context.Context, f func(*ListSubscriptionsResponse) error) error {
 16001  	c.ctx_ = ctx
 16002  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 16003  	for {
 16004  		x, err := c.Do()
 16005  		if err != nil {
 16006  			return err
 16007  		}
 16008  		if err := f(x); err != nil {
 16009  			return err
 16010  		}
 16011  		if x.NextPageToken == "" {
 16012  			return nil
 16013  		}
 16014  		c.PageToken(x.NextPageToken)
 16015  	}
 16016  }
 16017  
 16018  type MonetizationSubscriptionsPatchCall struct {
 16019  	s            *Service
 16020  	packageName  string
 16021  	productId    string
 16022  	subscription *Subscription
 16023  	urlParams_   gensupport.URLParams
 16024  	ctx_         context.Context
 16025  	header_      http.Header
 16026  }
 16027  
 16028  // Patch: Updates an existing subscription.
 16029  //
 16030  //   - packageName: Immutable. Package name of the parent app.
 16031  //   - productId: Immutable. Unique product ID of the product. Unique within the
 16032  //     parent app. Product IDs must be composed of lower-case letters (a-z),
 16033  //     numbers (0-9), underscores (_) and dots (.). It must start with a
 16034  //     lower-case letter or number, and be between 1 and 40 (inclusive)
 16035  //     characters in length.
 16036  func (r *MonetizationSubscriptionsService) Patch(packageName string, productId string, subscription *Subscription) *MonetizationSubscriptionsPatchCall {
 16037  	c := &MonetizationSubscriptionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16038  	c.packageName = packageName
 16039  	c.productId = productId
 16040  	c.subscription = subscription
 16041  	return c
 16042  }
 16043  
 16044  // AllowMissing sets the optional parameter "allowMissing": If set to true, and
 16045  // the subscription with the given package_name and product_id doesn't exist,
 16046  // the subscription will be created. If a new subscription is created,
 16047  // update_mask is ignored.
 16048  func (c *MonetizationSubscriptionsPatchCall) AllowMissing(allowMissing bool) *MonetizationSubscriptionsPatchCall {
 16049  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
 16050  	return c
 16051  }
 16052  
 16053  // LatencyTolerance sets the optional parameter "latencyTolerance": The latency
 16054  // tolerance for the propagation of this product update. Defaults to
 16055  // latency-sensitive.
 16056  //
 16057  // Possible values:
 16058  //
 16059  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
 16060  //
 16061  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
 16062  //
 16063  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
 16064  //
 16065  // propagate to clients within several minutes on average and up to a few hours
 16066  // in rare cases. Throughput is limited to 7,200 updates per app per hour.
 16067  //
 16068  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
 16069  //
 16070  // propagate to clients within 24 hours. Supports high throughput of up to
 16071  // 720,000 updates per app per hour using batch modification methods.
 16072  func (c *MonetizationSubscriptionsPatchCall) LatencyTolerance(latencyTolerance string) *MonetizationSubscriptionsPatchCall {
 16073  	c.urlParams_.Set("latencyTolerance", latencyTolerance)
 16074  	return c
 16075  }
 16076  
 16077  // RegionsVersionVersion sets the optional parameter "regionsVersion.version":
 16078  // Required. A string representing the version of available regions being used
 16079  // for the specified resource. Regional prices for the resource have to be
 16080  // specified according to the information published in this article
 16081  // (https://support.google.com/googleplay/android-developer/answer/10532353).
 16082  // Each time the supported locations substantially change, the version will be
 16083  // incremented. Using this field will ensure that creating and updating the
 16084  // resource with an older region's version and set of regional prices and
 16085  // currencies will succeed even though a new version is available. The latest
 16086  // version is 2022/02.
 16087  func (c *MonetizationSubscriptionsPatchCall) RegionsVersionVersion(regionsVersionVersion string) *MonetizationSubscriptionsPatchCall {
 16088  	c.urlParams_.Set("regionsVersion.version", regionsVersionVersion)
 16089  	return c
 16090  }
 16091  
 16092  // UpdateMask sets the optional parameter "updateMask": Required. The list of
 16093  // fields to be updated.
 16094  func (c *MonetizationSubscriptionsPatchCall) UpdateMask(updateMask string) *MonetizationSubscriptionsPatchCall {
 16095  	c.urlParams_.Set("updateMask", updateMask)
 16096  	return c
 16097  }
 16098  
 16099  // Fields allows partial responses to be retrieved. See
 16100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16101  // details.
 16102  func (c *MonetizationSubscriptionsPatchCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsPatchCall {
 16103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16104  	return c
 16105  }
 16106  
 16107  // Context sets the context to be used in this call's Do method.
 16108  func (c *MonetizationSubscriptionsPatchCall) Context(ctx context.Context) *MonetizationSubscriptionsPatchCall {
 16109  	c.ctx_ = ctx
 16110  	return c
 16111  }
 16112  
 16113  // Header returns a http.Header that can be modified by the caller to add
 16114  // headers to the request.
 16115  func (c *MonetizationSubscriptionsPatchCall) Header() http.Header {
 16116  	if c.header_ == nil {
 16117  		c.header_ = make(http.Header)
 16118  	}
 16119  	return c.header_
 16120  }
 16121  
 16122  func (c *MonetizationSubscriptionsPatchCall) doRequest(alt string) (*http.Response, error) {
 16123  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16124  	var body io.Reader = nil
 16125  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscription)
 16126  	if err != nil {
 16127  		return nil, err
 16128  	}
 16129  	c.urlParams_.Set("alt", alt)
 16130  	c.urlParams_.Set("prettyPrint", "false")
 16131  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}")
 16132  	urls += "?" + c.urlParams_.Encode()
 16133  	req, err := http.NewRequest("PATCH", urls, body)
 16134  	if err != nil {
 16135  		return nil, err
 16136  	}
 16137  	req.Header = reqHeaders
 16138  	googleapi.Expand(req.URL, map[string]string{
 16139  		"packageName": c.packageName,
 16140  		"productId":   c.productId,
 16141  	})
 16142  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16143  }
 16144  
 16145  // Do executes the "androidpublisher.monetization.subscriptions.patch" call.
 16146  // Any non-2xx status code is an error. Response headers are in either
 16147  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 16148  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16149  // whether the returned error was because http.StatusNotModified was returned.
 16150  func (c *MonetizationSubscriptionsPatchCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 16151  	gensupport.SetOptions(c.urlParams_, opts...)
 16152  	res, err := c.doRequest("json")
 16153  	if res != nil && res.StatusCode == http.StatusNotModified {
 16154  		if res.Body != nil {
 16155  			res.Body.Close()
 16156  		}
 16157  		return nil, gensupport.WrapError(&googleapi.Error{
 16158  			Code:   res.StatusCode,
 16159  			Header: res.Header,
 16160  		})
 16161  	}
 16162  	if err != nil {
 16163  		return nil, err
 16164  	}
 16165  	defer googleapi.CloseBody(res)
 16166  	if err := googleapi.CheckResponse(res); err != nil {
 16167  		return nil, gensupport.WrapError(err)
 16168  	}
 16169  	ret := &Subscription{
 16170  		ServerResponse: googleapi.ServerResponse{
 16171  			Header:         res.Header,
 16172  			HTTPStatusCode: res.StatusCode,
 16173  		},
 16174  	}
 16175  	target := &ret
 16176  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16177  		return nil, err
 16178  	}
 16179  	return ret, nil
 16180  }
 16181  
 16182  type MonetizationSubscriptionsBasePlansActivateCall struct {
 16183  	s                       *Service
 16184  	packageName             string
 16185  	productId               string
 16186  	basePlanId              string
 16187  	activatebaseplanrequest *ActivateBasePlanRequest
 16188  	urlParams_              gensupport.URLParams
 16189  	ctx_                    context.Context
 16190  	header_                 http.Header
 16191  }
 16192  
 16193  // Activate: Activates a base plan. Once activated, base plans will be
 16194  // available to new subscribers.
 16195  //
 16196  // - basePlanId: The unique base plan ID of the base plan to activate.
 16197  // - packageName: The parent app (package name) of the base plan to activate.
 16198  // - productId: The parent subscription (ID) of the base plan to activate.
 16199  func (r *MonetizationSubscriptionsBasePlansService) Activate(packageName string, productId string, basePlanId string, activatebaseplanrequest *ActivateBasePlanRequest) *MonetizationSubscriptionsBasePlansActivateCall {
 16200  	c := &MonetizationSubscriptionsBasePlansActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16201  	c.packageName = packageName
 16202  	c.productId = productId
 16203  	c.basePlanId = basePlanId
 16204  	c.activatebaseplanrequest = activatebaseplanrequest
 16205  	return c
 16206  }
 16207  
 16208  // Fields allows partial responses to be retrieved. See
 16209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16210  // details.
 16211  func (c *MonetizationSubscriptionsBasePlansActivateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansActivateCall {
 16212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16213  	return c
 16214  }
 16215  
 16216  // Context sets the context to be used in this call's Do method.
 16217  func (c *MonetizationSubscriptionsBasePlansActivateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansActivateCall {
 16218  	c.ctx_ = ctx
 16219  	return c
 16220  }
 16221  
 16222  // Header returns a http.Header that can be modified by the caller to add
 16223  // headers to the request.
 16224  func (c *MonetizationSubscriptionsBasePlansActivateCall) Header() http.Header {
 16225  	if c.header_ == nil {
 16226  		c.header_ = make(http.Header)
 16227  	}
 16228  	return c.header_
 16229  }
 16230  
 16231  func (c *MonetizationSubscriptionsBasePlansActivateCall) doRequest(alt string) (*http.Response, error) {
 16232  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16233  	var body io.Reader = nil
 16234  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatebaseplanrequest)
 16235  	if err != nil {
 16236  		return nil, err
 16237  	}
 16238  	c.urlParams_.Set("alt", alt)
 16239  	c.urlParams_.Set("prettyPrint", "false")
 16240  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:activate")
 16241  	urls += "?" + c.urlParams_.Encode()
 16242  	req, err := http.NewRequest("POST", urls, body)
 16243  	if err != nil {
 16244  		return nil, err
 16245  	}
 16246  	req.Header = reqHeaders
 16247  	googleapi.Expand(req.URL, map[string]string{
 16248  		"packageName": c.packageName,
 16249  		"productId":   c.productId,
 16250  		"basePlanId":  c.basePlanId,
 16251  	})
 16252  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16253  }
 16254  
 16255  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.activate" call.
 16256  // Any non-2xx status code is an error. Response headers are in either
 16257  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 16258  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16259  // whether the returned error was because http.StatusNotModified was returned.
 16260  func (c *MonetizationSubscriptionsBasePlansActivateCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 16261  	gensupport.SetOptions(c.urlParams_, opts...)
 16262  	res, err := c.doRequest("json")
 16263  	if res != nil && res.StatusCode == http.StatusNotModified {
 16264  		if res.Body != nil {
 16265  			res.Body.Close()
 16266  		}
 16267  		return nil, gensupport.WrapError(&googleapi.Error{
 16268  			Code:   res.StatusCode,
 16269  			Header: res.Header,
 16270  		})
 16271  	}
 16272  	if err != nil {
 16273  		return nil, err
 16274  	}
 16275  	defer googleapi.CloseBody(res)
 16276  	if err := googleapi.CheckResponse(res); err != nil {
 16277  		return nil, gensupport.WrapError(err)
 16278  	}
 16279  	ret := &Subscription{
 16280  		ServerResponse: googleapi.ServerResponse{
 16281  			Header:         res.Header,
 16282  			HTTPStatusCode: res.StatusCode,
 16283  		},
 16284  	}
 16285  	target := &ret
 16286  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16287  		return nil, err
 16288  	}
 16289  	return ret, nil
 16290  }
 16291  
 16292  type MonetizationSubscriptionsBasePlansBatchMigratePricesCall struct {
 16293  	s                                 *Service
 16294  	packageName                       string
 16295  	productId                         string
 16296  	batchmigratebaseplanpricesrequest *BatchMigrateBasePlanPricesRequest
 16297  	urlParams_                        gensupport.URLParams
 16298  	ctx_                              context.Context
 16299  	header_                           http.Header
 16300  }
 16301  
 16302  // BatchMigratePrices: Batch variant of the MigrateBasePlanPrices endpoint. Set
 16303  // the latencyTolerance field on nested requests to
 16304  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 16305  // throughput.
 16306  //
 16307  //   - packageName: The parent app (package name) for which the subscriptions
 16308  //     should be created or updated. Must be equal to the package_name field on
 16309  //     all the Subscription resources.
 16310  //   - productId: The product ID of the parent subscription, if all updated
 16311  //     offers belong to the same subscription. If this batch update spans
 16312  //     multiple subscriptions, set this field to "-". Must be set.
 16313  func (r *MonetizationSubscriptionsBasePlansService) BatchMigratePrices(packageName string, productId string, batchmigratebaseplanpricesrequest *BatchMigrateBasePlanPricesRequest) *MonetizationSubscriptionsBasePlansBatchMigratePricesCall {
 16314  	c := &MonetizationSubscriptionsBasePlansBatchMigratePricesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16315  	c.packageName = packageName
 16316  	c.productId = productId
 16317  	c.batchmigratebaseplanpricesrequest = batchmigratebaseplanpricesrequest
 16318  	return c
 16319  }
 16320  
 16321  // Fields allows partial responses to be retrieved. See
 16322  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16323  // details.
 16324  func (c *MonetizationSubscriptionsBasePlansBatchMigratePricesCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansBatchMigratePricesCall {
 16325  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16326  	return c
 16327  }
 16328  
 16329  // Context sets the context to be used in this call's Do method.
 16330  func (c *MonetizationSubscriptionsBasePlansBatchMigratePricesCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansBatchMigratePricesCall {
 16331  	c.ctx_ = ctx
 16332  	return c
 16333  }
 16334  
 16335  // Header returns a http.Header that can be modified by the caller to add
 16336  // headers to the request.
 16337  func (c *MonetizationSubscriptionsBasePlansBatchMigratePricesCall) Header() http.Header {
 16338  	if c.header_ == nil {
 16339  		c.header_ = make(http.Header)
 16340  	}
 16341  	return c.header_
 16342  }
 16343  
 16344  func (c *MonetizationSubscriptionsBasePlansBatchMigratePricesCall) doRequest(alt string) (*http.Response, error) {
 16345  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16346  	var body io.Reader = nil
 16347  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchmigratebaseplanpricesrequest)
 16348  	if err != nil {
 16349  		return nil, err
 16350  	}
 16351  	c.urlParams_.Set("alt", alt)
 16352  	c.urlParams_.Set("prettyPrint", "false")
 16353  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans:batchMigratePrices")
 16354  	urls += "?" + c.urlParams_.Encode()
 16355  	req, err := http.NewRequest("POST", urls, body)
 16356  	if err != nil {
 16357  		return nil, err
 16358  	}
 16359  	req.Header = reqHeaders
 16360  	googleapi.Expand(req.URL, map[string]string{
 16361  		"packageName": c.packageName,
 16362  		"productId":   c.productId,
 16363  	})
 16364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16365  }
 16366  
 16367  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.batchMigratePrices" call.
 16368  // Any non-2xx status code is an error. Response headers are in either
 16369  // *BatchMigrateBasePlanPricesResponse.ServerResponse.Header or (if a response
 16370  // was returned at all) in error.(*googleapi.Error).Header. Use
 16371  // googleapi.IsNotModified to check whether the returned error was because
 16372  // http.StatusNotModified was returned.
 16373  func (c *MonetizationSubscriptionsBasePlansBatchMigratePricesCall) Do(opts ...googleapi.CallOption) (*BatchMigrateBasePlanPricesResponse, error) {
 16374  	gensupport.SetOptions(c.urlParams_, opts...)
 16375  	res, err := c.doRequest("json")
 16376  	if res != nil && res.StatusCode == http.StatusNotModified {
 16377  		if res.Body != nil {
 16378  			res.Body.Close()
 16379  		}
 16380  		return nil, gensupport.WrapError(&googleapi.Error{
 16381  			Code:   res.StatusCode,
 16382  			Header: res.Header,
 16383  		})
 16384  	}
 16385  	if err != nil {
 16386  		return nil, err
 16387  	}
 16388  	defer googleapi.CloseBody(res)
 16389  	if err := googleapi.CheckResponse(res); err != nil {
 16390  		return nil, gensupport.WrapError(err)
 16391  	}
 16392  	ret := &BatchMigrateBasePlanPricesResponse{
 16393  		ServerResponse: googleapi.ServerResponse{
 16394  			Header:         res.Header,
 16395  			HTTPStatusCode: res.StatusCode,
 16396  		},
 16397  	}
 16398  	target := &ret
 16399  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16400  		return nil, err
 16401  	}
 16402  	return ret, nil
 16403  }
 16404  
 16405  type MonetizationSubscriptionsBasePlansBatchUpdateStatesCall struct {
 16406  	s                                *Service
 16407  	packageName                      string
 16408  	productId                        string
 16409  	batchupdatebaseplanstatesrequest *BatchUpdateBasePlanStatesRequest
 16410  	urlParams_                       gensupport.URLParams
 16411  	ctx_                             context.Context
 16412  	header_                          http.Header
 16413  }
 16414  
 16415  // BatchUpdateStates: Activates or deactivates base plans across one or
 16416  // multiple subscriptions. Set the latencyTolerance field on nested requests to
 16417  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 16418  // throughput.
 16419  //
 16420  //   - packageName: The parent app (package name) of the updated base plans.
 16421  //   - productId: The product ID of the parent subscription, if all updated base
 16422  //     plans belong to the same subscription. If this batch update spans multiple
 16423  //     subscriptions, set this field to "-". Must be set.
 16424  func (r *MonetizationSubscriptionsBasePlansService) BatchUpdateStates(packageName string, productId string, batchupdatebaseplanstatesrequest *BatchUpdateBasePlanStatesRequest) *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall {
 16425  	c := &MonetizationSubscriptionsBasePlansBatchUpdateStatesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16426  	c.packageName = packageName
 16427  	c.productId = productId
 16428  	c.batchupdatebaseplanstatesrequest = batchupdatebaseplanstatesrequest
 16429  	return c
 16430  }
 16431  
 16432  // Fields allows partial responses to be retrieved. See
 16433  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16434  // details.
 16435  func (c *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall {
 16436  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16437  	return c
 16438  }
 16439  
 16440  // Context sets the context to be used in this call's Do method.
 16441  func (c *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall {
 16442  	c.ctx_ = ctx
 16443  	return c
 16444  }
 16445  
 16446  // Header returns a http.Header that can be modified by the caller to add
 16447  // headers to the request.
 16448  func (c *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall) Header() http.Header {
 16449  	if c.header_ == nil {
 16450  		c.header_ = make(http.Header)
 16451  	}
 16452  	return c.header_
 16453  }
 16454  
 16455  func (c *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall) doRequest(alt string) (*http.Response, error) {
 16456  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16457  	var body io.Reader = nil
 16458  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatebaseplanstatesrequest)
 16459  	if err != nil {
 16460  		return nil, err
 16461  	}
 16462  	c.urlParams_.Set("alt", alt)
 16463  	c.urlParams_.Set("prettyPrint", "false")
 16464  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans:batchUpdateStates")
 16465  	urls += "?" + c.urlParams_.Encode()
 16466  	req, err := http.NewRequest("POST", urls, body)
 16467  	if err != nil {
 16468  		return nil, err
 16469  	}
 16470  	req.Header = reqHeaders
 16471  	googleapi.Expand(req.URL, map[string]string{
 16472  		"packageName": c.packageName,
 16473  		"productId":   c.productId,
 16474  	})
 16475  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16476  }
 16477  
 16478  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.batchUpdateStates" call.
 16479  // Any non-2xx status code is an error. Response headers are in either
 16480  // *BatchUpdateBasePlanStatesResponse.ServerResponse.Header or (if a response
 16481  // was returned at all) in error.(*googleapi.Error).Header. Use
 16482  // googleapi.IsNotModified to check whether the returned error was because
 16483  // http.StatusNotModified was returned.
 16484  func (c *MonetizationSubscriptionsBasePlansBatchUpdateStatesCall) Do(opts ...googleapi.CallOption) (*BatchUpdateBasePlanStatesResponse, error) {
 16485  	gensupport.SetOptions(c.urlParams_, opts...)
 16486  	res, err := c.doRequest("json")
 16487  	if res != nil && res.StatusCode == http.StatusNotModified {
 16488  		if res.Body != nil {
 16489  			res.Body.Close()
 16490  		}
 16491  		return nil, gensupport.WrapError(&googleapi.Error{
 16492  			Code:   res.StatusCode,
 16493  			Header: res.Header,
 16494  		})
 16495  	}
 16496  	if err != nil {
 16497  		return nil, err
 16498  	}
 16499  	defer googleapi.CloseBody(res)
 16500  	if err := googleapi.CheckResponse(res); err != nil {
 16501  		return nil, gensupport.WrapError(err)
 16502  	}
 16503  	ret := &BatchUpdateBasePlanStatesResponse{
 16504  		ServerResponse: googleapi.ServerResponse{
 16505  			Header:         res.Header,
 16506  			HTTPStatusCode: res.StatusCode,
 16507  		},
 16508  	}
 16509  	target := &ret
 16510  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16511  		return nil, err
 16512  	}
 16513  	return ret, nil
 16514  }
 16515  
 16516  type MonetizationSubscriptionsBasePlansDeactivateCall struct {
 16517  	s                         *Service
 16518  	packageName               string
 16519  	productId                 string
 16520  	basePlanId                string
 16521  	deactivatebaseplanrequest *DeactivateBasePlanRequest
 16522  	urlParams_                gensupport.URLParams
 16523  	ctx_                      context.Context
 16524  	header_                   http.Header
 16525  }
 16526  
 16527  // Deactivate: Deactivates a base plan. Once deactivated, the base plan will
 16528  // become unavailable to new subscribers, but existing subscribers will
 16529  // maintain their subscription
 16530  //
 16531  // - basePlanId: The unique base plan ID of the base plan to deactivate.
 16532  // - packageName: The parent app (package name) of the base plan to deactivate.
 16533  // - productId: The parent subscription (ID) of the base plan to deactivate.
 16534  func (r *MonetizationSubscriptionsBasePlansService) Deactivate(packageName string, productId string, basePlanId string, deactivatebaseplanrequest *DeactivateBasePlanRequest) *MonetizationSubscriptionsBasePlansDeactivateCall {
 16535  	c := &MonetizationSubscriptionsBasePlansDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16536  	c.packageName = packageName
 16537  	c.productId = productId
 16538  	c.basePlanId = basePlanId
 16539  	c.deactivatebaseplanrequest = deactivatebaseplanrequest
 16540  	return c
 16541  }
 16542  
 16543  // Fields allows partial responses to be retrieved. See
 16544  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16545  // details.
 16546  func (c *MonetizationSubscriptionsBasePlansDeactivateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansDeactivateCall {
 16547  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16548  	return c
 16549  }
 16550  
 16551  // Context sets the context to be used in this call's Do method.
 16552  func (c *MonetizationSubscriptionsBasePlansDeactivateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansDeactivateCall {
 16553  	c.ctx_ = ctx
 16554  	return c
 16555  }
 16556  
 16557  // Header returns a http.Header that can be modified by the caller to add
 16558  // headers to the request.
 16559  func (c *MonetizationSubscriptionsBasePlansDeactivateCall) Header() http.Header {
 16560  	if c.header_ == nil {
 16561  		c.header_ = make(http.Header)
 16562  	}
 16563  	return c.header_
 16564  }
 16565  
 16566  func (c *MonetizationSubscriptionsBasePlansDeactivateCall) doRequest(alt string) (*http.Response, error) {
 16567  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16568  	var body io.Reader = nil
 16569  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatebaseplanrequest)
 16570  	if err != nil {
 16571  		return nil, err
 16572  	}
 16573  	c.urlParams_.Set("alt", alt)
 16574  	c.urlParams_.Set("prettyPrint", "false")
 16575  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:deactivate")
 16576  	urls += "?" + c.urlParams_.Encode()
 16577  	req, err := http.NewRequest("POST", urls, body)
 16578  	if err != nil {
 16579  		return nil, err
 16580  	}
 16581  	req.Header = reqHeaders
 16582  	googleapi.Expand(req.URL, map[string]string{
 16583  		"packageName": c.packageName,
 16584  		"productId":   c.productId,
 16585  		"basePlanId":  c.basePlanId,
 16586  	})
 16587  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16588  }
 16589  
 16590  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.deactivate" call.
 16591  // Any non-2xx status code is an error. Response headers are in either
 16592  // *Subscription.ServerResponse.Header or (if a response was returned at all)
 16593  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16594  // whether the returned error was because http.StatusNotModified was returned.
 16595  func (c *MonetizationSubscriptionsBasePlansDeactivateCall) Do(opts ...googleapi.CallOption) (*Subscription, error) {
 16596  	gensupport.SetOptions(c.urlParams_, opts...)
 16597  	res, err := c.doRequest("json")
 16598  	if res != nil && res.StatusCode == http.StatusNotModified {
 16599  		if res.Body != nil {
 16600  			res.Body.Close()
 16601  		}
 16602  		return nil, gensupport.WrapError(&googleapi.Error{
 16603  			Code:   res.StatusCode,
 16604  			Header: res.Header,
 16605  		})
 16606  	}
 16607  	if err != nil {
 16608  		return nil, err
 16609  	}
 16610  	defer googleapi.CloseBody(res)
 16611  	if err := googleapi.CheckResponse(res); err != nil {
 16612  		return nil, gensupport.WrapError(err)
 16613  	}
 16614  	ret := &Subscription{
 16615  		ServerResponse: googleapi.ServerResponse{
 16616  			Header:         res.Header,
 16617  			HTTPStatusCode: res.StatusCode,
 16618  		},
 16619  	}
 16620  	target := &ret
 16621  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16622  		return nil, err
 16623  	}
 16624  	return ret, nil
 16625  }
 16626  
 16627  type MonetizationSubscriptionsBasePlansDeleteCall struct {
 16628  	s           *Service
 16629  	packageName string
 16630  	productId   string
 16631  	basePlanId  string
 16632  	urlParams_  gensupport.URLParams
 16633  	ctx_        context.Context
 16634  	header_     http.Header
 16635  }
 16636  
 16637  // Delete: Deletes a base plan. Can only be done for draft base plans. This
 16638  // action is irreversible.
 16639  //
 16640  // - basePlanId: The unique offer ID of the base plan to delete.
 16641  // - packageName: The parent app (package name) of the base plan to delete.
 16642  // - productId: The parent subscription (ID) of the base plan to delete.
 16643  func (r *MonetizationSubscriptionsBasePlansService) Delete(packageName string, productId string, basePlanId string) *MonetizationSubscriptionsBasePlansDeleteCall {
 16644  	c := &MonetizationSubscriptionsBasePlansDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16645  	c.packageName = packageName
 16646  	c.productId = productId
 16647  	c.basePlanId = basePlanId
 16648  	return c
 16649  }
 16650  
 16651  // Fields allows partial responses to be retrieved. See
 16652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16653  // details.
 16654  func (c *MonetizationSubscriptionsBasePlansDeleteCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansDeleteCall {
 16655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16656  	return c
 16657  }
 16658  
 16659  // Context sets the context to be used in this call's Do method.
 16660  func (c *MonetizationSubscriptionsBasePlansDeleteCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansDeleteCall {
 16661  	c.ctx_ = ctx
 16662  	return c
 16663  }
 16664  
 16665  // Header returns a http.Header that can be modified by the caller to add
 16666  // headers to the request.
 16667  func (c *MonetizationSubscriptionsBasePlansDeleteCall) Header() http.Header {
 16668  	if c.header_ == nil {
 16669  		c.header_ = make(http.Header)
 16670  	}
 16671  	return c.header_
 16672  }
 16673  
 16674  func (c *MonetizationSubscriptionsBasePlansDeleteCall) doRequest(alt string) (*http.Response, error) {
 16675  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16676  	var body io.Reader = nil
 16677  	c.urlParams_.Set("alt", alt)
 16678  	c.urlParams_.Set("prettyPrint", "false")
 16679  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}")
 16680  	urls += "?" + c.urlParams_.Encode()
 16681  	req, err := http.NewRequest("DELETE", urls, body)
 16682  	if err != nil {
 16683  		return nil, err
 16684  	}
 16685  	req.Header = reqHeaders
 16686  	googleapi.Expand(req.URL, map[string]string{
 16687  		"packageName": c.packageName,
 16688  		"productId":   c.productId,
 16689  		"basePlanId":  c.basePlanId,
 16690  	})
 16691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16692  }
 16693  
 16694  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.delete" call.
 16695  func (c *MonetizationSubscriptionsBasePlansDeleteCall) Do(opts ...googleapi.CallOption) error {
 16696  	gensupport.SetOptions(c.urlParams_, opts...)
 16697  	res, err := c.doRequest("json")
 16698  	if err != nil {
 16699  		return err
 16700  	}
 16701  	defer googleapi.CloseBody(res)
 16702  	if err := googleapi.CheckResponse(res); err != nil {
 16703  		return gensupport.WrapError(err)
 16704  	}
 16705  	return nil
 16706  }
 16707  
 16708  type MonetizationSubscriptionsBasePlansMigratePricesCall struct {
 16709  	s                            *Service
 16710  	packageName                  string
 16711  	productId                    string
 16712  	basePlanId                   string
 16713  	migratebaseplanpricesrequest *MigrateBasePlanPricesRequest
 16714  	urlParams_                   gensupport.URLParams
 16715  	ctx_                         context.Context
 16716  	header_                      http.Header
 16717  }
 16718  
 16719  // MigratePrices: Migrates subscribers who are receiving an historical
 16720  // subscription price to the currently-offered price for the specified region.
 16721  // Requests will cause price change notifications to be sent to users who are
 16722  // currently receiving an historical price older than the supplied timestamp.
 16723  // Subscribers who do not agree to the new price will have their subscription
 16724  // ended at the next renewal.
 16725  //
 16726  //   - basePlanId: The unique base plan ID of the base plan to update prices on.
 16727  //   - packageName: Package name of the parent app. Must be equal to the
 16728  //     package_name field on the Subscription resource.
 16729  //   - productId: The ID of the subscription to update. Must be equal to the
 16730  //     product_id field on the Subscription resource.
 16731  func (r *MonetizationSubscriptionsBasePlansService) MigratePrices(packageName string, productId string, basePlanId string, migratebaseplanpricesrequest *MigrateBasePlanPricesRequest) *MonetizationSubscriptionsBasePlansMigratePricesCall {
 16732  	c := &MonetizationSubscriptionsBasePlansMigratePricesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16733  	c.packageName = packageName
 16734  	c.productId = productId
 16735  	c.basePlanId = basePlanId
 16736  	c.migratebaseplanpricesrequest = migratebaseplanpricesrequest
 16737  	return c
 16738  }
 16739  
 16740  // Fields allows partial responses to be retrieved. See
 16741  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16742  // details.
 16743  func (c *MonetizationSubscriptionsBasePlansMigratePricesCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansMigratePricesCall {
 16744  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16745  	return c
 16746  }
 16747  
 16748  // Context sets the context to be used in this call's Do method.
 16749  func (c *MonetizationSubscriptionsBasePlansMigratePricesCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansMigratePricesCall {
 16750  	c.ctx_ = ctx
 16751  	return c
 16752  }
 16753  
 16754  // Header returns a http.Header that can be modified by the caller to add
 16755  // headers to the request.
 16756  func (c *MonetizationSubscriptionsBasePlansMigratePricesCall) Header() http.Header {
 16757  	if c.header_ == nil {
 16758  		c.header_ = make(http.Header)
 16759  	}
 16760  	return c.header_
 16761  }
 16762  
 16763  func (c *MonetizationSubscriptionsBasePlansMigratePricesCall) doRequest(alt string) (*http.Response, error) {
 16764  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16765  	var body io.Reader = nil
 16766  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.migratebaseplanpricesrequest)
 16767  	if err != nil {
 16768  		return nil, err
 16769  	}
 16770  	c.urlParams_.Set("alt", alt)
 16771  	c.urlParams_.Set("prettyPrint", "false")
 16772  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:migratePrices")
 16773  	urls += "?" + c.urlParams_.Encode()
 16774  	req, err := http.NewRequest("POST", urls, body)
 16775  	if err != nil {
 16776  		return nil, err
 16777  	}
 16778  	req.Header = reqHeaders
 16779  	googleapi.Expand(req.URL, map[string]string{
 16780  		"packageName": c.packageName,
 16781  		"productId":   c.productId,
 16782  		"basePlanId":  c.basePlanId,
 16783  	})
 16784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16785  }
 16786  
 16787  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.migratePrices" call.
 16788  // Any non-2xx status code is an error. Response headers are in either
 16789  // *MigrateBasePlanPricesResponse.ServerResponse.Header or (if a response was
 16790  // returned at all) in error.(*googleapi.Error).Header. Use
 16791  // googleapi.IsNotModified to check whether the returned error was because
 16792  // http.StatusNotModified was returned.
 16793  func (c *MonetizationSubscriptionsBasePlansMigratePricesCall) Do(opts ...googleapi.CallOption) (*MigrateBasePlanPricesResponse, error) {
 16794  	gensupport.SetOptions(c.urlParams_, opts...)
 16795  	res, err := c.doRequest("json")
 16796  	if res != nil && res.StatusCode == http.StatusNotModified {
 16797  		if res.Body != nil {
 16798  			res.Body.Close()
 16799  		}
 16800  		return nil, gensupport.WrapError(&googleapi.Error{
 16801  			Code:   res.StatusCode,
 16802  			Header: res.Header,
 16803  		})
 16804  	}
 16805  	if err != nil {
 16806  		return nil, err
 16807  	}
 16808  	defer googleapi.CloseBody(res)
 16809  	if err := googleapi.CheckResponse(res); err != nil {
 16810  		return nil, gensupport.WrapError(err)
 16811  	}
 16812  	ret := &MigrateBasePlanPricesResponse{
 16813  		ServerResponse: googleapi.ServerResponse{
 16814  			Header:         res.Header,
 16815  			HTTPStatusCode: res.StatusCode,
 16816  		},
 16817  	}
 16818  	target := &ret
 16819  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16820  		return nil, err
 16821  	}
 16822  	return ret, nil
 16823  }
 16824  
 16825  type MonetizationSubscriptionsBasePlansOffersActivateCall struct {
 16826  	s                                *Service
 16827  	packageName                      string
 16828  	productId                        string
 16829  	basePlanId                       string
 16830  	offerId                          string
 16831  	activatesubscriptionofferrequest *ActivateSubscriptionOfferRequest
 16832  	urlParams_                       gensupport.URLParams
 16833  	ctx_                             context.Context
 16834  	header_                          http.Header
 16835  }
 16836  
 16837  // Activate: Activates a subscription offer. Once activated, subscription
 16838  // offers will be available to new subscribers.
 16839  //
 16840  // - basePlanId: The parent base plan (ID) of the offer to activate.
 16841  // - offerId: The unique offer ID of the offer to activate.
 16842  // - packageName: The parent app (package name) of the offer to activate.
 16843  // - productId: The parent subscription (ID) of the offer to activate.
 16844  func (r *MonetizationSubscriptionsBasePlansOffersService) Activate(packageName string, productId string, basePlanId string, offerId string, activatesubscriptionofferrequest *ActivateSubscriptionOfferRequest) *MonetizationSubscriptionsBasePlansOffersActivateCall {
 16845  	c := &MonetizationSubscriptionsBasePlansOffersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16846  	c.packageName = packageName
 16847  	c.productId = productId
 16848  	c.basePlanId = basePlanId
 16849  	c.offerId = offerId
 16850  	c.activatesubscriptionofferrequest = activatesubscriptionofferrequest
 16851  	return c
 16852  }
 16853  
 16854  // Fields allows partial responses to be retrieved. See
 16855  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16856  // details.
 16857  func (c *MonetizationSubscriptionsBasePlansOffersActivateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersActivateCall {
 16858  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16859  	return c
 16860  }
 16861  
 16862  // Context sets the context to be used in this call's Do method.
 16863  func (c *MonetizationSubscriptionsBasePlansOffersActivateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersActivateCall {
 16864  	c.ctx_ = ctx
 16865  	return c
 16866  }
 16867  
 16868  // Header returns a http.Header that can be modified by the caller to add
 16869  // headers to the request.
 16870  func (c *MonetizationSubscriptionsBasePlansOffersActivateCall) Header() http.Header {
 16871  	if c.header_ == nil {
 16872  		c.header_ = make(http.Header)
 16873  	}
 16874  	return c.header_
 16875  }
 16876  
 16877  func (c *MonetizationSubscriptionsBasePlansOffersActivateCall) doRequest(alt string) (*http.Response, error) {
 16878  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16879  	var body io.Reader = nil
 16880  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatesubscriptionofferrequest)
 16881  	if err != nil {
 16882  		return nil, err
 16883  	}
 16884  	c.urlParams_.Set("alt", alt)
 16885  	c.urlParams_.Set("prettyPrint", "false")
 16886  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:activate")
 16887  	urls += "?" + c.urlParams_.Encode()
 16888  	req, err := http.NewRequest("POST", urls, body)
 16889  	if err != nil {
 16890  		return nil, err
 16891  	}
 16892  	req.Header = reqHeaders
 16893  	googleapi.Expand(req.URL, map[string]string{
 16894  		"packageName": c.packageName,
 16895  		"productId":   c.productId,
 16896  		"basePlanId":  c.basePlanId,
 16897  		"offerId":     c.offerId,
 16898  	})
 16899  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16900  }
 16901  
 16902  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.activate" call.
 16903  // Any non-2xx status code is an error. Response headers are in either
 16904  // *SubscriptionOffer.ServerResponse.Header or (if a response was returned at
 16905  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16906  // check whether the returned error was because http.StatusNotModified was
 16907  // returned.
 16908  func (c *MonetizationSubscriptionsBasePlansOffersActivateCall) Do(opts ...googleapi.CallOption) (*SubscriptionOffer, error) {
 16909  	gensupport.SetOptions(c.urlParams_, opts...)
 16910  	res, err := c.doRequest("json")
 16911  	if res != nil && res.StatusCode == http.StatusNotModified {
 16912  		if res.Body != nil {
 16913  			res.Body.Close()
 16914  		}
 16915  		return nil, gensupport.WrapError(&googleapi.Error{
 16916  			Code:   res.StatusCode,
 16917  			Header: res.Header,
 16918  		})
 16919  	}
 16920  	if err != nil {
 16921  		return nil, err
 16922  	}
 16923  	defer googleapi.CloseBody(res)
 16924  	if err := googleapi.CheckResponse(res); err != nil {
 16925  		return nil, gensupport.WrapError(err)
 16926  	}
 16927  	ret := &SubscriptionOffer{
 16928  		ServerResponse: googleapi.ServerResponse{
 16929  			Header:         res.Header,
 16930  			HTTPStatusCode: res.StatusCode,
 16931  		},
 16932  	}
 16933  	target := &ret
 16934  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16935  		return nil, err
 16936  	}
 16937  	return ret, nil
 16938  }
 16939  
 16940  type MonetizationSubscriptionsBasePlansOffersBatchGetCall struct {
 16941  	s                                 *Service
 16942  	packageName                       string
 16943  	productId                         string
 16944  	basePlanId                        string
 16945  	batchgetsubscriptionoffersrequest *BatchGetSubscriptionOffersRequest
 16946  	urlParams_                        gensupport.URLParams
 16947  	ctx_                              context.Context
 16948  	header_                           http.Header
 16949  }
 16950  
 16951  // BatchGet: Reads one or more subscription offers.
 16952  //
 16953  //   - basePlanId: The parent base plan (ID) for which the offers should be read.
 16954  //     May be specified as '-' to read offers from multiple base plans.
 16955  //   - packageName: The parent app (package name) for which the subscriptions
 16956  //     should be created or updated. Must be equal to the package_name field on
 16957  //     all the requests.
 16958  //   - productId: The product ID of the parent subscription, if all updated
 16959  //     offers belong to the same subscription. If this request spans multiple
 16960  //     subscriptions, set this field to "-". Must be set.
 16961  func (r *MonetizationSubscriptionsBasePlansOffersService) BatchGet(packageName string, productId string, basePlanId string, batchgetsubscriptionoffersrequest *BatchGetSubscriptionOffersRequest) *MonetizationSubscriptionsBasePlansOffersBatchGetCall {
 16962  	c := &MonetizationSubscriptionsBasePlansOffersBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16963  	c.packageName = packageName
 16964  	c.productId = productId
 16965  	c.basePlanId = basePlanId
 16966  	c.batchgetsubscriptionoffersrequest = batchgetsubscriptionoffersrequest
 16967  	return c
 16968  }
 16969  
 16970  // Fields allows partial responses to be retrieved. See
 16971  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16972  // details.
 16973  func (c *MonetizationSubscriptionsBasePlansOffersBatchGetCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersBatchGetCall {
 16974  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16975  	return c
 16976  }
 16977  
 16978  // Context sets the context to be used in this call's Do method.
 16979  func (c *MonetizationSubscriptionsBasePlansOffersBatchGetCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersBatchGetCall {
 16980  	c.ctx_ = ctx
 16981  	return c
 16982  }
 16983  
 16984  // Header returns a http.Header that can be modified by the caller to add
 16985  // headers to the request.
 16986  func (c *MonetizationSubscriptionsBasePlansOffersBatchGetCall) Header() http.Header {
 16987  	if c.header_ == nil {
 16988  		c.header_ = make(http.Header)
 16989  	}
 16990  	return c.header_
 16991  }
 16992  
 16993  func (c *MonetizationSubscriptionsBasePlansOffersBatchGetCall) doRequest(alt string) (*http.Response, error) {
 16994  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16995  	var body io.Reader = nil
 16996  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchgetsubscriptionoffersrequest)
 16997  	if err != nil {
 16998  		return nil, err
 16999  	}
 17000  	c.urlParams_.Set("alt", alt)
 17001  	c.urlParams_.Set("prettyPrint", "false")
 17002  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers:batchGet")
 17003  	urls += "?" + c.urlParams_.Encode()
 17004  	req, err := http.NewRequest("POST", urls, body)
 17005  	if err != nil {
 17006  		return nil, err
 17007  	}
 17008  	req.Header = reqHeaders
 17009  	googleapi.Expand(req.URL, map[string]string{
 17010  		"packageName": c.packageName,
 17011  		"productId":   c.productId,
 17012  		"basePlanId":  c.basePlanId,
 17013  	})
 17014  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17015  }
 17016  
 17017  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.batchGet" call.
 17018  // Any non-2xx status code is an error. Response headers are in either
 17019  // *BatchGetSubscriptionOffersResponse.ServerResponse.Header or (if a response
 17020  // was returned at all) in error.(*googleapi.Error).Header. Use
 17021  // googleapi.IsNotModified to check whether the returned error was because
 17022  // http.StatusNotModified was returned.
 17023  func (c *MonetizationSubscriptionsBasePlansOffersBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetSubscriptionOffersResponse, error) {
 17024  	gensupport.SetOptions(c.urlParams_, opts...)
 17025  	res, err := c.doRequest("json")
 17026  	if res != nil && res.StatusCode == http.StatusNotModified {
 17027  		if res.Body != nil {
 17028  			res.Body.Close()
 17029  		}
 17030  		return nil, gensupport.WrapError(&googleapi.Error{
 17031  			Code:   res.StatusCode,
 17032  			Header: res.Header,
 17033  		})
 17034  	}
 17035  	if err != nil {
 17036  		return nil, err
 17037  	}
 17038  	defer googleapi.CloseBody(res)
 17039  	if err := googleapi.CheckResponse(res); err != nil {
 17040  		return nil, gensupport.WrapError(err)
 17041  	}
 17042  	ret := &BatchGetSubscriptionOffersResponse{
 17043  		ServerResponse: googleapi.ServerResponse{
 17044  			Header:         res.Header,
 17045  			HTTPStatusCode: res.StatusCode,
 17046  		},
 17047  	}
 17048  	target := &ret
 17049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17050  		return nil, err
 17051  	}
 17052  	return ret, nil
 17053  }
 17054  
 17055  type MonetizationSubscriptionsBasePlansOffersBatchUpdateCall struct {
 17056  	s                                    *Service
 17057  	packageName                          string
 17058  	productId                            string
 17059  	basePlanId                           string
 17060  	batchupdatesubscriptionoffersrequest *BatchUpdateSubscriptionOffersRequest
 17061  	urlParams_                           gensupport.URLParams
 17062  	ctx_                                 context.Context
 17063  	header_                              http.Header
 17064  }
 17065  
 17066  // BatchUpdate: Updates a batch of subscription offers. Set the
 17067  // latencyTolerance field on nested requests to
 17068  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 17069  // throughput.
 17070  //
 17071  //   - basePlanId: The parent base plan (ID) for which the offers should be
 17072  //     updated. May be specified as '-' to update offers from multiple base
 17073  //     plans.
 17074  //   - packageName: The parent app (package name) of the updated subscription
 17075  //     offers. Must be equal to the package_name field on all the updated
 17076  //     SubscriptionOffer resources.
 17077  //   - productId: The product ID of the parent subscription, if all updated
 17078  //     offers belong to the same subscription. If this request spans multiple
 17079  //     subscriptions, set this field to "-". Must be set.
 17080  func (r *MonetizationSubscriptionsBasePlansOffersService) BatchUpdate(packageName string, productId string, basePlanId string, batchupdatesubscriptionoffersrequest *BatchUpdateSubscriptionOffersRequest) *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall {
 17081  	c := &MonetizationSubscriptionsBasePlansOffersBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17082  	c.packageName = packageName
 17083  	c.productId = productId
 17084  	c.basePlanId = basePlanId
 17085  	c.batchupdatesubscriptionoffersrequest = batchupdatesubscriptionoffersrequest
 17086  	return c
 17087  }
 17088  
 17089  // Fields allows partial responses to be retrieved. See
 17090  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17091  // details.
 17092  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall {
 17093  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17094  	return c
 17095  }
 17096  
 17097  // Context sets the context to be used in this call's Do method.
 17098  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall {
 17099  	c.ctx_ = ctx
 17100  	return c
 17101  }
 17102  
 17103  // Header returns a http.Header that can be modified by the caller to add
 17104  // headers to the request.
 17105  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall) Header() http.Header {
 17106  	if c.header_ == nil {
 17107  		c.header_ = make(http.Header)
 17108  	}
 17109  	return c.header_
 17110  }
 17111  
 17112  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 17113  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17114  	var body io.Reader = nil
 17115  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatesubscriptionoffersrequest)
 17116  	if err != nil {
 17117  		return nil, err
 17118  	}
 17119  	c.urlParams_.Set("alt", alt)
 17120  	c.urlParams_.Set("prettyPrint", "false")
 17121  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers:batchUpdate")
 17122  	urls += "?" + c.urlParams_.Encode()
 17123  	req, err := http.NewRequest("POST", urls, body)
 17124  	if err != nil {
 17125  		return nil, err
 17126  	}
 17127  	req.Header = reqHeaders
 17128  	googleapi.Expand(req.URL, map[string]string{
 17129  		"packageName": c.packageName,
 17130  		"productId":   c.productId,
 17131  		"basePlanId":  c.basePlanId,
 17132  	})
 17133  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17134  }
 17135  
 17136  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.batchUpdate" call.
 17137  // Any non-2xx status code is an error. Response headers are in either
 17138  // *BatchUpdateSubscriptionOffersResponse.ServerResponse.Header or (if a
 17139  // response was returned at all) in error.(*googleapi.Error).Header. Use
 17140  // googleapi.IsNotModified to check whether the returned error was because
 17141  // http.StatusNotModified was returned.
 17142  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateSubscriptionOffersResponse, error) {
 17143  	gensupport.SetOptions(c.urlParams_, opts...)
 17144  	res, err := c.doRequest("json")
 17145  	if res != nil && res.StatusCode == http.StatusNotModified {
 17146  		if res.Body != nil {
 17147  			res.Body.Close()
 17148  		}
 17149  		return nil, gensupport.WrapError(&googleapi.Error{
 17150  			Code:   res.StatusCode,
 17151  			Header: res.Header,
 17152  		})
 17153  	}
 17154  	if err != nil {
 17155  		return nil, err
 17156  	}
 17157  	defer googleapi.CloseBody(res)
 17158  	if err := googleapi.CheckResponse(res); err != nil {
 17159  		return nil, gensupport.WrapError(err)
 17160  	}
 17161  	ret := &BatchUpdateSubscriptionOffersResponse{
 17162  		ServerResponse: googleapi.ServerResponse{
 17163  			Header:         res.Header,
 17164  			HTTPStatusCode: res.StatusCode,
 17165  		},
 17166  	}
 17167  	target := &ret
 17168  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17169  		return nil, err
 17170  	}
 17171  	return ret, nil
 17172  }
 17173  
 17174  type MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall struct {
 17175  	s                                         *Service
 17176  	packageName                               string
 17177  	productId                                 string
 17178  	basePlanId                                string
 17179  	batchupdatesubscriptionofferstatesrequest *BatchUpdateSubscriptionOfferStatesRequest
 17180  	urlParams_                                gensupport.URLParams
 17181  	ctx_                                      context.Context
 17182  	header_                                   http.Header
 17183  }
 17184  
 17185  // BatchUpdateStates: Updates a batch of subscription offer states. Set the
 17186  // latencyTolerance field on nested requests to
 17187  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT to achieve maximum update
 17188  // throughput.
 17189  //
 17190  //   - basePlanId: The parent base plan (ID) for which the offers should be
 17191  //     updated. May be specified as '-' to update offers from multiple base
 17192  //     plans.
 17193  //   - packageName: The parent app (package name) of the updated subscription
 17194  //     offers. Must be equal to the package_name field on all the updated
 17195  //     SubscriptionOffer resources.
 17196  //   - productId: The product ID of the parent subscription, if all updated
 17197  //     offers belong to the same subscription. If this request spans multiple
 17198  //     subscriptions, set this field to "-". Must be set.
 17199  func (r *MonetizationSubscriptionsBasePlansOffersService) BatchUpdateStates(packageName string, productId string, basePlanId string, batchupdatesubscriptionofferstatesrequest *BatchUpdateSubscriptionOfferStatesRequest) *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall {
 17200  	c := &MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17201  	c.packageName = packageName
 17202  	c.productId = productId
 17203  	c.basePlanId = basePlanId
 17204  	c.batchupdatesubscriptionofferstatesrequest = batchupdatesubscriptionofferstatesrequest
 17205  	return c
 17206  }
 17207  
 17208  // Fields allows partial responses to be retrieved. See
 17209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17210  // details.
 17211  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall {
 17212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17213  	return c
 17214  }
 17215  
 17216  // Context sets the context to be used in this call's Do method.
 17217  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall {
 17218  	c.ctx_ = ctx
 17219  	return c
 17220  }
 17221  
 17222  // Header returns a http.Header that can be modified by the caller to add
 17223  // headers to the request.
 17224  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall) Header() http.Header {
 17225  	if c.header_ == nil {
 17226  		c.header_ = make(http.Header)
 17227  	}
 17228  	return c.header_
 17229  }
 17230  
 17231  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall) doRequest(alt string) (*http.Response, error) {
 17232  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17233  	var body io.Reader = nil
 17234  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatesubscriptionofferstatesrequest)
 17235  	if err != nil {
 17236  		return nil, err
 17237  	}
 17238  	c.urlParams_.Set("alt", alt)
 17239  	c.urlParams_.Set("prettyPrint", "false")
 17240  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers:batchUpdateStates")
 17241  	urls += "?" + c.urlParams_.Encode()
 17242  	req, err := http.NewRequest("POST", urls, body)
 17243  	if err != nil {
 17244  		return nil, err
 17245  	}
 17246  	req.Header = reqHeaders
 17247  	googleapi.Expand(req.URL, map[string]string{
 17248  		"packageName": c.packageName,
 17249  		"productId":   c.productId,
 17250  		"basePlanId":  c.basePlanId,
 17251  	})
 17252  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17253  }
 17254  
 17255  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.batchUpdateStates" call.
 17256  // Any non-2xx status code is an error. Response headers are in either
 17257  // *BatchUpdateSubscriptionOfferStatesResponse.ServerResponse.Header or (if a
 17258  // response was returned at all) in error.(*googleapi.Error).Header. Use
 17259  // googleapi.IsNotModified to check whether the returned error was because
 17260  // http.StatusNotModified was returned.
 17261  func (c *MonetizationSubscriptionsBasePlansOffersBatchUpdateStatesCall) Do(opts ...googleapi.CallOption) (*BatchUpdateSubscriptionOfferStatesResponse, error) {
 17262  	gensupport.SetOptions(c.urlParams_, opts...)
 17263  	res, err := c.doRequest("json")
 17264  	if res != nil && res.StatusCode == http.StatusNotModified {
 17265  		if res.Body != nil {
 17266  			res.Body.Close()
 17267  		}
 17268  		return nil, gensupport.WrapError(&googleapi.Error{
 17269  			Code:   res.StatusCode,
 17270  			Header: res.Header,
 17271  		})
 17272  	}
 17273  	if err != nil {
 17274  		return nil, err
 17275  	}
 17276  	defer googleapi.CloseBody(res)
 17277  	if err := googleapi.CheckResponse(res); err != nil {
 17278  		return nil, gensupport.WrapError(err)
 17279  	}
 17280  	ret := &BatchUpdateSubscriptionOfferStatesResponse{
 17281  		ServerResponse: googleapi.ServerResponse{
 17282  			Header:         res.Header,
 17283  			HTTPStatusCode: res.StatusCode,
 17284  		},
 17285  	}
 17286  	target := &ret
 17287  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17288  		return nil, err
 17289  	}
 17290  	return ret, nil
 17291  }
 17292  
 17293  type MonetizationSubscriptionsBasePlansOffersCreateCall struct {
 17294  	s                 *Service
 17295  	packageName       string
 17296  	productId         string
 17297  	basePlanId        string
 17298  	subscriptionoffer *SubscriptionOffer
 17299  	urlParams_        gensupport.URLParams
 17300  	ctx_              context.Context
 17301  	header_           http.Header
 17302  }
 17303  
 17304  // Create: Creates a new subscription offer. Only auto-renewing base plans can
 17305  // have subscription offers. The offer state will be DRAFT until it is
 17306  // activated.
 17307  //
 17308  //   - basePlanId: The parent base plan (ID) for which the offer should be
 17309  //     created. Must be equal to the base_plan_id field on the SubscriptionOffer
 17310  //     resource.
 17311  //   - packageName: The parent app (package name) for which the offer should be
 17312  //     created. Must be equal to the package_name field on the Subscription
 17313  //     resource.
 17314  //   - productId: The parent subscription (ID) for which the offer should be
 17315  //     created. Must be equal to the product_id field on the SubscriptionOffer
 17316  //     resource.
 17317  func (r *MonetizationSubscriptionsBasePlansOffersService) Create(packageName string, productId string, basePlanId string, subscriptionoffer *SubscriptionOffer) *MonetizationSubscriptionsBasePlansOffersCreateCall {
 17318  	c := &MonetizationSubscriptionsBasePlansOffersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17319  	c.packageName = packageName
 17320  	c.productId = productId
 17321  	c.basePlanId = basePlanId
 17322  	c.subscriptionoffer = subscriptionoffer
 17323  	return c
 17324  }
 17325  
 17326  // OfferId sets the optional parameter "offerId": Required. The ID to use for
 17327  // the offer. For the requirements on this format, see the documentation of the
 17328  // offer_id field on the SubscriptionOffer resource.
 17329  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) OfferId(offerId string) *MonetizationSubscriptionsBasePlansOffersCreateCall {
 17330  	c.urlParams_.Set("offerId", offerId)
 17331  	return c
 17332  }
 17333  
 17334  // RegionsVersionVersion sets the optional parameter "regionsVersion.version":
 17335  // Required. A string representing the version of available regions being used
 17336  // for the specified resource. Regional prices for the resource have to be
 17337  // specified according to the information published in this article
 17338  // (https://support.google.com/googleplay/android-developer/answer/10532353).
 17339  // Each time the supported locations substantially change, the version will be
 17340  // incremented. Using this field will ensure that creating and updating the
 17341  // resource with an older region's version and set of regional prices and
 17342  // currencies will succeed even though a new version is available. The latest
 17343  // version is 2022/02.
 17344  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) RegionsVersionVersion(regionsVersionVersion string) *MonetizationSubscriptionsBasePlansOffersCreateCall {
 17345  	c.urlParams_.Set("regionsVersion.version", regionsVersionVersion)
 17346  	return c
 17347  }
 17348  
 17349  // Fields allows partial responses to be retrieved. See
 17350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17351  // details.
 17352  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersCreateCall {
 17353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17354  	return c
 17355  }
 17356  
 17357  // Context sets the context to be used in this call's Do method.
 17358  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersCreateCall {
 17359  	c.ctx_ = ctx
 17360  	return c
 17361  }
 17362  
 17363  // Header returns a http.Header that can be modified by the caller to add
 17364  // headers to the request.
 17365  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) Header() http.Header {
 17366  	if c.header_ == nil {
 17367  		c.header_ = make(http.Header)
 17368  	}
 17369  	return c.header_
 17370  }
 17371  
 17372  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) doRequest(alt string) (*http.Response, error) {
 17373  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17374  	var body io.Reader = nil
 17375  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscriptionoffer)
 17376  	if err != nil {
 17377  		return nil, err
 17378  	}
 17379  	c.urlParams_.Set("alt", alt)
 17380  	c.urlParams_.Set("prettyPrint", "false")
 17381  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers")
 17382  	urls += "?" + c.urlParams_.Encode()
 17383  	req, err := http.NewRequest("POST", urls, body)
 17384  	if err != nil {
 17385  		return nil, err
 17386  	}
 17387  	req.Header = reqHeaders
 17388  	googleapi.Expand(req.URL, map[string]string{
 17389  		"packageName": c.packageName,
 17390  		"productId":   c.productId,
 17391  		"basePlanId":  c.basePlanId,
 17392  	})
 17393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17394  }
 17395  
 17396  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.create" call.
 17397  // Any non-2xx status code is an error. Response headers are in either
 17398  // *SubscriptionOffer.ServerResponse.Header or (if a response was returned at
 17399  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17400  // check whether the returned error was because http.StatusNotModified was
 17401  // returned.
 17402  func (c *MonetizationSubscriptionsBasePlansOffersCreateCall) Do(opts ...googleapi.CallOption) (*SubscriptionOffer, error) {
 17403  	gensupport.SetOptions(c.urlParams_, opts...)
 17404  	res, err := c.doRequest("json")
 17405  	if res != nil && res.StatusCode == http.StatusNotModified {
 17406  		if res.Body != nil {
 17407  			res.Body.Close()
 17408  		}
 17409  		return nil, gensupport.WrapError(&googleapi.Error{
 17410  			Code:   res.StatusCode,
 17411  			Header: res.Header,
 17412  		})
 17413  	}
 17414  	if err != nil {
 17415  		return nil, err
 17416  	}
 17417  	defer googleapi.CloseBody(res)
 17418  	if err := googleapi.CheckResponse(res); err != nil {
 17419  		return nil, gensupport.WrapError(err)
 17420  	}
 17421  	ret := &SubscriptionOffer{
 17422  		ServerResponse: googleapi.ServerResponse{
 17423  			Header:         res.Header,
 17424  			HTTPStatusCode: res.StatusCode,
 17425  		},
 17426  	}
 17427  	target := &ret
 17428  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17429  		return nil, err
 17430  	}
 17431  	return ret, nil
 17432  }
 17433  
 17434  type MonetizationSubscriptionsBasePlansOffersDeactivateCall struct {
 17435  	s                                  *Service
 17436  	packageName                        string
 17437  	productId                          string
 17438  	basePlanId                         string
 17439  	offerId                            string
 17440  	deactivatesubscriptionofferrequest *DeactivateSubscriptionOfferRequest
 17441  	urlParams_                         gensupport.URLParams
 17442  	ctx_                               context.Context
 17443  	header_                            http.Header
 17444  }
 17445  
 17446  // Deactivate: Deactivates a subscription offer. Once deactivated, existing
 17447  // subscribers will maintain their subscription, but the offer will become
 17448  // unavailable to new subscribers.
 17449  //
 17450  // - basePlanId: The parent base plan (ID) of the offer to deactivate.
 17451  // - offerId: The unique offer ID of the offer to deactivate.
 17452  // - packageName: The parent app (package name) of the offer to deactivate.
 17453  // - productId: The parent subscription (ID) of the offer to deactivate.
 17454  func (r *MonetizationSubscriptionsBasePlansOffersService) Deactivate(packageName string, productId string, basePlanId string, offerId string, deactivatesubscriptionofferrequest *DeactivateSubscriptionOfferRequest) *MonetizationSubscriptionsBasePlansOffersDeactivateCall {
 17455  	c := &MonetizationSubscriptionsBasePlansOffersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17456  	c.packageName = packageName
 17457  	c.productId = productId
 17458  	c.basePlanId = basePlanId
 17459  	c.offerId = offerId
 17460  	c.deactivatesubscriptionofferrequest = deactivatesubscriptionofferrequest
 17461  	return c
 17462  }
 17463  
 17464  // Fields allows partial responses to be retrieved. See
 17465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17466  // details.
 17467  func (c *MonetizationSubscriptionsBasePlansOffersDeactivateCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersDeactivateCall {
 17468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17469  	return c
 17470  }
 17471  
 17472  // Context sets the context to be used in this call's Do method.
 17473  func (c *MonetizationSubscriptionsBasePlansOffersDeactivateCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersDeactivateCall {
 17474  	c.ctx_ = ctx
 17475  	return c
 17476  }
 17477  
 17478  // Header returns a http.Header that can be modified by the caller to add
 17479  // headers to the request.
 17480  func (c *MonetizationSubscriptionsBasePlansOffersDeactivateCall) Header() http.Header {
 17481  	if c.header_ == nil {
 17482  		c.header_ = make(http.Header)
 17483  	}
 17484  	return c.header_
 17485  }
 17486  
 17487  func (c *MonetizationSubscriptionsBasePlansOffersDeactivateCall) doRequest(alt string) (*http.Response, error) {
 17488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17489  	var body io.Reader = nil
 17490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatesubscriptionofferrequest)
 17491  	if err != nil {
 17492  		return nil, err
 17493  	}
 17494  	c.urlParams_.Set("alt", alt)
 17495  	c.urlParams_.Set("prettyPrint", "false")
 17496  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:deactivate")
 17497  	urls += "?" + c.urlParams_.Encode()
 17498  	req, err := http.NewRequest("POST", urls, body)
 17499  	if err != nil {
 17500  		return nil, err
 17501  	}
 17502  	req.Header = reqHeaders
 17503  	googleapi.Expand(req.URL, map[string]string{
 17504  		"packageName": c.packageName,
 17505  		"productId":   c.productId,
 17506  		"basePlanId":  c.basePlanId,
 17507  		"offerId":     c.offerId,
 17508  	})
 17509  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17510  }
 17511  
 17512  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.deactivate" call.
 17513  // Any non-2xx status code is an error. Response headers are in either
 17514  // *SubscriptionOffer.ServerResponse.Header or (if a response was returned at
 17515  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17516  // check whether the returned error was because http.StatusNotModified was
 17517  // returned.
 17518  func (c *MonetizationSubscriptionsBasePlansOffersDeactivateCall) Do(opts ...googleapi.CallOption) (*SubscriptionOffer, error) {
 17519  	gensupport.SetOptions(c.urlParams_, opts...)
 17520  	res, err := c.doRequest("json")
 17521  	if res != nil && res.StatusCode == http.StatusNotModified {
 17522  		if res.Body != nil {
 17523  			res.Body.Close()
 17524  		}
 17525  		return nil, gensupport.WrapError(&googleapi.Error{
 17526  			Code:   res.StatusCode,
 17527  			Header: res.Header,
 17528  		})
 17529  	}
 17530  	if err != nil {
 17531  		return nil, err
 17532  	}
 17533  	defer googleapi.CloseBody(res)
 17534  	if err := googleapi.CheckResponse(res); err != nil {
 17535  		return nil, gensupport.WrapError(err)
 17536  	}
 17537  	ret := &SubscriptionOffer{
 17538  		ServerResponse: googleapi.ServerResponse{
 17539  			Header:         res.Header,
 17540  			HTTPStatusCode: res.StatusCode,
 17541  		},
 17542  	}
 17543  	target := &ret
 17544  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17545  		return nil, err
 17546  	}
 17547  	return ret, nil
 17548  }
 17549  
 17550  type MonetizationSubscriptionsBasePlansOffersDeleteCall struct {
 17551  	s           *Service
 17552  	packageName string
 17553  	productId   string
 17554  	basePlanId  string
 17555  	offerId     string
 17556  	urlParams_  gensupport.URLParams
 17557  	ctx_        context.Context
 17558  	header_     http.Header
 17559  }
 17560  
 17561  // Delete: Deletes a subscription offer. Can only be done for draft offers.
 17562  // This action is irreversible.
 17563  //
 17564  // - basePlanId: The parent base plan (ID) of the offer to delete.
 17565  // - offerId: The unique offer ID of the offer to delete.
 17566  // - packageName: The parent app (package name) of the offer to delete.
 17567  // - productId: The parent subscription (ID) of the offer to delete.
 17568  func (r *MonetizationSubscriptionsBasePlansOffersService) Delete(packageName string, productId string, basePlanId string, offerId string) *MonetizationSubscriptionsBasePlansOffersDeleteCall {
 17569  	c := &MonetizationSubscriptionsBasePlansOffersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17570  	c.packageName = packageName
 17571  	c.productId = productId
 17572  	c.basePlanId = basePlanId
 17573  	c.offerId = offerId
 17574  	return c
 17575  }
 17576  
 17577  // Fields allows partial responses to be retrieved. See
 17578  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17579  // details.
 17580  func (c *MonetizationSubscriptionsBasePlansOffersDeleteCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersDeleteCall {
 17581  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17582  	return c
 17583  }
 17584  
 17585  // Context sets the context to be used in this call's Do method.
 17586  func (c *MonetizationSubscriptionsBasePlansOffersDeleteCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersDeleteCall {
 17587  	c.ctx_ = ctx
 17588  	return c
 17589  }
 17590  
 17591  // Header returns a http.Header that can be modified by the caller to add
 17592  // headers to the request.
 17593  func (c *MonetizationSubscriptionsBasePlansOffersDeleteCall) Header() http.Header {
 17594  	if c.header_ == nil {
 17595  		c.header_ = make(http.Header)
 17596  	}
 17597  	return c.header_
 17598  }
 17599  
 17600  func (c *MonetizationSubscriptionsBasePlansOffersDeleteCall) doRequest(alt string) (*http.Response, error) {
 17601  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17602  	var body io.Reader = nil
 17603  	c.urlParams_.Set("alt", alt)
 17604  	c.urlParams_.Set("prettyPrint", "false")
 17605  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}")
 17606  	urls += "?" + c.urlParams_.Encode()
 17607  	req, err := http.NewRequest("DELETE", urls, body)
 17608  	if err != nil {
 17609  		return nil, err
 17610  	}
 17611  	req.Header = reqHeaders
 17612  	googleapi.Expand(req.URL, map[string]string{
 17613  		"packageName": c.packageName,
 17614  		"productId":   c.productId,
 17615  		"basePlanId":  c.basePlanId,
 17616  		"offerId":     c.offerId,
 17617  	})
 17618  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17619  }
 17620  
 17621  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.delete" call.
 17622  func (c *MonetizationSubscriptionsBasePlansOffersDeleteCall) Do(opts ...googleapi.CallOption) error {
 17623  	gensupport.SetOptions(c.urlParams_, opts...)
 17624  	res, err := c.doRequest("json")
 17625  	if err != nil {
 17626  		return err
 17627  	}
 17628  	defer googleapi.CloseBody(res)
 17629  	if err := googleapi.CheckResponse(res); err != nil {
 17630  		return gensupport.WrapError(err)
 17631  	}
 17632  	return nil
 17633  }
 17634  
 17635  type MonetizationSubscriptionsBasePlansOffersGetCall struct {
 17636  	s            *Service
 17637  	packageName  string
 17638  	productId    string
 17639  	basePlanId   string
 17640  	offerId      string
 17641  	urlParams_   gensupport.URLParams
 17642  	ifNoneMatch_ string
 17643  	ctx_         context.Context
 17644  	header_      http.Header
 17645  }
 17646  
 17647  // Get: Reads a single offer
 17648  //
 17649  // - basePlanId: The parent base plan (ID) of the offer to get.
 17650  // - offerId: The unique offer ID of the offer to get.
 17651  // - packageName: The parent app (package name) of the offer to get.
 17652  // - productId: The parent subscription (ID) of the offer to get.
 17653  func (r *MonetizationSubscriptionsBasePlansOffersService) Get(packageName string, productId string, basePlanId string, offerId string) *MonetizationSubscriptionsBasePlansOffersGetCall {
 17654  	c := &MonetizationSubscriptionsBasePlansOffersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17655  	c.packageName = packageName
 17656  	c.productId = productId
 17657  	c.basePlanId = basePlanId
 17658  	c.offerId = offerId
 17659  	return c
 17660  }
 17661  
 17662  // Fields allows partial responses to be retrieved. See
 17663  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17664  // details.
 17665  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersGetCall {
 17666  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17667  	return c
 17668  }
 17669  
 17670  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17671  // object's ETag matches the given value. This is useful for getting updates
 17672  // only after the object has changed since the last request.
 17673  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) IfNoneMatch(entityTag string) *MonetizationSubscriptionsBasePlansOffersGetCall {
 17674  	c.ifNoneMatch_ = entityTag
 17675  	return c
 17676  }
 17677  
 17678  // Context sets the context to be used in this call's Do method.
 17679  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersGetCall {
 17680  	c.ctx_ = ctx
 17681  	return c
 17682  }
 17683  
 17684  // Header returns a http.Header that can be modified by the caller to add
 17685  // headers to the request.
 17686  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) Header() http.Header {
 17687  	if c.header_ == nil {
 17688  		c.header_ = make(http.Header)
 17689  	}
 17690  	return c.header_
 17691  }
 17692  
 17693  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) doRequest(alt string) (*http.Response, error) {
 17694  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17695  	if c.ifNoneMatch_ != "" {
 17696  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17697  	}
 17698  	var body io.Reader = nil
 17699  	c.urlParams_.Set("alt", alt)
 17700  	c.urlParams_.Set("prettyPrint", "false")
 17701  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}")
 17702  	urls += "?" + c.urlParams_.Encode()
 17703  	req, err := http.NewRequest("GET", urls, body)
 17704  	if err != nil {
 17705  		return nil, err
 17706  	}
 17707  	req.Header = reqHeaders
 17708  	googleapi.Expand(req.URL, map[string]string{
 17709  		"packageName": c.packageName,
 17710  		"productId":   c.productId,
 17711  		"basePlanId":  c.basePlanId,
 17712  		"offerId":     c.offerId,
 17713  	})
 17714  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17715  }
 17716  
 17717  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.get" call.
 17718  // Any non-2xx status code is an error. Response headers are in either
 17719  // *SubscriptionOffer.ServerResponse.Header or (if a response was returned at
 17720  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17721  // check whether the returned error was because http.StatusNotModified was
 17722  // returned.
 17723  func (c *MonetizationSubscriptionsBasePlansOffersGetCall) Do(opts ...googleapi.CallOption) (*SubscriptionOffer, error) {
 17724  	gensupport.SetOptions(c.urlParams_, opts...)
 17725  	res, err := c.doRequest("json")
 17726  	if res != nil && res.StatusCode == http.StatusNotModified {
 17727  		if res.Body != nil {
 17728  			res.Body.Close()
 17729  		}
 17730  		return nil, gensupport.WrapError(&googleapi.Error{
 17731  			Code:   res.StatusCode,
 17732  			Header: res.Header,
 17733  		})
 17734  	}
 17735  	if err != nil {
 17736  		return nil, err
 17737  	}
 17738  	defer googleapi.CloseBody(res)
 17739  	if err := googleapi.CheckResponse(res); err != nil {
 17740  		return nil, gensupport.WrapError(err)
 17741  	}
 17742  	ret := &SubscriptionOffer{
 17743  		ServerResponse: googleapi.ServerResponse{
 17744  			Header:         res.Header,
 17745  			HTTPStatusCode: res.StatusCode,
 17746  		},
 17747  	}
 17748  	target := &ret
 17749  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17750  		return nil, err
 17751  	}
 17752  	return ret, nil
 17753  }
 17754  
 17755  type MonetizationSubscriptionsBasePlansOffersListCall struct {
 17756  	s            *Service
 17757  	packageName  string
 17758  	productId    string
 17759  	basePlanId   string
 17760  	urlParams_   gensupport.URLParams
 17761  	ifNoneMatch_ string
 17762  	ctx_         context.Context
 17763  	header_      http.Header
 17764  }
 17765  
 17766  // List: Lists all offers under a given subscription.
 17767  //
 17768  //   - basePlanId: The parent base plan (ID) for which the offers should be read.
 17769  //     May be specified as '-' to read all offers under a subscription or an app.
 17770  //     Must be specified as '-' if product_id is specified as '-'.
 17771  //   - packageName: The parent app (package name) for which the subscriptions
 17772  //     should be read.
 17773  //   - productId: The parent subscription (ID) for which the offers should be
 17774  //     read. May be specified as '-' to read all offers under an app.
 17775  func (r *MonetizationSubscriptionsBasePlansOffersService) List(packageName string, productId string, basePlanId string) *MonetizationSubscriptionsBasePlansOffersListCall {
 17776  	c := &MonetizationSubscriptionsBasePlansOffersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17777  	c.packageName = packageName
 17778  	c.productId = productId
 17779  	c.basePlanId = basePlanId
 17780  	return c
 17781  }
 17782  
 17783  // PageSize sets the optional parameter "pageSize": The maximum number of
 17784  // subscriptions to return. The service may return fewer than this value. If
 17785  // unspecified, at most 50 subscriptions will be returned. The maximum value is
 17786  // 1000; values above 1000 will be coerced to 1000.
 17787  func (c *MonetizationSubscriptionsBasePlansOffersListCall) PageSize(pageSize int64) *MonetizationSubscriptionsBasePlansOffersListCall {
 17788  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17789  	return c
 17790  }
 17791  
 17792  // PageToken sets the optional parameter "pageToken": A page token, received
 17793  // from a previous `ListSubscriptionsOffers` call. Provide this to retrieve the
 17794  // subsequent page. When paginating, all other parameters provided to
 17795  // `ListSubscriptionOffers` must match the call that provided the page token.
 17796  func (c *MonetizationSubscriptionsBasePlansOffersListCall) PageToken(pageToken string) *MonetizationSubscriptionsBasePlansOffersListCall {
 17797  	c.urlParams_.Set("pageToken", pageToken)
 17798  	return c
 17799  }
 17800  
 17801  // Fields allows partial responses to be retrieved. See
 17802  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17803  // details.
 17804  func (c *MonetizationSubscriptionsBasePlansOffersListCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersListCall {
 17805  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17806  	return c
 17807  }
 17808  
 17809  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17810  // object's ETag matches the given value. This is useful for getting updates
 17811  // only after the object has changed since the last request.
 17812  func (c *MonetizationSubscriptionsBasePlansOffersListCall) IfNoneMatch(entityTag string) *MonetizationSubscriptionsBasePlansOffersListCall {
 17813  	c.ifNoneMatch_ = entityTag
 17814  	return c
 17815  }
 17816  
 17817  // Context sets the context to be used in this call's Do method.
 17818  func (c *MonetizationSubscriptionsBasePlansOffersListCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersListCall {
 17819  	c.ctx_ = ctx
 17820  	return c
 17821  }
 17822  
 17823  // Header returns a http.Header that can be modified by the caller to add
 17824  // headers to the request.
 17825  func (c *MonetizationSubscriptionsBasePlansOffersListCall) Header() http.Header {
 17826  	if c.header_ == nil {
 17827  		c.header_ = make(http.Header)
 17828  	}
 17829  	return c.header_
 17830  }
 17831  
 17832  func (c *MonetizationSubscriptionsBasePlansOffersListCall) doRequest(alt string) (*http.Response, error) {
 17833  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17834  	if c.ifNoneMatch_ != "" {
 17835  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17836  	}
 17837  	var body io.Reader = nil
 17838  	c.urlParams_.Set("alt", alt)
 17839  	c.urlParams_.Set("prettyPrint", "false")
 17840  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers")
 17841  	urls += "?" + c.urlParams_.Encode()
 17842  	req, err := http.NewRequest("GET", urls, body)
 17843  	if err != nil {
 17844  		return nil, err
 17845  	}
 17846  	req.Header = reqHeaders
 17847  	googleapi.Expand(req.URL, map[string]string{
 17848  		"packageName": c.packageName,
 17849  		"productId":   c.productId,
 17850  		"basePlanId":  c.basePlanId,
 17851  	})
 17852  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17853  }
 17854  
 17855  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.list" call.
 17856  // Any non-2xx status code is an error. Response headers are in either
 17857  // *ListSubscriptionOffersResponse.ServerResponse.Header or (if a response was
 17858  // returned at all) in error.(*googleapi.Error).Header. Use
 17859  // googleapi.IsNotModified to check whether the returned error was because
 17860  // http.StatusNotModified was returned.
 17861  func (c *MonetizationSubscriptionsBasePlansOffersListCall) Do(opts ...googleapi.CallOption) (*ListSubscriptionOffersResponse, error) {
 17862  	gensupport.SetOptions(c.urlParams_, opts...)
 17863  	res, err := c.doRequest("json")
 17864  	if res != nil && res.StatusCode == http.StatusNotModified {
 17865  		if res.Body != nil {
 17866  			res.Body.Close()
 17867  		}
 17868  		return nil, gensupport.WrapError(&googleapi.Error{
 17869  			Code:   res.StatusCode,
 17870  			Header: res.Header,
 17871  		})
 17872  	}
 17873  	if err != nil {
 17874  		return nil, err
 17875  	}
 17876  	defer googleapi.CloseBody(res)
 17877  	if err := googleapi.CheckResponse(res); err != nil {
 17878  		return nil, gensupport.WrapError(err)
 17879  	}
 17880  	ret := &ListSubscriptionOffersResponse{
 17881  		ServerResponse: googleapi.ServerResponse{
 17882  			Header:         res.Header,
 17883  			HTTPStatusCode: res.StatusCode,
 17884  		},
 17885  	}
 17886  	target := &ret
 17887  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17888  		return nil, err
 17889  	}
 17890  	return ret, nil
 17891  }
 17892  
 17893  // Pages invokes f for each page of results.
 17894  // A non-nil error returned from f will halt the iteration.
 17895  // The provided context supersedes any context provided to the Context method.
 17896  func (c *MonetizationSubscriptionsBasePlansOffersListCall) Pages(ctx context.Context, f func(*ListSubscriptionOffersResponse) error) error {
 17897  	c.ctx_ = ctx
 17898  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17899  	for {
 17900  		x, err := c.Do()
 17901  		if err != nil {
 17902  			return err
 17903  		}
 17904  		if err := f(x); err != nil {
 17905  			return err
 17906  		}
 17907  		if x.NextPageToken == "" {
 17908  			return nil
 17909  		}
 17910  		c.PageToken(x.NextPageToken)
 17911  	}
 17912  }
 17913  
 17914  type MonetizationSubscriptionsBasePlansOffersPatchCall struct {
 17915  	s                 *Service
 17916  	packageName       string
 17917  	productId         string
 17918  	basePlanId        string
 17919  	offerId           string
 17920  	subscriptionoffer *SubscriptionOffer
 17921  	urlParams_        gensupport.URLParams
 17922  	ctx_              context.Context
 17923  	header_           http.Header
 17924  }
 17925  
 17926  // Patch: Updates an existing subscription offer.
 17927  //
 17928  //   - basePlanId: Immutable. The ID of the base plan to which this offer is an
 17929  //     extension.
 17930  //   - offerId: Immutable. Unique ID of this subscription offer. Must be unique
 17931  //     within the base plan.
 17932  //   - packageName: Immutable. The package name of the app the parent
 17933  //     subscription belongs to.
 17934  //   - productId: Immutable. The ID of the parent subscription this offer belongs
 17935  //     to.
 17936  func (r *MonetizationSubscriptionsBasePlansOffersService) Patch(packageName string, productId string, basePlanId string, offerId string, subscriptionoffer *SubscriptionOffer) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 17937  	c := &MonetizationSubscriptionsBasePlansOffersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17938  	c.packageName = packageName
 17939  	c.productId = productId
 17940  	c.basePlanId = basePlanId
 17941  	c.offerId = offerId
 17942  	c.subscriptionoffer = subscriptionoffer
 17943  	return c
 17944  }
 17945  
 17946  // AllowMissing sets the optional parameter "allowMissing": If set to true, and
 17947  // the subscription offer with the given package_name, product_id, base_plan_id
 17948  // and offer_id doesn't exist, an offer will be created. If a new offer is
 17949  // created, update_mask is ignored.
 17950  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) AllowMissing(allowMissing bool) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 17951  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
 17952  	return c
 17953  }
 17954  
 17955  // LatencyTolerance sets the optional parameter "latencyTolerance": The latency
 17956  // tolerance for the propagation of this product update. Defaults to
 17957  // latency-sensitive.
 17958  //
 17959  // Possible values:
 17960  //
 17961  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_UNSPECIFIED" - Defaults to
 17962  //
 17963  // PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE.
 17964  //
 17965  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE" - The update will
 17966  //
 17967  // propagate to clients within several minutes on average and up to a few hours
 17968  // in rare cases. Throughput is limited to 7,200 updates per app per hour.
 17969  //
 17970  //	"PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT" - The update will
 17971  //
 17972  // propagate to clients within 24 hours. Supports high throughput of up to
 17973  // 720,000 updates per app per hour using batch modification methods.
 17974  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) LatencyTolerance(latencyTolerance string) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 17975  	c.urlParams_.Set("latencyTolerance", latencyTolerance)
 17976  	return c
 17977  }
 17978  
 17979  // RegionsVersionVersion sets the optional parameter "regionsVersion.version":
 17980  // Required. A string representing the version of available regions being used
 17981  // for the specified resource. Regional prices for the resource have to be
 17982  // specified according to the information published in this article
 17983  // (https://support.google.com/googleplay/android-developer/answer/10532353).
 17984  // Each time the supported locations substantially change, the version will be
 17985  // incremented. Using this field will ensure that creating and updating the
 17986  // resource with an older region's version and set of regional prices and
 17987  // currencies will succeed even though a new version is available. The latest
 17988  // version is 2022/02.
 17989  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) RegionsVersionVersion(regionsVersionVersion string) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 17990  	c.urlParams_.Set("regionsVersion.version", regionsVersionVersion)
 17991  	return c
 17992  }
 17993  
 17994  // UpdateMask sets the optional parameter "updateMask": Required. The list of
 17995  // fields to be updated.
 17996  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) UpdateMask(updateMask string) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 17997  	c.urlParams_.Set("updateMask", updateMask)
 17998  	return c
 17999  }
 18000  
 18001  // Fields allows partial responses to be retrieved. See
 18002  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18003  // details.
 18004  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) Fields(s ...googleapi.Field) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 18005  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18006  	return c
 18007  }
 18008  
 18009  // Context sets the context to be used in this call's Do method.
 18010  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) Context(ctx context.Context) *MonetizationSubscriptionsBasePlansOffersPatchCall {
 18011  	c.ctx_ = ctx
 18012  	return c
 18013  }
 18014  
 18015  // Header returns a http.Header that can be modified by the caller to add
 18016  // headers to the request.
 18017  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) Header() http.Header {
 18018  	if c.header_ == nil {
 18019  		c.header_ = make(http.Header)
 18020  	}
 18021  	return c.header_
 18022  }
 18023  
 18024  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) doRequest(alt string) (*http.Response, error) {
 18025  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18026  	var body io.Reader = nil
 18027  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscriptionoffer)
 18028  	if err != nil {
 18029  		return nil, err
 18030  	}
 18031  	c.urlParams_.Set("alt", alt)
 18032  	c.urlParams_.Set("prettyPrint", "false")
 18033  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}")
 18034  	urls += "?" + c.urlParams_.Encode()
 18035  	req, err := http.NewRequest("PATCH", urls, body)
 18036  	if err != nil {
 18037  		return nil, err
 18038  	}
 18039  	req.Header = reqHeaders
 18040  	googleapi.Expand(req.URL, map[string]string{
 18041  		"packageName": c.packageName,
 18042  		"productId":   c.productId,
 18043  		"basePlanId":  c.basePlanId,
 18044  		"offerId":     c.offerId,
 18045  	})
 18046  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18047  }
 18048  
 18049  // Do executes the "androidpublisher.monetization.subscriptions.basePlans.offers.patch" call.
 18050  // Any non-2xx status code is an error. Response headers are in either
 18051  // *SubscriptionOffer.ServerResponse.Header or (if a response was returned at
 18052  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18053  // check whether the returned error was because http.StatusNotModified was
 18054  // returned.
 18055  func (c *MonetizationSubscriptionsBasePlansOffersPatchCall) Do(opts ...googleapi.CallOption) (*SubscriptionOffer, error) {
 18056  	gensupport.SetOptions(c.urlParams_, opts...)
 18057  	res, err := c.doRequest("json")
 18058  	if res != nil && res.StatusCode == http.StatusNotModified {
 18059  		if res.Body != nil {
 18060  			res.Body.Close()
 18061  		}
 18062  		return nil, gensupport.WrapError(&googleapi.Error{
 18063  			Code:   res.StatusCode,
 18064  			Header: res.Header,
 18065  		})
 18066  	}
 18067  	if err != nil {
 18068  		return nil, err
 18069  	}
 18070  	defer googleapi.CloseBody(res)
 18071  	if err := googleapi.CheckResponse(res); err != nil {
 18072  		return nil, gensupport.WrapError(err)
 18073  	}
 18074  	ret := &SubscriptionOffer{
 18075  		ServerResponse: googleapi.ServerResponse{
 18076  			Header:         res.Header,
 18077  			HTTPStatusCode: res.StatusCode,
 18078  		},
 18079  	}
 18080  	target := &ret
 18081  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18082  		return nil, err
 18083  	}
 18084  	return ret, nil
 18085  }
 18086  
 18087  type OrdersRefundCall struct {
 18088  	s           *Service
 18089  	packageName string
 18090  	orderId     string
 18091  	urlParams_  gensupport.URLParams
 18092  	ctx_        context.Context
 18093  	header_     http.Header
 18094  }
 18095  
 18096  // Refund: Refunds a user's subscription or in-app purchase order. Orders older
 18097  // than 3 years cannot be refunded.
 18098  //
 18099  //   - orderId: The order ID provided to the user when the subscription or in-app
 18100  //     order was purchased.
 18101  //   - packageName: The package name of the application for which this
 18102  //     subscription or in-app item was purchased (for example, 'com.some.thing').
 18103  func (r *OrdersService) Refund(packageName string, orderId string) *OrdersRefundCall {
 18104  	c := &OrdersRefundCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18105  	c.packageName = packageName
 18106  	c.orderId = orderId
 18107  	return c
 18108  }
 18109  
 18110  // Revoke sets the optional parameter "revoke": Whether to revoke the purchased
 18111  // item. If set to true, access to the subscription or in-app item will be
 18112  // terminated immediately. If the item is a recurring subscription, all future
 18113  // payments will also be terminated. Consumed in-app items need to be handled
 18114  // by developer's app. (optional).
 18115  func (c *OrdersRefundCall) Revoke(revoke bool) *OrdersRefundCall {
 18116  	c.urlParams_.Set("revoke", fmt.Sprint(revoke))
 18117  	return c
 18118  }
 18119  
 18120  // Fields allows partial responses to be retrieved. See
 18121  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18122  // details.
 18123  func (c *OrdersRefundCall) Fields(s ...googleapi.Field) *OrdersRefundCall {
 18124  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18125  	return c
 18126  }
 18127  
 18128  // Context sets the context to be used in this call's Do method.
 18129  func (c *OrdersRefundCall) Context(ctx context.Context) *OrdersRefundCall {
 18130  	c.ctx_ = ctx
 18131  	return c
 18132  }
 18133  
 18134  // Header returns a http.Header that can be modified by the caller to add
 18135  // headers to the request.
 18136  func (c *OrdersRefundCall) Header() http.Header {
 18137  	if c.header_ == nil {
 18138  		c.header_ = make(http.Header)
 18139  	}
 18140  	return c.header_
 18141  }
 18142  
 18143  func (c *OrdersRefundCall) doRequest(alt string) (*http.Response, error) {
 18144  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18145  	var body io.Reader = nil
 18146  	c.urlParams_.Set("alt", alt)
 18147  	c.urlParams_.Set("prettyPrint", "false")
 18148  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund")
 18149  	urls += "?" + c.urlParams_.Encode()
 18150  	req, err := http.NewRequest("POST", urls, body)
 18151  	if err != nil {
 18152  		return nil, err
 18153  	}
 18154  	req.Header = reqHeaders
 18155  	googleapi.Expand(req.URL, map[string]string{
 18156  		"packageName": c.packageName,
 18157  		"orderId":     c.orderId,
 18158  	})
 18159  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18160  }
 18161  
 18162  // Do executes the "androidpublisher.orders.refund" call.
 18163  func (c *OrdersRefundCall) Do(opts ...googleapi.CallOption) error {
 18164  	gensupport.SetOptions(c.urlParams_, opts...)
 18165  	res, err := c.doRequest("json")
 18166  	if err != nil {
 18167  		return err
 18168  	}
 18169  	defer googleapi.CloseBody(res)
 18170  	if err := googleapi.CheckResponse(res); err != nil {
 18171  		return gensupport.WrapError(err)
 18172  	}
 18173  	return nil
 18174  }
 18175  
 18176  type PurchasesProductsAcknowledgeCall struct {
 18177  	s                                  *Service
 18178  	packageName                        string
 18179  	productId                          string
 18180  	token                              string
 18181  	productpurchasesacknowledgerequest *ProductPurchasesAcknowledgeRequest
 18182  	urlParams_                         gensupport.URLParams
 18183  	ctx_                               context.Context
 18184  	header_                            http.Header
 18185  }
 18186  
 18187  // Acknowledge: Acknowledges a purchase of an inapp item.
 18188  //
 18189  //   - packageName: The package name of the application the inapp product was
 18190  //     sold in (for example, 'com.some.thing').
 18191  //   - productId: The inapp product SKU (for example, 'com.some.thing.inapp1').
 18192  //   - token: The token provided to the user's device when the inapp product was
 18193  //     purchased.
 18194  func (r *PurchasesProductsService) Acknowledge(packageName string, productId string, token string, productpurchasesacknowledgerequest *ProductPurchasesAcknowledgeRequest) *PurchasesProductsAcknowledgeCall {
 18195  	c := &PurchasesProductsAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18196  	c.packageName = packageName
 18197  	c.productId = productId
 18198  	c.token = token
 18199  	c.productpurchasesacknowledgerequest = productpurchasesacknowledgerequest
 18200  	return c
 18201  }
 18202  
 18203  // Fields allows partial responses to be retrieved. See
 18204  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18205  // details.
 18206  func (c *PurchasesProductsAcknowledgeCall) Fields(s ...googleapi.Field) *PurchasesProductsAcknowledgeCall {
 18207  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18208  	return c
 18209  }
 18210  
 18211  // Context sets the context to be used in this call's Do method.
 18212  func (c *PurchasesProductsAcknowledgeCall) Context(ctx context.Context) *PurchasesProductsAcknowledgeCall {
 18213  	c.ctx_ = ctx
 18214  	return c
 18215  }
 18216  
 18217  // Header returns a http.Header that can be modified by the caller to add
 18218  // headers to the request.
 18219  func (c *PurchasesProductsAcknowledgeCall) Header() http.Header {
 18220  	if c.header_ == nil {
 18221  		c.header_ = make(http.Header)
 18222  	}
 18223  	return c.header_
 18224  }
 18225  
 18226  func (c *PurchasesProductsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 18227  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18228  	var body io.Reader = nil
 18229  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.productpurchasesacknowledgerequest)
 18230  	if err != nil {
 18231  		return nil, err
 18232  	}
 18233  	c.urlParams_.Set("alt", alt)
 18234  	c.urlParams_.Set("prettyPrint", "false")
 18235  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge")
 18236  	urls += "?" + c.urlParams_.Encode()
 18237  	req, err := http.NewRequest("POST", urls, body)
 18238  	if err != nil {
 18239  		return nil, err
 18240  	}
 18241  	req.Header = reqHeaders
 18242  	googleapi.Expand(req.URL, map[string]string{
 18243  		"packageName": c.packageName,
 18244  		"productId":   c.productId,
 18245  		"token":       c.token,
 18246  	})
 18247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18248  }
 18249  
 18250  // Do executes the "androidpublisher.purchases.products.acknowledge" call.
 18251  func (c *PurchasesProductsAcknowledgeCall) Do(opts ...googleapi.CallOption) error {
 18252  	gensupport.SetOptions(c.urlParams_, opts...)
 18253  	res, err := c.doRequest("json")
 18254  	if err != nil {
 18255  		return err
 18256  	}
 18257  	defer googleapi.CloseBody(res)
 18258  	if err := googleapi.CheckResponse(res); err != nil {
 18259  		return gensupport.WrapError(err)
 18260  	}
 18261  	return nil
 18262  }
 18263  
 18264  type PurchasesProductsConsumeCall struct {
 18265  	s           *Service
 18266  	packageName string
 18267  	productId   string
 18268  	token       string
 18269  	urlParams_  gensupport.URLParams
 18270  	ctx_        context.Context
 18271  	header_     http.Header
 18272  }
 18273  
 18274  // Consume: Consumes a purchase for an inapp item.
 18275  //
 18276  //   - packageName: The package name of the application the inapp product was
 18277  //     sold in (for example, 'com.some.thing').
 18278  //   - productId: The inapp product SKU (for example, 'com.some.thing.inapp1').
 18279  //   - token: The token provided to the user's device when the inapp product was
 18280  //     purchased.
 18281  func (r *PurchasesProductsService) Consume(packageName string, productId string, token string) *PurchasesProductsConsumeCall {
 18282  	c := &PurchasesProductsConsumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18283  	c.packageName = packageName
 18284  	c.productId = productId
 18285  	c.token = token
 18286  	return c
 18287  }
 18288  
 18289  // Fields allows partial responses to be retrieved. See
 18290  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18291  // details.
 18292  func (c *PurchasesProductsConsumeCall) Fields(s ...googleapi.Field) *PurchasesProductsConsumeCall {
 18293  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18294  	return c
 18295  }
 18296  
 18297  // Context sets the context to be used in this call's Do method.
 18298  func (c *PurchasesProductsConsumeCall) Context(ctx context.Context) *PurchasesProductsConsumeCall {
 18299  	c.ctx_ = ctx
 18300  	return c
 18301  }
 18302  
 18303  // Header returns a http.Header that can be modified by the caller to add
 18304  // headers to the request.
 18305  func (c *PurchasesProductsConsumeCall) Header() http.Header {
 18306  	if c.header_ == nil {
 18307  		c.header_ = make(http.Header)
 18308  	}
 18309  	return c.header_
 18310  }
 18311  
 18312  func (c *PurchasesProductsConsumeCall) doRequest(alt string) (*http.Response, error) {
 18313  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18314  	var body io.Reader = nil
 18315  	c.urlParams_.Set("alt", alt)
 18316  	c.urlParams_.Set("prettyPrint", "false")
 18317  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:consume")
 18318  	urls += "?" + c.urlParams_.Encode()
 18319  	req, err := http.NewRequest("POST", urls, body)
 18320  	if err != nil {
 18321  		return nil, err
 18322  	}
 18323  	req.Header = reqHeaders
 18324  	googleapi.Expand(req.URL, map[string]string{
 18325  		"packageName": c.packageName,
 18326  		"productId":   c.productId,
 18327  		"token":       c.token,
 18328  	})
 18329  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18330  }
 18331  
 18332  // Do executes the "androidpublisher.purchases.products.consume" call.
 18333  func (c *PurchasesProductsConsumeCall) Do(opts ...googleapi.CallOption) error {
 18334  	gensupport.SetOptions(c.urlParams_, opts...)
 18335  	res, err := c.doRequest("json")
 18336  	if err != nil {
 18337  		return err
 18338  	}
 18339  	defer googleapi.CloseBody(res)
 18340  	if err := googleapi.CheckResponse(res); err != nil {
 18341  		return gensupport.WrapError(err)
 18342  	}
 18343  	return nil
 18344  }
 18345  
 18346  type PurchasesProductsGetCall struct {
 18347  	s            *Service
 18348  	packageName  string
 18349  	productId    string
 18350  	token        string
 18351  	urlParams_   gensupport.URLParams
 18352  	ifNoneMatch_ string
 18353  	ctx_         context.Context
 18354  	header_      http.Header
 18355  }
 18356  
 18357  // Get: Checks the purchase and consumption status of an inapp item.
 18358  //
 18359  //   - packageName: The package name of the application the inapp product was
 18360  //     sold in (for example, 'com.some.thing').
 18361  //   - productId: The inapp product SKU (for example, 'com.some.thing.inapp1').
 18362  //   - token: The token provided to the user's device when the inapp product was
 18363  //     purchased.
 18364  func (r *PurchasesProductsService) Get(packageName string, productId string, token string) *PurchasesProductsGetCall {
 18365  	c := &PurchasesProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18366  	c.packageName = packageName
 18367  	c.productId = productId
 18368  	c.token = token
 18369  	return c
 18370  }
 18371  
 18372  // Fields allows partial responses to be retrieved. See
 18373  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18374  // details.
 18375  func (c *PurchasesProductsGetCall) Fields(s ...googleapi.Field) *PurchasesProductsGetCall {
 18376  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18377  	return c
 18378  }
 18379  
 18380  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18381  // object's ETag matches the given value. This is useful for getting updates
 18382  // only after the object has changed since the last request.
 18383  func (c *PurchasesProductsGetCall) IfNoneMatch(entityTag string) *PurchasesProductsGetCall {
 18384  	c.ifNoneMatch_ = entityTag
 18385  	return c
 18386  }
 18387  
 18388  // Context sets the context to be used in this call's Do method.
 18389  func (c *PurchasesProductsGetCall) Context(ctx context.Context) *PurchasesProductsGetCall {
 18390  	c.ctx_ = ctx
 18391  	return c
 18392  }
 18393  
 18394  // Header returns a http.Header that can be modified by the caller to add
 18395  // headers to the request.
 18396  func (c *PurchasesProductsGetCall) Header() http.Header {
 18397  	if c.header_ == nil {
 18398  		c.header_ = make(http.Header)
 18399  	}
 18400  	return c.header_
 18401  }
 18402  
 18403  func (c *PurchasesProductsGetCall) doRequest(alt string) (*http.Response, error) {
 18404  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18405  	if c.ifNoneMatch_ != "" {
 18406  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18407  	}
 18408  	var body io.Reader = nil
 18409  	c.urlParams_.Set("alt", alt)
 18410  	c.urlParams_.Set("prettyPrint", "false")
 18411  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}")
 18412  	urls += "?" + c.urlParams_.Encode()
 18413  	req, err := http.NewRequest("GET", urls, body)
 18414  	if err != nil {
 18415  		return nil, err
 18416  	}
 18417  	req.Header = reqHeaders
 18418  	googleapi.Expand(req.URL, map[string]string{
 18419  		"packageName": c.packageName,
 18420  		"productId":   c.productId,
 18421  		"token":       c.token,
 18422  	})
 18423  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18424  }
 18425  
 18426  // Do executes the "androidpublisher.purchases.products.get" call.
 18427  // Any non-2xx status code is an error. Response headers are in either
 18428  // *ProductPurchase.ServerResponse.Header or (if a response was returned at
 18429  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18430  // check whether the returned error was because http.StatusNotModified was
 18431  // returned.
 18432  func (c *PurchasesProductsGetCall) Do(opts ...googleapi.CallOption) (*ProductPurchase, error) {
 18433  	gensupport.SetOptions(c.urlParams_, opts...)
 18434  	res, err := c.doRequest("json")
 18435  	if res != nil && res.StatusCode == http.StatusNotModified {
 18436  		if res.Body != nil {
 18437  			res.Body.Close()
 18438  		}
 18439  		return nil, gensupport.WrapError(&googleapi.Error{
 18440  			Code:   res.StatusCode,
 18441  			Header: res.Header,
 18442  		})
 18443  	}
 18444  	if err != nil {
 18445  		return nil, err
 18446  	}
 18447  	defer googleapi.CloseBody(res)
 18448  	if err := googleapi.CheckResponse(res); err != nil {
 18449  		return nil, gensupport.WrapError(err)
 18450  	}
 18451  	ret := &ProductPurchase{
 18452  		ServerResponse: googleapi.ServerResponse{
 18453  			Header:         res.Header,
 18454  			HTTPStatusCode: res.StatusCode,
 18455  		},
 18456  	}
 18457  	target := &ret
 18458  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18459  		return nil, err
 18460  	}
 18461  	return ret, nil
 18462  }
 18463  
 18464  type PurchasesSubscriptionsAcknowledgeCall struct {
 18465  	s                                       *Service
 18466  	packageName                             string
 18467  	subscriptionId                          string
 18468  	token                                   string
 18469  	subscriptionpurchasesacknowledgerequest *SubscriptionPurchasesAcknowledgeRequest
 18470  	urlParams_                              gensupport.URLParams
 18471  	ctx_                                    context.Context
 18472  	header_                                 http.Header
 18473  }
 18474  
 18475  // Acknowledge: Acknowledges a subscription purchase.
 18476  //
 18477  //   - packageName: The package name of the application for which this
 18478  //     subscription was purchased (for example, 'com.some.thing').
 18479  //   - subscriptionId: The purchased subscription ID (for example, 'monthly001').
 18480  //   - token: The token provided to the user's device when the subscription was
 18481  //     purchased.
 18482  func (r *PurchasesSubscriptionsService) Acknowledge(packageName string, subscriptionId string, token string, subscriptionpurchasesacknowledgerequest *SubscriptionPurchasesAcknowledgeRequest) *PurchasesSubscriptionsAcknowledgeCall {
 18483  	c := &PurchasesSubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18484  	c.packageName = packageName
 18485  	c.subscriptionId = subscriptionId
 18486  	c.token = token
 18487  	c.subscriptionpurchasesacknowledgerequest = subscriptionpurchasesacknowledgerequest
 18488  	return c
 18489  }
 18490  
 18491  // Fields allows partial responses to be retrieved. See
 18492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18493  // details.
 18494  func (c *PurchasesSubscriptionsAcknowledgeCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsAcknowledgeCall {
 18495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18496  	return c
 18497  }
 18498  
 18499  // Context sets the context to be used in this call's Do method.
 18500  func (c *PurchasesSubscriptionsAcknowledgeCall) Context(ctx context.Context) *PurchasesSubscriptionsAcknowledgeCall {
 18501  	c.ctx_ = ctx
 18502  	return c
 18503  }
 18504  
 18505  // Header returns a http.Header that can be modified by the caller to add
 18506  // headers to the request.
 18507  func (c *PurchasesSubscriptionsAcknowledgeCall) Header() http.Header {
 18508  	if c.header_ == nil {
 18509  		c.header_ = make(http.Header)
 18510  	}
 18511  	return c.header_
 18512  }
 18513  
 18514  func (c *PurchasesSubscriptionsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 18515  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18516  	var body io.Reader = nil
 18517  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscriptionpurchasesacknowledgerequest)
 18518  	if err != nil {
 18519  		return nil, err
 18520  	}
 18521  	c.urlParams_.Set("alt", alt)
 18522  	c.urlParams_.Set("prettyPrint", "false")
 18523  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge")
 18524  	urls += "?" + c.urlParams_.Encode()
 18525  	req, err := http.NewRequest("POST", urls, body)
 18526  	if err != nil {
 18527  		return nil, err
 18528  	}
 18529  	req.Header = reqHeaders
 18530  	googleapi.Expand(req.URL, map[string]string{
 18531  		"packageName":    c.packageName,
 18532  		"subscriptionId": c.subscriptionId,
 18533  		"token":          c.token,
 18534  	})
 18535  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18536  }
 18537  
 18538  // Do executes the "androidpublisher.purchases.subscriptions.acknowledge" call.
 18539  func (c *PurchasesSubscriptionsAcknowledgeCall) Do(opts ...googleapi.CallOption) error {
 18540  	gensupport.SetOptions(c.urlParams_, opts...)
 18541  	res, err := c.doRequest("json")
 18542  	if err != nil {
 18543  		return err
 18544  	}
 18545  	defer googleapi.CloseBody(res)
 18546  	if err := googleapi.CheckResponse(res); err != nil {
 18547  		return gensupport.WrapError(err)
 18548  	}
 18549  	return nil
 18550  }
 18551  
 18552  type PurchasesSubscriptionsCancelCall struct {
 18553  	s              *Service
 18554  	packageName    string
 18555  	subscriptionId string
 18556  	token          string
 18557  	urlParams_     gensupport.URLParams
 18558  	ctx_           context.Context
 18559  	header_        http.Header
 18560  }
 18561  
 18562  // Cancel: Cancels a user's subscription purchase. The subscription remains
 18563  // valid until its expiration time.
 18564  //
 18565  //   - packageName: The package name of the application for which this
 18566  //     subscription was purchased (for example, 'com.some.thing').
 18567  //   - subscriptionId: The purchased subscription ID (for example, 'monthly001').
 18568  //   - token: The token provided to the user's device when the subscription was
 18569  //     purchased.
 18570  func (r *PurchasesSubscriptionsService) Cancel(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsCancelCall {
 18571  	c := &PurchasesSubscriptionsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18572  	c.packageName = packageName
 18573  	c.subscriptionId = subscriptionId
 18574  	c.token = token
 18575  	return c
 18576  }
 18577  
 18578  // Fields allows partial responses to be retrieved. See
 18579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18580  // details.
 18581  func (c *PurchasesSubscriptionsCancelCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsCancelCall {
 18582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18583  	return c
 18584  }
 18585  
 18586  // Context sets the context to be used in this call's Do method.
 18587  func (c *PurchasesSubscriptionsCancelCall) Context(ctx context.Context) *PurchasesSubscriptionsCancelCall {
 18588  	c.ctx_ = ctx
 18589  	return c
 18590  }
 18591  
 18592  // Header returns a http.Header that can be modified by the caller to add
 18593  // headers to the request.
 18594  func (c *PurchasesSubscriptionsCancelCall) Header() http.Header {
 18595  	if c.header_ == nil {
 18596  		c.header_ = make(http.Header)
 18597  	}
 18598  	return c.header_
 18599  }
 18600  
 18601  func (c *PurchasesSubscriptionsCancelCall) doRequest(alt string) (*http.Response, error) {
 18602  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18603  	var body io.Reader = nil
 18604  	c.urlParams_.Set("alt", alt)
 18605  	c.urlParams_.Set("prettyPrint", "false")
 18606  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel")
 18607  	urls += "?" + c.urlParams_.Encode()
 18608  	req, err := http.NewRequest("POST", urls, body)
 18609  	if err != nil {
 18610  		return nil, err
 18611  	}
 18612  	req.Header = reqHeaders
 18613  	googleapi.Expand(req.URL, map[string]string{
 18614  		"packageName":    c.packageName,
 18615  		"subscriptionId": c.subscriptionId,
 18616  		"token":          c.token,
 18617  	})
 18618  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18619  }
 18620  
 18621  // Do executes the "androidpublisher.purchases.subscriptions.cancel" call.
 18622  func (c *PurchasesSubscriptionsCancelCall) Do(opts ...googleapi.CallOption) error {
 18623  	gensupport.SetOptions(c.urlParams_, opts...)
 18624  	res, err := c.doRequest("json")
 18625  	if err != nil {
 18626  		return err
 18627  	}
 18628  	defer googleapi.CloseBody(res)
 18629  	if err := googleapi.CheckResponse(res); err != nil {
 18630  		return gensupport.WrapError(err)
 18631  	}
 18632  	return nil
 18633  }
 18634  
 18635  type PurchasesSubscriptionsDeferCall struct {
 18636  	s                                 *Service
 18637  	packageName                       string
 18638  	subscriptionId                    string
 18639  	token                             string
 18640  	subscriptionpurchasesdeferrequest *SubscriptionPurchasesDeferRequest
 18641  	urlParams_                        gensupport.URLParams
 18642  	ctx_                              context.Context
 18643  	header_                           http.Header
 18644  }
 18645  
 18646  // Defer: Defers a user's subscription purchase until a specified future
 18647  // expiration time.
 18648  //
 18649  //   - packageName: The package name of the application for which this
 18650  //     subscription was purchased (for example, 'com.some.thing').
 18651  //   - subscriptionId: The purchased subscription ID (for example, 'monthly001').
 18652  //   - token: The token provided to the user's device when the subscription was
 18653  //     purchased.
 18654  func (r *PurchasesSubscriptionsService) Defer(packageName string, subscriptionId string, token string, subscriptionpurchasesdeferrequest *SubscriptionPurchasesDeferRequest) *PurchasesSubscriptionsDeferCall {
 18655  	c := &PurchasesSubscriptionsDeferCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18656  	c.packageName = packageName
 18657  	c.subscriptionId = subscriptionId
 18658  	c.token = token
 18659  	c.subscriptionpurchasesdeferrequest = subscriptionpurchasesdeferrequest
 18660  	return c
 18661  }
 18662  
 18663  // Fields allows partial responses to be retrieved. See
 18664  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18665  // details.
 18666  func (c *PurchasesSubscriptionsDeferCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsDeferCall {
 18667  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18668  	return c
 18669  }
 18670  
 18671  // Context sets the context to be used in this call's Do method.
 18672  func (c *PurchasesSubscriptionsDeferCall) Context(ctx context.Context) *PurchasesSubscriptionsDeferCall {
 18673  	c.ctx_ = ctx
 18674  	return c
 18675  }
 18676  
 18677  // Header returns a http.Header that can be modified by the caller to add
 18678  // headers to the request.
 18679  func (c *PurchasesSubscriptionsDeferCall) Header() http.Header {
 18680  	if c.header_ == nil {
 18681  		c.header_ = make(http.Header)
 18682  	}
 18683  	return c.header_
 18684  }
 18685  
 18686  func (c *PurchasesSubscriptionsDeferCall) doRequest(alt string) (*http.Response, error) {
 18687  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18688  	var body io.Reader = nil
 18689  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscriptionpurchasesdeferrequest)
 18690  	if err != nil {
 18691  		return nil, err
 18692  	}
 18693  	c.urlParams_.Set("alt", alt)
 18694  	c.urlParams_.Set("prettyPrint", "false")
 18695  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer")
 18696  	urls += "?" + c.urlParams_.Encode()
 18697  	req, err := http.NewRequest("POST", urls, body)
 18698  	if err != nil {
 18699  		return nil, err
 18700  	}
 18701  	req.Header = reqHeaders
 18702  	googleapi.Expand(req.URL, map[string]string{
 18703  		"packageName":    c.packageName,
 18704  		"subscriptionId": c.subscriptionId,
 18705  		"token":          c.token,
 18706  	})
 18707  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18708  }
 18709  
 18710  // Do executes the "androidpublisher.purchases.subscriptions.defer" call.
 18711  // Any non-2xx status code is an error. Response headers are in either
 18712  // *SubscriptionPurchasesDeferResponse.ServerResponse.Header or (if a response
 18713  // was returned at all) in error.(*googleapi.Error).Header. Use
 18714  // googleapi.IsNotModified to check whether the returned error was because
 18715  // http.StatusNotModified was returned.
 18716  func (c *PurchasesSubscriptionsDeferCall) Do(opts ...googleapi.CallOption) (*SubscriptionPurchasesDeferResponse, error) {
 18717  	gensupport.SetOptions(c.urlParams_, opts...)
 18718  	res, err := c.doRequest("json")
 18719  	if res != nil && res.StatusCode == http.StatusNotModified {
 18720  		if res.Body != nil {
 18721  			res.Body.Close()
 18722  		}
 18723  		return nil, gensupport.WrapError(&googleapi.Error{
 18724  			Code:   res.StatusCode,
 18725  			Header: res.Header,
 18726  		})
 18727  	}
 18728  	if err != nil {
 18729  		return nil, err
 18730  	}
 18731  	defer googleapi.CloseBody(res)
 18732  	if err := googleapi.CheckResponse(res); err != nil {
 18733  		return nil, gensupport.WrapError(err)
 18734  	}
 18735  	ret := &SubscriptionPurchasesDeferResponse{
 18736  		ServerResponse: googleapi.ServerResponse{
 18737  			Header:         res.Header,
 18738  			HTTPStatusCode: res.StatusCode,
 18739  		},
 18740  	}
 18741  	target := &ret
 18742  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18743  		return nil, err
 18744  	}
 18745  	return ret, nil
 18746  }
 18747  
 18748  type PurchasesSubscriptionsGetCall struct {
 18749  	s              *Service
 18750  	packageName    string
 18751  	subscriptionId string
 18752  	token          string
 18753  	urlParams_     gensupport.URLParams
 18754  	ifNoneMatch_   string
 18755  	ctx_           context.Context
 18756  	header_        http.Header
 18757  }
 18758  
 18759  // Get: Checks whether a user's subscription purchase is valid and returns its
 18760  // expiry time.
 18761  //
 18762  //   - packageName: The package name of the application for which this
 18763  //     subscription was purchased (for example, 'com.some.thing').
 18764  //   - subscriptionId: The purchased subscription ID (for example, 'monthly001').
 18765  //   - token: The token provided to the user's device when the subscription was
 18766  //     purchased.
 18767  func (r *PurchasesSubscriptionsService) Get(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsGetCall {
 18768  	c := &PurchasesSubscriptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18769  	c.packageName = packageName
 18770  	c.subscriptionId = subscriptionId
 18771  	c.token = token
 18772  	return c
 18773  }
 18774  
 18775  // Fields allows partial responses to be retrieved. See
 18776  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18777  // details.
 18778  func (c *PurchasesSubscriptionsGetCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsGetCall {
 18779  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18780  	return c
 18781  }
 18782  
 18783  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18784  // object's ETag matches the given value. This is useful for getting updates
 18785  // only after the object has changed since the last request.
 18786  func (c *PurchasesSubscriptionsGetCall) IfNoneMatch(entityTag string) *PurchasesSubscriptionsGetCall {
 18787  	c.ifNoneMatch_ = entityTag
 18788  	return c
 18789  }
 18790  
 18791  // Context sets the context to be used in this call's Do method.
 18792  func (c *PurchasesSubscriptionsGetCall) Context(ctx context.Context) *PurchasesSubscriptionsGetCall {
 18793  	c.ctx_ = ctx
 18794  	return c
 18795  }
 18796  
 18797  // Header returns a http.Header that can be modified by the caller to add
 18798  // headers to the request.
 18799  func (c *PurchasesSubscriptionsGetCall) Header() http.Header {
 18800  	if c.header_ == nil {
 18801  		c.header_ = make(http.Header)
 18802  	}
 18803  	return c.header_
 18804  }
 18805  
 18806  func (c *PurchasesSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 18807  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18808  	if c.ifNoneMatch_ != "" {
 18809  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18810  	}
 18811  	var body io.Reader = nil
 18812  	c.urlParams_.Set("alt", alt)
 18813  	c.urlParams_.Set("prettyPrint", "false")
 18814  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}")
 18815  	urls += "?" + c.urlParams_.Encode()
 18816  	req, err := http.NewRequest("GET", urls, body)
 18817  	if err != nil {
 18818  		return nil, err
 18819  	}
 18820  	req.Header = reqHeaders
 18821  	googleapi.Expand(req.URL, map[string]string{
 18822  		"packageName":    c.packageName,
 18823  		"subscriptionId": c.subscriptionId,
 18824  		"token":          c.token,
 18825  	})
 18826  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18827  }
 18828  
 18829  // Do executes the "androidpublisher.purchases.subscriptions.get" call.
 18830  // Any non-2xx status code is an error. Response headers are in either
 18831  // *SubscriptionPurchase.ServerResponse.Header or (if a response was returned
 18832  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18833  // check whether the returned error was because http.StatusNotModified was
 18834  // returned.
 18835  func (c *PurchasesSubscriptionsGetCall) Do(opts ...googleapi.CallOption) (*SubscriptionPurchase, error) {
 18836  	gensupport.SetOptions(c.urlParams_, opts...)
 18837  	res, err := c.doRequest("json")
 18838  	if res != nil && res.StatusCode == http.StatusNotModified {
 18839  		if res.Body != nil {
 18840  			res.Body.Close()
 18841  		}
 18842  		return nil, gensupport.WrapError(&googleapi.Error{
 18843  			Code:   res.StatusCode,
 18844  			Header: res.Header,
 18845  		})
 18846  	}
 18847  	if err != nil {
 18848  		return nil, err
 18849  	}
 18850  	defer googleapi.CloseBody(res)
 18851  	if err := googleapi.CheckResponse(res); err != nil {
 18852  		return nil, gensupport.WrapError(err)
 18853  	}
 18854  	ret := &SubscriptionPurchase{
 18855  		ServerResponse: googleapi.ServerResponse{
 18856  			Header:         res.Header,
 18857  			HTTPStatusCode: res.StatusCode,
 18858  		},
 18859  	}
 18860  	target := &ret
 18861  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18862  		return nil, err
 18863  	}
 18864  	return ret, nil
 18865  }
 18866  
 18867  type PurchasesSubscriptionsRefundCall struct {
 18868  	s              *Service
 18869  	packageName    string
 18870  	subscriptionId string
 18871  	token          string
 18872  	urlParams_     gensupport.URLParams
 18873  	ctx_           context.Context
 18874  	header_        http.Header
 18875  }
 18876  
 18877  // Refund: Refunds a user's subscription purchase, but the subscription remains
 18878  // valid until its expiration time and it will continue to recur.
 18879  //
 18880  //   - packageName: The package name of the application for which this
 18881  //     subscription was purchased (for example, 'com.some.thing').
 18882  //   - subscriptionId: "The purchased subscription ID (for example,
 18883  //     'monthly001').
 18884  //   - token: The token provided to the user's device when the subscription was
 18885  //     purchased.
 18886  func (r *PurchasesSubscriptionsService) Refund(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsRefundCall {
 18887  	c := &PurchasesSubscriptionsRefundCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18888  	c.packageName = packageName
 18889  	c.subscriptionId = subscriptionId
 18890  	c.token = token
 18891  	return c
 18892  }
 18893  
 18894  // Fields allows partial responses to be retrieved. See
 18895  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18896  // details.
 18897  func (c *PurchasesSubscriptionsRefundCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsRefundCall {
 18898  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18899  	return c
 18900  }
 18901  
 18902  // Context sets the context to be used in this call's Do method.
 18903  func (c *PurchasesSubscriptionsRefundCall) Context(ctx context.Context) *PurchasesSubscriptionsRefundCall {
 18904  	c.ctx_ = ctx
 18905  	return c
 18906  }
 18907  
 18908  // Header returns a http.Header that can be modified by the caller to add
 18909  // headers to the request.
 18910  func (c *PurchasesSubscriptionsRefundCall) Header() http.Header {
 18911  	if c.header_ == nil {
 18912  		c.header_ = make(http.Header)
 18913  	}
 18914  	return c.header_
 18915  }
 18916  
 18917  func (c *PurchasesSubscriptionsRefundCall) doRequest(alt string) (*http.Response, error) {
 18918  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18919  	var body io.Reader = nil
 18920  	c.urlParams_.Set("alt", alt)
 18921  	c.urlParams_.Set("prettyPrint", "false")
 18922  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund")
 18923  	urls += "?" + c.urlParams_.Encode()
 18924  	req, err := http.NewRequest("POST", urls, body)
 18925  	if err != nil {
 18926  		return nil, err
 18927  	}
 18928  	req.Header = reqHeaders
 18929  	googleapi.Expand(req.URL, map[string]string{
 18930  		"packageName":    c.packageName,
 18931  		"subscriptionId": c.subscriptionId,
 18932  		"token":          c.token,
 18933  	})
 18934  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18935  }
 18936  
 18937  // Do executes the "androidpublisher.purchases.subscriptions.refund" call.
 18938  func (c *PurchasesSubscriptionsRefundCall) Do(opts ...googleapi.CallOption) error {
 18939  	gensupport.SetOptions(c.urlParams_, opts...)
 18940  	res, err := c.doRequest("json")
 18941  	if err != nil {
 18942  		return err
 18943  	}
 18944  	defer googleapi.CloseBody(res)
 18945  	if err := googleapi.CheckResponse(res); err != nil {
 18946  		return gensupport.WrapError(err)
 18947  	}
 18948  	return nil
 18949  }
 18950  
 18951  type PurchasesSubscriptionsRevokeCall struct {
 18952  	s              *Service
 18953  	packageName    string
 18954  	subscriptionId string
 18955  	token          string
 18956  	urlParams_     gensupport.URLParams
 18957  	ctx_           context.Context
 18958  	header_        http.Header
 18959  }
 18960  
 18961  // Revoke: Refunds and immediately revokes a user's subscription purchase.
 18962  // Access to the subscription will be terminated immediately and it will stop
 18963  // recurring.
 18964  //
 18965  //   - packageName: The package name of the application for which this
 18966  //     subscription was purchased (for example, 'com.some.thing').
 18967  //   - subscriptionId: The purchased subscription ID (for example, 'monthly001').
 18968  //   - token: The token provided to the user's device when the subscription was
 18969  //     purchased.
 18970  func (r *PurchasesSubscriptionsService) Revoke(packageName string, subscriptionId string, token string) *PurchasesSubscriptionsRevokeCall {
 18971  	c := &PurchasesSubscriptionsRevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18972  	c.packageName = packageName
 18973  	c.subscriptionId = subscriptionId
 18974  	c.token = token
 18975  	return c
 18976  }
 18977  
 18978  // Fields allows partial responses to be retrieved. See
 18979  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18980  // details.
 18981  func (c *PurchasesSubscriptionsRevokeCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsRevokeCall {
 18982  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18983  	return c
 18984  }
 18985  
 18986  // Context sets the context to be used in this call's Do method.
 18987  func (c *PurchasesSubscriptionsRevokeCall) Context(ctx context.Context) *PurchasesSubscriptionsRevokeCall {
 18988  	c.ctx_ = ctx
 18989  	return c
 18990  }
 18991  
 18992  // Header returns a http.Header that can be modified by the caller to add
 18993  // headers to the request.
 18994  func (c *PurchasesSubscriptionsRevokeCall) Header() http.Header {
 18995  	if c.header_ == nil {
 18996  		c.header_ = make(http.Header)
 18997  	}
 18998  	return c.header_
 18999  }
 19000  
 19001  func (c *PurchasesSubscriptionsRevokeCall) doRequest(alt string) (*http.Response, error) {
 19002  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19003  	var body io.Reader = nil
 19004  	c.urlParams_.Set("alt", alt)
 19005  	c.urlParams_.Set("prettyPrint", "false")
 19006  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke")
 19007  	urls += "?" + c.urlParams_.Encode()
 19008  	req, err := http.NewRequest("POST", urls, body)
 19009  	if err != nil {
 19010  		return nil, err
 19011  	}
 19012  	req.Header = reqHeaders
 19013  	googleapi.Expand(req.URL, map[string]string{
 19014  		"packageName":    c.packageName,
 19015  		"subscriptionId": c.subscriptionId,
 19016  		"token":          c.token,
 19017  	})
 19018  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19019  }
 19020  
 19021  // Do executes the "androidpublisher.purchases.subscriptions.revoke" call.
 19022  func (c *PurchasesSubscriptionsRevokeCall) Do(opts ...googleapi.CallOption) error {
 19023  	gensupport.SetOptions(c.urlParams_, opts...)
 19024  	res, err := c.doRequest("json")
 19025  	if err != nil {
 19026  		return err
 19027  	}
 19028  	defer googleapi.CloseBody(res)
 19029  	if err := googleapi.CheckResponse(res); err != nil {
 19030  		return gensupport.WrapError(err)
 19031  	}
 19032  	return nil
 19033  }
 19034  
 19035  type PurchasesSubscriptionsv2GetCall struct {
 19036  	s            *Service
 19037  	packageName  string
 19038  	token        string
 19039  	urlParams_   gensupport.URLParams
 19040  	ifNoneMatch_ string
 19041  	ctx_         context.Context
 19042  	header_      http.Header
 19043  }
 19044  
 19045  // Get: Get metadata about a subscription
 19046  //
 19047  //   - packageName: The package of the application for which this subscription
 19048  //     was purchased (for example, 'com.some.thing').
 19049  //   - token: The token provided to the user's device when the subscription was
 19050  //     purchased.
 19051  func (r *PurchasesSubscriptionsv2Service) Get(packageName string, token string) *PurchasesSubscriptionsv2GetCall {
 19052  	c := &PurchasesSubscriptionsv2GetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19053  	c.packageName = packageName
 19054  	c.token = token
 19055  	return c
 19056  }
 19057  
 19058  // Fields allows partial responses to be retrieved. See
 19059  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19060  // details.
 19061  func (c *PurchasesSubscriptionsv2GetCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsv2GetCall {
 19062  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19063  	return c
 19064  }
 19065  
 19066  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19067  // object's ETag matches the given value. This is useful for getting updates
 19068  // only after the object has changed since the last request.
 19069  func (c *PurchasesSubscriptionsv2GetCall) IfNoneMatch(entityTag string) *PurchasesSubscriptionsv2GetCall {
 19070  	c.ifNoneMatch_ = entityTag
 19071  	return c
 19072  }
 19073  
 19074  // Context sets the context to be used in this call's Do method.
 19075  func (c *PurchasesSubscriptionsv2GetCall) Context(ctx context.Context) *PurchasesSubscriptionsv2GetCall {
 19076  	c.ctx_ = ctx
 19077  	return c
 19078  }
 19079  
 19080  // Header returns a http.Header that can be modified by the caller to add
 19081  // headers to the request.
 19082  func (c *PurchasesSubscriptionsv2GetCall) Header() http.Header {
 19083  	if c.header_ == nil {
 19084  		c.header_ = make(http.Header)
 19085  	}
 19086  	return c.header_
 19087  }
 19088  
 19089  func (c *PurchasesSubscriptionsv2GetCall) doRequest(alt string) (*http.Response, error) {
 19090  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19091  	if c.ifNoneMatch_ != "" {
 19092  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19093  	}
 19094  	var body io.Reader = nil
 19095  	c.urlParams_.Set("alt", alt)
 19096  	c.urlParams_.Set("prettyPrint", "false")
 19097  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}")
 19098  	urls += "?" + c.urlParams_.Encode()
 19099  	req, err := http.NewRequest("GET", urls, body)
 19100  	if err != nil {
 19101  		return nil, err
 19102  	}
 19103  	req.Header = reqHeaders
 19104  	googleapi.Expand(req.URL, map[string]string{
 19105  		"packageName": c.packageName,
 19106  		"token":       c.token,
 19107  	})
 19108  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19109  }
 19110  
 19111  // Do executes the "androidpublisher.purchases.subscriptionsv2.get" call.
 19112  // Any non-2xx status code is an error. Response headers are in either
 19113  // *SubscriptionPurchaseV2.ServerResponse.Header or (if a response was returned
 19114  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19115  // check whether the returned error was because http.StatusNotModified was
 19116  // returned.
 19117  func (c *PurchasesSubscriptionsv2GetCall) Do(opts ...googleapi.CallOption) (*SubscriptionPurchaseV2, error) {
 19118  	gensupport.SetOptions(c.urlParams_, opts...)
 19119  	res, err := c.doRequest("json")
 19120  	if res != nil && res.StatusCode == http.StatusNotModified {
 19121  		if res.Body != nil {
 19122  			res.Body.Close()
 19123  		}
 19124  		return nil, gensupport.WrapError(&googleapi.Error{
 19125  			Code:   res.StatusCode,
 19126  			Header: res.Header,
 19127  		})
 19128  	}
 19129  	if err != nil {
 19130  		return nil, err
 19131  	}
 19132  	defer googleapi.CloseBody(res)
 19133  	if err := googleapi.CheckResponse(res); err != nil {
 19134  		return nil, gensupport.WrapError(err)
 19135  	}
 19136  	ret := &SubscriptionPurchaseV2{
 19137  		ServerResponse: googleapi.ServerResponse{
 19138  			Header:         res.Header,
 19139  			HTTPStatusCode: res.StatusCode,
 19140  		},
 19141  	}
 19142  	target := &ret
 19143  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19144  		return nil, err
 19145  	}
 19146  	return ret, nil
 19147  }
 19148  
 19149  type PurchasesSubscriptionsv2RevokeCall struct {
 19150  	s                                 *Service
 19151  	packageName                       string
 19152  	token                             string
 19153  	revokesubscriptionpurchaserequest *RevokeSubscriptionPurchaseRequest
 19154  	urlParams_                        gensupport.URLParams
 19155  	ctx_                              context.Context
 19156  	header_                           http.Header
 19157  }
 19158  
 19159  // Revoke: Revoke a subscription purchase for the user.
 19160  //
 19161  //   - packageName: The package of the application for which this subscription
 19162  //     was purchased (for example, 'com.some.thing').
 19163  //   - token: The token provided to the user's device when the subscription was
 19164  //     purchased.
 19165  func (r *PurchasesSubscriptionsv2Service) Revoke(packageName string, token string, revokesubscriptionpurchaserequest *RevokeSubscriptionPurchaseRequest) *PurchasesSubscriptionsv2RevokeCall {
 19166  	c := &PurchasesSubscriptionsv2RevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19167  	c.packageName = packageName
 19168  	c.token = token
 19169  	c.revokesubscriptionpurchaserequest = revokesubscriptionpurchaserequest
 19170  	return c
 19171  }
 19172  
 19173  // Fields allows partial responses to be retrieved. See
 19174  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19175  // details.
 19176  func (c *PurchasesSubscriptionsv2RevokeCall) Fields(s ...googleapi.Field) *PurchasesSubscriptionsv2RevokeCall {
 19177  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19178  	return c
 19179  }
 19180  
 19181  // Context sets the context to be used in this call's Do method.
 19182  func (c *PurchasesSubscriptionsv2RevokeCall) Context(ctx context.Context) *PurchasesSubscriptionsv2RevokeCall {
 19183  	c.ctx_ = ctx
 19184  	return c
 19185  }
 19186  
 19187  // Header returns a http.Header that can be modified by the caller to add
 19188  // headers to the request.
 19189  func (c *PurchasesSubscriptionsv2RevokeCall) Header() http.Header {
 19190  	if c.header_ == nil {
 19191  		c.header_ = make(http.Header)
 19192  	}
 19193  	return c.header_
 19194  }
 19195  
 19196  func (c *PurchasesSubscriptionsv2RevokeCall) doRequest(alt string) (*http.Response, error) {
 19197  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19198  	var body io.Reader = nil
 19199  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.revokesubscriptionpurchaserequest)
 19200  	if err != nil {
 19201  		return nil, err
 19202  	}
 19203  	c.urlParams_.Set("alt", alt)
 19204  	c.urlParams_.Set("prettyPrint", "false")
 19205  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke")
 19206  	urls += "?" + c.urlParams_.Encode()
 19207  	req, err := http.NewRequest("POST", urls, body)
 19208  	if err != nil {
 19209  		return nil, err
 19210  	}
 19211  	req.Header = reqHeaders
 19212  	googleapi.Expand(req.URL, map[string]string{
 19213  		"packageName": c.packageName,
 19214  		"token":       c.token,
 19215  	})
 19216  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19217  }
 19218  
 19219  // Do executes the "androidpublisher.purchases.subscriptionsv2.revoke" call.
 19220  // Any non-2xx status code is an error. Response headers are in either
 19221  // *RevokeSubscriptionPurchaseResponse.ServerResponse.Header or (if a response
 19222  // was returned at all) in error.(*googleapi.Error).Header. Use
 19223  // googleapi.IsNotModified to check whether the returned error was because
 19224  // http.StatusNotModified was returned.
 19225  func (c *PurchasesSubscriptionsv2RevokeCall) Do(opts ...googleapi.CallOption) (*RevokeSubscriptionPurchaseResponse, error) {
 19226  	gensupport.SetOptions(c.urlParams_, opts...)
 19227  	res, err := c.doRequest("json")
 19228  	if res != nil && res.StatusCode == http.StatusNotModified {
 19229  		if res.Body != nil {
 19230  			res.Body.Close()
 19231  		}
 19232  		return nil, gensupport.WrapError(&googleapi.Error{
 19233  			Code:   res.StatusCode,
 19234  			Header: res.Header,
 19235  		})
 19236  	}
 19237  	if err != nil {
 19238  		return nil, err
 19239  	}
 19240  	defer googleapi.CloseBody(res)
 19241  	if err := googleapi.CheckResponse(res); err != nil {
 19242  		return nil, gensupport.WrapError(err)
 19243  	}
 19244  	ret := &RevokeSubscriptionPurchaseResponse{
 19245  		ServerResponse: googleapi.ServerResponse{
 19246  			Header:         res.Header,
 19247  			HTTPStatusCode: res.StatusCode,
 19248  		},
 19249  	}
 19250  	target := &ret
 19251  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19252  		return nil, err
 19253  	}
 19254  	return ret, nil
 19255  }
 19256  
 19257  type PurchasesVoidedpurchasesListCall struct {
 19258  	s            *Service
 19259  	packageName  string
 19260  	urlParams_   gensupport.URLParams
 19261  	ifNoneMatch_ string
 19262  	ctx_         context.Context
 19263  	header_      http.Header
 19264  }
 19265  
 19266  // List: Lists the purchases that were canceled, refunded or charged-back.
 19267  //
 19268  //   - packageName: The package name of the application for which voided
 19269  //     purchases need to be returned (for example, 'com.some.thing').
 19270  func (r *PurchasesVoidedpurchasesService) List(packageName string) *PurchasesVoidedpurchasesListCall {
 19271  	c := &PurchasesVoidedpurchasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19272  	c.packageName = packageName
 19273  	return c
 19274  }
 19275  
 19276  // EndTime sets the optional parameter "endTime": The time, in milliseconds
 19277  // since the Epoch, of the newest voided purchase that you want to see in the
 19278  // response. The value of this parameter cannot be greater than the current
 19279  // time and is ignored if a pagination token is set. Default value is current
 19280  // time. Note: This filter is applied on the time at which the record is seen
 19281  // as voided by our systems and not the actual voided time returned in the
 19282  // response.
 19283  func (c *PurchasesVoidedpurchasesListCall) EndTime(endTime int64) *PurchasesVoidedpurchasesListCall {
 19284  	c.urlParams_.Set("endTime", fmt.Sprint(endTime))
 19285  	return c
 19286  }
 19287  
 19288  // IncludeQuantityBasedPartialRefund sets the optional parameter
 19289  // "includeQuantityBasedPartialRefund": Whether to include voided purchases of
 19290  // quantity-based partial refunds, which are applicable only to multi-quantity
 19291  // purchases. If true, additional voided purchases may be returned with
 19292  // voidedQuantity that indicates the refund quantity of a quantity-based
 19293  // partial refund. The default value is false.
 19294  func (c *PurchasesVoidedpurchasesListCall) IncludeQuantityBasedPartialRefund(includeQuantityBasedPartialRefund bool) *PurchasesVoidedpurchasesListCall {
 19295  	c.urlParams_.Set("includeQuantityBasedPartialRefund", fmt.Sprint(includeQuantityBasedPartialRefund))
 19296  	return c
 19297  }
 19298  
 19299  // MaxResults sets the optional parameter "maxResults": Defines how many
 19300  // results the list operation should return. The default number depends on the
 19301  // resource collection.
 19302  func (c *PurchasesVoidedpurchasesListCall) MaxResults(maxResults int64) *PurchasesVoidedpurchasesListCall {
 19303  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19304  	return c
 19305  }
 19306  
 19307  // StartIndex sets the optional parameter "startIndex": Defines the index of
 19308  // the first element to return. This can only be used if indexed paging is
 19309  // enabled.
 19310  func (c *PurchasesVoidedpurchasesListCall) StartIndex(startIndex int64) *PurchasesVoidedpurchasesListCall {
 19311  	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
 19312  	return c
 19313  }
 19314  
 19315  // StartTime sets the optional parameter "startTime": The time, in milliseconds
 19316  // since the Epoch, of the oldest voided purchase that you want to see in the
 19317  // response. The value of this parameter cannot be older than 30 days and is
 19318  // ignored if a pagination token is set. Default value is current time minus 30
 19319  // days. Note: This filter is applied on the time at which the record is seen
 19320  // as voided by our systems and not the actual voided time returned in the
 19321  // response.
 19322  func (c *PurchasesVoidedpurchasesListCall) StartTime(startTime int64) *PurchasesVoidedpurchasesListCall {
 19323  	c.urlParams_.Set("startTime", fmt.Sprint(startTime))
 19324  	return c
 19325  }
 19326  
 19327  // Token sets the optional parameter "token": Defines the token of the page to
 19328  // return, usually taken from TokenPagination. This can only be used if token
 19329  // paging is enabled.
 19330  func (c *PurchasesVoidedpurchasesListCall) Token(token string) *PurchasesVoidedpurchasesListCall {
 19331  	c.urlParams_.Set("token", token)
 19332  	return c
 19333  }
 19334  
 19335  // Type sets the optional parameter "type": The type of voided purchases that
 19336  // you want to see in the response. Possible values are: 0. Only voided in-app
 19337  // product purchases will be returned in the response. This is the default
 19338  // value. 1. Both voided in-app purchases and voided subscription purchases
 19339  // will be returned in the response. Note: Before requesting to receive voided
 19340  // subscription purchases, you must switch to use orderId in the response which
 19341  // uniquely identifies one-time purchases and subscriptions. Otherwise, you
 19342  // will receive multiple subscription orders with the same PurchaseToken,
 19343  // because subscription renewal orders share the same PurchaseToken.
 19344  func (c *PurchasesVoidedpurchasesListCall) Type(type_ int64) *PurchasesVoidedpurchasesListCall {
 19345  	c.urlParams_.Set("type", fmt.Sprint(type_))
 19346  	return c
 19347  }
 19348  
 19349  // Fields allows partial responses to be retrieved. See
 19350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19351  // details.
 19352  func (c *PurchasesVoidedpurchasesListCall) Fields(s ...googleapi.Field) *PurchasesVoidedpurchasesListCall {
 19353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19354  	return c
 19355  }
 19356  
 19357  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19358  // object's ETag matches the given value. This is useful for getting updates
 19359  // only after the object has changed since the last request.
 19360  func (c *PurchasesVoidedpurchasesListCall) IfNoneMatch(entityTag string) *PurchasesVoidedpurchasesListCall {
 19361  	c.ifNoneMatch_ = entityTag
 19362  	return c
 19363  }
 19364  
 19365  // Context sets the context to be used in this call's Do method.
 19366  func (c *PurchasesVoidedpurchasesListCall) Context(ctx context.Context) *PurchasesVoidedpurchasesListCall {
 19367  	c.ctx_ = ctx
 19368  	return c
 19369  }
 19370  
 19371  // Header returns a http.Header that can be modified by the caller to add
 19372  // headers to the request.
 19373  func (c *PurchasesVoidedpurchasesListCall) Header() http.Header {
 19374  	if c.header_ == nil {
 19375  		c.header_ = make(http.Header)
 19376  	}
 19377  	return c.header_
 19378  }
 19379  
 19380  func (c *PurchasesVoidedpurchasesListCall) doRequest(alt string) (*http.Response, error) {
 19381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19382  	if c.ifNoneMatch_ != "" {
 19383  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19384  	}
 19385  	var body io.Reader = nil
 19386  	c.urlParams_.Set("alt", alt)
 19387  	c.urlParams_.Set("prettyPrint", "false")
 19388  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases")
 19389  	urls += "?" + c.urlParams_.Encode()
 19390  	req, err := http.NewRequest("GET", urls, body)
 19391  	if err != nil {
 19392  		return nil, err
 19393  	}
 19394  	req.Header = reqHeaders
 19395  	googleapi.Expand(req.URL, map[string]string{
 19396  		"packageName": c.packageName,
 19397  	})
 19398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19399  }
 19400  
 19401  // Do executes the "androidpublisher.purchases.voidedpurchases.list" call.
 19402  // Any non-2xx status code is an error. Response headers are in either
 19403  // *VoidedPurchasesListResponse.ServerResponse.Header or (if a response was
 19404  // returned at all) in error.(*googleapi.Error).Header. Use
 19405  // googleapi.IsNotModified to check whether the returned error was because
 19406  // http.StatusNotModified was returned.
 19407  func (c *PurchasesVoidedpurchasesListCall) Do(opts ...googleapi.CallOption) (*VoidedPurchasesListResponse, error) {
 19408  	gensupport.SetOptions(c.urlParams_, opts...)
 19409  	res, err := c.doRequest("json")
 19410  	if res != nil && res.StatusCode == http.StatusNotModified {
 19411  		if res.Body != nil {
 19412  			res.Body.Close()
 19413  		}
 19414  		return nil, gensupport.WrapError(&googleapi.Error{
 19415  			Code:   res.StatusCode,
 19416  			Header: res.Header,
 19417  		})
 19418  	}
 19419  	if err != nil {
 19420  		return nil, err
 19421  	}
 19422  	defer googleapi.CloseBody(res)
 19423  	if err := googleapi.CheckResponse(res); err != nil {
 19424  		return nil, gensupport.WrapError(err)
 19425  	}
 19426  	ret := &VoidedPurchasesListResponse{
 19427  		ServerResponse: googleapi.ServerResponse{
 19428  			Header:         res.Header,
 19429  			HTTPStatusCode: res.StatusCode,
 19430  		},
 19431  	}
 19432  	target := &ret
 19433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19434  		return nil, err
 19435  	}
 19436  	return ret, nil
 19437  }
 19438  
 19439  type ReviewsGetCall struct {
 19440  	s            *Service
 19441  	packageName  string
 19442  	reviewId     string
 19443  	urlParams_   gensupport.URLParams
 19444  	ifNoneMatch_ string
 19445  	ctx_         context.Context
 19446  	header_      http.Header
 19447  }
 19448  
 19449  // Get: Gets a single review.
 19450  //
 19451  // - packageName: Package name of the app.
 19452  // - reviewId: Unique identifier for a review.
 19453  func (r *ReviewsService) Get(packageName string, reviewId string) *ReviewsGetCall {
 19454  	c := &ReviewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19455  	c.packageName = packageName
 19456  	c.reviewId = reviewId
 19457  	return c
 19458  }
 19459  
 19460  // TranslationLanguage sets the optional parameter "translationLanguage":
 19461  // Language localization code.
 19462  func (c *ReviewsGetCall) TranslationLanguage(translationLanguage string) *ReviewsGetCall {
 19463  	c.urlParams_.Set("translationLanguage", translationLanguage)
 19464  	return c
 19465  }
 19466  
 19467  // Fields allows partial responses to be retrieved. See
 19468  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19469  // details.
 19470  func (c *ReviewsGetCall) Fields(s ...googleapi.Field) *ReviewsGetCall {
 19471  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19472  	return c
 19473  }
 19474  
 19475  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19476  // object's ETag matches the given value. This is useful for getting updates
 19477  // only after the object has changed since the last request.
 19478  func (c *ReviewsGetCall) IfNoneMatch(entityTag string) *ReviewsGetCall {
 19479  	c.ifNoneMatch_ = entityTag
 19480  	return c
 19481  }
 19482  
 19483  // Context sets the context to be used in this call's Do method.
 19484  func (c *ReviewsGetCall) Context(ctx context.Context) *ReviewsGetCall {
 19485  	c.ctx_ = ctx
 19486  	return c
 19487  }
 19488  
 19489  // Header returns a http.Header that can be modified by the caller to add
 19490  // headers to the request.
 19491  func (c *ReviewsGetCall) Header() http.Header {
 19492  	if c.header_ == nil {
 19493  		c.header_ = make(http.Header)
 19494  	}
 19495  	return c.header_
 19496  }
 19497  
 19498  func (c *ReviewsGetCall) doRequest(alt string) (*http.Response, error) {
 19499  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19500  	if c.ifNoneMatch_ != "" {
 19501  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19502  	}
 19503  	var body io.Reader = nil
 19504  	c.urlParams_.Set("alt", alt)
 19505  	c.urlParams_.Set("prettyPrint", "false")
 19506  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}")
 19507  	urls += "?" + c.urlParams_.Encode()
 19508  	req, err := http.NewRequest("GET", urls, body)
 19509  	if err != nil {
 19510  		return nil, err
 19511  	}
 19512  	req.Header = reqHeaders
 19513  	googleapi.Expand(req.URL, map[string]string{
 19514  		"packageName": c.packageName,
 19515  		"reviewId":    c.reviewId,
 19516  	})
 19517  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19518  }
 19519  
 19520  // Do executes the "androidpublisher.reviews.get" call.
 19521  // Any non-2xx status code is an error. Response headers are in either
 19522  // *Review.ServerResponse.Header or (if a response was returned at all) in
 19523  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19524  // whether the returned error was because http.StatusNotModified was returned.
 19525  func (c *ReviewsGetCall) Do(opts ...googleapi.CallOption) (*Review, error) {
 19526  	gensupport.SetOptions(c.urlParams_, opts...)
 19527  	res, err := c.doRequest("json")
 19528  	if res != nil && res.StatusCode == http.StatusNotModified {
 19529  		if res.Body != nil {
 19530  			res.Body.Close()
 19531  		}
 19532  		return nil, gensupport.WrapError(&googleapi.Error{
 19533  			Code:   res.StatusCode,
 19534  			Header: res.Header,
 19535  		})
 19536  	}
 19537  	if err != nil {
 19538  		return nil, err
 19539  	}
 19540  	defer googleapi.CloseBody(res)
 19541  	if err := googleapi.CheckResponse(res); err != nil {
 19542  		return nil, gensupport.WrapError(err)
 19543  	}
 19544  	ret := &Review{
 19545  		ServerResponse: googleapi.ServerResponse{
 19546  			Header:         res.Header,
 19547  			HTTPStatusCode: res.StatusCode,
 19548  		},
 19549  	}
 19550  	target := &ret
 19551  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19552  		return nil, err
 19553  	}
 19554  	return ret, nil
 19555  }
 19556  
 19557  type ReviewsListCall struct {
 19558  	s            *Service
 19559  	packageName  string
 19560  	urlParams_   gensupport.URLParams
 19561  	ifNoneMatch_ string
 19562  	ctx_         context.Context
 19563  	header_      http.Header
 19564  }
 19565  
 19566  // List: Lists all reviews.
 19567  //
 19568  // - packageName: Package name of the app.
 19569  func (r *ReviewsService) List(packageName string) *ReviewsListCall {
 19570  	c := &ReviewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19571  	c.packageName = packageName
 19572  	return c
 19573  }
 19574  
 19575  // MaxResults sets the optional parameter "maxResults": How many results the
 19576  // list operation should return.
 19577  func (c *ReviewsListCall) MaxResults(maxResults int64) *ReviewsListCall {
 19578  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19579  	return c
 19580  }
 19581  
 19582  // StartIndex sets the optional parameter "startIndex": The index of the first
 19583  // element to return.
 19584  func (c *ReviewsListCall) StartIndex(startIndex int64) *ReviewsListCall {
 19585  	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
 19586  	return c
 19587  }
 19588  
 19589  // Token sets the optional parameter "token": Pagination token. If empty, list
 19590  // starts at the first review.
 19591  func (c *ReviewsListCall) Token(token string) *ReviewsListCall {
 19592  	c.urlParams_.Set("token", token)
 19593  	return c
 19594  }
 19595  
 19596  // TranslationLanguage sets the optional parameter "translationLanguage":
 19597  // Language localization code.
 19598  func (c *ReviewsListCall) TranslationLanguage(translationLanguage string) *ReviewsListCall {
 19599  	c.urlParams_.Set("translationLanguage", translationLanguage)
 19600  	return c
 19601  }
 19602  
 19603  // Fields allows partial responses to be retrieved. See
 19604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19605  // details.
 19606  func (c *ReviewsListCall) Fields(s ...googleapi.Field) *ReviewsListCall {
 19607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19608  	return c
 19609  }
 19610  
 19611  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19612  // object's ETag matches the given value. This is useful for getting updates
 19613  // only after the object has changed since the last request.
 19614  func (c *ReviewsListCall) IfNoneMatch(entityTag string) *ReviewsListCall {
 19615  	c.ifNoneMatch_ = entityTag
 19616  	return c
 19617  }
 19618  
 19619  // Context sets the context to be used in this call's Do method.
 19620  func (c *ReviewsListCall) Context(ctx context.Context) *ReviewsListCall {
 19621  	c.ctx_ = ctx
 19622  	return c
 19623  }
 19624  
 19625  // Header returns a http.Header that can be modified by the caller to add
 19626  // headers to the request.
 19627  func (c *ReviewsListCall) Header() http.Header {
 19628  	if c.header_ == nil {
 19629  		c.header_ = make(http.Header)
 19630  	}
 19631  	return c.header_
 19632  }
 19633  
 19634  func (c *ReviewsListCall) doRequest(alt string) (*http.Response, error) {
 19635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19636  	if c.ifNoneMatch_ != "" {
 19637  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19638  	}
 19639  	var body io.Reader = nil
 19640  	c.urlParams_.Set("alt", alt)
 19641  	c.urlParams_.Set("prettyPrint", "false")
 19642  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/reviews")
 19643  	urls += "?" + c.urlParams_.Encode()
 19644  	req, err := http.NewRequest("GET", urls, body)
 19645  	if err != nil {
 19646  		return nil, err
 19647  	}
 19648  	req.Header = reqHeaders
 19649  	googleapi.Expand(req.URL, map[string]string{
 19650  		"packageName": c.packageName,
 19651  	})
 19652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19653  }
 19654  
 19655  // Do executes the "androidpublisher.reviews.list" call.
 19656  // Any non-2xx status code is an error. Response headers are in either
 19657  // *ReviewsListResponse.ServerResponse.Header or (if a response was returned at
 19658  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19659  // check whether the returned error was because http.StatusNotModified was
 19660  // returned.
 19661  func (c *ReviewsListCall) Do(opts ...googleapi.CallOption) (*ReviewsListResponse, error) {
 19662  	gensupport.SetOptions(c.urlParams_, opts...)
 19663  	res, err := c.doRequest("json")
 19664  	if res != nil && res.StatusCode == http.StatusNotModified {
 19665  		if res.Body != nil {
 19666  			res.Body.Close()
 19667  		}
 19668  		return nil, gensupport.WrapError(&googleapi.Error{
 19669  			Code:   res.StatusCode,
 19670  			Header: res.Header,
 19671  		})
 19672  	}
 19673  	if err != nil {
 19674  		return nil, err
 19675  	}
 19676  	defer googleapi.CloseBody(res)
 19677  	if err := googleapi.CheckResponse(res); err != nil {
 19678  		return nil, gensupport.WrapError(err)
 19679  	}
 19680  	ret := &ReviewsListResponse{
 19681  		ServerResponse: googleapi.ServerResponse{
 19682  			Header:         res.Header,
 19683  			HTTPStatusCode: res.StatusCode,
 19684  		},
 19685  	}
 19686  	target := &ret
 19687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19688  		return nil, err
 19689  	}
 19690  	return ret, nil
 19691  }
 19692  
 19693  type ReviewsReplyCall struct {
 19694  	s                   *Service
 19695  	packageName         string
 19696  	reviewId            string
 19697  	reviewsreplyrequest *ReviewsReplyRequest
 19698  	urlParams_          gensupport.URLParams
 19699  	ctx_                context.Context
 19700  	header_             http.Header
 19701  }
 19702  
 19703  // Reply: Replies to a single review, or updates an existing reply.
 19704  //
 19705  // - packageName: Package name of the app.
 19706  // - reviewId: Unique identifier for a review.
 19707  func (r *ReviewsService) Reply(packageName string, reviewId string, reviewsreplyrequest *ReviewsReplyRequest) *ReviewsReplyCall {
 19708  	c := &ReviewsReplyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19709  	c.packageName = packageName
 19710  	c.reviewId = reviewId
 19711  	c.reviewsreplyrequest = reviewsreplyrequest
 19712  	return c
 19713  }
 19714  
 19715  // Fields allows partial responses to be retrieved. See
 19716  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19717  // details.
 19718  func (c *ReviewsReplyCall) Fields(s ...googleapi.Field) *ReviewsReplyCall {
 19719  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19720  	return c
 19721  }
 19722  
 19723  // Context sets the context to be used in this call's Do method.
 19724  func (c *ReviewsReplyCall) Context(ctx context.Context) *ReviewsReplyCall {
 19725  	c.ctx_ = ctx
 19726  	return c
 19727  }
 19728  
 19729  // Header returns a http.Header that can be modified by the caller to add
 19730  // headers to the request.
 19731  func (c *ReviewsReplyCall) Header() http.Header {
 19732  	if c.header_ == nil {
 19733  		c.header_ = make(http.Header)
 19734  	}
 19735  	return c.header_
 19736  }
 19737  
 19738  func (c *ReviewsReplyCall) doRequest(alt string) (*http.Response, error) {
 19739  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19740  	var body io.Reader = nil
 19741  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.reviewsreplyrequest)
 19742  	if err != nil {
 19743  		return nil, err
 19744  	}
 19745  	c.urlParams_.Set("alt", alt)
 19746  	c.urlParams_.Set("prettyPrint", "false")
 19747  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply")
 19748  	urls += "?" + c.urlParams_.Encode()
 19749  	req, err := http.NewRequest("POST", urls, body)
 19750  	if err != nil {
 19751  		return nil, err
 19752  	}
 19753  	req.Header = reqHeaders
 19754  	googleapi.Expand(req.URL, map[string]string{
 19755  		"packageName": c.packageName,
 19756  		"reviewId":    c.reviewId,
 19757  	})
 19758  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19759  }
 19760  
 19761  // Do executes the "androidpublisher.reviews.reply" call.
 19762  // Any non-2xx status code is an error. Response headers are in either
 19763  // *ReviewsReplyResponse.ServerResponse.Header or (if a response was returned
 19764  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19765  // check whether the returned error was because http.StatusNotModified was
 19766  // returned.
 19767  func (c *ReviewsReplyCall) Do(opts ...googleapi.CallOption) (*ReviewsReplyResponse, error) {
 19768  	gensupport.SetOptions(c.urlParams_, opts...)
 19769  	res, err := c.doRequest("json")
 19770  	if res != nil && res.StatusCode == http.StatusNotModified {
 19771  		if res.Body != nil {
 19772  			res.Body.Close()
 19773  		}
 19774  		return nil, gensupport.WrapError(&googleapi.Error{
 19775  			Code:   res.StatusCode,
 19776  			Header: res.Header,
 19777  		})
 19778  	}
 19779  	if err != nil {
 19780  		return nil, err
 19781  	}
 19782  	defer googleapi.CloseBody(res)
 19783  	if err := googleapi.CheckResponse(res); err != nil {
 19784  		return nil, gensupport.WrapError(err)
 19785  	}
 19786  	ret := &ReviewsReplyResponse{
 19787  		ServerResponse: googleapi.ServerResponse{
 19788  			Header:         res.Header,
 19789  			HTTPStatusCode: res.StatusCode,
 19790  		},
 19791  	}
 19792  	target := &ret
 19793  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19794  		return nil, err
 19795  	}
 19796  	return ret, nil
 19797  }
 19798  
 19799  type SystemapksVariantsCreateCall struct {
 19800  	s           *Service
 19801  	packageName string
 19802  	versionCode int64
 19803  	variant     *Variant
 19804  	urlParams_  gensupport.URLParams
 19805  	ctx_        context.Context
 19806  	header_     http.Header
 19807  }
 19808  
 19809  // Create: Creates an APK which is suitable for inclusion in a system image
 19810  // from an already uploaded Android App Bundle.
 19811  //
 19812  // - packageName: Package name of the app.
 19813  // - versionCode: The version code of the App Bundle.
 19814  func (r *SystemapksVariantsService) Create(packageName string, versionCode int64, variant *Variant) *SystemapksVariantsCreateCall {
 19815  	c := &SystemapksVariantsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19816  	c.packageName = packageName
 19817  	c.versionCode = versionCode
 19818  	c.variant = variant
 19819  	return c
 19820  }
 19821  
 19822  // Fields allows partial responses to be retrieved. See
 19823  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19824  // details.
 19825  func (c *SystemapksVariantsCreateCall) Fields(s ...googleapi.Field) *SystemapksVariantsCreateCall {
 19826  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19827  	return c
 19828  }
 19829  
 19830  // Context sets the context to be used in this call's Do method.
 19831  func (c *SystemapksVariantsCreateCall) Context(ctx context.Context) *SystemapksVariantsCreateCall {
 19832  	c.ctx_ = ctx
 19833  	return c
 19834  }
 19835  
 19836  // Header returns a http.Header that can be modified by the caller to add
 19837  // headers to the request.
 19838  func (c *SystemapksVariantsCreateCall) Header() http.Header {
 19839  	if c.header_ == nil {
 19840  		c.header_ = make(http.Header)
 19841  	}
 19842  	return c.header_
 19843  }
 19844  
 19845  func (c *SystemapksVariantsCreateCall) doRequest(alt string) (*http.Response, error) {
 19846  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19847  	var body io.Reader = nil
 19848  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variant)
 19849  	if err != nil {
 19850  		return nil, err
 19851  	}
 19852  	c.urlParams_.Set("alt", alt)
 19853  	c.urlParams_.Set("prettyPrint", "false")
 19854  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants")
 19855  	urls += "?" + c.urlParams_.Encode()
 19856  	req, err := http.NewRequest("POST", urls, body)
 19857  	if err != nil {
 19858  		return nil, err
 19859  	}
 19860  	req.Header = reqHeaders
 19861  	googleapi.Expand(req.URL, map[string]string{
 19862  		"packageName": c.packageName,
 19863  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 19864  	})
 19865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19866  }
 19867  
 19868  // Do executes the "androidpublisher.systemapks.variants.create" call.
 19869  // Any non-2xx status code is an error. Response headers are in either
 19870  // *Variant.ServerResponse.Header or (if a response was returned at all) in
 19871  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19872  // whether the returned error was because http.StatusNotModified was returned.
 19873  func (c *SystemapksVariantsCreateCall) Do(opts ...googleapi.CallOption) (*Variant, error) {
 19874  	gensupport.SetOptions(c.urlParams_, opts...)
 19875  	res, err := c.doRequest("json")
 19876  	if res != nil && res.StatusCode == http.StatusNotModified {
 19877  		if res.Body != nil {
 19878  			res.Body.Close()
 19879  		}
 19880  		return nil, gensupport.WrapError(&googleapi.Error{
 19881  			Code:   res.StatusCode,
 19882  			Header: res.Header,
 19883  		})
 19884  	}
 19885  	if err != nil {
 19886  		return nil, err
 19887  	}
 19888  	defer googleapi.CloseBody(res)
 19889  	if err := googleapi.CheckResponse(res); err != nil {
 19890  		return nil, gensupport.WrapError(err)
 19891  	}
 19892  	ret := &Variant{
 19893  		ServerResponse: googleapi.ServerResponse{
 19894  			Header:         res.Header,
 19895  			HTTPStatusCode: res.StatusCode,
 19896  		},
 19897  	}
 19898  	target := &ret
 19899  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19900  		return nil, err
 19901  	}
 19902  	return ret, nil
 19903  }
 19904  
 19905  type SystemapksVariantsDownloadCall struct {
 19906  	s            *Service
 19907  	packageName  string
 19908  	versionCode  int64
 19909  	variantId    int64
 19910  	urlParams_   gensupport.URLParams
 19911  	ifNoneMatch_ string
 19912  	ctx_         context.Context
 19913  	header_      http.Header
 19914  }
 19915  
 19916  // Download: Downloads a previously created system APK which is suitable for
 19917  // inclusion in a system image.
 19918  //
 19919  // - packageName: Package name of the app.
 19920  // - variantId: The ID of a previously created system APK variant.
 19921  // - versionCode: The version code of the App Bundle.
 19922  func (r *SystemapksVariantsService) Download(packageName string, versionCode int64, variantId int64) *SystemapksVariantsDownloadCall {
 19923  	c := &SystemapksVariantsDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19924  	c.packageName = packageName
 19925  	c.versionCode = versionCode
 19926  	c.variantId = variantId
 19927  	return c
 19928  }
 19929  
 19930  // Fields allows partial responses to be retrieved. See
 19931  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19932  // details.
 19933  func (c *SystemapksVariantsDownloadCall) Fields(s ...googleapi.Field) *SystemapksVariantsDownloadCall {
 19934  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19935  	return c
 19936  }
 19937  
 19938  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19939  // object's ETag matches the given value. This is useful for getting updates
 19940  // only after the object has changed since the last request.
 19941  func (c *SystemapksVariantsDownloadCall) IfNoneMatch(entityTag string) *SystemapksVariantsDownloadCall {
 19942  	c.ifNoneMatch_ = entityTag
 19943  	return c
 19944  }
 19945  
 19946  // Context sets the context to be used in this call's Do and Download methods.
 19947  func (c *SystemapksVariantsDownloadCall) Context(ctx context.Context) *SystemapksVariantsDownloadCall {
 19948  	c.ctx_ = ctx
 19949  	return c
 19950  }
 19951  
 19952  // Header returns a http.Header that can be modified by the caller to add
 19953  // headers to the request.
 19954  func (c *SystemapksVariantsDownloadCall) Header() http.Header {
 19955  	if c.header_ == nil {
 19956  		c.header_ = make(http.Header)
 19957  	}
 19958  	return c.header_
 19959  }
 19960  
 19961  func (c *SystemapksVariantsDownloadCall) doRequest(alt string) (*http.Response, error) {
 19962  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19963  	if c.ifNoneMatch_ != "" {
 19964  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19965  	}
 19966  	var body io.Reader = nil
 19967  	c.urlParams_.Set("alt", alt)
 19968  	c.urlParams_.Set("prettyPrint", "false")
 19969  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}:download")
 19970  	urls += "?" + c.urlParams_.Encode()
 19971  	req, err := http.NewRequest("GET", urls, body)
 19972  	if err != nil {
 19973  		return nil, err
 19974  	}
 19975  	req.Header = reqHeaders
 19976  	googleapi.Expand(req.URL, map[string]string{
 19977  		"packageName": c.packageName,
 19978  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 19979  		"variantId":   strconv.FormatInt(c.variantId, 10),
 19980  	})
 19981  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19982  }
 19983  
 19984  // Download fetches the API endpoint's "media" value, instead of the normal
 19985  // API response value. If the returned error is nil, the Response is guaranteed to
 19986  // have a 2xx status code. Callers must close the Response.Body as usual.
 19987  func (c *SystemapksVariantsDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 19988  	gensupport.SetOptions(c.urlParams_, opts...)
 19989  	res, err := c.doRequest("media")
 19990  	if err != nil {
 19991  		return nil, err
 19992  	}
 19993  	if err := googleapi.CheckResponse(res); err != nil {
 19994  		res.Body.Close()
 19995  		return nil, gensupport.WrapError(err)
 19996  	}
 19997  	return res, nil
 19998  }
 19999  
 20000  // Do executes the "androidpublisher.systemapks.variants.download" call.
 20001  func (c *SystemapksVariantsDownloadCall) Do(opts ...googleapi.CallOption) error {
 20002  	gensupport.SetOptions(c.urlParams_, opts...)
 20003  	res, err := c.doRequest("json")
 20004  	if err != nil {
 20005  		return err
 20006  	}
 20007  	defer googleapi.CloseBody(res)
 20008  	if err := googleapi.CheckResponse(res); err != nil {
 20009  		return gensupport.WrapError(err)
 20010  	}
 20011  	return nil
 20012  }
 20013  
 20014  type SystemapksVariantsGetCall struct {
 20015  	s            *Service
 20016  	packageName  string
 20017  	versionCode  int64
 20018  	variantId    int64
 20019  	urlParams_   gensupport.URLParams
 20020  	ifNoneMatch_ string
 20021  	ctx_         context.Context
 20022  	header_      http.Header
 20023  }
 20024  
 20025  // Get: Returns a previously created system APK variant.
 20026  //
 20027  // - packageName: Package name of the app.
 20028  // - variantId: The ID of a previously created system APK variant.
 20029  // - versionCode: The version code of the App Bundle.
 20030  func (r *SystemapksVariantsService) Get(packageName string, versionCode int64, variantId int64) *SystemapksVariantsGetCall {
 20031  	c := &SystemapksVariantsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20032  	c.packageName = packageName
 20033  	c.versionCode = versionCode
 20034  	c.variantId = variantId
 20035  	return c
 20036  }
 20037  
 20038  // Fields allows partial responses to be retrieved. See
 20039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20040  // details.
 20041  func (c *SystemapksVariantsGetCall) Fields(s ...googleapi.Field) *SystemapksVariantsGetCall {
 20042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20043  	return c
 20044  }
 20045  
 20046  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20047  // object's ETag matches the given value. This is useful for getting updates
 20048  // only after the object has changed since the last request.
 20049  func (c *SystemapksVariantsGetCall) IfNoneMatch(entityTag string) *SystemapksVariantsGetCall {
 20050  	c.ifNoneMatch_ = entityTag
 20051  	return c
 20052  }
 20053  
 20054  // Context sets the context to be used in this call's Do method.
 20055  func (c *SystemapksVariantsGetCall) Context(ctx context.Context) *SystemapksVariantsGetCall {
 20056  	c.ctx_ = ctx
 20057  	return c
 20058  }
 20059  
 20060  // Header returns a http.Header that can be modified by the caller to add
 20061  // headers to the request.
 20062  func (c *SystemapksVariantsGetCall) Header() http.Header {
 20063  	if c.header_ == nil {
 20064  		c.header_ = make(http.Header)
 20065  	}
 20066  	return c.header_
 20067  }
 20068  
 20069  func (c *SystemapksVariantsGetCall) doRequest(alt string) (*http.Response, error) {
 20070  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20071  	if c.ifNoneMatch_ != "" {
 20072  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20073  	}
 20074  	var body io.Reader = nil
 20075  	c.urlParams_.Set("alt", alt)
 20076  	c.urlParams_.Set("prettyPrint", "false")
 20077  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}")
 20078  	urls += "?" + c.urlParams_.Encode()
 20079  	req, err := http.NewRequest("GET", urls, body)
 20080  	if err != nil {
 20081  		return nil, err
 20082  	}
 20083  	req.Header = reqHeaders
 20084  	googleapi.Expand(req.URL, map[string]string{
 20085  		"packageName": c.packageName,
 20086  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 20087  		"variantId":   strconv.FormatInt(c.variantId, 10),
 20088  	})
 20089  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20090  }
 20091  
 20092  // Do executes the "androidpublisher.systemapks.variants.get" call.
 20093  // Any non-2xx status code is an error. Response headers are in either
 20094  // *Variant.ServerResponse.Header or (if a response was returned at all) in
 20095  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20096  // whether the returned error was because http.StatusNotModified was returned.
 20097  func (c *SystemapksVariantsGetCall) Do(opts ...googleapi.CallOption) (*Variant, error) {
 20098  	gensupport.SetOptions(c.urlParams_, opts...)
 20099  	res, err := c.doRequest("json")
 20100  	if res != nil && res.StatusCode == http.StatusNotModified {
 20101  		if res.Body != nil {
 20102  			res.Body.Close()
 20103  		}
 20104  		return nil, gensupport.WrapError(&googleapi.Error{
 20105  			Code:   res.StatusCode,
 20106  			Header: res.Header,
 20107  		})
 20108  	}
 20109  	if err != nil {
 20110  		return nil, err
 20111  	}
 20112  	defer googleapi.CloseBody(res)
 20113  	if err := googleapi.CheckResponse(res); err != nil {
 20114  		return nil, gensupport.WrapError(err)
 20115  	}
 20116  	ret := &Variant{
 20117  		ServerResponse: googleapi.ServerResponse{
 20118  			Header:         res.Header,
 20119  			HTTPStatusCode: res.StatusCode,
 20120  		},
 20121  	}
 20122  	target := &ret
 20123  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20124  		return nil, err
 20125  	}
 20126  	return ret, nil
 20127  }
 20128  
 20129  type SystemapksVariantsListCall struct {
 20130  	s            *Service
 20131  	packageName  string
 20132  	versionCode  int64
 20133  	urlParams_   gensupport.URLParams
 20134  	ifNoneMatch_ string
 20135  	ctx_         context.Context
 20136  	header_      http.Header
 20137  }
 20138  
 20139  // List: Returns the list of previously created system APK variants.
 20140  //
 20141  // - packageName: Package name of the app.
 20142  // - versionCode: The version code of the App Bundle.
 20143  func (r *SystemapksVariantsService) List(packageName string, versionCode int64) *SystemapksVariantsListCall {
 20144  	c := &SystemapksVariantsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20145  	c.packageName = packageName
 20146  	c.versionCode = versionCode
 20147  	return c
 20148  }
 20149  
 20150  // Fields allows partial responses to be retrieved. See
 20151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20152  // details.
 20153  func (c *SystemapksVariantsListCall) Fields(s ...googleapi.Field) *SystemapksVariantsListCall {
 20154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20155  	return c
 20156  }
 20157  
 20158  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20159  // object's ETag matches the given value. This is useful for getting updates
 20160  // only after the object has changed since the last request.
 20161  func (c *SystemapksVariantsListCall) IfNoneMatch(entityTag string) *SystemapksVariantsListCall {
 20162  	c.ifNoneMatch_ = entityTag
 20163  	return c
 20164  }
 20165  
 20166  // Context sets the context to be used in this call's Do method.
 20167  func (c *SystemapksVariantsListCall) Context(ctx context.Context) *SystemapksVariantsListCall {
 20168  	c.ctx_ = ctx
 20169  	return c
 20170  }
 20171  
 20172  // Header returns a http.Header that can be modified by the caller to add
 20173  // headers to the request.
 20174  func (c *SystemapksVariantsListCall) Header() http.Header {
 20175  	if c.header_ == nil {
 20176  		c.header_ = make(http.Header)
 20177  	}
 20178  	return c.header_
 20179  }
 20180  
 20181  func (c *SystemapksVariantsListCall) doRequest(alt string) (*http.Response, error) {
 20182  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20183  	if c.ifNoneMatch_ != "" {
 20184  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20185  	}
 20186  	var body io.Reader = nil
 20187  	c.urlParams_.Set("alt", alt)
 20188  	c.urlParams_.Set("prettyPrint", "false")
 20189  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants")
 20190  	urls += "?" + c.urlParams_.Encode()
 20191  	req, err := http.NewRequest("GET", urls, body)
 20192  	if err != nil {
 20193  		return nil, err
 20194  	}
 20195  	req.Header = reqHeaders
 20196  	googleapi.Expand(req.URL, map[string]string{
 20197  		"packageName": c.packageName,
 20198  		"versionCode": strconv.FormatInt(c.versionCode, 10),
 20199  	})
 20200  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20201  }
 20202  
 20203  // Do executes the "androidpublisher.systemapks.variants.list" call.
 20204  // Any non-2xx status code is an error. Response headers are in either
 20205  // *SystemApksListResponse.ServerResponse.Header or (if a response was returned
 20206  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20207  // check whether the returned error was because http.StatusNotModified was
 20208  // returned.
 20209  func (c *SystemapksVariantsListCall) Do(opts ...googleapi.CallOption) (*SystemApksListResponse, error) {
 20210  	gensupport.SetOptions(c.urlParams_, opts...)
 20211  	res, err := c.doRequest("json")
 20212  	if res != nil && res.StatusCode == http.StatusNotModified {
 20213  		if res.Body != nil {
 20214  			res.Body.Close()
 20215  		}
 20216  		return nil, gensupport.WrapError(&googleapi.Error{
 20217  			Code:   res.StatusCode,
 20218  			Header: res.Header,
 20219  		})
 20220  	}
 20221  	if err != nil {
 20222  		return nil, err
 20223  	}
 20224  	defer googleapi.CloseBody(res)
 20225  	if err := googleapi.CheckResponse(res); err != nil {
 20226  		return nil, gensupport.WrapError(err)
 20227  	}
 20228  	ret := &SystemApksListResponse{
 20229  		ServerResponse: googleapi.ServerResponse{
 20230  			Header:         res.Header,
 20231  			HTTPStatusCode: res.StatusCode,
 20232  		},
 20233  	}
 20234  	target := &ret
 20235  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20236  		return nil, err
 20237  	}
 20238  	return ret, nil
 20239  }
 20240  
 20241  type UsersCreateCall struct {
 20242  	s          *Service
 20243  	parent     string
 20244  	user       *User
 20245  	urlParams_ gensupport.URLParams
 20246  	ctx_       context.Context
 20247  	header_    http.Header
 20248  }
 20249  
 20250  // Create: Grant access for a user to the given developer account.
 20251  //
 20252  //   - parent: The developer account to add the user to. Format:
 20253  //     developers/{developer}.
 20254  func (r *UsersService) Create(parent string, user *User) *UsersCreateCall {
 20255  	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20256  	c.parent = parent
 20257  	c.user = user
 20258  	return c
 20259  }
 20260  
 20261  // Fields allows partial responses to be retrieved. See
 20262  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20263  // details.
 20264  func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
 20265  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20266  	return c
 20267  }
 20268  
 20269  // Context sets the context to be used in this call's Do method.
 20270  func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
 20271  	c.ctx_ = ctx
 20272  	return c
 20273  }
 20274  
 20275  // Header returns a http.Header that can be modified by the caller to add
 20276  // headers to the request.
 20277  func (c *UsersCreateCall) Header() http.Header {
 20278  	if c.header_ == nil {
 20279  		c.header_ = make(http.Header)
 20280  	}
 20281  	return c.header_
 20282  }
 20283  
 20284  func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
 20285  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20286  	var body io.Reader = nil
 20287  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 20288  	if err != nil {
 20289  		return nil, err
 20290  	}
 20291  	c.urlParams_.Set("alt", alt)
 20292  	c.urlParams_.Set("prettyPrint", "false")
 20293  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+parent}/users")
 20294  	urls += "?" + c.urlParams_.Encode()
 20295  	req, err := http.NewRequest("POST", urls, body)
 20296  	if err != nil {
 20297  		return nil, err
 20298  	}
 20299  	req.Header = reqHeaders
 20300  	googleapi.Expand(req.URL, map[string]string{
 20301  		"parent": c.parent,
 20302  	})
 20303  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20304  }
 20305  
 20306  // Do executes the "androidpublisher.users.create" call.
 20307  // Any non-2xx status code is an error. Response headers are in either
 20308  // *User.ServerResponse.Header or (if a response was returned at all) in
 20309  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20310  // whether the returned error was because http.StatusNotModified was returned.
 20311  func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
 20312  	gensupport.SetOptions(c.urlParams_, opts...)
 20313  	res, err := c.doRequest("json")
 20314  	if res != nil && res.StatusCode == http.StatusNotModified {
 20315  		if res.Body != nil {
 20316  			res.Body.Close()
 20317  		}
 20318  		return nil, gensupport.WrapError(&googleapi.Error{
 20319  			Code:   res.StatusCode,
 20320  			Header: res.Header,
 20321  		})
 20322  	}
 20323  	if err != nil {
 20324  		return nil, err
 20325  	}
 20326  	defer googleapi.CloseBody(res)
 20327  	if err := googleapi.CheckResponse(res); err != nil {
 20328  		return nil, gensupport.WrapError(err)
 20329  	}
 20330  	ret := &User{
 20331  		ServerResponse: googleapi.ServerResponse{
 20332  			Header:         res.Header,
 20333  			HTTPStatusCode: res.StatusCode,
 20334  		},
 20335  	}
 20336  	target := &ret
 20337  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20338  		return nil, err
 20339  	}
 20340  	return ret, nil
 20341  }
 20342  
 20343  type UsersDeleteCall struct {
 20344  	s          *Service
 20345  	name       string
 20346  	urlParams_ gensupport.URLParams
 20347  	ctx_       context.Context
 20348  	header_    http.Header
 20349  }
 20350  
 20351  // Delete: Removes all access for the user to the given developer account.
 20352  //
 20353  //   - name: The name of the user to delete. Format:
 20354  //     developers/{developer}/users/{email}.
 20355  func (r *UsersService) Delete(name string) *UsersDeleteCall {
 20356  	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20357  	c.name = name
 20358  	return c
 20359  }
 20360  
 20361  // Fields allows partial responses to be retrieved. See
 20362  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20363  // details.
 20364  func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
 20365  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20366  	return c
 20367  }
 20368  
 20369  // Context sets the context to be used in this call's Do method.
 20370  func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 20371  	c.ctx_ = ctx
 20372  	return c
 20373  }
 20374  
 20375  // Header returns a http.Header that can be modified by the caller to add
 20376  // headers to the request.
 20377  func (c *UsersDeleteCall) Header() http.Header {
 20378  	if c.header_ == nil {
 20379  		c.header_ = make(http.Header)
 20380  	}
 20381  	return c.header_
 20382  }
 20383  
 20384  func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 20385  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20386  	var body io.Reader = nil
 20387  	c.urlParams_.Set("alt", alt)
 20388  	c.urlParams_.Set("prettyPrint", "false")
 20389  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}")
 20390  	urls += "?" + c.urlParams_.Encode()
 20391  	req, err := http.NewRequest("DELETE", urls, body)
 20392  	if err != nil {
 20393  		return nil, err
 20394  	}
 20395  	req.Header = reqHeaders
 20396  	googleapi.Expand(req.URL, map[string]string{
 20397  		"name": c.name,
 20398  	})
 20399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20400  }
 20401  
 20402  // Do executes the "androidpublisher.users.delete" call.
 20403  func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) error {
 20404  	gensupport.SetOptions(c.urlParams_, opts...)
 20405  	res, err := c.doRequest("json")
 20406  	if err != nil {
 20407  		return err
 20408  	}
 20409  	defer googleapi.CloseBody(res)
 20410  	if err := googleapi.CheckResponse(res); err != nil {
 20411  		return gensupport.WrapError(err)
 20412  	}
 20413  	return nil
 20414  }
 20415  
 20416  type UsersListCall struct {
 20417  	s            *Service
 20418  	parent       string
 20419  	urlParams_   gensupport.URLParams
 20420  	ifNoneMatch_ string
 20421  	ctx_         context.Context
 20422  	header_      http.Header
 20423  }
 20424  
 20425  // List: Lists all users with access to a developer account.
 20426  //
 20427  //   - parent: The developer account to fetch users from. Format:
 20428  //     developers/{developer}.
 20429  func (r *UsersService) List(parent string) *UsersListCall {
 20430  	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20431  	c.parent = parent
 20432  	return c
 20433  }
 20434  
 20435  // PageSize sets the optional parameter "pageSize": The maximum number of
 20436  // results to return. This must be set to -1 to disable pagination.
 20437  func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
 20438  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 20439  	return c
 20440  }
 20441  
 20442  // PageToken sets the optional parameter "pageToken": A token received from a
 20443  // previous call to this method, in order to retrieve further results.
 20444  func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
 20445  	c.urlParams_.Set("pageToken", pageToken)
 20446  	return c
 20447  }
 20448  
 20449  // Fields allows partial responses to be retrieved. See
 20450  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20451  // details.
 20452  func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
 20453  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20454  	return c
 20455  }
 20456  
 20457  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20458  // object's ETag matches the given value. This is useful for getting updates
 20459  // only after the object has changed since the last request.
 20460  func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
 20461  	c.ifNoneMatch_ = entityTag
 20462  	return c
 20463  }
 20464  
 20465  // Context sets the context to be used in this call's Do method.
 20466  func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 20467  	c.ctx_ = ctx
 20468  	return c
 20469  }
 20470  
 20471  // Header returns a http.Header that can be modified by the caller to add
 20472  // headers to the request.
 20473  func (c *UsersListCall) Header() http.Header {
 20474  	if c.header_ == nil {
 20475  		c.header_ = make(http.Header)
 20476  	}
 20477  	return c.header_
 20478  }
 20479  
 20480  func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 20481  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20482  	if c.ifNoneMatch_ != "" {
 20483  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20484  	}
 20485  	var body io.Reader = nil
 20486  	c.urlParams_.Set("alt", alt)
 20487  	c.urlParams_.Set("prettyPrint", "false")
 20488  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+parent}/users")
 20489  	urls += "?" + c.urlParams_.Encode()
 20490  	req, err := http.NewRequest("GET", urls, body)
 20491  	if err != nil {
 20492  		return nil, err
 20493  	}
 20494  	req.Header = reqHeaders
 20495  	googleapi.Expand(req.URL, map[string]string{
 20496  		"parent": c.parent,
 20497  	})
 20498  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20499  }
 20500  
 20501  // Do executes the "androidpublisher.users.list" call.
 20502  // Any non-2xx status code is an error. Response headers are in either
 20503  // *ListUsersResponse.ServerResponse.Header or (if a response was returned at
 20504  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20505  // check whether the returned error was because http.StatusNotModified was
 20506  // returned.
 20507  func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
 20508  	gensupport.SetOptions(c.urlParams_, opts...)
 20509  	res, err := c.doRequest("json")
 20510  	if res != nil && res.StatusCode == http.StatusNotModified {
 20511  		if res.Body != nil {
 20512  			res.Body.Close()
 20513  		}
 20514  		return nil, gensupport.WrapError(&googleapi.Error{
 20515  			Code:   res.StatusCode,
 20516  			Header: res.Header,
 20517  		})
 20518  	}
 20519  	if err != nil {
 20520  		return nil, err
 20521  	}
 20522  	defer googleapi.CloseBody(res)
 20523  	if err := googleapi.CheckResponse(res); err != nil {
 20524  		return nil, gensupport.WrapError(err)
 20525  	}
 20526  	ret := &ListUsersResponse{
 20527  		ServerResponse: googleapi.ServerResponse{
 20528  			Header:         res.Header,
 20529  			HTTPStatusCode: res.StatusCode,
 20530  		},
 20531  	}
 20532  	target := &ret
 20533  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20534  		return nil, err
 20535  	}
 20536  	return ret, nil
 20537  }
 20538  
 20539  // Pages invokes f for each page of results.
 20540  // A non-nil error returned from f will halt the iteration.
 20541  // The provided context supersedes any context provided to the Context method.
 20542  func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
 20543  	c.ctx_ = ctx
 20544  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20545  	for {
 20546  		x, err := c.Do()
 20547  		if err != nil {
 20548  			return err
 20549  		}
 20550  		if err := f(x); err != nil {
 20551  			return err
 20552  		}
 20553  		if x.NextPageToken == "" {
 20554  			return nil
 20555  		}
 20556  		c.PageToken(x.NextPageToken)
 20557  	}
 20558  }
 20559  
 20560  type UsersPatchCall struct {
 20561  	s          *Service
 20562  	name       string
 20563  	user       *User
 20564  	urlParams_ gensupport.URLParams
 20565  	ctx_       context.Context
 20566  	header_    http.Header
 20567  }
 20568  
 20569  // Patch: Updates access for the user to the developer account.
 20570  //
 20571  //   - name: Resource name for this user, following the pattern
 20572  //     "developers/{developer}/users/{email}".
 20573  func (r *UsersService) Patch(name string, user *User) *UsersPatchCall {
 20574  	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20575  	c.name = name
 20576  	c.user = user
 20577  	return c
 20578  }
 20579  
 20580  // UpdateMask sets the optional parameter "updateMask": The list of fields to
 20581  // be updated.
 20582  func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
 20583  	c.urlParams_.Set("updateMask", updateMask)
 20584  	return c
 20585  }
 20586  
 20587  // Fields allows partial responses to be retrieved. See
 20588  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20589  // details.
 20590  func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
 20591  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20592  	return c
 20593  }
 20594  
 20595  // Context sets the context to be used in this call's Do method.
 20596  func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
 20597  	c.ctx_ = ctx
 20598  	return c
 20599  }
 20600  
 20601  // Header returns a http.Header that can be modified by the caller to add
 20602  // headers to the request.
 20603  func (c *UsersPatchCall) Header() http.Header {
 20604  	if c.header_ == nil {
 20605  		c.header_ = make(http.Header)
 20606  	}
 20607  	return c.header_
 20608  }
 20609  
 20610  func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
 20611  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20612  	var body io.Reader = nil
 20613  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 20614  	if err != nil {
 20615  		return nil, err
 20616  	}
 20617  	c.urlParams_.Set("alt", alt)
 20618  	c.urlParams_.Set("prettyPrint", "false")
 20619  	urls := googleapi.ResolveRelative(c.s.BasePath, "androidpublisher/v3/{+name}")
 20620  	urls += "?" + c.urlParams_.Encode()
 20621  	req, err := http.NewRequest("PATCH", urls, body)
 20622  	if err != nil {
 20623  		return nil, err
 20624  	}
 20625  	req.Header = reqHeaders
 20626  	googleapi.Expand(req.URL, map[string]string{
 20627  		"name": c.name,
 20628  	})
 20629  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20630  }
 20631  
 20632  // Do executes the "androidpublisher.users.patch" call.
 20633  // Any non-2xx status code is an error. Response headers are in either
 20634  // *User.ServerResponse.Header or (if a response was returned at all) in
 20635  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20636  // whether the returned error was because http.StatusNotModified was returned.
 20637  func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
 20638  	gensupport.SetOptions(c.urlParams_, opts...)
 20639  	res, err := c.doRequest("json")
 20640  	if res != nil && res.StatusCode == http.StatusNotModified {
 20641  		if res.Body != nil {
 20642  			res.Body.Close()
 20643  		}
 20644  		return nil, gensupport.WrapError(&googleapi.Error{
 20645  			Code:   res.StatusCode,
 20646  			Header: res.Header,
 20647  		})
 20648  	}
 20649  	if err != nil {
 20650  		return nil, err
 20651  	}
 20652  	defer googleapi.CloseBody(res)
 20653  	if err := googleapi.CheckResponse(res); err != nil {
 20654  		return nil, gensupport.WrapError(err)
 20655  	}
 20656  	ret := &User{
 20657  		ServerResponse: googleapi.ServerResponse{
 20658  			Header:         res.Header,
 20659  			HTTPStatusCode: res.StatusCode,
 20660  		},
 20661  	}
 20662  	target := &ret
 20663  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20664  		return nil, err
 20665  	}
 20666  	return ret, nil
 20667  }
 20668  

View as plain text