...

Source file src/google.golang.org/api/admin/directory/v1/admin-gen.go

Documentation: google.golang.org/api/admin/directory/v1

     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 admin provides access to the Admin SDK API.
     8  //
     9  // For product documentation, see: https://developers.google.com/admin-sdk/
    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/admin/directory/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	adminService, err := admin.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  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	adminService, err := admin.NewService(ctx, option.WithScopes(admin.CloudPlatformScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	adminService, err := admin.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	adminService, err := admin.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package admin // import "google.golang.org/api/admin/directory/v1"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "admin:directory_v1"
    95  const apiName = "admin"
    96  const apiVersion = "directory_v1"
    97  const basePath = "https://admin.googleapis.com/"
    98  const basePathTemplate = "https://admin.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://admin.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// See, add, edit, and permanently delete the printers that your organization
   104  	// can use with Chrome
   105  	AdminChromePrintersScope = "https://www.googleapis.com/auth/admin.chrome.printers"
   106  
   107  	// See the printers that your organization can use with Chrome
   108  	AdminChromePrintersReadonlyScope = "https://www.googleapis.com/auth/admin.chrome.printers.readonly"
   109  
   110  	// View and manage customer related information
   111  	AdminDirectoryCustomerScope = "https://www.googleapis.com/auth/admin.directory.customer"
   112  
   113  	// View customer related information
   114  	AdminDirectoryCustomerReadonlyScope = "https://www.googleapis.com/auth/admin.directory.customer.readonly"
   115  
   116  	// View and manage your Chrome OS devices' metadata
   117  	AdminDirectoryDeviceChromeosScope = "https://www.googleapis.com/auth/admin.directory.device.chromeos"
   118  
   119  	// View your Chrome OS devices' metadata
   120  	AdminDirectoryDeviceChromeosReadonlyScope = "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"
   121  
   122  	// View and manage your mobile devices' metadata
   123  	AdminDirectoryDeviceMobileScope = "https://www.googleapis.com/auth/admin.directory.device.mobile"
   124  
   125  	// Manage your mobile devices by performing administrative tasks
   126  	AdminDirectoryDeviceMobileActionScope = "https://www.googleapis.com/auth/admin.directory.device.mobile.action"
   127  
   128  	// View your mobile devices' metadata
   129  	AdminDirectoryDeviceMobileReadonlyScope = "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"
   130  
   131  	// View and manage the provisioning of domains for your customers
   132  	AdminDirectoryDomainScope = "https://www.googleapis.com/auth/admin.directory.domain"
   133  
   134  	// View domains related to your customers
   135  	AdminDirectoryDomainReadonlyScope = "https://www.googleapis.com/auth/admin.directory.domain.readonly"
   136  
   137  	// View and manage the provisioning of groups on your domain
   138  	AdminDirectoryGroupScope = "https://www.googleapis.com/auth/admin.directory.group"
   139  
   140  	// View and manage group subscriptions on your domain
   141  	AdminDirectoryGroupMemberScope = "https://www.googleapis.com/auth/admin.directory.group.member"
   142  
   143  	// View group subscriptions on your domain
   144  	AdminDirectoryGroupMemberReadonlyScope = "https://www.googleapis.com/auth/admin.directory.group.member.readonly"
   145  
   146  	// View groups on your domain
   147  	AdminDirectoryGroupReadonlyScope = "https://www.googleapis.com/auth/admin.directory.group.readonly"
   148  
   149  	// View and manage organization units on your domain
   150  	AdminDirectoryOrgunitScope = "https://www.googleapis.com/auth/admin.directory.orgunit"
   151  
   152  	// View organization units on your domain
   153  	AdminDirectoryOrgunitReadonlyScope = "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"
   154  
   155  	// View and manage the provisioning of calendar resources on your domain
   156  	AdminDirectoryResourceCalendarScope = "https://www.googleapis.com/auth/admin.directory.resource.calendar"
   157  
   158  	// View calendar resources on your domain
   159  	AdminDirectoryResourceCalendarReadonlyScope = "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly"
   160  
   161  	// Manage delegated admin roles for your domain
   162  	AdminDirectoryRolemanagementScope = "https://www.googleapis.com/auth/admin.directory.rolemanagement"
   163  
   164  	// View delegated admin roles for your domain
   165  	AdminDirectoryRolemanagementReadonlyScope = "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly"
   166  
   167  	// View and manage the provisioning of users on your domain
   168  	AdminDirectoryUserScope = "https://www.googleapis.com/auth/admin.directory.user"
   169  
   170  	// View and manage user aliases on your domain
   171  	AdminDirectoryUserAliasScope = "https://www.googleapis.com/auth/admin.directory.user.alias"
   172  
   173  	// View user aliases on your domain
   174  	AdminDirectoryUserAliasReadonlyScope = "https://www.googleapis.com/auth/admin.directory.user.alias.readonly"
   175  
   176  	// See info about users on your domain
   177  	AdminDirectoryUserReadonlyScope = "https://www.googleapis.com/auth/admin.directory.user.readonly"
   178  
   179  	// Manage data access permissions for users on your domain
   180  	AdminDirectoryUserSecurityScope = "https://www.googleapis.com/auth/admin.directory.user.security"
   181  
   182  	// View and manage the provisioning of user schemas on your domain
   183  	AdminDirectoryUserschemaScope = "https://www.googleapis.com/auth/admin.directory.userschema"
   184  
   185  	// View user schemas on your domain
   186  	AdminDirectoryUserschemaReadonlyScope = "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
   187  
   188  	// See, edit, configure, and delete your Google Cloud data and see the email
   189  	// address for your Google Account.
   190  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   191  )
   192  
   193  // NewService creates a new Service.
   194  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   195  	scopesOption := internaloption.WithDefaultScopes(
   196  		"https://www.googleapis.com/auth/admin.chrome.printers",
   197  		"https://www.googleapis.com/auth/admin.chrome.printers.readonly",
   198  		"https://www.googleapis.com/auth/admin.directory.customer",
   199  		"https://www.googleapis.com/auth/admin.directory.customer.readonly",
   200  		"https://www.googleapis.com/auth/admin.directory.device.chromeos",
   201  		"https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly",
   202  		"https://www.googleapis.com/auth/admin.directory.device.mobile",
   203  		"https://www.googleapis.com/auth/admin.directory.device.mobile.action",
   204  		"https://www.googleapis.com/auth/admin.directory.device.mobile.readonly",
   205  		"https://www.googleapis.com/auth/admin.directory.domain",
   206  		"https://www.googleapis.com/auth/admin.directory.domain.readonly",
   207  		"https://www.googleapis.com/auth/admin.directory.group",
   208  		"https://www.googleapis.com/auth/admin.directory.group.member",
   209  		"https://www.googleapis.com/auth/admin.directory.group.member.readonly",
   210  		"https://www.googleapis.com/auth/admin.directory.group.readonly",
   211  		"https://www.googleapis.com/auth/admin.directory.orgunit",
   212  		"https://www.googleapis.com/auth/admin.directory.orgunit.readonly",
   213  		"https://www.googleapis.com/auth/admin.directory.resource.calendar",
   214  		"https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly",
   215  		"https://www.googleapis.com/auth/admin.directory.rolemanagement",
   216  		"https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly",
   217  		"https://www.googleapis.com/auth/admin.directory.user",
   218  		"https://www.googleapis.com/auth/admin.directory.user.alias",
   219  		"https://www.googleapis.com/auth/admin.directory.user.alias.readonly",
   220  		"https://www.googleapis.com/auth/admin.directory.user.readonly",
   221  		"https://www.googleapis.com/auth/admin.directory.user.security",
   222  		"https://www.googleapis.com/auth/admin.directory.userschema",
   223  		"https://www.googleapis.com/auth/admin.directory.userschema.readonly",
   224  		"https://www.googleapis.com/auth/cloud-platform",
   225  	)
   226  	// NOTE: prepend, so we don't override user-specified scopes.
   227  	opts = append([]option.ClientOption{scopesOption}, opts...)
   228  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   229  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   230  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   231  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   232  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   233  	if err != nil {
   234  		return nil, err
   235  	}
   236  	s, err := New(client)
   237  	if err != nil {
   238  		return nil, err
   239  	}
   240  	if endpoint != "" {
   241  		s.BasePath = endpoint
   242  	}
   243  	return s, nil
   244  }
   245  
   246  // New creates a new Service. It uses the provided http.Client for requests.
   247  //
   248  // Deprecated: please use NewService instead.
   249  // To provide a custom HTTP client, use option.WithHTTPClient.
   250  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   251  func New(client *http.Client) (*Service, error) {
   252  	if client == nil {
   253  		return nil, errors.New("client is nil")
   254  	}
   255  	s := &Service{client: client, BasePath: basePath}
   256  	s.Asps = NewAspsService(s)
   257  	s.Channels = NewChannelsService(s)
   258  	s.Chromeosdevices = NewChromeosdevicesService(s)
   259  	s.Customer = NewCustomerService(s)
   260  	s.Customers = NewCustomersService(s)
   261  	s.DomainAliases = NewDomainAliasesService(s)
   262  	s.Domains = NewDomainsService(s)
   263  	s.Groups = NewGroupsService(s)
   264  	s.Members = NewMembersService(s)
   265  	s.Mobiledevices = NewMobiledevicesService(s)
   266  	s.Orgunits = NewOrgunitsService(s)
   267  	s.Privileges = NewPrivilegesService(s)
   268  	s.Resources = NewResourcesService(s)
   269  	s.RoleAssignments = NewRoleAssignmentsService(s)
   270  	s.Roles = NewRolesService(s)
   271  	s.Schemas = NewSchemasService(s)
   272  	s.Tokens = NewTokensService(s)
   273  	s.TwoStepVerification = NewTwoStepVerificationService(s)
   274  	s.Users = NewUsersService(s)
   275  	s.VerificationCodes = NewVerificationCodesService(s)
   276  	return s, nil
   277  }
   278  
   279  type Service struct {
   280  	client    *http.Client
   281  	BasePath  string // API endpoint base URL
   282  	UserAgent string // optional additional User-Agent fragment
   283  
   284  	Asps *AspsService
   285  
   286  	Channels *ChannelsService
   287  
   288  	Chromeosdevices *ChromeosdevicesService
   289  
   290  	Customer *CustomerService
   291  
   292  	Customers *CustomersService
   293  
   294  	DomainAliases *DomainAliasesService
   295  
   296  	Domains *DomainsService
   297  
   298  	Groups *GroupsService
   299  
   300  	Members *MembersService
   301  
   302  	Mobiledevices *MobiledevicesService
   303  
   304  	Orgunits *OrgunitsService
   305  
   306  	Privileges *PrivilegesService
   307  
   308  	Resources *ResourcesService
   309  
   310  	RoleAssignments *RoleAssignmentsService
   311  
   312  	Roles *RolesService
   313  
   314  	Schemas *SchemasService
   315  
   316  	Tokens *TokensService
   317  
   318  	TwoStepVerification *TwoStepVerificationService
   319  
   320  	Users *UsersService
   321  
   322  	VerificationCodes *VerificationCodesService
   323  }
   324  
   325  func (s *Service) userAgent() string {
   326  	if s.UserAgent == "" {
   327  		return googleapi.UserAgent
   328  	}
   329  	return googleapi.UserAgent + " " + s.UserAgent
   330  }
   331  
   332  func NewAspsService(s *Service) *AspsService {
   333  	rs := &AspsService{s: s}
   334  	return rs
   335  }
   336  
   337  type AspsService struct {
   338  	s *Service
   339  }
   340  
   341  func NewChannelsService(s *Service) *ChannelsService {
   342  	rs := &ChannelsService{s: s}
   343  	return rs
   344  }
   345  
   346  type ChannelsService struct {
   347  	s *Service
   348  }
   349  
   350  func NewChromeosdevicesService(s *Service) *ChromeosdevicesService {
   351  	rs := &ChromeosdevicesService{s: s}
   352  	return rs
   353  }
   354  
   355  type ChromeosdevicesService struct {
   356  	s *Service
   357  }
   358  
   359  func NewCustomerService(s *Service) *CustomerService {
   360  	rs := &CustomerService{s: s}
   361  	rs.Devices = NewCustomerDevicesService(s)
   362  	return rs
   363  }
   364  
   365  type CustomerService struct {
   366  	s *Service
   367  
   368  	Devices *CustomerDevicesService
   369  }
   370  
   371  func NewCustomerDevicesService(s *Service) *CustomerDevicesService {
   372  	rs := &CustomerDevicesService{s: s}
   373  	rs.Chromeos = NewCustomerDevicesChromeosService(s)
   374  	return rs
   375  }
   376  
   377  type CustomerDevicesService struct {
   378  	s *Service
   379  
   380  	Chromeos *CustomerDevicesChromeosService
   381  }
   382  
   383  func NewCustomerDevicesChromeosService(s *Service) *CustomerDevicesChromeosService {
   384  	rs := &CustomerDevicesChromeosService{s: s}
   385  	rs.Commands = NewCustomerDevicesChromeosCommandsService(s)
   386  	return rs
   387  }
   388  
   389  type CustomerDevicesChromeosService struct {
   390  	s *Service
   391  
   392  	Commands *CustomerDevicesChromeosCommandsService
   393  }
   394  
   395  func NewCustomerDevicesChromeosCommandsService(s *Service) *CustomerDevicesChromeosCommandsService {
   396  	rs := &CustomerDevicesChromeosCommandsService{s: s}
   397  	return rs
   398  }
   399  
   400  type CustomerDevicesChromeosCommandsService struct {
   401  	s *Service
   402  }
   403  
   404  func NewCustomersService(s *Service) *CustomersService {
   405  	rs := &CustomersService{s: s}
   406  	rs.Chrome = NewCustomersChromeService(s)
   407  	return rs
   408  }
   409  
   410  type CustomersService struct {
   411  	s *Service
   412  
   413  	Chrome *CustomersChromeService
   414  }
   415  
   416  func NewCustomersChromeService(s *Service) *CustomersChromeService {
   417  	rs := &CustomersChromeService{s: s}
   418  	rs.PrintServers = NewCustomersChromePrintServersService(s)
   419  	rs.Printers = NewCustomersChromePrintersService(s)
   420  	return rs
   421  }
   422  
   423  type CustomersChromeService struct {
   424  	s *Service
   425  
   426  	PrintServers *CustomersChromePrintServersService
   427  
   428  	Printers *CustomersChromePrintersService
   429  }
   430  
   431  func NewCustomersChromePrintServersService(s *Service) *CustomersChromePrintServersService {
   432  	rs := &CustomersChromePrintServersService{s: s}
   433  	return rs
   434  }
   435  
   436  type CustomersChromePrintServersService struct {
   437  	s *Service
   438  }
   439  
   440  func NewCustomersChromePrintersService(s *Service) *CustomersChromePrintersService {
   441  	rs := &CustomersChromePrintersService{s: s}
   442  	return rs
   443  }
   444  
   445  type CustomersChromePrintersService struct {
   446  	s *Service
   447  }
   448  
   449  func NewDomainAliasesService(s *Service) *DomainAliasesService {
   450  	rs := &DomainAliasesService{s: s}
   451  	return rs
   452  }
   453  
   454  type DomainAliasesService struct {
   455  	s *Service
   456  }
   457  
   458  func NewDomainsService(s *Service) *DomainsService {
   459  	rs := &DomainsService{s: s}
   460  	return rs
   461  }
   462  
   463  type DomainsService struct {
   464  	s *Service
   465  }
   466  
   467  func NewGroupsService(s *Service) *GroupsService {
   468  	rs := &GroupsService{s: s}
   469  	rs.Aliases = NewGroupsAliasesService(s)
   470  	return rs
   471  }
   472  
   473  type GroupsService struct {
   474  	s *Service
   475  
   476  	Aliases *GroupsAliasesService
   477  }
   478  
   479  func NewGroupsAliasesService(s *Service) *GroupsAliasesService {
   480  	rs := &GroupsAliasesService{s: s}
   481  	return rs
   482  }
   483  
   484  type GroupsAliasesService struct {
   485  	s *Service
   486  }
   487  
   488  func NewMembersService(s *Service) *MembersService {
   489  	rs := &MembersService{s: s}
   490  	return rs
   491  }
   492  
   493  type MembersService struct {
   494  	s *Service
   495  }
   496  
   497  func NewMobiledevicesService(s *Service) *MobiledevicesService {
   498  	rs := &MobiledevicesService{s: s}
   499  	return rs
   500  }
   501  
   502  type MobiledevicesService struct {
   503  	s *Service
   504  }
   505  
   506  func NewOrgunitsService(s *Service) *OrgunitsService {
   507  	rs := &OrgunitsService{s: s}
   508  	return rs
   509  }
   510  
   511  type OrgunitsService struct {
   512  	s *Service
   513  }
   514  
   515  func NewPrivilegesService(s *Service) *PrivilegesService {
   516  	rs := &PrivilegesService{s: s}
   517  	return rs
   518  }
   519  
   520  type PrivilegesService struct {
   521  	s *Service
   522  }
   523  
   524  func NewResourcesService(s *Service) *ResourcesService {
   525  	rs := &ResourcesService{s: s}
   526  	rs.Buildings = NewResourcesBuildingsService(s)
   527  	rs.Calendars = NewResourcesCalendarsService(s)
   528  	rs.Features = NewResourcesFeaturesService(s)
   529  	return rs
   530  }
   531  
   532  type ResourcesService struct {
   533  	s *Service
   534  
   535  	Buildings *ResourcesBuildingsService
   536  
   537  	Calendars *ResourcesCalendarsService
   538  
   539  	Features *ResourcesFeaturesService
   540  }
   541  
   542  func NewResourcesBuildingsService(s *Service) *ResourcesBuildingsService {
   543  	rs := &ResourcesBuildingsService{s: s}
   544  	return rs
   545  }
   546  
   547  type ResourcesBuildingsService struct {
   548  	s *Service
   549  }
   550  
   551  func NewResourcesCalendarsService(s *Service) *ResourcesCalendarsService {
   552  	rs := &ResourcesCalendarsService{s: s}
   553  	return rs
   554  }
   555  
   556  type ResourcesCalendarsService struct {
   557  	s *Service
   558  }
   559  
   560  func NewResourcesFeaturesService(s *Service) *ResourcesFeaturesService {
   561  	rs := &ResourcesFeaturesService{s: s}
   562  	return rs
   563  }
   564  
   565  type ResourcesFeaturesService struct {
   566  	s *Service
   567  }
   568  
   569  func NewRoleAssignmentsService(s *Service) *RoleAssignmentsService {
   570  	rs := &RoleAssignmentsService{s: s}
   571  	return rs
   572  }
   573  
   574  type RoleAssignmentsService struct {
   575  	s *Service
   576  }
   577  
   578  func NewRolesService(s *Service) *RolesService {
   579  	rs := &RolesService{s: s}
   580  	return rs
   581  }
   582  
   583  type RolesService struct {
   584  	s *Service
   585  }
   586  
   587  func NewSchemasService(s *Service) *SchemasService {
   588  	rs := &SchemasService{s: s}
   589  	return rs
   590  }
   591  
   592  type SchemasService struct {
   593  	s *Service
   594  }
   595  
   596  func NewTokensService(s *Service) *TokensService {
   597  	rs := &TokensService{s: s}
   598  	return rs
   599  }
   600  
   601  type TokensService struct {
   602  	s *Service
   603  }
   604  
   605  func NewTwoStepVerificationService(s *Service) *TwoStepVerificationService {
   606  	rs := &TwoStepVerificationService{s: s}
   607  	return rs
   608  }
   609  
   610  type TwoStepVerificationService struct {
   611  	s *Service
   612  }
   613  
   614  func NewUsersService(s *Service) *UsersService {
   615  	rs := &UsersService{s: s}
   616  	rs.Aliases = NewUsersAliasesService(s)
   617  	rs.Photos = NewUsersPhotosService(s)
   618  	return rs
   619  }
   620  
   621  type UsersService struct {
   622  	s *Service
   623  
   624  	Aliases *UsersAliasesService
   625  
   626  	Photos *UsersPhotosService
   627  }
   628  
   629  func NewUsersAliasesService(s *Service) *UsersAliasesService {
   630  	rs := &UsersAliasesService{s: s}
   631  	return rs
   632  }
   633  
   634  type UsersAliasesService struct {
   635  	s *Service
   636  }
   637  
   638  func NewUsersPhotosService(s *Service) *UsersPhotosService {
   639  	rs := &UsersPhotosService{s: s}
   640  	return rs
   641  }
   642  
   643  type UsersPhotosService struct {
   644  	s *Service
   645  }
   646  
   647  func NewVerificationCodesService(s *Service) *VerificationCodesService {
   648  	rs := &VerificationCodesService{s: s}
   649  	return rs
   650  }
   651  
   652  type VerificationCodesService struct {
   653  	s *Service
   654  }
   655  
   656  // Alias: JSON template for Alias object in Directory API.
   657  type Alias struct {
   658  	Alias        string `json:"alias,omitempty"`
   659  	Etag         string `json:"etag,omitempty"`
   660  	Id           string `json:"id,omitempty"`
   661  	Kind         string `json:"kind,omitempty"`
   662  	PrimaryEmail string `json:"primaryEmail,omitempty"`
   663  
   664  	// ServerResponse contains the HTTP response code and headers from the server.
   665  	googleapi.ServerResponse `json:"-"`
   666  	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
   667  	// include in API requests. By default, fields with empty or default values are
   668  	// omitted from API requests. See
   669  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   670  	// details.
   671  	ForceSendFields []string `json:"-"`
   672  	// NullFields is a list of field names (e.g. "Alias") to include in API
   673  	// requests with the JSON null value. By default, fields with empty values are
   674  	// omitted from API requests. See
   675  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   676  	NullFields []string `json:"-"`
   677  }
   678  
   679  func (s *Alias) MarshalJSON() ([]byte, error) {
   680  	type NoMethod Alias
   681  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   682  }
   683  
   684  // Aliases: JSON response template to list aliases in Directory API.
   685  type Aliases struct {
   686  	Aliases []interface{} `json:"aliases,omitempty"`
   687  	Etag    string        `json:"etag,omitempty"`
   688  	Kind    string        `json:"kind,omitempty"`
   689  
   690  	// ServerResponse contains the HTTP response code and headers from the server.
   691  	googleapi.ServerResponse `json:"-"`
   692  	// ForceSendFields is a list of field names (e.g. "Aliases") to unconditionally
   693  	// include in API requests. By default, fields with empty or default values are
   694  	// omitted from API requests. See
   695  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   696  	// details.
   697  	ForceSendFields []string `json:"-"`
   698  	// NullFields is a list of field names (e.g. "Aliases") to include in API
   699  	// requests with the JSON null value. By default, fields with empty values are
   700  	// omitted from API requests. See
   701  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   702  	NullFields []string `json:"-"`
   703  }
   704  
   705  func (s *Aliases) MarshalJSON() ([]byte, error) {
   706  	type NoMethod Aliases
   707  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   708  }
   709  
   710  // Asp: An application-specific password (ASP) is used with applications that
   711  // do not accept a verification code when logging into the application on
   712  // certain devices. The ASP access code is used instead of the login and
   713  // password you commonly use when accessing an application through a browser.
   714  // For more information about ASPs and how to create one, see the help center
   715  // (https://support.google.com/a/answer/2537800#asp).
   716  type Asp struct {
   717  	// CodeId: The unique ID of the ASP.
   718  	CodeId int64 `json:"codeId,omitempty"`
   719  	// CreationTime: The time when the ASP was created. Expressed in Unix time
   720  	// (https://en.wikipedia.org/wiki/Epoch_time) format.
   721  	CreationTime int64 `json:"creationTime,omitempty,string"`
   722  	// Etag: ETag of the ASP.
   723  	Etag string `json:"etag,omitempty"`
   724  	// Kind: The type of the API resource. This is always `admin#directory#asp`.
   725  	Kind string `json:"kind,omitempty"`
   726  	// LastTimeUsed: The time when the ASP was last used. Expressed in Unix time
   727  	// (https://en.wikipedia.org/wiki/Epoch_time) format.
   728  	LastTimeUsed int64 `json:"lastTimeUsed,omitempty,string"`
   729  	// Name: The name of the application that the user, represented by their
   730  	// `userId`, entered when the ASP was created.
   731  	Name string `json:"name,omitempty"`
   732  	// UserKey: The unique ID of the user who issued the ASP.
   733  	UserKey string `json:"userKey,omitempty"`
   734  
   735  	// ServerResponse contains the HTTP response code and headers from the server.
   736  	googleapi.ServerResponse `json:"-"`
   737  	// ForceSendFields is a list of field names (e.g. "CodeId") to unconditionally
   738  	// include in API requests. By default, fields with empty or default values are
   739  	// omitted from API requests. See
   740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   741  	// details.
   742  	ForceSendFields []string `json:"-"`
   743  	// NullFields is a list of field names (e.g. "CodeId") to include in API
   744  	// requests with the JSON null value. By default, fields with empty values are
   745  	// omitted from API requests. See
   746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   747  	NullFields []string `json:"-"`
   748  }
   749  
   750  func (s *Asp) MarshalJSON() ([]byte, error) {
   751  	type NoMethod Asp
   752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   753  }
   754  
   755  type Asps struct {
   756  	// Etag: ETag of the resource.
   757  	Etag string `json:"etag,omitempty"`
   758  	// Items: A list of ASP resources.
   759  	Items []*Asp `json:"items,omitempty"`
   760  	// Kind: The type of the API resource. This is always
   761  	// `admin#directory#aspList`.
   762  	Kind string `json:"kind,omitempty"`
   763  
   764  	// ServerResponse contains the HTTP response code and headers from the server.
   765  	googleapi.ServerResponse `json:"-"`
   766  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
   767  	// include in API requests. By default, fields with empty or default values are
   768  	// omitted from API requests. See
   769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   770  	// details.
   771  	ForceSendFields []string `json:"-"`
   772  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
   773  	// with the JSON null value. By default, fields with empty values are omitted
   774  	// from API requests. See
   775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   776  	NullFields []string `json:"-"`
   777  }
   778  
   779  func (s *Asps) MarshalJSON() ([]byte, error) {
   780  	type NoMethod Asps
   781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   782  }
   783  
   784  // AuxiliaryMessage: Auxiliary message about issues with printers or settings.
   785  // Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model,
   786  // message:"Given printer is invalid or no longer supported."}
   787  type AuxiliaryMessage struct {
   788  	// AuxiliaryMessage: Human readable message in English. Example: "Given printer
   789  	// is invalid or no longer supported."
   790  	AuxiliaryMessage string `json:"auxiliaryMessage,omitempty"`
   791  	// FieldMask: Field that this message concerns.
   792  	FieldMask string `json:"fieldMask,omitempty"`
   793  	// Severity: Message severity
   794  	//
   795  	// Possible values:
   796  	//   "SEVERITY_UNSPECIFIED" - Message type unspecified.
   797  	//   "SEVERITY_INFO" - Message of severity: info.
   798  	//   "SEVERITY_WARNING" - Message of severity: warning.
   799  	//   "SEVERITY_ERROR" - Message of severity: error.
   800  	Severity string `json:"severity,omitempty"`
   801  	// ForceSendFields is a list of field names (e.g. "AuxiliaryMessage") to
   802  	// unconditionally include in API requests. By default, fields with empty or
   803  	// default values are omitted from API requests. See
   804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   805  	// details.
   806  	ForceSendFields []string `json:"-"`
   807  	// NullFields is a list of field names (e.g. "AuxiliaryMessage") to include in
   808  	// API requests with the JSON null value. By default, fields with empty values
   809  	// are omitted from API requests. See
   810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   811  	NullFields []string `json:"-"`
   812  }
   813  
   814  func (s *AuxiliaryMessage) MarshalJSON() ([]byte, error) {
   815  	type NoMethod AuxiliaryMessage
   816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   817  }
   818  
   819  // BacklightInfo: Information about the device's backlights.
   820  type BacklightInfo struct {
   821  	// Brightness: Output only. Current brightness of the backlight, between 0 and
   822  	// max_brightness.
   823  	Brightness int64 `json:"brightness,omitempty"`
   824  	// MaxBrightness: Output only. Maximum brightness for the backlight.
   825  	MaxBrightness int64 `json:"maxBrightness,omitempty"`
   826  	// Path: Output only. Path to this backlight on the system. Useful if the
   827  	// caller needs to correlate with other information.
   828  	Path string `json:"path,omitempty"`
   829  	// ForceSendFields is a list of field names (e.g. "Brightness") to
   830  	// unconditionally include in API requests. By default, fields with empty or
   831  	// default values are omitted from API requests. See
   832  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   833  	// details.
   834  	ForceSendFields []string `json:"-"`
   835  	// NullFields is a list of field names (e.g. "Brightness") to include in API
   836  	// requests with the JSON null value. By default, fields with empty values are
   837  	// omitted from API requests. See
   838  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   839  	NullFields []string `json:"-"`
   840  }
   841  
   842  func (s *BacklightInfo) MarshalJSON() ([]byte, error) {
   843  	type NoMethod BacklightInfo
   844  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   845  }
   846  
   847  // BatchChangeChromeOsDeviceStatusRequest: A request for changing the status of
   848  // a batch of ChromeOS devices.
   849  type BatchChangeChromeOsDeviceStatusRequest struct {
   850  	// ChangeChromeOsDeviceStatusAction: Required. The action to take on the
   851  	// ChromeOS device in order to change its status.
   852  	//
   853  	// Possible values:
   854  	//   "CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_UNSPECIFIED" - Default value. Value
   855  	// is unused.
   856  	//   "CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_DEPROVISION" - Deprovisions a
   857  	// ChromeOS device. If you have ChromeOS devices that are no longer being used
   858  	// in your organization, you should deprovision them so that you’re no longer
   859  	// managing them. Deprovisioning the device removes all policies that were on
   860  	// the device as well as device-level printers and the ability to use the
   861  	// device as a kiosk. Depending on the upgrade that’s associated with the
   862  	// device this action might release the license back into the license pool;
   863  	// which allows you to use the license on a different device.
   864  	//   "CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_DISABLE" - Disables a ChromeOS
   865  	// device. Use this action if a user loses their device or it’s stolen, this
   866  	// makes it such that the device is still managed, so it will still receive
   867  	// policies, but no one can use it. Depending on the upgrade that’s
   868  	// associated with the device this action might release the license back into
   869  	// the license pool; which allows you to use the license on a different device.
   870  	//   "CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_REENABLE" - Reenables a ChromeOS
   871  	// device to be used after being disabled. Reenables the device once it's no
   872  	// longer lost or it's been recovered. This allows the device to be used again.
   873  	// Depending on the upgrade associated with the device this might consume one
   874  	// license from the license pool, meaning that if there aren't enough licenses
   875  	// available the operation will fail.
   876  	ChangeChromeOsDeviceStatusAction string `json:"changeChromeOsDeviceStatusAction,omitempty"`
   877  	// DeprovisionReason: Optional. The reason behind a device deprovision. Must be
   878  	// provided if 'changeChromeOsDeviceStatusAction' is set to
   879  	// 'CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_DEPROVISION'. Otherwise, omit this
   880  	// field.
   881  	//
   882  	// Possible values:
   883  	//   "DEPROVISION_REASON_UNSPECIFIED" - The deprovision reason is unknown.
   884  	//   "DEPROVISION_REASON_SAME_MODEL_REPLACEMENT" - Same model replacement. You
   885  	// have return materials authorization (RMA) or you are replacing a
   886  	// malfunctioning device under warranty with the same device model.
   887  	//   "DEPROVISION_REASON_UPGRADE" - The device was upgraded.
   888  	//   "DEPROVISION_REASON_DOMAIN_MOVE" - The device's domain was changed.
   889  	//   "DEPROVISION_REASON_SERVICE_EXPIRATION" - Service expired for the device.
   890  	//   "DEPROVISION_REASON_OTHER" - The device was deprovisioned for a legacy
   891  	// reason that is no longer supported.
   892  	//   "DEPROVISION_REASON_DIFFERENT_MODEL_REPLACEMENT" - Different model
   893  	// replacement. You are replacing this device with an upgraded or newer device
   894  	// model.
   895  	//   "DEPROVISION_REASON_RETIRING_DEVICE" - Retiring from fleet. You are
   896  	// donating, discarding, or otherwise removing the device from use.
   897  	//   "DEPROVISION_REASON_UPGRADE_TRANSFER" - ChromeOS Flex upgrade transfer.
   898  	// This is a ChromeOS Flex device that you are replacing with a Chromebook
   899  	// within a year.
   900  	//   "DEPROVISION_REASON_NOT_REQUIRED" - A reason was not required. For
   901  	// example, the licenses were returned to the customer's license pool.
   902  	//   "DEPROVISION_REASON_REPAIR_CENTER" - The device was deprovisioned by the
   903  	// Repair Service Center. Can only be set by Repair Service Center during RMA.
   904  	DeprovisionReason string `json:"deprovisionReason,omitempty"`
   905  	// DeviceIds: Required. List of the IDs of the ChromeOS devices to change.
   906  	// Maximum 50.
   907  	DeviceIds []string `json:"deviceIds,omitempty"`
   908  	// ForceSendFields is a list of field names (e.g.
   909  	// "ChangeChromeOsDeviceStatusAction") to unconditionally include in API
   910  	// requests. By default, fields with empty or default values are omitted from
   911  	// API requests. See
   912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   913  	// details.
   914  	ForceSendFields []string `json:"-"`
   915  	// NullFields is a list of field names (e.g.
   916  	// "ChangeChromeOsDeviceStatusAction") to include in API requests with the JSON
   917  	// null value. By default, fields with empty values are omitted from API
   918  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
   919  	// more details.
   920  	NullFields []string `json:"-"`
   921  }
   922  
   923  func (s *BatchChangeChromeOsDeviceStatusRequest) MarshalJSON() ([]byte, error) {
   924  	type NoMethod BatchChangeChromeOsDeviceStatusRequest
   925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   926  }
   927  
   928  // BatchChangeChromeOsDeviceStatusResponse: The response of changing the status
   929  // of a batch of ChromeOS devices.
   930  type BatchChangeChromeOsDeviceStatusResponse struct {
   931  	// ChangeChromeOsDeviceStatusResults: The results for each of the ChromeOS
   932  	// devices provided in the request.
   933  	ChangeChromeOsDeviceStatusResults []*ChangeChromeOsDeviceStatusResult `json:"changeChromeOsDeviceStatusResults,omitempty"`
   934  
   935  	// ServerResponse contains the HTTP response code and headers from the server.
   936  	googleapi.ServerResponse `json:"-"`
   937  	// ForceSendFields is a list of field names (e.g.
   938  	// "ChangeChromeOsDeviceStatusResults") to unconditionally include in API
   939  	// requests. By default, fields with empty or default values are omitted from
   940  	// API requests. See
   941  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   942  	// details.
   943  	ForceSendFields []string `json:"-"`
   944  	// NullFields is a list of field names (e.g.
   945  	// "ChangeChromeOsDeviceStatusResults") to include in API requests with the
   946  	// JSON null value. By default, fields with empty values are omitted from API
   947  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
   948  	// more details.
   949  	NullFields []string `json:"-"`
   950  }
   951  
   952  func (s *BatchChangeChromeOsDeviceStatusResponse) MarshalJSON() ([]byte, error) {
   953  	type NoMethod BatchChangeChromeOsDeviceStatusResponse
   954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   955  }
   956  
   957  // BatchCreatePrintServersRequest: Request to add multiple new print servers in
   958  // a batch.
   959  type BatchCreatePrintServersRequest struct {
   960  	// Requests: Required. A list of `PrintServer` resources to be created (max
   961  	// `50` per batch).
   962  	Requests []*CreatePrintServerRequest `json:"requests,omitempty"`
   963  	// ForceSendFields is a list of field names (e.g. "Requests") to
   964  	// unconditionally include in API requests. By default, fields with empty or
   965  	// default values are omitted from API requests. See
   966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   967  	// details.
   968  	ForceSendFields []string `json:"-"`
   969  	// NullFields is a list of field names (e.g. "Requests") to include in API
   970  	// requests with the JSON null value. By default, fields with empty values are
   971  	// omitted from API requests. See
   972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   973  	NullFields []string `json:"-"`
   974  }
   975  
   976  func (s *BatchCreatePrintServersRequest) MarshalJSON() ([]byte, error) {
   977  	type NoMethod BatchCreatePrintServersRequest
   978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   979  }
   980  
   981  type BatchCreatePrintServersResponse struct {
   982  	// Failures: A list of create failures. `PrintServer` IDs are not populated, as
   983  	// print servers were not created.
   984  	Failures []*PrintServerFailureInfo `json:"failures,omitempty"`
   985  	// PrintServers: A list of successfully created print servers with their IDs
   986  	// populated.
   987  	PrintServers []*PrintServer `json:"printServers,omitempty"`
   988  
   989  	// ServerResponse contains the HTTP response code and headers from the server.
   990  	googleapi.ServerResponse `json:"-"`
   991  	// ForceSendFields is a list of field names (e.g. "Failures") to
   992  	// unconditionally include in API requests. By default, fields with empty or
   993  	// default values are omitted from API requests. See
   994  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   995  	// details.
   996  	ForceSendFields []string `json:"-"`
   997  	// NullFields is a list of field names (e.g. "Failures") to include in API
   998  	// requests with the JSON null value. By default, fields with empty values are
   999  	// omitted from API requests. See
  1000  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1001  	NullFields []string `json:"-"`
  1002  }
  1003  
  1004  func (s *BatchCreatePrintServersResponse) MarshalJSON() ([]byte, error) {
  1005  	type NoMethod BatchCreatePrintServersResponse
  1006  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1007  }
  1008  
  1009  // BatchCreatePrintersRequest: Request for adding new printers in batch.
  1010  type BatchCreatePrintersRequest struct {
  1011  	// Requests: A list of Printers to be created. Max 50 at a time.
  1012  	Requests []*CreatePrinterRequest `json:"requests,omitempty"`
  1013  	// ForceSendFields is a list of field names (e.g. "Requests") to
  1014  	// unconditionally include in API requests. By default, fields with empty or
  1015  	// default values are omitted from API requests. See
  1016  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1017  	// details.
  1018  	ForceSendFields []string `json:"-"`
  1019  	// NullFields is a list of field names (e.g. "Requests") to include in API
  1020  	// requests with the JSON null value. By default, fields with empty values are
  1021  	// omitted from API requests. See
  1022  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1023  	NullFields []string `json:"-"`
  1024  }
  1025  
  1026  func (s *BatchCreatePrintersRequest) MarshalJSON() ([]byte, error) {
  1027  	type NoMethod BatchCreatePrintersRequest
  1028  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1029  }
  1030  
  1031  // BatchCreatePrintersResponse: Response for adding new printers in batch.
  1032  type BatchCreatePrintersResponse struct {
  1033  	// Failures: A list of create failures. Printer IDs are not populated, as
  1034  	// printer were not created.
  1035  	Failures []*FailureInfo `json:"failures,omitempty"`
  1036  	// Printers: A list of successfully created printers with their IDs populated.
  1037  	Printers []*Printer `json:"printers,omitempty"`
  1038  
  1039  	// ServerResponse contains the HTTP response code and headers from the server.
  1040  	googleapi.ServerResponse `json:"-"`
  1041  	// ForceSendFields is a list of field names (e.g. "Failures") to
  1042  	// unconditionally include in API requests. By default, fields with empty or
  1043  	// default values are omitted from API requests. See
  1044  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1045  	// details.
  1046  	ForceSendFields []string `json:"-"`
  1047  	// NullFields is a list of field names (e.g. "Failures") to include in API
  1048  	// requests with the JSON null value. By default, fields with empty values are
  1049  	// omitted from API requests. See
  1050  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1051  	NullFields []string `json:"-"`
  1052  }
  1053  
  1054  func (s *BatchCreatePrintersResponse) MarshalJSON() ([]byte, error) {
  1055  	type NoMethod BatchCreatePrintersResponse
  1056  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1057  }
  1058  
  1059  // BatchDeletePrintServersRequest: Request to delete multiple existing print
  1060  // servers in a batch.
  1061  type BatchDeletePrintServersRequest struct {
  1062  	// PrintServerIds: A list of print server IDs that should be deleted (max `100`
  1063  	// per batch).
  1064  	PrintServerIds []string `json:"printServerIds,omitempty"`
  1065  	// ForceSendFields is a list of field names (e.g. "PrintServerIds") to
  1066  	// unconditionally include in API requests. By default, fields with empty or
  1067  	// default values are omitted from API requests. See
  1068  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1069  	// details.
  1070  	ForceSendFields []string `json:"-"`
  1071  	// NullFields is a list of field names (e.g. "PrintServerIds") to include in
  1072  	// API requests with the JSON null value. By default, fields with empty values
  1073  	// are omitted from API requests. See
  1074  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1075  	NullFields []string `json:"-"`
  1076  }
  1077  
  1078  func (s *BatchDeletePrintServersRequest) MarshalJSON() ([]byte, error) {
  1079  	type NoMethod BatchDeletePrintServersRequest
  1080  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1081  }
  1082  
  1083  type BatchDeletePrintServersResponse struct {
  1084  	// FailedPrintServers: A list of update failures.
  1085  	FailedPrintServers []*PrintServerFailureInfo `json:"failedPrintServers,omitempty"`
  1086  	// PrintServerIds: A list of print server IDs that were successfully deleted.
  1087  	PrintServerIds []string `json:"printServerIds,omitempty"`
  1088  
  1089  	// ServerResponse contains the HTTP response code and headers from the server.
  1090  	googleapi.ServerResponse `json:"-"`
  1091  	// ForceSendFields is a list of field names (e.g. "FailedPrintServers") to
  1092  	// unconditionally include in API requests. By default, fields with empty or
  1093  	// default values are omitted from API requests. See
  1094  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1095  	// details.
  1096  	ForceSendFields []string `json:"-"`
  1097  	// NullFields is a list of field names (e.g. "FailedPrintServers") to include
  1098  	// in API requests with the JSON null value. By default, fields with empty
  1099  	// values are omitted from API requests. See
  1100  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1101  	NullFields []string `json:"-"`
  1102  }
  1103  
  1104  func (s *BatchDeletePrintServersResponse) MarshalJSON() ([]byte, error) {
  1105  	type NoMethod BatchDeletePrintServersResponse
  1106  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1107  }
  1108  
  1109  // BatchDeletePrintersRequest: Request for deleting existing printers in batch.
  1110  type BatchDeletePrintersRequest struct {
  1111  	// PrinterIds: A list of Printer.id that should be deleted. Max 100 at a time.
  1112  	PrinterIds []string `json:"printerIds,omitempty"`
  1113  	// ForceSendFields is a list of field names (e.g. "PrinterIds") 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. "PrinterIds") 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 *BatchDeletePrintersRequest) MarshalJSON() ([]byte, error) {
  1127  	type NoMethod BatchDeletePrintersRequest
  1128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1129  }
  1130  
  1131  // BatchDeletePrintersResponse: Response for deleting existing printers in
  1132  // batch.
  1133  type BatchDeletePrintersResponse struct {
  1134  	// FailedPrinters: A list of update failures.
  1135  	FailedPrinters []*FailureInfo `json:"failedPrinters,omitempty"`
  1136  	// PrinterIds: A list of Printer.id that were successfully deleted.
  1137  	PrinterIds []string `json:"printerIds,omitempty"`
  1138  
  1139  	// ServerResponse contains the HTTP response code and headers from the server.
  1140  	googleapi.ServerResponse `json:"-"`
  1141  	// ForceSendFields is a list of field names (e.g. "FailedPrinters") to
  1142  	// unconditionally include in API requests. By default, fields with empty or
  1143  	// default values are omitted from API requests. See
  1144  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1145  	// details.
  1146  	ForceSendFields []string `json:"-"`
  1147  	// NullFields is a list of field names (e.g. "FailedPrinters") to include in
  1148  	// API requests with the JSON null value. By default, fields with empty values
  1149  	// are omitted from API requests. See
  1150  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1151  	NullFields []string `json:"-"`
  1152  }
  1153  
  1154  func (s *BatchDeletePrintersResponse) MarshalJSON() ([]byte, error) {
  1155  	type NoMethod BatchDeletePrintersResponse
  1156  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1157  }
  1158  
  1159  // Building: Public API: Resources.buildings
  1160  type Building struct {
  1161  	// Address: The postal address of the building. See `PostalAddress`
  1162  	// (/my-business/reference/rest/v4/PostalAddress) for details. Note that only a
  1163  	// single address line and region code are required.
  1164  	Address *BuildingAddress `json:"address,omitempty"`
  1165  	// BuildingId: Unique identifier for the building. The maximum length is 100
  1166  	// characters.
  1167  	BuildingId string `json:"buildingId,omitempty"`
  1168  	// BuildingName: The building name as seen by users in Calendar. Must be unique
  1169  	// for the customer. For example, "NYC-CHEL". The maximum length is 100
  1170  	// characters.
  1171  	BuildingName string `json:"buildingName,omitempty"`
  1172  	// Coordinates: The geographic coordinates of the center of the building,
  1173  	// expressed as latitude and longitude in decimal degrees.
  1174  	Coordinates *BuildingCoordinates `json:"coordinates,omitempty"`
  1175  	// Description: A brief description of the building. For example, "Chelsea
  1176  	// Market".
  1177  	Description string `json:"description,omitempty"`
  1178  	// Etags: ETag of the resource.
  1179  	Etags string `json:"etags,omitempty"`
  1180  	// FloorNames: The display names for all floors in this building. The floors
  1181  	// are expected to be sorted in ascending order, from lowest floor to highest
  1182  	// floor. For example, ["B2", "B1", "L", "1", "2", "2M", "3", "PH"] Must
  1183  	// contain at least one entry.
  1184  	FloorNames []string `json:"floorNames,omitempty"`
  1185  	// Kind: Kind of resource this is.
  1186  	Kind string `json:"kind,omitempty"`
  1187  
  1188  	// ServerResponse contains the HTTP response code and headers from the server.
  1189  	googleapi.ServerResponse `json:"-"`
  1190  	// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
  1191  	// include in API requests. By default, fields with empty or default values are
  1192  	// omitted from API requests. See
  1193  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1194  	// details.
  1195  	ForceSendFields []string `json:"-"`
  1196  	// NullFields is a list of field names (e.g. "Address") to include in API
  1197  	// requests with the JSON null value. By default, fields with empty values are
  1198  	// omitted from API requests. See
  1199  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1200  	NullFields []string `json:"-"`
  1201  }
  1202  
  1203  func (s *Building) MarshalJSON() ([]byte, error) {
  1204  	type NoMethod Building
  1205  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1206  }
  1207  
  1208  // BuildingAddress: Public API: Resources.buildings
  1209  type BuildingAddress struct {
  1210  	// AddressLines: Unstructured address lines describing the lower levels of an
  1211  	// address.
  1212  	AddressLines []string `json:"addressLines,omitempty"`
  1213  	// AdministrativeArea: Optional. Highest administrative subdivision which is
  1214  	// used for postal addresses of a country or region.
  1215  	AdministrativeArea string `json:"administrativeArea,omitempty"`
  1216  	// LanguageCode: Optional. BCP-47 language code of the contents of this address
  1217  	// (if known).
  1218  	LanguageCode string `json:"languageCode,omitempty"`
  1219  	// Locality: Optional. Generally refers to the city/town portion of the
  1220  	// address. Examples: US city, IT comune, UK post town. In regions of the world
  1221  	// where localities are not well defined or do not fit into this structure
  1222  	// well, leave locality empty and use addressLines.
  1223  	Locality string `json:"locality,omitempty"`
  1224  	// PostalCode: Optional. Postal code of the address.
  1225  	PostalCode string `json:"postalCode,omitempty"`
  1226  	// RegionCode: Required. CLDR region code of the country/region of the address.
  1227  	RegionCode string `json:"regionCode,omitempty"`
  1228  	// Sublocality: Optional. Sublocality of the address.
  1229  	Sublocality string `json:"sublocality,omitempty"`
  1230  	// ForceSendFields is a list of field names (e.g. "AddressLines") to
  1231  	// unconditionally include in API requests. By default, fields with empty or
  1232  	// default values are omitted from API requests. See
  1233  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1234  	// details.
  1235  	ForceSendFields []string `json:"-"`
  1236  	// NullFields is a list of field names (e.g. "AddressLines") to include in API
  1237  	// requests with the JSON null value. By default, fields with empty values are
  1238  	// omitted from API requests. See
  1239  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1240  	NullFields []string `json:"-"`
  1241  }
  1242  
  1243  func (s *BuildingAddress) MarshalJSON() ([]byte, error) {
  1244  	type NoMethod BuildingAddress
  1245  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1246  }
  1247  
  1248  // BuildingCoordinates: Public API: Resources.buildings
  1249  type BuildingCoordinates struct {
  1250  	// Latitude: Latitude in decimal degrees.
  1251  	Latitude float64 `json:"latitude,omitempty"`
  1252  	// Longitude: Longitude in decimal degrees.
  1253  	Longitude float64 `json:"longitude,omitempty"`
  1254  	// ForceSendFields is a list of field names (e.g. "Latitude") to
  1255  	// unconditionally include in API requests. By default, fields with empty or
  1256  	// default values are omitted from API requests. See
  1257  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1258  	// details.
  1259  	ForceSendFields []string `json:"-"`
  1260  	// NullFields is a list of field names (e.g. "Latitude") to include in API
  1261  	// requests with the JSON null value. By default, fields with empty values are
  1262  	// omitted from API requests. See
  1263  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1264  	NullFields []string `json:"-"`
  1265  }
  1266  
  1267  func (s *BuildingCoordinates) MarshalJSON() ([]byte, error) {
  1268  	type NoMethod BuildingCoordinates
  1269  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1270  }
  1271  
  1272  func (s *BuildingCoordinates) UnmarshalJSON(data []byte) error {
  1273  	type NoMethod BuildingCoordinates
  1274  	var s1 struct {
  1275  		Latitude  gensupport.JSONFloat64 `json:"latitude"`
  1276  		Longitude gensupport.JSONFloat64 `json:"longitude"`
  1277  		*NoMethod
  1278  	}
  1279  	s1.NoMethod = (*NoMethod)(s)
  1280  	if err := json.Unmarshal(data, &s1); err != nil {
  1281  		return err
  1282  	}
  1283  	s.Latitude = float64(s1.Latitude)
  1284  	s.Longitude = float64(s1.Longitude)
  1285  	return nil
  1286  }
  1287  
  1288  // Buildings: Public API: Resources.buildings
  1289  type Buildings struct {
  1290  	// Buildings: The Buildings in this page of results.
  1291  	Buildings []*Building `json:"buildings,omitempty"`
  1292  	// Etag: ETag of the resource.
  1293  	Etag string `json:"etag,omitempty"`
  1294  	// Kind: Kind of resource this is.
  1295  	Kind string `json:"kind,omitempty"`
  1296  	// NextPageToken: The continuation token, used to page through large result
  1297  	// sets. Provide this value in a subsequent request to return the next page of
  1298  	// results.
  1299  	NextPageToken string `json:"nextPageToken,omitempty"`
  1300  
  1301  	// ServerResponse contains the HTTP response code and headers from the server.
  1302  	googleapi.ServerResponse `json:"-"`
  1303  	// ForceSendFields is a list of field names (e.g. "Buildings") to
  1304  	// unconditionally include in API requests. By default, fields with empty or
  1305  	// default values are omitted from API requests. See
  1306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1307  	// details.
  1308  	ForceSendFields []string `json:"-"`
  1309  	// NullFields is a list of field names (e.g. "Buildings") to include in API
  1310  	// requests with the JSON null value. By default, fields with empty values are
  1311  	// omitted from API requests. See
  1312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1313  	NullFields []string `json:"-"`
  1314  }
  1315  
  1316  func (s *Buildings) MarshalJSON() ([]byte, error) {
  1317  	type NoMethod Buildings
  1318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1319  }
  1320  
  1321  // CalendarResource: Public API: Resources.calendars
  1322  type CalendarResource struct {
  1323  	// BuildingId: Unique ID for the building a resource is located in.
  1324  	BuildingId string `json:"buildingId,omitempty"`
  1325  	// Capacity: Capacity of a resource, number of seats in a room.
  1326  	Capacity int64 `json:"capacity,omitempty"`
  1327  	// Etags: ETag of the resource.
  1328  	Etags string `json:"etags,omitempty"`
  1329  	// FeatureInstances: Instances of features for the calendar resource.
  1330  	FeatureInstances interface{} `json:"featureInstances,omitempty"`
  1331  	// FloorName: Name of the floor a resource is located on.
  1332  	FloorName string `json:"floorName,omitempty"`
  1333  	// FloorSection: Name of the section within a floor a resource is located in.
  1334  	FloorSection string `json:"floorSection,omitempty"`
  1335  	// GeneratedResourceName: The read-only auto-generated name of the calendar
  1336  	// resource which includes metadata about the resource such as building name,
  1337  	// floor, capacity, etc. For example, "NYC-2-Training Room 1A (16)".
  1338  	GeneratedResourceName string `json:"generatedResourceName,omitempty"`
  1339  	// Kind: The type of the resource. For calendar resources, the value is
  1340  	// `admin#directory#resources#calendars#CalendarResource`.
  1341  	Kind string `json:"kind,omitempty"`
  1342  	// ResourceCategory: The category of the calendar resource. Either
  1343  	// CONFERENCE_ROOM or OTHER. Legacy data is set to CATEGORY_UNKNOWN.
  1344  	ResourceCategory string `json:"resourceCategory,omitempty"`
  1345  	// ResourceDescription: Description of the resource, visible only to admins.
  1346  	ResourceDescription string `json:"resourceDescription,omitempty"`
  1347  	// ResourceEmail: The read-only email for the calendar resource. Generated as
  1348  	// part of creating a new calendar resource.
  1349  	ResourceEmail string `json:"resourceEmail,omitempty"`
  1350  	// ResourceId: The unique ID for the calendar resource.
  1351  	ResourceId string `json:"resourceId,omitempty"`
  1352  	// ResourceName: The name of the calendar resource. For example, "Training Room
  1353  	// 1A".
  1354  	ResourceName string `json:"resourceName,omitempty"`
  1355  	// ResourceType: The type of the calendar resource, intended for non-room
  1356  	// resources.
  1357  	ResourceType string `json:"resourceType,omitempty"`
  1358  	// UserVisibleDescription: Description of the resource, visible to users and
  1359  	// admins.
  1360  	UserVisibleDescription string `json:"userVisibleDescription,omitempty"`
  1361  
  1362  	// ServerResponse contains the HTTP response code and headers from the server.
  1363  	googleapi.ServerResponse `json:"-"`
  1364  	// ForceSendFields is a list of field names (e.g. "BuildingId") to
  1365  	// unconditionally include in API requests. By default, fields with empty or
  1366  	// default values are omitted from API requests. See
  1367  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1368  	// details.
  1369  	ForceSendFields []string `json:"-"`
  1370  	// NullFields is a list of field names (e.g. "BuildingId") to include in API
  1371  	// requests with the JSON null value. By default, fields with empty values are
  1372  	// omitted from API requests. See
  1373  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1374  	NullFields []string `json:"-"`
  1375  }
  1376  
  1377  func (s *CalendarResource) MarshalJSON() ([]byte, error) {
  1378  	type NoMethod CalendarResource
  1379  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1380  }
  1381  
  1382  // CalendarResources: Public API: Resources.calendars
  1383  type CalendarResources struct {
  1384  	// Etag: ETag of the resource.
  1385  	Etag string `json:"etag,omitempty"`
  1386  	// Items: The CalendarResources in this page of results.
  1387  	Items []*CalendarResource `json:"items,omitempty"`
  1388  	// Kind: Identifies this as a collection of CalendarResources. This is always
  1389  	// `admin#directory#resources#calendars#calendarResourcesList`.
  1390  	Kind string `json:"kind,omitempty"`
  1391  	// NextPageToken: The continuation token, used to page through large result
  1392  	// sets. Provide this value in a subsequent request to return the next page of
  1393  	// results.
  1394  	NextPageToken string `json:"nextPageToken,omitempty"`
  1395  
  1396  	// ServerResponse contains the HTTP response code and headers from the server.
  1397  	googleapi.ServerResponse `json:"-"`
  1398  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  1399  	// include in API requests. By default, fields with empty or default values are
  1400  	// omitted from API requests. See
  1401  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1402  	// details.
  1403  	ForceSendFields []string `json:"-"`
  1404  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  1405  	// with the JSON null value. By default, fields with empty values are omitted
  1406  	// from API requests. See
  1407  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1408  	NullFields []string `json:"-"`
  1409  }
  1410  
  1411  func (s *CalendarResources) MarshalJSON() ([]byte, error) {
  1412  	type NoMethod CalendarResources
  1413  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1414  }
  1415  
  1416  // ChangeChromeOsDeviceStatusResult: The result of a single ChromeOS device for
  1417  // a Change state operation.
  1418  type ChangeChromeOsDeviceStatusResult struct {
  1419  	// DeviceId: The unique ID of the ChromeOS device.
  1420  	DeviceId string `json:"deviceId,omitempty"`
  1421  	// Error: The error result of the operation in case of failure.
  1422  	Error *Status `json:"error,omitempty"`
  1423  	// Response: The device could change its status successfully.
  1424  	Response *ChangeChromeOsDeviceStatusSucceeded `json:"response,omitempty"`
  1425  	// ForceSendFields is a list of field names (e.g. "DeviceId") 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. "DeviceId") to include in API
  1432  	// requests with the JSON null value. By default, fields with empty values are
  1433  	// 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 *ChangeChromeOsDeviceStatusResult) MarshalJSON() ([]byte, error) {
  1439  	type NoMethod ChangeChromeOsDeviceStatusResult
  1440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1441  }
  1442  
  1443  // ChangeChromeOsDeviceStatusSucceeded: Response for a successful ChromeOS
  1444  // device status change.
  1445  type ChangeChromeOsDeviceStatusSucceeded struct {
  1446  }
  1447  
  1448  // Channel: An notification channel used to watch for resource changes.
  1449  type Channel struct {
  1450  	// Address: The address where notifications are delivered for this channel.
  1451  	Address string `json:"address,omitempty"`
  1452  	// Expiration: Date and time of notification channel expiration, expressed as a
  1453  	// Unix timestamp, in milliseconds. Optional.
  1454  	Expiration int64 `json:"expiration,omitempty,string"`
  1455  	// Id: A UUID or similar unique string that identifies this channel.
  1456  	Id string `json:"id,omitempty"`
  1457  	// Kind: Identifies this as a notification channel used to watch for changes to
  1458  	// a resource, which is `api#channel`.
  1459  	Kind string `json:"kind,omitempty"`
  1460  	// Params: Additional parameters controlling delivery channel behavior.
  1461  	// Optional. For example, `params.ttl` specifies the time-to-live in seconds
  1462  	// for the notification channel, where the default is 2 hours and the maximum
  1463  	// TTL is 2 days.
  1464  	Params map[string]string `json:"params,omitempty"`
  1465  	// Payload: A Boolean value to indicate whether payload is wanted. Optional.
  1466  	Payload bool `json:"payload,omitempty"`
  1467  	// ResourceId: An opaque ID that identifies the resource being watched on this
  1468  	// channel. Stable across different API versions.
  1469  	ResourceId string `json:"resourceId,omitempty"`
  1470  	// ResourceUri: A version-specific identifier for the watched resource.
  1471  	ResourceUri string `json:"resourceUri,omitempty"`
  1472  	// Token: An arbitrary string delivered to the target address with each
  1473  	// notification delivered over this channel. Optional.
  1474  	Token string `json:"token,omitempty"`
  1475  	// Type: The type of delivery mechanism used for this channel.
  1476  	Type string `json:"type,omitempty"`
  1477  
  1478  	// ServerResponse contains the HTTP response code and headers from the server.
  1479  	googleapi.ServerResponse `json:"-"`
  1480  	// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
  1481  	// include in API requests. By default, fields with empty or default values are
  1482  	// omitted from API requests. See
  1483  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1484  	// details.
  1485  	ForceSendFields []string `json:"-"`
  1486  	// NullFields is a list of field names (e.g. "Address") to include in API
  1487  	// requests with the JSON null value. By default, fields with empty values are
  1488  	// omitted from API requests. See
  1489  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1490  	NullFields []string `json:"-"`
  1491  }
  1492  
  1493  func (s *Channel) MarshalJSON() ([]byte, error) {
  1494  	type NoMethod Channel
  1495  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1496  }
  1497  
  1498  // ChromeOsDevice: Google Chrome devices run on the Chrome OS
  1499  // (https://support.google.com/chromeos). For more information about common API
  1500  // tasks, see the Developer's Guide
  1501  // (/admin-sdk/directory/v1/guides/manage-chrome-devices).
  1502  type ChromeOsDevice struct {
  1503  	// ActiveTimeRanges: A list of active time ranges (Read-only).
  1504  	ActiveTimeRanges []*ChromeOsDeviceActiveTimeRanges `json:"activeTimeRanges,omitempty"`
  1505  	// AnnotatedAssetId: The asset identifier as noted by an administrator or
  1506  	// specified during enrollment.
  1507  	AnnotatedAssetId string `json:"annotatedAssetId,omitempty"`
  1508  	// AnnotatedLocation: The address or location of the device as noted by the
  1509  	// administrator. Maximum length is `200` characters. Empty values are allowed.
  1510  	AnnotatedLocation string `json:"annotatedLocation,omitempty"`
  1511  	// AnnotatedUser: The user of the device as noted by the administrator. Maximum
  1512  	// length is 100 characters. Empty values are allowed.
  1513  	AnnotatedUser string `json:"annotatedUser,omitempty"`
  1514  	// AutoUpdateExpiration: (Read-only) The timestamp after which the device will
  1515  	// stop receiving Chrome updates or support. Please use "autoUpdateThrough"
  1516  	// instead.
  1517  	AutoUpdateExpiration int64 `json:"autoUpdateExpiration,omitempty,string"`
  1518  	// AutoUpdateThrough: Output only. The timestamp after which the device will
  1519  	// stop receiving Chrome updates or support.
  1520  	AutoUpdateThrough string `json:"autoUpdateThrough,omitempty"`
  1521  	// BacklightInfo: Output only. Contains backlight information for the device.
  1522  	BacklightInfo []*BacklightInfo `json:"backlightInfo,omitempty"`
  1523  	// BootMode: The boot mode for the device. The possible values are: *
  1524  	// `Verified`: The device is running a valid version of the Chrome OS. * `Dev`:
  1525  	// The devices's developer hardware switch is enabled. When booted, the device
  1526  	// has a command line shell. For an example of a developer switch, see the
  1527  	// Chromebook developer information
  1528  	// (https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch).
  1529  	BootMode string `json:"bootMode,omitempty"`
  1530  	// ChromeOsType: Output only. Chrome OS type of the device.
  1531  	//
  1532  	// Possible values:
  1533  	//   "chromeOsTypeUnspecified" - Chrome OS Type unspecified.
  1534  	//   "chromeOsFlex" - Chrome OS Type Chrome OS Flex.
  1535  	//   "chromeOs" - Chrome OS Type Chrome OS.
  1536  	ChromeOsType string `json:"chromeOsType,omitempty"`
  1537  	// CpuInfo: Information regarding CPU specs in the device.
  1538  	CpuInfo []*ChromeOsDeviceCpuInfo `json:"cpuInfo,omitempty"`
  1539  	// CpuStatusReports: Reports of CPU utilization and temperature (Read-only)
  1540  	CpuStatusReports []*ChromeOsDeviceCpuStatusReports `json:"cpuStatusReports,omitempty"`
  1541  	// DeprovisionReason: (Read-only) Deprovision reason.
  1542  	//
  1543  	// Possible values:
  1544  	//   "DEPROVISION_REASON_UNSPECIFIED" - The deprovision reason is unknown.
  1545  	//   "DEPROVISION_REASON_SAME_MODEL_REPLACEMENT" - Same model replacement. You
  1546  	// have return materials authorization (RMA) or you are replacing a
  1547  	// malfunctioning device under warranty with the same device model.
  1548  	//   "DEPROVISION_REASON_UPGRADE" - The device was upgraded.
  1549  	//   "DEPROVISION_REASON_DOMAIN_MOVE" - The device's domain was changed.
  1550  	//   "DEPROVISION_REASON_SERVICE_EXPIRATION" - Service expired for the device.
  1551  	//   "DEPROVISION_REASON_OTHER" - The device was deprovisioned for a legacy
  1552  	// reason that is no longer supported.
  1553  	//   "DEPROVISION_REASON_DIFFERENT_MODEL_REPLACEMENT" - Different model
  1554  	// replacement. You are replacing this device with an upgraded or newer device
  1555  	// model.
  1556  	//   "DEPROVISION_REASON_RETIRING_DEVICE" - Retiring from fleet. You are
  1557  	// donating, discarding, or otherwise removing the device from use.
  1558  	//   "DEPROVISION_REASON_UPGRADE_TRANSFER" - ChromeOS Flex upgrade transfer.
  1559  	// This is a ChromeOS Flex device that you are replacing with a Chromebook
  1560  	// within a year.
  1561  	//   "DEPROVISION_REASON_NOT_REQUIRED" - A reason was not required. For
  1562  	// example, the licenses were returned to the customer's license pool.
  1563  	//   "DEPROVISION_REASON_REPAIR_CENTER" - The device was deprovisioned by the
  1564  	// Repair Service Center. Can only be set by Repair Service Center during RMA.
  1565  	DeprovisionReason string `json:"deprovisionReason,omitempty"`
  1566  	// DeviceFiles: A list of device files to download (Read-only)
  1567  	DeviceFiles []*ChromeOsDeviceDeviceFiles `json:"deviceFiles,omitempty"`
  1568  	// DeviceId: The unique ID of the Chrome device.
  1569  	DeviceId string `json:"deviceId,omitempty"`
  1570  	// DeviceLicenseType: Output only. Device license type.
  1571  	//
  1572  	// Possible values:
  1573  	//   "deviceLicenseTypeUnspecified" - The license type is unknown.
  1574  	//   "enterprise" - The device is bundled with a perpetual Chrome Enterprise
  1575  	// Upgrade.
  1576  	//   "enterpriseUpgrade" - The device has an annual standalone Chrome
  1577  	// Enterprise Upgrade.
  1578  	//   "educationUpgrade" - The device has a perpetual standalone Chrome
  1579  	// Education Upgrade.
  1580  	//   "education" - The device is bundled with a perpetual Chrome Education
  1581  	// Upgrade.
  1582  	//   "kioskUpgrade" - The device has an annual Kiosk Upgrade.
  1583  	DeviceLicenseType string `json:"deviceLicenseType,omitempty"`
  1584  	// DiskVolumeReports: Reports of disk space and other info about
  1585  	// mounted/connected volumes.
  1586  	DiskVolumeReports []*ChromeOsDeviceDiskVolumeReports `json:"diskVolumeReports,omitempty"`
  1587  	// DockMacAddress: (Read-only) Built-in MAC address for the docking station
  1588  	// that the device connected to. Factory sets Media access control address (MAC
  1589  	// address) assigned for use by a dock. It is reserved specifically for MAC
  1590  	// pass through device policy. The format is twelve (12) hexadecimal digits
  1591  	// without any delimiter (uppercase letters). This is only relevant for some
  1592  	// devices.
  1593  	DockMacAddress string `json:"dockMacAddress,omitempty"`
  1594  	// Etag: ETag of the resource.
  1595  	Etag string `json:"etag,omitempty"`
  1596  	// EthernetMacAddress: The device's MAC address on the ethernet network
  1597  	// interface.
  1598  	EthernetMacAddress string `json:"ethernetMacAddress,omitempty"`
  1599  	// EthernetMacAddress0: (Read-only) MAC address used by the Chromebook’s
  1600  	// internal ethernet port, and for onboard network (ethernet) interface. The
  1601  	// format is twelve (12) hexadecimal digits without any delimiter (uppercase
  1602  	// letters). This is only relevant for some devices.
  1603  	EthernetMacAddress0 string `json:"ethernetMacAddress0,omitempty"`
  1604  	// ExtendedSupportEligible: Output only. Whether or not the device requires the
  1605  	// extended support opt in.
  1606  	ExtendedSupportEligible bool `json:"extendedSupportEligible,omitempty"`
  1607  	// ExtendedSupportEnabled: Output only. Whether extended support policy is
  1608  	// enabled on the device.
  1609  	ExtendedSupportEnabled bool `json:"extendedSupportEnabled,omitempty"`
  1610  	// ExtendedSupportStart: Output only. Date of the device when extended support
  1611  	// policy for automatic updates starts.
  1612  	ExtendedSupportStart string `json:"extendedSupportStart,omitempty"`
  1613  	// FanInfo: Output only. Fan information for the device.
  1614  	FanInfo []*FanInfo `json:"fanInfo,omitempty"`
  1615  	// FirmwareVersion: The Chrome device's firmware version.
  1616  	FirmwareVersion string `json:"firmwareVersion,omitempty"`
  1617  	// FirstEnrollmentTime: Date and time for the first time the device was
  1618  	// enrolled.
  1619  	FirstEnrollmentTime string `json:"firstEnrollmentTime,omitempty"`
  1620  	// Kind: The type of resource. For the Chromeosdevices resource, the value is
  1621  	// `admin#directory#chromeosdevice`.
  1622  	Kind string `json:"kind,omitempty"`
  1623  	// LastDeprovisionTimestamp: (Read-only) Date and time for the last deprovision
  1624  	// of the device.
  1625  	LastDeprovisionTimestamp string `json:"lastDeprovisionTimestamp,omitempty"`
  1626  	// LastEnrollmentTime: Date and time the device was last enrolled (Read-only)
  1627  	LastEnrollmentTime string `json:"lastEnrollmentTime,omitempty"`
  1628  	// LastKnownNetwork: Contains last known network (Read-only)
  1629  	LastKnownNetwork []*ChromeOsDeviceLastKnownNetwork `json:"lastKnownNetwork,omitempty"`
  1630  	// LastSync: Date and time the device was last synchronized with the policy
  1631  	// settings in the G Suite administrator control panel (Read-only)
  1632  	LastSync string `json:"lastSync,omitempty"`
  1633  	// MacAddress: The device's wireless MAC address. If the device does not have
  1634  	// this information, it is not included in the response.
  1635  	MacAddress string `json:"macAddress,omitempty"`
  1636  	// ManufactureDate: (Read-only) The date the device was manufactured in
  1637  	// yyyy-mm-dd format.
  1638  	ManufactureDate string `json:"manufactureDate,omitempty"`
  1639  	// Meid: The Mobile Equipment Identifier (MEID) or the International Mobile
  1640  	// Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A
  1641  	// MEID/IMEI is typically used when adding a device to a wireless carrier's
  1642  	// post-pay service plan. If the device does not have this information, this
  1643  	// property is not included in the response. For more information on how to
  1644  	// export a MEID/IMEI list, see the Developer's Guide
  1645  	// (/admin-sdk/directory/v1/guides/manage-chrome-devices.html#export_meid).
  1646  	Meid string `json:"meid,omitempty"`
  1647  	// Model: The device's model information. If the device does not have this
  1648  	// information, this property is not included in the response.
  1649  	Model string `json:"model,omitempty"`
  1650  	// Notes: Notes about this device added by the administrator. This property can
  1651  	// be searched (https://support.google.com/chrome/a/answer/1698333) with the
  1652  	// list (/admin-sdk/directory/v1/reference/chromeosdevices/list) method's
  1653  	// `query` parameter. Maximum length is 500 characters. Empty values are
  1654  	// allowed.
  1655  	Notes string `json:"notes,omitempty"`
  1656  	// OrderNumber: The device's order number. Only devices directly purchased from
  1657  	// Google have an order number.
  1658  	OrderNumber string `json:"orderNumber,omitempty"`
  1659  	// OrgUnitId: The unique ID of the organizational unit. orgUnitPath is the
  1660  	// human readable version of orgUnitId. While orgUnitPath may change by
  1661  	// renaming an organizational unit within the path, orgUnitId is unchangeable
  1662  	// for one organizational unit. This property can be updated
  1663  	// (/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_
  1664  	// ou) using the API. For more information about how to create an
  1665  	// organizational structure for your device, see the administration help center
  1666  	// (https://support.google.com/a/answer/182433).
  1667  	OrgUnitId string `json:"orgUnitId,omitempty"`
  1668  	// OrgUnitPath: The full parent path with the organizational unit's name
  1669  	// associated with the device. Path names are case insensitive. If the parent
  1670  	// organizational unit is the top-level organization, it is represented as a
  1671  	// forward slash, `/`. This property can be updated
  1672  	// (/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_
  1673  	// ou) using the API. For more information about how to create an
  1674  	// organizational structure for your device, see the administration help center
  1675  	// (https://support.google.com/a/answer/182433).
  1676  	OrgUnitPath string `json:"orgUnitPath,omitempty"`
  1677  	// OsUpdateStatus: The status of the OS updates for the device.
  1678  	OsUpdateStatus *OsUpdateStatus `json:"osUpdateStatus,omitempty"`
  1679  	// OsVersion: The Chrome device's operating system version.
  1680  	OsVersion string `json:"osVersion,omitempty"`
  1681  	// PlatformVersion: The Chrome device's platform version.
  1682  	PlatformVersion string `json:"platformVersion,omitempty"`
  1683  	// RecentUsers: A list of recent device users, in descending order, by last
  1684  	// login time.
  1685  	RecentUsers []*ChromeOsDeviceRecentUsers `json:"recentUsers,omitempty"`
  1686  	// ScreenshotFiles: A list of screenshot files to download. Type is always
  1687  	// "SCREENSHOT_FILE". (Read-only)
  1688  	ScreenshotFiles []*ChromeOsDeviceScreenshotFiles `json:"screenshotFiles,omitempty"`
  1689  	// SerialNumber: The Chrome device serial number entered when the device was
  1690  	// enabled. This value is the same as the Admin console's *Serial Number* in
  1691  	// the *Chrome OS Devices* tab.
  1692  	SerialNumber string `json:"serialNumber,omitempty"`
  1693  	// Status: The status of the device.
  1694  	Status string `json:"status,omitempty"`
  1695  	// SupportEndDate: Final date the device will be supported (Read-only)
  1696  	SupportEndDate string `json:"supportEndDate,omitempty"`
  1697  	// SystemRamFreeReports: Reports of amounts of available RAM memory (Read-only)
  1698  	SystemRamFreeReports []*ChromeOsDeviceSystemRamFreeReports `json:"systemRamFreeReports,omitempty"`
  1699  	// SystemRamTotal: Total RAM on the device [in bytes] (Read-only)
  1700  	SystemRamTotal int64 `json:"systemRamTotal,omitempty,string"`
  1701  	// TpmVersionInfo: Trusted Platform Module (TPM) (Read-only)
  1702  	TpmVersionInfo *ChromeOsDeviceTpmVersionInfo `json:"tpmVersionInfo,omitempty"`
  1703  	// WillAutoRenew: Determines if the device will auto renew its support after
  1704  	// the support end date. This is a read-only property.
  1705  	WillAutoRenew bool `json:"willAutoRenew,omitempty"`
  1706  
  1707  	// ServerResponse contains the HTTP response code and headers from the server.
  1708  	googleapi.ServerResponse `json:"-"`
  1709  	// ForceSendFields is a list of field names (e.g. "ActiveTimeRanges") to
  1710  	// unconditionally include in API requests. By default, fields with empty or
  1711  	// default values are omitted from API requests. See
  1712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1713  	// details.
  1714  	ForceSendFields []string `json:"-"`
  1715  	// NullFields is a list of field names (e.g. "ActiveTimeRanges") to include in
  1716  	// API requests with the JSON null value. By default, fields with empty values
  1717  	// are omitted from API requests. See
  1718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1719  	NullFields []string `json:"-"`
  1720  }
  1721  
  1722  func (s *ChromeOsDevice) MarshalJSON() ([]byte, error) {
  1723  	type NoMethod ChromeOsDevice
  1724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1725  }
  1726  
  1727  type ChromeOsDeviceActiveTimeRanges struct {
  1728  	// ActiveTime: Duration of usage in milliseconds.
  1729  	ActiveTime int64 `json:"activeTime,omitempty"`
  1730  	// Date: Date of usage
  1731  	Date string `json:"date,omitempty"`
  1732  	// ForceSendFields is a list of field names (e.g. "ActiveTime") to
  1733  	// unconditionally include in API requests. By default, fields with empty or
  1734  	// default values are omitted from API requests. See
  1735  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1736  	// details.
  1737  	ForceSendFields []string `json:"-"`
  1738  	// NullFields is a list of field names (e.g. "ActiveTime") to include in API
  1739  	// requests with the JSON null value. By default, fields with empty values are
  1740  	// omitted from API requests. See
  1741  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1742  	NullFields []string `json:"-"`
  1743  }
  1744  
  1745  func (s *ChromeOsDeviceActiveTimeRanges) MarshalJSON() ([]byte, error) {
  1746  	type NoMethod ChromeOsDeviceActiveTimeRanges
  1747  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1748  }
  1749  
  1750  // ChromeOsDeviceCpuInfo: CPU specs for a CPU.
  1751  type ChromeOsDeviceCpuInfo struct {
  1752  	// Architecture: The CPU architecture.
  1753  	Architecture string `json:"architecture,omitempty"`
  1754  	// LogicalCpus: Information for the Logical CPUs
  1755  	LogicalCpus []*ChromeOsDeviceCpuInfoLogicalCpus `json:"logicalCpus,omitempty"`
  1756  	// MaxClockSpeedKhz: The max CPU clock speed in kHz.
  1757  	MaxClockSpeedKhz int64 `json:"maxClockSpeedKhz,omitempty"`
  1758  	// Model: The CPU model name.
  1759  	Model string `json:"model,omitempty"`
  1760  	// ForceSendFields is a list of field names (e.g. "Architecture") to
  1761  	// unconditionally include in API requests. By default, fields with empty or
  1762  	// default values are omitted from API requests. See
  1763  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1764  	// details.
  1765  	ForceSendFields []string `json:"-"`
  1766  	// NullFields is a list of field names (e.g. "Architecture") to include in API
  1767  	// requests with the JSON null value. By default, fields with empty values are
  1768  	// omitted from API requests. See
  1769  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1770  	NullFields []string `json:"-"`
  1771  }
  1772  
  1773  func (s *ChromeOsDeviceCpuInfo) MarshalJSON() ([]byte, error) {
  1774  	type NoMethod ChromeOsDeviceCpuInfo
  1775  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1776  }
  1777  
  1778  // ChromeOsDeviceCpuInfoLogicalCpus: Status of a single logical CPU.
  1779  type ChromeOsDeviceCpuInfoLogicalCpus struct {
  1780  	// CStates: C-States indicate the power consumption state of the CPU. For more
  1781  	// information look at documentation published by the CPU maker.
  1782  	CStates []*ChromeOsDeviceCpuInfoLogicalCpusCStates `json:"cStates,omitempty"`
  1783  	// CurrentScalingFrequencyKhz: Current frequency the CPU is running at.
  1784  	CurrentScalingFrequencyKhz int64 `json:"currentScalingFrequencyKhz,omitempty"`
  1785  	// IdleDuration: Idle time since last boot.
  1786  	IdleDuration string `json:"idleDuration,omitempty"`
  1787  	// MaxScalingFrequencyKhz: Maximum frequency the CPU is allowed to run at, by
  1788  	// policy.
  1789  	MaxScalingFrequencyKhz int64 `json:"maxScalingFrequencyKhz,omitempty"`
  1790  	// ForceSendFields is a list of field names (e.g. "CStates") to unconditionally
  1791  	// include in API requests. By default, fields with empty or default values are
  1792  	// omitted from API requests. See
  1793  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1794  	// details.
  1795  	ForceSendFields []string `json:"-"`
  1796  	// NullFields is a list of field names (e.g. "CStates") to include in API
  1797  	// requests with the JSON null value. By default, fields with empty values are
  1798  	// omitted from API requests. See
  1799  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1800  	NullFields []string `json:"-"`
  1801  }
  1802  
  1803  func (s *ChromeOsDeviceCpuInfoLogicalCpus) MarshalJSON() ([]byte, error) {
  1804  	type NoMethod ChromeOsDeviceCpuInfoLogicalCpus
  1805  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1806  }
  1807  
  1808  // ChromeOsDeviceCpuInfoLogicalCpusCStates: Status of a single C-state.
  1809  // C-states are various modes the CPU can transition to in order to use more or
  1810  // less power.
  1811  type ChromeOsDeviceCpuInfoLogicalCpusCStates struct {
  1812  	// DisplayName: Name of the state.
  1813  	DisplayName string `json:"displayName,omitempty"`
  1814  	// SessionDuration: Time spent in the state since the last reboot.
  1815  	SessionDuration string `json:"sessionDuration,omitempty"`
  1816  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1817  	// unconditionally include in API requests. By default, fields with empty or
  1818  	// default values are omitted from API requests. See
  1819  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1820  	// details.
  1821  	ForceSendFields []string `json:"-"`
  1822  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1823  	// requests with the JSON null value. By default, fields with empty values are
  1824  	// omitted from API requests. See
  1825  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1826  	NullFields []string `json:"-"`
  1827  }
  1828  
  1829  func (s *ChromeOsDeviceCpuInfoLogicalCpusCStates) MarshalJSON() ([]byte, error) {
  1830  	type NoMethod ChromeOsDeviceCpuInfoLogicalCpusCStates
  1831  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1832  }
  1833  
  1834  type ChromeOsDeviceCpuStatusReports struct {
  1835  	// CpuTemperatureInfo: A list of CPU temperature samples.
  1836  	CpuTemperatureInfo           []*ChromeOsDeviceCpuStatusReportsCpuTemperatureInfo `json:"cpuTemperatureInfo,omitempty"`
  1837  	CpuUtilizationPercentageInfo []int64                                             `json:"cpuUtilizationPercentageInfo,omitempty"`
  1838  	// ReportTime: Date and time the report was received.
  1839  	ReportTime string `json:"reportTime,omitempty"`
  1840  	// ForceSendFields is a list of field names (e.g. "CpuTemperatureInfo") to
  1841  	// unconditionally include in API requests. By default, fields with empty or
  1842  	// default values are omitted from 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. "CpuTemperatureInfo") to include
  1847  	// in API requests with the JSON null value. By default, fields with empty
  1848  	// 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 *ChromeOsDeviceCpuStatusReports) MarshalJSON() ([]byte, error) {
  1854  	type NoMethod ChromeOsDeviceCpuStatusReports
  1855  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1856  }
  1857  
  1858  type ChromeOsDeviceCpuStatusReportsCpuTemperatureInfo struct {
  1859  	// Label: CPU label
  1860  	Label string `json:"label,omitempty"`
  1861  	// Temperature: Temperature in Celsius degrees.
  1862  	Temperature int64 `json:"temperature,omitempty"`
  1863  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  1864  	// include in API requests. By default, fields with empty or default values are
  1865  	// omitted from API requests. See
  1866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1867  	// details.
  1868  	ForceSendFields []string `json:"-"`
  1869  	// NullFields is a list of field names (e.g. "Label") to include in API
  1870  	// requests with the JSON null value. By default, fields with empty values are
  1871  	// omitted from API requests. See
  1872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1873  	NullFields []string `json:"-"`
  1874  }
  1875  
  1876  func (s *ChromeOsDeviceCpuStatusReportsCpuTemperatureInfo) MarshalJSON() ([]byte, error) {
  1877  	type NoMethod ChromeOsDeviceCpuStatusReportsCpuTemperatureInfo
  1878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1879  }
  1880  
  1881  type ChromeOsDeviceDeviceFiles struct {
  1882  	// CreateTime: Date and time the file was created
  1883  	CreateTime string `json:"createTime,omitempty"`
  1884  	// DownloadUrl: File download URL
  1885  	DownloadUrl string `json:"downloadUrl,omitempty"`
  1886  	// Name: File name
  1887  	Name string `json:"name,omitempty"`
  1888  	// Type: File type
  1889  	Type string `json:"type,omitempty"`
  1890  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  1891  	// unconditionally include in API requests. By default, fields with empty or
  1892  	// default values are omitted from API requests. See
  1893  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1894  	// details.
  1895  	ForceSendFields []string `json:"-"`
  1896  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  1897  	// requests with the JSON null value. By default, fields with empty values are
  1898  	// omitted from API requests. See
  1899  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1900  	NullFields []string `json:"-"`
  1901  }
  1902  
  1903  func (s *ChromeOsDeviceDeviceFiles) MarshalJSON() ([]byte, error) {
  1904  	type NoMethod ChromeOsDeviceDeviceFiles
  1905  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1906  }
  1907  
  1908  type ChromeOsDeviceDiskVolumeReports struct {
  1909  	// VolumeInfo: Disk volumes
  1910  	VolumeInfo []*ChromeOsDeviceDiskVolumeReportsVolumeInfo `json:"volumeInfo,omitempty"`
  1911  	// ForceSendFields is a list of field names (e.g. "VolumeInfo") to
  1912  	// unconditionally include in API requests. By default, fields with empty or
  1913  	// default values are omitted from API requests. See
  1914  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1915  	// details.
  1916  	ForceSendFields []string `json:"-"`
  1917  	// NullFields is a list of field names (e.g. "VolumeInfo") to include in API
  1918  	// requests with the JSON null value. By default, fields with empty values are
  1919  	// omitted from API requests. See
  1920  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1921  	NullFields []string `json:"-"`
  1922  }
  1923  
  1924  func (s *ChromeOsDeviceDiskVolumeReports) MarshalJSON() ([]byte, error) {
  1925  	type NoMethod ChromeOsDeviceDiskVolumeReports
  1926  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1927  }
  1928  
  1929  type ChromeOsDeviceDiskVolumeReportsVolumeInfo struct {
  1930  	// StorageFree: Free disk space [in bytes]
  1931  	StorageFree int64 `json:"storageFree,omitempty,string"`
  1932  	// StorageTotal: Total disk space [in bytes]
  1933  	StorageTotal int64 `json:"storageTotal,omitempty,string"`
  1934  	// VolumeId: Volume id
  1935  	VolumeId string `json:"volumeId,omitempty"`
  1936  	// ForceSendFields is a list of field names (e.g. "StorageFree") to
  1937  	// unconditionally include in API requests. By default, fields with empty or
  1938  	// default values are omitted from API requests. See
  1939  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1940  	// details.
  1941  	ForceSendFields []string `json:"-"`
  1942  	// NullFields is a list of field names (e.g. "StorageFree") to include in API
  1943  	// requests with the JSON null value. By default, fields with empty values are
  1944  	// omitted from API requests. See
  1945  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1946  	NullFields []string `json:"-"`
  1947  }
  1948  
  1949  func (s *ChromeOsDeviceDiskVolumeReportsVolumeInfo) MarshalJSON() ([]byte, error) {
  1950  	type NoMethod ChromeOsDeviceDiskVolumeReportsVolumeInfo
  1951  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1952  }
  1953  
  1954  // ChromeOsDeviceLastKnownNetwork: Information for an ip address.
  1955  type ChromeOsDeviceLastKnownNetwork struct {
  1956  	// IpAddress: The IP address.
  1957  	IpAddress string `json:"ipAddress,omitempty"`
  1958  	// WanIpAddress: The WAN IP address.
  1959  	WanIpAddress string `json:"wanIpAddress,omitempty"`
  1960  	// ForceSendFields is a list of field names (e.g. "IpAddress") to
  1961  	// unconditionally include in API requests. By default, fields with empty or
  1962  	// default values are omitted from API requests. See
  1963  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1964  	// details.
  1965  	ForceSendFields []string `json:"-"`
  1966  	// NullFields is a list of field names (e.g. "IpAddress") to include in API
  1967  	// requests with the JSON null value. By default, fields with empty values are
  1968  	// omitted from API requests. See
  1969  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1970  	NullFields []string `json:"-"`
  1971  }
  1972  
  1973  func (s *ChromeOsDeviceLastKnownNetwork) MarshalJSON() ([]byte, error) {
  1974  	type NoMethod ChromeOsDeviceLastKnownNetwork
  1975  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1976  }
  1977  
  1978  // ChromeOsDeviceRecentUsers: A list of recent device users, in descending
  1979  // order, by last login time.
  1980  type ChromeOsDeviceRecentUsers struct {
  1981  	// Email: The user's email address. This is only present if the user type is
  1982  	// `USER_TYPE_MANAGED`.
  1983  	Email string `json:"email,omitempty"`
  1984  	// Type: The type of the user.
  1985  	Type string `json:"type,omitempty"`
  1986  	// ForceSendFields is a list of field names (e.g. "Email") to unconditionally
  1987  	// include in API requests. By default, fields with empty or default values are
  1988  	// omitted from API requests. See
  1989  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1990  	// details.
  1991  	ForceSendFields []string `json:"-"`
  1992  	// NullFields is a list of field names (e.g. "Email") to include in API
  1993  	// requests with the JSON null value. By default, fields with empty values are
  1994  	// omitted from API requests. See
  1995  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1996  	NullFields []string `json:"-"`
  1997  }
  1998  
  1999  func (s *ChromeOsDeviceRecentUsers) MarshalJSON() ([]byte, error) {
  2000  	type NoMethod ChromeOsDeviceRecentUsers
  2001  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2002  }
  2003  
  2004  type ChromeOsDeviceScreenshotFiles struct {
  2005  	// CreateTime: Date and time the file was created
  2006  	CreateTime string `json:"createTime,omitempty"`
  2007  	// DownloadUrl: File download URL
  2008  	DownloadUrl string `json:"downloadUrl,omitempty"`
  2009  	// Name: File name
  2010  	Name string `json:"name,omitempty"`
  2011  	// Type: File type
  2012  	Type string `json:"type,omitempty"`
  2013  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2014  	// unconditionally include in API requests. By default, fields with empty or
  2015  	// default values are omitted from API requests. See
  2016  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2017  	// details.
  2018  	ForceSendFields []string `json:"-"`
  2019  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2020  	// requests with the JSON null value. By default, fields with empty values are
  2021  	// omitted from API requests. See
  2022  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2023  	NullFields []string `json:"-"`
  2024  }
  2025  
  2026  func (s *ChromeOsDeviceScreenshotFiles) MarshalJSON() ([]byte, error) {
  2027  	type NoMethod ChromeOsDeviceScreenshotFiles
  2028  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2029  }
  2030  
  2031  type ChromeOsDeviceSystemRamFreeReports struct {
  2032  	// ReportTime: Date and time the report was received.
  2033  	ReportTime        string           `json:"reportTime,omitempty"`
  2034  	SystemRamFreeInfo googleapi.Int64s `json:"systemRamFreeInfo,omitempty"`
  2035  	// ForceSendFields is a list of field names (e.g. "ReportTime") to
  2036  	// unconditionally include in API requests. By default, fields with empty or
  2037  	// default values are omitted from API requests. See
  2038  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2039  	// details.
  2040  	ForceSendFields []string `json:"-"`
  2041  	// NullFields is a list of field names (e.g. "ReportTime") to include in API
  2042  	// requests with the JSON null value. By default, fields with empty values are
  2043  	// omitted from API requests. See
  2044  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2045  	NullFields []string `json:"-"`
  2046  }
  2047  
  2048  func (s *ChromeOsDeviceSystemRamFreeReports) MarshalJSON() ([]byte, error) {
  2049  	type NoMethod ChromeOsDeviceSystemRamFreeReports
  2050  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2051  }
  2052  
  2053  // ChromeOsDeviceTpmVersionInfo: Trusted Platform Module (TPM) (Read-only)
  2054  type ChromeOsDeviceTpmVersionInfo struct {
  2055  	// Family: TPM family. We use the TPM 2.0 style encoding, e.g.: TPM 1.2: "1.2"
  2056  	// -> 312e3200 TPM 2.0: "2.0" -> 322e3000
  2057  	Family string `json:"family,omitempty"`
  2058  	// FirmwareVersion: TPM firmware version.
  2059  	FirmwareVersion string `json:"firmwareVersion,omitempty"`
  2060  	// Manufacturer: TPM manufacturer code.
  2061  	Manufacturer string `json:"manufacturer,omitempty"`
  2062  	// SpecLevel: TPM specification level. See Library Specification for TPM 2.0
  2063  	// and Main Specification for TPM 1.2.
  2064  	SpecLevel string `json:"specLevel,omitempty"`
  2065  	// TpmModel: TPM model number.
  2066  	TpmModel string `json:"tpmModel,omitempty"`
  2067  	// VendorSpecific: Vendor-specific information such as Vendor ID.
  2068  	VendorSpecific string `json:"vendorSpecific,omitempty"`
  2069  	// ForceSendFields is a list of field names (e.g. "Family") to unconditionally
  2070  	// include in API requests. By default, fields with empty or default values are
  2071  	// omitted from API requests. See
  2072  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2073  	// details.
  2074  	ForceSendFields []string `json:"-"`
  2075  	// NullFields is a list of field names (e.g. "Family") to include in API
  2076  	// requests with the JSON null value. By default, fields with empty values are
  2077  	// omitted from API requests. See
  2078  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2079  	NullFields []string `json:"-"`
  2080  }
  2081  
  2082  func (s *ChromeOsDeviceTpmVersionInfo) MarshalJSON() ([]byte, error) {
  2083  	type NoMethod ChromeOsDeviceTpmVersionInfo
  2084  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2085  }
  2086  
  2087  // ChromeOsDeviceAction: Data about an update to the status of a Chrome OS
  2088  // device.
  2089  type ChromeOsDeviceAction struct {
  2090  	// Action: Action to be taken on the Chrome OS device.
  2091  	Action string `json:"action,omitempty"`
  2092  	// DeprovisionReason: Only used when the action is `deprovision`. With the
  2093  	// `deprovision` action, this field is required. *Note*: The deprovision reason
  2094  	// is audited because it might have implications on licenses for perpetual
  2095  	// subscription customers.
  2096  	DeprovisionReason string `json:"deprovisionReason,omitempty"`
  2097  	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
  2098  	// include in API requests. By default, fields with empty or default values are
  2099  	// omitted from API requests. See
  2100  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2101  	// details.
  2102  	ForceSendFields []string `json:"-"`
  2103  	// NullFields is a list of field names (e.g. "Action") to include in API
  2104  	// requests with the JSON null value. By default, fields with empty values are
  2105  	// omitted from API requests. See
  2106  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2107  	NullFields []string `json:"-"`
  2108  }
  2109  
  2110  func (s *ChromeOsDeviceAction) MarshalJSON() ([]byte, error) {
  2111  	type NoMethod ChromeOsDeviceAction
  2112  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2113  }
  2114  
  2115  type ChromeOsDevices struct {
  2116  	// Chromeosdevices: A list of Chrome OS Device objects.
  2117  	Chromeosdevices []*ChromeOsDevice `json:"chromeosdevices,omitempty"`
  2118  	// Etag: ETag of the resource.
  2119  	Etag string `json:"etag,omitempty"`
  2120  	// Kind: Kind of resource this is.
  2121  	Kind string `json:"kind,omitempty"`
  2122  	// NextPageToken: Token used to access the next page of this result. To access
  2123  	// the next page, use this token's value in the `pageToken` query string of
  2124  	// this request.
  2125  	NextPageToken string `json:"nextPageToken,omitempty"`
  2126  
  2127  	// ServerResponse contains the HTTP response code and headers from the server.
  2128  	googleapi.ServerResponse `json:"-"`
  2129  	// ForceSendFields is a list of field names (e.g. "Chromeosdevices") to
  2130  	// unconditionally include in API requests. By default, fields with empty or
  2131  	// default values are omitted from API requests. See
  2132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2133  	// details.
  2134  	ForceSendFields []string `json:"-"`
  2135  	// NullFields is a list of field names (e.g. "Chromeosdevices") to include in
  2136  	// API requests with the JSON null value. By default, fields with empty values
  2137  	// are omitted from API requests. See
  2138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2139  	NullFields []string `json:"-"`
  2140  }
  2141  
  2142  func (s *ChromeOsDevices) MarshalJSON() ([]byte, error) {
  2143  	type NoMethod ChromeOsDevices
  2144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2145  }
  2146  
  2147  type ChromeOsMoveDevicesToOu struct {
  2148  	// DeviceIds: Chrome OS devices to be moved to OU
  2149  	DeviceIds []string `json:"deviceIds,omitempty"`
  2150  	// ForceSendFields is a list of field names (e.g. "DeviceIds") to
  2151  	// unconditionally include in API requests. By default, fields with empty or
  2152  	// default values are omitted from API requests. See
  2153  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2154  	// details.
  2155  	ForceSendFields []string `json:"-"`
  2156  	// NullFields is a list of field names (e.g. "DeviceIds") to include in API
  2157  	// requests with the JSON null value. By default, fields with empty values are
  2158  	// omitted from API requests. See
  2159  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2160  	NullFields []string `json:"-"`
  2161  }
  2162  
  2163  func (s *ChromeOsMoveDevicesToOu) MarshalJSON() ([]byte, error) {
  2164  	type NoMethod ChromeOsMoveDevicesToOu
  2165  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2166  }
  2167  
  2168  // CreatePrintServerRequest: Request for adding a new print server.
  2169  type CreatePrintServerRequest struct {
  2170  	// Parent: Required. The unique ID
  2171  	// (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  2172  	// of the customer's Google Workspace account. Format: `customers/{id}`
  2173  	Parent string `json:"parent,omitempty"`
  2174  	// PrintServer: Required. A print server to create. If you want to place the
  2175  	// print server under a specific organizational unit (OU), then populate the
  2176  	// `org_unit_id`. Otherwise the print server is created under the root OU. The
  2177  	// `org_unit_id` can be retrieved using the Directory API
  2178  	// (https://developers.google.com/admin-sdk/directory/v1/guides/manage-org-units).
  2179  	PrintServer *PrintServer `json:"printServer,omitempty"`
  2180  	// ForceSendFields is a list of field names (e.g. "Parent") to unconditionally
  2181  	// include in API requests. By default, fields with empty or default values are
  2182  	// omitted from API requests. See
  2183  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2184  	// details.
  2185  	ForceSendFields []string `json:"-"`
  2186  	// NullFields is a list of field names (e.g. "Parent") to include in API
  2187  	// requests with the JSON null value. By default, fields with empty values are
  2188  	// omitted from API requests. See
  2189  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2190  	NullFields []string `json:"-"`
  2191  }
  2192  
  2193  func (s *CreatePrintServerRequest) MarshalJSON() ([]byte, error) {
  2194  	type NoMethod CreatePrintServerRequest
  2195  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2196  }
  2197  
  2198  // CreatePrinterRequest: Request for adding a new printer.
  2199  type CreatePrinterRequest struct {
  2200  	// Parent: Required. The name of the customer. Format: customers/{customer_id}
  2201  	Parent string `json:"parent,omitempty"`
  2202  	// Printer: Required. A printer to create. If you want to place the printer
  2203  	// under particular OU then populate printer.org_unit_id filed. Otherwise the
  2204  	// printer will be placed under root OU.
  2205  	Printer *Printer `json:"printer,omitempty"`
  2206  	// ForceSendFields is a list of field names (e.g. "Parent") to unconditionally
  2207  	// include in API requests. By default, fields with empty or default values are
  2208  	// omitted from API requests. See
  2209  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2210  	// details.
  2211  	ForceSendFields []string `json:"-"`
  2212  	// NullFields is a list of field names (e.g. "Parent") to include in API
  2213  	// requests with the JSON null value. By default, fields with empty values are
  2214  	// omitted from API requests. See
  2215  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2216  	NullFields []string `json:"-"`
  2217  }
  2218  
  2219  func (s *CreatePrinterRequest) MarshalJSON() ([]byte, error) {
  2220  	type NoMethod CreatePrinterRequest
  2221  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2222  }
  2223  
  2224  type Customer struct {
  2225  	// AlternateEmail: The customer's secondary contact email address. This email
  2226  	// address cannot be on the same domain as the `customerDomain`
  2227  	AlternateEmail string `json:"alternateEmail,omitempty"`
  2228  	// CustomerCreationTime: The customer's creation time (Readonly)
  2229  	CustomerCreationTime string `json:"customerCreationTime,omitempty"`
  2230  	// CustomerDomain: The customer's primary domain name string. Do not include
  2231  	// the `www` prefix when creating a new customer.
  2232  	CustomerDomain string `json:"customerDomain,omitempty"`
  2233  	// Etag: ETag of the resource.
  2234  	Etag string `json:"etag,omitempty"`
  2235  	// Id: The unique ID for the customer's Google Workspace account. (Readonly)
  2236  	Id string `json:"id,omitempty"`
  2237  	// Kind: Identifies the resource as a customer. Value:
  2238  	// `admin#directory#customer`
  2239  	Kind string `json:"kind,omitempty"`
  2240  	// Language: The customer's ISO 639-2 language code. See the Language Codes
  2241  	// (/admin-sdk/directory/v1/languages) page for the list of supported codes.
  2242  	// Valid language codes outside the supported set will be accepted by the API
  2243  	// but may lead to unexpected behavior. The default value is `en`.
  2244  	Language string `json:"language,omitempty"`
  2245  	// PhoneNumber: The customer's contact phone number in E.164
  2246  	// (https://en.wikipedia.org/wiki/E.164) format.
  2247  	PhoneNumber string `json:"phoneNumber,omitempty"`
  2248  	// PostalAddress: The customer's postal address information.
  2249  	PostalAddress *CustomerPostalAddress `json:"postalAddress,omitempty"`
  2250  
  2251  	// ServerResponse contains the HTTP response code and headers from the server.
  2252  	googleapi.ServerResponse `json:"-"`
  2253  	// ForceSendFields is a list of field names (e.g. "AlternateEmail") to
  2254  	// unconditionally include in API requests. By default, fields with empty or
  2255  	// default values are omitted from API requests. See
  2256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2257  	// details.
  2258  	ForceSendFields []string `json:"-"`
  2259  	// NullFields is a list of field names (e.g. "AlternateEmail") to include in
  2260  	// API requests with the JSON null value. By default, fields with empty values
  2261  	// are omitted from API requests. See
  2262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2263  	NullFields []string `json:"-"`
  2264  }
  2265  
  2266  func (s *Customer) MarshalJSON() ([]byte, error) {
  2267  	type NoMethod Customer
  2268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2269  }
  2270  
  2271  type CustomerPostalAddress struct {
  2272  	// AddressLine1: A customer's physical address. The address can be composed of
  2273  	// one to three lines.
  2274  	AddressLine1 string `json:"addressLine1,omitempty"`
  2275  	// AddressLine2: Address line 2 of the address.
  2276  	AddressLine2 string `json:"addressLine2,omitempty"`
  2277  	// AddressLine3: Address line 3 of the address.
  2278  	AddressLine3 string `json:"addressLine3,omitempty"`
  2279  	// ContactName: The customer contact's name.
  2280  	ContactName string `json:"contactName,omitempty"`
  2281  	// CountryCode: This is a required property. For `countryCode` information see
  2282  	// the ISO 3166 country code elements
  2283  	// (https://www.iso.org/iso/country_codes.htm).
  2284  	CountryCode string `json:"countryCode,omitempty"`
  2285  	// Locality: Name of the locality. An example of a locality value is the city
  2286  	// of `San Francisco`.
  2287  	Locality string `json:"locality,omitempty"`
  2288  	// OrganizationName: The company or company division name.
  2289  	OrganizationName string `json:"organizationName,omitempty"`
  2290  	// PostalCode: The postal code. A postalCode example is a postal zip code such
  2291  	// as `10009`. This is in accordance with - http:
  2292  	// //portablecontacts.net/draft-spec.html#address_element.
  2293  	PostalCode string `json:"postalCode,omitempty"`
  2294  	// Region: Name of the region. An example of a region value is `NY` for the
  2295  	// state of New York.
  2296  	Region string `json:"region,omitempty"`
  2297  	// ForceSendFields is a list of field names (e.g. "AddressLine1") to
  2298  	// unconditionally include in API requests. By default, fields with empty or
  2299  	// default values are omitted from API requests. See
  2300  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2301  	// details.
  2302  	ForceSendFields []string `json:"-"`
  2303  	// NullFields is a list of field names (e.g. "AddressLine1") to include in API
  2304  	// requests with the JSON null value. By default, fields with empty values are
  2305  	// omitted from API requests. See
  2306  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2307  	NullFields []string `json:"-"`
  2308  }
  2309  
  2310  func (s *CustomerPostalAddress) MarshalJSON() ([]byte, error) {
  2311  	type NoMethod CustomerPostalAddress
  2312  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2313  }
  2314  
  2315  // DirectoryChromeosdevicesCommand: Information regarding a command that was
  2316  // issued to a device.
  2317  type DirectoryChromeosdevicesCommand struct {
  2318  	// CommandExpireTime: The time at which the command will expire. If the device
  2319  	// doesn't execute the command within this time the command will become
  2320  	// expired.
  2321  	CommandExpireTime string `json:"commandExpireTime,omitempty"`
  2322  	// CommandId: Unique ID of a device command.
  2323  	CommandId int64 `json:"commandId,omitempty,string"`
  2324  	// CommandResult: The result of the command execution.
  2325  	CommandResult *DirectoryChromeosdevicesCommandResult `json:"commandResult,omitempty"`
  2326  	// IssueTime: The timestamp when the command was issued by the admin.
  2327  	IssueTime string `json:"issueTime,omitempty"`
  2328  	// Payload: The payload that the command specified, if any.
  2329  	Payload string `json:"payload,omitempty"`
  2330  	// State: Indicates the command state.
  2331  	//
  2332  	// Possible values:
  2333  	//   "STATE_UNSPECIFIED" - The command status was unspecified.
  2334  	//   "PENDING" - An unexpired command not yet sent to the client.
  2335  	//   "EXPIRED" - The command didn't get executed by the client within the
  2336  	// expected time.
  2337  	//   "CANCELLED" - The command is cancelled by admin while in PENDING.
  2338  	//   "SENT_TO_CLIENT" - The command has been sent to the client.
  2339  	//   "ACKED_BY_CLIENT" - The client has responded that it received the command.
  2340  	//   "EXECUTED_BY_CLIENT" - The client has (un)successfully executed the
  2341  	// command.
  2342  	State string `json:"state,omitempty"`
  2343  	// Type: The type of the command.
  2344  	//
  2345  	// Possible values:
  2346  	//   "COMMAND_TYPE_UNSPECIFIED" - The command type was unspecified.
  2347  	//   "REBOOT" - Reboot the device. Can only be issued to Kiosk and managed
  2348  	// guest session devices.
  2349  	//   "TAKE_A_SCREENSHOT" - Take a screenshot of the device. Only available if
  2350  	// the device is in Kiosk Mode.
  2351  	//   "SET_VOLUME" - Set the volume of the device. Can only be issued to Kiosk
  2352  	// and managed guest session devices.
  2353  	//   "WIPE_USERS" - Wipe all the users off of the device. Executing this
  2354  	// command in the device will remove all user profile data, but it will keep
  2355  	// device policy and enrollment.
  2356  	//   "REMOTE_POWERWASH" - Wipes the device by performing a power wash.
  2357  	// Executing this command in the device will remove all data including user
  2358  	// policies, device policies and enrollment policies. Warning: This will revert
  2359  	// the device back to a factory state with no enrollment unless the device is
  2360  	// subject to forced or auto enrollment. Use with caution, as this is an
  2361  	// irreversible action!
  2362  	//   "DEVICE_START_CRD_SESSION" - Starts a Chrome Remote Desktop session.
  2363  	//   "CAPTURE_LOGS" - Capture the system logs of a kiosk device. The logs can
  2364  	// be downloaded from the downloadUrl link present in `deviceFiles` field of
  2365  	// [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference
  2366  	// /rest/v1/chromeosdevices)
  2367  	//   "FETCH_SUPPORT_PACKET" - Fetch support packet from a device remotely.
  2368  	// Support packet is a zip archive that contains various system logs and debug
  2369  	// data from a ChromeOS device. The support packet can be downloaded from the
  2370  	// downloadURL link present in the `deviceFiles` field of
  2371  	// [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/referen
  2372  	// ce/rest/v1/chromeosdevices)
  2373  	Type string `json:"type,omitempty"`
  2374  
  2375  	// ServerResponse contains the HTTP response code and headers from the server.
  2376  	googleapi.ServerResponse `json:"-"`
  2377  	// ForceSendFields is a list of field names (e.g. "CommandExpireTime") to
  2378  	// unconditionally include in API requests. By default, fields with empty or
  2379  	// default values are omitted from API requests. See
  2380  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2381  	// details.
  2382  	ForceSendFields []string `json:"-"`
  2383  	// NullFields is a list of field names (e.g. "CommandExpireTime") to include in
  2384  	// API requests with the JSON null value. By default, fields with empty values
  2385  	// are omitted from API requests. See
  2386  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2387  	NullFields []string `json:"-"`
  2388  }
  2389  
  2390  func (s *DirectoryChromeosdevicesCommand) MarshalJSON() ([]byte, error) {
  2391  	type NoMethod DirectoryChromeosdevicesCommand
  2392  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2393  }
  2394  
  2395  // DirectoryChromeosdevicesCommandResult: The result of executing a command.
  2396  type DirectoryChromeosdevicesCommandResult struct {
  2397  	// CommandResultPayload: The payload for the command result. The following
  2398  	// commands respond with a payload: * `DEVICE_START_CRD_SESSION`: Payload is a
  2399  	// stringified JSON object in the form: { "url": url }. The URL provides a link
  2400  	// to the Chrome Remote Desktop session.
  2401  	CommandResultPayload string `json:"commandResultPayload,omitempty"`
  2402  	// ErrorMessage: The error message with a short explanation as to why the
  2403  	// command failed. Only present if the command failed.
  2404  	ErrorMessage string `json:"errorMessage,omitempty"`
  2405  	// ExecuteTime: The time at which the command was executed or failed to
  2406  	// execute.
  2407  	ExecuteTime string `json:"executeTime,omitempty"`
  2408  	// Result: The result of the command.
  2409  	//
  2410  	// Possible values:
  2411  	//   "COMMAND_RESULT_TYPE_UNSPECIFIED" - The command result was unspecified.
  2412  	//   "IGNORED" - The command was ignored as obsolete.
  2413  	//   "FAILURE" - The command could not be executed successfully.
  2414  	//   "SUCCESS" - The command was successfully executed.
  2415  	Result string `json:"result,omitempty"`
  2416  	// ForceSendFields is a list of field names (e.g. "CommandResultPayload") to
  2417  	// unconditionally include in API requests. By default, fields with empty or
  2418  	// default values are omitted from API requests. See
  2419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2420  	// details.
  2421  	ForceSendFields []string `json:"-"`
  2422  	// NullFields is a list of field names (e.g. "CommandResultPayload") to include
  2423  	// in API requests with the JSON null value. By default, fields with empty
  2424  	// values are omitted from API requests. See
  2425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2426  	NullFields []string `json:"-"`
  2427  }
  2428  
  2429  func (s *DirectoryChromeosdevicesCommandResult) MarshalJSON() ([]byte, error) {
  2430  	type NoMethod DirectoryChromeosdevicesCommandResult
  2431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2432  }
  2433  
  2434  // DirectoryChromeosdevicesIssueCommandRequest: A request for issuing a
  2435  // command.
  2436  type DirectoryChromeosdevicesIssueCommandRequest struct {
  2437  	// CommandType: The type of command.
  2438  	//
  2439  	// Possible values:
  2440  	//   "COMMAND_TYPE_UNSPECIFIED" - The command type was unspecified.
  2441  	//   "REBOOT" - Reboot the device. Can only be issued to Kiosk and managed
  2442  	// guest session devices.
  2443  	//   "TAKE_A_SCREENSHOT" - Take a screenshot of the device. Only available if
  2444  	// the device is in Kiosk Mode.
  2445  	//   "SET_VOLUME" - Set the volume of the device. Can only be issued to Kiosk
  2446  	// and managed guest session devices.
  2447  	//   "WIPE_USERS" - Wipe all the users off of the device. Executing this
  2448  	// command in the device will remove all user profile data, but it will keep
  2449  	// device policy and enrollment.
  2450  	//   "REMOTE_POWERWASH" - Wipes the device by performing a power wash.
  2451  	// Executing this command in the device will remove all data including user
  2452  	// policies, device policies and enrollment policies. Warning: This will revert
  2453  	// the device back to a factory state with no enrollment unless the device is
  2454  	// subject to forced or auto enrollment. Use with caution, as this is an
  2455  	// irreversible action!
  2456  	//   "DEVICE_START_CRD_SESSION" - Starts a Chrome Remote Desktop session.
  2457  	//   "CAPTURE_LOGS" - Capture the system logs of a kiosk device. The logs can
  2458  	// be downloaded from the downloadUrl link present in `deviceFiles` field of
  2459  	// [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference
  2460  	// /rest/v1/chromeosdevices)
  2461  	//   "FETCH_SUPPORT_PACKET" - Fetch support packet from a device remotely.
  2462  	// Support packet is a zip archive that contains various system logs and debug
  2463  	// data from a ChromeOS device. The support packet can be downloaded from the
  2464  	// downloadURL link present in the `deviceFiles` field of
  2465  	// [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/referen
  2466  	// ce/rest/v1/chromeosdevices)
  2467  	CommandType string `json:"commandType,omitempty"`
  2468  	// Payload: The payload for the command, provide it only if command supports
  2469  	// it. The following commands support adding payload: * `SET_VOLUME`: Payload
  2470  	// is a stringified JSON object in the form: { "volume": 50 }. The volume has
  2471  	// to be an integer in the range [0,100]. * `DEVICE_START_CRD_SESSION`: Payload
  2472  	// is optionally a stringified JSON object in the form: { "ackedUserPresence":
  2473  	// true }. `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is
  2474  	// set to `false`. To start a Chrome Remote Desktop session for an active
  2475  	// device, set `ackedUserPresence` to `true`. * `REBOOT`: Payload is a
  2476  	// stringified JSON object in the form: { "user_session_delay_seconds": 300 }.
  2477  	// The delay has to be in the range [0, 300]. * `FETCH_SUPPORT_PACKET`: Payload
  2478  	// is optionally a stringified JSON object in the form:
  2479  	// {"supportPacketDetails":{ "issueCaseId": optional_support_case_id_string,
  2480  	// "issueDescription": optional_issue_description_string,
  2481  	// "requestedDataCollectors": []}} The list of available `data_collector_enums`
  2482  	// are as following: Chrome System Information (1), Crash IDs (2), Memory
  2483  	// Details (3), UI Hierarchy (4), Additional ChromeOS Platform Logs (5), Device
  2484  	// Event (6), Intel WiFi NICs Debug Dump (7), Touch Events (8), Lacros (9),
  2485  	// Lacros System Information (10), ChromeOS Flex Logs (11), DBus Details (12),
  2486  	// ChromeOS Network Routes (13), ChromeOS Shill (Connection Manager) Logs (14),
  2487  	// Policies (15), ChromeOS System State and Logs (16), ChromeOS System Logs
  2488  	// (17), ChromeOS Chrome User Logs (18), ChromeOS Bluetooth (19), ChromeOS
  2489  	// Connected Input Devices (20), ChromeOS Traffic Counters (21), ChromeOS
  2490  	// Virtual Keyboard (22), ChromeOS Network Health (23). See more details in
  2491  	// help article (https://support.google.com/chrome/a?p=remote-log).
  2492  	Payload string `json:"payload,omitempty"`
  2493  	// ForceSendFields is a list of field names (e.g. "CommandType") to
  2494  	// unconditionally include in API requests. By default, fields with empty or
  2495  	// default values are omitted from API requests. See
  2496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2497  	// details.
  2498  	ForceSendFields []string `json:"-"`
  2499  	// NullFields is a list of field names (e.g. "CommandType") to include in API
  2500  	// requests with the JSON null value. By default, fields with empty values are
  2501  	// omitted from API requests. See
  2502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2503  	NullFields []string `json:"-"`
  2504  }
  2505  
  2506  func (s *DirectoryChromeosdevicesIssueCommandRequest) MarshalJSON() ([]byte, error) {
  2507  	type NoMethod DirectoryChromeosdevicesIssueCommandRequest
  2508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2509  }
  2510  
  2511  // DirectoryChromeosdevicesIssueCommandResponse: A response for issuing a
  2512  // command.
  2513  type DirectoryChromeosdevicesIssueCommandResponse struct {
  2514  	// CommandId: The unique ID of the issued command, used to retrieve the command
  2515  	// status.
  2516  	CommandId int64 `json:"commandId,omitempty,string"`
  2517  
  2518  	// ServerResponse contains the HTTP response code and headers from the server.
  2519  	googleapi.ServerResponse `json:"-"`
  2520  	// ForceSendFields is a list of field names (e.g. "CommandId") to
  2521  	// unconditionally include in API requests. By default, fields with empty or
  2522  	// default values are omitted from API requests. See
  2523  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2524  	// details.
  2525  	ForceSendFields []string `json:"-"`
  2526  	// NullFields is a list of field names (e.g. "CommandId") to include in API
  2527  	// requests with the JSON null value. By default, fields with empty values are
  2528  	// omitted from API requests. See
  2529  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2530  	NullFields []string `json:"-"`
  2531  }
  2532  
  2533  func (s *DirectoryChromeosdevicesIssueCommandResponse) MarshalJSON() ([]byte, error) {
  2534  	type NoMethod DirectoryChromeosdevicesIssueCommandResponse
  2535  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2536  }
  2537  
  2538  type DomainAlias struct {
  2539  	// CreationTime: The creation time of the domain alias. (Read-only).
  2540  	CreationTime int64 `json:"creationTime,omitempty,string"`
  2541  	// DomainAliasName: The domain alias name.
  2542  	DomainAliasName string `json:"domainAliasName,omitempty"`
  2543  	// Etag: ETag of the resource.
  2544  	Etag string `json:"etag,omitempty"`
  2545  	// Kind: Kind of resource this is.
  2546  	Kind string `json:"kind,omitempty"`
  2547  	// ParentDomainName: The parent domain name that the domain alias is associated
  2548  	// with. This can either be a primary or secondary domain name within a
  2549  	// customer.
  2550  	ParentDomainName string `json:"parentDomainName,omitempty"`
  2551  	// Verified: Indicates the verification state of a domain alias. (Read-only)
  2552  	Verified bool `json:"verified,omitempty"`
  2553  
  2554  	// ServerResponse contains the HTTP response code and headers from the server.
  2555  	googleapi.ServerResponse `json:"-"`
  2556  	// ForceSendFields is a list of field names (e.g. "CreationTime") to
  2557  	// unconditionally include in API requests. By default, fields with empty or
  2558  	// default values are omitted from API requests. See
  2559  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2560  	// details.
  2561  	ForceSendFields []string `json:"-"`
  2562  	// NullFields is a list of field names (e.g. "CreationTime") to include in API
  2563  	// requests with the JSON null value. By default, fields with empty values are
  2564  	// omitted from API requests. See
  2565  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2566  	NullFields []string `json:"-"`
  2567  }
  2568  
  2569  func (s *DomainAlias) MarshalJSON() ([]byte, error) {
  2570  	type NoMethod DomainAlias
  2571  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2572  }
  2573  
  2574  type DomainAliases struct {
  2575  	// DomainAliases: A list of domain alias objects.
  2576  	DomainAliases []*DomainAlias `json:"domainAliases,omitempty"`
  2577  	// Etag: ETag of the resource.
  2578  	Etag string `json:"etag,omitempty"`
  2579  	// Kind: Kind of resource this is.
  2580  	Kind string `json:"kind,omitempty"`
  2581  
  2582  	// ServerResponse contains the HTTP response code and headers from the server.
  2583  	googleapi.ServerResponse `json:"-"`
  2584  	// ForceSendFields is a list of field names (e.g. "DomainAliases") to
  2585  	// unconditionally include in API requests. By default, fields with empty or
  2586  	// default values are omitted from API requests. See
  2587  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2588  	// details.
  2589  	ForceSendFields []string `json:"-"`
  2590  	// NullFields is a list of field names (e.g. "DomainAliases") to include in API
  2591  	// requests with the JSON null value. By default, fields with empty values are
  2592  	// omitted from API requests. See
  2593  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2594  	NullFields []string `json:"-"`
  2595  }
  2596  
  2597  func (s *DomainAliases) MarshalJSON() ([]byte, error) {
  2598  	type NoMethod DomainAliases
  2599  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2600  }
  2601  
  2602  type Domains struct {
  2603  	// CreationTime: Creation time of the domain. Expressed in Unix time
  2604  	// (https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only).
  2605  	CreationTime int64 `json:"creationTime,omitempty,string"`
  2606  	// DomainAliases: A list of domain alias objects. (Read-only)
  2607  	DomainAliases []*DomainAlias `json:"domainAliases,omitempty"`
  2608  	// DomainName: The domain name of the customer.
  2609  	DomainName string `json:"domainName,omitempty"`
  2610  	// Etag: ETag of the resource.
  2611  	Etag string `json:"etag,omitempty"`
  2612  	// IsPrimary: Indicates if the domain is a primary domain (Read-only).
  2613  	IsPrimary bool `json:"isPrimary,omitempty"`
  2614  	// Kind: Kind of resource this is.
  2615  	Kind string `json:"kind,omitempty"`
  2616  	// Verified: Indicates the verification state of a domain. (Read-only).
  2617  	Verified bool `json:"verified,omitempty"`
  2618  
  2619  	// ServerResponse contains the HTTP response code and headers from the server.
  2620  	googleapi.ServerResponse `json:"-"`
  2621  	// ForceSendFields is a list of field names (e.g. "CreationTime") to
  2622  	// unconditionally include in API requests. By default, fields with empty or
  2623  	// default values are omitted from API requests. See
  2624  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2625  	// details.
  2626  	ForceSendFields []string `json:"-"`
  2627  	// NullFields is a list of field names (e.g. "CreationTime") to include in API
  2628  	// requests with the JSON null value. By default, fields with empty values are
  2629  	// omitted from API requests. See
  2630  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2631  	NullFields []string `json:"-"`
  2632  }
  2633  
  2634  func (s *Domains) MarshalJSON() ([]byte, error) {
  2635  	type NoMethod Domains
  2636  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2637  }
  2638  
  2639  type Domains2 struct {
  2640  	// Domains: A list of domain objects.
  2641  	Domains []*Domains `json:"domains,omitempty"`
  2642  	// Etag: ETag of the resource.
  2643  	Etag string `json:"etag,omitempty"`
  2644  	// Kind: Kind of resource this is.
  2645  	Kind string `json:"kind,omitempty"`
  2646  
  2647  	// ServerResponse contains the HTTP response code and headers from the server.
  2648  	googleapi.ServerResponse `json:"-"`
  2649  	// ForceSendFields is a list of field names (e.g. "Domains") to unconditionally
  2650  	// include in API requests. By default, fields with empty or default values are
  2651  	// omitted from API requests. See
  2652  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2653  	// details.
  2654  	ForceSendFields []string `json:"-"`
  2655  	// NullFields is a list of field names (e.g. "Domains") to include in API
  2656  	// requests with the JSON null value. By default, fields with empty values are
  2657  	// omitted from API requests. See
  2658  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2659  	NullFields []string `json:"-"`
  2660  }
  2661  
  2662  func (s *Domains2) MarshalJSON() ([]byte, error) {
  2663  	type NoMethod Domains2
  2664  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2665  }
  2666  
  2667  // Empty: A generic empty message that you can re-use to avoid defining
  2668  // duplicated empty messages in your APIs. A typical example is to use it as
  2669  // the request or the response type of an API method. For instance: service Foo
  2670  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  2671  type Empty struct {
  2672  	// ServerResponse contains the HTTP response code and headers from the server.
  2673  	googleapi.ServerResponse `json:"-"`
  2674  }
  2675  
  2676  // FailureInfo: Info about failures
  2677  type FailureInfo struct {
  2678  	// ErrorCode: Canonical code for why the update failed to apply.
  2679  	//
  2680  	// Possible values:
  2681  	//   "OK" - Not an error; returned on success. HTTP Mapping: 200 OK
  2682  	//   "CANCELLED" - The operation was cancelled, typically by the caller. HTTP
  2683  	// Mapping: 499 Client Closed Request
  2684  	//   "UNKNOWN" - Unknown error. For example, this error may be returned when a
  2685  	// `Status` value received from another address space belongs to an error space
  2686  	// that is not known in this address space. Also errors raised by APIs that do
  2687  	// not return enough error information may be converted to this error. HTTP
  2688  	// Mapping: 500 Internal Server Error
  2689  	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note that
  2690  	// this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
  2691  	// arguments that are problematic regardless of the state of the system (e.g.,
  2692  	// a malformed file name). HTTP Mapping: 400 Bad Request
  2693  	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation could
  2694  	// complete. For operations that change the state of the system, this error may
  2695  	// be returned even if the operation has completed successfully. For example, a
  2696  	// successful response from a server could have been delayed long enough for
  2697  	// the deadline to expire. HTTP Mapping: 504 Gateway Timeout
  2698  	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was not
  2699  	// found. Note to server developers: if a request is denied for an entire class
  2700  	// of users, such as gradual feature rollout or undocumented allowlist,
  2701  	// `NOT_FOUND` may be used. If a request is denied for some users within a
  2702  	// class of users, such as user-based access control, `PERMISSION_DENIED` must
  2703  	// be used. HTTP Mapping: 404 Not Found
  2704  	//   "ALREADY_EXISTS" - The entity that a client attempted to create (e.g.,
  2705  	// file or directory) already exists. HTTP Mapping: 409 Conflict
  2706  	//   "PERMISSION_DENIED" - The caller does not have permission to execute the
  2707  	// specified operation. `PERMISSION_DENIED` must not be used for rejections
  2708  	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for
  2709  	// those errors). `PERMISSION_DENIED` must not be used if the caller can not be
  2710  	// identified (use `UNAUTHENTICATED` instead for those errors). This error code
  2711  	// does not imply the request is valid or the requested entity exists or
  2712  	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
  2713  	//   "UNAUTHENTICATED" - The request does not have valid authentication
  2714  	// credentials for the operation. HTTP Mapping: 401 Unauthorized
  2715  	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
  2716  	// per-user quota, or perhaps the entire file system is out of space. HTTP
  2717  	// Mapping: 429 Too Many Requests
  2718  	//   "FAILED_PRECONDITION" - The operation was rejected because the system is
  2719  	// not in a state required for the operation's execution. For example, the
  2720  	// directory to be deleted is non-empty, an rmdir operation is applied to a
  2721  	// non-directory, etc. Service implementors can use the following guidelines to
  2722  	// decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use
  2723  	// `UNAVAILABLE` if the client can retry just the failing call. (b) Use
  2724  	// `ABORTED` if the client should retry at a higher level. For example, when a
  2725  	// client-specified test-and-set fails, indicating the client should restart a
  2726  	// read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client
  2727  	// should not retry until the system state has been explicitly fixed. For
  2728  	// example, if an "rmdir" fails because the directory is non-empty,
  2729  	// `FAILED_PRECONDITION` should be returned since the client should not retry
  2730  	// unless the files are deleted from the directory. HTTP Mapping: 400 Bad
  2731  	// Request
  2732  	//   "ABORTED" - The operation was aborted, typically due to a concurrency
  2733  	// issue such as a sequencer check failure or transaction abort. See the
  2734  	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
  2735  	// `UNAVAILABLE`. HTTP Mapping: 409 Conflict
  2736  	//   "OUT_OF_RANGE" - The operation was attempted past the valid range. E.g.,
  2737  	// seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error
  2738  	// indicates a problem that may be fixed if the system state changes. For
  2739  	// example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to
  2740  	// read at an offset that is not in the range [0,2^32-1], but it will generate
  2741  	// `OUT_OF_RANGE` if asked to read from an offset past the current file size.
  2742  	// There is a fair bit of overlap between `FAILED_PRECONDITION` and
  2743  	// `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error)
  2744  	// when it applies so that callers who are iterating through a space can easily
  2745  	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping:
  2746  	// 400 Bad Request
  2747  	//   "UNIMPLEMENTED" - The operation is not implemented or is not
  2748  	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
  2749  	//   "INTERNAL" - Internal errors. This means that some invariants expected by
  2750  	// the underlying system have been broken. This error code is reserved for
  2751  	// serious errors. HTTP Mapping: 500 Internal Server Error
  2752  	//   "UNAVAILABLE" - The service is currently unavailable. This is most likely
  2753  	// a transient condition, which can be corrected by retrying with a backoff.
  2754  	// Note that it is not always safe to retry non-idempotent operations. See the
  2755  	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
  2756  	// `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable
  2757  	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping: 500
  2758  	// Internal Server Error
  2759  	ErrorCode string `json:"errorCode,omitempty"`
  2760  	// ErrorMessage: Failure reason message.
  2761  	ErrorMessage string `json:"errorMessage,omitempty"`
  2762  	// Printer: Failed printer.
  2763  	Printer *Printer `json:"printer,omitempty"`
  2764  	// PrinterId: Id of a failed printer.
  2765  	PrinterId string `json:"printerId,omitempty"`
  2766  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  2767  	// unconditionally include in API requests. By default, fields with empty or
  2768  	// default values are omitted from API requests. See
  2769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2770  	// details.
  2771  	ForceSendFields []string `json:"-"`
  2772  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  2773  	// requests with the JSON null value. By default, fields with empty values are
  2774  	// omitted from API requests. See
  2775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2776  	NullFields []string `json:"-"`
  2777  }
  2778  
  2779  func (s *FailureInfo) MarshalJSON() ([]byte, error) {
  2780  	type NoMethod FailureInfo
  2781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2782  }
  2783  
  2784  // FanInfo: Information about the device's fan.
  2785  type FanInfo struct {
  2786  	// SpeedRpm: Output only. Fan speed in RPM.
  2787  	SpeedRpm int64 `json:"speedRpm,omitempty"`
  2788  	// ForceSendFields is a list of field names (e.g. "SpeedRpm") to
  2789  	// unconditionally include in API requests. By default, fields with empty or
  2790  	// default values are omitted from API requests. See
  2791  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2792  	// details.
  2793  	ForceSendFields []string `json:"-"`
  2794  	// NullFields is a list of field names (e.g. "SpeedRpm") to include in API
  2795  	// requests with the JSON null value. By default, fields with empty values are
  2796  	// omitted from API requests. See
  2797  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2798  	NullFields []string `json:"-"`
  2799  }
  2800  
  2801  func (s *FanInfo) MarshalJSON() ([]byte, error) {
  2802  	type NoMethod FanInfo
  2803  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2804  }
  2805  
  2806  // Feature: JSON template for Feature object in Directory API.
  2807  type Feature struct {
  2808  	// Etags: ETag of the resource.
  2809  	Etags string `json:"etags,omitempty"`
  2810  	// Kind: Kind of resource this is.
  2811  	Kind string `json:"kind,omitempty"`
  2812  	// Name: The name of the feature.
  2813  	Name string `json:"name,omitempty"`
  2814  
  2815  	// ServerResponse contains the HTTP response code and headers from the server.
  2816  	googleapi.ServerResponse `json:"-"`
  2817  	// ForceSendFields is a list of field names (e.g. "Etags") to unconditionally
  2818  	// include in API requests. By default, fields with empty or default values are
  2819  	// omitted from API requests. See
  2820  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2821  	// details.
  2822  	ForceSendFields []string `json:"-"`
  2823  	// NullFields is a list of field names (e.g. "Etags") to include in API
  2824  	// requests with the JSON null value. By default, fields with empty values are
  2825  	// omitted from API requests. See
  2826  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2827  	NullFields []string `json:"-"`
  2828  }
  2829  
  2830  func (s *Feature) MarshalJSON() ([]byte, error) {
  2831  	type NoMethod Feature
  2832  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2833  }
  2834  
  2835  // FeatureInstance: JSON template for a feature instance.
  2836  type FeatureInstance struct {
  2837  	// Feature: The feature that this is an instance of. A calendar resource may
  2838  	// have multiple instances of a feature.
  2839  	Feature *Feature `json:"feature,omitempty"`
  2840  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  2841  	// include in API requests. By default, fields with empty or default values are
  2842  	// omitted from API requests. See
  2843  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2844  	// details.
  2845  	ForceSendFields []string `json:"-"`
  2846  	// NullFields is a list of field names (e.g. "Feature") to include in API
  2847  	// requests with the JSON null value. By default, fields with empty values are
  2848  	// omitted from API requests. See
  2849  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2850  	NullFields []string `json:"-"`
  2851  }
  2852  
  2853  func (s *FeatureInstance) MarshalJSON() ([]byte, error) {
  2854  	type NoMethod FeatureInstance
  2855  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2856  }
  2857  
  2858  type FeatureRename struct {
  2859  	// NewName: New name of the feature.
  2860  	NewName string `json:"newName,omitempty"`
  2861  	// ForceSendFields is a list of field names (e.g. "NewName") to unconditionally
  2862  	// include in API requests. By default, fields with empty or default values are
  2863  	// 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. "NewName") 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 *FeatureRename) MarshalJSON() ([]byte, error) {
  2875  	type NoMethod FeatureRename
  2876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2877  }
  2878  
  2879  // Features: Public API: Resources.features
  2880  type Features struct {
  2881  	// Etag: ETag of the resource.
  2882  	Etag string `json:"etag,omitempty"`
  2883  	// Features: The Features in this page of results.
  2884  	Features []*Feature `json:"features,omitempty"`
  2885  	// Kind: Kind of resource this is.
  2886  	Kind string `json:"kind,omitempty"`
  2887  	// NextPageToken: The continuation token, used to page through large result
  2888  	// sets. Provide this value in a subsequent request to return the next page of
  2889  	// results.
  2890  	NextPageToken string `json:"nextPageToken,omitempty"`
  2891  
  2892  	// ServerResponse contains the HTTP response code and headers from the server.
  2893  	googleapi.ServerResponse `json:"-"`
  2894  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  2895  	// include in API requests. By default, fields with empty or default values are
  2896  	// omitted from API requests. See
  2897  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2898  	// details.
  2899  	ForceSendFields []string `json:"-"`
  2900  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  2901  	// with the JSON null value. By default, fields with empty values are omitted
  2902  	// from API requests. See
  2903  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2904  	NullFields []string `json:"-"`
  2905  }
  2906  
  2907  func (s *Features) MarshalJSON() ([]byte, error) {
  2908  	type NoMethod Features
  2909  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2910  }
  2911  
  2912  // Group: Google Groups provide your users the ability to send messages to
  2913  // groups of people using the group's email address. For more information about
  2914  // common tasks, see the Developer's Guide
  2915  // (https://developers.google.com/admin-sdk/directory/v1/guides/manage-groups).
  2916  // For information about other types of groups, see the Cloud Identity Groups
  2917  // API documentation (https://cloud.google.com/identity/docs/groups). Note: The
  2918  // user calling the API (or being impersonated by a service account) must have
  2919  // an assigned role
  2920  // (https://developers.google.com/admin-sdk/directory/v1/guides/manage-roles)
  2921  // that includes Admin API Groups permissions, such as Super Admin or Groups
  2922  // Admin.
  2923  type Group struct {
  2924  	// AdminCreated: Read-only. Value is `true` if this group was created by an
  2925  	// administrator rather than a user.
  2926  	AdminCreated bool `json:"adminCreated,omitempty"`
  2927  	// Aliases: Read-only. The list of a group's alias email addresses. To add,
  2928  	// update, or remove a group's aliases, use the `groups.aliases` methods. If
  2929  	// edited in a group's POST or PUT request, the edit is ignored.
  2930  	Aliases []string `json:"aliases,omitempty"`
  2931  	// Description: An extended description to help users determine the purpose of
  2932  	// a group. For example, you can include information about who should join the
  2933  	// group, the types of messages to send to the group, links to FAQs about the
  2934  	// group, or related groups. Maximum length is `4,096` characters.
  2935  	Description string `json:"description,omitempty"`
  2936  	// DirectMembersCount: The number of users that are direct members of the
  2937  	// group. If a group is a member (child) of this group (the parent), members of
  2938  	// the child group are not counted in the `directMembersCount` property of the
  2939  	// parent group.
  2940  	DirectMembersCount int64 `json:"directMembersCount,omitempty,string"`
  2941  	// Email: The group's email address. If your account has multiple domains,
  2942  	// select the appropriate domain for the email address. The `email` must be
  2943  	// unique. This property is required when creating a group. Group email
  2944  	// addresses are subject to the same character usage rules as usernames, see
  2945  	// the help center (https://support.google.com/a/answer/9193374) for details.
  2946  	Email string `json:"email,omitempty"`
  2947  	// Etag: ETag of the resource.
  2948  	Etag string `json:"etag,omitempty"`
  2949  	// Id: Read-only. The unique ID of a group. A group `id` can be used as a group
  2950  	// request URI's `groupKey`.
  2951  	Id string `json:"id,omitempty"`
  2952  	// Kind: The type of the API resource. For Groups resources, the value is
  2953  	// `admin#directory#group`.
  2954  	Kind string `json:"kind,omitempty"`
  2955  	// Name: The group's display name.
  2956  	Name string `json:"name,omitempty"`
  2957  	// NonEditableAliases: Read-only. The list of the group's non-editable alias
  2958  	// email addresses that are outside of the account's primary domain or
  2959  	// subdomains. These are functioning email addresses used by the group. This is
  2960  	// a read-only property returned in the API's response for a group. If edited
  2961  	// in a group's POST or PUT request, the edit is ignored.
  2962  	NonEditableAliases []string `json:"nonEditableAliases,omitempty"`
  2963  
  2964  	// ServerResponse contains the HTTP response code and headers from the server.
  2965  	googleapi.ServerResponse `json:"-"`
  2966  	// ForceSendFields is a list of field names (e.g. "AdminCreated") to
  2967  	// unconditionally include in API requests. By default, fields with empty or
  2968  	// default values are omitted from API requests. See
  2969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2970  	// details.
  2971  	ForceSendFields []string `json:"-"`
  2972  	// NullFields is a list of field names (e.g. "AdminCreated") to include in API
  2973  	// requests with the JSON null value. By default, fields with empty values are
  2974  	// omitted from API requests. See
  2975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2976  	NullFields []string `json:"-"`
  2977  }
  2978  
  2979  func (s *Group) MarshalJSON() ([]byte, error) {
  2980  	type NoMethod Group
  2981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2982  }
  2983  
  2984  // GroupAlias: The Directory API manages aliases, which are alternative email
  2985  // addresses.
  2986  type GroupAlias struct {
  2987  	// Alias: The alias email address.
  2988  	Alias string `json:"alias,omitempty"`
  2989  	// Etag: ETag of the resource.
  2990  	Etag string `json:"etag,omitempty"`
  2991  	// Id: The unique ID of the group.
  2992  	Id string `json:"id,omitempty"`
  2993  	// Kind: The type of the API resource. For Alias resources, the value is
  2994  	// `admin#directory#alias`.
  2995  	Kind string `json:"kind,omitempty"`
  2996  	// PrimaryEmail: The primary email address of the group.
  2997  	PrimaryEmail string `json:"primaryEmail,omitempty"`
  2998  	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
  2999  	// include in API requests. By default, fields with empty or default values are
  3000  	// omitted from API requests. See
  3001  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3002  	// details.
  3003  	ForceSendFields []string `json:"-"`
  3004  	// NullFields is a list of field names (e.g. "Alias") to include in API
  3005  	// requests with the JSON null value. By default, fields with empty values are
  3006  	// omitted from API requests. See
  3007  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3008  	NullFields []string `json:"-"`
  3009  }
  3010  
  3011  func (s *GroupAlias) MarshalJSON() ([]byte, error) {
  3012  	type NoMethod GroupAlias
  3013  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3014  }
  3015  
  3016  type Groups struct {
  3017  	// Etag: ETag of the resource.
  3018  	Etag string `json:"etag,omitempty"`
  3019  	// Groups: A list of group objects.
  3020  	Groups []*Group `json:"groups,omitempty"`
  3021  	// Kind: Kind of resource this is.
  3022  	Kind string `json:"kind,omitempty"`
  3023  	// NextPageToken: Token used to access next page of this result.
  3024  	NextPageToken string `json:"nextPageToken,omitempty"`
  3025  
  3026  	// ServerResponse contains the HTTP response code and headers from the server.
  3027  	googleapi.ServerResponse `json:"-"`
  3028  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3029  	// include in API requests. By default, fields with empty or default values are
  3030  	// omitted from API requests. See
  3031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3032  	// details.
  3033  	ForceSendFields []string `json:"-"`
  3034  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3035  	// with the JSON null value. By default, fields with empty values are omitted
  3036  	// from API requests. See
  3037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3038  	NullFields []string `json:"-"`
  3039  }
  3040  
  3041  func (s *Groups) MarshalJSON() ([]byte, error) {
  3042  	type NoMethod Groups
  3043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3044  }
  3045  
  3046  type ListPrintServersResponse struct {
  3047  	// NextPageToken: A token that can be sent as `page_token` in a request to
  3048  	// retrieve the next page. If this field is omitted, there are no subsequent
  3049  	// pages.
  3050  	NextPageToken string `json:"nextPageToken,omitempty"`
  3051  	// PrintServers: List of print servers.
  3052  	PrintServers []*PrintServer `json:"printServers,omitempty"`
  3053  
  3054  	// ServerResponse contains the HTTP response code and headers from the server.
  3055  	googleapi.ServerResponse `json:"-"`
  3056  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3057  	// unconditionally include in API requests. By default, fields with empty or
  3058  	// default values are omitted from API requests. See
  3059  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3060  	// details.
  3061  	ForceSendFields []string `json:"-"`
  3062  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3063  	// requests with the JSON null value. By default, fields with empty values are
  3064  	// omitted from API requests. See
  3065  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3066  	NullFields []string `json:"-"`
  3067  }
  3068  
  3069  func (s *ListPrintServersResponse) MarshalJSON() ([]byte, error) {
  3070  	type NoMethod ListPrintServersResponse
  3071  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3072  }
  3073  
  3074  // ListPrinterModelsResponse: Response for listing allowed printer models.
  3075  type ListPrinterModelsResponse struct {
  3076  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3077  	// next page. If this field is omitted, there are no subsequent pages.
  3078  	NextPageToken string `json:"nextPageToken,omitempty"`
  3079  	// PrinterModels: Printer models that are currently allowed to be configured
  3080  	// for ChromeOs. Some printers may be added or removed over time.
  3081  	PrinterModels []*PrinterModel `json:"printerModels,omitempty"`
  3082  
  3083  	// ServerResponse contains the HTTP response code and headers from the server.
  3084  	googleapi.ServerResponse `json:"-"`
  3085  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3086  	// unconditionally include in API requests. By default, fields with empty or
  3087  	// default values are omitted from API requests. See
  3088  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3089  	// details.
  3090  	ForceSendFields []string `json:"-"`
  3091  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3092  	// requests with the JSON null value. By default, fields with empty values are
  3093  	// omitted from API requests. See
  3094  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3095  	NullFields []string `json:"-"`
  3096  }
  3097  
  3098  func (s *ListPrinterModelsResponse) MarshalJSON() ([]byte, error) {
  3099  	type NoMethod ListPrinterModelsResponse
  3100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3101  }
  3102  
  3103  // ListPrintersResponse: Response for listing printers.
  3104  type ListPrintersResponse struct {
  3105  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3106  	// next page. If this field is omitted, there are no subsequent pages.
  3107  	NextPageToken string `json:"nextPageToken,omitempty"`
  3108  	// Printers: List of printers. If `org_unit_id` was given in the request, then
  3109  	// only printers visible for this OU will be returned. If `org_unit_id` was not
  3110  	// given in the request, then all printers will be returned.
  3111  	Printers []*Printer `json:"printers,omitempty"`
  3112  
  3113  	// ServerResponse contains the HTTP response code and headers from the server.
  3114  	googleapi.ServerResponse `json:"-"`
  3115  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3116  	// unconditionally include in API requests. By default, fields with empty or
  3117  	// default values are omitted from API requests. See
  3118  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3119  	// details.
  3120  	ForceSendFields []string `json:"-"`
  3121  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3122  	// requests with the JSON null value. By default, fields with empty values are
  3123  	// omitted from API requests. See
  3124  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3125  	NullFields []string `json:"-"`
  3126  }
  3127  
  3128  func (s *ListPrintersResponse) MarshalJSON() ([]byte, error) {
  3129  	type NoMethod ListPrintersResponse
  3130  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3131  }
  3132  
  3133  // Member: A Google Groups member can be a user or another group. This member
  3134  // can be inside or outside of your account's domains. For more information
  3135  // about common group member tasks, see the Developer's Guide
  3136  // (/admin-sdk/directory/v1/guides/manage-group-members).
  3137  type Member struct {
  3138  	// DeliverySettings: Defines mail delivery preferences of member. This field is
  3139  	// only supported by `insert`, `update`, and `get` methods.
  3140  	DeliverySettings string `json:"delivery_settings,omitempty"`
  3141  	// Email: The member's email address. A member can be a user or another group.
  3142  	// This property is required when adding a member to a group. The `email` must
  3143  	// be unique and cannot be an alias of another group. If the email address is
  3144  	// changed, the API automatically reflects the email address changes.
  3145  	Email string `json:"email,omitempty"`
  3146  	// Etag: ETag of the resource.
  3147  	Etag string `json:"etag,omitempty"`
  3148  	// Id: The unique ID of the group member. A member `id` can be used as a member
  3149  	// request URI's `memberKey`.
  3150  	Id string `json:"id,omitempty"`
  3151  	// Kind: The type of the API resource. For Members resources, the value is
  3152  	// `admin#directory#member`.
  3153  	Kind string `json:"kind,omitempty"`
  3154  	// Role: The member's role in a group. The API returns an error for cycles in
  3155  	// group memberships. For example, if `group1` is a member of `group2`,
  3156  	// `group2` cannot be a member of `group1`. For more information about a
  3157  	// member's role, see the administration help center
  3158  	// (https://support.google.com/a/answer/167094).
  3159  	Role string `json:"role,omitempty"`
  3160  	// Status: Status of member (Immutable)
  3161  	Status string `json:"status,omitempty"`
  3162  	// Type: The type of group member.
  3163  	Type string `json:"type,omitempty"`
  3164  
  3165  	// ServerResponse contains the HTTP response code and headers from the server.
  3166  	googleapi.ServerResponse `json:"-"`
  3167  	// ForceSendFields is a list of field names (e.g. "DeliverySettings") to
  3168  	// unconditionally include in API requests. By default, fields with empty or
  3169  	// default values are omitted from API requests. See
  3170  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3171  	// details.
  3172  	ForceSendFields []string `json:"-"`
  3173  	// NullFields is a list of field names (e.g. "DeliverySettings") to include in
  3174  	// API requests with the JSON null value. By default, fields with empty values
  3175  	// are omitted from API requests. See
  3176  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3177  	NullFields []string `json:"-"`
  3178  }
  3179  
  3180  func (s *Member) MarshalJSON() ([]byte, error) {
  3181  	type NoMethod Member
  3182  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3183  }
  3184  
  3185  type Members struct {
  3186  	// Etag: ETag of the resource.
  3187  	Etag string `json:"etag,omitempty"`
  3188  	// Kind: Kind of resource this is.
  3189  	Kind string `json:"kind,omitempty"`
  3190  	// Members: A list of member objects.
  3191  	Members []*Member `json:"members,omitempty"`
  3192  	// NextPageToken: Token used to access next page of this result.
  3193  	NextPageToken string `json:"nextPageToken,omitempty"`
  3194  
  3195  	// ServerResponse contains the HTTP response code and headers from the server.
  3196  	googleapi.ServerResponse `json:"-"`
  3197  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3198  	// include in API requests. By default, fields with empty or default values are
  3199  	// omitted from API requests. See
  3200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3201  	// details.
  3202  	ForceSendFields []string `json:"-"`
  3203  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3204  	// with the JSON null value. By default, fields with empty values are omitted
  3205  	// from API requests. See
  3206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3207  	NullFields []string `json:"-"`
  3208  }
  3209  
  3210  func (s *Members) MarshalJSON() ([]byte, error) {
  3211  	type NoMethod Members
  3212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3213  }
  3214  
  3215  // MembersHasMember: JSON template for Has Member response in Directory API.
  3216  type MembersHasMember struct {
  3217  	// IsMember: Output only. Identifies whether the given user is a member of the
  3218  	// group. Membership can be direct or nested.
  3219  	IsMember bool `json:"isMember,omitempty"`
  3220  
  3221  	// ServerResponse contains the HTTP response code and headers from the server.
  3222  	googleapi.ServerResponse `json:"-"`
  3223  	// ForceSendFields is a list of field names (e.g. "IsMember") to
  3224  	// unconditionally include in API requests. By default, fields with empty or
  3225  	// default values are omitted from API requests. See
  3226  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3227  	// details.
  3228  	ForceSendFields []string `json:"-"`
  3229  	// NullFields is a list of field names (e.g. "IsMember") to include in API
  3230  	// requests with the JSON null value. By default, fields with empty values are
  3231  	// omitted from API requests. See
  3232  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3233  	NullFields []string `json:"-"`
  3234  }
  3235  
  3236  func (s *MembersHasMember) MarshalJSON() ([]byte, error) {
  3237  	type NoMethod MembersHasMember
  3238  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3239  }
  3240  
  3241  // MobileDevice: Google Workspace Mobile Management includes Android, Google
  3242  // Sync (https://support.google.com/a/answer/135937), and iOS devices. For more
  3243  // information about common group mobile device API tasks, see the Developer's
  3244  // Guide (/admin-sdk/directory/v1/guides/manage-mobile-devices.html).
  3245  type MobileDevice struct {
  3246  	// AdbStatus: Adb (USB debugging) enabled or disabled on device (Read-only)
  3247  	AdbStatus bool `json:"adbStatus,omitempty"`
  3248  	// Applications: The list of applications installed on an Android mobile
  3249  	// device. It is not applicable to Google Sync and iOS devices. The list
  3250  	// includes any Android applications that access Google Workspace data. When
  3251  	// updating an applications list, it is important to note that updates replace
  3252  	// the existing list. If the Android device has two existing applications and
  3253  	// the API updates the list with five applications, the is now the updated list
  3254  	// of five applications.
  3255  	Applications []*MobileDeviceApplications `json:"applications,omitempty"`
  3256  	// BasebandVersion: The device's baseband version.
  3257  	BasebandVersion string `json:"basebandVersion,omitempty"`
  3258  	// BootloaderVersion: Mobile Device Bootloader version (Read-only)
  3259  	BootloaderVersion string `json:"bootloaderVersion,omitempty"`
  3260  	// Brand: Mobile Device Brand (Read-only)
  3261  	Brand string `json:"brand,omitempty"`
  3262  	// BuildNumber: The device's operating system build number.
  3263  	BuildNumber string `json:"buildNumber,omitempty"`
  3264  	// DefaultLanguage: The default locale used on the device.
  3265  	DefaultLanguage string `json:"defaultLanguage,omitempty"`
  3266  	// DeveloperOptionsStatus: Developer options enabled or disabled on device
  3267  	// (Read-only)
  3268  	DeveloperOptionsStatus bool `json:"developerOptionsStatus,omitempty"`
  3269  	// DeviceCompromisedStatus: The compromised device status.
  3270  	DeviceCompromisedStatus string `json:"deviceCompromisedStatus,omitempty"`
  3271  	// DeviceId: The serial number for a Google Sync mobile device. For Android and
  3272  	// iOS devices, this is a software generated unique identifier.
  3273  	DeviceId string `json:"deviceId,omitempty"`
  3274  	// DevicePasswordStatus: DevicePasswordStatus (Read-only)
  3275  	DevicePasswordStatus string `json:"devicePasswordStatus,omitempty"`
  3276  	// Email: The list of the owner's email addresses. If your application needs
  3277  	// the current list of user emails, use the get
  3278  	// (/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For
  3279  	// additional information, see the retrieve a user
  3280  	// (/admin-sdk/directory/v1/guides/manage-users#get_user) method.
  3281  	Email []string `json:"email,omitempty"`
  3282  	// EncryptionStatus: Mobile Device Encryption Status (Read-only)
  3283  	EncryptionStatus string `json:"encryptionStatus,omitempty"`
  3284  	// Etag: ETag of the resource.
  3285  	Etag string `json:"etag,omitempty"`
  3286  	// FirstSync: Date and time the device was first synchronized with the policy
  3287  	// settings in the G Suite administrator control panel (Read-only)
  3288  	FirstSync string `json:"firstSync,omitempty"`
  3289  	// Hardware: Mobile Device Hardware (Read-only)
  3290  	Hardware string `json:"hardware,omitempty"`
  3291  	// HardwareId: The IMEI/MEID unique identifier for Android hardware. It is not
  3292  	// applicable to Google Sync devices. When adding an Android mobile device,
  3293  	// this is an optional property. When updating one of these devices, this is a
  3294  	// read-only property.
  3295  	HardwareId string `json:"hardwareId,omitempty"`
  3296  	// Imei: The device's IMEI number.
  3297  	Imei string `json:"imei,omitempty"`
  3298  	// KernelVersion: The device's kernel version.
  3299  	KernelVersion string `json:"kernelVersion,omitempty"`
  3300  	// Kind: The type of the API resource. For Mobiledevices resources, the value
  3301  	// is `admin#directory#mobiledevice`.
  3302  	Kind string `json:"kind,omitempty"`
  3303  	// LastSync: Date and time the device was last synchronized with the policy
  3304  	// settings in the G Suite administrator control panel (Read-only)
  3305  	LastSync string `json:"lastSync,omitempty"`
  3306  	// ManagedAccountIsOnOwnerProfile: Boolean indicating if this account is on
  3307  	// owner/primary profile or not.
  3308  	ManagedAccountIsOnOwnerProfile bool `json:"managedAccountIsOnOwnerProfile,omitempty"`
  3309  	// Manufacturer: Mobile Device manufacturer (Read-only)
  3310  	Manufacturer string `json:"manufacturer,omitempty"`
  3311  	// Meid: The device's MEID number.
  3312  	Meid string `json:"meid,omitempty"`
  3313  	// Model: The mobile device's model name, for example Nexus S. This property
  3314  	// can be updated
  3315  	// (/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more
  3316  	// information, see the Developer's Guide
  3317  	// (/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device).
  3318  	Model string `json:"model,omitempty"`
  3319  	// Name: The list of the owner's user names. If your application needs the
  3320  	// current list of device owner names, use the get
  3321  	// (/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For more
  3322  	// information about retrieving mobile device user information, see the
  3323  	// Developer's Guide (/admin-sdk/directory/v1/guides/manage-users#get_user).
  3324  	Name []string `json:"name,omitempty"`
  3325  	// NetworkOperator: Mobile Device mobile or network operator (if available)
  3326  	// (Read-only)
  3327  	NetworkOperator string `json:"networkOperator,omitempty"`
  3328  	// Os: The mobile device's operating system, for example IOS 4.3 or Android
  3329  	// 2.3.5. This property can be updated
  3330  	// (/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more
  3331  	// information, see the Developer's Guide
  3332  	// (/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).
  3333  	Os string `json:"os,omitempty"`
  3334  	// OtherAccountsInfo: The list of accounts added on device (Read-only)
  3335  	OtherAccountsInfo []string `json:"otherAccountsInfo,omitempty"`
  3336  	// Privilege: DMAgentPermission (Read-only)
  3337  	Privilege string `json:"privilege,omitempty"`
  3338  	// ReleaseVersion: Mobile Device release version version (Read-only)
  3339  	ReleaseVersion string `json:"releaseVersion,omitempty"`
  3340  	// ResourceId: The unique ID the API service uses to identify the mobile
  3341  	// device.
  3342  	ResourceId string `json:"resourceId,omitempty"`
  3343  	// SecurityPatchLevel: Mobile Device Security patch level (Read-only)
  3344  	SecurityPatchLevel int64 `json:"securityPatchLevel,omitempty,string"`
  3345  	// SerialNumber: The device's serial number.
  3346  	SerialNumber string `json:"serialNumber,omitempty"`
  3347  	// Status: The device's status.
  3348  	Status string `json:"status,omitempty"`
  3349  	// SupportsWorkProfile: Work profile supported on device (Read-only)
  3350  	SupportsWorkProfile bool `json:"supportsWorkProfile,omitempty"`
  3351  	// Type: The type of mobile device.
  3352  	Type string `json:"type,omitempty"`
  3353  	// UnknownSourcesStatus: Unknown sources enabled or disabled on device
  3354  	// (Read-only)
  3355  	UnknownSourcesStatus bool `json:"unknownSourcesStatus,omitempty"`
  3356  	// UserAgent: Gives information about the device such as `os` version. This
  3357  	// property can be updated
  3358  	// (/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more
  3359  	// information, see the Developer's Guide
  3360  	// (/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).
  3361  	UserAgent string `json:"userAgent,omitempty"`
  3362  	// WifiMacAddress: The device's MAC address on Wi-Fi networks.
  3363  	WifiMacAddress string `json:"wifiMacAddress,omitempty"`
  3364  
  3365  	// ServerResponse contains the HTTP response code and headers from the server.
  3366  	googleapi.ServerResponse `json:"-"`
  3367  	// ForceSendFields is a list of field names (e.g. "AdbStatus") to
  3368  	// unconditionally include in API requests. By default, fields with empty or
  3369  	// default values are omitted from API requests. See
  3370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3371  	// details.
  3372  	ForceSendFields []string `json:"-"`
  3373  	// NullFields is a list of field names (e.g. "AdbStatus") to include in API
  3374  	// requests with the JSON null value. By default, fields with empty values are
  3375  	// omitted from API requests. See
  3376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3377  	NullFields []string `json:"-"`
  3378  }
  3379  
  3380  func (s *MobileDevice) MarshalJSON() ([]byte, error) {
  3381  	type NoMethod MobileDevice
  3382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3383  }
  3384  
  3385  type MobileDeviceApplications struct {
  3386  	// DisplayName: The application's display name. An example is `Browser`.
  3387  	DisplayName string `json:"displayName,omitempty"`
  3388  	// PackageName: The application's package name. An example is
  3389  	// `com.android.browser`.
  3390  	PackageName string `json:"packageName,omitempty"`
  3391  	// Permission: The list of permissions of this application. These can be either
  3392  	// a standard Android permission or one defined by the application, and are
  3393  	// found in an application's Android manifest
  3394  	// (https://developer.android.com/guide/topics/manifest/uses-permission-element.html).
  3395  	// Examples of a Calendar application's permissions are `READ_CALENDAR`, or
  3396  	// `MANAGE_ACCOUNTS`.
  3397  	Permission []string `json:"permission,omitempty"`
  3398  	// VersionCode: The application's version code. An example is `13`.
  3399  	VersionCode int64 `json:"versionCode,omitempty"`
  3400  	// VersionName: The application's version name. An example is `3.2-140714`.
  3401  	VersionName string `json:"versionName,omitempty"`
  3402  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3403  	// unconditionally include in API requests. By default, fields with empty or
  3404  	// default values are omitted from API requests. See
  3405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3406  	// details.
  3407  	ForceSendFields []string `json:"-"`
  3408  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3409  	// requests with the JSON null value. By default, fields with empty values are
  3410  	// omitted from API requests. See
  3411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3412  	NullFields []string `json:"-"`
  3413  }
  3414  
  3415  func (s *MobileDeviceApplications) MarshalJSON() ([]byte, error) {
  3416  	type NoMethod MobileDeviceApplications
  3417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3418  }
  3419  
  3420  type MobileDeviceAction struct {
  3421  	// Action: The action to be performed on the device.
  3422  	Action string `json:"action,omitempty"`
  3423  	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
  3424  	// include in API requests. By default, fields with empty or default values are
  3425  	// omitted from API requests. See
  3426  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3427  	// details.
  3428  	ForceSendFields []string `json:"-"`
  3429  	// NullFields is a list of field names (e.g. "Action") to include in API
  3430  	// requests with the JSON null value. By default, fields with empty values are
  3431  	// omitted from API requests. See
  3432  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3433  	NullFields []string `json:"-"`
  3434  }
  3435  
  3436  func (s *MobileDeviceAction) MarshalJSON() ([]byte, error) {
  3437  	type NoMethod MobileDeviceAction
  3438  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3439  }
  3440  
  3441  type MobileDevices struct {
  3442  	// Etag: ETag of the resource.
  3443  	Etag string `json:"etag,omitempty"`
  3444  	// Kind: Kind of resource this is.
  3445  	Kind string `json:"kind,omitempty"`
  3446  	// Mobiledevices: A list of Mobile Device objects.
  3447  	Mobiledevices []*MobileDevice `json:"mobiledevices,omitempty"`
  3448  	// NextPageToken: Token used to access next page of this result.
  3449  	NextPageToken string `json:"nextPageToken,omitempty"`
  3450  
  3451  	// ServerResponse contains the HTTP response code and headers from the server.
  3452  	googleapi.ServerResponse `json:"-"`
  3453  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3454  	// include in API requests. By default, fields with empty or default values are
  3455  	// omitted from API requests. See
  3456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3457  	// details.
  3458  	ForceSendFields []string `json:"-"`
  3459  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3460  	// with the JSON null value. By default, fields with empty values are omitted
  3461  	// from API requests. See
  3462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3463  	NullFields []string `json:"-"`
  3464  }
  3465  
  3466  func (s *MobileDevices) MarshalJSON() ([]byte, error) {
  3467  	type NoMethod MobileDevices
  3468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3469  }
  3470  
  3471  // OrgUnit: Managing your account's organizational units allows you to
  3472  // configure your users' access to services and custom settings. For more
  3473  // information about common organizational unit tasks, see the Developer's
  3474  // Guide (/admin-sdk/directory/v1/guides/manage-org-units.html). The customer's
  3475  // organizational unit hierarchy is limited to 35 levels of depth.
  3476  type OrgUnit struct {
  3477  	// BlockInheritance: Determines if a sub-organizational unit can inherit the
  3478  	// settings of the parent organization. The default value is `false`, meaning a
  3479  	// sub-organizational unit inherits the settings of the nearest parent
  3480  	// organizational unit. This field is deprecated. Setting it to `true` is no
  3481  	// longer supported and can have _unintended consequences_. For more
  3482  	// information about inheritance and users in an organization structure, see
  3483  	// the administration help center
  3484  	// (https://support.google.com/a/answer/4352075).
  3485  	BlockInheritance bool `json:"blockInheritance,omitempty"`
  3486  	// Description: Description of the organizational unit.
  3487  	Description string `json:"description,omitempty"`
  3488  	// Etag: ETag of the resource.
  3489  	Etag string `json:"etag,omitempty"`
  3490  	// Kind: The type of the API resource. For Orgunits resources, the value is
  3491  	// `admin#directory#orgUnit`.
  3492  	Kind string `json:"kind,omitempty"`
  3493  	// Name: The organizational unit's path name. For example, an organizational
  3494  	// unit's name within the /corp/support/sales_support parent path is
  3495  	// sales_support. Required.
  3496  	Name string `json:"name,omitempty"`
  3497  	// OrgUnitId: The unique ID of the organizational unit.
  3498  	OrgUnitId string `json:"orgUnitId,omitempty"`
  3499  	// OrgUnitPath: The full path to the organizational unit. The `orgUnitPath` is
  3500  	// a derived property. When listed, it is derived from `parentOrgunitPath` and
  3501  	// organizational unit's `name`. For example, for an organizational unit named
  3502  	// 'apps' under parent organization '/engineering', the orgUnitPath is
  3503  	// '/engineering/apps'. In order to edit an `orgUnitPath`, either update the
  3504  	// name of the organization or the `parentOrgunitPath`. A user's organizational
  3505  	// unit determines which Google Workspace services the user has access to. If
  3506  	// the user is moved to a new organization, the user's access changes. For more
  3507  	// information about organization structures, see the administration help
  3508  	// center (https://support.google.com/a/answer/4352075). For more information
  3509  	// about moving a user to a different organization, see Update a user
  3510  	// (/admin-sdk/directory/v1/guides/manage-users.html#update_user).
  3511  	OrgUnitPath string `json:"orgUnitPath,omitempty"`
  3512  	// ParentOrgUnitId: The unique ID of the parent organizational unit. Required,
  3513  	// unless `parentOrgUnitPath` is set.
  3514  	ParentOrgUnitId string `json:"parentOrgUnitId,omitempty"`
  3515  	// ParentOrgUnitPath: The organizational unit's parent path. For example,
  3516  	// /corp/sales is the parent path for /corp/sales/sales_support organizational
  3517  	// unit. Required, unless `parentOrgUnitId` is set.
  3518  	ParentOrgUnitPath string `json:"parentOrgUnitPath,omitempty"`
  3519  
  3520  	// ServerResponse contains the HTTP response code and headers from the server.
  3521  	googleapi.ServerResponse `json:"-"`
  3522  	// ForceSendFields is a list of field names (e.g. "BlockInheritance") to
  3523  	// unconditionally include in API requests. By default, fields with empty or
  3524  	// default values are omitted from API requests. See
  3525  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3526  	// details.
  3527  	ForceSendFields []string `json:"-"`
  3528  	// NullFields is a list of field names (e.g. "BlockInheritance") to include in
  3529  	// API requests with the JSON null value. By default, fields with empty values
  3530  	// are omitted from API requests. See
  3531  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3532  	NullFields []string `json:"-"`
  3533  }
  3534  
  3535  func (s *OrgUnit) MarshalJSON() ([]byte, error) {
  3536  	type NoMethod OrgUnit
  3537  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3538  }
  3539  
  3540  type OrgUnits struct {
  3541  	// Etag: ETag of the resource.
  3542  	Etag string `json:"etag,omitempty"`
  3543  	// Kind: The type of the API resource. For Org Unit resources, the type is
  3544  	// `admin#directory#orgUnits`.
  3545  	Kind string `json:"kind,omitempty"`
  3546  	// OrganizationUnits: A list of organizational unit objects.
  3547  	OrganizationUnits []*OrgUnit `json:"organizationUnits,omitempty"`
  3548  
  3549  	// ServerResponse contains the HTTP response code and headers from the server.
  3550  	googleapi.ServerResponse `json:"-"`
  3551  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3552  	// include in API requests. By default, fields with empty or default values are
  3553  	// omitted from API requests. See
  3554  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3555  	// details.
  3556  	ForceSendFields []string `json:"-"`
  3557  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3558  	// with the JSON null value. By default, fields with empty values are omitted
  3559  	// from API requests. See
  3560  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3561  	NullFields []string `json:"-"`
  3562  }
  3563  
  3564  func (s *OrgUnits) MarshalJSON() ([]byte, error) {
  3565  	type NoMethod OrgUnits
  3566  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3567  }
  3568  
  3569  // OsUpdateStatus: Contains information regarding the current OS update status.
  3570  type OsUpdateStatus struct {
  3571  	// RebootTime: Date and time of the last reboot.
  3572  	RebootTime string `json:"rebootTime,omitempty"`
  3573  	// State: The update state of an OS update.
  3574  	//
  3575  	// Possible values:
  3576  	//   "updateStateUnspecified" - The update state is unspecified.
  3577  	//   "updateStateNotStarted" - There is an update pending but it hasn't
  3578  	// started.
  3579  	//   "updateStateDownloadInProgress" - The pending update is being downloaded.
  3580  	//   "updateStateNeedReboot" - The device is ready to install the update, but
  3581  	// must reboot.
  3582  	State string `json:"state,omitempty"`
  3583  	// TargetKioskAppVersion: New required platform version from the pending
  3584  	// updated kiosk app.
  3585  	TargetKioskAppVersion string `json:"targetKioskAppVersion,omitempty"`
  3586  	// TargetOsVersion: New platform version of the OS image being downloaded and
  3587  	// applied. It is only set when update status is
  3588  	// UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this
  3589  	// could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge
  3590  	// cases, e.g. update engine is restarted without a reboot.
  3591  	TargetOsVersion string `json:"targetOsVersion,omitempty"`
  3592  	// UpdateCheckTime: Date and time of the last update check.
  3593  	UpdateCheckTime string `json:"updateCheckTime,omitempty"`
  3594  	// UpdateTime: Date and time of the last successful OS update.
  3595  	UpdateTime string `json:"updateTime,omitempty"`
  3596  	// ForceSendFields is a list of field names (e.g. "RebootTime") to
  3597  	// unconditionally include in API requests. By default, fields with empty or
  3598  	// default values are omitted from API requests. See
  3599  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3600  	// details.
  3601  	ForceSendFields []string `json:"-"`
  3602  	// NullFields is a list of field names (e.g. "RebootTime") to include in API
  3603  	// requests with the JSON null value. By default, fields with empty values are
  3604  	// omitted from API requests. See
  3605  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3606  	NullFields []string `json:"-"`
  3607  }
  3608  
  3609  func (s *OsUpdateStatus) MarshalJSON() ([]byte, error) {
  3610  	type NoMethod OsUpdateStatus
  3611  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3612  }
  3613  
  3614  // PrintServer: Configuration for a print server.
  3615  type PrintServer struct {
  3616  	// CreateTime: Output only. Time when the print server was created.
  3617  	CreateTime string `json:"createTime,omitempty"`
  3618  	// Description: Editable. Description of the print server (as shown in the
  3619  	// Admin console).
  3620  	Description string `json:"description,omitempty"`
  3621  	// DisplayName: Editable. Display name of the print server (as shown in the
  3622  	// Admin console).
  3623  	DisplayName string `json:"displayName,omitempty"`
  3624  	// Id: Immutable. ID of the print server. Leave empty when creating.
  3625  	Id string `json:"id,omitempty"`
  3626  	// Name: Immutable. Resource name of the print server. Leave empty when
  3627  	// creating. Format: `customers/{customer.id}/printServers/{print_server.id}`
  3628  	Name string `json:"name,omitempty"`
  3629  	// OrgUnitId: ID of the organization unit (OU) that owns this print server.
  3630  	// This value can only be set when the print server is initially created. If
  3631  	// it's not populated, the print server is placed under the root OU. The
  3632  	// `org_unit_id` can be retrieved using the Directory API
  3633  	// (/admin-sdk/directory/reference/rest/v1/orgunits).
  3634  	OrgUnitId string `json:"orgUnitId,omitempty"`
  3635  	// Uri: Editable. Print server URI.
  3636  	Uri string `json:"uri,omitempty"`
  3637  
  3638  	// ServerResponse contains the HTTP response code and headers from the server.
  3639  	googleapi.ServerResponse `json:"-"`
  3640  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3641  	// unconditionally include in API requests. By default, fields with empty or
  3642  	// default values are omitted from API requests. See
  3643  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3644  	// details.
  3645  	ForceSendFields []string `json:"-"`
  3646  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3647  	// requests with the JSON null value. By default, fields with empty values are
  3648  	// omitted from API requests. See
  3649  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3650  	NullFields []string `json:"-"`
  3651  }
  3652  
  3653  func (s *PrintServer) MarshalJSON() ([]byte, error) {
  3654  	type NoMethod PrintServer
  3655  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3656  }
  3657  
  3658  // PrintServerFailureInfo: Info about failures
  3659  type PrintServerFailureInfo struct {
  3660  	// ErrorCode: Canonical code for why the update failed to apply.
  3661  	//
  3662  	// Possible values:
  3663  	//   "OK" - Not an error; returned on success. HTTP Mapping: 200 OK
  3664  	//   "CANCELLED" - The operation was cancelled, typically by the caller. HTTP
  3665  	// Mapping: 499 Client Closed Request
  3666  	//   "UNKNOWN" - Unknown error. For example, this error may be returned when a
  3667  	// `Status` value received from another address space belongs to an error space
  3668  	// that is not known in this address space. Also errors raised by APIs that do
  3669  	// not return enough error information may be converted to this error. HTTP
  3670  	// Mapping: 500 Internal Server Error
  3671  	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note that
  3672  	// this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
  3673  	// arguments that are problematic regardless of the state of the system (e.g.,
  3674  	// a malformed file name). HTTP Mapping: 400 Bad Request
  3675  	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation could
  3676  	// complete. For operations that change the state of the system, this error may
  3677  	// be returned even if the operation has completed successfully. For example, a
  3678  	// successful response from a server could have been delayed long enough for
  3679  	// the deadline to expire. HTTP Mapping: 504 Gateway Timeout
  3680  	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was not
  3681  	// found. Note to server developers: if a request is denied for an entire class
  3682  	// of users, such as gradual feature rollout or undocumented allowlist,
  3683  	// `NOT_FOUND` may be used. If a request is denied for some users within a
  3684  	// class of users, such as user-based access control, `PERMISSION_DENIED` must
  3685  	// be used. HTTP Mapping: 404 Not Found
  3686  	//   "ALREADY_EXISTS" - The entity that a client attempted to create (e.g.,
  3687  	// file or directory) already exists. HTTP Mapping: 409 Conflict
  3688  	//   "PERMISSION_DENIED" - The caller does not have permission to execute the
  3689  	// specified operation. `PERMISSION_DENIED` must not be used for rejections
  3690  	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for
  3691  	// those errors). `PERMISSION_DENIED` must not be used if the caller can not be
  3692  	// identified (use `UNAUTHENTICATED` instead for those errors). This error code
  3693  	// does not imply the request is valid or the requested entity exists or
  3694  	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
  3695  	//   "UNAUTHENTICATED" - The request does not have valid authentication
  3696  	// credentials for the operation. HTTP Mapping: 401 Unauthorized
  3697  	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
  3698  	// per-user quota, or perhaps the entire file system is out of space. HTTP
  3699  	// Mapping: 429 Too Many Requests
  3700  	//   "FAILED_PRECONDITION" - The operation was rejected because the system is
  3701  	// not in a state required for the operation's execution. For example, the
  3702  	// directory to be deleted is non-empty, an rmdir operation is applied to a
  3703  	// non-directory, etc. Service implementors can use the following guidelines to
  3704  	// decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use
  3705  	// `UNAVAILABLE` if the client can retry just the failing call. (b) Use
  3706  	// `ABORTED` if the client should retry at a higher level. For example, when a
  3707  	// client-specified test-and-set fails, indicating the client should restart a
  3708  	// read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client
  3709  	// should not retry until the system state has been explicitly fixed. For
  3710  	// example, if an "rmdir" fails because the directory is non-empty,
  3711  	// `FAILED_PRECONDITION` should be returned since the client should not retry
  3712  	// unless the files are deleted from the directory. HTTP Mapping: 400 Bad
  3713  	// Request
  3714  	//   "ABORTED" - The operation was aborted, typically due to a concurrency
  3715  	// issue such as a sequencer check failure or transaction abort. See the
  3716  	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
  3717  	// `UNAVAILABLE`. HTTP Mapping: 409 Conflict
  3718  	//   "OUT_OF_RANGE" - The operation was attempted past the valid range. E.g.,
  3719  	// seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error
  3720  	// indicates a problem that may be fixed if the system state changes. For
  3721  	// example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to
  3722  	// read at an offset that is not in the range [0,2^32-1], but it will generate
  3723  	// `OUT_OF_RANGE` if asked to read from an offset past the current file size.
  3724  	// There is a fair bit of overlap between `FAILED_PRECONDITION` and
  3725  	// `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error)
  3726  	// when it applies so that callers who are iterating through a space can easily
  3727  	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping:
  3728  	// 400 Bad Request
  3729  	//   "UNIMPLEMENTED" - The operation is not implemented or is not
  3730  	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
  3731  	//   "INTERNAL" - Internal errors. This means that some invariants expected by
  3732  	// the underlying system have been broken. This error code is reserved for
  3733  	// serious errors. HTTP Mapping: 500 Internal Server Error
  3734  	//   "UNAVAILABLE" - The service is currently unavailable. This is most likely
  3735  	// a transient condition, which can be corrected by retrying with a backoff.
  3736  	// Note that it is not always safe to retry non-idempotent operations. See the
  3737  	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
  3738  	// `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable
  3739  	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping: 500
  3740  	// Internal Server Error
  3741  	ErrorCode string `json:"errorCode,omitempty"`
  3742  	// ErrorMessage: Failure reason message.
  3743  	ErrorMessage string `json:"errorMessage,omitempty"`
  3744  	// PrintServer: Failed print server.
  3745  	PrintServer *PrintServer `json:"printServer,omitempty"`
  3746  	// PrintServerId: ID of a failed print server.
  3747  	PrintServerId string `json:"printServerId,omitempty"`
  3748  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  3749  	// unconditionally include in API requests. By default, fields with empty or
  3750  	// default values are omitted from API requests. See
  3751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3752  	// details.
  3753  	ForceSendFields []string `json:"-"`
  3754  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  3755  	// requests with the JSON null value. By default, fields with empty values are
  3756  	// omitted from API requests. See
  3757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3758  	NullFields []string `json:"-"`
  3759  }
  3760  
  3761  func (s *PrintServerFailureInfo) MarshalJSON() ([]byte, error) {
  3762  	type NoMethod PrintServerFailureInfo
  3763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3764  }
  3765  
  3766  // Printer: Printer configuration.
  3767  type Printer struct {
  3768  	// AuxiliaryMessages: Output only. Auxiliary messages about issues with the
  3769  	// printer configuration if any.
  3770  	AuxiliaryMessages []*AuxiliaryMessage `json:"auxiliaryMessages,omitempty"`
  3771  	// CreateTime: Output only. Time when printer was created.
  3772  	CreateTime string `json:"createTime,omitempty"`
  3773  	// Description: Editable. Description of printer.
  3774  	Description string `json:"description,omitempty"`
  3775  	// DisplayName: Editable. Name of printer.
  3776  	DisplayName string `json:"displayName,omitempty"`
  3777  	// Id: Id of the printer. (During printer creation leave empty)
  3778  	Id string `json:"id,omitempty"`
  3779  	// MakeAndModel: Editable. Make and model of printer. e.g. Lexmark MS610de
  3780  	// Value must be in format as seen in ListPrinterModels response.
  3781  	MakeAndModel string `json:"makeAndModel,omitempty"`
  3782  	// Name: The resource name of the Printer object, in the format
  3783  	// customers/{customer-id}/printers/{printer-id} (During printer creation leave
  3784  	// empty)
  3785  	Name string `json:"name,omitempty"`
  3786  	// OrgUnitId: Organization Unit that owns this printer (Only can be set during
  3787  	// Printer creation)
  3788  	OrgUnitId string `json:"orgUnitId,omitempty"`
  3789  	// Uri: Editable. Printer URI.
  3790  	Uri string `json:"uri,omitempty"`
  3791  	// UseDriverlessConfig: Editable. flag to use driverless configuration or not.
  3792  	// If it's set to be true, make_and_model can be ignored
  3793  	UseDriverlessConfig bool `json:"useDriverlessConfig,omitempty"`
  3794  
  3795  	// ServerResponse contains the HTTP response code and headers from the server.
  3796  	googleapi.ServerResponse `json:"-"`
  3797  	// ForceSendFields is a list of field names (e.g. "AuxiliaryMessages") to
  3798  	// unconditionally include in API requests. By default, fields with empty or
  3799  	// default values are omitted from API requests. See
  3800  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3801  	// details.
  3802  	ForceSendFields []string `json:"-"`
  3803  	// NullFields is a list of field names (e.g. "AuxiliaryMessages") to include in
  3804  	// API requests with the JSON null value. By default, fields with empty values
  3805  	// are omitted from API requests. See
  3806  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3807  	NullFields []string `json:"-"`
  3808  }
  3809  
  3810  func (s *Printer) MarshalJSON() ([]byte, error) {
  3811  	type NoMethod Printer
  3812  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3813  }
  3814  
  3815  // PrinterModel: Printer manufacturer and model
  3816  type PrinterModel struct {
  3817  	// DisplayName: Display name. eq. "Brother MFC-8840D"
  3818  	DisplayName string `json:"displayName,omitempty"`
  3819  	// MakeAndModel: Make and model as represented in "make_and_model" field in
  3820  	// Printer object. eq. "brother mfc-8840d"
  3821  	MakeAndModel string `json:"makeAndModel,omitempty"`
  3822  	// Manufacturer: Manufacturer. eq. "Brother"
  3823  	Manufacturer string `json:"manufacturer,omitempty"`
  3824  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3825  	// unconditionally include in API requests. By default, fields with empty or
  3826  	// default values are omitted from API requests. See
  3827  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3828  	// details.
  3829  	ForceSendFields []string `json:"-"`
  3830  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3831  	// requests with the JSON null value. By default, fields with empty values are
  3832  	// omitted from API requests. See
  3833  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3834  	NullFields []string `json:"-"`
  3835  }
  3836  
  3837  func (s *PrinterModel) MarshalJSON() ([]byte, error) {
  3838  	type NoMethod PrinterModel
  3839  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3840  }
  3841  
  3842  type Privilege struct {
  3843  	// ChildPrivileges: A list of child privileges. Privileges for a service form a
  3844  	// tree. Each privilege can have a list of child privileges; this list is empty
  3845  	// for a leaf privilege.
  3846  	ChildPrivileges []*Privilege `json:"childPrivileges,omitempty"`
  3847  	// Etag: ETag of the resource.
  3848  	Etag string `json:"etag,omitempty"`
  3849  	// IsOuScopable: If the privilege can be restricted to an organization unit.
  3850  	IsOuScopable bool `json:"isOuScopable,omitempty"`
  3851  	// Kind: The type of the API resource. This is always
  3852  	// `admin#directory#privilege`.
  3853  	Kind string `json:"kind,omitempty"`
  3854  	// PrivilegeName: The name of the privilege.
  3855  	PrivilegeName string `json:"privilegeName,omitempty"`
  3856  	// ServiceId: The obfuscated ID of the service this privilege is for. This
  3857  	// value is returned with `Privileges.list()`
  3858  	// (/admin-sdk/directory/v1/reference/privileges/list).
  3859  	ServiceId string `json:"serviceId,omitempty"`
  3860  	// ServiceName: The name of the service this privilege is for.
  3861  	ServiceName string `json:"serviceName,omitempty"`
  3862  	// ForceSendFields is a list of field names (e.g. "ChildPrivileges") to
  3863  	// unconditionally include in API requests. By default, fields with empty or
  3864  	// default values are omitted from API requests. See
  3865  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3866  	// details.
  3867  	ForceSendFields []string `json:"-"`
  3868  	// NullFields is a list of field names (e.g. "ChildPrivileges") to include in
  3869  	// API requests with the JSON null value. By default, fields with empty values
  3870  	// are omitted from API requests. See
  3871  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3872  	NullFields []string `json:"-"`
  3873  }
  3874  
  3875  func (s *Privilege) MarshalJSON() ([]byte, error) {
  3876  	type NoMethod Privilege
  3877  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3878  }
  3879  
  3880  type Privileges struct {
  3881  	// Etag: ETag of the resource.
  3882  	Etag string `json:"etag,omitempty"`
  3883  	// Items: A list of Privilege resources.
  3884  	Items []*Privilege `json:"items,omitempty"`
  3885  	// Kind: The type of the API resource. This is always
  3886  	// `admin#directory#privileges`.
  3887  	Kind string `json:"kind,omitempty"`
  3888  
  3889  	// ServerResponse contains the HTTP response code and headers from the server.
  3890  	googleapi.ServerResponse `json:"-"`
  3891  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3892  	// include in API requests. By default, fields with empty or default values are
  3893  	// omitted from API requests. See
  3894  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3895  	// details.
  3896  	ForceSendFields []string `json:"-"`
  3897  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3898  	// with the JSON null value. By default, fields with empty values are omitted
  3899  	// from API requests. See
  3900  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3901  	NullFields []string `json:"-"`
  3902  }
  3903  
  3904  func (s *Privileges) MarshalJSON() ([]byte, error) {
  3905  	type NoMethod Privileges
  3906  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3907  }
  3908  
  3909  type Role struct {
  3910  	// Etag: ETag of the resource.
  3911  	Etag string `json:"etag,omitempty"`
  3912  	// IsSuperAdminRole: Returns `true` if the role is a super admin role.
  3913  	IsSuperAdminRole bool `json:"isSuperAdminRole,omitempty"`
  3914  	// IsSystemRole: Returns `true` if this is a pre-defined system role.
  3915  	IsSystemRole bool `json:"isSystemRole,omitempty"`
  3916  	// Kind: The type of the API resource. This is always `admin#directory#role`.
  3917  	Kind string `json:"kind,omitempty"`
  3918  	// RoleDescription: A short description of the role.
  3919  	RoleDescription string `json:"roleDescription,omitempty"`
  3920  	// RoleId: ID of the role.
  3921  	RoleId int64 `json:"roleId,omitempty,string"`
  3922  	// RoleName: Name of the role.
  3923  	RoleName string `json:"roleName,omitempty"`
  3924  	// RolePrivileges: The set of privileges that are granted to this role.
  3925  	RolePrivileges []*RoleRolePrivileges `json:"rolePrivileges,omitempty"`
  3926  
  3927  	// ServerResponse contains the HTTP response code and headers from the server.
  3928  	googleapi.ServerResponse `json:"-"`
  3929  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  3930  	// include in API requests. By default, fields with empty or default values are
  3931  	// omitted from API requests. See
  3932  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3933  	// details.
  3934  	ForceSendFields []string `json:"-"`
  3935  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  3936  	// with the JSON null value. By default, fields with empty values are omitted
  3937  	// from API requests. See
  3938  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3939  	NullFields []string `json:"-"`
  3940  }
  3941  
  3942  func (s *Role) MarshalJSON() ([]byte, error) {
  3943  	type NoMethod Role
  3944  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3945  }
  3946  
  3947  type RoleRolePrivileges struct {
  3948  	// PrivilegeName: The name of the privilege.
  3949  	PrivilegeName string `json:"privilegeName,omitempty"`
  3950  	// ServiceId: The obfuscated ID of the service this privilege is for. This
  3951  	// value is returned with `Privileges.list()`
  3952  	// (/admin-sdk/directory/v1/reference/privileges/list).
  3953  	ServiceId string `json:"serviceId,omitempty"`
  3954  	// ForceSendFields is a list of field names (e.g. "PrivilegeName") to
  3955  	// unconditionally include in API requests. By default, fields with empty or
  3956  	// default values are omitted from API requests. See
  3957  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3958  	// details.
  3959  	ForceSendFields []string `json:"-"`
  3960  	// NullFields is a list of field names (e.g. "PrivilegeName") to include in API
  3961  	// requests with the JSON null value. By default, fields with empty values are
  3962  	// omitted from API requests. See
  3963  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3964  	NullFields []string `json:"-"`
  3965  }
  3966  
  3967  func (s *RoleRolePrivileges) MarshalJSON() ([]byte, error) {
  3968  	type NoMethod RoleRolePrivileges
  3969  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3970  }
  3971  
  3972  // RoleAssignment: Defines an assignment of a role.
  3973  type RoleAssignment struct {
  3974  	// AssignedTo: The unique ID of the entity this role is assigned to—either
  3975  	// the `user_id` of a user, the `group_id` of a group, or the `uniqueId` of a
  3976  	// service account as defined in Identity and Access Management (IAM)
  3977  	// (https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts).
  3978  	AssignedTo string `json:"assignedTo,omitempty"`
  3979  	// AssigneeType: Output only. The type of the assignee (`USER` or `GROUP`).
  3980  	//
  3981  	// Possible values:
  3982  	//   "user" - An individual user within the domain.
  3983  	//   "group" - A group within the domain.
  3984  	AssigneeType string `json:"assigneeType,omitempty"`
  3985  	// Etag: ETag of the resource.
  3986  	Etag string `json:"etag,omitempty"`
  3987  	// Kind: The type of the API resource. This is always
  3988  	// `admin#directory#roleAssignment`.
  3989  	Kind string `json:"kind,omitempty"`
  3990  	// OrgUnitId: If the role is restricted to an organization unit, this contains
  3991  	// the ID for the organization unit the exercise of this role is restricted to.
  3992  	OrgUnitId string `json:"orgUnitId,omitempty"`
  3993  	// RoleAssignmentId: ID of this roleAssignment.
  3994  	RoleAssignmentId int64 `json:"roleAssignmentId,omitempty,string"`
  3995  	// RoleId: The ID of the role that is assigned.
  3996  	RoleId int64 `json:"roleId,omitempty,string"`
  3997  	// ScopeType: The scope in which this role is assigned.
  3998  	ScopeType string `json:"scopeType,omitempty"`
  3999  
  4000  	// ServerResponse contains the HTTP response code and headers from the server.
  4001  	googleapi.ServerResponse `json:"-"`
  4002  	// ForceSendFields is a list of field names (e.g. "AssignedTo") to
  4003  	// unconditionally include in API requests. By default, fields with empty or
  4004  	// default values are omitted from API requests. See
  4005  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4006  	// details.
  4007  	ForceSendFields []string `json:"-"`
  4008  	// NullFields is a list of field names (e.g. "AssignedTo") to include in API
  4009  	// requests with the JSON null value. By default, fields with empty values are
  4010  	// omitted from API requests. See
  4011  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4012  	NullFields []string `json:"-"`
  4013  }
  4014  
  4015  func (s *RoleAssignment) MarshalJSON() ([]byte, error) {
  4016  	type NoMethod RoleAssignment
  4017  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4018  }
  4019  
  4020  type RoleAssignments struct {
  4021  	// Etag: ETag of the resource.
  4022  	Etag string `json:"etag,omitempty"`
  4023  	// Items: A list of RoleAssignment resources.
  4024  	Items []*RoleAssignment `json:"items,omitempty"`
  4025  	// Kind: The type of the API resource. This is always
  4026  	// `admin#directory#roleAssignments`.
  4027  	Kind          string `json:"kind,omitempty"`
  4028  	NextPageToken string `json:"nextPageToken,omitempty"`
  4029  
  4030  	// ServerResponse contains the HTTP response code and headers from the server.
  4031  	googleapi.ServerResponse `json:"-"`
  4032  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  4033  	// include in API requests. By default, fields with empty or default values are
  4034  	// omitted from API requests. See
  4035  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4036  	// details.
  4037  	ForceSendFields []string `json:"-"`
  4038  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  4039  	// with the JSON null value. By default, fields with empty values are omitted
  4040  	// from API requests. See
  4041  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4042  	NullFields []string `json:"-"`
  4043  }
  4044  
  4045  func (s *RoleAssignments) MarshalJSON() ([]byte, error) {
  4046  	type NoMethod RoleAssignments
  4047  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4048  }
  4049  
  4050  type Roles struct {
  4051  	// Etag: ETag of the resource.
  4052  	Etag string `json:"etag,omitempty"`
  4053  	// Items: A list of Role resources.
  4054  	Items []*Role `json:"items,omitempty"`
  4055  	// Kind: The type of the API resource. This is always `admin#directory#roles`.
  4056  	Kind          string `json:"kind,omitempty"`
  4057  	NextPageToken string `json:"nextPageToken,omitempty"`
  4058  
  4059  	// ServerResponse contains the HTTP response code and headers from the server.
  4060  	googleapi.ServerResponse `json:"-"`
  4061  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  4062  	// include in API requests. By default, fields with empty or default values are
  4063  	// omitted from API requests. See
  4064  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4065  	// details.
  4066  	ForceSendFields []string `json:"-"`
  4067  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  4068  	// with the JSON null value. By default, fields with empty values are omitted
  4069  	// from API requests. See
  4070  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4071  	NullFields []string `json:"-"`
  4072  }
  4073  
  4074  func (s *Roles) MarshalJSON() ([]byte, error) {
  4075  	type NoMethod Roles
  4076  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4077  }
  4078  
  4079  // Schema: The type of API resource. For Schema resources, this is always
  4080  // `admin#directory#schema`.
  4081  type Schema struct {
  4082  	// DisplayName: Display name for the schema.
  4083  	DisplayName string `json:"displayName,omitempty"`
  4084  	// Etag: The ETag of the resource.
  4085  	Etag string `json:"etag,omitempty"`
  4086  	// Fields: A list of fields in the schema.
  4087  	Fields []*SchemaFieldSpec `json:"fields,omitempty"`
  4088  	// Kind: Kind of resource this is.
  4089  	Kind string `json:"kind,omitempty"`
  4090  	// SchemaId: The unique identifier of the schema (Read-only)
  4091  	SchemaId string `json:"schemaId,omitempty"`
  4092  	// SchemaName: The schema's name. Each `schema_name` must be unique within a
  4093  	// customer. Reusing a name results in a `409: Entity already exists` error.
  4094  	SchemaName string `json:"schemaName,omitempty"`
  4095  
  4096  	// ServerResponse contains the HTTP response code and headers from the server.
  4097  	googleapi.ServerResponse `json:"-"`
  4098  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4099  	// unconditionally include in API requests. By default, fields with empty or
  4100  	// default values are omitted from API requests. See
  4101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4102  	// details.
  4103  	ForceSendFields []string `json:"-"`
  4104  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4105  	// requests with the JSON null value. By default, fields with empty values are
  4106  	// omitted from API requests. See
  4107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4108  	NullFields []string `json:"-"`
  4109  }
  4110  
  4111  func (s *Schema) MarshalJSON() ([]byte, error) {
  4112  	type NoMethod Schema
  4113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4114  }
  4115  
  4116  // SchemaFieldSpec: You can use schemas to add custom fields to user profiles.
  4117  // You can use these fields to store information such as the projects your
  4118  // users work on, their physical locations, their hire dates, or whatever else
  4119  // fits your business needs. For more information, see Custom User Fields
  4120  // (/admin-sdk/directory/v1/guides/manage-schemas).
  4121  type SchemaFieldSpec struct {
  4122  	// DisplayName: Display Name of the field.
  4123  	DisplayName string `json:"displayName,omitempty"`
  4124  	// Etag: The ETag of the field.
  4125  	Etag string `json:"etag,omitempty"`
  4126  	// FieldId: The unique identifier of the field (Read-only)
  4127  	FieldId string `json:"fieldId,omitempty"`
  4128  	// FieldName: The name of the field.
  4129  	FieldName string `json:"fieldName,omitempty"`
  4130  	// FieldType: The type of the field.
  4131  	FieldType string `json:"fieldType,omitempty"`
  4132  	// Indexed: Boolean specifying whether the field is indexed or not. Default:
  4133  	// `true`.
  4134  	//
  4135  	// Default: true
  4136  	Indexed *bool `json:"indexed,omitempty"`
  4137  	// Kind: The kind of resource this is. For schema fields this is always
  4138  	// `admin#directory#schema#fieldspec`.
  4139  	Kind string `json:"kind,omitempty"`
  4140  	// MultiValued: A boolean specifying whether this is a multi-valued field or
  4141  	// not. Default: `false`.
  4142  	MultiValued bool `json:"multiValued,omitempty"`
  4143  	// NumericIndexingSpec: Indexing spec for a numeric field. By default, only
  4144  	// exact match queries will be supported for numeric fields. Setting the
  4145  	// `numericIndexingSpec` allows range queries to be supported.
  4146  	NumericIndexingSpec *SchemaFieldSpecNumericIndexingSpec `json:"numericIndexingSpec,omitempty"`
  4147  	// ReadAccessType: Specifies who can view values of this field. See Retrieve
  4148  	// users as a non-administrator
  4149  	// (/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for
  4150  	// more information. Note: It may take up to 24 hours for changes to this field
  4151  	// to be reflected.
  4152  	ReadAccessType string `json:"readAccessType,omitempty"`
  4153  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4154  	// unconditionally include in API requests. By default, fields with empty or
  4155  	// default values are omitted from API requests. See
  4156  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4157  	// details.
  4158  	ForceSendFields []string `json:"-"`
  4159  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4160  	// requests with the JSON null value. By default, fields with empty values are
  4161  	// omitted from API requests. See
  4162  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4163  	NullFields []string `json:"-"`
  4164  }
  4165  
  4166  func (s *SchemaFieldSpec) MarshalJSON() ([]byte, error) {
  4167  	type NoMethod SchemaFieldSpec
  4168  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4169  }
  4170  
  4171  // SchemaFieldSpecNumericIndexingSpec: Indexing spec for a numeric field. By
  4172  // default, only exact match queries will be supported for numeric fields.
  4173  // Setting the `numericIndexingSpec` allows range queries to be supported.
  4174  type SchemaFieldSpecNumericIndexingSpec struct {
  4175  	// MaxValue: Maximum value of this field. This is meant to be indicative rather
  4176  	// than enforced. Values outside this range will still be indexed, but search
  4177  	// may not be as performant.
  4178  	MaxValue float64 `json:"maxValue,omitempty"`
  4179  	// MinValue: Minimum value of this field. This is meant to be indicative rather
  4180  	// than enforced. Values outside this range will still be indexed, but search
  4181  	// may not be as performant.
  4182  	MinValue float64 `json:"minValue,omitempty"`
  4183  	// ForceSendFields is a list of field names (e.g. "MaxValue") to
  4184  	// unconditionally include in API requests. By default, fields with empty or
  4185  	// default values are omitted from API requests. See
  4186  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4187  	// details.
  4188  	ForceSendFields []string `json:"-"`
  4189  	// NullFields is a list of field names (e.g. "MaxValue") to include in API
  4190  	// requests with the JSON null value. By default, fields with empty values are
  4191  	// omitted from API requests. See
  4192  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4193  	NullFields []string `json:"-"`
  4194  }
  4195  
  4196  func (s *SchemaFieldSpecNumericIndexingSpec) MarshalJSON() ([]byte, error) {
  4197  	type NoMethod SchemaFieldSpecNumericIndexingSpec
  4198  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4199  }
  4200  
  4201  func (s *SchemaFieldSpecNumericIndexingSpec) UnmarshalJSON(data []byte) error {
  4202  	type NoMethod SchemaFieldSpecNumericIndexingSpec
  4203  	var s1 struct {
  4204  		MaxValue gensupport.JSONFloat64 `json:"maxValue"`
  4205  		MinValue gensupport.JSONFloat64 `json:"minValue"`
  4206  		*NoMethod
  4207  	}
  4208  	s1.NoMethod = (*NoMethod)(s)
  4209  	if err := json.Unmarshal(data, &s1); err != nil {
  4210  		return err
  4211  	}
  4212  	s.MaxValue = float64(s1.MaxValue)
  4213  	s.MinValue = float64(s1.MinValue)
  4214  	return nil
  4215  }
  4216  
  4217  // Schemas: JSON response template for List Schema operation in Directory API.
  4218  type Schemas struct {
  4219  	// Etag: ETag of the resource.
  4220  	Etag string `json:"etag,omitempty"`
  4221  	// Kind: Kind of resource this is.
  4222  	Kind string `json:"kind,omitempty"`
  4223  	// Schemas: A list of UserSchema objects.
  4224  	Schemas []*Schema `json:"schemas,omitempty"`
  4225  
  4226  	// ServerResponse contains the HTTP response code and headers from the server.
  4227  	googleapi.ServerResponse `json:"-"`
  4228  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  4229  	// include in API requests. By default, fields with empty or default values are
  4230  	// omitted from API requests. See
  4231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4232  	// details.
  4233  	ForceSendFields []string `json:"-"`
  4234  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  4235  	// with the JSON null value. By default, fields with empty values are omitted
  4236  	// from API requests. See
  4237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4238  	NullFields []string `json:"-"`
  4239  }
  4240  
  4241  func (s *Schemas) MarshalJSON() ([]byte, error) {
  4242  	type NoMethod Schemas
  4243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4244  }
  4245  
  4246  // Status: The `Status` type defines a logical error model that is suitable for
  4247  // different programming environments, including REST APIs and RPC APIs. It is
  4248  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  4249  // pieces of data: error code, error message, and error details. You can find
  4250  // out more about this error model and how to work with it in the API Design
  4251  // Guide (https://cloud.google.com/apis/design/errors).
  4252  type Status struct {
  4253  	// Code: The status code, which should be an enum value of google.rpc.Code.
  4254  	Code int64 `json:"code,omitempty"`
  4255  	// Details: A list of messages that carry the error details. There is a common
  4256  	// set of message types for APIs to use.
  4257  	Details []googleapi.RawMessage `json:"details,omitempty"`
  4258  	// Message: A developer-facing error message, which should be in English. Any
  4259  	// user-facing error message should be localized and sent in the
  4260  	// google.rpc.Status.details field, or localized by the client.
  4261  	Message string `json:"message,omitempty"`
  4262  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4263  	// include in API requests. By default, fields with empty or default values are
  4264  	// omitted from API requests. See
  4265  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4266  	// details.
  4267  	ForceSendFields []string `json:"-"`
  4268  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4269  	// with the JSON null value. By default, fields with empty values are omitted
  4270  	// from API requests. See
  4271  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4272  	NullFields []string `json:"-"`
  4273  }
  4274  
  4275  func (s *Status) MarshalJSON() ([]byte, error) {
  4276  	type NoMethod Status
  4277  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4278  }
  4279  
  4280  // Token: JSON template for token resource in Directory API.
  4281  type Token struct {
  4282  	// Anonymous: Whether the application is registered with Google. The value is
  4283  	// `true` if the application has an anonymous Client ID.
  4284  	Anonymous bool `json:"anonymous,omitempty"`
  4285  	// ClientId: The Client ID of the application the token is issued to.
  4286  	ClientId string `json:"clientId,omitempty"`
  4287  	// DisplayText: The displayable name of the application the token is issued to.
  4288  	DisplayText string `json:"displayText,omitempty"`
  4289  	// Etag: ETag of the resource.
  4290  	Etag string `json:"etag,omitempty"`
  4291  	// Kind: The type of the API resource. This is always `admin#directory#token`.
  4292  	Kind string `json:"kind,omitempty"`
  4293  	// NativeApp: Whether the token is issued to an installed application. The
  4294  	// value is `true` if the application is installed to a desktop or mobile
  4295  	// device.
  4296  	NativeApp bool `json:"nativeApp,omitempty"`
  4297  	// Scopes: A list of authorization scopes the application is granted.
  4298  	Scopes []string `json:"scopes,omitempty"`
  4299  	// UserKey: The unique ID of the user that issued the token.
  4300  	UserKey string `json:"userKey,omitempty"`
  4301  
  4302  	// ServerResponse contains the HTTP response code and headers from the server.
  4303  	googleapi.ServerResponse `json:"-"`
  4304  	// ForceSendFields is a list of field names (e.g. "Anonymous") to
  4305  	// unconditionally include in API requests. By default, fields with empty or
  4306  	// default values are omitted from API requests. See
  4307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4308  	// details.
  4309  	ForceSendFields []string `json:"-"`
  4310  	// NullFields is a list of field names (e.g. "Anonymous") to include in API
  4311  	// requests with the JSON null value. By default, fields with empty values are
  4312  	// omitted from API requests. See
  4313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4314  	NullFields []string `json:"-"`
  4315  }
  4316  
  4317  func (s *Token) MarshalJSON() ([]byte, error) {
  4318  	type NoMethod Token
  4319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4320  }
  4321  
  4322  // Tokens: JSON response template for List tokens operation in Directory API.
  4323  type Tokens struct {
  4324  	// Etag: ETag of the resource.
  4325  	Etag string `json:"etag,omitempty"`
  4326  	// Items: A list of Token resources.
  4327  	Items []*Token `json:"items,omitempty"`
  4328  	// Kind: The type of the API resource. This is always
  4329  	// `admin#directory#tokenList`.
  4330  	Kind string `json:"kind,omitempty"`
  4331  
  4332  	// ServerResponse contains the HTTP response code and headers from the server.
  4333  	googleapi.ServerResponse `json:"-"`
  4334  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  4335  	// include in API requests. By default, fields with empty or default values are
  4336  	// omitted from API requests. See
  4337  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4338  	// details.
  4339  	ForceSendFields []string `json:"-"`
  4340  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  4341  	// with the JSON null value. By default, fields with empty values are omitted
  4342  	// from API requests. See
  4343  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4344  	NullFields []string `json:"-"`
  4345  }
  4346  
  4347  func (s *Tokens) MarshalJSON() ([]byte, error) {
  4348  	type NoMethod Tokens
  4349  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4350  }
  4351  
  4352  // User: The Directory API allows you to create and manage your account's
  4353  // users, user aliases, and user Google profile photos. For more information
  4354  // about common tasks, see the User Accounts Developer's Guide
  4355  // (/admin-sdk/directory/v1/guides/manage-users.html) and the User Aliases
  4356  // Developer's Guide (/admin-sdk/directory/v1/guides/manage-user-aliases.html).
  4357  type User struct {
  4358  	// Addresses: The list of the user's addresses. The maximum allowed data size
  4359  	// for this field is 10KB.
  4360  	Addresses interface{} `json:"addresses,omitempty"`
  4361  	// AgreedToTerms: Output only. This property is `true` if the user has
  4362  	// completed an initial login and accepted the Terms of Service agreement.
  4363  	AgreedToTerms bool `json:"agreedToTerms,omitempty"`
  4364  	// Aliases: Output only. The list of the user's alias email addresses.
  4365  	Aliases []string `json:"aliases,omitempty"`
  4366  	// Archived: Indicates if user is archived.
  4367  	Archived bool `json:"archived,omitempty"`
  4368  	// ChangePasswordAtNextLogin: Indicates if the user is forced to change their
  4369  	// password at next login. This setting doesn't apply when the user signs in
  4370  	// via a third-party identity provider
  4371  	// (https://support.google.com/a/answer/60224).
  4372  	ChangePasswordAtNextLogin bool `json:"changePasswordAtNextLogin,omitempty"`
  4373  	// CreationTime: User's G Suite account creation time. (Read-only)
  4374  	CreationTime string `json:"creationTime,omitempty"`
  4375  	// CustomSchemas: Custom fields of the user. The key is a `schema_name` and its
  4376  	// values are `'field_name': 'field_value'`.
  4377  	CustomSchemas map[string]googleapi.RawMessage `json:"customSchemas,omitempty"`
  4378  	// CustomerId: Output only. The customer ID to retrieve all account users
  4379  	// (/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can
  4380  	// use the alias `my_customer` to represent your account's `customerId`. As a
  4381  	// reseller administrator, you can use the resold customer account's
  4382  	// `customerId`. To get a `customerId`, use the account's primary domain in the
  4383  	// `domain` parameter of a users.list
  4384  	// (/admin-sdk/directory/v1/reference/users/list) request.
  4385  	CustomerId   string `json:"customerId,omitempty"`
  4386  	DeletionTime string `json:"deletionTime,omitempty"`
  4387  	// Emails: The list of the user's email addresses. The maximum allowed data
  4388  	// size for this field is 10KB. This excludes
  4389  	// `publicKeyEncryptionCertificates`.
  4390  	Emails interface{} `json:"emails,omitempty"`
  4391  	// Etag: Output only. ETag of the resource.
  4392  	Etag string `json:"etag,omitempty"`
  4393  	// ExternalIds: The list of external IDs for the user, such as an employee or
  4394  	// network ID. The maximum allowed data size for this field is 2KB.
  4395  	ExternalIds interface{} `json:"externalIds,omitempty"`
  4396  	// Gender: The user's gender. The maximum allowed data size for this field is
  4397  	// 1KB.
  4398  	Gender interface{} `json:"gender,omitempty"`
  4399  	// HashFunction: Stores the hash format of the `password` property. The
  4400  	// following `hashFunction` values are allowed: * `MD5` - Accepts simple
  4401  	// hex-encoded values. * `SHA-1` - Accepts simple hex-encoded values. * `crypt`
  4402  	// - Compliant with the C crypt library
  4403  	// (https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash
  4404  	// prefix `$1$`), SHA-256 (hash prefix `$5$`), and SHA-512 (hash prefix `$6$`)
  4405  	// hash algorithms. If rounds are specified as part of the prefix, they must be
  4406  	// 10,000 or fewer.
  4407  	HashFunction string `json:"hashFunction,omitempty"`
  4408  	// Id: The unique ID for the user. A user `id` can be used as a user request
  4409  	// URI's `userKey`.
  4410  	Id string `json:"id,omitempty"`
  4411  	// Ims: The list of the user's Instant Messenger (IM) accounts. A user account
  4412  	// can have multiple ims properties. But, only one of these ims properties can
  4413  	// be the primary IM contact. The maximum allowed data size for this field is
  4414  	// 2KB.
  4415  	Ims interface{} `json:"ims,omitempty"`
  4416  	// IncludeInGlobalAddressList: Indicates if the user's profile is visible in
  4417  	// the Google Workspace global address list when the contact sharing feature is
  4418  	// enabled for the domain. For more information about excluding user profiles,
  4419  	// see the administration help center
  4420  	// (https://support.google.com/a/answer/1285988).
  4421  	IncludeInGlobalAddressList bool `json:"includeInGlobalAddressList,omitempty"`
  4422  	// IpWhitelisted: If `true`, the user's IP address is subject to a deprecated
  4423  	// IP address `allowlist` (https://support.google.com/a/answer/60752)
  4424  	// configuration.
  4425  	IpWhitelisted bool `json:"ipWhitelisted,omitempty"`
  4426  	// IsAdmin: Output only. Indicates a user with super admininistrator
  4427  	// privileges. The `isAdmin` property can only be edited in the Make a user an
  4428  	// administrator (/admin-sdk/directory/v1/guides/manage-users.html#make_admin)
  4429  	// operation ( makeAdmin
  4430  	// (/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited
  4431  	// in the user insert (/admin-sdk/directory/v1/reference/users/insert.html) or
  4432  	// update (/admin-sdk/directory/v1/reference/users/update.html) methods, the
  4433  	// edit is ignored by the API service.
  4434  	IsAdmin bool `json:"isAdmin,omitempty"`
  4435  	// IsDelegatedAdmin: Output only. Indicates if the user is a delegated
  4436  	// administrator. Delegated administrators are supported by the API but cannot
  4437  	// create or undelete users, or make users administrators. These requests are
  4438  	// ignored by the API service. Roles and privileges for administrators are
  4439  	// assigned using the Admin console
  4440  	// (https://support.google.com/a/answer/33325).
  4441  	IsDelegatedAdmin bool `json:"isDelegatedAdmin,omitempty"`
  4442  	// IsEnforcedIn2Sv: Output only. Is 2-step verification enforced (Read-only)
  4443  	IsEnforcedIn2Sv bool `json:"isEnforcedIn2Sv,omitempty"`
  4444  	// IsEnrolledIn2Sv: Output only. Is enrolled in 2-step verification (Read-only)
  4445  	IsEnrolledIn2Sv bool `json:"isEnrolledIn2Sv,omitempty"`
  4446  	// IsMailboxSetup: Output only. Indicates if the user's Google mailbox is
  4447  	// created. This property is only applicable if the user has been assigned a
  4448  	// Gmail license.
  4449  	IsMailboxSetup bool `json:"isMailboxSetup,omitempty"`
  4450  	// Keywords: The list of the user's keywords. The maximum allowed data size for
  4451  	// this field is 1KB.
  4452  	Keywords interface{} `json:"keywords,omitempty"`
  4453  	// Kind: Output only. The type of the API resource. For Users resources, the
  4454  	// value is `admin#directory#user`.
  4455  	Kind string `json:"kind,omitempty"`
  4456  	// Languages: The user's languages. The maximum allowed data size for this
  4457  	// field is 1KB.
  4458  	Languages interface{} `json:"languages,omitempty"`
  4459  	// LastLoginTime: User's last login time. (Read-only)
  4460  	LastLoginTime string `json:"lastLoginTime,omitempty"`
  4461  	// Locations: The user's locations. The maximum allowed data size for this
  4462  	// field is 10KB.
  4463  	Locations interface{} `json:"locations,omitempty"`
  4464  	// Name: Holds the given and family names of the user, and the read-only
  4465  	// `fullName` value. The maximum number of characters in the `givenName` and in
  4466  	// the `familyName` values is 60. In addition, name values support
  4467  	// unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers
  4468  	// (0-9), dashes (-), forward slashes (/), and periods (.). For more
  4469  	// information about character usage rules, see the administration help center
  4470  	// (https://support.google.com/a/answer/9193374). Maximum allowed data size for
  4471  	// this field is 1KB.
  4472  	Name *UserName `json:"name,omitempty"`
  4473  	// NonEditableAliases: Output only. The list of the user's non-editable alias
  4474  	// email addresses. These are typically outside the account's primary domain or
  4475  	// sub-domain.
  4476  	NonEditableAliases []string `json:"nonEditableAliases,omitempty"`
  4477  	// Notes: Notes for the user.
  4478  	Notes interface{} `json:"notes,omitempty"`
  4479  	// OrgUnitPath: The full path of the parent organization associated with the
  4480  	// user. If the parent organization is the top-level, it is represented as a
  4481  	// forward slash (`/`).
  4482  	OrgUnitPath string `json:"orgUnitPath,omitempty"`
  4483  	// Organizations: The list of organizations the user belongs to. The maximum
  4484  	// allowed data size for this field is 10KB.
  4485  	Organizations interface{} `json:"organizations,omitempty"`
  4486  	// Password: User's password
  4487  	Password string `json:"password,omitempty"`
  4488  	// Phones: The list of the user's phone numbers. The maximum allowed data size
  4489  	// for this field is 1KB.
  4490  	Phones interface{} `json:"phones,omitempty"`
  4491  	// PosixAccounts: The list of POSIX
  4492  	// (https://www.opengroup.org/austin/papers/posix_faq.html) account information
  4493  	// for the user.
  4494  	PosixAccounts interface{} `json:"posixAccounts,omitempty"`
  4495  	// PrimaryEmail: The user's primary email address. This property is required in
  4496  	// a request to create a user account. The `primaryEmail` must be unique and
  4497  	// cannot be an alias of another user.
  4498  	PrimaryEmail string `json:"primaryEmail,omitempty"`
  4499  	// RecoveryEmail: Recovery email of the user.
  4500  	RecoveryEmail string `json:"recoveryEmail,omitempty"`
  4501  	// RecoveryPhone: Recovery phone of the user. The phone number must be in the
  4502  	// E.164 format, starting with the plus sign (+). Example: *+16506661212*.
  4503  	RecoveryPhone string `json:"recoveryPhone,omitempty"`
  4504  	// Relations: The list of the user's relationships to other users. The maximum
  4505  	// allowed data size for this field is 2KB.
  4506  	Relations interface{} `json:"relations,omitempty"`
  4507  	// SshPublicKeys: A list of SSH public keys.
  4508  	SshPublicKeys interface{} `json:"sshPublicKeys,omitempty"`
  4509  	// Suspended: Indicates if user is suspended.
  4510  	Suspended bool `json:"suspended,omitempty"`
  4511  	// SuspensionReason: Output only. Has the reason a user account is suspended
  4512  	// either by the administrator or by Google at the time of suspension. The
  4513  	// property is returned only if the `suspended` property is `true`.
  4514  	SuspensionReason string `json:"suspensionReason,omitempty"`
  4515  	// ThumbnailPhotoEtag: Output only. ETag of the user's photo (Read-only)
  4516  	ThumbnailPhotoEtag string `json:"thumbnailPhotoEtag,omitempty"`
  4517  	// ThumbnailPhotoUrl: Output only. The URL of the user's profile photo. The URL
  4518  	// might be temporary or private.
  4519  	ThumbnailPhotoUrl string `json:"thumbnailPhotoUrl,omitempty"`
  4520  	// Websites: The user's websites. The maximum allowed data size for this field
  4521  	// is 2KB.
  4522  	Websites interface{} `json:"websites,omitempty"`
  4523  
  4524  	// ServerResponse contains the HTTP response code and headers from the server.
  4525  	googleapi.ServerResponse `json:"-"`
  4526  	// ForceSendFields is a list of field names (e.g. "Addresses") to
  4527  	// unconditionally include in API requests. By default, fields with empty or
  4528  	// default values are omitted from API requests. See
  4529  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4530  	// details.
  4531  	ForceSendFields []string `json:"-"`
  4532  	// NullFields is a list of field names (e.g. "Addresses") to include in API
  4533  	// requests with the JSON null value. By default, fields with empty values are
  4534  	// omitted from API requests. See
  4535  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4536  	NullFields []string `json:"-"`
  4537  }
  4538  
  4539  func (s *User) MarshalJSON() ([]byte, error) {
  4540  	type NoMethod User
  4541  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4542  }
  4543  
  4544  // UserAbout: JSON template for About (notes) of a user in Directory API.
  4545  type UserAbout struct {
  4546  	// ContentType: About entry can have a type which indicates the content type.
  4547  	// It can either be plain or html. By default, notes contents are assumed to
  4548  	// contain plain text.
  4549  	ContentType string `json:"contentType,omitempty"`
  4550  	// Value: Actual value of notes.
  4551  	Value string `json:"value,omitempty"`
  4552  	// ForceSendFields is a list of field names (e.g. "ContentType") to
  4553  	// unconditionally include in API requests. By default, fields with empty or
  4554  	// default values are omitted from API requests. See
  4555  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4556  	// details.
  4557  	ForceSendFields []string `json:"-"`
  4558  	// NullFields is a list of field names (e.g. "ContentType") to include in API
  4559  	// requests with the JSON null value. By default, fields with empty values are
  4560  	// omitted from API requests. See
  4561  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4562  	NullFields []string `json:"-"`
  4563  }
  4564  
  4565  func (s *UserAbout) MarshalJSON() ([]byte, error) {
  4566  	type NoMethod UserAbout
  4567  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4568  }
  4569  
  4570  // UserAddress: JSON template for address.
  4571  type UserAddress struct {
  4572  	// Country: Country.
  4573  	Country string `json:"country,omitempty"`
  4574  	// CountryCode: Country code.
  4575  	CountryCode string `json:"countryCode,omitempty"`
  4576  	// CustomType: Custom type.
  4577  	CustomType string `json:"customType,omitempty"`
  4578  	// ExtendedAddress: Extended Address.
  4579  	ExtendedAddress string `json:"extendedAddress,omitempty"`
  4580  	// Formatted: Formatted address.
  4581  	Formatted string `json:"formatted,omitempty"`
  4582  	// Locality: Locality.
  4583  	Locality string `json:"locality,omitempty"`
  4584  	// PoBox: Other parts of address.
  4585  	PoBox string `json:"poBox,omitempty"`
  4586  	// PostalCode: Postal code.
  4587  	PostalCode string `json:"postalCode,omitempty"`
  4588  	// Primary: If this is user's primary address. Only one entry could be marked
  4589  	// as primary.
  4590  	Primary bool `json:"primary,omitempty"`
  4591  	// Region: Region.
  4592  	Region string `json:"region,omitempty"`
  4593  	// SourceIsStructured: User supplied address was structured. Structured
  4594  	// addresses are NOT supported at this time. You might be able to write
  4595  	// structured addresses but any values will eventually be clobbered.
  4596  	SourceIsStructured bool `json:"sourceIsStructured,omitempty"`
  4597  	// StreetAddress: Street.
  4598  	StreetAddress string `json:"streetAddress,omitempty"`
  4599  	// Type: Each entry can have a type which indicates standard values of that
  4600  	// entry. For example address could be of home work etc. In addition to the
  4601  	// standard type an entry can have a custom type and can take any value. Such
  4602  	// type should have the CUSTOM value as type and also have a customType value.
  4603  	Type string `json:"type,omitempty"`
  4604  	// ForceSendFields is a list of field names (e.g. "Country") to unconditionally
  4605  	// include in API requests. By default, fields with empty or default values are
  4606  	// omitted from API requests. See
  4607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4608  	// details.
  4609  	ForceSendFields []string `json:"-"`
  4610  	// NullFields is a list of field names (e.g. "Country") to include in API
  4611  	// requests with the JSON null value. By default, fields with empty values are
  4612  	// omitted from API requests. See
  4613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4614  	NullFields []string `json:"-"`
  4615  }
  4616  
  4617  func (s *UserAddress) MarshalJSON() ([]byte, error) {
  4618  	type NoMethod UserAddress
  4619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4620  }
  4621  
  4622  // UserAlias: The Directory API manages aliases, which are alternative email
  4623  // addresses.
  4624  type UserAlias struct {
  4625  	// Alias: The alias email address.
  4626  	Alias string `json:"alias,omitempty"`
  4627  	// Etag: ETag of the resource.
  4628  	Etag string `json:"etag,omitempty"`
  4629  	// Id: The unique ID for the user.
  4630  	Id string `json:"id,omitempty"`
  4631  	// Kind: The type of the API resource. For Alias resources, the value is
  4632  	// `admin#directory#alias`.
  4633  	Kind string `json:"kind,omitempty"`
  4634  	// PrimaryEmail: The user's primary email address.
  4635  	PrimaryEmail string `json:"primaryEmail,omitempty"`
  4636  	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
  4637  	// include in API requests. By default, fields with empty or default values are
  4638  	// omitted from API requests. See
  4639  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4640  	// details.
  4641  	ForceSendFields []string `json:"-"`
  4642  	// NullFields is a list of field names (e.g. "Alias") to include in API
  4643  	// requests with the JSON null value. By default, fields with empty values are
  4644  	// omitted from API requests. See
  4645  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4646  	NullFields []string `json:"-"`
  4647  }
  4648  
  4649  func (s *UserAlias) MarshalJSON() ([]byte, error) {
  4650  	type NoMethod UserAlias
  4651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4652  }
  4653  
  4654  // UserEmail: JSON template for an email.
  4655  type UserEmail struct {
  4656  	// Address: Email id of the user.
  4657  	Address string `json:"address,omitempty"`
  4658  	// CustomType: Custom Type.
  4659  	CustomType string `json:"customType,omitempty"`
  4660  	// Primary: If this is user's primary email. Only one entry could be marked as
  4661  	// primary.
  4662  	Primary bool `json:"primary,omitempty"`
  4663  	// PublicKeyEncryptionCertificates: Public Key Encryption Certificates. Current
  4664  	// limit: 1 per email address, and 5 per user.
  4665  	PublicKeyEncryptionCertificates *UserEmailPublicKeyEncryptionCertificates `json:"public_key_encryption_certificates,omitempty"`
  4666  	// Type: Each entry can have a type which indicates standard types of that
  4667  	// entry. For example email could be of home, work etc. In addition to the
  4668  	// standard type, an entry can have a custom type and can take any value Such
  4669  	// types should have the CUSTOM value as type and also have a customType value.
  4670  	Type string `json:"type,omitempty"`
  4671  	// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
  4672  	// include in API requests. By default, fields with empty or default values are
  4673  	// omitted from API requests. See
  4674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4675  	// details.
  4676  	ForceSendFields []string `json:"-"`
  4677  	// NullFields is a list of field names (e.g. "Address") to include in API
  4678  	// requests with the JSON null value. By default, fields with empty values are
  4679  	// omitted from API requests. See
  4680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4681  	NullFields []string `json:"-"`
  4682  }
  4683  
  4684  func (s *UserEmail) MarshalJSON() ([]byte, error) {
  4685  	type NoMethod UserEmail
  4686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4687  }
  4688  
  4689  // UserEmailPublicKeyEncryptionCertificates: Public Key Encryption
  4690  // Certificates. Current limit: 1 per email address, and 5 per user.
  4691  type UserEmailPublicKeyEncryptionCertificates struct {
  4692  	// Certificate: X.509 encryption certificate in `PEM` format. Must only be an
  4693  	// end-entity (leaf) certificate.
  4694  	Certificate string `json:"certificate,omitempty"`
  4695  	// IsDefault: Whether this is the default certificate for the given email
  4696  	// address.
  4697  	IsDefault bool `json:"is_default,omitempty"`
  4698  	// State: Denotes the certificate's state in its lifecycle. Possible values are
  4699  	// `not_yet_validated`, `valid`, `invalid`, `expired`, and `revoked`.
  4700  	State string `json:"state,omitempty"`
  4701  	// ForceSendFields is a list of field names (e.g. "Certificate") to
  4702  	// unconditionally include in API requests. By default, fields with empty or
  4703  	// default values are omitted from API requests. See
  4704  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4705  	// details.
  4706  	ForceSendFields []string `json:"-"`
  4707  	// NullFields is a list of field names (e.g. "Certificate") to include in API
  4708  	// requests with the JSON null value. By default, fields with empty values are
  4709  	// omitted from API requests. See
  4710  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4711  	NullFields []string `json:"-"`
  4712  }
  4713  
  4714  func (s *UserEmailPublicKeyEncryptionCertificates) MarshalJSON() ([]byte, error) {
  4715  	type NoMethod UserEmailPublicKeyEncryptionCertificates
  4716  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4717  }
  4718  
  4719  // UserExternalId: JSON template for an externalId entry.
  4720  type UserExternalId struct {
  4721  	// CustomType: Custom type.
  4722  	CustomType string `json:"customType,omitempty"`
  4723  	// Type: The type of the Id.
  4724  	Type string `json:"type,omitempty"`
  4725  	// Value: The value of the id.
  4726  	Value string `json:"value,omitempty"`
  4727  	// ForceSendFields is a list of field names (e.g. "CustomType") to
  4728  	// unconditionally include in API requests. By default, fields with empty or
  4729  	// default values are omitted from API requests. See
  4730  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4731  	// details.
  4732  	ForceSendFields []string `json:"-"`
  4733  	// NullFields is a list of field names (e.g. "CustomType") to include in API
  4734  	// requests with the JSON null value. By default, fields with empty values are
  4735  	// omitted from API requests. See
  4736  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4737  	NullFields []string `json:"-"`
  4738  }
  4739  
  4740  func (s *UserExternalId) MarshalJSON() ([]byte, error) {
  4741  	type NoMethod UserExternalId
  4742  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4743  }
  4744  
  4745  type UserGender struct {
  4746  	// AddressMeAs: AddressMeAs. A human-readable string containing the proper way
  4747  	// to refer to the profile owner by humans for example he/him/his or
  4748  	// they/them/their.
  4749  	AddressMeAs string `json:"addressMeAs,omitempty"`
  4750  	// CustomGender: Custom gender.
  4751  	CustomGender string `json:"customGender,omitempty"`
  4752  	// Type: Gender.
  4753  	Type string `json:"type,omitempty"`
  4754  	// ForceSendFields is a list of field names (e.g. "AddressMeAs") to
  4755  	// unconditionally include in API requests. By default, fields with empty or
  4756  	// default values are omitted from API requests. See
  4757  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4758  	// details.
  4759  	ForceSendFields []string `json:"-"`
  4760  	// NullFields is a list of field names (e.g. "AddressMeAs") to include in API
  4761  	// requests with the JSON null value. By default, fields with empty values are
  4762  	// omitted from API requests. See
  4763  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4764  	NullFields []string `json:"-"`
  4765  }
  4766  
  4767  func (s *UserGender) MarshalJSON() ([]byte, error) {
  4768  	type NoMethod UserGender
  4769  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4770  }
  4771  
  4772  // UserIm: JSON template for instant messenger of an user.
  4773  type UserIm struct {
  4774  	// CustomProtocol: Custom protocol.
  4775  	CustomProtocol string `json:"customProtocol,omitempty"`
  4776  	// CustomType: Custom type.
  4777  	CustomType string `json:"customType,omitempty"`
  4778  	// Im: Instant messenger id.
  4779  	Im string `json:"im,omitempty"`
  4780  	// Primary: If this is user's primary im. Only one entry could be marked as
  4781  	// primary.
  4782  	Primary bool `json:"primary,omitempty"`
  4783  	// Protocol: Protocol used in the instant messenger. It should be one of the
  4784  	// values from ImProtocolTypes map. Similar to type it can take a CUSTOM value
  4785  	// and specify the custom name in customProtocol field.
  4786  	Protocol string `json:"protocol,omitempty"`
  4787  	// Type: Each entry can have a type which indicates standard types of that
  4788  	// entry. For example instant messengers could be of home work etc. In addition
  4789  	// to the standard type an entry can have a custom type and can take any value.
  4790  	// Such types should have the CUSTOM value as type and also have a customType
  4791  	// value.
  4792  	Type string `json:"type,omitempty"`
  4793  	// ForceSendFields is a list of field names (e.g. "CustomProtocol") to
  4794  	// unconditionally include in API requests. By default, fields with empty or
  4795  	// default values are omitted from API requests. See
  4796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4797  	// details.
  4798  	ForceSendFields []string `json:"-"`
  4799  	// NullFields is a list of field names (e.g. "CustomProtocol") to include in
  4800  	// API requests with the JSON null value. By default, fields with empty values
  4801  	// are omitted from API requests. See
  4802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4803  	NullFields []string `json:"-"`
  4804  }
  4805  
  4806  func (s *UserIm) MarshalJSON() ([]byte, error) {
  4807  	type NoMethod UserIm
  4808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4809  }
  4810  
  4811  // UserKeyword: JSON template for a keyword entry.
  4812  type UserKeyword struct {
  4813  	// CustomType: Custom Type.
  4814  	CustomType string `json:"customType,omitempty"`
  4815  	// Type: Each entry can have a type which indicates standard type of that
  4816  	// entry. For example keyword could be of type occupation or outlook. In
  4817  	// addition to the standard type an entry can have a custom type and can give
  4818  	// it any name. Such types should have the CUSTOM value as type and also have a
  4819  	// customType value.
  4820  	Type string `json:"type,omitempty"`
  4821  	// Value: Keyword.
  4822  	Value string `json:"value,omitempty"`
  4823  	// ForceSendFields is a list of field names (e.g. "CustomType") to
  4824  	// unconditionally include in API requests. By default, fields with empty or
  4825  	// default values are omitted from API requests. See
  4826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4827  	// details.
  4828  	ForceSendFields []string `json:"-"`
  4829  	// NullFields is a list of field names (e.g. "CustomType") to include in API
  4830  	// requests with the JSON null value. By default, fields with empty values are
  4831  	// omitted from API requests. See
  4832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4833  	NullFields []string `json:"-"`
  4834  }
  4835  
  4836  func (s *UserKeyword) MarshalJSON() ([]byte, error) {
  4837  	type NoMethod UserKeyword
  4838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4839  }
  4840  
  4841  // UserLanguage: JSON template for a language entry.
  4842  type UserLanguage struct {
  4843  	// CustomLanguage: Other language. User can provide their own language name if
  4844  	// there is no corresponding ISO 639 language code. If this is set,
  4845  	// `languageCode` can't be set.
  4846  	CustomLanguage string `json:"customLanguage,omitempty"`
  4847  	// LanguageCode: ISO 639 string representation of a language. See Language
  4848  	// Codes (/admin-sdk/directory/v1/languages) for the list of supported codes.
  4849  	// Valid language codes outside the supported set will be accepted by the API
  4850  	// but may lead to unexpected behavior. Illegal values cause `SchemaException`.
  4851  	// If this is set, `customLanguage` can't be set.
  4852  	LanguageCode string `json:"languageCode,omitempty"`
  4853  	// Preference: Optional. If present, controls whether the specified
  4854  	// `languageCode` is the user's preferred language. If `customLanguage` is set,
  4855  	// this can't be set. Allowed values are `preferred` and `not_preferred`.
  4856  	Preference string `json:"preference,omitempty"`
  4857  	// ForceSendFields is a list of field names (e.g. "CustomLanguage") to
  4858  	// unconditionally include in API requests. By default, fields with empty or
  4859  	// default values are omitted from API requests. See
  4860  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4861  	// details.
  4862  	ForceSendFields []string `json:"-"`
  4863  	// NullFields is a list of field names (e.g. "CustomLanguage") to include in
  4864  	// API requests with the JSON null value. By default, fields with empty values
  4865  	// are omitted from API requests. See
  4866  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4867  	NullFields []string `json:"-"`
  4868  }
  4869  
  4870  func (s *UserLanguage) MarshalJSON() ([]byte, error) {
  4871  	type NoMethod UserLanguage
  4872  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4873  }
  4874  
  4875  // UserLocation: JSON template for a location entry.
  4876  type UserLocation struct {
  4877  	// Area: Textual location. This is most useful for display purposes to
  4878  	// concisely describe the location. For example 'Mountain View, CA', 'Near
  4879  	// Seattle', 'US-NYC-9TH 9A209A.''
  4880  	Area string `json:"area,omitempty"`
  4881  	// BuildingId: Building Identifier.
  4882  	BuildingId string `json:"buildingId,omitempty"`
  4883  	// CustomType: Custom Type.
  4884  	CustomType string `json:"customType,omitempty"`
  4885  	// DeskCode: Most specific textual code of individual desk location.
  4886  	DeskCode string `json:"deskCode,omitempty"`
  4887  	// FloorName: Floor name/number.
  4888  	FloorName string `json:"floorName,omitempty"`
  4889  	// FloorSection: Floor section. More specific location within the floor. For
  4890  	// example if a floor is divided into sections 'A', 'B' and 'C' this field
  4891  	// would identify one of those values.
  4892  	FloorSection string `json:"floorSection,omitempty"`
  4893  	// Type: Each entry can have a type which indicates standard types of that
  4894  	// entry. For example location could be of types default and desk. In addition
  4895  	// to standard type an entry can have a custom type and can give it any name.
  4896  	// Such types should have 'custom' as type and also have a customType value.
  4897  	Type string `json:"type,omitempty"`
  4898  	// ForceSendFields is a list of field names (e.g. "Area") to unconditionally
  4899  	// include in API requests. By default, fields with empty or default values are
  4900  	// omitted from API requests. See
  4901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4902  	// details.
  4903  	ForceSendFields []string `json:"-"`
  4904  	// NullFields is a list of field names (e.g. "Area") to include in API requests
  4905  	// with the JSON null value. By default, fields with empty values are omitted
  4906  	// from API requests. See
  4907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4908  	NullFields []string `json:"-"`
  4909  }
  4910  
  4911  func (s *UserLocation) MarshalJSON() ([]byte, error) {
  4912  	type NoMethod UserLocation
  4913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4914  }
  4915  
  4916  type UserMakeAdmin struct {
  4917  	// Status: Indicates the administrator status of the user.
  4918  	Status bool `json:"status,omitempty"`
  4919  	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
  4920  	// include in API requests. By default, fields with empty or default values are
  4921  	// omitted from API requests. See
  4922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4923  	// details.
  4924  	ForceSendFields []string `json:"-"`
  4925  	// NullFields is a list of field names (e.g. "Status") to include in API
  4926  	// requests with the JSON null value. By default, fields with empty values are
  4927  	// omitted from API requests. See
  4928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4929  	NullFields []string `json:"-"`
  4930  }
  4931  
  4932  func (s *UserMakeAdmin) MarshalJSON() ([]byte, error) {
  4933  	type NoMethod UserMakeAdmin
  4934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4935  }
  4936  
  4937  type UserName struct {
  4938  	// DisplayName: The user's display name. Limit: 256 characters.
  4939  	DisplayName string `json:"displayName,omitempty"`
  4940  	// FamilyName: The user's last name. Required when creating a user account.
  4941  	FamilyName string `json:"familyName,omitempty"`
  4942  	// FullName: The user's full name formed by concatenating the first and last
  4943  	// name values.
  4944  	FullName string `json:"fullName,omitempty"`
  4945  	// GivenName: The user's first name. Required when creating a user account.
  4946  	GivenName string `json:"givenName,omitempty"`
  4947  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4948  	// unconditionally include in API requests. By default, fields with empty or
  4949  	// default values are omitted from API requests. See
  4950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4951  	// details.
  4952  	ForceSendFields []string `json:"-"`
  4953  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4954  	// requests with the JSON null value. By default, fields with empty values are
  4955  	// omitted from API requests. See
  4956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4957  	NullFields []string `json:"-"`
  4958  }
  4959  
  4960  func (s *UserName) MarshalJSON() ([]byte, error) {
  4961  	type NoMethod UserName
  4962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4963  }
  4964  
  4965  // UserOrganization: JSON template for an organization entry.
  4966  type UserOrganization struct {
  4967  	// CostCenter: The cost center of the users department.
  4968  	CostCenter string `json:"costCenter,omitempty"`
  4969  	// CustomType: Custom type.
  4970  	CustomType string `json:"customType,omitempty"`
  4971  	// Department: Department within the organization.
  4972  	Department string `json:"department,omitempty"`
  4973  	// Description: Description of the organization.
  4974  	Description string `json:"description,omitempty"`
  4975  	// Domain: The domain to which the organization belongs to.
  4976  	Domain string `json:"domain,omitempty"`
  4977  	// FullTimeEquivalent: The full-time equivalent millipercent within the
  4978  	// organization (100000 = 100%).
  4979  	FullTimeEquivalent int64 `json:"fullTimeEquivalent,omitempty"`
  4980  	// Location: Location of the organization. This need not be fully qualified
  4981  	// address.
  4982  	Location string `json:"location,omitempty"`
  4983  	// Name: Name of the organization
  4984  	Name string `json:"name,omitempty"`
  4985  	// Primary: If it user's primary organization.
  4986  	Primary bool `json:"primary,omitempty"`
  4987  	// Symbol: Symbol of the organization.
  4988  	Symbol string `json:"symbol,omitempty"`
  4989  	// Title: Title (designation) of the user in the organization.
  4990  	Title string `json:"title,omitempty"`
  4991  	// Type: Each entry can have a type which indicates standard types of that
  4992  	// entry. For example organization could be of school work etc. In addition to
  4993  	// the standard type an entry can have a custom type and can give it any name.
  4994  	// Such types should have the CUSTOM value as type and also have a CustomType
  4995  	// value.
  4996  	Type string `json:"type,omitempty"`
  4997  	// ForceSendFields is a list of field names (e.g. "CostCenter") to
  4998  	// unconditionally include in API requests. By default, fields with empty or
  4999  	// default values are omitted from API requests. See
  5000  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5001  	// details.
  5002  	ForceSendFields []string `json:"-"`
  5003  	// NullFields is a list of field names (e.g. "CostCenter") to include in API
  5004  	// requests with the JSON null value. By default, fields with empty values are
  5005  	// omitted from API requests. See
  5006  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5007  	NullFields []string `json:"-"`
  5008  }
  5009  
  5010  func (s *UserOrganization) MarshalJSON() ([]byte, error) {
  5011  	type NoMethod UserOrganization
  5012  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5013  }
  5014  
  5015  // UserPhone: JSON template for a phone entry.
  5016  type UserPhone struct {
  5017  	// CustomType: Custom Type.
  5018  	CustomType string `json:"customType,omitempty"`
  5019  	// Primary: If this is user's primary phone or not.
  5020  	Primary bool `json:"primary,omitempty"`
  5021  	// Type: Each entry can have a type which indicates standard types of that
  5022  	// entry. For example phone could be of home_fax work mobile etc. In addition
  5023  	// to the standard type an entry can have a custom type and can give it any
  5024  	// name. Such types should have the CUSTOM value as type and also have a
  5025  	// customType value.
  5026  	Type string `json:"type,omitempty"`
  5027  	// Value: Phone number.
  5028  	Value string `json:"value,omitempty"`
  5029  	// ForceSendFields is a list of field names (e.g. "CustomType") to
  5030  	// unconditionally include in API requests. By default, fields with empty or
  5031  	// default values are omitted from 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. "CustomType") to include in API
  5036  	// requests with the JSON null value. By default, fields with empty values are
  5037  	// omitted from API requests. See
  5038  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5039  	NullFields []string `json:"-"`
  5040  }
  5041  
  5042  func (s *UserPhone) MarshalJSON() ([]byte, error) {
  5043  	type NoMethod UserPhone
  5044  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5045  }
  5046  
  5047  type UserPhoto struct {
  5048  	// Etag: ETag of the resource.
  5049  	Etag string `json:"etag,omitempty"`
  5050  	// Height: Height of the photo in pixels.
  5051  	Height int64 `json:"height,omitempty"`
  5052  	// Id: The ID the API uses to uniquely identify the user.
  5053  	Id string `json:"id,omitempty"`
  5054  	// Kind: The type of the API resource. For Photo resources, this is
  5055  	// `admin#directory#user#photo`.
  5056  	Kind string `json:"kind,omitempty"`
  5057  	// MimeType: The MIME type of the photo. Allowed values are `JPEG`, `PNG`,
  5058  	// `GIF`, `BMP`, `TIFF`, and web-safe base64 encoding.
  5059  	MimeType string `json:"mimeType,omitempty"`
  5060  	// PhotoData: The user photo's upload data in web-safe Base64
  5061  	// (https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes.
  5062  	// This means: * The slash (/) character is replaced with the underscore (_)
  5063  	// character. * The plus sign (+) character is replaced with the hyphen (-)
  5064  	// character. * The equals sign (=) character is replaced with the asterisk
  5065  	// (*). * For padding, the period (.) character is used instead of the RFC-4648
  5066  	// baseURL definition which uses the equals sign (=) for padding. This is done
  5067  	// to simplify URL-parsing. * Whatever the size of the photo being uploaded,
  5068  	// the API downsizes it to 96x96 pixels.
  5069  	PhotoData string `json:"photoData,omitempty"`
  5070  	// PrimaryEmail: The user's primary email address.
  5071  	PrimaryEmail string `json:"primaryEmail,omitempty"`
  5072  	// Width: Width of the photo in pixels.
  5073  	Width int64 `json:"width,omitempty"`
  5074  
  5075  	// ServerResponse contains the HTTP response code and headers from the server.
  5076  	googleapi.ServerResponse `json:"-"`
  5077  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  5078  	// include in API requests. By default, fields with empty or default values are
  5079  	// omitted from API requests. See
  5080  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5081  	// details.
  5082  	ForceSendFields []string `json:"-"`
  5083  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  5084  	// with the JSON null value. By default, fields with empty values are omitted
  5085  	// from API requests. See
  5086  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5087  	NullFields []string `json:"-"`
  5088  }
  5089  
  5090  func (s *UserPhoto) MarshalJSON() ([]byte, error) {
  5091  	type NoMethod UserPhoto
  5092  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5093  }
  5094  
  5095  // UserPosixAccount: JSON template for a POSIX account entry.
  5096  type UserPosixAccount struct {
  5097  	// AccountId: A POSIX account field identifier.
  5098  	AccountId string `json:"accountId,omitempty"`
  5099  	// Gecos: The GECOS (user information) for this account.
  5100  	Gecos string `json:"gecos,omitempty"`
  5101  	// Gid: The default group ID.
  5102  	Gid uint64 `json:"gid,omitempty,string"`
  5103  	// HomeDirectory: The path to the home directory for this account.
  5104  	HomeDirectory string `json:"homeDirectory,omitempty"`
  5105  	// OperatingSystemType: The operating system type for this account.
  5106  	OperatingSystemType string `json:"operatingSystemType,omitempty"`
  5107  	// Primary: If this is user's primary account within the SystemId.
  5108  	Primary bool `json:"primary,omitempty"`
  5109  	// Shell: The path to the login shell for this account.
  5110  	Shell string `json:"shell,omitempty"`
  5111  	// SystemId: System identifier for which account Username or Uid apply to.
  5112  	SystemId string `json:"systemId,omitempty"`
  5113  	// Uid: The POSIX compliant user ID.
  5114  	Uid uint64 `json:"uid,omitempty,string"`
  5115  	// Username: The username of the account.
  5116  	Username string `json:"username,omitempty"`
  5117  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5118  	// unconditionally include in API requests. By default, fields with empty or
  5119  	// default values are omitted from API requests. See
  5120  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5121  	// details.
  5122  	ForceSendFields []string `json:"-"`
  5123  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  5124  	// requests with the JSON null value. By default, fields with empty values are
  5125  	// omitted from API requests. See
  5126  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5127  	NullFields []string `json:"-"`
  5128  }
  5129  
  5130  func (s *UserPosixAccount) MarshalJSON() ([]byte, error) {
  5131  	type NoMethod UserPosixAccount
  5132  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5133  }
  5134  
  5135  // UserRelation: JSON template for a relation entry.
  5136  type UserRelation struct {
  5137  	// CustomType: Custom Type.
  5138  	CustomType string `json:"customType,omitempty"`
  5139  	// Type: The relation of the user. Some of the possible values are mother
  5140  	// father sister brother manager assistant partner.
  5141  	Type string `json:"type,omitempty"`
  5142  	// Value: The name of the relation.
  5143  	Value string `json:"value,omitempty"`
  5144  	// ForceSendFields is a list of field names (e.g. "CustomType") to
  5145  	// unconditionally include in API requests. By default, fields with empty or
  5146  	// default values are omitted from API requests. See
  5147  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5148  	// details.
  5149  	ForceSendFields []string `json:"-"`
  5150  	// NullFields is a list of field names (e.g. "CustomType") to include in API
  5151  	// requests with the JSON null value. By default, fields with empty values are
  5152  	// omitted from API requests. See
  5153  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5154  	NullFields []string `json:"-"`
  5155  }
  5156  
  5157  func (s *UserRelation) MarshalJSON() ([]byte, error) {
  5158  	type NoMethod UserRelation
  5159  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5160  }
  5161  
  5162  // UserSshPublicKey: JSON template for a POSIX account entry.
  5163  type UserSshPublicKey struct {
  5164  	// ExpirationTimeUsec: An expiration time in microseconds since epoch.
  5165  	ExpirationTimeUsec int64 `json:"expirationTimeUsec,omitempty,string"`
  5166  	// Fingerprint: A SHA-256 fingerprint of the SSH public key. (Read-only)
  5167  	Fingerprint string `json:"fingerprint,omitempty"`
  5168  	// Key: An SSH public key.
  5169  	Key string `json:"key,omitempty"`
  5170  	// ForceSendFields is a list of field names (e.g. "ExpirationTimeUsec") to
  5171  	// unconditionally include in API requests. By default, fields with empty or
  5172  	// default values are omitted from API requests. See
  5173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5174  	// details.
  5175  	ForceSendFields []string `json:"-"`
  5176  	// NullFields is a list of field names (e.g. "ExpirationTimeUsec") to include
  5177  	// in API requests with the JSON null value. By default, fields with empty
  5178  	// values are omitted from API requests. See
  5179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5180  	NullFields []string `json:"-"`
  5181  }
  5182  
  5183  func (s *UserSshPublicKey) MarshalJSON() ([]byte, error) {
  5184  	type NoMethod UserSshPublicKey
  5185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5186  }
  5187  
  5188  type UserUndelete struct {
  5189  	// OrgUnitPath: OrgUnit of User
  5190  	OrgUnitPath string `json:"orgUnitPath,omitempty"`
  5191  	// ForceSendFields is a list of field names (e.g. "OrgUnitPath") to
  5192  	// unconditionally include in API requests. By default, fields with empty or
  5193  	// default values are omitted from API requests. See
  5194  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5195  	// details.
  5196  	ForceSendFields []string `json:"-"`
  5197  	// NullFields is a list of field names (e.g. "OrgUnitPath") to include in API
  5198  	// requests with the JSON null value. By default, fields with empty values are
  5199  	// omitted from API requests. See
  5200  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5201  	NullFields []string `json:"-"`
  5202  }
  5203  
  5204  func (s *UserUndelete) MarshalJSON() ([]byte, error) {
  5205  	type NoMethod UserUndelete
  5206  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5207  }
  5208  
  5209  // UserWebsite: JSON template for a website entry.
  5210  type UserWebsite struct {
  5211  	// CustomType: Custom Type.
  5212  	CustomType string `json:"customType,omitempty"`
  5213  	// Primary: If this is user's primary website or not.
  5214  	Primary bool `json:"primary,omitempty"`
  5215  	// Type: Each entry can have a type which indicates standard types of that
  5216  	// entry. For example website could be of home work blog etc. In addition to
  5217  	// the standard type an entry can have a custom type and can give it any name.
  5218  	// Such types should have the CUSTOM value as type and also have a customType
  5219  	// value.
  5220  	Type string `json:"type,omitempty"`
  5221  	// Value: Website.
  5222  	Value string `json:"value,omitempty"`
  5223  	// ForceSendFields is a list of field names (e.g. "CustomType") to
  5224  	// unconditionally include in API requests. By default, fields with empty or
  5225  	// default values are omitted from API requests. See
  5226  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5227  	// details.
  5228  	ForceSendFields []string `json:"-"`
  5229  	// NullFields is a list of field names (e.g. "CustomType") to include in API
  5230  	// requests with the JSON null value. By default, fields with empty values are
  5231  	// omitted from API requests. See
  5232  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5233  	NullFields []string `json:"-"`
  5234  }
  5235  
  5236  func (s *UserWebsite) MarshalJSON() ([]byte, error) {
  5237  	type NoMethod UserWebsite
  5238  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5239  }
  5240  
  5241  type Users struct {
  5242  	// Etag: ETag of the resource.
  5243  	Etag string `json:"etag,omitempty"`
  5244  	// Kind: Kind of resource this is.
  5245  	Kind string `json:"kind,omitempty"`
  5246  	// NextPageToken: Token used to access next page of this result.
  5247  	NextPageToken string `json:"nextPageToken,omitempty"`
  5248  	// TriggerEvent: Event that triggered this response (only used in case of Push
  5249  	// Response)
  5250  	TriggerEvent string `json:"trigger_event,omitempty"`
  5251  	// Users: A list of user objects.
  5252  	Users []*User `json:"users,omitempty"`
  5253  
  5254  	// ServerResponse contains the HTTP response code and headers from the server.
  5255  	googleapi.ServerResponse `json:"-"`
  5256  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  5257  	// include in API requests. By default, fields with empty or default values are
  5258  	// omitted from API requests. See
  5259  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5260  	// details.
  5261  	ForceSendFields []string `json:"-"`
  5262  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  5263  	// with the JSON null value. By default, fields with empty values are omitted
  5264  	// from API requests. See
  5265  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5266  	NullFields []string `json:"-"`
  5267  }
  5268  
  5269  func (s *Users) MarshalJSON() ([]byte, error) {
  5270  	type NoMethod Users
  5271  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5272  }
  5273  
  5274  // VerificationCode: The Directory API allows you to view, generate, and
  5275  // invalidate backup verification codes for a user.
  5276  type VerificationCode struct {
  5277  	// Etag: ETag of the resource.
  5278  	Etag string `json:"etag,omitempty"`
  5279  	// Kind: The type of the resource. This is always
  5280  	// `admin#directory#verificationCode`.
  5281  	Kind string `json:"kind,omitempty"`
  5282  	// UserId: The obfuscated unique ID of the user.
  5283  	UserId string `json:"userId,omitempty"`
  5284  	// VerificationCode: A current verification code for the user. Invalidated or
  5285  	// used verification codes are not returned as part of the result.
  5286  	VerificationCode string `json:"verificationCode,omitempty"`
  5287  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  5288  	// include in API requests. By default, fields with empty or default values are
  5289  	// omitted from API requests. See
  5290  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5291  	// details.
  5292  	ForceSendFields []string `json:"-"`
  5293  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  5294  	// with the JSON null value. By default, fields with empty values are omitted
  5295  	// from API requests. See
  5296  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5297  	NullFields []string `json:"-"`
  5298  }
  5299  
  5300  func (s *VerificationCode) MarshalJSON() ([]byte, error) {
  5301  	type NoMethod VerificationCode
  5302  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5303  }
  5304  
  5305  // VerificationCodes: JSON response template for list verification codes
  5306  // operation in Directory API.
  5307  type VerificationCodes struct {
  5308  	// Etag: ETag of the resource.
  5309  	Etag string `json:"etag,omitempty"`
  5310  	// Items: A list of verification code resources.
  5311  	Items []*VerificationCode `json:"items,omitempty"`
  5312  	// Kind: The type of the resource. This is always
  5313  	// `admin#directory#verificationCodesList`.
  5314  	Kind string `json:"kind,omitempty"`
  5315  
  5316  	// ServerResponse contains the HTTP response code and headers from the server.
  5317  	googleapi.ServerResponse `json:"-"`
  5318  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  5319  	// include in API requests. By default, fields with empty or default values are
  5320  	// omitted from API requests. See
  5321  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5322  	// details.
  5323  	ForceSendFields []string `json:"-"`
  5324  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  5325  	// with the JSON null value. By default, fields with empty values are omitted
  5326  	// from API requests. See
  5327  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5328  	NullFields []string `json:"-"`
  5329  }
  5330  
  5331  func (s *VerificationCodes) MarshalJSON() ([]byte, error) {
  5332  	type NoMethod VerificationCodes
  5333  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5334  }
  5335  
  5336  type AspsDeleteCall struct {
  5337  	s          *Service
  5338  	userKey    string
  5339  	codeId     int64
  5340  	urlParams_ gensupport.URLParams
  5341  	ctx_       context.Context
  5342  	header_    http.Header
  5343  }
  5344  
  5345  // Delete: Deletes an ASP issued by a user.
  5346  //
  5347  //   - codeId: The unique ID of the ASP to be deleted.
  5348  //   - userKey: Identifies the user in the API request. The value can be the
  5349  //     user's primary email address, alias email address, or unique user ID.
  5350  func (r *AspsService) Delete(userKey string, codeId int64) *AspsDeleteCall {
  5351  	c := &AspsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5352  	c.userKey = userKey
  5353  	c.codeId = codeId
  5354  	return c
  5355  }
  5356  
  5357  // Fields allows partial responses to be retrieved. See
  5358  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5359  // details.
  5360  func (c *AspsDeleteCall) Fields(s ...googleapi.Field) *AspsDeleteCall {
  5361  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5362  	return c
  5363  }
  5364  
  5365  // Context sets the context to be used in this call's Do method.
  5366  func (c *AspsDeleteCall) Context(ctx context.Context) *AspsDeleteCall {
  5367  	c.ctx_ = ctx
  5368  	return c
  5369  }
  5370  
  5371  // Header returns a http.Header that can be modified by the caller to add
  5372  // headers to the request.
  5373  func (c *AspsDeleteCall) Header() http.Header {
  5374  	if c.header_ == nil {
  5375  		c.header_ = make(http.Header)
  5376  	}
  5377  	return c.header_
  5378  }
  5379  
  5380  func (c *AspsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5382  	var body io.Reader = nil
  5383  	c.urlParams_.Set("alt", alt)
  5384  	c.urlParams_.Set("prettyPrint", "false")
  5385  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/asps/{codeId}")
  5386  	urls += "?" + c.urlParams_.Encode()
  5387  	req, err := http.NewRequest("DELETE", urls, body)
  5388  	if err != nil {
  5389  		return nil, err
  5390  	}
  5391  	req.Header = reqHeaders
  5392  	googleapi.Expand(req.URL, map[string]string{
  5393  		"userKey": c.userKey,
  5394  		"codeId":  strconv.FormatInt(c.codeId, 10),
  5395  	})
  5396  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5397  }
  5398  
  5399  // Do executes the "directory.asps.delete" call.
  5400  func (c *AspsDeleteCall) Do(opts ...googleapi.CallOption) error {
  5401  	gensupport.SetOptions(c.urlParams_, opts...)
  5402  	res, err := c.doRequest("json")
  5403  	if err != nil {
  5404  		return err
  5405  	}
  5406  	defer googleapi.CloseBody(res)
  5407  	if err := googleapi.CheckResponse(res); err != nil {
  5408  		return gensupport.WrapError(err)
  5409  	}
  5410  	return nil
  5411  }
  5412  
  5413  type AspsGetCall struct {
  5414  	s            *Service
  5415  	userKey      string
  5416  	codeId       int64
  5417  	urlParams_   gensupport.URLParams
  5418  	ifNoneMatch_ string
  5419  	ctx_         context.Context
  5420  	header_      http.Header
  5421  }
  5422  
  5423  // Get: Gets information about an ASP issued by a user.
  5424  //
  5425  //   - codeId: The unique ID of the ASP.
  5426  //   - userKey: Identifies the user in the API request. The value can be the
  5427  //     user's primary email address, alias email address, or unique user ID.
  5428  func (r *AspsService) Get(userKey string, codeId int64) *AspsGetCall {
  5429  	c := &AspsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5430  	c.userKey = userKey
  5431  	c.codeId = codeId
  5432  	return c
  5433  }
  5434  
  5435  // Fields allows partial responses to be retrieved. See
  5436  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5437  // details.
  5438  func (c *AspsGetCall) Fields(s ...googleapi.Field) *AspsGetCall {
  5439  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5440  	return c
  5441  }
  5442  
  5443  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5444  // object's ETag matches the given value. This is useful for getting updates
  5445  // only after the object has changed since the last request.
  5446  func (c *AspsGetCall) IfNoneMatch(entityTag string) *AspsGetCall {
  5447  	c.ifNoneMatch_ = entityTag
  5448  	return c
  5449  }
  5450  
  5451  // Context sets the context to be used in this call's Do method.
  5452  func (c *AspsGetCall) Context(ctx context.Context) *AspsGetCall {
  5453  	c.ctx_ = ctx
  5454  	return c
  5455  }
  5456  
  5457  // Header returns a http.Header that can be modified by the caller to add
  5458  // headers to the request.
  5459  func (c *AspsGetCall) Header() http.Header {
  5460  	if c.header_ == nil {
  5461  		c.header_ = make(http.Header)
  5462  	}
  5463  	return c.header_
  5464  }
  5465  
  5466  func (c *AspsGetCall) doRequest(alt string) (*http.Response, error) {
  5467  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5468  	if c.ifNoneMatch_ != "" {
  5469  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5470  	}
  5471  	var body io.Reader = nil
  5472  	c.urlParams_.Set("alt", alt)
  5473  	c.urlParams_.Set("prettyPrint", "false")
  5474  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/asps/{codeId}")
  5475  	urls += "?" + c.urlParams_.Encode()
  5476  	req, err := http.NewRequest("GET", urls, body)
  5477  	if err != nil {
  5478  		return nil, err
  5479  	}
  5480  	req.Header = reqHeaders
  5481  	googleapi.Expand(req.URL, map[string]string{
  5482  		"userKey": c.userKey,
  5483  		"codeId":  strconv.FormatInt(c.codeId, 10),
  5484  	})
  5485  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5486  }
  5487  
  5488  // Do executes the "directory.asps.get" call.
  5489  // Any non-2xx status code is an error. Response headers are in either
  5490  // *Asp.ServerResponse.Header or (if a response was returned at all) in
  5491  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5492  // whether the returned error was because http.StatusNotModified was returned.
  5493  func (c *AspsGetCall) Do(opts ...googleapi.CallOption) (*Asp, error) {
  5494  	gensupport.SetOptions(c.urlParams_, opts...)
  5495  	res, err := c.doRequest("json")
  5496  	if res != nil && res.StatusCode == http.StatusNotModified {
  5497  		if res.Body != nil {
  5498  			res.Body.Close()
  5499  		}
  5500  		return nil, gensupport.WrapError(&googleapi.Error{
  5501  			Code:   res.StatusCode,
  5502  			Header: res.Header,
  5503  		})
  5504  	}
  5505  	if err != nil {
  5506  		return nil, err
  5507  	}
  5508  	defer googleapi.CloseBody(res)
  5509  	if err := googleapi.CheckResponse(res); err != nil {
  5510  		return nil, gensupport.WrapError(err)
  5511  	}
  5512  	ret := &Asp{
  5513  		ServerResponse: googleapi.ServerResponse{
  5514  			Header:         res.Header,
  5515  			HTTPStatusCode: res.StatusCode,
  5516  		},
  5517  	}
  5518  	target := &ret
  5519  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5520  		return nil, err
  5521  	}
  5522  	return ret, nil
  5523  }
  5524  
  5525  type AspsListCall struct {
  5526  	s            *Service
  5527  	userKey      string
  5528  	urlParams_   gensupport.URLParams
  5529  	ifNoneMatch_ string
  5530  	ctx_         context.Context
  5531  	header_      http.Header
  5532  }
  5533  
  5534  // List: Lists the ASPs issued by a user.
  5535  //
  5536  //   - userKey: Identifies the user in the API request. The value can be the
  5537  //     user's primary email address, alias email address, or unique user ID.
  5538  func (r *AspsService) List(userKey string) *AspsListCall {
  5539  	c := &AspsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5540  	c.userKey = userKey
  5541  	return c
  5542  }
  5543  
  5544  // Fields allows partial responses to be retrieved. See
  5545  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5546  // details.
  5547  func (c *AspsListCall) Fields(s ...googleapi.Field) *AspsListCall {
  5548  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5549  	return c
  5550  }
  5551  
  5552  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5553  // object's ETag matches the given value. This is useful for getting updates
  5554  // only after the object has changed since the last request.
  5555  func (c *AspsListCall) IfNoneMatch(entityTag string) *AspsListCall {
  5556  	c.ifNoneMatch_ = entityTag
  5557  	return c
  5558  }
  5559  
  5560  // Context sets the context to be used in this call's Do method.
  5561  func (c *AspsListCall) Context(ctx context.Context) *AspsListCall {
  5562  	c.ctx_ = ctx
  5563  	return c
  5564  }
  5565  
  5566  // Header returns a http.Header that can be modified by the caller to add
  5567  // headers to the request.
  5568  func (c *AspsListCall) Header() http.Header {
  5569  	if c.header_ == nil {
  5570  		c.header_ = make(http.Header)
  5571  	}
  5572  	return c.header_
  5573  }
  5574  
  5575  func (c *AspsListCall) doRequest(alt string) (*http.Response, error) {
  5576  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5577  	if c.ifNoneMatch_ != "" {
  5578  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5579  	}
  5580  	var body io.Reader = nil
  5581  	c.urlParams_.Set("alt", alt)
  5582  	c.urlParams_.Set("prettyPrint", "false")
  5583  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/asps")
  5584  	urls += "?" + c.urlParams_.Encode()
  5585  	req, err := http.NewRequest("GET", urls, body)
  5586  	if err != nil {
  5587  		return nil, err
  5588  	}
  5589  	req.Header = reqHeaders
  5590  	googleapi.Expand(req.URL, map[string]string{
  5591  		"userKey": c.userKey,
  5592  	})
  5593  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5594  }
  5595  
  5596  // Do executes the "directory.asps.list" call.
  5597  // Any non-2xx status code is an error. Response headers are in either
  5598  // *Asps.ServerResponse.Header or (if a response was returned at all) in
  5599  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5600  // whether the returned error was because http.StatusNotModified was returned.
  5601  func (c *AspsListCall) Do(opts ...googleapi.CallOption) (*Asps, error) {
  5602  	gensupport.SetOptions(c.urlParams_, opts...)
  5603  	res, err := c.doRequest("json")
  5604  	if res != nil && res.StatusCode == http.StatusNotModified {
  5605  		if res.Body != nil {
  5606  			res.Body.Close()
  5607  		}
  5608  		return nil, gensupport.WrapError(&googleapi.Error{
  5609  			Code:   res.StatusCode,
  5610  			Header: res.Header,
  5611  		})
  5612  	}
  5613  	if err != nil {
  5614  		return nil, err
  5615  	}
  5616  	defer googleapi.CloseBody(res)
  5617  	if err := googleapi.CheckResponse(res); err != nil {
  5618  		return nil, gensupport.WrapError(err)
  5619  	}
  5620  	ret := &Asps{
  5621  		ServerResponse: googleapi.ServerResponse{
  5622  			Header:         res.Header,
  5623  			HTTPStatusCode: res.StatusCode,
  5624  		},
  5625  	}
  5626  	target := &ret
  5627  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5628  		return nil, err
  5629  	}
  5630  	return ret, nil
  5631  }
  5632  
  5633  type ChannelsStopCall struct {
  5634  	s          *Service
  5635  	channel    *Channel
  5636  	urlParams_ gensupport.URLParams
  5637  	ctx_       context.Context
  5638  	header_    http.Header
  5639  }
  5640  
  5641  // Stop: Stops watching resources through this channel.
  5642  func (r *ChannelsService) Stop(channel *Channel) *ChannelsStopCall {
  5643  	c := &ChannelsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5644  	c.channel = channel
  5645  	return c
  5646  }
  5647  
  5648  // Fields allows partial responses to be retrieved. See
  5649  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5650  // details.
  5651  func (c *ChannelsStopCall) Fields(s ...googleapi.Field) *ChannelsStopCall {
  5652  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5653  	return c
  5654  }
  5655  
  5656  // Context sets the context to be used in this call's Do method.
  5657  func (c *ChannelsStopCall) Context(ctx context.Context) *ChannelsStopCall {
  5658  	c.ctx_ = ctx
  5659  	return c
  5660  }
  5661  
  5662  // Header returns a http.Header that can be modified by the caller to add
  5663  // headers to the request.
  5664  func (c *ChannelsStopCall) Header() http.Header {
  5665  	if c.header_ == nil {
  5666  		c.header_ = make(http.Header)
  5667  	}
  5668  	return c.header_
  5669  }
  5670  
  5671  func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
  5672  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5673  	var body io.Reader = nil
  5674  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
  5675  	if err != nil {
  5676  		return nil, err
  5677  	}
  5678  	c.urlParams_.Set("alt", alt)
  5679  	c.urlParams_.Set("prettyPrint", "false")
  5680  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory_v1/channels/stop")
  5681  	urls += "?" + c.urlParams_.Encode()
  5682  	req, err := http.NewRequest("POST", urls, body)
  5683  	if err != nil {
  5684  		return nil, err
  5685  	}
  5686  	req.Header = reqHeaders
  5687  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5688  }
  5689  
  5690  // Do executes the "admin.channels.stop" call.
  5691  func (c *ChannelsStopCall) Do(opts ...googleapi.CallOption) error {
  5692  	gensupport.SetOptions(c.urlParams_, opts...)
  5693  	res, err := c.doRequest("json")
  5694  	if err != nil {
  5695  		return err
  5696  	}
  5697  	defer googleapi.CloseBody(res)
  5698  	if err := googleapi.CheckResponse(res); err != nil {
  5699  		return gensupport.WrapError(err)
  5700  	}
  5701  	return nil
  5702  }
  5703  
  5704  type ChromeosdevicesActionCall struct {
  5705  	s                    *Service
  5706  	customerId           string
  5707  	resourceId           string
  5708  	chromeosdeviceaction *ChromeOsDeviceAction
  5709  	urlParams_           gensupport.URLParams
  5710  	ctx_                 context.Context
  5711  	header_              http.Header
  5712  }
  5713  
  5714  // Action: Use BatchChangeChromeOsDeviceStatus
  5715  // (/admin-sdk/directory/reference/rest/v1/customer.devices.chromeos/batchChange
  5716  // Status) instead. Takes an action that affects a Chrome OS Device. This
  5717  // includes deprovisioning, disabling, and re-enabling devices. *Warning:* *
  5718  // Deprovisioning a device will stop device policy syncing and remove
  5719  // device-level printers. After a device is deprovisioned, it must be wiped
  5720  // before it can be re-enrolled. * Lost or stolen devices should use the
  5721  // disable action. * Re-enabling a disabled device will consume a device
  5722  // license. If you do not have sufficient licenses available when completing
  5723  // the re-enable action, you will receive an error. For more information about
  5724  // deprovisioning and disabling devices, visit the help center
  5725  // (https://support.google.com/chrome/a/answer/3523633).
  5726  //
  5727  //   - customerId: The unique ID for the customer's Google Workspace account. As
  5728  //     an account administrator, you can also use the `my_customer` alias to
  5729  //     represent your account's `customerId`. The `customerId` is also returned
  5730  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
  5731  //   - resourceId: The unique ID of the device. The `resourceId`s are returned in
  5732  //     the response from the chromeosdevices.list
  5733  //     (/admin-sdk/directory/v1/reference/chromeosdevices/list) method.
  5734  func (r *ChromeosdevicesService) Action(customerId string, resourceId string, chromeosdeviceaction *ChromeOsDeviceAction) *ChromeosdevicesActionCall {
  5735  	c := &ChromeosdevicesActionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5736  	c.customerId = customerId
  5737  	c.resourceId = resourceId
  5738  	c.chromeosdeviceaction = chromeosdeviceaction
  5739  	return c
  5740  }
  5741  
  5742  // Fields allows partial responses to be retrieved. See
  5743  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5744  // details.
  5745  func (c *ChromeosdevicesActionCall) Fields(s ...googleapi.Field) *ChromeosdevicesActionCall {
  5746  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5747  	return c
  5748  }
  5749  
  5750  // Context sets the context to be used in this call's Do method.
  5751  func (c *ChromeosdevicesActionCall) Context(ctx context.Context) *ChromeosdevicesActionCall {
  5752  	c.ctx_ = ctx
  5753  	return c
  5754  }
  5755  
  5756  // Header returns a http.Header that can be modified by the caller to add
  5757  // headers to the request.
  5758  func (c *ChromeosdevicesActionCall) Header() http.Header {
  5759  	if c.header_ == nil {
  5760  		c.header_ = make(http.Header)
  5761  	}
  5762  	return c.header_
  5763  }
  5764  
  5765  func (c *ChromeosdevicesActionCall) doRequest(alt string) (*http.Response, error) {
  5766  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5767  	var body io.Reader = nil
  5768  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.chromeosdeviceaction)
  5769  	if err != nil {
  5770  		return nil, err
  5771  	}
  5772  	c.urlParams_.Set("alt", alt)
  5773  	c.urlParams_.Set("prettyPrint", "false")
  5774  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action")
  5775  	urls += "?" + c.urlParams_.Encode()
  5776  	req, err := http.NewRequest("POST", urls, body)
  5777  	if err != nil {
  5778  		return nil, err
  5779  	}
  5780  	req.Header = reqHeaders
  5781  	googleapi.Expand(req.URL, map[string]string{
  5782  		"customerId": c.customerId,
  5783  		"resourceId": c.resourceId,
  5784  	})
  5785  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5786  }
  5787  
  5788  // Do executes the "directory.chromeosdevices.action" call.
  5789  func (c *ChromeosdevicesActionCall) Do(opts ...googleapi.CallOption) error {
  5790  	gensupport.SetOptions(c.urlParams_, opts...)
  5791  	res, err := c.doRequest("json")
  5792  	if err != nil {
  5793  		return err
  5794  	}
  5795  	defer googleapi.CloseBody(res)
  5796  	if err := googleapi.CheckResponse(res); err != nil {
  5797  		return gensupport.WrapError(err)
  5798  	}
  5799  	return nil
  5800  }
  5801  
  5802  type ChromeosdevicesGetCall struct {
  5803  	s            *Service
  5804  	customerId   string
  5805  	deviceId     string
  5806  	urlParams_   gensupport.URLParams
  5807  	ifNoneMatch_ string
  5808  	ctx_         context.Context
  5809  	header_      http.Header
  5810  }
  5811  
  5812  // Get: Retrieves a Chrome OS device's properties.
  5813  //
  5814  //   - customerId: The unique ID for the customer's Google Workspace account. As
  5815  //     an account administrator, you can also use the `my_customer` alias to
  5816  //     represent your account's `customerId`. The `customerId` is also returned
  5817  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
  5818  //   - deviceId: The unique ID of the device. The `deviceId`s are returned in the
  5819  //     response from the chromeosdevices.list
  5820  //     (/admin-sdk/directory/v1/reference/chromeosdevices/list) method.
  5821  func (r *ChromeosdevicesService) Get(customerId string, deviceId string) *ChromeosdevicesGetCall {
  5822  	c := &ChromeosdevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5823  	c.customerId = customerId
  5824  	c.deviceId = deviceId
  5825  	return c
  5826  }
  5827  
  5828  // Projection sets the optional parameter "projection": Determines whether the
  5829  // response contains the full list of properties or only a subset.
  5830  //
  5831  // Possible values:
  5832  //
  5833  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId,
  5834  //
  5835  // serialNumber, status, and user)
  5836  //
  5837  //	"FULL" - Includes all metadata fields
  5838  func (c *ChromeosdevicesGetCall) Projection(projection string) *ChromeosdevicesGetCall {
  5839  	c.urlParams_.Set("projection", projection)
  5840  	return c
  5841  }
  5842  
  5843  // Fields allows partial responses to be retrieved. See
  5844  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5845  // details.
  5846  func (c *ChromeosdevicesGetCall) Fields(s ...googleapi.Field) *ChromeosdevicesGetCall {
  5847  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5848  	return c
  5849  }
  5850  
  5851  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5852  // object's ETag matches the given value. This is useful for getting updates
  5853  // only after the object has changed since the last request.
  5854  func (c *ChromeosdevicesGetCall) IfNoneMatch(entityTag string) *ChromeosdevicesGetCall {
  5855  	c.ifNoneMatch_ = entityTag
  5856  	return c
  5857  }
  5858  
  5859  // Context sets the context to be used in this call's Do method.
  5860  func (c *ChromeosdevicesGetCall) Context(ctx context.Context) *ChromeosdevicesGetCall {
  5861  	c.ctx_ = ctx
  5862  	return c
  5863  }
  5864  
  5865  // Header returns a http.Header that can be modified by the caller to add
  5866  // headers to the request.
  5867  func (c *ChromeosdevicesGetCall) Header() http.Header {
  5868  	if c.header_ == nil {
  5869  		c.header_ = make(http.Header)
  5870  	}
  5871  	return c.header_
  5872  }
  5873  
  5874  func (c *ChromeosdevicesGetCall) doRequest(alt string) (*http.Response, error) {
  5875  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5876  	if c.ifNoneMatch_ != "" {
  5877  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5878  	}
  5879  	var body io.Reader = nil
  5880  	c.urlParams_.Set("alt", alt)
  5881  	c.urlParams_.Set("prettyPrint", "false")
  5882  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}")
  5883  	urls += "?" + c.urlParams_.Encode()
  5884  	req, err := http.NewRequest("GET", urls, body)
  5885  	if err != nil {
  5886  		return nil, err
  5887  	}
  5888  	req.Header = reqHeaders
  5889  	googleapi.Expand(req.URL, map[string]string{
  5890  		"customerId": c.customerId,
  5891  		"deviceId":   c.deviceId,
  5892  	})
  5893  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5894  }
  5895  
  5896  // Do executes the "directory.chromeosdevices.get" call.
  5897  // Any non-2xx status code is an error. Response headers are in either
  5898  // *ChromeOsDevice.ServerResponse.Header or (if a response was returned at all)
  5899  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5900  // whether the returned error was because http.StatusNotModified was returned.
  5901  func (c *ChromeosdevicesGetCall) Do(opts ...googleapi.CallOption) (*ChromeOsDevice, error) {
  5902  	gensupport.SetOptions(c.urlParams_, opts...)
  5903  	res, err := c.doRequest("json")
  5904  	if res != nil && res.StatusCode == http.StatusNotModified {
  5905  		if res.Body != nil {
  5906  			res.Body.Close()
  5907  		}
  5908  		return nil, gensupport.WrapError(&googleapi.Error{
  5909  			Code:   res.StatusCode,
  5910  			Header: res.Header,
  5911  		})
  5912  	}
  5913  	if err != nil {
  5914  		return nil, err
  5915  	}
  5916  	defer googleapi.CloseBody(res)
  5917  	if err := googleapi.CheckResponse(res); err != nil {
  5918  		return nil, gensupport.WrapError(err)
  5919  	}
  5920  	ret := &ChromeOsDevice{
  5921  		ServerResponse: googleapi.ServerResponse{
  5922  			Header:         res.Header,
  5923  			HTTPStatusCode: res.StatusCode,
  5924  		},
  5925  	}
  5926  	target := &ret
  5927  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5928  		return nil, err
  5929  	}
  5930  	return ret, nil
  5931  }
  5932  
  5933  type ChromeosdevicesListCall struct {
  5934  	s            *Service
  5935  	customerId   string
  5936  	urlParams_   gensupport.URLParams
  5937  	ifNoneMatch_ string
  5938  	ctx_         context.Context
  5939  	header_      http.Header
  5940  }
  5941  
  5942  // List: Retrieves a paginated list of Chrome OS devices within an account.
  5943  //
  5944  //   - customerId: The unique ID for the customer's Google Workspace account. As
  5945  //     an account administrator, you can also use the `my_customer` alias to
  5946  //     represent your account's `customerId`. The `customerId` is also returned
  5947  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
  5948  func (r *ChromeosdevicesService) List(customerId string) *ChromeosdevicesListCall {
  5949  	c := &ChromeosdevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5950  	c.customerId = customerId
  5951  	return c
  5952  }
  5953  
  5954  // IncludeChildOrgunits sets the optional parameter "includeChildOrgunits":
  5955  // Return devices from all child orgunits, as well as the specified org unit.
  5956  // If this is set to true, 'orgUnitPath' must be provided.
  5957  func (c *ChromeosdevicesListCall) IncludeChildOrgunits(includeChildOrgunits bool) *ChromeosdevicesListCall {
  5958  	c.urlParams_.Set("includeChildOrgunits", fmt.Sprint(includeChildOrgunits))
  5959  	return c
  5960  }
  5961  
  5962  // MaxResults sets the optional parameter "maxResults": Maximum number of
  5963  // results to return, value should not exceed 300.
  5964  func (c *ChromeosdevicesListCall) MaxResults(maxResults int64) *ChromeosdevicesListCall {
  5965  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  5966  	return c
  5967  }
  5968  
  5969  // OrderBy sets the optional parameter "orderBy": Device property to use for
  5970  // sorting results.
  5971  //
  5972  // Possible values:
  5973  //
  5974  //	"annotatedLocation" - Chrome device location as annotated by the
  5975  //
  5976  // administrator.
  5977  //
  5978  //	"annotatedUser" - Chromebook user as annotated by administrator.
  5979  //	"lastSync" - The date and time the Chrome device was last synchronized
  5980  //
  5981  // with the policy settings in the Admin console.
  5982  //
  5983  //	"notes" - Chrome device notes as annotated by the administrator.
  5984  //	"serialNumber" - The Chrome device serial number entered when the device
  5985  //
  5986  // was enabled.
  5987  //
  5988  //	"status" - Chrome device status. For more information, see the <a
  5989  //
  5990  // [chromeosdevices](/admin-sdk/directory/v1/reference/chromeosdevices.html).
  5991  func (c *ChromeosdevicesListCall) OrderBy(orderBy string) *ChromeosdevicesListCall {
  5992  	c.urlParams_.Set("orderBy", orderBy)
  5993  	return c
  5994  }
  5995  
  5996  // OrgUnitPath sets the optional parameter "orgUnitPath": The full path of the
  5997  // organizational unit (minus the leading `/`) or its unique ID.
  5998  func (c *ChromeosdevicesListCall) OrgUnitPath(orgUnitPath string) *ChromeosdevicesListCall {
  5999  	c.urlParams_.Set("orgUnitPath", orgUnitPath)
  6000  	return c
  6001  }
  6002  
  6003  // PageToken sets the optional parameter "pageToken": The `pageToken` query
  6004  // parameter is used to request the next page of query results. The follow-on
  6005  // request's `pageToken` query parameter is the `nextPageToken` from your
  6006  // previous response.
  6007  func (c *ChromeosdevicesListCall) PageToken(pageToken string) *ChromeosdevicesListCall {
  6008  	c.urlParams_.Set("pageToken", pageToken)
  6009  	return c
  6010  }
  6011  
  6012  // Projection sets the optional parameter "projection": Determines whether the
  6013  // response contains the full list of properties or only a subset.
  6014  //
  6015  // Possible values:
  6016  //
  6017  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId,
  6018  //
  6019  // serialNumber, status, and user)
  6020  //
  6021  //	"FULL" - Includes all metadata fields
  6022  func (c *ChromeosdevicesListCall) Projection(projection string) *ChromeosdevicesListCall {
  6023  	c.urlParams_.Set("projection", projection)
  6024  	return c
  6025  }
  6026  
  6027  // Query sets the optional parameter "query": Search string in the format given
  6028  // at https://developers.google.com/admin-sdk/directory/v1/list-query-operators
  6029  func (c *ChromeosdevicesListCall) Query(query string) *ChromeosdevicesListCall {
  6030  	c.urlParams_.Set("query", query)
  6031  	return c
  6032  }
  6033  
  6034  // SortOrder sets the optional parameter "sortOrder": Whether to return results
  6035  // in ascending or descending order. Must be used with the `orderBy` parameter.
  6036  //
  6037  // Possible values:
  6038  //
  6039  //	"ASCENDING" - Ascending order.
  6040  //	"DESCENDING" - Descending order.
  6041  func (c *ChromeosdevicesListCall) SortOrder(sortOrder string) *ChromeosdevicesListCall {
  6042  	c.urlParams_.Set("sortOrder", sortOrder)
  6043  	return c
  6044  }
  6045  
  6046  // Fields allows partial responses to be retrieved. See
  6047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6048  // details.
  6049  func (c *ChromeosdevicesListCall) Fields(s ...googleapi.Field) *ChromeosdevicesListCall {
  6050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6051  	return c
  6052  }
  6053  
  6054  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6055  // object's ETag matches the given value. This is useful for getting updates
  6056  // only after the object has changed since the last request.
  6057  func (c *ChromeosdevicesListCall) IfNoneMatch(entityTag string) *ChromeosdevicesListCall {
  6058  	c.ifNoneMatch_ = entityTag
  6059  	return c
  6060  }
  6061  
  6062  // Context sets the context to be used in this call's Do method.
  6063  func (c *ChromeosdevicesListCall) Context(ctx context.Context) *ChromeosdevicesListCall {
  6064  	c.ctx_ = ctx
  6065  	return c
  6066  }
  6067  
  6068  // Header returns a http.Header that can be modified by the caller to add
  6069  // headers to the request.
  6070  func (c *ChromeosdevicesListCall) Header() http.Header {
  6071  	if c.header_ == nil {
  6072  		c.header_ = make(http.Header)
  6073  	}
  6074  	return c.header_
  6075  }
  6076  
  6077  func (c *ChromeosdevicesListCall) doRequest(alt string) (*http.Response, error) {
  6078  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6079  	if c.ifNoneMatch_ != "" {
  6080  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6081  	}
  6082  	var body io.Reader = nil
  6083  	c.urlParams_.Set("alt", alt)
  6084  	c.urlParams_.Set("prettyPrint", "false")
  6085  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos")
  6086  	urls += "?" + c.urlParams_.Encode()
  6087  	req, err := http.NewRequest("GET", urls, body)
  6088  	if err != nil {
  6089  		return nil, err
  6090  	}
  6091  	req.Header = reqHeaders
  6092  	googleapi.Expand(req.URL, map[string]string{
  6093  		"customerId": c.customerId,
  6094  	})
  6095  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6096  }
  6097  
  6098  // Do executes the "directory.chromeosdevices.list" call.
  6099  // Any non-2xx status code is an error. Response headers are in either
  6100  // *ChromeOsDevices.ServerResponse.Header or (if a response was returned at
  6101  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6102  // check whether the returned error was because http.StatusNotModified was
  6103  // returned.
  6104  func (c *ChromeosdevicesListCall) Do(opts ...googleapi.CallOption) (*ChromeOsDevices, error) {
  6105  	gensupport.SetOptions(c.urlParams_, opts...)
  6106  	res, err := c.doRequest("json")
  6107  	if res != nil && res.StatusCode == http.StatusNotModified {
  6108  		if res.Body != nil {
  6109  			res.Body.Close()
  6110  		}
  6111  		return nil, gensupport.WrapError(&googleapi.Error{
  6112  			Code:   res.StatusCode,
  6113  			Header: res.Header,
  6114  		})
  6115  	}
  6116  	if err != nil {
  6117  		return nil, err
  6118  	}
  6119  	defer googleapi.CloseBody(res)
  6120  	if err := googleapi.CheckResponse(res); err != nil {
  6121  		return nil, gensupport.WrapError(err)
  6122  	}
  6123  	ret := &ChromeOsDevices{
  6124  		ServerResponse: googleapi.ServerResponse{
  6125  			Header:         res.Header,
  6126  			HTTPStatusCode: res.StatusCode,
  6127  		},
  6128  	}
  6129  	target := &ret
  6130  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6131  		return nil, err
  6132  	}
  6133  	return ret, nil
  6134  }
  6135  
  6136  // Pages invokes f for each page of results.
  6137  // A non-nil error returned from f will halt the iteration.
  6138  // The provided context supersedes any context provided to the Context method.
  6139  func (c *ChromeosdevicesListCall) Pages(ctx context.Context, f func(*ChromeOsDevices) error) error {
  6140  	c.ctx_ = ctx
  6141  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6142  	for {
  6143  		x, err := c.Do()
  6144  		if err != nil {
  6145  			return err
  6146  		}
  6147  		if err := f(x); err != nil {
  6148  			return err
  6149  		}
  6150  		if x.NextPageToken == "" {
  6151  			return nil
  6152  		}
  6153  		c.PageToken(x.NextPageToken)
  6154  	}
  6155  }
  6156  
  6157  type ChromeosdevicesMoveDevicesToOuCall struct {
  6158  	s                       *Service
  6159  	customerId              string
  6160  	chromeosmovedevicestoou *ChromeOsMoveDevicesToOu
  6161  	urlParams_              gensupport.URLParams
  6162  	ctx_                    context.Context
  6163  	header_                 http.Header
  6164  }
  6165  
  6166  // MoveDevicesToOu: Moves or inserts multiple Chrome OS devices to an
  6167  // organizational unit. You can move up to 50 devices at once.
  6168  //
  6169  // - customerId: Immutable. ID of the Google Workspace account.
  6170  // - orgUnitPath: Full path of the target organizational unit or its ID.
  6171  func (r *ChromeosdevicesService) MoveDevicesToOu(customerId string, orgUnitPath string, chromeosmovedevicestoou *ChromeOsMoveDevicesToOu) *ChromeosdevicesMoveDevicesToOuCall {
  6172  	c := &ChromeosdevicesMoveDevicesToOuCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6173  	c.customerId = customerId
  6174  	c.urlParams_.Set("orgUnitPath", orgUnitPath)
  6175  	c.chromeosmovedevicestoou = chromeosmovedevicestoou
  6176  	return c
  6177  }
  6178  
  6179  // Fields allows partial responses to be retrieved. See
  6180  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6181  // details.
  6182  func (c *ChromeosdevicesMoveDevicesToOuCall) Fields(s ...googleapi.Field) *ChromeosdevicesMoveDevicesToOuCall {
  6183  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6184  	return c
  6185  }
  6186  
  6187  // Context sets the context to be used in this call's Do method.
  6188  func (c *ChromeosdevicesMoveDevicesToOuCall) Context(ctx context.Context) *ChromeosdevicesMoveDevicesToOuCall {
  6189  	c.ctx_ = ctx
  6190  	return c
  6191  }
  6192  
  6193  // Header returns a http.Header that can be modified by the caller to add
  6194  // headers to the request.
  6195  func (c *ChromeosdevicesMoveDevicesToOuCall) Header() http.Header {
  6196  	if c.header_ == nil {
  6197  		c.header_ = make(http.Header)
  6198  	}
  6199  	return c.header_
  6200  }
  6201  
  6202  func (c *ChromeosdevicesMoveDevicesToOuCall) doRequest(alt string) (*http.Response, error) {
  6203  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6204  	var body io.Reader = nil
  6205  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.chromeosmovedevicestoou)
  6206  	if err != nil {
  6207  		return nil, err
  6208  	}
  6209  	c.urlParams_.Set("alt", alt)
  6210  	c.urlParams_.Set("prettyPrint", "false")
  6211  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/moveDevicesToOu")
  6212  	urls += "?" + c.urlParams_.Encode()
  6213  	req, err := http.NewRequest("POST", urls, body)
  6214  	if err != nil {
  6215  		return nil, err
  6216  	}
  6217  	req.Header = reqHeaders
  6218  	googleapi.Expand(req.URL, map[string]string{
  6219  		"customerId": c.customerId,
  6220  	})
  6221  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6222  }
  6223  
  6224  // Do executes the "directory.chromeosdevices.moveDevicesToOu" call.
  6225  func (c *ChromeosdevicesMoveDevicesToOuCall) Do(opts ...googleapi.CallOption) error {
  6226  	gensupport.SetOptions(c.urlParams_, opts...)
  6227  	res, err := c.doRequest("json")
  6228  	if err != nil {
  6229  		return err
  6230  	}
  6231  	defer googleapi.CloseBody(res)
  6232  	if err := googleapi.CheckResponse(res); err != nil {
  6233  		return gensupport.WrapError(err)
  6234  	}
  6235  	return nil
  6236  }
  6237  
  6238  type ChromeosdevicesPatchCall struct {
  6239  	s              *Service
  6240  	customerId     string
  6241  	deviceId       string
  6242  	chromeosdevice *ChromeOsDevice
  6243  	urlParams_     gensupport.URLParams
  6244  	ctx_           context.Context
  6245  	header_        http.Header
  6246  }
  6247  
  6248  // Patch: Updates a device's updatable properties, such as `annotatedUser`,
  6249  // `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. This
  6250  // method supports patch semantics
  6251  // (/admin-sdk/directory/v1/guides/performance#patch).
  6252  //
  6253  //   - customerId: The unique ID for the customer's Google Workspace account. As
  6254  //     an account administrator, you can also use the `my_customer` alias to
  6255  //     represent your account's `customerId`. The `customerId` is also returned
  6256  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
  6257  //   - deviceId: The unique ID of the device. The `deviceId`s are returned in the
  6258  //     response from the chromeosdevices.list
  6259  //     (/admin-sdk/v1/reference/chromeosdevices/list) method.
  6260  func (r *ChromeosdevicesService) Patch(customerId string, deviceId string, chromeosdevice *ChromeOsDevice) *ChromeosdevicesPatchCall {
  6261  	c := &ChromeosdevicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6262  	c.customerId = customerId
  6263  	c.deviceId = deviceId
  6264  	c.chromeosdevice = chromeosdevice
  6265  	return c
  6266  }
  6267  
  6268  // Projection sets the optional parameter "projection": Determines whether the
  6269  // response contains the full list of properties or only a subset.
  6270  //
  6271  // Possible values:
  6272  //
  6273  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId,
  6274  //
  6275  // serialNumber, status, and user)
  6276  //
  6277  //	"FULL" - Includes all metadata fields
  6278  func (c *ChromeosdevicesPatchCall) Projection(projection string) *ChromeosdevicesPatchCall {
  6279  	c.urlParams_.Set("projection", projection)
  6280  	return c
  6281  }
  6282  
  6283  // Fields allows partial responses to be retrieved. See
  6284  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6285  // details.
  6286  func (c *ChromeosdevicesPatchCall) Fields(s ...googleapi.Field) *ChromeosdevicesPatchCall {
  6287  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6288  	return c
  6289  }
  6290  
  6291  // Context sets the context to be used in this call's Do method.
  6292  func (c *ChromeosdevicesPatchCall) Context(ctx context.Context) *ChromeosdevicesPatchCall {
  6293  	c.ctx_ = ctx
  6294  	return c
  6295  }
  6296  
  6297  // Header returns a http.Header that can be modified by the caller to add
  6298  // headers to the request.
  6299  func (c *ChromeosdevicesPatchCall) Header() http.Header {
  6300  	if c.header_ == nil {
  6301  		c.header_ = make(http.Header)
  6302  	}
  6303  	return c.header_
  6304  }
  6305  
  6306  func (c *ChromeosdevicesPatchCall) doRequest(alt string) (*http.Response, error) {
  6307  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6308  	var body io.Reader = nil
  6309  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.chromeosdevice)
  6310  	if err != nil {
  6311  		return nil, err
  6312  	}
  6313  	c.urlParams_.Set("alt", alt)
  6314  	c.urlParams_.Set("prettyPrint", "false")
  6315  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}")
  6316  	urls += "?" + c.urlParams_.Encode()
  6317  	req, err := http.NewRequest("PATCH", urls, body)
  6318  	if err != nil {
  6319  		return nil, err
  6320  	}
  6321  	req.Header = reqHeaders
  6322  	googleapi.Expand(req.URL, map[string]string{
  6323  		"customerId": c.customerId,
  6324  		"deviceId":   c.deviceId,
  6325  	})
  6326  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6327  }
  6328  
  6329  // Do executes the "directory.chromeosdevices.patch" call.
  6330  // Any non-2xx status code is an error. Response headers are in either
  6331  // *ChromeOsDevice.ServerResponse.Header or (if a response was returned at all)
  6332  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6333  // whether the returned error was because http.StatusNotModified was returned.
  6334  func (c *ChromeosdevicesPatchCall) Do(opts ...googleapi.CallOption) (*ChromeOsDevice, error) {
  6335  	gensupport.SetOptions(c.urlParams_, opts...)
  6336  	res, err := c.doRequest("json")
  6337  	if res != nil && res.StatusCode == http.StatusNotModified {
  6338  		if res.Body != nil {
  6339  			res.Body.Close()
  6340  		}
  6341  		return nil, gensupport.WrapError(&googleapi.Error{
  6342  			Code:   res.StatusCode,
  6343  			Header: res.Header,
  6344  		})
  6345  	}
  6346  	if err != nil {
  6347  		return nil, err
  6348  	}
  6349  	defer googleapi.CloseBody(res)
  6350  	if err := googleapi.CheckResponse(res); err != nil {
  6351  		return nil, gensupport.WrapError(err)
  6352  	}
  6353  	ret := &ChromeOsDevice{
  6354  		ServerResponse: googleapi.ServerResponse{
  6355  			Header:         res.Header,
  6356  			HTTPStatusCode: res.StatusCode,
  6357  		},
  6358  	}
  6359  	target := &ret
  6360  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6361  		return nil, err
  6362  	}
  6363  	return ret, nil
  6364  }
  6365  
  6366  type ChromeosdevicesUpdateCall struct {
  6367  	s              *Service
  6368  	customerId     string
  6369  	deviceId       string
  6370  	chromeosdevice *ChromeOsDevice
  6371  	urlParams_     gensupport.URLParams
  6372  	ctx_           context.Context
  6373  	header_        http.Header
  6374  }
  6375  
  6376  // Update: Updates a device's updatable properties, such as `annotatedUser`,
  6377  // `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`.
  6378  //
  6379  //   - customerId: The unique ID for the customer's Google Workspace account. As
  6380  //     an account administrator, you can also use the `my_customer` alias to
  6381  //     represent your account's `customerId`. The `customerId` is also returned
  6382  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
  6383  //   - deviceId: The unique ID of the device. The `deviceId`s are returned in the
  6384  //     response from the chromeosdevices.list
  6385  //     (/admin-sdk/v1/reference/chromeosdevices/list) method.
  6386  func (r *ChromeosdevicesService) Update(customerId string, deviceId string, chromeosdevice *ChromeOsDevice) *ChromeosdevicesUpdateCall {
  6387  	c := &ChromeosdevicesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6388  	c.customerId = customerId
  6389  	c.deviceId = deviceId
  6390  	c.chromeosdevice = chromeosdevice
  6391  	return c
  6392  }
  6393  
  6394  // Projection sets the optional parameter "projection": Determines whether the
  6395  // response contains the full list of properties or only a subset.
  6396  //
  6397  // Possible values:
  6398  //
  6399  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId,
  6400  //
  6401  // serialNumber, status, and user)
  6402  //
  6403  //	"FULL" - Includes all metadata fields
  6404  func (c *ChromeosdevicesUpdateCall) Projection(projection string) *ChromeosdevicesUpdateCall {
  6405  	c.urlParams_.Set("projection", projection)
  6406  	return c
  6407  }
  6408  
  6409  // Fields allows partial responses to be retrieved. See
  6410  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6411  // details.
  6412  func (c *ChromeosdevicesUpdateCall) Fields(s ...googleapi.Field) *ChromeosdevicesUpdateCall {
  6413  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6414  	return c
  6415  }
  6416  
  6417  // Context sets the context to be used in this call's Do method.
  6418  func (c *ChromeosdevicesUpdateCall) Context(ctx context.Context) *ChromeosdevicesUpdateCall {
  6419  	c.ctx_ = ctx
  6420  	return c
  6421  }
  6422  
  6423  // Header returns a http.Header that can be modified by the caller to add
  6424  // headers to the request.
  6425  func (c *ChromeosdevicesUpdateCall) Header() http.Header {
  6426  	if c.header_ == nil {
  6427  		c.header_ = make(http.Header)
  6428  	}
  6429  	return c.header_
  6430  }
  6431  
  6432  func (c *ChromeosdevicesUpdateCall) doRequest(alt string) (*http.Response, error) {
  6433  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6434  	var body io.Reader = nil
  6435  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.chromeosdevice)
  6436  	if err != nil {
  6437  		return nil, err
  6438  	}
  6439  	c.urlParams_.Set("alt", alt)
  6440  	c.urlParams_.Set("prettyPrint", "false")
  6441  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}")
  6442  	urls += "?" + c.urlParams_.Encode()
  6443  	req, err := http.NewRequest("PUT", urls, body)
  6444  	if err != nil {
  6445  		return nil, err
  6446  	}
  6447  	req.Header = reqHeaders
  6448  	googleapi.Expand(req.URL, map[string]string{
  6449  		"customerId": c.customerId,
  6450  		"deviceId":   c.deviceId,
  6451  	})
  6452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6453  }
  6454  
  6455  // Do executes the "directory.chromeosdevices.update" call.
  6456  // Any non-2xx status code is an error. Response headers are in either
  6457  // *ChromeOsDevice.ServerResponse.Header or (if a response was returned at all)
  6458  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6459  // whether the returned error was because http.StatusNotModified was returned.
  6460  func (c *ChromeosdevicesUpdateCall) Do(opts ...googleapi.CallOption) (*ChromeOsDevice, error) {
  6461  	gensupport.SetOptions(c.urlParams_, opts...)
  6462  	res, err := c.doRequest("json")
  6463  	if res != nil && res.StatusCode == http.StatusNotModified {
  6464  		if res.Body != nil {
  6465  			res.Body.Close()
  6466  		}
  6467  		return nil, gensupport.WrapError(&googleapi.Error{
  6468  			Code:   res.StatusCode,
  6469  			Header: res.Header,
  6470  		})
  6471  	}
  6472  	if err != nil {
  6473  		return nil, err
  6474  	}
  6475  	defer googleapi.CloseBody(res)
  6476  	if err := googleapi.CheckResponse(res); err != nil {
  6477  		return nil, gensupport.WrapError(err)
  6478  	}
  6479  	ret := &ChromeOsDevice{
  6480  		ServerResponse: googleapi.ServerResponse{
  6481  			Header:         res.Header,
  6482  			HTTPStatusCode: res.StatusCode,
  6483  		},
  6484  	}
  6485  	target := &ret
  6486  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6487  		return nil, err
  6488  	}
  6489  	return ret, nil
  6490  }
  6491  
  6492  type CustomerDevicesChromeosBatchChangeStatusCall struct {
  6493  	s                                      *Service
  6494  	customerId                             string
  6495  	batchchangechromeosdevicestatusrequest *BatchChangeChromeOsDeviceStatusRequest
  6496  	urlParams_                             gensupport.URLParams
  6497  	ctx_                                   context.Context
  6498  	header_                                http.Header
  6499  }
  6500  
  6501  // BatchChangeStatus: Changes the status of a batch of ChromeOS devices. For
  6502  // more information about changing a ChromeOS device state Repair, repurpose,
  6503  // or retire ChromeOS devices
  6504  // (https://support.google.com/chrome/a/answer/3523633).
  6505  //
  6506  // - customerId: Immutable ID of the Google Workspace account.
  6507  func (r *CustomerDevicesChromeosService) BatchChangeStatus(customerId string, batchchangechromeosdevicestatusrequest *BatchChangeChromeOsDeviceStatusRequest) *CustomerDevicesChromeosBatchChangeStatusCall {
  6508  	c := &CustomerDevicesChromeosBatchChangeStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6509  	c.customerId = customerId
  6510  	c.batchchangechromeosdevicestatusrequest = batchchangechromeosdevicestatusrequest
  6511  	return c
  6512  }
  6513  
  6514  // Fields allows partial responses to be retrieved. See
  6515  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6516  // details.
  6517  func (c *CustomerDevicesChromeosBatchChangeStatusCall) Fields(s ...googleapi.Field) *CustomerDevicesChromeosBatchChangeStatusCall {
  6518  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6519  	return c
  6520  }
  6521  
  6522  // Context sets the context to be used in this call's Do method.
  6523  func (c *CustomerDevicesChromeosBatchChangeStatusCall) Context(ctx context.Context) *CustomerDevicesChromeosBatchChangeStatusCall {
  6524  	c.ctx_ = ctx
  6525  	return c
  6526  }
  6527  
  6528  // Header returns a http.Header that can be modified by the caller to add
  6529  // headers to the request.
  6530  func (c *CustomerDevicesChromeosBatchChangeStatusCall) Header() http.Header {
  6531  	if c.header_ == nil {
  6532  		c.header_ = make(http.Header)
  6533  	}
  6534  	return c.header_
  6535  }
  6536  
  6537  func (c *CustomerDevicesChromeosBatchChangeStatusCall) doRequest(alt string) (*http.Response, error) {
  6538  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6539  	var body io.Reader = nil
  6540  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchchangechromeosdevicestatusrequest)
  6541  	if err != nil {
  6542  		return nil, err
  6543  	}
  6544  	c.urlParams_.Set("alt", alt)
  6545  	c.urlParams_.Set("prettyPrint", "false")
  6546  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos:batchChangeStatus")
  6547  	urls += "?" + c.urlParams_.Encode()
  6548  	req, err := http.NewRequest("POST", urls, body)
  6549  	if err != nil {
  6550  		return nil, err
  6551  	}
  6552  	req.Header = reqHeaders
  6553  	googleapi.Expand(req.URL, map[string]string{
  6554  		"customerId": c.customerId,
  6555  	})
  6556  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6557  }
  6558  
  6559  // Do executes the "admin.customer.devices.chromeos.batchChangeStatus" call.
  6560  // Any non-2xx status code is an error. Response headers are in either
  6561  // *BatchChangeChromeOsDeviceStatusResponse.ServerResponse.Header or (if a
  6562  // response was returned at all) in error.(*googleapi.Error).Header. Use
  6563  // googleapi.IsNotModified to check whether the returned error was because
  6564  // http.StatusNotModified was returned.
  6565  func (c *CustomerDevicesChromeosBatchChangeStatusCall) Do(opts ...googleapi.CallOption) (*BatchChangeChromeOsDeviceStatusResponse, error) {
  6566  	gensupport.SetOptions(c.urlParams_, opts...)
  6567  	res, err := c.doRequest("json")
  6568  	if res != nil && res.StatusCode == http.StatusNotModified {
  6569  		if res.Body != nil {
  6570  			res.Body.Close()
  6571  		}
  6572  		return nil, gensupport.WrapError(&googleapi.Error{
  6573  			Code:   res.StatusCode,
  6574  			Header: res.Header,
  6575  		})
  6576  	}
  6577  	if err != nil {
  6578  		return nil, err
  6579  	}
  6580  	defer googleapi.CloseBody(res)
  6581  	if err := googleapi.CheckResponse(res); err != nil {
  6582  		return nil, gensupport.WrapError(err)
  6583  	}
  6584  	ret := &BatchChangeChromeOsDeviceStatusResponse{
  6585  		ServerResponse: googleapi.ServerResponse{
  6586  			Header:         res.Header,
  6587  			HTTPStatusCode: res.StatusCode,
  6588  		},
  6589  	}
  6590  	target := &ret
  6591  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6592  		return nil, err
  6593  	}
  6594  	return ret, nil
  6595  }
  6596  
  6597  type CustomerDevicesChromeosIssueCommandCall struct {
  6598  	s                                           *Service
  6599  	customerId                                  string
  6600  	deviceId                                    string
  6601  	directorychromeosdevicesissuecommandrequest *DirectoryChromeosdevicesIssueCommandRequest
  6602  	urlParams_                                  gensupport.URLParams
  6603  	ctx_                                        context.Context
  6604  	header_                                     http.Header
  6605  }
  6606  
  6607  // IssueCommand: Issues a command for the device to execute.
  6608  //
  6609  // - customerId: Immutable. ID of the Google Workspace account.
  6610  // - deviceId: Immutable. ID of Chrome OS Device.
  6611  func (r *CustomerDevicesChromeosService) IssueCommand(customerId string, deviceId string, directorychromeosdevicesissuecommandrequest *DirectoryChromeosdevicesIssueCommandRequest) *CustomerDevicesChromeosIssueCommandCall {
  6612  	c := &CustomerDevicesChromeosIssueCommandCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6613  	c.customerId = customerId
  6614  	c.deviceId = deviceId
  6615  	c.directorychromeosdevicesissuecommandrequest = directorychromeosdevicesissuecommandrequest
  6616  	return c
  6617  }
  6618  
  6619  // Fields allows partial responses to be retrieved. See
  6620  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6621  // details.
  6622  func (c *CustomerDevicesChromeosIssueCommandCall) Fields(s ...googleapi.Field) *CustomerDevicesChromeosIssueCommandCall {
  6623  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6624  	return c
  6625  }
  6626  
  6627  // Context sets the context to be used in this call's Do method.
  6628  func (c *CustomerDevicesChromeosIssueCommandCall) Context(ctx context.Context) *CustomerDevicesChromeosIssueCommandCall {
  6629  	c.ctx_ = ctx
  6630  	return c
  6631  }
  6632  
  6633  // Header returns a http.Header that can be modified by the caller to add
  6634  // headers to the request.
  6635  func (c *CustomerDevicesChromeosIssueCommandCall) Header() http.Header {
  6636  	if c.header_ == nil {
  6637  		c.header_ = make(http.Header)
  6638  	}
  6639  	return c.header_
  6640  }
  6641  
  6642  func (c *CustomerDevicesChromeosIssueCommandCall) doRequest(alt string) (*http.Response, error) {
  6643  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6644  	var body io.Reader = nil
  6645  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorychromeosdevicesissuecommandrequest)
  6646  	if err != nil {
  6647  		return nil, err
  6648  	}
  6649  	c.urlParams_.Set("alt", alt)
  6650  	c.urlParams_.Set("prettyPrint", "false")
  6651  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}:issueCommand")
  6652  	urls += "?" + c.urlParams_.Encode()
  6653  	req, err := http.NewRequest("POST", urls, body)
  6654  	if err != nil {
  6655  		return nil, err
  6656  	}
  6657  	req.Header = reqHeaders
  6658  	googleapi.Expand(req.URL, map[string]string{
  6659  		"customerId": c.customerId,
  6660  		"deviceId":   c.deviceId,
  6661  	})
  6662  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6663  }
  6664  
  6665  // Do executes the "admin.customer.devices.chromeos.issueCommand" call.
  6666  // Any non-2xx status code is an error. Response headers are in either
  6667  // *DirectoryChromeosdevicesIssueCommandResponse.ServerResponse.Header or (if a
  6668  // response was returned at all) in error.(*googleapi.Error).Header. Use
  6669  // googleapi.IsNotModified to check whether the returned error was because
  6670  // http.StatusNotModified was returned.
  6671  func (c *CustomerDevicesChromeosIssueCommandCall) Do(opts ...googleapi.CallOption) (*DirectoryChromeosdevicesIssueCommandResponse, error) {
  6672  	gensupport.SetOptions(c.urlParams_, opts...)
  6673  	res, err := c.doRequest("json")
  6674  	if res != nil && res.StatusCode == http.StatusNotModified {
  6675  		if res.Body != nil {
  6676  			res.Body.Close()
  6677  		}
  6678  		return nil, gensupport.WrapError(&googleapi.Error{
  6679  			Code:   res.StatusCode,
  6680  			Header: res.Header,
  6681  		})
  6682  	}
  6683  	if err != nil {
  6684  		return nil, err
  6685  	}
  6686  	defer googleapi.CloseBody(res)
  6687  	if err := googleapi.CheckResponse(res); err != nil {
  6688  		return nil, gensupport.WrapError(err)
  6689  	}
  6690  	ret := &DirectoryChromeosdevicesIssueCommandResponse{
  6691  		ServerResponse: googleapi.ServerResponse{
  6692  			Header:         res.Header,
  6693  			HTTPStatusCode: res.StatusCode,
  6694  		},
  6695  	}
  6696  	target := &ret
  6697  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6698  		return nil, err
  6699  	}
  6700  	return ret, nil
  6701  }
  6702  
  6703  type CustomerDevicesChromeosCommandsGetCall struct {
  6704  	s            *Service
  6705  	customerId   string
  6706  	deviceId     string
  6707  	commandId    int64
  6708  	urlParams_   gensupport.URLParams
  6709  	ifNoneMatch_ string
  6710  	ctx_         context.Context
  6711  	header_      http.Header
  6712  }
  6713  
  6714  // Get: Gets command data a specific command issued to the device.
  6715  //
  6716  // - commandId: Immutable. ID of Chrome OS Device Command.
  6717  // - customerId: Immutable. ID of the Google Workspace account.
  6718  // - deviceId: Immutable. ID of Chrome OS Device.
  6719  func (r *CustomerDevicesChromeosCommandsService) Get(customerId string, deviceId string, commandId int64) *CustomerDevicesChromeosCommandsGetCall {
  6720  	c := &CustomerDevicesChromeosCommandsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6721  	c.customerId = customerId
  6722  	c.deviceId = deviceId
  6723  	c.commandId = commandId
  6724  	return c
  6725  }
  6726  
  6727  // Fields allows partial responses to be retrieved. See
  6728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6729  // details.
  6730  func (c *CustomerDevicesChromeosCommandsGetCall) Fields(s ...googleapi.Field) *CustomerDevicesChromeosCommandsGetCall {
  6731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6732  	return c
  6733  }
  6734  
  6735  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6736  // object's ETag matches the given value. This is useful for getting updates
  6737  // only after the object has changed since the last request.
  6738  func (c *CustomerDevicesChromeosCommandsGetCall) IfNoneMatch(entityTag string) *CustomerDevicesChromeosCommandsGetCall {
  6739  	c.ifNoneMatch_ = entityTag
  6740  	return c
  6741  }
  6742  
  6743  // Context sets the context to be used in this call's Do method.
  6744  func (c *CustomerDevicesChromeosCommandsGetCall) Context(ctx context.Context) *CustomerDevicesChromeosCommandsGetCall {
  6745  	c.ctx_ = ctx
  6746  	return c
  6747  }
  6748  
  6749  // Header returns a http.Header that can be modified by the caller to add
  6750  // headers to the request.
  6751  func (c *CustomerDevicesChromeosCommandsGetCall) Header() http.Header {
  6752  	if c.header_ == nil {
  6753  		c.header_ = make(http.Header)
  6754  	}
  6755  	return c.header_
  6756  }
  6757  
  6758  func (c *CustomerDevicesChromeosCommandsGetCall) doRequest(alt string) (*http.Response, error) {
  6759  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6760  	if c.ifNoneMatch_ != "" {
  6761  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6762  	}
  6763  	var body io.Reader = nil
  6764  	c.urlParams_.Set("alt", alt)
  6765  	c.urlParams_.Set("prettyPrint", "false")
  6766  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}/commands/{commandId}")
  6767  	urls += "?" + c.urlParams_.Encode()
  6768  	req, err := http.NewRequest("GET", urls, body)
  6769  	if err != nil {
  6770  		return nil, err
  6771  	}
  6772  	req.Header = reqHeaders
  6773  	googleapi.Expand(req.URL, map[string]string{
  6774  		"customerId": c.customerId,
  6775  		"deviceId":   c.deviceId,
  6776  		"commandId":  strconv.FormatInt(c.commandId, 10),
  6777  	})
  6778  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6779  }
  6780  
  6781  // Do executes the "admin.customer.devices.chromeos.commands.get" call.
  6782  // Any non-2xx status code is an error. Response headers are in either
  6783  // *DirectoryChromeosdevicesCommand.ServerResponse.Header or (if a response was
  6784  // returned at all) in error.(*googleapi.Error).Header. Use
  6785  // googleapi.IsNotModified to check whether the returned error was because
  6786  // http.StatusNotModified was returned.
  6787  func (c *CustomerDevicesChromeosCommandsGetCall) Do(opts ...googleapi.CallOption) (*DirectoryChromeosdevicesCommand, error) {
  6788  	gensupport.SetOptions(c.urlParams_, opts...)
  6789  	res, err := c.doRequest("json")
  6790  	if res != nil && res.StatusCode == http.StatusNotModified {
  6791  		if res.Body != nil {
  6792  			res.Body.Close()
  6793  		}
  6794  		return nil, gensupport.WrapError(&googleapi.Error{
  6795  			Code:   res.StatusCode,
  6796  			Header: res.Header,
  6797  		})
  6798  	}
  6799  	if err != nil {
  6800  		return nil, err
  6801  	}
  6802  	defer googleapi.CloseBody(res)
  6803  	if err := googleapi.CheckResponse(res); err != nil {
  6804  		return nil, gensupport.WrapError(err)
  6805  	}
  6806  	ret := &DirectoryChromeosdevicesCommand{
  6807  		ServerResponse: googleapi.ServerResponse{
  6808  			Header:         res.Header,
  6809  			HTTPStatusCode: res.StatusCode,
  6810  		},
  6811  	}
  6812  	target := &ret
  6813  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6814  		return nil, err
  6815  	}
  6816  	return ret, nil
  6817  }
  6818  
  6819  type CustomersGetCall struct {
  6820  	s            *Service
  6821  	customerKey  string
  6822  	urlParams_   gensupport.URLParams
  6823  	ifNoneMatch_ string
  6824  	ctx_         context.Context
  6825  	header_      http.Header
  6826  }
  6827  
  6828  // Get: Retrieves a customer.
  6829  //
  6830  // - customerKey: Id of the customer to be retrieved.
  6831  func (r *CustomersService) Get(customerKey string) *CustomersGetCall {
  6832  	c := &CustomersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6833  	c.customerKey = customerKey
  6834  	return c
  6835  }
  6836  
  6837  // Fields allows partial responses to be retrieved. See
  6838  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6839  // details.
  6840  func (c *CustomersGetCall) Fields(s ...googleapi.Field) *CustomersGetCall {
  6841  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6842  	return c
  6843  }
  6844  
  6845  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6846  // object's ETag matches the given value. This is useful for getting updates
  6847  // only after the object has changed since the last request.
  6848  func (c *CustomersGetCall) IfNoneMatch(entityTag string) *CustomersGetCall {
  6849  	c.ifNoneMatch_ = entityTag
  6850  	return c
  6851  }
  6852  
  6853  // Context sets the context to be used in this call's Do method.
  6854  func (c *CustomersGetCall) Context(ctx context.Context) *CustomersGetCall {
  6855  	c.ctx_ = ctx
  6856  	return c
  6857  }
  6858  
  6859  // Header returns a http.Header that can be modified by the caller to add
  6860  // headers to the request.
  6861  func (c *CustomersGetCall) Header() http.Header {
  6862  	if c.header_ == nil {
  6863  		c.header_ = make(http.Header)
  6864  	}
  6865  	return c.header_
  6866  }
  6867  
  6868  func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
  6869  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6870  	if c.ifNoneMatch_ != "" {
  6871  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6872  	}
  6873  	var body io.Reader = nil
  6874  	c.urlParams_.Set("alt", alt)
  6875  	c.urlParams_.Set("prettyPrint", "false")
  6876  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customers/{customerKey}")
  6877  	urls += "?" + c.urlParams_.Encode()
  6878  	req, err := http.NewRequest("GET", urls, body)
  6879  	if err != nil {
  6880  		return nil, err
  6881  	}
  6882  	req.Header = reqHeaders
  6883  	googleapi.Expand(req.URL, map[string]string{
  6884  		"customerKey": c.customerKey,
  6885  	})
  6886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6887  }
  6888  
  6889  // Do executes the "directory.customers.get" call.
  6890  // Any non-2xx status code is an error. Response headers are in either
  6891  // *Customer.ServerResponse.Header or (if a response was returned at all) in
  6892  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6893  // whether the returned error was because http.StatusNotModified was returned.
  6894  func (c *CustomersGetCall) Do(opts ...googleapi.CallOption) (*Customer, error) {
  6895  	gensupport.SetOptions(c.urlParams_, opts...)
  6896  	res, err := c.doRequest("json")
  6897  	if res != nil && res.StatusCode == http.StatusNotModified {
  6898  		if res.Body != nil {
  6899  			res.Body.Close()
  6900  		}
  6901  		return nil, gensupport.WrapError(&googleapi.Error{
  6902  			Code:   res.StatusCode,
  6903  			Header: res.Header,
  6904  		})
  6905  	}
  6906  	if err != nil {
  6907  		return nil, err
  6908  	}
  6909  	defer googleapi.CloseBody(res)
  6910  	if err := googleapi.CheckResponse(res); err != nil {
  6911  		return nil, gensupport.WrapError(err)
  6912  	}
  6913  	ret := &Customer{
  6914  		ServerResponse: googleapi.ServerResponse{
  6915  			Header:         res.Header,
  6916  			HTTPStatusCode: res.StatusCode,
  6917  		},
  6918  	}
  6919  	target := &ret
  6920  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6921  		return nil, err
  6922  	}
  6923  	return ret, nil
  6924  }
  6925  
  6926  type CustomersPatchCall struct {
  6927  	s           *Service
  6928  	customerKey string
  6929  	customer    *Customer
  6930  	urlParams_  gensupport.URLParams
  6931  	ctx_        context.Context
  6932  	header_     http.Header
  6933  }
  6934  
  6935  // Patch: Patches a customer.
  6936  //
  6937  // - customerKey: Id of the customer to be updated.
  6938  func (r *CustomersService) Patch(customerKey string, customer *Customer) *CustomersPatchCall {
  6939  	c := &CustomersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6940  	c.customerKey = customerKey
  6941  	c.customer = customer
  6942  	return c
  6943  }
  6944  
  6945  // Fields allows partial responses to be retrieved. See
  6946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6947  // details.
  6948  func (c *CustomersPatchCall) Fields(s ...googleapi.Field) *CustomersPatchCall {
  6949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6950  	return c
  6951  }
  6952  
  6953  // Context sets the context to be used in this call's Do method.
  6954  func (c *CustomersPatchCall) Context(ctx context.Context) *CustomersPatchCall {
  6955  	c.ctx_ = ctx
  6956  	return c
  6957  }
  6958  
  6959  // Header returns a http.Header that can be modified by the caller to add
  6960  // headers to the request.
  6961  func (c *CustomersPatchCall) Header() http.Header {
  6962  	if c.header_ == nil {
  6963  		c.header_ = make(http.Header)
  6964  	}
  6965  	return c.header_
  6966  }
  6967  
  6968  func (c *CustomersPatchCall) doRequest(alt string) (*http.Response, error) {
  6969  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6970  	var body io.Reader = nil
  6971  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customer)
  6972  	if err != nil {
  6973  		return nil, err
  6974  	}
  6975  	c.urlParams_.Set("alt", alt)
  6976  	c.urlParams_.Set("prettyPrint", "false")
  6977  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customers/{customerKey}")
  6978  	urls += "?" + c.urlParams_.Encode()
  6979  	req, err := http.NewRequest("PATCH", urls, body)
  6980  	if err != nil {
  6981  		return nil, err
  6982  	}
  6983  	req.Header = reqHeaders
  6984  	googleapi.Expand(req.URL, map[string]string{
  6985  		"customerKey": c.customerKey,
  6986  	})
  6987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6988  }
  6989  
  6990  // Do executes the "directory.customers.patch" call.
  6991  // Any non-2xx status code is an error. Response headers are in either
  6992  // *Customer.ServerResponse.Header or (if a response was returned at all) in
  6993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6994  // whether the returned error was because http.StatusNotModified was returned.
  6995  func (c *CustomersPatchCall) Do(opts ...googleapi.CallOption) (*Customer, error) {
  6996  	gensupport.SetOptions(c.urlParams_, opts...)
  6997  	res, err := c.doRequest("json")
  6998  	if res != nil && res.StatusCode == http.StatusNotModified {
  6999  		if res.Body != nil {
  7000  			res.Body.Close()
  7001  		}
  7002  		return nil, gensupport.WrapError(&googleapi.Error{
  7003  			Code:   res.StatusCode,
  7004  			Header: res.Header,
  7005  		})
  7006  	}
  7007  	if err != nil {
  7008  		return nil, err
  7009  	}
  7010  	defer googleapi.CloseBody(res)
  7011  	if err := googleapi.CheckResponse(res); err != nil {
  7012  		return nil, gensupport.WrapError(err)
  7013  	}
  7014  	ret := &Customer{
  7015  		ServerResponse: googleapi.ServerResponse{
  7016  			Header:         res.Header,
  7017  			HTTPStatusCode: res.StatusCode,
  7018  		},
  7019  	}
  7020  	target := &ret
  7021  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7022  		return nil, err
  7023  	}
  7024  	return ret, nil
  7025  }
  7026  
  7027  type CustomersUpdateCall struct {
  7028  	s           *Service
  7029  	customerKey string
  7030  	customer    *Customer
  7031  	urlParams_  gensupport.URLParams
  7032  	ctx_        context.Context
  7033  	header_     http.Header
  7034  }
  7035  
  7036  // Update: Updates a customer.
  7037  //
  7038  // - customerKey: Id of the customer to be updated.
  7039  func (r *CustomersService) Update(customerKey string, customer *Customer) *CustomersUpdateCall {
  7040  	c := &CustomersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7041  	c.customerKey = customerKey
  7042  	c.customer = customer
  7043  	return c
  7044  }
  7045  
  7046  // Fields allows partial responses to be retrieved. See
  7047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7048  // details.
  7049  func (c *CustomersUpdateCall) Fields(s ...googleapi.Field) *CustomersUpdateCall {
  7050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7051  	return c
  7052  }
  7053  
  7054  // Context sets the context to be used in this call's Do method.
  7055  func (c *CustomersUpdateCall) Context(ctx context.Context) *CustomersUpdateCall {
  7056  	c.ctx_ = ctx
  7057  	return c
  7058  }
  7059  
  7060  // Header returns a http.Header that can be modified by the caller to add
  7061  // headers to the request.
  7062  func (c *CustomersUpdateCall) Header() http.Header {
  7063  	if c.header_ == nil {
  7064  		c.header_ = make(http.Header)
  7065  	}
  7066  	return c.header_
  7067  }
  7068  
  7069  func (c *CustomersUpdateCall) doRequest(alt string) (*http.Response, error) {
  7070  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7071  	var body io.Reader = nil
  7072  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customer)
  7073  	if err != nil {
  7074  		return nil, err
  7075  	}
  7076  	c.urlParams_.Set("alt", alt)
  7077  	c.urlParams_.Set("prettyPrint", "false")
  7078  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customers/{customerKey}")
  7079  	urls += "?" + c.urlParams_.Encode()
  7080  	req, err := http.NewRequest("PUT", urls, body)
  7081  	if err != nil {
  7082  		return nil, err
  7083  	}
  7084  	req.Header = reqHeaders
  7085  	googleapi.Expand(req.URL, map[string]string{
  7086  		"customerKey": c.customerKey,
  7087  	})
  7088  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7089  }
  7090  
  7091  // Do executes the "directory.customers.update" call.
  7092  // Any non-2xx status code is an error. Response headers are in either
  7093  // *Customer.ServerResponse.Header or (if a response was returned at all) in
  7094  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7095  // whether the returned error was because http.StatusNotModified was returned.
  7096  func (c *CustomersUpdateCall) Do(opts ...googleapi.CallOption) (*Customer, error) {
  7097  	gensupport.SetOptions(c.urlParams_, opts...)
  7098  	res, err := c.doRequest("json")
  7099  	if res != nil && res.StatusCode == http.StatusNotModified {
  7100  		if res.Body != nil {
  7101  			res.Body.Close()
  7102  		}
  7103  		return nil, gensupport.WrapError(&googleapi.Error{
  7104  			Code:   res.StatusCode,
  7105  			Header: res.Header,
  7106  		})
  7107  	}
  7108  	if err != nil {
  7109  		return nil, err
  7110  	}
  7111  	defer googleapi.CloseBody(res)
  7112  	if err := googleapi.CheckResponse(res); err != nil {
  7113  		return nil, gensupport.WrapError(err)
  7114  	}
  7115  	ret := &Customer{
  7116  		ServerResponse: googleapi.ServerResponse{
  7117  			Header:         res.Header,
  7118  			HTTPStatusCode: res.StatusCode,
  7119  		},
  7120  	}
  7121  	target := &ret
  7122  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7123  		return nil, err
  7124  	}
  7125  	return ret, nil
  7126  }
  7127  
  7128  type CustomersChromePrintServersBatchCreatePrintServersCall struct {
  7129  	s                              *Service
  7130  	parent                         string
  7131  	batchcreateprintserversrequest *BatchCreatePrintServersRequest
  7132  	urlParams_                     gensupport.URLParams
  7133  	ctx_                           context.Context
  7134  	header_                        http.Header
  7135  }
  7136  
  7137  // BatchCreatePrintServers: Creates multiple print servers.
  7138  //
  7139  //   - parent: The unique ID
  7140  //     (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  7141  //     of the customer's Google Workspace account. Format: `customers/{id}`.
  7142  func (r *CustomersChromePrintServersService) BatchCreatePrintServers(parent string, batchcreateprintserversrequest *BatchCreatePrintServersRequest) *CustomersChromePrintServersBatchCreatePrintServersCall {
  7143  	c := &CustomersChromePrintServersBatchCreatePrintServersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7144  	c.parent = parent
  7145  	c.batchcreateprintserversrequest = batchcreateprintserversrequest
  7146  	return c
  7147  }
  7148  
  7149  // Fields allows partial responses to be retrieved. See
  7150  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7151  // details.
  7152  func (c *CustomersChromePrintServersBatchCreatePrintServersCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersBatchCreatePrintServersCall {
  7153  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7154  	return c
  7155  }
  7156  
  7157  // Context sets the context to be used in this call's Do method.
  7158  func (c *CustomersChromePrintServersBatchCreatePrintServersCall) Context(ctx context.Context) *CustomersChromePrintServersBatchCreatePrintServersCall {
  7159  	c.ctx_ = ctx
  7160  	return c
  7161  }
  7162  
  7163  // Header returns a http.Header that can be modified by the caller to add
  7164  // headers to the request.
  7165  func (c *CustomersChromePrintServersBatchCreatePrintServersCall) Header() http.Header {
  7166  	if c.header_ == nil {
  7167  		c.header_ = make(http.Header)
  7168  	}
  7169  	return c.header_
  7170  }
  7171  
  7172  func (c *CustomersChromePrintServersBatchCreatePrintServersCall) doRequest(alt string) (*http.Response, error) {
  7173  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7174  	var body io.Reader = nil
  7175  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateprintserversrequest)
  7176  	if err != nil {
  7177  		return nil, err
  7178  	}
  7179  	c.urlParams_.Set("alt", alt)
  7180  	c.urlParams_.Set("prettyPrint", "false")
  7181  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printServers:batchCreatePrintServers")
  7182  	urls += "?" + c.urlParams_.Encode()
  7183  	req, err := http.NewRequest("POST", urls, body)
  7184  	if err != nil {
  7185  		return nil, err
  7186  	}
  7187  	req.Header = reqHeaders
  7188  	googleapi.Expand(req.URL, map[string]string{
  7189  		"parent": c.parent,
  7190  	})
  7191  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7192  }
  7193  
  7194  // Do executes the "admin.customers.chrome.printServers.batchCreatePrintServers" call.
  7195  // Any non-2xx status code is an error. Response headers are in either
  7196  // *BatchCreatePrintServersResponse.ServerResponse.Header or (if a response was
  7197  // returned at all) in error.(*googleapi.Error).Header. Use
  7198  // googleapi.IsNotModified to check whether the returned error was because
  7199  // http.StatusNotModified was returned.
  7200  func (c *CustomersChromePrintServersBatchCreatePrintServersCall) Do(opts ...googleapi.CallOption) (*BatchCreatePrintServersResponse, error) {
  7201  	gensupport.SetOptions(c.urlParams_, opts...)
  7202  	res, err := c.doRequest("json")
  7203  	if res != nil && res.StatusCode == http.StatusNotModified {
  7204  		if res.Body != nil {
  7205  			res.Body.Close()
  7206  		}
  7207  		return nil, gensupport.WrapError(&googleapi.Error{
  7208  			Code:   res.StatusCode,
  7209  			Header: res.Header,
  7210  		})
  7211  	}
  7212  	if err != nil {
  7213  		return nil, err
  7214  	}
  7215  	defer googleapi.CloseBody(res)
  7216  	if err := googleapi.CheckResponse(res); err != nil {
  7217  		return nil, gensupport.WrapError(err)
  7218  	}
  7219  	ret := &BatchCreatePrintServersResponse{
  7220  		ServerResponse: googleapi.ServerResponse{
  7221  			Header:         res.Header,
  7222  			HTTPStatusCode: res.StatusCode,
  7223  		},
  7224  	}
  7225  	target := &ret
  7226  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7227  		return nil, err
  7228  	}
  7229  	return ret, nil
  7230  }
  7231  
  7232  type CustomersChromePrintServersBatchDeletePrintServersCall struct {
  7233  	s                              *Service
  7234  	parent                         string
  7235  	batchdeleteprintserversrequest *BatchDeletePrintServersRequest
  7236  	urlParams_                     gensupport.URLParams
  7237  	ctx_                           context.Context
  7238  	header_                        http.Header
  7239  }
  7240  
  7241  // BatchDeletePrintServers: Deletes multiple print servers.
  7242  //
  7243  //   - parent: The unique ID
  7244  //     (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  7245  //     of the customer's Google Workspace account. Format:
  7246  //     `customers/{customer.id}`.
  7247  func (r *CustomersChromePrintServersService) BatchDeletePrintServers(parent string, batchdeleteprintserversrequest *BatchDeletePrintServersRequest) *CustomersChromePrintServersBatchDeletePrintServersCall {
  7248  	c := &CustomersChromePrintServersBatchDeletePrintServersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7249  	c.parent = parent
  7250  	c.batchdeleteprintserversrequest = batchdeleteprintserversrequest
  7251  	return c
  7252  }
  7253  
  7254  // Fields allows partial responses to be retrieved. See
  7255  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7256  // details.
  7257  func (c *CustomersChromePrintServersBatchDeletePrintServersCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersBatchDeletePrintServersCall {
  7258  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7259  	return c
  7260  }
  7261  
  7262  // Context sets the context to be used in this call's Do method.
  7263  func (c *CustomersChromePrintServersBatchDeletePrintServersCall) Context(ctx context.Context) *CustomersChromePrintServersBatchDeletePrintServersCall {
  7264  	c.ctx_ = ctx
  7265  	return c
  7266  }
  7267  
  7268  // Header returns a http.Header that can be modified by the caller to add
  7269  // headers to the request.
  7270  func (c *CustomersChromePrintServersBatchDeletePrintServersCall) Header() http.Header {
  7271  	if c.header_ == nil {
  7272  		c.header_ = make(http.Header)
  7273  	}
  7274  	return c.header_
  7275  }
  7276  
  7277  func (c *CustomersChromePrintServersBatchDeletePrintServersCall) doRequest(alt string) (*http.Response, error) {
  7278  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7279  	var body io.Reader = nil
  7280  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeleteprintserversrequest)
  7281  	if err != nil {
  7282  		return nil, err
  7283  	}
  7284  	c.urlParams_.Set("alt", alt)
  7285  	c.urlParams_.Set("prettyPrint", "false")
  7286  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printServers:batchDeletePrintServers")
  7287  	urls += "?" + c.urlParams_.Encode()
  7288  	req, err := http.NewRequest("POST", urls, body)
  7289  	if err != nil {
  7290  		return nil, err
  7291  	}
  7292  	req.Header = reqHeaders
  7293  	googleapi.Expand(req.URL, map[string]string{
  7294  		"parent": c.parent,
  7295  	})
  7296  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7297  }
  7298  
  7299  // Do executes the "admin.customers.chrome.printServers.batchDeletePrintServers" call.
  7300  // Any non-2xx status code is an error. Response headers are in either
  7301  // *BatchDeletePrintServersResponse.ServerResponse.Header or (if a response was
  7302  // returned at all) in error.(*googleapi.Error).Header. Use
  7303  // googleapi.IsNotModified to check whether the returned error was because
  7304  // http.StatusNotModified was returned.
  7305  func (c *CustomersChromePrintServersBatchDeletePrintServersCall) Do(opts ...googleapi.CallOption) (*BatchDeletePrintServersResponse, error) {
  7306  	gensupport.SetOptions(c.urlParams_, opts...)
  7307  	res, err := c.doRequest("json")
  7308  	if res != nil && res.StatusCode == http.StatusNotModified {
  7309  		if res.Body != nil {
  7310  			res.Body.Close()
  7311  		}
  7312  		return nil, gensupport.WrapError(&googleapi.Error{
  7313  			Code:   res.StatusCode,
  7314  			Header: res.Header,
  7315  		})
  7316  	}
  7317  	if err != nil {
  7318  		return nil, err
  7319  	}
  7320  	defer googleapi.CloseBody(res)
  7321  	if err := googleapi.CheckResponse(res); err != nil {
  7322  		return nil, gensupport.WrapError(err)
  7323  	}
  7324  	ret := &BatchDeletePrintServersResponse{
  7325  		ServerResponse: googleapi.ServerResponse{
  7326  			Header:         res.Header,
  7327  			HTTPStatusCode: res.StatusCode,
  7328  		},
  7329  	}
  7330  	target := &ret
  7331  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7332  		return nil, err
  7333  	}
  7334  	return ret, nil
  7335  }
  7336  
  7337  type CustomersChromePrintServersCreateCall struct {
  7338  	s           *Service
  7339  	parent      string
  7340  	printserver *PrintServer
  7341  	urlParams_  gensupport.URLParams
  7342  	ctx_        context.Context
  7343  	header_     http.Header
  7344  }
  7345  
  7346  // Create: Creates a print server.
  7347  //
  7348  //   - parent: The unique ID
  7349  //     (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  7350  //     of the customer's Google Workspace account. Format: `customers/{id}`.
  7351  func (r *CustomersChromePrintServersService) Create(parent string, printserver *PrintServer) *CustomersChromePrintServersCreateCall {
  7352  	c := &CustomersChromePrintServersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7353  	c.parent = parent
  7354  	c.printserver = printserver
  7355  	return c
  7356  }
  7357  
  7358  // Fields allows partial responses to be retrieved. See
  7359  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7360  // details.
  7361  func (c *CustomersChromePrintServersCreateCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersCreateCall {
  7362  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7363  	return c
  7364  }
  7365  
  7366  // Context sets the context to be used in this call's Do method.
  7367  func (c *CustomersChromePrintServersCreateCall) Context(ctx context.Context) *CustomersChromePrintServersCreateCall {
  7368  	c.ctx_ = ctx
  7369  	return c
  7370  }
  7371  
  7372  // Header returns a http.Header that can be modified by the caller to add
  7373  // headers to the request.
  7374  func (c *CustomersChromePrintServersCreateCall) Header() http.Header {
  7375  	if c.header_ == nil {
  7376  		c.header_ = make(http.Header)
  7377  	}
  7378  	return c.header_
  7379  }
  7380  
  7381  func (c *CustomersChromePrintServersCreateCall) doRequest(alt string) (*http.Response, error) {
  7382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7383  	var body io.Reader = nil
  7384  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.printserver)
  7385  	if err != nil {
  7386  		return nil, err
  7387  	}
  7388  	c.urlParams_.Set("alt", alt)
  7389  	c.urlParams_.Set("prettyPrint", "false")
  7390  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printServers")
  7391  	urls += "?" + c.urlParams_.Encode()
  7392  	req, err := http.NewRequest("POST", urls, body)
  7393  	if err != nil {
  7394  		return nil, err
  7395  	}
  7396  	req.Header = reqHeaders
  7397  	googleapi.Expand(req.URL, map[string]string{
  7398  		"parent": c.parent,
  7399  	})
  7400  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7401  }
  7402  
  7403  // Do executes the "admin.customers.chrome.printServers.create" call.
  7404  // Any non-2xx status code is an error. Response headers are in either
  7405  // *PrintServer.ServerResponse.Header or (if a response was returned at all) in
  7406  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7407  // whether the returned error was because http.StatusNotModified was returned.
  7408  func (c *CustomersChromePrintServersCreateCall) Do(opts ...googleapi.CallOption) (*PrintServer, error) {
  7409  	gensupport.SetOptions(c.urlParams_, opts...)
  7410  	res, err := c.doRequest("json")
  7411  	if res != nil && res.StatusCode == http.StatusNotModified {
  7412  		if res.Body != nil {
  7413  			res.Body.Close()
  7414  		}
  7415  		return nil, gensupport.WrapError(&googleapi.Error{
  7416  			Code:   res.StatusCode,
  7417  			Header: res.Header,
  7418  		})
  7419  	}
  7420  	if err != nil {
  7421  		return nil, err
  7422  	}
  7423  	defer googleapi.CloseBody(res)
  7424  	if err := googleapi.CheckResponse(res); err != nil {
  7425  		return nil, gensupport.WrapError(err)
  7426  	}
  7427  	ret := &PrintServer{
  7428  		ServerResponse: googleapi.ServerResponse{
  7429  			Header:         res.Header,
  7430  			HTTPStatusCode: res.StatusCode,
  7431  		},
  7432  	}
  7433  	target := &ret
  7434  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7435  		return nil, err
  7436  	}
  7437  	return ret, nil
  7438  }
  7439  
  7440  type CustomersChromePrintServersDeleteCall struct {
  7441  	s          *Service
  7442  	name       string
  7443  	urlParams_ gensupport.URLParams
  7444  	ctx_       context.Context
  7445  	header_    http.Header
  7446  }
  7447  
  7448  // Delete: Deletes a print server.
  7449  //
  7450  //   - name: The name of the print server to be deleted. Format:
  7451  //     `customers/{customer.id}/chrome/printServers/{print_server.id}`.
  7452  func (r *CustomersChromePrintServersService) Delete(name string) *CustomersChromePrintServersDeleteCall {
  7453  	c := &CustomersChromePrintServersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7454  	c.name = name
  7455  	return c
  7456  }
  7457  
  7458  // Fields allows partial responses to be retrieved. See
  7459  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7460  // details.
  7461  func (c *CustomersChromePrintServersDeleteCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersDeleteCall {
  7462  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7463  	return c
  7464  }
  7465  
  7466  // Context sets the context to be used in this call's Do method.
  7467  func (c *CustomersChromePrintServersDeleteCall) Context(ctx context.Context) *CustomersChromePrintServersDeleteCall {
  7468  	c.ctx_ = ctx
  7469  	return c
  7470  }
  7471  
  7472  // Header returns a http.Header that can be modified by the caller to add
  7473  // headers to the request.
  7474  func (c *CustomersChromePrintServersDeleteCall) Header() http.Header {
  7475  	if c.header_ == nil {
  7476  		c.header_ = make(http.Header)
  7477  	}
  7478  	return c.header_
  7479  }
  7480  
  7481  func (c *CustomersChromePrintServersDeleteCall) doRequest(alt string) (*http.Response, error) {
  7482  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7483  	var body io.Reader = nil
  7484  	c.urlParams_.Set("alt", alt)
  7485  	c.urlParams_.Set("prettyPrint", "false")
  7486  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  7487  	urls += "?" + c.urlParams_.Encode()
  7488  	req, err := http.NewRequest("DELETE", urls, body)
  7489  	if err != nil {
  7490  		return nil, err
  7491  	}
  7492  	req.Header = reqHeaders
  7493  	googleapi.Expand(req.URL, map[string]string{
  7494  		"name": c.name,
  7495  	})
  7496  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7497  }
  7498  
  7499  // Do executes the "admin.customers.chrome.printServers.delete" call.
  7500  // Any non-2xx status code is an error. Response headers are in either
  7501  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7502  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7503  // whether the returned error was because http.StatusNotModified was returned.
  7504  func (c *CustomersChromePrintServersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7505  	gensupport.SetOptions(c.urlParams_, opts...)
  7506  	res, err := c.doRequest("json")
  7507  	if res != nil && res.StatusCode == http.StatusNotModified {
  7508  		if res.Body != nil {
  7509  			res.Body.Close()
  7510  		}
  7511  		return nil, gensupport.WrapError(&googleapi.Error{
  7512  			Code:   res.StatusCode,
  7513  			Header: res.Header,
  7514  		})
  7515  	}
  7516  	if err != nil {
  7517  		return nil, err
  7518  	}
  7519  	defer googleapi.CloseBody(res)
  7520  	if err := googleapi.CheckResponse(res); err != nil {
  7521  		return nil, gensupport.WrapError(err)
  7522  	}
  7523  	ret := &Empty{
  7524  		ServerResponse: googleapi.ServerResponse{
  7525  			Header:         res.Header,
  7526  			HTTPStatusCode: res.StatusCode,
  7527  		},
  7528  	}
  7529  	target := &ret
  7530  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7531  		return nil, err
  7532  	}
  7533  	return ret, nil
  7534  }
  7535  
  7536  type CustomersChromePrintServersGetCall struct {
  7537  	s            *Service
  7538  	name         string
  7539  	urlParams_   gensupport.URLParams
  7540  	ifNoneMatch_ string
  7541  	ctx_         context.Context
  7542  	header_      http.Header
  7543  }
  7544  
  7545  // Get: Returns a print server's configuration.
  7546  //
  7547  //   - name: The unique ID
  7548  //     (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  7549  //     of the customer's Google Workspace account. Format: `customers/{id}`.
  7550  func (r *CustomersChromePrintServersService) Get(name string) *CustomersChromePrintServersGetCall {
  7551  	c := &CustomersChromePrintServersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7552  	c.name = name
  7553  	return c
  7554  }
  7555  
  7556  // Fields allows partial responses to be retrieved. See
  7557  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7558  // details.
  7559  func (c *CustomersChromePrintServersGetCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersGetCall {
  7560  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7561  	return c
  7562  }
  7563  
  7564  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7565  // object's ETag matches the given value. This is useful for getting updates
  7566  // only after the object has changed since the last request.
  7567  func (c *CustomersChromePrintServersGetCall) IfNoneMatch(entityTag string) *CustomersChromePrintServersGetCall {
  7568  	c.ifNoneMatch_ = entityTag
  7569  	return c
  7570  }
  7571  
  7572  // Context sets the context to be used in this call's Do method.
  7573  func (c *CustomersChromePrintServersGetCall) Context(ctx context.Context) *CustomersChromePrintServersGetCall {
  7574  	c.ctx_ = ctx
  7575  	return c
  7576  }
  7577  
  7578  // Header returns a http.Header that can be modified by the caller to add
  7579  // headers to the request.
  7580  func (c *CustomersChromePrintServersGetCall) Header() http.Header {
  7581  	if c.header_ == nil {
  7582  		c.header_ = make(http.Header)
  7583  	}
  7584  	return c.header_
  7585  }
  7586  
  7587  func (c *CustomersChromePrintServersGetCall) doRequest(alt string) (*http.Response, error) {
  7588  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7589  	if c.ifNoneMatch_ != "" {
  7590  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7591  	}
  7592  	var body io.Reader = nil
  7593  	c.urlParams_.Set("alt", alt)
  7594  	c.urlParams_.Set("prettyPrint", "false")
  7595  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  7596  	urls += "?" + c.urlParams_.Encode()
  7597  	req, err := http.NewRequest("GET", urls, body)
  7598  	if err != nil {
  7599  		return nil, err
  7600  	}
  7601  	req.Header = reqHeaders
  7602  	googleapi.Expand(req.URL, map[string]string{
  7603  		"name": c.name,
  7604  	})
  7605  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7606  }
  7607  
  7608  // Do executes the "admin.customers.chrome.printServers.get" call.
  7609  // Any non-2xx status code is an error. Response headers are in either
  7610  // *PrintServer.ServerResponse.Header or (if a response was returned at all) in
  7611  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7612  // whether the returned error was because http.StatusNotModified was returned.
  7613  func (c *CustomersChromePrintServersGetCall) Do(opts ...googleapi.CallOption) (*PrintServer, error) {
  7614  	gensupport.SetOptions(c.urlParams_, opts...)
  7615  	res, err := c.doRequest("json")
  7616  	if res != nil && res.StatusCode == http.StatusNotModified {
  7617  		if res.Body != nil {
  7618  			res.Body.Close()
  7619  		}
  7620  		return nil, gensupport.WrapError(&googleapi.Error{
  7621  			Code:   res.StatusCode,
  7622  			Header: res.Header,
  7623  		})
  7624  	}
  7625  	if err != nil {
  7626  		return nil, err
  7627  	}
  7628  	defer googleapi.CloseBody(res)
  7629  	if err := googleapi.CheckResponse(res); err != nil {
  7630  		return nil, gensupport.WrapError(err)
  7631  	}
  7632  	ret := &PrintServer{
  7633  		ServerResponse: googleapi.ServerResponse{
  7634  			Header:         res.Header,
  7635  			HTTPStatusCode: res.StatusCode,
  7636  		},
  7637  	}
  7638  	target := &ret
  7639  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7640  		return nil, err
  7641  	}
  7642  	return ret, nil
  7643  }
  7644  
  7645  type CustomersChromePrintServersListCall struct {
  7646  	s            *Service
  7647  	parent       string
  7648  	urlParams_   gensupport.URLParams
  7649  	ifNoneMatch_ string
  7650  	ctx_         context.Context
  7651  	header_      http.Header
  7652  }
  7653  
  7654  // List: Lists print server configurations.
  7655  //
  7656  //   - parent: The unique ID
  7657  //     (https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)
  7658  //     of the customer's Google Workspace account. Format: `customers/{id}`.
  7659  func (r *CustomersChromePrintServersService) List(parent string) *CustomersChromePrintServersListCall {
  7660  	c := &CustomersChromePrintServersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7661  	c.parent = parent
  7662  	return c
  7663  }
  7664  
  7665  // Filter sets the optional parameter "filter": Search query in Common
  7666  // Expression Language syntax (https://github.com/google/cel-spec). Supported
  7667  // filters are `display_name`, `description`, and `uri`. Example:
  7668  // `printServer.displayName=='marketing-queue'`.
  7669  func (c *CustomersChromePrintServersListCall) Filter(filter string) *CustomersChromePrintServersListCall {
  7670  	c.urlParams_.Set("filter", filter)
  7671  	return c
  7672  }
  7673  
  7674  // OrderBy sets the optional parameter "orderBy": Sort order for results.
  7675  // Supported values are `display_name`, `description`, or `create_time`.
  7676  // Default order is ascending, but descending order can be returned by
  7677  // appending "desc" to the `order_by` field. For instance,
  7678  // `orderBy=='description desc'` returns the print servers sorted by
  7679  // description in descending order.
  7680  func (c *CustomersChromePrintServersListCall) OrderBy(orderBy string) *CustomersChromePrintServersListCall {
  7681  	c.urlParams_.Set("orderBy", orderBy)
  7682  	return c
  7683  }
  7684  
  7685  // OrgUnitId sets the optional parameter "orgUnitId": If `org_unit_id` is
  7686  // present in the request, only print servers owned or inherited by the
  7687  // organizational unit (OU) are returned. If the `PrintServer` resource's
  7688  // `org_unit_id` matches the one in the request, the OU owns the server. If
  7689  // `org_unit_id` is not specified in the request, all print servers are
  7690  // returned or filtered against.
  7691  func (c *CustomersChromePrintServersListCall) OrgUnitId(orgUnitId string) *CustomersChromePrintServersListCall {
  7692  	c.urlParams_.Set("orgUnitId", orgUnitId)
  7693  	return c
  7694  }
  7695  
  7696  // PageSize sets the optional parameter "pageSize": The maximum number of
  7697  // objects to return (default `100`, max `100`). The service might return fewer
  7698  // than this value.
  7699  func (c *CustomersChromePrintServersListCall) PageSize(pageSize int64) *CustomersChromePrintServersListCall {
  7700  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7701  	return c
  7702  }
  7703  
  7704  // PageToken sets the optional parameter "pageToken": A generated token to
  7705  // paginate results (the `next_page_token` from a previous call).
  7706  func (c *CustomersChromePrintServersListCall) PageToken(pageToken string) *CustomersChromePrintServersListCall {
  7707  	c.urlParams_.Set("pageToken", pageToken)
  7708  	return c
  7709  }
  7710  
  7711  // Fields allows partial responses to be retrieved. See
  7712  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7713  // details.
  7714  func (c *CustomersChromePrintServersListCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersListCall {
  7715  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7716  	return c
  7717  }
  7718  
  7719  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7720  // object's ETag matches the given value. This is useful for getting updates
  7721  // only after the object has changed since the last request.
  7722  func (c *CustomersChromePrintServersListCall) IfNoneMatch(entityTag string) *CustomersChromePrintServersListCall {
  7723  	c.ifNoneMatch_ = entityTag
  7724  	return c
  7725  }
  7726  
  7727  // Context sets the context to be used in this call's Do method.
  7728  func (c *CustomersChromePrintServersListCall) Context(ctx context.Context) *CustomersChromePrintServersListCall {
  7729  	c.ctx_ = ctx
  7730  	return c
  7731  }
  7732  
  7733  // Header returns a http.Header that can be modified by the caller to add
  7734  // headers to the request.
  7735  func (c *CustomersChromePrintServersListCall) Header() http.Header {
  7736  	if c.header_ == nil {
  7737  		c.header_ = make(http.Header)
  7738  	}
  7739  	return c.header_
  7740  }
  7741  
  7742  func (c *CustomersChromePrintServersListCall) doRequest(alt string) (*http.Response, error) {
  7743  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7744  	if c.ifNoneMatch_ != "" {
  7745  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7746  	}
  7747  	var body io.Reader = nil
  7748  	c.urlParams_.Set("alt", alt)
  7749  	c.urlParams_.Set("prettyPrint", "false")
  7750  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printServers")
  7751  	urls += "?" + c.urlParams_.Encode()
  7752  	req, err := http.NewRequest("GET", urls, body)
  7753  	if err != nil {
  7754  		return nil, err
  7755  	}
  7756  	req.Header = reqHeaders
  7757  	googleapi.Expand(req.URL, map[string]string{
  7758  		"parent": c.parent,
  7759  	})
  7760  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7761  }
  7762  
  7763  // Do executes the "admin.customers.chrome.printServers.list" call.
  7764  // Any non-2xx status code is an error. Response headers are in either
  7765  // *ListPrintServersResponse.ServerResponse.Header or (if a response was
  7766  // returned at all) in error.(*googleapi.Error).Header. Use
  7767  // googleapi.IsNotModified to check whether the returned error was because
  7768  // http.StatusNotModified was returned.
  7769  func (c *CustomersChromePrintServersListCall) Do(opts ...googleapi.CallOption) (*ListPrintServersResponse, error) {
  7770  	gensupport.SetOptions(c.urlParams_, opts...)
  7771  	res, err := c.doRequest("json")
  7772  	if res != nil && res.StatusCode == http.StatusNotModified {
  7773  		if res.Body != nil {
  7774  			res.Body.Close()
  7775  		}
  7776  		return nil, gensupport.WrapError(&googleapi.Error{
  7777  			Code:   res.StatusCode,
  7778  			Header: res.Header,
  7779  		})
  7780  	}
  7781  	if err != nil {
  7782  		return nil, err
  7783  	}
  7784  	defer googleapi.CloseBody(res)
  7785  	if err := googleapi.CheckResponse(res); err != nil {
  7786  		return nil, gensupport.WrapError(err)
  7787  	}
  7788  	ret := &ListPrintServersResponse{
  7789  		ServerResponse: googleapi.ServerResponse{
  7790  			Header:         res.Header,
  7791  			HTTPStatusCode: res.StatusCode,
  7792  		},
  7793  	}
  7794  	target := &ret
  7795  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7796  		return nil, err
  7797  	}
  7798  	return ret, nil
  7799  }
  7800  
  7801  // Pages invokes f for each page of results.
  7802  // A non-nil error returned from f will halt the iteration.
  7803  // The provided context supersedes any context provided to the Context method.
  7804  func (c *CustomersChromePrintServersListCall) Pages(ctx context.Context, f func(*ListPrintServersResponse) error) error {
  7805  	c.ctx_ = ctx
  7806  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7807  	for {
  7808  		x, err := c.Do()
  7809  		if err != nil {
  7810  			return err
  7811  		}
  7812  		if err := f(x); err != nil {
  7813  			return err
  7814  		}
  7815  		if x.NextPageToken == "" {
  7816  			return nil
  7817  		}
  7818  		c.PageToken(x.NextPageToken)
  7819  	}
  7820  }
  7821  
  7822  type CustomersChromePrintServersPatchCall struct {
  7823  	s           *Service
  7824  	name        string
  7825  	printserver *PrintServer
  7826  	urlParams_  gensupport.URLParams
  7827  	ctx_        context.Context
  7828  	header_     http.Header
  7829  }
  7830  
  7831  // Patch: Updates a print server's configuration.
  7832  //
  7833  //   - name: Immutable. Resource name of the print server. Leave empty when
  7834  //     creating. Format: `customers/{customer.id}/printServers/{print_server.id}`.
  7835  func (r *CustomersChromePrintServersService) Patch(name string, printserver *PrintServer) *CustomersChromePrintServersPatchCall {
  7836  	c := &CustomersChromePrintServersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7837  	c.name = name
  7838  	c.printserver = printserver
  7839  	return c
  7840  }
  7841  
  7842  // UpdateMask sets the optional parameter "updateMask": The list of fields to
  7843  // update. Some fields are read-only and cannot be updated. Values for
  7844  // unspecified fields are patched.
  7845  func (c *CustomersChromePrintServersPatchCall) UpdateMask(updateMask string) *CustomersChromePrintServersPatchCall {
  7846  	c.urlParams_.Set("updateMask", updateMask)
  7847  	return c
  7848  }
  7849  
  7850  // Fields allows partial responses to be retrieved. See
  7851  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7852  // details.
  7853  func (c *CustomersChromePrintServersPatchCall) Fields(s ...googleapi.Field) *CustomersChromePrintServersPatchCall {
  7854  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7855  	return c
  7856  }
  7857  
  7858  // Context sets the context to be used in this call's Do method.
  7859  func (c *CustomersChromePrintServersPatchCall) Context(ctx context.Context) *CustomersChromePrintServersPatchCall {
  7860  	c.ctx_ = ctx
  7861  	return c
  7862  }
  7863  
  7864  // Header returns a http.Header that can be modified by the caller to add
  7865  // headers to the request.
  7866  func (c *CustomersChromePrintServersPatchCall) Header() http.Header {
  7867  	if c.header_ == nil {
  7868  		c.header_ = make(http.Header)
  7869  	}
  7870  	return c.header_
  7871  }
  7872  
  7873  func (c *CustomersChromePrintServersPatchCall) doRequest(alt string) (*http.Response, error) {
  7874  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7875  	var body io.Reader = nil
  7876  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.printserver)
  7877  	if err != nil {
  7878  		return nil, err
  7879  	}
  7880  	c.urlParams_.Set("alt", alt)
  7881  	c.urlParams_.Set("prettyPrint", "false")
  7882  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  7883  	urls += "?" + c.urlParams_.Encode()
  7884  	req, err := http.NewRequest("PATCH", urls, body)
  7885  	if err != nil {
  7886  		return nil, err
  7887  	}
  7888  	req.Header = reqHeaders
  7889  	googleapi.Expand(req.URL, map[string]string{
  7890  		"name": c.name,
  7891  	})
  7892  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7893  }
  7894  
  7895  // Do executes the "admin.customers.chrome.printServers.patch" call.
  7896  // Any non-2xx status code is an error. Response headers are in either
  7897  // *PrintServer.ServerResponse.Header or (if a response was returned at all) in
  7898  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7899  // whether the returned error was because http.StatusNotModified was returned.
  7900  func (c *CustomersChromePrintServersPatchCall) Do(opts ...googleapi.CallOption) (*PrintServer, error) {
  7901  	gensupport.SetOptions(c.urlParams_, opts...)
  7902  	res, err := c.doRequest("json")
  7903  	if res != nil && res.StatusCode == http.StatusNotModified {
  7904  		if res.Body != nil {
  7905  			res.Body.Close()
  7906  		}
  7907  		return nil, gensupport.WrapError(&googleapi.Error{
  7908  			Code:   res.StatusCode,
  7909  			Header: res.Header,
  7910  		})
  7911  	}
  7912  	if err != nil {
  7913  		return nil, err
  7914  	}
  7915  	defer googleapi.CloseBody(res)
  7916  	if err := googleapi.CheckResponse(res); err != nil {
  7917  		return nil, gensupport.WrapError(err)
  7918  	}
  7919  	ret := &PrintServer{
  7920  		ServerResponse: googleapi.ServerResponse{
  7921  			Header:         res.Header,
  7922  			HTTPStatusCode: res.StatusCode,
  7923  		},
  7924  	}
  7925  	target := &ret
  7926  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7927  		return nil, err
  7928  	}
  7929  	return ret, nil
  7930  }
  7931  
  7932  type CustomersChromePrintersBatchCreatePrintersCall struct {
  7933  	s                          *Service
  7934  	parent                     string
  7935  	batchcreateprintersrequest *BatchCreatePrintersRequest
  7936  	urlParams_                 gensupport.URLParams
  7937  	ctx_                       context.Context
  7938  	header_                    http.Header
  7939  }
  7940  
  7941  // BatchCreatePrinters: Creates printers under given Organization Unit.
  7942  //
  7943  // - parent: The name of the customer. Format: customers/{customer_id}.
  7944  func (r *CustomersChromePrintersService) BatchCreatePrinters(parent string, batchcreateprintersrequest *BatchCreatePrintersRequest) *CustomersChromePrintersBatchCreatePrintersCall {
  7945  	c := &CustomersChromePrintersBatchCreatePrintersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7946  	c.parent = parent
  7947  	c.batchcreateprintersrequest = batchcreateprintersrequest
  7948  	return c
  7949  }
  7950  
  7951  // Fields allows partial responses to be retrieved. See
  7952  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7953  // details.
  7954  func (c *CustomersChromePrintersBatchCreatePrintersCall) Fields(s ...googleapi.Field) *CustomersChromePrintersBatchCreatePrintersCall {
  7955  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7956  	return c
  7957  }
  7958  
  7959  // Context sets the context to be used in this call's Do method.
  7960  func (c *CustomersChromePrintersBatchCreatePrintersCall) Context(ctx context.Context) *CustomersChromePrintersBatchCreatePrintersCall {
  7961  	c.ctx_ = ctx
  7962  	return c
  7963  }
  7964  
  7965  // Header returns a http.Header that can be modified by the caller to add
  7966  // headers to the request.
  7967  func (c *CustomersChromePrintersBatchCreatePrintersCall) Header() http.Header {
  7968  	if c.header_ == nil {
  7969  		c.header_ = make(http.Header)
  7970  	}
  7971  	return c.header_
  7972  }
  7973  
  7974  func (c *CustomersChromePrintersBatchCreatePrintersCall) doRequest(alt string) (*http.Response, error) {
  7975  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7976  	var body io.Reader = nil
  7977  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateprintersrequest)
  7978  	if err != nil {
  7979  		return nil, err
  7980  	}
  7981  	c.urlParams_.Set("alt", alt)
  7982  	c.urlParams_.Set("prettyPrint", "false")
  7983  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printers:batchCreatePrinters")
  7984  	urls += "?" + c.urlParams_.Encode()
  7985  	req, err := http.NewRequest("POST", urls, body)
  7986  	if err != nil {
  7987  		return nil, err
  7988  	}
  7989  	req.Header = reqHeaders
  7990  	googleapi.Expand(req.URL, map[string]string{
  7991  		"parent": c.parent,
  7992  	})
  7993  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7994  }
  7995  
  7996  // Do executes the "admin.customers.chrome.printers.batchCreatePrinters" call.
  7997  // Any non-2xx status code is an error. Response headers are in either
  7998  // *BatchCreatePrintersResponse.ServerResponse.Header or (if a response was
  7999  // returned at all) in error.(*googleapi.Error).Header. Use
  8000  // googleapi.IsNotModified to check whether the returned error was because
  8001  // http.StatusNotModified was returned.
  8002  func (c *CustomersChromePrintersBatchCreatePrintersCall) Do(opts ...googleapi.CallOption) (*BatchCreatePrintersResponse, error) {
  8003  	gensupport.SetOptions(c.urlParams_, opts...)
  8004  	res, err := c.doRequest("json")
  8005  	if res != nil && res.StatusCode == http.StatusNotModified {
  8006  		if res.Body != nil {
  8007  			res.Body.Close()
  8008  		}
  8009  		return nil, gensupport.WrapError(&googleapi.Error{
  8010  			Code:   res.StatusCode,
  8011  			Header: res.Header,
  8012  		})
  8013  	}
  8014  	if err != nil {
  8015  		return nil, err
  8016  	}
  8017  	defer googleapi.CloseBody(res)
  8018  	if err := googleapi.CheckResponse(res); err != nil {
  8019  		return nil, gensupport.WrapError(err)
  8020  	}
  8021  	ret := &BatchCreatePrintersResponse{
  8022  		ServerResponse: googleapi.ServerResponse{
  8023  			Header:         res.Header,
  8024  			HTTPStatusCode: res.StatusCode,
  8025  		},
  8026  	}
  8027  	target := &ret
  8028  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8029  		return nil, err
  8030  	}
  8031  	return ret, nil
  8032  }
  8033  
  8034  type CustomersChromePrintersBatchDeletePrintersCall struct {
  8035  	s                          *Service
  8036  	parent                     string
  8037  	batchdeleteprintersrequest *BatchDeletePrintersRequest
  8038  	urlParams_                 gensupport.URLParams
  8039  	ctx_                       context.Context
  8040  	header_                    http.Header
  8041  }
  8042  
  8043  // BatchDeletePrinters: Deletes printers in batch.
  8044  //
  8045  // - parent: The name of the customer. Format: customers/{customer_id}.
  8046  func (r *CustomersChromePrintersService) BatchDeletePrinters(parent string, batchdeleteprintersrequest *BatchDeletePrintersRequest) *CustomersChromePrintersBatchDeletePrintersCall {
  8047  	c := &CustomersChromePrintersBatchDeletePrintersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8048  	c.parent = parent
  8049  	c.batchdeleteprintersrequest = batchdeleteprintersrequest
  8050  	return c
  8051  }
  8052  
  8053  // Fields allows partial responses to be retrieved. See
  8054  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8055  // details.
  8056  func (c *CustomersChromePrintersBatchDeletePrintersCall) Fields(s ...googleapi.Field) *CustomersChromePrintersBatchDeletePrintersCall {
  8057  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8058  	return c
  8059  }
  8060  
  8061  // Context sets the context to be used in this call's Do method.
  8062  func (c *CustomersChromePrintersBatchDeletePrintersCall) Context(ctx context.Context) *CustomersChromePrintersBatchDeletePrintersCall {
  8063  	c.ctx_ = ctx
  8064  	return c
  8065  }
  8066  
  8067  // Header returns a http.Header that can be modified by the caller to add
  8068  // headers to the request.
  8069  func (c *CustomersChromePrintersBatchDeletePrintersCall) Header() http.Header {
  8070  	if c.header_ == nil {
  8071  		c.header_ = make(http.Header)
  8072  	}
  8073  	return c.header_
  8074  }
  8075  
  8076  func (c *CustomersChromePrintersBatchDeletePrintersCall) doRequest(alt string) (*http.Response, error) {
  8077  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8078  	var body io.Reader = nil
  8079  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeleteprintersrequest)
  8080  	if err != nil {
  8081  		return nil, err
  8082  	}
  8083  	c.urlParams_.Set("alt", alt)
  8084  	c.urlParams_.Set("prettyPrint", "false")
  8085  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printers:batchDeletePrinters")
  8086  	urls += "?" + c.urlParams_.Encode()
  8087  	req, err := http.NewRequest("POST", urls, body)
  8088  	if err != nil {
  8089  		return nil, err
  8090  	}
  8091  	req.Header = reqHeaders
  8092  	googleapi.Expand(req.URL, map[string]string{
  8093  		"parent": c.parent,
  8094  	})
  8095  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8096  }
  8097  
  8098  // Do executes the "admin.customers.chrome.printers.batchDeletePrinters" call.
  8099  // Any non-2xx status code is an error. Response headers are in either
  8100  // *BatchDeletePrintersResponse.ServerResponse.Header or (if a response was
  8101  // returned at all) in error.(*googleapi.Error).Header. Use
  8102  // googleapi.IsNotModified to check whether the returned error was because
  8103  // http.StatusNotModified was returned.
  8104  func (c *CustomersChromePrintersBatchDeletePrintersCall) Do(opts ...googleapi.CallOption) (*BatchDeletePrintersResponse, error) {
  8105  	gensupport.SetOptions(c.urlParams_, opts...)
  8106  	res, err := c.doRequest("json")
  8107  	if res != nil && res.StatusCode == http.StatusNotModified {
  8108  		if res.Body != nil {
  8109  			res.Body.Close()
  8110  		}
  8111  		return nil, gensupport.WrapError(&googleapi.Error{
  8112  			Code:   res.StatusCode,
  8113  			Header: res.Header,
  8114  		})
  8115  	}
  8116  	if err != nil {
  8117  		return nil, err
  8118  	}
  8119  	defer googleapi.CloseBody(res)
  8120  	if err := googleapi.CheckResponse(res); err != nil {
  8121  		return nil, gensupport.WrapError(err)
  8122  	}
  8123  	ret := &BatchDeletePrintersResponse{
  8124  		ServerResponse: googleapi.ServerResponse{
  8125  			Header:         res.Header,
  8126  			HTTPStatusCode: res.StatusCode,
  8127  		},
  8128  	}
  8129  	target := &ret
  8130  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8131  		return nil, err
  8132  	}
  8133  	return ret, nil
  8134  }
  8135  
  8136  type CustomersChromePrintersCreateCall struct {
  8137  	s          *Service
  8138  	parent     string
  8139  	printer    *Printer
  8140  	urlParams_ gensupport.URLParams
  8141  	ctx_       context.Context
  8142  	header_    http.Header
  8143  }
  8144  
  8145  // Create: Creates a printer under given Organization Unit.
  8146  //
  8147  // - parent: The name of the customer. Format: customers/{customer_id}.
  8148  func (r *CustomersChromePrintersService) Create(parent string, printer *Printer) *CustomersChromePrintersCreateCall {
  8149  	c := &CustomersChromePrintersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8150  	c.parent = parent
  8151  	c.printer = printer
  8152  	return c
  8153  }
  8154  
  8155  // Fields allows partial responses to be retrieved. See
  8156  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8157  // details.
  8158  func (c *CustomersChromePrintersCreateCall) Fields(s ...googleapi.Field) *CustomersChromePrintersCreateCall {
  8159  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8160  	return c
  8161  }
  8162  
  8163  // Context sets the context to be used in this call's Do method.
  8164  func (c *CustomersChromePrintersCreateCall) Context(ctx context.Context) *CustomersChromePrintersCreateCall {
  8165  	c.ctx_ = ctx
  8166  	return c
  8167  }
  8168  
  8169  // Header returns a http.Header that can be modified by the caller to add
  8170  // headers to the request.
  8171  func (c *CustomersChromePrintersCreateCall) Header() http.Header {
  8172  	if c.header_ == nil {
  8173  		c.header_ = make(http.Header)
  8174  	}
  8175  	return c.header_
  8176  }
  8177  
  8178  func (c *CustomersChromePrintersCreateCall) doRequest(alt string) (*http.Response, error) {
  8179  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8180  	var body io.Reader = nil
  8181  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.printer)
  8182  	if err != nil {
  8183  		return nil, err
  8184  	}
  8185  	c.urlParams_.Set("alt", alt)
  8186  	c.urlParams_.Set("prettyPrint", "false")
  8187  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printers")
  8188  	urls += "?" + c.urlParams_.Encode()
  8189  	req, err := http.NewRequest("POST", urls, body)
  8190  	if err != nil {
  8191  		return nil, err
  8192  	}
  8193  	req.Header = reqHeaders
  8194  	googleapi.Expand(req.URL, map[string]string{
  8195  		"parent": c.parent,
  8196  	})
  8197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8198  }
  8199  
  8200  // Do executes the "admin.customers.chrome.printers.create" call.
  8201  // Any non-2xx status code is an error. Response headers are in either
  8202  // *Printer.ServerResponse.Header or (if a response was returned at all) in
  8203  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8204  // whether the returned error was because http.StatusNotModified was returned.
  8205  func (c *CustomersChromePrintersCreateCall) Do(opts ...googleapi.CallOption) (*Printer, error) {
  8206  	gensupport.SetOptions(c.urlParams_, opts...)
  8207  	res, err := c.doRequest("json")
  8208  	if res != nil && res.StatusCode == http.StatusNotModified {
  8209  		if res.Body != nil {
  8210  			res.Body.Close()
  8211  		}
  8212  		return nil, gensupport.WrapError(&googleapi.Error{
  8213  			Code:   res.StatusCode,
  8214  			Header: res.Header,
  8215  		})
  8216  	}
  8217  	if err != nil {
  8218  		return nil, err
  8219  	}
  8220  	defer googleapi.CloseBody(res)
  8221  	if err := googleapi.CheckResponse(res); err != nil {
  8222  		return nil, gensupport.WrapError(err)
  8223  	}
  8224  	ret := &Printer{
  8225  		ServerResponse: googleapi.ServerResponse{
  8226  			Header:         res.Header,
  8227  			HTTPStatusCode: res.StatusCode,
  8228  		},
  8229  	}
  8230  	target := &ret
  8231  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8232  		return nil, err
  8233  	}
  8234  	return ret, nil
  8235  }
  8236  
  8237  type CustomersChromePrintersDeleteCall struct {
  8238  	s          *Service
  8239  	name       string
  8240  	urlParams_ gensupport.URLParams
  8241  	ctx_       context.Context
  8242  	header_    http.Header
  8243  }
  8244  
  8245  // Delete: Deletes a `Printer`.
  8246  //
  8247  //   - name: The name of the printer to be updated. Format:
  8248  //     customers/{customer_id}/chrome/printers/{printer_id}.
  8249  func (r *CustomersChromePrintersService) Delete(name string) *CustomersChromePrintersDeleteCall {
  8250  	c := &CustomersChromePrintersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8251  	c.name = name
  8252  	return c
  8253  }
  8254  
  8255  // Fields allows partial responses to be retrieved. See
  8256  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8257  // details.
  8258  func (c *CustomersChromePrintersDeleteCall) Fields(s ...googleapi.Field) *CustomersChromePrintersDeleteCall {
  8259  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8260  	return c
  8261  }
  8262  
  8263  // Context sets the context to be used in this call's Do method.
  8264  func (c *CustomersChromePrintersDeleteCall) Context(ctx context.Context) *CustomersChromePrintersDeleteCall {
  8265  	c.ctx_ = ctx
  8266  	return c
  8267  }
  8268  
  8269  // Header returns a http.Header that can be modified by the caller to add
  8270  // headers to the request.
  8271  func (c *CustomersChromePrintersDeleteCall) Header() http.Header {
  8272  	if c.header_ == nil {
  8273  		c.header_ = make(http.Header)
  8274  	}
  8275  	return c.header_
  8276  }
  8277  
  8278  func (c *CustomersChromePrintersDeleteCall) doRequest(alt string) (*http.Response, error) {
  8279  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8280  	var body io.Reader = nil
  8281  	c.urlParams_.Set("alt", alt)
  8282  	c.urlParams_.Set("prettyPrint", "false")
  8283  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  8284  	urls += "?" + c.urlParams_.Encode()
  8285  	req, err := http.NewRequest("DELETE", urls, body)
  8286  	if err != nil {
  8287  		return nil, err
  8288  	}
  8289  	req.Header = reqHeaders
  8290  	googleapi.Expand(req.URL, map[string]string{
  8291  		"name": c.name,
  8292  	})
  8293  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8294  }
  8295  
  8296  // Do executes the "admin.customers.chrome.printers.delete" call.
  8297  // Any non-2xx status code is an error. Response headers are in either
  8298  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  8299  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8300  // whether the returned error was because http.StatusNotModified was returned.
  8301  func (c *CustomersChromePrintersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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 := &Empty{
  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 CustomersChromePrintersGetCall struct {
  8334  	s            *Service
  8335  	name         string
  8336  	urlParams_   gensupport.URLParams
  8337  	ifNoneMatch_ string
  8338  	ctx_         context.Context
  8339  	header_      http.Header
  8340  }
  8341  
  8342  // Get: Returns a `Printer` resource (printer's config).
  8343  //
  8344  //   - name: The name of the printer to retrieve. Format:
  8345  //     customers/{customer_id}/chrome/printers/{printer_id}.
  8346  func (r *CustomersChromePrintersService) Get(name string) *CustomersChromePrintersGetCall {
  8347  	c := &CustomersChromePrintersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8348  	c.name = name
  8349  	return c
  8350  }
  8351  
  8352  // Fields allows partial responses to be retrieved. See
  8353  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8354  // details.
  8355  func (c *CustomersChromePrintersGetCall) Fields(s ...googleapi.Field) *CustomersChromePrintersGetCall {
  8356  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8357  	return c
  8358  }
  8359  
  8360  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8361  // object's ETag matches the given value. This is useful for getting updates
  8362  // only after the object has changed since the last request.
  8363  func (c *CustomersChromePrintersGetCall) IfNoneMatch(entityTag string) *CustomersChromePrintersGetCall {
  8364  	c.ifNoneMatch_ = entityTag
  8365  	return c
  8366  }
  8367  
  8368  // Context sets the context to be used in this call's Do method.
  8369  func (c *CustomersChromePrintersGetCall) Context(ctx context.Context) *CustomersChromePrintersGetCall {
  8370  	c.ctx_ = ctx
  8371  	return c
  8372  }
  8373  
  8374  // Header returns a http.Header that can be modified by the caller to add
  8375  // headers to the request.
  8376  func (c *CustomersChromePrintersGetCall) Header() http.Header {
  8377  	if c.header_ == nil {
  8378  		c.header_ = make(http.Header)
  8379  	}
  8380  	return c.header_
  8381  }
  8382  
  8383  func (c *CustomersChromePrintersGetCall) doRequest(alt string) (*http.Response, error) {
  8384  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8385  	if c.ifNoneMatch_ != "" {
  8386  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8387  	}
  8388  	var body io.Reader = nil
  8389  	c.urlParams_.Set("alt", alt)
  8390  	c.urlParams_.Set("prettyPrint", "false")
  8391  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  8392  	urls += "?" + c.urlParams_.Encode()
  8393  	req, err := http.NewRequest("GET", urls, body)
  8394  	if err != nil {
  8395  		return nil, err
  8396  	}
  8397  	req.Header = reqHeaders
  8398  	googleapi.Expand(req.URL, map[string]string{
  8399  		"name": c.name,
  8400  	})
  8401  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8402  }
  8403  
  8404  // Do executes the "admin.customers.chrome.printers.get" call.
  8405  // Any non-2xx status code is an error. Response headers are in either
  8406  // *Printer.ServerResponse.Header or (if a response was returned at all) in
  8407  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8408  // whether the returned error was because http.StatusNotModified was returned.
  8409  func (c *CustomersChromePrintersGetCall) Do(opts ...googleapi.CallOption) (*Printer, error) {
  8410  	gensupport.SetOptions(c.urlParams_, opts...)
  8411  	res, err := c.doRequest("json")
  8412  	if res != nil && res.StatusCode == http.StatusNotModified {
  8413  		if res.Body != nil {
  8414  			res.Body.Close()
  8415  		}
  8416  		return nil, gensupport.WrapError(&googleapi.Error{
  8417  			Code:   res.StatusCode,
  8418  			Header: res.Header,
  8419  		})
  8420  	}
  8421  	if err != nil {
  8422  		return nil, err
  8423  	}
  8424  	defer googleapi.CloseBody(res)
  8425  	if err := googleapi.CheckResponse(res); err != nil {
  8426  		return nil, gensupport.WrapError(err)
  8427  	}
  8428  	ret := &Printer{
  8429  		ServerResponse: googleapi.ServerResponse{
  8430  			Header:         res.Header,
  8431  			HTTPStatusCode: res.StatusCode,
  8432  		},
  8433  	}
  8434  	target := &ret
  8435  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8436  		return nil, err
  8437  	}
  8438  	return ret, nil
  8439  }
  8440  
  8441  type CustomersChromePrintersListCall struct {
  8442  	s            *Service
  8443  	parent       string
  8444  	urlParams_   gensupport.URLParams
  8445  	ifNoneMatch_ string
  8446  	ctx_         context.Context
  8447  	header_      http.Header
  8448  }
  8449  
  8450  // List: List printers configs.
  8451  //
  8452  //   - parent: The name of the customer who owns this collection of printers.
  8453  //     Format: customers/{customer_id}.
  8454  func (r *CustomersChromePrintersService) List(parent string) *CustomersChromePrintersListCall {
  8455  	c := &CustomersChromePrintersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8456  	c.parent = parent
  8457  	return c
  8458  }
  8459  
  8460  // Filter sets the optional parameter "filter": Search query. Search syntax is
  8461  // shared between this api and Admin Console printers pages.
  8462  func (c *CustomersChromePrintersListCall) Filter(filter string) *CustomersChromePrintersListCall {
  8463  	c.urlParams_.Set("filter", filter)
  8464  	return c
  8465  }
  8466  
  8467  // OrderBy sets the optional parameter "orderBy": The order to sort results by.
  8468  // Must be one of display_name, description, make_and_model, or create_time.
  8469  // Default order is ascending, but descending order can be returned by
  8470  // appending "desc" to the order_by field. For instance, "description desc"
  8471  // will return the printers sorted by description in descending order.
  8472  func (c *CustomersChromePrintersListCall) OrderBy(orderBy string) *CustomersChromePrintersListCall {
  8473  	c.urlParams_.Set("orderBy", orderBy)
  8474  	return c
  8475  }
  8476  
  8477  // OrgUnitId sets the optional parameter "orgUnitId": Organization Unit that we
  8478  // want to list the printers for. When org_unit is not present in the request
  8479  // then all printers of the customer are returned (or filtered). When org_unit
  8480  // is present in the request then only printers available to this OU will be
  8481  // returned (owned or inherited). You may see if printer is owned or inherited
  8482  // for this OU by looking at Printer.org_unit_id.
  8483  func (c *CustomersChromePrintersListCall) OrgUnitId(orgUnitId string) *CustomersChromePrintersListCall {
  8484  	c.urlParams_.Set("orgUnitId", orgUnitId)
  8485  	return c
  8486  }
  8487  
  8488  // PageSize sets the optional parameter "pageSize": The maximum number of
  8489  // objects to return. The service may return fewer than this value.
  8490  func (c *CustomersChromePrintersListCall) PageSize(pageSize int64) *CustomersChromePrintersListCall {
  8491  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8492  	return c
  8493  }
  8494  
  8495  // PageToken sets the optional parameter "pageToken": A page token, received
  8496  // from a previous call.
  8497  func (c *CustomersChromePrintersListCall) PageToken(pageToken string) *CustomersChromePrintersListCall {
  8498  	c.urlParams_.Set("pageToken", pageToken)
  8499  	return c
  8500  }
  8501  
  8502  // Fields allows partial responses to be retrieved. See
  8503  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8504  // details.
  8505  func (c *CustomersChromePrintersListCall) Fields(s ...googleapi.Field) *CustomersChromePrintersListCall {
  8506  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8507  	return c
  8508  }
  8509  
  8510  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8511  // object's ETag matches the given value. This is useful for getting updates
  8512  // only after the object has changed since the last request.
  8513  func (c *CustomersChromePrintersListCall) IfNoneMatch(entityTag string) *CustomersChromePrintersListCall {
  8514  	c.ifNoneMatch_ = entityTag
  8515  	return c
  8516  }
  8517  
  8518  // Context sets the context to be used in this call's Do method.
  8519  func (c *CustomersChromePrintersListCall) Context(ctx context.Context) *CustomersChromePrintersListCall {
  8520  	c.ctx_ = ctx
  8521  	return c
  8522  }
  8523  
  8524  // Header returns a http.Header that can be modified by the caller to add
  8525  // headers to the request.
  8526  func (c *CustomersChromePrintersListCall) Header() http.Header {
  8527  	if c.header_ == nil {
  8528  		c.header_ = make(http.Header)
  8529  	}
  8530  	return c.header_
  8531  }
  8532  
  8533  func (c *CustomersChromePrintersListCall) doRequest(alt string) (*http.Response, error) {
  8534  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8535  	if c.ifNoneMatch_ != "" {
  8536  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8537  	}
  8538  	var body io.Reader = nil
  8539  	c.urlParams_.Set("alt", alt)
  8540  	c.urlParams_.Set("prettyPrint", "false")
  8541  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printers")
  8542  	urls += "?" + c.urlParams_.Encode()
  8543  	req, err := http.NewRequest("GET", urls, body)
  8544  	if err != nil {
  8545  		return nil, err
  8546  	}
  8547  	req.Header = reqHeaders
  8548  	googleapi.Expand(req.URL, map[string]string{
  8549  		"parent": c.parent,
  8550  	})
  8551  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8552  }
  8553  
  8554  // Do executes the "admin.customers.chrome.printers.list" call.
  8555  // Any non-2xx status code is an error. Response headers are in either
  8556  // *ListPrintersResponse.ServerResponse.Header or (if a response was returned
  8557  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8558  // check whether the returned error was because http.StatusNotModified was
  8559  // returned.
  8560  func (c *CustomersChromePrintersListCall) Do(opts ...googleapi.CallOption) (*ListPrintersResponse, error) {
  8561  	gensupport.SetOptions(c.urlParams_, opts...)
  8562  	res, err := c.doRequest("json")
  8563  	if res != nil && res.StatusCode == http.StatusNotModified {
  8564  		if res.Body != nil {
  8565  			res.Body.Close()
  8566  		}
  8567  		return nil, gensupport.WrapError(&googleapi.Error{
  8568  			Code:   res.StatusCode,
  8569  			Header: res.Header,
  8570  		})
  8571  	}
  8572  	if err != nil {
  8573  		return nil, err
  8574  	}
  8575  	defer googleapi.CloseBody(res)
  8576  	if err := googleapi.CheckResponse(res); err != nil {
  8577  		return nil, gensupport.WrapError(err)
  8578  	}
  8579  	ret := &ListPrintersResponse{
  8580  		ServerResponse: googleapi.ServerResponse{
  8581  			Header:         res.Header,
  8582  			HTTPStatusCode: res.StatusCode,
  8583  		},
  8584  	}
  8585  	target := &ret
  8586  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8587  		return nil, err
  8588  	}
  8589  	return ret, nil
  8590  }
  8591  
  8592  // Pages invokes f for each page of results.
  8593  // A non-nil error returned from f will halt the iteration.
  8594  // The provided context supersedes any context provided to the Context method.
  8595  func (c *CustomersChromePrintersListCall) Pages(ctx context.Context, f func(*ListPrintersResponse) error) error {
  8596  	c.ctx_ = ctx
  8597  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8598  	for {
  8599  		x, err := c.Do()
  8600  		if err != nil {
  8601  			return err
  8602  		}
  8603  		if err := f(x); err != nil {
  8604  			return err
  8605  		}
  8606  		if x.NextPageToken == "" {
  8607  			return nil
  8608  		}
  8609  		c.PageToken(x.NextPageToken)
  8610  	}
  8611  }
  8612  
  8613  type CustomersChromePrintersListPrinterModelsCall struct {
  8614  	s            *Service
  8615  	parent       string
  8616  	urlParams_   gensupport.URLParams
  8617  	ifNoneMatch_ string
  8618  	ctx_         context.Context
  8619  	header_      http.Header
  8620  }
  8621  
  8622  // ListPrinterModels: Lists the supported printer models.
  8623  //
  8624  //   - parent: The name of the customer who owns this collection of printers.
  8625  //     Format: customers/{customer_id}.
  8626  func (r *CustomersChromePrintersService) ListPrinterModels(parent string) *CustomersChromePrintersListPrinterModelsCall {
  8627  	c := &CustomersChromePrintersListPrinterModelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8628  	c.parent = parent
  8629  	return c
  8630  }
  8631  
  8632  // Filter sets the optional parameter "filter": Filer to list only models by a
  8633  // given manufacturer in format: "manufacturer:Brother". Search syntax is
  8634  // shared between this api and Admin Console printers pages.
  8635  func (c *CustomersChromePrintersListPrinterModelsCall) Filter(filter string) *CustomersChromePrintersListPrinterModelsCall {
  8636  	c.urlParams_.Set("filter", filter)
  8637  	return c
  8638  }
  8639  
  8640  // PageSize sets the optional parameter "pageSize": The maximum number of
  8641  // objects to return. The service may return fewer than this value.
  8642  func (c *CustomersChromePrintersListPrinterModelsCall) PageSize(pageSize int64) *CustomersChromePrintersListPrinterModelsCall {
  8643  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8644  	return c
  8645  }
  8646  
  8647  // PageToken sets the optional parameter "pageToken": A page token, received
  8648  // from a previous call.
  8649  func (c *CustomersChromePrintersListPrinterModelsCall) PageToken(pageToken string) *CustomersChromePrintersListPrinterModelsCall {
  8650  	c.urlParams_.Set("pageToken", pageToken)
  8651  	return c
  8652  }
  8653  
  8654  // Fields allows partial responses to be retrieved. See
  8655  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8656  // details.
  8657  func (c *CustomersChromePrintersListPrinterModelsCall) Fields(s ...googleapi.Field) *CustomersChromePrintersListPrinterModelsCall {
  8658  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8659  	return c
  8660  }
  8661  
  8662  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8663  // object's ETag matches the given value. This is useful for getting updates
  8664  // only after the object has changed since the last request.
  8665  func (c *CustomersChromePrintersListPrinterModelsCall) IfNoneMatch(entityTag string) *CustomersChromePrintersListPrinterModelsCall {
  8666  	c.ifNoneMatch_ = entityTag
  8667  	return c
  8668  }
  8669  
  8670  // Context sets the context to be used in this call's Do method.
  8671  func (c *CustomersChromePrintersListPrinterModelsCall) Context(ctx context.Context) *CustomersChromePrintersListPrinterModelsCall {
  8672  	c.ctx_ = ctx
  8673  	return c
  8674  }
  8675  
  8676  // Header returns a http.Header that can be modified by the caller to add
  8677  // headers to the request.
  8678  func (c *CustomersChromePrintersListPrinterModelsCall) Header() http.Header {
  8679  	if c.header_ == nil {
  8680  		c.header_ = make(http.Header)
  8681  	}
  8682  	return c.header_
  8683  }
  8684  
  8685  func (c *CustomersChromePrintersListPrinterModelsCall) doRequest(alt string) (*http.Response, error) {
  8686  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8687  	if c.ifNoneMatch_ != "" {
  8688  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8689  	}
  8690  	var body io.Reader = nil
  8691  	c.urlParams_.Set("alt", alt)
  8692  	c.urlParams_.Set("prettyPrint", "false")
  8693  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+parent}/chrome/printers:listPrinterModels")
  8694  	urls += "?" + c.urlParams_.Encode()
  8695  	req, err := http.NewRequest("GET", urls, body)
  8696  	if err != nil {
  8697  		return nil, err
  8698  	}
  8699  	req.Header = reqHeaders
  8700  	googleapi.Expand(req.URL, map[string]string{
  8701  		"parent": c.parent,
  8702  	})
  8703  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8704  }
  8705  
  8706  // Do executes the "admin.customers.chrome.printers.listPrinterModels" call.
  8707  // Any non-2xx status code is an error. Response headers are in either
  8708  // *ListPrinterModelsResponse.ServerResponse.Header or (if a response was
  8709  // returned at all) in error.(*googleapi.Error).Header. Use
  8710  // googleapi.IsNotModified to check whether the returned error was because
  8711  // http.StatusNotModified was returned.
  8712  func (c *CustomersChromePrintersListPrinterModelsCall) Do(opts ...googleapi.CallOption) (*ListPrinterModelsResponse, error) {
  8713  	gensupport.SetOptions(c.urlParams_, opts...)
  8714  	res, err := c.doRequest("json")
  8715  	if res != nil && res.StatusCode == http.StatusNotModified {
  8716  		if res.Body != nil {
  8717  			res.Body.Close()
  8718  		}
  8719  		return nil, gensupport.WrapError(&googleapi.Error{
  8720  			Code:   res.StatusCode,
  8721  			Header: res.Header,
  8722  		})
  8723  	}
  8724  	if err != nil {
  8725  		return nil, err
  8726  	}
  8727  	defer googleapi.CloseBody(res)
  8728  	if err := googleapi.CheckResponse(res); err != nil {
  8729  		return nil, gensupport.WrapError(err)
  8730  	}
  8731  	ret := &ListPrinterModelsResponse{
  8732  		ServerResponse: googleapi.ServerResponse{
  8733  			Header:         res.Header,
  8734  			HTTPStatusCode: res.StatusCode,
  8735  		},
  8736  	}
  8737  	target := &ret
  8738  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8739  		return nil, err
  8740  	}
  8741  	return ret, nil
  8742  }
  8743  
  8744  // Pages invokes f for each page of results.
  8745  // A non-nil error returned from f will halt the iteration.
  8746  // The provided context supersedes any context provided to the Context method.
  8747  func (c *CustomersChromePrintersListPrinterModelsCall) Pages(ctx context.Context, f func(*ListPrinterModelsResponse) error) error {
  8748  	c.ctx_ = ctx
  8749  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8750  	for {
  8751  		x, err := c.Do()
  8752  		if err != nil {
  8753  			return err
  8754  		}
  8755  		if err := f(x); err != nil {
  8756  			return err
  8757  		}
  8758  		if x.NextPageToken == "" {
  8759  			return nil
  8760  		}
  8761  		c.PageToken(x.NextPageToken)
  8762  	}
  8763  }
  8764  
  8765  type CustomersChromePrintersPatchCall struct {
  8766  	s          *Service
  8767  	name       string
  8768  	printer    *Printer
  8769  	urlParams_ gensupport.URLParams
  8770  	ctx_       context.Context
  8771  	header_    http.Header
  8772  }
  8773  
  8774  // Patch: Updates a `Printer` resource.
  8775  //
  8776  //   - name: The resource name of the Printer object, in the format
  8777  //     customers/{customer-id}/printers/{printer-id} (During printer creation
  8778  //     leave empty).
  8779  func (r *CustomersChromePrintersService) Patch(name string, printer *Printer) *CustomersChromePrintersPatchCall {
  8780  	c := &CustomersChromePrintersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8781  	c.name = name
  8782  	c.printer = printer
  8783  	return c
  8784  }
  8785  
  8786  // ClearMask sets the optional parameter "clearMask": The list of fields to be
  8787  // cleared. Note, some of the fields are read only and cannot be updated.
  8788  // Values for not specified fields will be patched.
  8789  func (c *CustomersChromePrintersPatchCall) ClearMask(clearMask string) *CustomersChromePrintersPatchCall {
  8790  	c.urlParams_.Set("clearMask", clearMask)
  8791  	return c
  8792  }
  8793  
  8794  // UpdateMask sets the optional parameter "updateMask": The list of fields to
  8795  // be updated. Note, some of the fields are read only and cannot be updated.
  8796  // Values for not specified fields will be patched.
  8797  func (c *CustomersChromePrintersPatchCall) UpdateMask(updateMask string) *CustomersChromePrintersPatchCall {
  8798  	c.urlParams_.Set("updateMask", updateMask)
  8799  	return c
  8800  }
  8801  
  8802  // Fields allows partial responses to be retrieved. See
  8803  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8804  // details.
  8805  func (c *CustomersChromePrintersPatchCall) Fields(s ...googleapi.Field) *CustomersChromePrintersPatchCall {
  8806  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8807  	return c
  8808  }
  8809  
  8810  // Context sets the context to be used in this call's Do method.
  8811  func (c *CustomersChromePrintersPatchCall) Context(ctx context.Context) *CustomersChromePrintersPatchCall {
  8812  	c.ctx_ = ctx
  8813  	return c
  8814  }
  8815  
  8816  // Header returns a http.Header that can be modified by the caller to add
  8817  // headers to the request.
  8818  func (c *CustomersChromePrintersPatchCall) Header() http.Header {
  8819  	if c.header_ == nil {
  8820  		c.header_ = make(http.Header)
  8821  	}
  8822  	return c.header_
  8823  }
  8824  
  8825  func (c *CustomersChromePrintersPatchCall) doRequest(alt string) (*http.Response, error) {
  8826  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8827  	var body io.Reader = nil
  8828  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.printer)
  8829  	if err != nil {
  8830  		return nil, err
  8831  	}
  8832  	c.urlParams_.Set("alt", alt)
  8833  	c.urlParams_.Set("prettyPrint", "false")
  8834  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/{+name}")
  8835  	urls += "?" + c.urlParams_.Encode()
  8836  	req, err := http.NewRequest("PATCH", urls, body)
  8837  	if err != nil {
  8838  		return nil, err
  8839  	}
  8840  	req.Header = reqHeaders
  8841  	googleapi.Expand(req.URL, map[string]string{
  8842  		"name": c.name,
  8843  	})
  8844  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8845  }
  8846  
  8847  // Do executes the "admin.customers.chrome.printers.patch" call.
  8848  // Any non-2xx status code is an error. Response headers are in either
  8849  // *Printer.ServerResponse.Header or (if a response was returned at all) in
  8850  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8851  // whether the returned error was because http.StatusNotModified was returned.
  8852  func (c *CustomersChromePrintersPatchCall) Do(opts ...googleapi.CallOption) (*Printer, error) {
  8853  	gensupport.SetOptions(c.urlParams_, opts...)
  8854  	res, err := c.doRequest("json")
  8855  	if res != nil && res.StatusCode == http.StatusNotModified {
  8856  		if res.Body != nil {
  8857  			res.Body.Close()
  8858  		}
  8859  		return nil, gensupport.WrapError(&googleapi.Error{
  8860  			Code:   res.StatusCode,
  8861  			Header: res.Header,
  8862  		})
  8863  	}
  8864  	if err != nil {
  8865  		return nil, err
  8866  	}
  8867  	defer googleapi.CloseBody(res)
  8868  	if err := googleapi.CheckResponse(res); err != nil {
  8869  		return nil, gensupport.WrapError(err)
  8870  	}
  8871  	ret := &Printer{
  8872  		ServerResponse: googleapi.ServerResponse{
  8873  			Header:         res.Header,
  8874  			HTTPStatusCode: res.StatusCode,
  8875  		},
  8876  	}
  8877  	target := &ret
  8878  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8879  		return nil, err
  8880  	}
  8881  	return ret, nil
  8882  }
  8883  
  8884  type DomainAliasesDeleteCall struct {
  8885  	s               *Service
  8886  	customer        string
  8887  	domainAliasName string
  8888  	urlParams_      gensupport.URLParams
  8889  	ctx_            context.Context
  8890  	header_         http.Header
  8891  }
  8892  
  8893  // Delete: Deletes a domain Alias of the customer.
  8894  //
  8895  // - customer: Immutable ID of the Google Workspace account.
  8896  // - domainAliasName: Name of domain alias to be retrieved.
  8897  func (r *DomainAliasesService) Delete(customer string, domainAliasName string) *DomainAliasesDeleteCall {
  8898  	c := &DomainAliasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8899  	c.customer = customer
  8900  	c.domainAliasName = domainAliasName
  8901  	return c
  8902  }
  8903  
  8904  // Fields allows partial responses to be retrieved. See
  8905  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8906  // details.
  8907  func (c *DomainAliasesDeleteCall) Fields(s ...googleapi.Field) *DomainAliasesDeleteCall {
  8908  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8909  	return c
  8910  }
  8911  
  8912  // Context sets the context to be used in this call's Do method.
  8913  func (c *DomainAliasesDeleteCall) Context(ctx context.Context) *DomainAliasesDeleteCall {
  8914  	c.ctx_ = ctx
  8915  	return c
  8916  }
  8917  
  8918  // Header returns a http.Header that can be modified by the caller to add
  8919  // headers to the request.
  8920  func (c *DomainAliasesDeleteCall) Header() http.Header {
  8921  	if c.header_ == nil {
  8922  		c.header_ = make(http.Header)
  8923  	}
  8924  	return c.header_
  8925  }
  8926  
  8927  func (c *DomainAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8928  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8929  	var body io.Reader = nil
  8930  	c.urlParams_.Set("alt", alt)
  8931  	c.urlParams_.Set("prettyPrint", "false")
  8932  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domainaliases/{domainAliasName}")
  8933  	urls += "?" + c.urlParams_.Encode()
  8934  	req, err := http.NewRequest("DELETE", urls, body)
  8935  	if err != nil {
  8936  		return nil, err
  8937  	}
  8938  	req.Header = reqHeaders
  8939  	googleapi.Expand(req.URL, map[string]string{
  8940  		"customer":        c.customer,
  8941  		"domainAliasName": c.domainAliasName,
  8942  	})
  8943  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8944  }
  8945  
  8946  // Do executes the "directory.domainAliases.delete" call.
  8947  func (c *DomainAliasesDeleteCall) Do(opts ...googleapi.CallOption) error {
  8948  	gensupport.SetOptions(c.urlParams_, opts...)
  8949  	res, err := c.doRequest("json")
  8950  	if err != nil {
  8951  		return err
  8952  	}
  8953  	defer googleapi.CloseBody(res)
  8954  	if err := googleapi.CheckResponse(res); err != nil {
  8955  		return gensupport.WrapError(err)
  8956  	}
  8957  	return nil
  8958  }
  8959  
  8960  type DomainAliasesGetCall struct {
  8961  	s               *Service
  8962  	customer        string
  8963  	domainAliasName string
  8964  	urlParams_      gensupport.URLParams
  8965  	ifNoneMatch_    string
  8966  	ctx_            context.Context
  8967  	header_         http.Header
  8968  }
  8969  
  8970  // Get: Retrieves a domain alias of the customer.
  8971  //
  8972  //   - customer: The unique ID for the customer's Google Workspace account. In
  8973  //     case of a multi-domain account, to fetch all groups for a customer, use
  8974  //     this field instead of `domain`. You can also use the `my_customer` alias
  8975  //     to represent your account's `customerId`. The `customerId` is also
  8976  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
  8977  //     resource. You must provide either the `customer` or the `domain`
  8978  //     parameter.
  8979  //   - domainAliasName: Name of domain alias to be retrieved.
  8980  func (r *DomainAliasesService) Get(customer string, domainAliasName string) *DomainAliasesGetCall {
  8981  	c := &DomainAliasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8982  	c.customer = customer
  8983  	c.domainAliasName = domainAliasName
  8984  	return c
  8985  }
  8986  
  8987  // Fields allows partial responses to be retrieved. See
  8988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8989  // details.
  8990  func (c *DomainAliasesGetCall) Fields(s ...googleapi.Field) *DomainAliasesGetCall {
  8991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8992  	return c
  8993  }
  8994  
  8995  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8996  // object's ETag matches the given value. This is useful for getting updates
  8997  // only after the object has changed since the last request.
  8998  func (c *DomainAliasesGetCall) IfNoneMatch(entityTag string) *DomainAliasesGetCall {
  8999  	c.ifNoneMatch_ = entityTag
  9000  	return c
  9001  }
  9002  
  9003  // Context sets the context to be used in this call's Do method.
  9004  func (c *DomainAliasesGetCall) Context(ctx context.Context) *DomainAliasesGetCall {
  9005  	c.ctx_ = ctx
  9006  	return c
  9007  }
  9008  
  9009  // Header returns a http.Header that can be modified by the caller to add
  9010  // headers to the request.
  9011  func (c *DomainAliasesGetCall) Header() http.Header {
  9012  	if c.header_ == nil {
  9013  		c.header_ = make(http.Header)
  9014  	}
  9015  	return c.header_
  9016  }
  9017  
  9018  func (c *DomainAliasesGetCall) doRequest(alt string) (*http.Response, error) {
  9019  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9020  	if c.ifNoneMatch_ != "" {
  9021  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9022  	}
  9023  	var body io.Reader = nil
  9024  	c.urlParams_.Set("alt", alt)
  9025  	c.urlParams_.Set("prettyPrint", "false")
  9026  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domainaliases/{domainAliasName}")
  9027  	urls += "?" + c.urlParams_.Encode()
  9028  	req, err := http.NewRequest("GET", urls, body)
  9029  	if err != nil {
  9030  		return nil, err
  9031  	}
  9032  	req.Header = reqHeaders
  9033  	googleapi.Expand(req.URL, map[string]string{
  9034  		"customer":        c.customer,
  9035  		"domainAliasName": c.domainAliasName,
  9036  	})
  9037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9038  }
  9039  
  9040  // Do executes the "directory.domainAliases.get" call.
  9041  // Any non-2xx status code is an error. Response headers are in either
  9042  // *DomainAlias.ServerResponse.Header or (if a response was returned at all) in
  9043  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9044  // whether the returned error was because http.StatusNotModified was returned.
  9045  func (c *DomainAliasesGetCall) Do(opts ...googleapi.CallOption) (*DomainAlias, error) {
  9046  	gensupport.SetOptions(c.urlParams_, opts...)
  9047  	res, err := c.doRequest("json")
  9048  	if res != nil && res.StatusCode == http.StatusNotModified {
  9049  		if res.Body != nil {
  9050  			res.Body.Close()
  9051  		}
  9052  		return nil, gensupport.WrapError(&googleapi.Error{
  9053  			Code:   res.StatusCode,
  9054  			Header: res.Header,
  9055  		})
  9056  	}
  9057  	if err != nil {
  9058  		return nil, err
  9059  	}
  9060  	defer googleapi.CloseBody(res)
  9061  	if err := googleapi.CheckResponse(res); err != nil {
  9062  		return nil, gensupport.WrapError(err)
  9063  	}
  9064  	ret := &DomainAlias{
  9065  		ServerResponse: googleapi.ServerResponse{
  9066  			Header:         res.Header,
  9067  			HTTPStatusCode: res.StatusCode,
  9068  		},
  9069  	}
  9070  	target := &ret
  9071  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9072  		return nil, err
  9073  	}
  9074  	return ret, nil
  9075  }
  9076  
  9077  type DomainAliasesInsertCall struct {
  9078  	s           *Service
  9079  	customer    string
  9080  	domainalias *DomainAlias
  9081  	urlParams_  gensupport.URLParams
  9082  	ctx_        context.Context
  9083  	header_     http.Header
  9084  }
  9085  
  9086  // Insert: Inserts a domain alias of the customer.
  9087  //
  9088  // - customer: Immutable ID of the Google Workspace account.
  9089  func (r *DomainAliasesService) Insert(customer string, domainalias *DomainAlias) *DomainAliasesInsertCall {
  9090  	c := &DomainAliasesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9091  	c.customer = customer
  9092  	c.domainalias = domainalias
  9093  	return c
  9094  }
  9095  
  9096  // Fields allows partial responses to be retrieved. See
  9097  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9098  // details.
  9099  func (c *DomainAliasesInsertCall) Fields(s ...googleapi.Field) *DomainAliasesInsertCall {
  9100  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9101  	return c
  9102  }
  9103  
  9104  // Context sets the context to be used in this call's Do method.
  9105  func (c *DomainAliasesInsertCall) Context(ctx context.Context) *DomainAliasesInsertCall {
  9106  	c.ctx_ = ctx
  9107  	return c
  9108  }
  9109  
  9110  // Header returns a http.Header that can be modified by the caller to add
  9111  // headers to the request.
  9112  func (c *DomainAliasesInsertCall) Header() http.Header {
  9113  	if c.header_ == nil {
  9114  		c.header_ = make(http.Header)
  9115  	}
  9116  	return c.header_
  9117  }
  9118  
  9119  func (c *DomainAliasesInsertCall) doRequest(alt string) (*http.Response, error) {
  9120  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9121  	var body io.Reader = nil
  9122  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainalias)
  9123  	if err != nil {
  9124  		return nil, err
  9125  	}
  9126  	c.urlParams_.Set("alt", alt)
  9127  	c.urlParams_.Set("prettyPrint", "false")
  9128  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domainaliases")
  9129  	urls += "?" + c.urlParams_.Encode()
  9130  	req, err := http.NewRequest("POST", urls, body)
  9131  	if err != nil {
  9132  		return nil, err
  9133  	}
  9134  	req.Header = reqHeaders
  9135  	googleapi.Expand(req.URL, map[string]string{
  9136  		"customer": c.customer,
  9137  	})
  9138  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9139  }
  9140  
  9141  // Do executes the "directory.domainAliases.insert" call.
  9142  // Any non-2xx status code is an error. Response headers are in either
  9143  // *DomainAlias.ServerResponse.Header or (if a response was returned at all) in
  9144  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9145  // whether the returned error was because http.StatusNotModified was returned.
  9146  func (c *DomainAliasesInsertCall) Do(opts ...googleapi.CallOption) (*DomainAlias, error) {
  9147  	gensupport.SetOptions(c.urlParams_, opts...)
  9148  	res, err := c.doRequest("json")
  9149  	if res != nil && res.StatusCode == http.StatusNotModified {
  9150  		if res.Body != nil {
  9151  			res.Body.Close()
  9152  		}
  9153  		return nil, gensupport.WrapError(&googleapi.Error{
  9154  			Code:   res.StatusCode,
  9155  			Header: res.Header,
  9156  		})
  9157  	}
  9158  	if err != nil {
  9159  		return nil, err
  9160  	}
  9161  	defer googleapi.CloseBody(res)
  9162  	if err := googleapi.CheckResponse(res); err != nil {
  9163  		return nil, gensupport.WrapError(err)
  9164  	}
  9165  	ret := &DomainAlias{
  9166  		ServerResponse: googleapi.ServerResponse{
  9167  			Header:         res.Header,
  9168  			HTTPStatusCode: res.StatusCode,
  9169  		},
  9170  	}
  9171  	target := &ret
  9172  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9173  		return nil, err
  9174  	}
  9175  	return ret, nil
  9176  }
  9177  
  9178  type DomainAliasesListCall struct {
  9179  	s            *Service
  9180  	customer     string
  9181  	urlParams_   gensupport.URLParams
  9182  	ifNoneMatch_ string
  9183  	ctx_         context.Context
  9184  	header_      http.Header
  9185  }
  9186  
  9187  // List: Lists the domain aliases of the customer.
  9188  //
  9189  //   - customer: The unique ID for the customer's Google Workspace account. In
  9190  //     case of a multi-domain account, to fetch all groups for a customer, use
  9191  //     this field instead of `domain`. You can also use the `my_customer` alias
  9192  //     to represent your account's `customerId`. The `customerId` is also
  9193  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
  9194  //     resource. You must provide either the `customer` or the `domain`
  9195  //     parameter.
  9196  func (r *DomainAliasesService) List(customer string) *DomainAliasesListCall {
  9197  	c := &DomainAliasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9198  	c.customer = customer
  9199  	return c
  9200  }
  9201  
  9202  // ParentDomainName sets the optional parameter "parentDomainName": Name of the
  9203  // parent domain for which domain aliases are to be fetched.
  9204  func (c *DomainAliasesListCall) ParentDomainName(parentDomainName string) *DomainAliasesListCall {
  9205  	c.urlParams_.Set("parentDomainName", parentDomainName)
  9206  	return c
  9207  }
  9208  
  9209  // Fields allows partial responses to be retrieved. See
  9210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9211  // details.
  9212  func (c *DomainAliasesListCall) Fields(s ...googleapi.Field) *DomainAliasesListCall {
  9213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9214  	return c
  9215  }
  9216  
  9217  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9218  // object's ETag matches the given value. This is useful for getting updates
  9219  // only after the object has changed since the last request.
  9220  func (c *DomainAliasesListCall) IfNoneMatch(entityTag string) *DomainAliasesListCall {
  9221  	c.ifNoneMatch_ = entityTag
  9222  	return c
  9223  }
  9224  
  9225  // Context sets the context to be used in this call's Do method.
  9226  func (c *DomainAliasesListCall) Context(ctx context.Context) *DomainAliasesListCall {
  9227  	c.ctx_ = ctx
  9228  	return c
  9229  }
  9230  
  9231  // Header returns a http.Header that can be modified by the caller to add
  9232  // headers to the request.
  9233  func (c *DomainAliasesListCall) Header() http.Header {
  9234  	if c.header_ == nil {
  9235  		c.header_ = make(http.Header)
  9236  	}
  9237  	return c.header_
  9238  }
  9239  
  9240  func (c *DomainAliasesListCall) doRequest(alt string) (*http.Response, error) {
  9241  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9242  	if c.ifNoneMatch_ != "" {
  9243  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9244  	}
  9245  	var body io.Reader = nil
  9246  	c.urlParams_.Set("alt", alt)
  9247  	c.urlParams_.Set("prettyPrint", "false")
  9248  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domainaliases")
  9249  	urls += "?" + c.urlParams_.Encode()
  9250  	req, err := http.NewRequest("GET", urls, body)
  9251  	if err != nil {
  9252  		return nil, err
  9253  	}
  9254  	req.Header = reqHeaders
  9255  	googleapi.Expand(req.URL, map[string]string{
  9256  		"customer": c.customer,
  9257  	})
  9258  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9259  }
  9260  
  9261  // Do executes the "directory.domainAliases.list" call.
  9262  // Any non-2xx status code is an error. Response headers are in either
  9263  // *DomainAliases.ServerResponse.Header or (if a response was returned at all)
  9264  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9265  // whether the returned error was because http.StatusNotModified was returned.
  9266  func (c *DomainAliasesListCall) Do(opts ...googleapi.CallOption) (*DomainAliases, error) {
  9267  	gensupport.SetOptions(c.urlParams_, opts...)
  9268  	res, err := c.doRequest("json")
  9269  	if res != nil && res.StatusCode == http.StatusNotModified {
  9270  		if res.Body != nil {
  9271  			res.Body.Close()
  9272  		}
  9273  		return nil, gensupport.WrapError(&googleapi.Error{
  9274  			Code:   res.StatusCode,
  9275  			Header: res.Header,
  9276  		})
  9277  	}
  9278  	if err != nil {
  9279  		return nil, err
  9280  	}
  9281  	defer googleapi.CloseBody(res)
  9282  	if err := googleapi.CheckResponse(res); err != nil {
  9283  		return nil, gensupport.WrapError(err)
  9284  	}
  9285  	ret := &DomainAliases{
  9286  		ServerResponse: googleapi.ServerResponse{
  9287  			Header:         res.Header,
  9288  			HTTPStatusCode: res.StatusCode,
  9289  		},
  9290  	}
  9291  	target := &ret
  9292  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9293  		return nil, err
  9294  	}
  9295  	return ret, nil
  9296  }
  9297  
  9298  type DomainsDeleteCall struct {
  9299  	s          *Service
  9300  	customer   string
  9301  	domainName string
  9302  	urlParams_ gensupport.URLParams
  9303  	ctx_       context.Context
  9304  	header_    http.Header
  9305  }
  9306  
  9307  // Delete: Deletes a domain of the customer.
  9308  //
  9309  // - customer: Immutable ID of the Google Workspace account.
  9310  // - domainName: Name of domain to be deleted.
  9311  func (r *DomainsService) Delete(customer string, domainName string) *DomainsDeleteCall {
  9312  	c := &DomainsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9313  	c.customer = customer
  9314  	c.domainName = domainName
  9315  	return c
  9316  }
  9317  
  9318  // Fields allows partial responses to be retrieved. See
  9319  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9320  // details.
  9321  func (c *DomainsDeleteCall) Fields(s ...googleapi.Field) *DomainsDeleteCall {
  9322  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9323  	return c
  9324  }
  9325  
  9326  // Context sets the context to be used in this call's Do method.
  9327  func (c *DomainsDeleteCall) Context(ctx context.Context) *DomainsDeleteCall {
  9328  	c.ctx_ = ctx
  9329  	return c
  9330  }
  9331  
  9332  // Header returns a http.Header that can be modified by the caller to add
  9333  // headers to the request.
  9334  func (c *DomainsDeleteCall) Header() http.Header {
  9335  	if c.header_ == nil {
  9336  		c.header_ = make(http.Header)
  9337  	}
  9338  	return c.header_
  9339  }
  9340  
  9341  func (c *DomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9342  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9343  	var body io.Reader = nil
  9344  	c.urlParams_.Set("alt", alt)
  9345  	c.urlParams_.Set("prettyPrint", "false")
  9346  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domains/{domainName}")
  9347  	urls += "?" + c.urlParams_.Encode()
  9348  	req, err := http.NewRequest("DELETE", urls, body)
  9349  	if err != nil {
  9350  		return nil, err
  9351  	}
  9352  	req.Header = reqHeaders
  9353  	googleapi.Expand(req.URL, map[string]string{
  9354  		"customer":   c.customer,
  9355  		"domainName": c.domainName,
  9356  	})
  9357  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9358  }
  9359  
  9360  // Do executes the "directory.domains.delete" call.
  9361  func (c *DomainsDeleteCall) Do(opts ...googleapi.CallOption) error {
  9362  	gensupport.SetOptions(c.urlParams_, opts...)
  9363  	res, err := c.doRequest("json")
  9364  	if err != nil {
  9365  		return err
  9366  	}
  9367  	defer googleapi.CloseBody(res)
  9368  	if err := googleapi.CheckResponse(res); err != nil {
  9369  		return gensupport.WrapError(err)
  9370  	}
  9371  	return nil
  9372  }
  9373  
  9374  type DomainsGetCall struct {
  9375  	s            *Service
  9376  	customer     string
  9377  	domainName   string
  9378  	urlParams_   gensupport.URLParams
  9379  	ifNoneMatch_ string
  9380  	ctx_         context.Context
  9381  	header_      http.Header
  9382  }
  9383  
  9384  // Get: Retrieves a domain of the customer.
  9385  //
  9386  //   - customer: The unique ID for the customer's Google Workspace account. In
  9387  //     case of a multi-domain account, to fetch all groups for a customer, use
  9388  //     this field instead of `domain`. You can also use the `my_customer` alias
  9389  //     to represent your account's `customerId`. The `customerId` is also
  9390  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
  9391  //     resource. You must provide either the `customer` or the `domain`
  9392  //     parameter.
  9393  //   - domainName: Name of domain to be retrieved.
  9394  func (r *DomainsService) Get(customer string, domainName string) *DomainsGetCall {
  9395  	c := &DomainsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9396  	c.customer = customer
  9397  	c.domainName = domainName
  9398  	return c
  9399  }
  9400  
  9401  // Fields allows partial responses to be retrieved. See
  9402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9403  // details.
  9404  func (c *DomainsGetCall) Fields(s ...googleapi.Field) *DomainsGetCall {
  9405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9406  	return c
  9407  }
  9408  
  9409  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9410  // object's ETag matches the given value. This is useful for getting updates
  9411  // only after the object has changed since the last request.
  9412  func (c *DomainsGetCall) IfNoneMatch(entityTag string) *DomainsGetCall {
  9413  	c.ifNoneMatch_ = entityTag
  9414  	return c
  9415  }
  9416  
  9417  // Context sets the context to be used in this call's Do method.
  9418  func (c *DomainsGetCall) Context(ctx context.Context) *DomainsGetCall {
  9419  	c.ctx_ = ctx
  9420  	return c
  9421  }
  9422  
  9423  // Header returns a http.Header that can be modified by the caller to add
  9424  // headers to the request.
  9425  func (c *DomainsGetCall) Header() http.Header {
  9426  	if c.header_ == nil {
  9427  		c.header_ = make(http.Header)
  9428  	}
  9429  	return c.header_
  9430  }
  9431  
  9432  func (c *DomainsGetCall) doRequest(alt string) (*http.Response, error) {
  9433  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9434  	if c.ifNoneMatch_ != "" {
  9435  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9436  	}
  9437  	var body io.Reader = nil
  9438  	c.urlParams_.Set("alt", alt)
  9439  	c.urlParams_.Set("prettyPrint", "false")
  9440  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domains/{domainName}")
  9441  	urls += "?" + c.urlParams_.Encode()
  9442  	req, err := http.NewRequest("GET", urls, body)
  9443  	if err != nil {
  9444  		return nil, err
  9445  	}
  9446  	req.Header = reqHeaders
  9447  	googleapi.Expand(req.URL, map[string]string{
  9448  		"customer":   c.customer,
  9449  		"domainName": c.domainName,
  9450  	})
  9451  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9452  }
  9453  
  9454  // Do executes the "directory.domains.get" call.
  9455  // Any non-2xx status code is an error. Response headers are in either
  9456  // *Domains.ServerResponse.Header or (if a response was returned at all) in
  9457  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9458  // whether the returned error was because http.StatusNotModified was returned.
  9459  func (c *DomainsGetCall) Do(opts ...googleapi.CallOption) (*Domains, error) {
  9460  	gensupport.SetOptions(c.urlParams_, opts...)
  9461  	res, err := c.doRequest("json")
  9462  	if res != nil && res.StatusCode == http.StatusNotModified {
  9463  		if res.Body != nil {
  9464  			res.Body.Close()
  9465  		}
  9466  		return nil, gensupport.WrapError(&googleapi.Error{
  9467  			Code:   res.StatusCode,
  9468  			Header: res.Header,
  9469  		})
  9470  	}
  9471  	if err != nil {
  9472  		return nil, err
  9473  	}
  9474  	defer googleapi.CloseBody(res)
  9475  	if err := googleapi.CheckResponse(res); err != nil {
  9476  		return nil, gensupport.WrapError(err)
  9477  	}
  9478  	ret := &Domains{
  9479  		ServerResponse: googleapi.ServerResponse{
  9480  			Header:         res.Header,
  9481  			HTTPStatusCode: res.StatusCode,
  9482  		},
  9483  	}
  9484  	target := &ret
  9485  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9486  		return nil, err
  9487  	}
  9488  	return ret, nil
  9489  }
  9490  
  9491  type DomainsInsertCall struct {
  9492  	s          *Service
  9493  	customer   string
  9494  	domains    *Domains
  9495  	urlParams_ gensupport.URLParams
  9496  	ctx_       context.Context
  9497  	header_    http.Header
  9498  }
  9499  
  9500  // Insert: Inserts a domain of the customer.
  9501  //
  9502  // - customer: Immutable ID of the Google Workspace account.
  9503  func (r *DomainsService) Insert(customer string, domains *Domains) *DomainsInsertCall {
  9504  	c := &DomainsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9505  	c.customer = customer
  9506  	c.domains = domains
  9507  	return c
  9508  }
  9509  
  9510  // Fields allows partial responses to be retrieved. See
  9511  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9512  // details.
  9513  func (c *DomainsInsertCall) Fields(s ...googleapi.Field) *DomainsInsertCall {
  9514  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9515  	return c
  9516  }
  9517  
  9518  // Context sets the context to be used in this call's Do method.
  9519  func (c *DomainsInsertCall) Context(ctx context.Context) *DomainsInsertCall {
  9520  	c.ctx_ = ctx
  9521  	return c
  9522  }
  9523  
  9524  // Header returns a http.Header that can be modified by the caller to add
  9525  // headers to the request.
  9526  func (c *DomainsInsertCall) Header() http.Header {
  9527  	if c.header_ == nil {
  9528  		c.header_ = make(http.Header)
  9529  	}
  9530  	return c.header_
  9531  }
  9532  
  9533  func (c *DomainsInsertCall) doRequest(alt string) (*http.Response, error) {
  9534  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9535  	var body io.Reader = nil
  9536  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domains)
  9537  	if err != nil {
  9538  		return nil, err
  9539  	}
  9540  	c.urlParams_.Set("alt", alt)
  9541  	c.urlParams_.Set("prettyPrint", "false")
  9542  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domains")
  9543  	urls += "?" + c.urlParams_.Encode()
  9544  	req, err := http.NewRequest("POST", urls, body)
  9545  	if err != nil {
  9546  		return nil, err
  9547  	}
  9548  	req.Header = reqHeaders
  9549  	googleapi.Expand(req.URL, map[string]string{
  9550  		"customer": c.customer,
  9551  	})
  9552  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9553  }
  9554  
  9555  // Do executes the "directory.domains.insert" call.
  9556  // Any non-2xx status code is an error. Response headers are in either
  9557  // *Domains.ServerResponse.Header or (if a response was returned at all) in
  9558  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9559  // whether the returned error was because http.StatusNotModified was returned.
  9560  func (c *DomainsInsertCall) Do(opts ...googleapi.CallOption) (*Domains, error) {
  9561  	gensupport.SetOptions(c.urlParams_, opts...)
  9562  	res, err := c.doRequest("json")
  9563  	if res != nil && res.StatusCode == http.StatusNotModified {
  9564  		if res.Body != nil {
  9565  			res.Body.Close()
  9566  		}
  9567  		return nil, gensupport.WrapError(&googleapi.Error{
  9568  			Code:   res.StatusCode,
  9569  			Header: res.Header,
  9570  		})
  9571  	}
  9572  	if err != nil {
  9573  		return nil, err
  9574  	}
  9575  	defer googleapi.CloseBody(res)
  9576  	if err := googleapi.CheckResponse(res); err != nil {
  9577  		return nil, gensupport.WrapError(err)
  9578  	}
  9579  	ret := &Domains{
  9580  		ServerResponse: googleapi.ServerResponse{
  9581  			Header:         res.Header,
  9582  			HTTPStatusCode: res.StatusCode,
  9583  		},
  9584  	}
  9585  	target := &ret
  9586  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9587  		return nil, err
  9588  	}
  9589  	return ret, nil
  9590  }
  9591  
  9592  type DomainsListCall struct {
  9593  	s            *Service
  9594  	customer     string
  9595  	urlParams_   gensupport.URLParams
  9596  	ifNoneMatch_ string
  9597  	ctx_         context.Context
  9598  	header_      http.Header
  9599  }
  9600  
  9601  // List: Lists the domains of the customer.
  9602  //
  9603  //   - customer: The unique ID for the customer's Google Workspace account. In
  9604  //     case of a multi-domain account, to fetch all groups for a customer, use
  9605  //     this field instead of `domain`. You can also use the `my_customer` alias
  9606  //     to represent your account's `customerId`. The `customerId` is also
  9607  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
  9608  //     resource. You must provide either the `customer` or the `domain`
  9609  //     parameter.
  9610  func (r *DomainsService) List(customer string) *DomainsListCall {
  9611  	c := &DomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9612  	c.customer = customer
  9613  	return c
  9614  }
  9615  
  9616  // Fields allows partial responses to be retrieved. See
  9617  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9618  // details.
  9619  func (c *DomainsListCall) Fields(s ...googleapi.Field) *DomainsListCall {
  9620  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9621  	return c
  9622  }
  9623  
  9624  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9625  // object's ETag matches the given value. This is useful for getting updates
  9626  // only after the object has changed since the last request.
  9627  func (c *DomainsListCall) IfNoneMatch(entityTag string) *DomainsListCall {
  9628  	c.ifNoneMatch_ = entityTag
  9629  	return c
  9630  }
  9631  
  9632  // Context sets the context to be used in this call's Do method.
  9633  func (c *DomainsListCall) Context(ctx context.Context) *DomainsListCall {
  9634  	c.ctx_ = ctx
  9635  	return c
  9636  }
  9637  
  9638  // Header returns a http.Header that can be modified by the caller to add
  9639  // headers to the request.
  9640  func (c *DomainsListCall) Header() http.Header {
  9641  	if c.header_ == nil {
  9642  		c.header_ = make(http.Header)
  9643  	}
  9644  	return c.header_
  9645  }
  9646  
  9647  func (c *DomainsListCall) doRequest(alt string) (*http.Response, error) {
  9648  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9649  	if c.ifNoneMatch_ != "" {
  9650  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9651  	}
  9652  	var body io.Reader = nil
  9653  	c.urlParams_.Set("alt", alt)
  9654  	c.urlParams_.Set("prettyPrint", "false")
  9655  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/domains")
  9656  	urls += "?" + c.urlParams_.Encode()
  9657  	req, err := http.NewRequest("GET", urls, body)
  9658  	if err != nil {
  9659  		return nil, err
  9660  	}
  9661  	req.Header = reqHeaders
  9662  	googleapi.Expand(req.URL, map[string]string{
  9663  		"customer": c.customer,
  9664  	})
  9665  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9666  }
  9667  
  9668  // Do executes the "directory.domains.list" call.
  9669  // Any non-2xx status code is an error. Response headers are in either
  9670  // *Domains2.ServerResponse.Header or (if a response was returned at all) in
  9671  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9672  // whether the returned error was because http.StatusNotModified was returned.
  9673  func (c *DomainsListCall) Do(opts ...googleapi.CallOption) (*Domains2, error) {
  9674  	gensupport.SetOptions(c.urlParams_, opts...)
  9675  	res, err := c.doRequest("json")
  9676  	if res != nil && res.StatusCode == http.StatusNotModified {
  9677  		if res.Body != nil {
  9678  			res.Body.Close()
  9679  		}
  9680  		return nil, gensupport.WrapError(&googleapi.Error{
  9681  			Code:   res.StatusCode,
  9682  			Header: res.Header,
  9683  		})
  9684  	}
  9685  	if err != nil {
  9686  		return nil, err
  9687  	}
  9688  	defer googleapi.CloseBody(res)
  9689  	if err := googleapi.CheckResponse(res); err != nil {
  9690  		return nil, gensupport.WrapError(err)
  9691  	}
  9692  	ret := &Domains2{
  9693  		ServerResponse: googleapi.ServerResponse{
  9694  			Header:         res.Header,
  9695  			HTTPStatusCode: res.StatusCode,
  9696  		},
  9697  	}
  9698  	target := &ret
  9699  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9700  		return nil, err
  9701  	}
  9702  	return ret, nil
  9703  }
  9704  
  9705  type GroupsDeleteCall struct {
  9706  	s          *Service
  9707  	groupKey   string
  9708  	urlParams_ gensupport.URLParams
  9709  	ctx_       context.Context
  9710  	header_    http.Header
  9711  }
  9712  
  9713  // Delete: Deletes a group.
  9714  //
  9715  //   - groupKey: Identifies the group in the API request. The value can be the
  9716  //     group's email address, group alias, or the unique group ID.
  9717  func (r *GroupsService) Delete(groupKey string) *GroupsDeleteCall {
  9718  	c := &GroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9719  	c.groupKey = groupKey
  9720  	return c
  9721  }
  9722  
  9723  // Fields allows partial responses to be retrieved. See
  9724  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9725  // details.
  9726  func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
  9727  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9728  	return c
  9729  }
  9730  
  9731  // Context sets the context to be used in this call's Do method.
  9732  func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
  9733  	c.ctx_ = ctx
  9734  	return c
  9735  }
  9736  
  9737  // Header returns a http.Header that can be modified by the caller to add
  9738  // headers to the request.
  9739  func (c *GroupsDeleteCall) Header() http.Header {
  9740  	if c.header_ == nil {
  9741  		c.header_ = make(http.Header)
  9742  	}
  9743  	return c.header_
  9744  }
  9745  
  9746  func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9747  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9748  	var body io.Reader = nil
  9749  	c.urlParams_.Set("alt", alt)
  9750  	c.urlParams_.Set("prettyPrint", "false")
  9751  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}")
  9752  	urls += "?" + c.urlParams_.Encode()
  9753  	req, err := http.NewRequest("DELETE", urls, body)
  9754  	if err != nil {
  9755  		return nil, err
  9756  	}
  9757  	req.Header = reqHeaders
  9758  	googleapi.Expand(req.URL, map[string]string{
  9759  		"groupKey": c.groupKey,
  9760  	})
  9761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9762  }
  9763  
  9764  // Do executes the "directory.groups.delete" call.
  9765  func (c *GroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
  9766  	gensupport.SetOptions(c.urlParams_, opts...)
  9767  	res, err := c.doRequest("json")
  9768  	if err != nil {
  9769  		return err
  9770  	}
  9771  	defer googleapi.CloseBody(res)
  9772  	if err := googleapi.CheckResponse(res); err != nil {
  9773  		return gensupport.WrapError(err)
  9774  	}
  9775  	return nil
  9776  }
  9777  
  9778  type GroupsGetCall struct {
  9779  	s            *Service
  9780  	groupKey     string
  9781  	urlParams_   gensupport.URLParams
  9782  	ifNoneMatch_ string
  9783  	ctx_         context.Context
  9784  	header_      http.Header
  9785  }
  9786  
  9787  // Get: Retrieves a group's properties.
  9788  //
  9789  //   - groupKey: Identifies the group in the API request. The value can be the
  9790  //     group's email address, group alias, or the unique group ID.
  9791  func (r *GroupsService) Get(groupKey string) *GroupsGetCall {
  9792  	c := &GroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9793  	c.groupKey = groupKey
  9794  	return c
  9795  }
  9796  
  9797  // Fields allows partial responses to be retrieved. See
  9798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9799  // details.
  9800  func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
  9801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9802  	return c
  9803  }
  9804  
  9805  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9806  // object's ETag matches the given value. This is useful for getting updates
  9807  // only after the object has changed since the last request.
  9808  func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
  9809  	c.ifNoneMatch_ = entityTag
  9810  	return c
  9811  }
  9812  
  9813  // Context sets the context to be used in this call's Do method.
  9814  func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
  9815  	c.ctx_ = ctx
  9816  	return c
  9817  }
  9818  
  9819  // Header returns a http.Header that can be modified by the caller to add
  9820  // headers to the request.
  9821  func (c *GroupsGetCall) Header() http.Header {
  9822  	if c.header_ == nil {
  9823  		c.header_ = make(http.Header)
  9824  	}
  9825  	return c.header_
  9826  }
  9827  
  9828  func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
  9829  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9830  	if c.ifNoneMatch_ != "" {
  9831  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9832  	}
  9833  	var body io.Reader = nil
  9834  	c.urlParams_.Set("alt", alt)
  9835  	c.urlParams_.Set("prettyPrint", "false")
  9836  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}")
  9837  	urls += "?" + c.urlParams_.Encode()
  9838  	req, err := http.NewRequest("GET", urls, body)
  9839  	if err != nil {
  9840  		return nil, err
  9841  	}
  9842  	req.Header = reqHeaders
  9843  	googleapi.Expand(req.URL, map[string]string{
  9844  		"groupKey": c.groupKey,
  9845  	})
  9846  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9847  }
  9848  
  9849  // Do executes the "directory.groups.get" call.
  9850  // Any non-2xx status code is an error. Response headers are in either
  9851  // *Group.ServerResponse.Header or (if a response was returned at all) in
  9852  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9853  // whether the returned error was because http.StatusNotModified was returned.
  9854  func (c *GroupsGetCall) Do(opts ...googleapi.CallOption) (*Group, error) {
  9855  	gensupport.SetOptions(c.urlParams_, opts...)
  9856  	res, err := c.doRequest("json")
  9857  	if res != nil && res.StatusCode == http.StatusNotModified {
  9858  		if res.Body != nil {
  9859  			res.Body.Close()
  9860  		}
  9861  		return nil, gensupport.WrapError(&googleapi.Error{
  9862  			Code:   res.StatusCode,
  9863  			Header: res.Header,
  9864  		})
  9865  	}
  9866  	if err != nil {
  9867  		return nil, err
  9868  	}
  9869  	defer googleapi.CloseBody(res)
  9870  	if err := googleapi.CheckResponse(res); err != nil {
  9871  		return nil, gensupport.WrapError(err)
  9872  	}
  9873  	ret := &Group{
  9874  		ServerResponse: googleapi.ServerResponse{
  9875  			Header:         res.Header,
  9876  			HTTPStatusCode: res.StatusCode,
  9877  		},
  9878  	}
  9879  	target := &ret
  9880  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9881  		return nil, err
  9882  	}
  9883  	return ret, nil
  9884  }
  9885  
  9886  type GroupsInsertCall struct {
  9887  	s          *Service
  9888  	group      *Group
  9889  	urlParams_ gensupport.URLParams
  9890  	ctx_       context.Context
  9891  	header_    http.Header
  9892  }
  9893  
  9894  // Insert: Creates a group.
  9895  func (r *GroupsService) Insert(group *Group) *GroupsInsertCall {
  9896  	c := &GroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9897  	c.group = group
  9898  	return c
  9899  }
  9900  
  9901  // Fields allows partial responses to be retrieved. See
  9902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9903  // details.
  9904  func (c *GroupsInsertCall) Fields(s ...googleapi.Field) *GroupsInsertCall {
  9905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9906  	return c
  9907  }
  9908  
  9909  // Context sets the context to be used in this call's Do method.
  9910  func (c *GroupsInsertCall) Context(ctx context.Context) *GroupsInsertCall {
  9911  	c.ctx_ = ctx
  9912  	return c
  9913  }
  9914  
  9915  // Header returns a http.Header that can be modified by the caller to add
  9916  // headers to the request.
  9917  func (c *GroupsInsertCall) Header() http.Header {
  9918  	if c.header_ == nil {
  9919  		c.header_ = make(http.Header)
  9920  	}
  9921  	return c.header_
  9922  }
  9923  
  9924  func (c *GroupsInsertCall) doRequest(alt string) (*http.Response, error) {
  9925  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9926  	var body io.Reader = nil
  9927  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.group)
  9928  	if err != nil {
  9929  		return nil, err
  9930  	}
  9931  	c.urlParams_.Set("alt", alt)
  9932  	c.urlParams_.Set("prettyPrint", "false")
  9933  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups")
  9934  	urls += "?" + c.urlParams_.Encode()
  9935  	req, err := http.NewRequest("POST", urls, body)
  9936  	if err != nil {
  9937  		return nil, err
  9938  	}
  9939  	req.Header = reqHeaders
  9940  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9941  }
  9942  
  9943  // Do executes the "directory.groups.insert" call.
  9944  // Any non-2xx status code is an error. Response headers are in either
  9945  // *Group.ServerResponse.Header or (if a response was returned at all) in
  9946  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9947  // whether the returned error was because http.StatusNotModified was returned.
  9948  func (c *GroupsInsertCall) Do(opts ...googleapi.CallOption) (*Group, error) {
  9949  	gensupport.SetOptions(c.urlParams_, opts...)
  9950  	res, err := c.doRequest("json")
  9951  	if res != nil && res.StatusCode == http.StatusNotModified {
  9952  		if res.Body != nil {
  9953  			res.Body.Close()
  9954  		}
  9955  		return nil, gensupport.WrapError(&googleapi.Error{
  9956  			Code:   res.StatusCode,
  9957  			Header: res.Header,
  9958  		})
  9959  	}
  9960  	if err != nil {
  9961  		return nil, err
  9962  	}
  9963  	defer googleapi.CloseBody(res)
  9964  	if err := googleapi.CheckResponse(res); err != nil {
  9965  		return nil, gensupport.WrapError(err)
  9966  	}
  9967  	ret := &Group{
  9968  		ServerResponse: googleapi.ServerResponse{
  9969  			Header:         res.Header,
  9970  			HTTPStatusCode: res.StatusCode,
  9971  		},
  9972  	}
  9973  	target := &ret
  9974  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9975  		return nil, err
  9976  	}
  9977  	return ret, nil
  9978  }
  9979  
  9980  type GroupsListCall struct {
  9981  	s            *Service
  9982  	urlParams_   gensupport.URLParams
  9983  	ifNoneMatch_ string
  9984  	ctx_         context.Context
  9985  	header_      http.Header
  9986  }
  9987  
  9988  // List: Retrieves all groups of a domain or of a user given a userKey
  9989  // (paginated).
  9990  func (r *GroupsService) List() *GroupsListCall {
  9991  	c := &GroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9992  	return c
  9993  }
  9994  
  9995  // Customer sets the optional parameter "customer": The unique ID for the
  9996  // customer's Google Workspace account. In case of a multi-domain account, to
  9997  // fetch all groups for a customer, use this field instead of `domain`. You can
  9998  // also use the `my_customer` alias to represent your account's `customerId`.
  9999  // The `customerId` is also returned as part of the Users
 10000  // (/admin-sdk/directory/v1/reference/users) resource. You must provide either
 10001  // the `customer` or the `domain` parameter.
 10002  func (c *GroupsListCall) Customer(customer string) *GroupsListCall {
 10003  	c.urlParams_.Set("customer", customer)
 10004  	return c
 10005  }
 10006  
 10007  // Domain sets the optional parameter "domain": The domain name. Use this field
 10008  // to get groups from only one domain. To return all domains for a customer
 10009  // account, use the `customer` query parameter instead.
 10010  func (c *GroupsListCall) Domain(domain string) *GroupsListCall {
 10011  	c.urlParams_.Set("domain", domain)
 10012  	return c
 10013  }
 10014  
 10015  // MaxResults sets the optional parameter "maxResults": Maximum number of
 10016  // results to return. Max allowed value is 200.
 10017  func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
 10018  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 10019  	return c
 10020  }
 10021  
 10022  // OrderBy sets the optional parameter "orderBy": Column to use for sorting
 10023  // results
 10024  //
 10025  // Possible values:
 10026  //
 10027  //	"email" - Email of the group.
 10028  func (c *GroupsListCall) OrderBy(orderBy string) *GroupsListCall {
 10029  	c.urlParams_.Set("orderBy", orderBy)
 10030  	return c
 10031  }
 10032  
 10033  // PageToken sets the optional parameter "pageToken": Token to specify next
 10034  // page in the list
 10035  func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
 10036  	c.urlParams_.Set("pageToken", pageToken)
 10037  	return c
 10038  }
 10039  
 10040  // Query sets the optional parameter "query": Query string search. Should be of
 10041  // the form "". Complete documentation is at https:
 10042  // //developers.google.com/admin-sdk/directory/v1/guides/search-groups
 10043  func (c *GroupsListCall) Query(query string) *GroupsListCall {
 10044  	c.urlParams_.Set("query", query)
 10045  	return c
 10046  }
 10047  
 10048  // SortOrder sets the optional parameter "sortOrder": Whether to return results
 10049  // in ascending or descending order. Only of use when orderBy is also used
 10050  //
 10051  // Possible values:
 10052  //
 10053  //	"ASCENDING" - Ascending order.
 10054  //	"DESCENDING" - Descending order.
 10055  func (c *GroupsListCall) SortOrder(sortOrder string) *GroupsListCall {
 10056  	c.urlParams_.Set("sortOrder", sortOrder)
 10057  	return c
 10058  }
 10059  
 10060  // UserKey sets the optional parameter "userKey": Email or immutable ID of the
 10061  // user if only those groups are to be listed, the given user is a member of.
 10062  // If it's an ID, it should match with the ID of the user object.
 10063  func (c *GroupsListCall) UserKey(userKey string) *GroupsListCall {
 10064  	c.urlParams_.Set("userKey", userKey)
 10065  	return c
 10066  }
 10067  
 10068  // Fields allows partial responses to be retrieved. See
 10069  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10070  // details.
 10071  func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
 10072  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10073  	return c
 10074  }
 10075  
 10076  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10077  // object's ETag matches the given value. This is useful for getting updates
 10078  // only after the object has changed since the last request.
 10079  func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
 10080  	c.ifNoneMatch_ = entityTag
 10081  	return c
 10082  }
 10083  
 10084  // Context sets the context to be used in this call's Do method.
 10085  func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
 10086  	c.ctx_ = ctx
 10087  	return c
 10088  }
 10089  
 10090  // Header returns a http.Header that can be modified by the caller to add
 10091  // headers to the request.
 10092  func (c *GroupsListCall) Header() http.Header {
 10093  	if c.header_ == nil {
 10094  		c.header_ = make(http.Header)
 10095  	}
 10096  	return c.header_
 10097  }
 10098  
 10099  func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 10100  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10101  	if c.ifNoneMatch_ != "" {
 10102  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10103  	}
 10104  	var body io.Reader = nil
 10105  	c.urlParams_.Set("alt", alt)
 10106  	c.urlParams_.Set("prettyPrint", "false")
 10107  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups")
 10108  	urls += "?" + c.urlParams_.Encode()
 10109  	req, err := http.NewRequest("GET", urls, body)
 10110  	if err != nil {
 10111  		return nil, err
 10112  	}
 10113  	req.Header = reqHeaders
 10114  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10115  }
 10116  
 10117  // Do executes the "directory.groups.list" call.
 10118  // Any non-2xx status code is an error. Response headers are in either
 10119  // *Groups.ServerResponse.Header or (if a response was returned at all) in
 10120  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10121  // whether the returned error was because http.StatusNotModified was returned.
 10122  func (c *GroupsListCall) Do(opts ...googleapi.CallOption) (*Groups, error) {
 10123  	gensupport.SetOptions(c.urlParams_, opts...)
 10124  	res, err := c.doRequest("json")
 10125  	if res != nil && res.StatusCode == http.StatusNotModified {
 10126  		if res.Body != nil {
 10127  			res.Body.Close()
 10128  		}
 10129  		return nil, gensupport.WrapError(&googleapi.Error{
 10130  			Code:   res.StatusCode,
 10131  			Header: res.Header,
 10132  		})
 10133  	}
 10134  	if err != nil {
 10135  		return nil, err
 10136  	}
 10137  	defer googleapi.CloseBody(res)
 10138  	if err := googleapi.CheckResponse(res); err != nil {
 10139  		return nil, gensupport.WrapError(err)
 10140  	}
 10141  	ret := &Groups{
 10142  		ServerResponse: googleapi.ServerResponse{
 10143  			Header:         res.Header,
 10144  			HTTPStatusCode: res.StatusCode,
 10145  		},
 10146  	}
 10147  	target := &ret
 10148  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10149  		return nil, err
 10150  	}
 10151  	return ret, nil
 10152  }
 10153  
 10154  // Pages invokes f for each page of results.
 10155  // A non-nil error returned from f will halt the iteration.
 10156  // The provided context supersedes any context provided to the Context method.
 10157  func (c *GroupsListCall) Pages(ctx context.Context, f func(*Groups) error) error {
 10158  	c.ctx_ = ctx
 10159  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10160  	for {
 10161  		x, err := c.Do()
 10162  		if err != nil {
 10163  			return err
 10164  		}
 10165  		if err := f(x); err != nil {
 10166  			return err
 10167  		}
 10168  		if x.NextPageToken == "" {
 10169  			return nil
 10170  		}
 10171  		c.PageToken(x.NextPageToken)
 10172  	}
 10173  }
 10174  
 10175  type GroupsPatchCall struct {
 10176  	s          *Service
 10177  	groupKey   string
 10178  	group      *Group
 10179  	urlParams_ gensupport.URLParams
 10180  	ctx_       context.Context
 10181  	header_    http.Header
 10182  }
 10183  
 10184  // Patch: Updates a group's properties. This method supports patch semantics
 10185  // (/admin-sdk/directory/v1/guides/performance#patch).
 10186  //
 10187  //   - groupKey: Identifies the group in the API request. The value can be the
 10188  //     group's email address, group alias, or the unique group ID.
 10189  func (r *GroupsService) Patch(groupKey string, group *Group) *GroupsPatchCall {
 10190  	c := &GroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10191  	c.groupKey = groupKey
 10192  	c.group = group
 10193  	return c
 10194  }
 10195  
 10196  // Fields allows partial responses to be retrieved. See
 10197  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10198  // details.
 10199  func (c *GroupsPatchCall) Fields(s ...googleapi.Field) *GroupsPatchCall {
 10200  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10201  	return c
 10202  }
 10203  
 10204  // Context sets the context to be used in this call's Do method.
 10205  func (c *GroupsPatchCall) Context(ctx context.Context) *GroupsPatchCall {
 10206  	c.ctx_ = ctx
 10207  	return c
 10208  }
 10209  
 10210  // Header returns a http.Header that can be modified by the caller to add
 10211  // headers to the request.
 10212  func (c *GroupsPatchCall) Header() http.Header {
 10213  	if c.header_ == nil {
 10214  		c.header_ = make(http.Header)
 10215  	}
 10216  	return c.header_
 10217  }
 10218  
 10219  func (c *GroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 10220  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10221  	var body io.Reader = nil
 10222  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.group)
 10223  	if err != nil {
 10224  		return nil, err
 10225  	}
 10226  	c.urlParams_.Set("alt", alt)
 10227  	c.urlParams_.Set("prettyPrint", "false")
 10228  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}")
 10229  	urls += "?" + c.urlParams_.Encode()
 10230  	req, err := http.NewRequest("PATCH", urls, body)
 10231  	if err != nil {
 10232  		return nil, err
 10233  	}
 10234  	req.Header = reqHeaders
 10235  	googleapi.Expand(req.URL, map[string]string{
 10236  		"groupKey": c.groupKey,
 10237  	})
 10238  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10239  }
 10240  
 10241  // Do executes the "directory.groups.patch" call.
 10242  // Any non-2xx status code is an error. Response headers are in either
 10243  // *Group.ServerResponse.Header or (if a response was returned at all) in
 10244  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10245  // whether the returned error was because http.StatusNotModified was returned.
 10246  func (c *GroupsPatchCall) Do(opts ...googleapi.CallOption) (*Group, error) {
 10247  	gensupport.SetOptions(c.urlParams_, opts...)
 10248  	res, err := c.doRequest("json")
 10249  	if res != nil && res.StatusCode == http.StatusNotModified {
 10250  		if res.Body != nil {
 10251  			res.Body.Close()
 10252  		}
 10253  		return nil, gensupport.WrapError(&googleapi.Error{
 10254  			Code:   res.StatusCode,
 10255  			Header: res.Header,
 10256  		})
 10257  	}
 10258  	if err != nil {
 10259  		return nil, err
 10260  	}
 10261  	defer googleapi.CloseBody(res)
 10262  	if err := googleapi.CheckResponse(res); err != nil {
 10263  		return nil, gensupport.WrapError(err)
 10264  	}
 10265  	ret := &Group{
 10266  		ServerResponse: googleapi.ServerResponse{
 10267  			Header:         res.Header,
 10268  			HTTPStatusCode: res.StatusCode,
 10269  		},
 10270  	}
 10271  	target := &ret
 10272  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10273  		return nil, err
 10274  	}
 10275  	return ret, nil
 10276  }
 10277  
 10278  type GroupsUpdateCall struct {
 10279  	s          *Service
 10280  	groupKey   string
 10281  	group      *Group
 10282  	urlParams_ gensupport.URLParams
 10283  	ctx_       context.Context
 10284  	header_    http.Header
 10285  }
 10286  
 10287  // Update: Updates a group's properties.
 10288  //
 10289  //   - groupKey: Identifies the group in the API request. The value can be the
 10290  //     group's email address, group alias, or the unique group ID.
 10291  func (r *GroupsService) Update(groupKey string, group *Group) *GroupsUpdateCall {
 10292  	c := &GroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10293  	c.groupKey = groupKey
 10294  	c.group = group
 10295  	return c
 10296  }
 10297  
 10298  // Fields allows partial responses to be retrieved. See
 10299  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10300  // details.
 10301  func (c *GroupsUpdateCall) Fields(s ...googleapi.Field) *GroupsUpdateCall {
 10302  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10303  	return c
 10304  }
 10305  
 10306  // Context sets the context to be used in this call's Do method.
 10307  func (c *GroupsUpdateCall) Context(ctx context.Context) *GroupsUpdateCall {
 10308  	c.ctx_ = ctx
 10309  	return c
 10310  }
 10311  
 10312  // Header returns a http.Header that can be modified by the caller to add
 10313  // headers to the request.
 10314  func (c *GroupsUpdateCall) Header() http.Header {
 10315  	if c.header_ == nil {
 10316  		c.header_ = make(http.Header)
 10317  	}
 10318  	return c.header_
 10319  }
 10320  
 10321  func (c *GroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 10322  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10323  	var body io.Reader = nil
 10324  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.group)
 10325  	if err != nil {
 10326  		return nil, err
 10327  	}
 10328  	c.urlParams_.Set("alt", alt)
 10329  	c.urlParams_.Set("prettyPrint", "false")
 10330  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}")
 10331  	urls += "?" + c.urlParams_.Encode()
 10332  	req, err := http.NewRequest("PUT", urls, body)
 10333  	if err != nil {
 10334  		return nil, err
 10335  	}
 10336  	req.Header = reqHeaders
 10337  	googleapi.Expand(req.URL, map[string]string{
 10338  		"groupKey": c.groupKey,
 10339  	})
 10340  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10341  }
 10342  
 10343  // Do executes the "directory.groups.update" call.
 10344  // Any non-2xx status code is an error. Response headers are in either
 10345  // *Group.ServerResponse.Header or (if a response was returned at all) in
 10346  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10347  // whether the returned error was because http.StatusNotModified was returned.
 10348  func (c *GroupsUpdateCall) Do(opts ...googleapi.CallOption) (*Group, error) {
 10349  	gensupport.SetOptions(c.urlParams_, opts...)
 10350  	res, err := c.doRequest("json")
 10351  	if res != nil && res.StatusCode == http.StatusNotModified {
 10352  		if res.Body != nil {
 10353  			res.Body.Close()
 10354  		}
 10355  		return nil, gensupport.WrapError(&googleapi.Error{
 10356  			Code:   res.StatusCode,
 10357  			Header: res.Header,
 10358  		})
 10359  	}
 10360  	if err != nil {
 10361  		return nil, err
 10362  	}
 10363  	defer googleapi.CloseBody(res)
 10364  	if err := googleapi.CheckResponse(res); err != nil {
 10365  		return nil, gensupport.WrapError(err)
 10366  	}
 10367  	ret := &Group{
 10368  		ServerResponse: googleapi.ServerResponse{
 10369  			Header:         res.Header,
 10370  			HTTPStatusCode: res.StatusCode,
 10371  		},
 10372  	}
 10373  	target := &ret
 10374  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10375  		return nil, err
 10376  	}
 10377  	return ret, nil
 10378  }
 10379  
 10380  type GroupsAliasesDeleteCall struct {
 10381  	s          *Service
 10382  	groupKey   string
 10383  	alias      string
 10384  	urlParams_ gensupport.URLParams
 10385  	ctx_       context.Context
 10386  	header_    http.Header
 10387  }
 10388  
 10389  // Delete: Removes an alias.
 10390  //
 10391  //   - alias: The alias to be removed.
 10392  //   - groupKey: Identifies the group in the API request. The value can be the
 10393  //     group's email address, group alias, or the unique group ID.
 10394  func (r *GroupsAliasesService) Delete(groupKey string, alias string) *GroupsAliasesDeleteCall {
 10395  	c := &GroupsAliasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10396  	c.groupKey = groupKey
 10397  	c.alias = alias
 10398  	return c
 10399  }
 10400  
 10401  // Fields allows partial responses to be retrieved. See
 10402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10403  // details.
 10404  func (c *GroupsAliasesDeleteCall) Fields(s ...googleapi.Field) *GroupsAliasesDeleteCall {
 10405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10406  	return c
 10407  }
 10408  
 10409  // Context sets the context to be used in this call's Do method.
 10410  func (c *GroupsAliasesDeleteCall) Context(ctx context.Context) *GroupsAliasesDeleteCall {
 10411  	c.ctx_ = ctx
 10412  	return c
 10413  }
 10414  
 10415  // Header returns a http.Header that can be modified by the caller to add
 10416  // headers to the request.
 10417  func (c *GroupsAliasesDeleteCall) Header() http.Header {
 10418  	if c.header_ == nil {
 10419  		c.header_ = make(http.Header)
 10420  	}
 10421  	return c.header_
 10422  }
 10423  
 10424  func (c *GroupsAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 10425  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10426  	var body io.Reader = nil
 10427  	c.urlParams_.Set("alt", alt)
 10428  	c.urlParams_.Set("prettyPrint", "false")
 10429  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/aliases/{alias}")
 10430  	urls += "?" + c.urlParams_.Encode()
 10431  	req, err := http.NewRequest("DELETE", urls, body)
 10432  	if err != nil {
 10433  		return nil, err
 10434  	}
 10435  	req.Header = reqHeaders
 10436  	googleapi.Expand(req.URL, map[string]string{
 10437  		"groupKey": c.groupKey,
 10438  		"alias":    c.alias,
 10439  	})
 10440  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10441  }
 10442  
 10443  // Do executes the "directory.groups.aliases.delete" call.
 10444  func (c *GroupsAliasesDeleteCall) Do(opts ...googleapi.CallOption) error {
 10445  	gensupport.SetOptions(c.urlParams_, opts...)
 10446  	res, err := c.doRequest("json")
 10447  	if err != nil {
 10448  		return err
 10449  	}
 10450  	defer googleapi.CloseBody(res)
 10451  	if err := googleapi.CheckResponse(res); err != nil {
 10452  		return gensupport.WrapError(err)
 10453  	}
 10454  	return nil
 10455  }
 10456  
 10457  type GroupsAliasesInsertCall struct {
 10458  	s          *Service
 10459  	groupKey   string
 10460  	alias      *Alias
 10461  	urlParams_ gensupport.URLParams
 10462  	ctx_       context.Context
 10463  	header_    http.Header
 10464  }
 10465  
 10466  // Insert: Adds an alias for the group.
 10467  //
 10468  //   - groupKey: Identifies the group in the API request. The value can be the
 10469  //     group's email address, group alias, or the unique group ID.
 10470  func (r *GroupsAliasesService) Insert(groupKey string, alias *Alias) *GroupsAliasesInsertCall {
 10471  	c := &GroupsAliasesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10472  	c.groupKey = groupKey
 10473  	c.alias = alias
 10474  	return c
 10475  }
 10476  
 10477  // Fields allows partial responses to be retrieved. See
 10478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10479  // details.
 10480  func (c *GroupsAliasesInsertCall) Fields(s ...googleapi.Field) *GroupsAliasesInsertCall {
 10481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10482  	return c
 10483  }
 10484  
 10485  // Context sets the context to be used in this call's Do method.
 10486  func (c *GroupsAliasesInsertCall) Context(ctx context.Context) *GroupsAliasesInsertCall {
 10487  	c.ctx_ = ctx
 10488  	return c
 10489  }
 10490  
 10491  // Header returns a http.Header that can be modified by the caller to add
 10492  // headers to the request.
 10493  func (c *GroupsAliasesInsertCall) Header() http.Header {
 10494  	if c.header_ == nil {
 10495  		c.header_ = make(http.Header)
 10496  	}
 10497  	return c.header_
 10498  }
 10499  
 10500  func (c *GroupsAliasesInsertCall) doRequest(alt string) (*http.Response, error) {
 10501  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10502  	var body io.Reader = nil
 10503  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.alias)
 10504  	if err != nil {
 10505  		return nil, err
 10506  	}
 10507  	c.urlParams_.Set("alt", alt)
 10508  	c.urlParams_.Set("prettyPrint", "false")
 10509  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/aliases")
 10510  	urls += "?" + c.urlParams_.Encode()
 10511  	req, err := http.NewRequest("POST", urls, body)
 10512  	if err != nil {
 10513  		return nil, err
 10514  	}
 10515  	req.Header = reqHeaders
 10516  	googleapi.Expand(req.URL, map[string]string{
 10517  		"groupKey": c.groupKey,
 10518  	})
 10519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10520  }
 10521  
 10522  // Do executes the "directory.groups.aliases.insert" call.
 10523  // Any non-2xx status code is an error. Response headers are in either
 10524  // *Alias.ServerResponse.Header or (if a response was returned at all) in
 10525  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10526  // whether the returned error was because http.StatusNotModified was returned.
 10527  func (c *GroupsAliasesInsertCall) Do(opts ...googleapi.CallOption) (*Alias, error) {
 10528  	gensupport.SetOptions(c.urlParams_, opts...)
 10529  	res, err := c.doRequest("json")
 10530  	if res != nil && res.StatusCode == http.StatusNotModified {
 10531  		if res.Body != nil {
 10532  			res.Body.Close()
 10533  		}
 10534  		return nil, gensupport.WrapError(&googleapi.Error{
 10535  			Code:   res.StatusCode,
 10536  			Header: res.Header,
 10537  		})
 10538  	}
 10539  	if err != nil {
 10540  		return nil, err
 10541  	}
 10542  	defer googleapi.CloseBody(res)
 10543  	if err := googleapi.CheckResponse(res); err != nil {
 10544  		return nil, gensupport.WrapError(err)
 10545  	}
 10546  	ret := &Alias{
 10547  		ServerResponse: googleapi.ServerResponse{
 10548  			Header:         res.Header,
 10549  			HTTPStatusCode: res.StatusCode,
 10550  		},
 10551  	}
 10552  	target := &ret
 10553  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10554  		return nil, err
 10555  	}
 10556  	return ret, nil
 10557  }
 10558  
 10559  type GroupsAliasesListCall struct {
 10560  	s            *Service
 10561  	groupKey     string
 10562  	urlParams_   gensupport.URLParams
 10563  	ifNoneMatch_ string
 10564  	ctx_         context.Context
 10565  	header_      http.Header
 10566  }
 10567  
 10568  // List: Lists all aliases for a group.
 10569  //
 10570  //   - groupKey: Identifies the group in the API request. The value can be the
 10571  //     group's email address, group alias, or the unique group ID.
 10572  func (r *GroupsAliasesService) List(groupKey string) *GroupsAliasesListCall {
 10573  	c := &GroupsAliasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10574  	c.groupKey = groupKey
 10575  	return c
 10576  }
 10577  
 10578  // Fields allows partial responses to be retrieved. See
 10579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10580  // details.
 10581  func (c *GroupsAliasesListCall) Fields(s ...googleapi.Field) *GroupsAliasesListCall {
 10582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10583  	return c
 10584  }
 10585  
 10586  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10587  // object's ETag matches the given value. This is useful for getting updates
 10588  // only after the object has changed since the last request.
 10589  func (c *GroupsAliasesListCall) IfNoneMatch(entityTag string) *GroupsAliasesListCall {
 10590  	c.ifNoneMatch_ = entityTag
 10591  	return c
 10592  }
 10593  
 10594  // Context sets the context to be used in this call's Do method.
 10595  func (c *GroupsAliasesListCall) Context(ctx context.Context) *GroupsAliasesListCall {
 10596  	c.ctx_ = ctx
 10597  	return c
 10598  }
 10599  
 10600  // Header returns a http.Header that can be modified by the caller to add
 10601  // headers to the request.
 10602  func (c *GroupsAliasesListCall) Header() http.Header {
 10603  	if c.header_ == nil {
 10604  		c.header_ = make(http.Header)
 10605  	}
 10606  	return c.header_
 10607  }
 10608  
 10609  func (c *GroupsAliasesListCall) doRequest(alt string) (*http.Response, error) {
 10610  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10611  	if c.ifNoneMatch_ != "" {
 10612  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10613  	}
 10614  	var body io.Reader = nil
 10615  	c.urlParams_.Set("alt", alt)
 10616  	c.urlParams_.Set("prettyPrint", "false")
 10617  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/aliases")
 10618  	urls += "?" + c.urlParams_.Encode()
 10619  	req, err := http.NewRequest("GET", urls, body)
 10620  	if err != nil {
 10621  		return nil, err
 10622  	}
 10623  	req.Header = reqHeaders
 10624  	googleapi.Expand(req.URL, map[string]string{
 10625  		"groupKey": c.groupKey,
 10626  	})
 10627  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10628  }
 10629  
 10630  // Do executes the "directory.groups.aliases.list" call.
 10631  // Any non-2xx status code is an error. Response headers are in either
 10632  // *Aliases.ServerResponse.Header or (if a response was returned at all) in
 10633  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10634  // whether the returned error was because http.StatusNotModified was returned.
 10635  func (c *GroupsAliasesListCall) Do(opts ...googleapi.CallOption) (*Aliases, error) {
 10636  	gensupport.SetOptions(c.urlParams_, opts...)
 10637  	res, err := c.doRequest("json")
 10638  	if res != nil && res.StatusCode == http.StatusNotModified {
 10639  		if res.Body != nil {
 10640  			res.Body.Close()
 10641  		}
 10642  		return nil, gensupport.WrapError(&googleapi.Error{
 10643  			Code:   res.StatusCode,
 10644  			Header: res.Header,
 10645  		})
 10646  	}
 10647  	if err != nil {
 10648  		return nil, err
 10649  	}
 10650  	defer googleapi.CloseBody(res)
 10651  	if err := googleapi.CheckResponse(res); err != nil {
 10652  		return nil, gensupport.WrapError(err)
 10653  	}
 10654  	ret := &Aliases{
 10655  		ServerResponse: googleapi.ServerResponse{
 10656  			Header:         res.Header,
 10657  			HTTPStatusCode: res.StatusCode,
 10658  		},
 10659  	}
 10660  	target := &ret
 10661  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10662  		return nil, err
 10663  	}
 10664  	return ret, nil
 10665  }
 10666  
 10667  type MembersDeleteCall struct {
 10668  	s          *Service
 10669  	groupKey   string
 10670  	memberKey  string
 10671  	urlParams_ gensupport.URLParams
 10672  	ctx_       context.Context
 10673  	header_    http.Header
 10674  }
 10675  
 10676  // Delete: Removes a member from a group.
 10677  //
 10678  //   - groupKey: Identifies the group in the API request. The value can be the
 10679  //     group's email address, group alias, or the unique group ID.
 10680  //   - memberKey: Identifies the group member in the API request. A group member
 10681  //     can be a user or another group. The value can be the member's (group or
 10682  //     user) primary email address, alias, or unique ID.
 10683  func (r *MembersService) Delete(groupKey string, memberKey string) *MembersDeleteCall {
 10684  	c := &MembersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10685  	c.groupKey = groupKey
 10686  	c.memberKey = memberKey
 10687  	return c
 10688  }
 10689  
 10690  // Fields allows partial responses to be retrieved. See
 10691  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10692  // details.
 10693  func (c *MembersDeleteCall) Fields(s ...googleapi.Field) *MembersDeleteCall {
 10694  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10695  	return c
 10696  }
 10697  
 10698  // Context sets the context to be used in this call's Do method.
 10699  func (c *MembersDeleteCall) Context(ctx context.Context) *MembersDeleteCall {
 10700  	c.ctx_ = ctx
 10701  	return c
 10702  }
 10703  
 10704  // Header returns a http.Header that can be modified by the caller to add
 10705  // headers to the request.
 10706  func (c *MembersDeleteCall) Header() http.Header {
 10707  	if c.header_ == nil {
 10708  		c.header_ = make(http.Header)
 10709  	}
 10710  	return c.header_
 10711  }
 10712  
 10713  func (c *MembersDeleteCall) doRequest(alt string) (*http.Response, error) {
 10714  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10715  	var body io.Reader = nil
 10716  	c.urlParams_.Set("alt", alt)
 10717  	c.urlParams_.Set("prettyPrint", "false")
 10718  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members/{memberKey}")
 10719  	urls += "?" + c.urlParams_.Encode()
 10720  	req, err := http.NewRequest("DELETE", urls, body)
 10721  	if err != nil {
 10722  		return nil, err
 10723  	}
 10724  	req.Header = reqHeaders
 10725  	googleapi.Expand(req.URL, map[string]string{
 10726  		"groupKey":  c.groupKey,
 10727  		"memberKey": c.memberKey,
 10728  	})
 10729  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10730  }
 10731  
 10732  // Do executes the "directory.members.delete" call.
 10733  func (c *MembersDeleteCall) Do(opts ...googleapi.CallOption) error {
 10734  	gensupport.SetOptions(c.urlParams_, opts...)
 10735  	res, err := c.doRequest("json")
 10736  	if err != nil {
 10737  		return err
 10738  	}
 10739  	defer googleapi.CloseBody(res)
 10740  	if err := googleapi.CheckResponse(res); err != nil {
 10741  		return gensupport.WrapError(err)
 10742  	}
 10743  	return nil
 10744  }
 10745  
 10746  type MembersGetCall struct {
 10747  	s            *Service
 10748  	groupKey     string
 10749  	memberKey    string
 10750  	urlParams_   gensupport.URLParams
 10751  	ifNoneMatch_ string
 10752  	ctx_         context.Context
 10753  	header_      http.Header
 10754  }
 10755  
 10756  // Get: Retrieves a group member's properties.
 10757  //
 10758  //   - groupKey: Identifies the group in the API request. The value can be the
 10759  //     group's email address, group alias, or the unique group ID.
 10760  //   - memberKey: Identifies the group member in the API request. A group member
 10761  //     can be a user or another group. The value can be the member's (group or
 10762  //     user) primary email address, alias, or unique ID.
 10763  func (r *MembersService) Get(groupKey string, memberKey string) *MembersGetCall {
 10764  	c := &MembersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10765  	c.groupKey = groupKey
 10766  	c.memberKey = memberKey
 10767  	return c
 10768  }
 10769  
 10770  // Fields allows partial responses to be retrieved. See
 10771  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10772  // details.
 10773  func (c *MembersGetCall) Fields(s ...googleapi.Field) *MembersGetCall {
 10774  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10775  	return c
 10776  }
 10777  
 10778  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10779  // object's ETag matches the given value. This is useful for getting updates
 10780  // only after the object has changed since the last request.
 10781  func (c *MembersGetCall) IfNoneMatch(entityTag string) *MembersGetCall {
 10782  	c.ifNoneMatch_ = entityTag
 10783  	return c
 10784  }
 10785  
 10786  // Context sets the context to be used in this call's Do method.
 10787  func (c *MembersGetCall) Context(ctx context.Context) *MembersGetCall {
 10788  	c.ctx_ = ctx
 10789  	return c
 10790  }
 10791  
 10792  // Header returns a http.Header that can be modified by the caller to add
 10793  // headers to the request.
 10794  func (c *MembersGetCall) Header() http.Header {
 10795  	if c.header_ == nil {
 10796  		c.header_ = make(http.Header)
 10797  	}
 10798  	return c.header_
 10799  }
 10800  
 10801  func (c *MembersGetCall) doRequest(alt string) (*http.Response, error) {
 10802  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10803  	if c.ifNoneMatch_ != "" {
 10804  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10805  	}
 10806  	var body io.Reader = nil
 10807  	c.urlParams_.Set("alt", alt)
 10808  	c.urlParams_.Set("prettyPrint", "false")
 10809  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members/{memberKey}")
 10810  	urls += "?" + c.urlParams_.Encode()
 10811  	req, err := http.NewRequest("GET", urls, body)
 10812  	if err != nil {
 10813  		return nil, err
 10814  	}
 10815  	req.Header = reqHeaders
 10816  	googleapi.Expand(req.URL, map[string]string{
 10817  		"groupKey":  c.groupKey,
 10818  		"memberKey": c.memberKey,
 10819  	})
 10820  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10821  }
 10822  
 10823  // Do executes the "directory.members.get" call.
 10824  // Any non-2xx status code is an error. Response headers are in either
 10825  // *Member.ServerResponse.Header or (if a response was returned at all) in
 10826  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10827  // whether the returned error was because http.StatusNotModified was returned.
 10828  func (c *MembersGetCall) Do(opts ...googleapi.CallOption) (*Member, error) {
 10829  	gensupport.SetOptions(c.urlParams_, opts...)
 10830  	res, err := c.doRequest("json")
 10831  	if res != nil && res.StatusCode == http.StatusNotModified {
 10832  		if res.Body != nil {
 10833  			res.Body.Close()
 10834  		}
 10835  		return nil, gensupport.WrapError(&googleapi.Error{
 10836  			Code:   res.StatusCode,
 10837  			Header: res.Header,
 10838  		})
 10839  	}
 10840  	if err != nil {
 10841  		return nil, err
 10842  	}
 10843  	defer googleapi.CloseBody(res)
 10844  	if err := googleapi.CheckResponse(res); err != nil {
 10845  		return nil, gensupport.WrapError(err)
 10846  	}
 10847  	ret := &Member{
 10848  		ServerResponse: googleapi.ServerResponse{
 10849  			Header:         res.Header,
 10850  			HTTPStatusCode: res.StatusCode,
 10851  		},
 10852  	}
 10853  	target := &ret
 10854  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10855  		return nil, err
 10856  	}
 10857  	return ret, nil
 10858  }
 10859  
 10860  type MembersHasMemberCall struct {
 10861  	s            *Service
 10862  	groupKey     string
 10863  	memberKey    string
 10864  	urlParams_   gensupport.URLParams
 10865  	ifNoneMatch_ string
 10866  	ctx_         context.Context
 10867  	header_      http.Header
 10868  }
 10869  
 10870  // HasMember: Checks whether the given user is a member of the group.
 10871  // Membership can be direct or nested, but if nested, the `memberKey` and
 10872  // `groupKey` must be entities in the same domain or an `Invalid input` error
 10873  // is returned. To check for nested memberships that include entities outside
 10874  // of the group's domain, use the `checkTransitiveMembership()`
 10875  // (https://cloud.google.com/identity/docs/reference/rest/v1/groups.memberships/checkTransitiveMembership)
 10876  // method in the Cloud Identity Groups API.
 10877  //
 10878  //   - groupKey: Identifies the group in the API request. The value can be the
 10879  //     group's email address, group alias, or the unique group ID.
 10880  //   - memberKey: Identifies the user member in the API request. The value can be
 10881  //     the user's primary email address, alias, or unique ID.
 10882  func (r *MembersService) HasMember(groupKey string, memberKey string) *MembersHasMemberCall {
 10883  	c := &MembersHasMemberCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10884  	c.groupKey = groupKey
 10885  	c.memberKey = memberKey
 10886  	return c
 10887  }
 10888  
 10889  // Fields allows partial responses to be retrieved. See
 10890  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10891  // details.
 10892  func (c *MembersHasMemberCall) Fields(s ...googleapi.Field) *MembersHasMemberCall {
 10893  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10894  	return c
 10895  }
 10896  
 10897  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10898  // object's ETag matches the given value. This is useful for getting updates
 10899  // only after the object has changed since the last request.
 10900  func (c *MembersHasMemberCall) IfNoneMatch(entityTag string) *MembersHasMemberCall {
 10901  	c.ifNoneMatch_ = entityTag
 10902  	return c
 10903  }
 10904  
 10905  // Context sets the context to be used in this call's Do method.
 10906  func (c *MembersHasMemberCall) Context(ctx context.Context) *MembersHasMemberCall {
 10907  	c.ctx_ = ctx
 10908  	return c
 10909  }
 10910  
 10911  // Header returns a http.Header that can be modified by the caller to add
 10912  // headers to the request.
 10913  func (c *MembersHasMemberCall) Header() http.Header {
 10914  	if c.header_ == nil {
 10915  		c.header_ = make(http.Header)
 10916  	}
 10917  	return c.header_
 10918  }
 10919  
 10920  func (c *MembersHasMemberCall) doRequest(alt string) (*http.Response, error) {
 10921  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10922  	if c.ifNoneMatch_ != "" {
 10923  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10924  	}
 10925  	var body io.Reader = nil
 10926  	c.urlParams_.Set("alt", alt)
 10927  	c.urlParams_.Set("prettyPrint", "false")
 10928  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/hasMember/{memberKey}")
 10929  	urls += "?" + c.urlParams_.Encode()
 10930  	req, err := http.NewRequest("GET", urls, body)
 10931  	if err != nil {
 10932  		return nil, err
 10933  	}
 10934  	req.Header = reqHeaders
 10935  	googleapi.Expand(req.URL, map[string]string{
 10936  		"groupKey":  c.groupKey,
 10937  		"memberKey": c.memberKey,
 10938  	})
 10939  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10940  }
 10941  
 10942  // Do executes the "directory.members.hasMember" call.
 10943  // Any non-2xx status code is an error. Response headers are in either
 10944  // *MembersHasMember.ServerResponse.Header or (if a response was returned at
 10945  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10946  // check whether the returned error was because http.StatusNotModified was
 10947  // returned.
 10948  func (c *MembersHasMemberCall) Do(opts ...googleapi.CallOption) (*MembersHasMember, error) {
 10949  	gensupport.SetOptions(c.urlParams_, opts...)
 10950  	res, err := c.doRequest("json")
 10951  	if res != nil && res.StatusCode == http.StatusNotModified {
 10952  		if res.Body != nil {
 10953  			res.Body.Close()
 10954  		}
 10955  		return nil, gensupport.WrapError(&googleapi.Error{
 10956  			Code:   res.StatusCode,
 10957  			Header: res.Header,
 10958  		})
 10959  	}
 10960  	if err != nil {
 10961  		return nil, err
 10962  	}
 10963  	defer googleapi.CloseBody(res)
 10964  	if err := googleapi.CheckResponse(res); err != nil {
 10965  		return nil, gensupport.WrapError(err)
 10966  	}
 10967  	ret := &MembersHasMember{
 10968  		ServerResponse: googleapi.ServerResponse{
 10969  			Header:         res.Header,
 10970  			HTTPStatusCode: res.StatusCode,
 10971  		},
 10972  	}
 10973  	target := &ret
 10974  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10975  		return nil, err
 10976  	}
 10977  	return ret, nil
 10978  }
 10979  
 10980  type MembersInsertCall struct {
 10981  	s          *Service
 10982  	groupKey   string
 10983  	member     *Member
 10984  	urlParams_ gensupport.URLParams
 10985  	ctx_       context.Context
 10986  	header_    http.Header
 10987  }
 10988  
 10989  // Insert: Adds a user to the specified group.
 10990  //
 10991  //   - groupKey: Identifies the group in the API request. The value can be the
 10992  //     group's email address, group alias, or the unique group ID.
 10993  func (r *MembersService) Insert(groupKey string, member *Member) *MembersInsertCall {
 10994  	c := &MembersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10995  	c.groupKey = groupKey
 10996  	c.member = member
 10997  	return c
 10998  }
 10999  
 11000  // Fields allows partial responses to be retrieved. See
 11001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11002  // details.
 11003  func (c *MembersInsertCall) Fields(s ...googleapi.Field) *MembersInsertCall {
 11004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11005  	return c
 11006  }
 11007  
 11008  // Context sets the context to be used in this call's Do method.
 11009  func (c *MembersInsertCall) Context(ctx context.Context) *MembersInsertCall {
 11010  	c.ctx_ = ctx
 11011  	return c
 11012  }
 11013  
 11014  // Header returns a http.Header that can be modified by the caller to add
 11015  // headers to the request.
 11016  func (c *MembersInsertCall) Header() http.Header {
 11017  	if c.header_ == nil {
 11018  		c.header_ = make(http.Header)
 11019  	}
 11020  	return c.header_
 11021  }
 11022  
 11023  func (c *MembersInsertCall) doRequest(alt string) (*http.Response, error) {
 11024  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11025  	var body io.Reader = nil
 11026  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.member)
 11027  	if err != nil {
 11028  		return nil, err
 11029  	}
 11030  	c.urlParams_.Set("alt", alt)
 11031  	c.urlParams_.Set("prettyPrint", "false")
 11032  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members")
 11033  	urls += "?" + c.urlParams_.Encode()
 11034  	req, err := http.NewRequest("POST", urls, body)
 11035  	if err != nil {
 11036  		return nil, err
 11037  	}
 11038  	req.Header = reqHeaders
 11039  	googleapi.Expand(req.URL, map[string]string{
 11040  		"groupKey": c.groupKey,
 11041  	})
 11042  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11043  }
 11044  
 11045  // Do executes the "directory.members.insert" call.
 11046  // Any non-2xx status code is an error. Response headers are in either
 11047  // *Member.ServerResponse.Header or (if a response was returned at all) in
 11048  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11049  // whether the returned error was because http.StatusNotModified was returned.
 11050  func (c *MembersInsertCall) Do(opts ...googleapi.CallOption) (*Member, error) {
 11051  	gensupport.SetOptions(c.urlParams_, opts...)
 11052  	res, err := c.doRequest("json")
 11053  	if res != nil && res.StatusCode == http.StatusNotModified {
 11054  		if res.Body != nil {
 11055  			res.Body.Close()
 11056  		}
 11057  		return nil, gensupport.WrapError(&googleapi.Error{
 11058  			Code:   res.StatusCode,
 11059  			Header: res.Header,
 11060  		})
 11061  	}
 11062  	if err != nil {
 11063  		return nil, err
 11064  	}
 11065  	defer googleapi.CloseBody(res)
 11066  	if err := googleapi.CheckResponse(res); err != nil {
 11067  		return nil, gensupport.WrapError(err)
 11068  	}
 11069  	ret := &Member{
 11070  		ServerResponse: googleapi.ServerResponse{
 11071  			Header:         res.Header,
 11072  			HTTPStatusCode: res.StatusCode,
 11073  		},
 11074  	}
 11075  	target := &ret
 11076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11077  		return nil, err
 11078  	}
 11079  	return ret, nil
 11080  }
 11081  
 11082  type MembersListCall struct {
 11083  	s            *Service
 11084  	groupKey     string
 11085  	urlParams_   gensupport.URLParams
 11086  	ifNoneMatch_ string
 11087  	ctx_         context.Context
 11088  	header_      http.Header
 11089  }
 11090  
 11091  // List: Retrieves a paginated list of all members in a group. This method
 11092  // times out after 60 minutes. For more information, see Troubleshoot error
 11093  // codes
 11094  // (https://developers.google.com/admin-sdk/directory/v1/guides/troubleshoot-error-codes).
 11095  //
 11096  //   - groupKey: Identifies the group in the API request. The value can be the
 11097  //     group's email address, group alias, or the unique group ID.
 11098  func (r *MembersService) List(groupKey string) *MembersListCall {
 11099  	c := &MembersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11100  	c.groupKey = groupKey
 11101  	return c
 11102  }
 11103  
 11104  // IncludeDerivedMembership sets the optional parameter
 11105  // "includeDerivedMembership": Whether to list indirect memberships. Default:
 11106  // false.
 11107  func (c *MembersListCall) IncludeDerivedMembership(includeDerivedMembership bool) *MembersListCall {
 11108  	c.urlParams_.Set("includeDerivedMembership", fmt.Sprint(includeDerivedMembership))
 11109  	return c
 11110  }
 11111  
 11112  // MaxResults sets the optional parameter "maxResults": Maximum number of
 11113  // results to return. Max allowed value is 200.
 11114  func (c *MembersListCall) MaxResults(maxResults int64) *MembersListCall {
 11115  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 11116  	return c
 11117  }
 11118  
 11119  // PageToken sets the optional parameter "pageToken": Token to specify next
 11120  // page in the list.
 11121  func (c *MembersListCall) PageToken(pageToken string) *MembersListCall {
 11122  	c.urlParams_.Set("pageToken", pageToken)
 11123  	return c
 11124  }
 11125  
 11126  // Roles sets the optional parameter "roles": The `roles` query parameter
 11127  // allows you to retrieve group members by role. Allowed values are `OWNER`,
 11128  // `MANAGER`, and `MEMBER`.
 11129  func (c *MembersListCall) Roles(roles string) *MembersListCall {
 11130  	c.urlParams_.Set("roles", roles)
 11131  	return c
 11132  }
 11133  
 11134  // Fields allows partial responses to be retrieved. See
 11135  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11136  // details.
 11137  func (c *MembersListCall) Fields(s ...googleapi.Field) *MembersListCall {
 11138  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11139  	return c
 11140  }
 11141  
 11142  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11143  // object's ETag matches the given value. This is useful for getting updates
 11144  // only after the object has changed since the last request.
 11145  func (c *MembersListCall) IfNoneMatch(entityTag string) *MembersListCall {
 11146  	c.ifNoneMatch_ = entityTag
 11147  	return c
 11148  }
 11149  
 11150  // Context sets the context to be used in this call's Do method.
 11151  func (c *MembersListCall) Context(ctx context.Context) *MembersListCall {
 11152  	c.ctx_ = ctx
 11153  	return c
 11154  }
 11155  
 11156  // Header returns a http.Header that can be modified by the caller to add
 11157  // headers to the request.
 11158  func (c *MembersListCall) Header() http.Header {
 11159  	if c.header_ == nil {
 11160  		c.header_ = make(http.Header)
 11161  	}
 11162  	return c.header_
 11163  }
 11164  
 11165  func (c *MembersListCall) doRequest(alt string) (*http.Response, error) {
 11166  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11167  	if c.ifNoneMatch_ != "" {
 11168  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11169  	}
 11170  	var body io.Reader = nil
 11171  	c.urlParams_.Set("alt", alt)
 11172  	c.urlParams_.Set("prettyPrint", "false")
 11173  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members")
 11174  	urls += "?" + c.urlParams_.Encode()
 11175  	req, err := http.NewRequest("GET", urls, body)
 11176  	if err != nil {
 11177  		return nil, err
 11178  	}
 11179  	req.Header = reqHeaders
 11180  	googleapi.Expand(req.URL, map[string]string{
 11181  		"groupKey": c.groupKey,
 11182  	})
 11183  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11184  }
 11185  
 11186  // Do executes the "directory.members.list" call.
 11187  // Any non-2xx status code is an error. Response headers are in either
 11188  // *Members.ServerResponse.Header or (if a response was returned at all) in
 11189  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11190  // whether the returned error was because http.StatusNotModified was returned.
 11191  func (c *MembersListCall) Do(opts ...googleapi.CallOption) (*Members, error) {
 11192  	gensupport.SetOptions(c.urlParams_, opts...)
 11193  	res, err := c.doRequest("json")
 11194  	if res != nil && res.StatusCode == http.StatusNotModified {
 11195  		if res.Body != nil {
 11196  			res.Body.Close()
 11197  		}
 11198  		return nil, gensupport.WrapError(&googleapi.Error{
 11199  			Code:   res.StatusCode,
 11200  			Header: res.Header,
 11201  		})
 11202  	}
 11203  	if err != nil {
 11204  		return nil, err
 11205  	}
 11206  	defer googleapi.CloseBody(res)
 11207  	if err := googleapi.CheckResponse(res); err != nil {
 11208  		return nil, gensupport.WrapError(err)
 11209  	}
 11210  	ret := &Members{
 11211  		ServerResponse: googleapi.ServerResponse{
 11212  			Header:         res.Header,
 11213  			HTTPStatusCode: res.StatusCode,
 11214  		},
 11215  	}
 11216  	target := &ret
 11217  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11218  		return nil, err
 11219  	}
 11220  	return ret, nil
 11221  }
 11222  
 11223  // Pages invokes f for each page of results.
 11224  // A non-nil error returned from f will halt the iteration.
 11225  // The provided context supersedes any context provided to the Context method.
 11226  func (c *MembersListCall) Pages(ctx context.Context, f func(*Members) error) error {
 11227  	c.ctx_ = ctx
 11228  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11229  	for {
 11230  		x, err := c.Do()
 11231  		if err != nil {
 11232  			return err
 11233  		}
 11234  		if err := f(x); err != nil {
 11235  			return err
 11236  		}
 11237  		if x.NextPageToken == "" {
 11238  			return nil
 11239  		}
 11240  		c.PageToken(x.NextPageToken)
 11241  	}
 11242  }
 11243  
 11244  type MembersPatchCall struct {
 11245  	s          *Service
 11246  	groupKey   string
 11247  	memberKey  string
 11248  	member     *Member
 11249  	urlParams_ gensupport.URLParams
 11250  	ctx_       context.Context
 11251  	header_    http.Header
 11252  }
 11253  
 11254  // Patch: Updates the membership properties of a user in the specified group.
 11255  // This method supports patch semantics
 11256  // (/admin-sdk/directory/v1/guides/performance#patch).
 11257  //
 11258  //   - groupKey: Identifies the group in the API request. The value can be the
 11259  //     group's email address, group alias, or the unique group ID.
 11260  //   - memberKey: Identifies the group member in the API request. A group member
 11261  //     can be a user or another group. The value can be the member's (group or
 11262  //     user) primary email address, alias, or unique ID.
 11263  func (r *MembersService) Patch(groupKey string, memberKey string, member *Member) *MembersPatchCall {
 11264  	c := &MembersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11265  	c.groupKey = groupKey
 11266  	c.memberKey = memberKey
 11267  	c.member = member
 11268  	return c
 11269  }
 11270  
 11271  // Fields allows partial responses to be retrieved. See
 11272  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11273  // details.
 11274  func (c *MembersPatchCall) Fields(s ...googleapi.Field) *MembersPatchCall {
 11275  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11276  	return c
 11277  }
 11278  
 11279  // Context sets the context to be used in this call's Do method.
 11280  func (c *MembersPatchCall) Context(ctx context.Context) *MembersPatchCall {
 11281  	c.ctx_ = ctx
 11282  	return c
 11283  }
 11284  
 11285  // Header returns a http.Header that can be modified by the caller to add
 11286  // headers to the request.
 11287  func (c *MembersPatchCall) Header() http.Header {
 11288  	if c.header_ == nil {
 11289  		c.header_ = make(http.Header)
 11290  	}
 11291  	return c.header_
 11292  }
 11293  
 11294  func (c *MembersPatchCall) doRequest(alt string) (*http.Response, error) {
 11295  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11296  	var body io.Reader = nil
 11297  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.member)
 11298  	if err != nil {
 11299  		return nil, err
 11300  	}
 11301  	c.urlParams_.Set("alt", alt)
 11302  	c.urlParams_.Set("prettyPrint", "false")
 11303  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members/{memberKey}")
 11304  	urls += "?" + c.urlParams_.Encode()
 11305  	req, err := http.NewRequest("PATCH", urls, body)
 11306  	if err != nil {
 11307  		return nil, err
 11308  	}
 11309  	req.Header = reqHeaders
 11310  	googleapi.Expand(req.URL, map[string]string{
 11311  		"groupKey":  c.groupKey,
 11312  		"memberKey": c.memberKey,
 11313  	})
 11314  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11315  }
 11316  
 11317  // Do executes the "directory.members.patch" call.
 11318  // Any non-2xx status code is an error. Response headers are in either
 11319  // *Member.ServerResponse.Header or (if a response was returned at all) in
 11320  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11321  // whether the returned error was because http.StatusNotModified was returned.
 11322  func (c *MembersPatchCall) Do(opts ...googleapi.CallOption) (*Member, error) {
 11323  	gensupport.SetOptions(c.urlParams_, opts...)
 11324  	res, err := c.doRequest("json")
 11325  	if res != nil && res.StatusCode == http.StatusNotModified {
 11326  		if res.Body != nil {
 11327  			res.Body.Close()
 11328  		}
 11329  		return nil, gensupport.WrapError(&googleapi.Error{
 11330  			Code:   res.StatusCode,
 11331  			Header: res.Header,
 11332  		})
 11333  	}
 11334  	if err != nil {
 11335  		return nil, err
 11336  	}
 11337  	defer googleapi.CloseBody(res)
 11338  	if err := googleapi.CheckResponse(res); err != nil {
 11339  		return nil, gensupport.WrapError(err)
 11340  	}
 11341  	ret := &Member{
 11342  		ServerResponse: googleapi.ServerResponse{
 11343  			Header:         res.Header,
 11344  			HTTPStatusCode: res.StatusCode,
 11345  		},
 11346  	}
 11347  	target := &ret
 11348  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11349  		return nil, err
 11350  	}
 11351  	return ret, nil
 11352  }
 11353  
 11354  type MembersUpdateCall struct {
 11355  	s          *Service
 11356  	groupKey   string
 11357  	memberKey  string
 11358  	member     *Member
 11359  	urlParams_ gensupport.URLParams
 11360  	ctx_       context.Context
 11361  	header_    http.Header
 11362  }
 11363  
 11364  // Update: Updates the membership of a user in the specified group.
 11365  //
 11366  //   - groupKey: Identifies the group in the API request. The value can be the
 11367  //     group's email address, group alias, or the unique group ID.
 11368  //   - memberKey: Identifies the group member in the API request. A group member
 11369  //     can be a user or another group. The value can be the member's (group or
 11370  //     user) primary email address, alias, or unique ID.
 11371  func (r *MembersService) Update(groupKey string, memberKey string, member *Member) *MembersUpdateCall {
 11372  	c := &MembersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11373  	c.groupKey = groupKey
 11374  	c.memberKey = memberKey
 11375  	c.member = member
 11376  	return c
 11377  }
 11378  
 11379  // Fields allows partial responses to be retrieved. See
 11380  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11381  // details.
 11382  func (c *MembersUpdateCall) Fields(s ...googleapi.Field) *MembersUpdateCall {
 11383  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11384  	return c
 11385  }
 11386  
 11387  // Context sets the context to be used in this call's Do method.
 11388  func (c *MembersUpdateCall) Context(ctx context.Context) *MembersUpdateCall {
 11389  	c.ctx_ = ctx
 11390  	return c
 11391  }
 11392  
 11393  // Header returns a http.Header that can be modified by the caller to add
 11394  // headers to the request.
 11395  func (c *MembersUpdateCall) Header() http.Header {
 11396  	if c.header_ == nil {
 11397  		c.header_ = make(http.Header)
 11398  	}
 11399  	return c.header_
 11400  }
 11401  
 11402  func (c *MembersUpdateCall) doRequest(alt string) (*http.Response, error) {
 11403  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11404  	var body io.Reader = nil
 11405  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.member)
 11406  	if err != nil {
 11407  		return nil, err
 11408  	}
 11409  	c.urlParams_.Set("alt", alt)
 11410  	c.urlParams_.Set("prettyPrint", "false")
 11411  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/groups/{groupKey}/members/{memberKey}")
 11412  	urls += "?" + c.urlParams_.Encode()
 11413  	req, err := http.NewRequest("PUT", urls, body)
 11414  	if err != nil {
 11415  		return nil, err
 11416  	}
 11417  	req.Header = reqHeaders
 11418  	googleapi.Expand(req.URL, map[string]string{
 11419  		"groupKey":  c.groupKey,
 11420  		"memberKey": c.memberKey,
 11421  	})
 11422  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11423  }
 11424  
 11425  // Do executes the "directory.members.update" call.
 11426  // Any non-2xx status code is an error. Response headers are in either
 11427  // *Member.ServerResponse.Header or (if a response was returned at all) in
 11428  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11429  // whether the returned error was because http.StatusNotModified was returned.
 11430  func (c *MembersUpdateCall) Do(opts ...googleapi.CallOption) (*Member, error) {
 11431  	gensupport.SetOptions(c.urlParams_, opts...)
 11432  	res, err := c.doRequest("json")
 11433  	if res != nil && res.StatusCode == http.StatusNotModified {
 11434  		if res.Body != nil {
 11435  			res.Body.Close()
 11436  		}
 11437  		return nil, gensupport.WrapError(&googleapi.Error{
 11438  			Code:   res.StatusCode,
 11439  			Header: res.Header,
 11440  		})
 11441  	}
 11442  	if err != nil {
 11443  		return nil, err
 11444  	}
 11445  	defer googleapi.CloseBody(res)
 11446  	if err := googleapi.CheckResponse(res); err != nil {
 11447  		return nil, gensupport.WrapError(err)
 11448  	}
 11449  	ret := &Member{
 11450  		ServerResponse: googleapi.ServerResponse{
 11451  			Header:         res.Header,
 11452  			HTTPStatusCode: res.StatusCode,
 11453  		},
 11454  	}
 11455  	target := &ret
 11456  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11457  		return nil, err
 11458  	}
 11459  	return ret, nil
 11460  }
 11461  
 11462  type MobiledevicesActionCall struct {
 11463  	s                  *Service
 11464  	customerId         string
 11465  	resourceId         string
 11466  	mobiledeviceaction *MobileDeviceAction
 11467  	urlParams_         gensupport.URLParams
 11468  	ctx_               context.Context
 11469  	header_            http.Header
 11470  }
 11471  
 11472  // Action: Takes an action that affects a mobile device. For example, remotely
 11473  // wiping a device.
 11474  //
 11475  //   - customerId: The unique ID for the customer's Google Workspace account. As
 11476  //     an account administrator, you can also use the `my_customer` alias to
 11477  //     represent your account's `customerId`. The `customerId` is also returned
 11478  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 11479  //   - resourceId: The unique ID the API service uses to identify the mobile
 11480  //     device.
 11481  func (r *MobiledevicesService) Action(customerId string, resourceId string, mobiledeviceaction *MobileDeviceAction) *MobiledevicesActionCall {
 11482  	c := &MobiledevicesActionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11483  	c.customerId = customerId
 11484  	c.resourceId = resourceId
 11485  	c.mobiledeviceaction = mobiledeviceaction
 11486  	return c
 11487  }
 11488  
 11489  // Fields allows partial responses to be retrieved. See
 11490  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11491  // details.
 11492  func (c *MobiledevicesActionCall) Fields(s ...googleapi.Field) *MobiledevicesActionCall {
 11493  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11494  	return c
 11495  }
 11496  
 11497  // Context sets the context to be used in this call's Do method.
 11498  func (c *MobiledevicesActionCall) Context(ctx context.Context) *MobiledevicesActionCall {
 11499  	c.ctx_ = ctx
 11500  	return c
 11501  }
 11502  
 11503  // Header returns a http.Header that can be modified by the caller to add
 11504  // headers to the request.
 11505  func (c *MobiledevicesActionCall) Header() http.Header {
 11506  	if c.header_ == nil {
 11507  		c.header_ = make(http.Header)
 11508  	}
 11509  	return c.header_
 11510  }
 11511  
 11512  func (c *MobiledevicesActionCall) doRequest(alt string) (*http.Response, error) {
 11513  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11514  	var body io.Reader = nil
 11515  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.mobiledeviceaction)
 11516  	if err != nil {
 11517  		return nil, err
 11518  	}
 11519  	c.urlParams_.Set("alt", alt)
 11520  	c.urlParams_.Set("prettyPrint", "false")
 11521  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}/action")
 11522  	urls += "?" + c.urlParams_.Encode()
 11523  	req, err := http.NewRequest("POST", urls, body)
 11524  	if err != nil {
 11525  		return nil, err
 11526  	}
 11527  	req.Header = reqHeaders
 11528  	googleapi.Expand(req.URL, map[string]string{
 11529  		"customerId": c.customerId,
 11530  		"resourceId": c.resourceId,
 11531  	})
 11532  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11533  }
 11534  
 11535  // Do executes the "directory.mobiledevices.action" call.
 11536  func (c *MobiledevicesActionCall) Do(opts ...googleapi.CallOption) error {
 11537  	gensupport.SetOptions(c.urlParams_, opts...)
 11538  	res, err := c.doRequest("json")
 11539  	if err != nil {
 11540  		return err
 11541  	}
 11542  	defer googleapi.CloseBody(res)
 11543  	if err := googleapi.CheckResponse(res); err != nil {
 11544  		return gensupport.WrapError(err)
 11545  	}
 11546  	return nil
 11547  }
 11548  
 11549  type MobiledevicesDeleteCall struct {
 11550  	s          *Service
 11551  	customerId string
 11552  	resourceId string
 11553  	urlParams_ gensupport.URLParams
 11554  	ctx_       context.Context
 11555  	header_    http.Header
 11556  }
 11557  
 11558  // Delete: Removes a mobile device.
 11559  //
 11560  //   - customerId: The unique ID for the customer's Google Workspace account. As
 11561  //     an account administrator, you can also use the `my_customer` alias to
 11562  //     represent your account's `customerId`. The `customerId` is also returned
 11563  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 11564  //   - resourceId: The unique ID the API service uses to identify the mobile
 11565  //     device.
 11566  func (r *MobiledevicesService) Delete(customerId string, resourceId string) *MobiledevicesDeleteCall {
 11567  	c := &MobiledevicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11568  	c.customerId = customerId
 11569  	c.resourceId = resourceId
 11570  	return c
 11571  }
 11572  
 11573  // Fields allows partial responses to be retrieved. See
 11574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11575  // details.
 11576  func (c *MobiledevicesDeleteCall) Fields(s ...googleapi.Field) *MobiledevicesDeleteCall {
 11577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11578  	return c
 11579  }
 11580  
 11581  // Context sets the context to be used in this call's Do method.
 11582  func (c *MobiledevicesDeleteCall) Context(ctx context.Context) *MobiledevicesDeleteCall {
 11583  	c.ctx_ = ctx
 11584  	return c
 11585  }
 11586  
 11587  // Header returns a http.Header that can be modified by the caller to add
 11588  // headers to the request.
 11589  func (c *MobiledevicesDeleteCall) Header() http.Header {
 11590  	if c.header_ == nil {
 11591  		c.header_ = make(http.Header)
 11592  	}
 11593  	return c.header_
 11594  }
 11595  
 11596  func (c *MobiledevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 11597  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11598  	var body io.Reader = nil
 11599  	c.urlParams_.Set("alt", alt)
 11600  	c.urlParams_.Set("prettyPrint", "false")
 11601  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}")
 11602  	urls += "?" + c.urlParams_.Encode()
 11603  	req, err := http.NewRequest("DELETE", urls, body)
 11604  	if err != nil {
 11605  		return nil, err
 11606  	}
 11607  	req.Header = reqHeaders
 11608  	googleapi.Expand(req.URL, map[string]string{
 11609  		"customerId": c.customerId,
 11610  		"resourceId": c.resourceId,
 11611  	})
 11612  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11613  }
 11614  
 11615  // Do executes the "directory.mobiledevices.delete" call.
 11616  func (c *MobiledevicesDeleteCall) Do(opts ...googleapi.CallOption) error {
 11617  	gensupport.SetOptions(c.urlParams_, opts...)
 11618  	res, err := c.doRequest("json")
 11619  	if err != nil {
 11620  		return err
 11621  	}
 11622  	defer googleapi.CloseBody(res)
 11623  	if err := googleapi.CheckResponse(res); err != nil {
 11624  		return gensupport.WrapError(err)
 11625  	}
 11626  	return nil
 11627  }
 11628  
 11629  type MobiledevicesGetCall struct {
 11630  	s            *Service
 11631  	customerId   string
 11632  	resourceId   string
 11633  	urlParams_   gensupport.URLParams
 11634  	ifNoneMatch_ string
 11635  	ctx_         context.Context
 11636  	header_      http.Header
 11637  }
 11638  
 11639  // Get: Retrieves a mobile device's properties.
 11640  //
 11641  //   - customerId: The unique ID for the customer's Google Workspace account. As
 11642  //     an account administrator, you can also use the `my_customer` alias to
 11643  //     represent your account's `customerId`. The `customerId` is also returned
 11644  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 11645  //   - resourceId: The unique ID the API service uses to identify the mobile
 11646  //     device.
 11647  func (r *MobiledevicesService) Get(customerId string, resourceId string) *MobiledevicesGetCall {
 11648  	c := &MobiledevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11649  	c.customerId = customerId
 11650  	c.resourceId = resourceId
 11651  	return c
 11652  }
 11653  
 11654  // Projection sets the optional parameter "projection": Restrict information
 11655  // returned to a set of selected fields.
 11656  //
 11657  // Possible values:
 11658  //
 11659  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId, model,
 11660  //
 11661  // status, type, and status)
 11662  //
 11663  //	"FULL" - Includes all metadata fields
 11664  func (c *MobiledevicesGetCall) Projection(projection string) *MobiledevicesGetCall {
 11665  	c.urlParams_.Set("projection", projection)
 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 *MobiledevicesGetCall) Fields(s ...googleapi.Field) *MobiledevicesGetCall {
 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 *MobiledevicesGetCall) IfNoneMatch(entityTag string) *MobiledevicesGetCall {
 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 *MobiledevicesGetCall) Context(ctx context.Context) *MobiledevicesGetCall {
 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 *MobiledevicesGetCall) Header() http.Header {
 11694  	if c.header_ == nil {
 11695  		c.header_ = make(http.Header)
 11696  	}
 11697  	return c.header_
 11698  }
 11699  
 11700  func (c *MobiledevicesGetCall) 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, "admin/directory/v1/customer/{customerId}/devices/mobile/{resourceId}")
 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  		"customerId": c.customerId,
 11717  		"resourceId": c.resourceId,
 11718  	})
 11719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11720  }
 11721  
 11722  // Do executes the "directory.mobiledevices.get" call.
 11723  // Any non-2xx status code is an error. Response headers are in either
 11724  // *MobileDevice.ServerResponse.Header or (if a response was returned at all)
 11725  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11726  // whether the returned error was because http.StatusNotModified was returned.
 11727  func (c *MobiledevicesGetCall) Do(opts ...googleapi.CallOption) (*MobileDevice, error) {
 11728  	gensupport.SetOptions(c.urlParams_, opts...)
 11729  	res, err := c.doRequest("json")
 11730  	if res != nil && res.StatusCode == http.StatusNotModified {
 11731  		if res.Body != nil {
 11732  			res.Body.Close()
 11733  		}
 11734  		return nil, gensupport.WrapError(&googleapi.Error{
 11735  			Code:   res.StatusCode,
 11736  			Header: res.Header,
 11737  		})
 11738  	}
 11739  	if err != nil {
 11740  		return nil, err
 11741  	}
 11742  	defer googleapi.CloseBody(res)
 11743  	if err := googleapi.CheckResponse(res); err != nil {
 11744  		return nil, gensupport.WrapError(err)
 11745  	}
 11746  	ret := &MobileDevice{
 11747  		ServerResponse: googleapi.ServerResponse{
 11748  			Header:         res.Header,
 11749  			HTTPStatusCode: res.StatusCode,
 11750  		},
 11751  	}
 11752  	target := &ret
 11753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11754  		return nil, err
 11755  	}
 11756  	return ret, nil
 11757  }
 11758  
 11759  type MobiledevicesListCall struct {
 11760  	s            *Service
 11761  	customerId   string
 11762  	urlParams_   gensupport.URLParams
 11763  	ifNoneMatch_ string
 11764  	ctx_         context.Context
 11765  	header_      http.Header
 11766  }
 11767  
 11768  // List: Retrieves a paginated list of all user-owned mobile devices for an
 11769  // account. To retrieve a list that includes company-owned devices, use the
 11770  // Cloud Identity Devices API
 11771  // (https://cloud.google.com/identity/docs/concepts/overview-devices) instead.
 11772  // This method times out after 60 minutes. For more information, see
 11773  // Troubleshoot error codes
 11774  // (https://developers.google.com/admin-sdk/directory/v1/guides/troubleshoot-error-codes).
 11775  //
 11776  //   - customerId: The unique ID for the customer's Google Workspace account. As
 11777  //     an account administrator, you can also use the `my_customer` alias to
 11778  //     represent your account's `customerId`. The `customerId` is also returned
 11779  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 11780  func (r *MobiledevicesService) List(customerId string) *MobiledevicesListCall {
 11781  	c := &MobiledevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11782  	c.customerId = customerId
 11783  	return c
 11784  }
 11785  
 11786  // MaxResults sets the optional parameter "maxResults": Maximum number of
 11787  // results to return. Max allowed value is 100.
 11788  func (c *MobiledevicesListCall) MaxResults(maxResults int64) *MobiledevicesListCall {
 11789  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 11790  	return c
 11791  }
 11792  
 11793  // OrderBy sets the optional parameter "orderBy": Device property to use for
 11794  // sorting results.
 11795  //
 11796  // Possible values:
 11797  //
 11798  //	"deviceId" - The serial number for a Google Sync mobile device. For
 11799  //
 11800  // Android devices, this is a software generated unique identifier.
 11801  //
 11802  //	"email" - The device owner's email address.
 11803  //	"lastSync" - Last policy settings sync date time of the device.
 11804  //	"model" - The mobile device's model.
 11805  //	"name" - The device owner's user name.
 11806  //	"os" - The device's operating system.
 11807  //	"status" - The device status.
 11808  //	"type" - Type of the device.
 11809  func (c *MobiledevicesListCall) OrderBy(orderBy string) *MobiledevicesListCall {
 11810  	c.urlParams_.Set("orderBy", orderBy)
 11811  	return c
 11812  }
 11813  
 11814  // PageToken sets the optional parameter "pageToken": Token to specify next
 11815  // page in the list
 11816  func (c *MobiledevicesListCall) PageToken(pageToken string) *MobiledevicesListCall {
 11817  	c.urlParams_.Set("pageToken", pageToken)
 11818  	return c
 11819  }
 11820  
 11821  // Projection sets the optional parameter "projection": Restrict information
 11822  // returned to a set of selected fields.
 11823  //
 11824  // Possible values:
 11825  //
 11826  //	"BASIC" - Includes only the basic metadata fields (e.g., deviceId, model,
 11827  //
 11828  // status, type, and status)
 11829  //
 11830  //	"FULL" - Includes all metadata fields
 11831  func (c *MobiledevicesListCall) Projection(projection string) *MobiledevicesListCall {
 11832  	c.urlParams_.Set("projection", projection)
 11833  	return c
 11834  }
 11835  
 11836  // Query sets the optional parameter "query": Search string in the format given
 11837  // at https://developers.google.com/admin-sdk/directory/v1/search-operators
 11838  func (c *MobiledevicesListCall) Query(query string) *MobiledevicesListCall {
 11839  	c.urlParams_.Set("query", query)
 11840  	return c
 11841  }
 11842  
 11843  // SortOrder sets the optional parameter "sortOrder": Whether to return results
 11844  // in ascending or descending order. Must be used with the `orderBy` parameter.
 11845  //
 11846  // Possible values:
 11847  //
 11848  //	"ASCENDING" - Ascending order.
 11849  //	"DESCENDING" - Descending order.
 11850  func (c *MobiledevicesListCall) SortOrder(sortOrder string) *MobiledevicesListCall {
 11851  	c.urlParams_.Set("sortOrder", sortOrder)
 11852  	return c
 11853  }
 11854  
 11855  // Fields allows partial responses to be retrieved. See
 11856  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11857  // details.
 11858  func (c *MobiledevicesListCall) Fields(s ...googleapi.Field) *MobiledevicesListCall {
 11859  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11860  	return c
 11861  }
 11862  
 11863  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11864  // object's ETag matches the given value. This is useful for getting updates
 11865  // only after the object has changed since the last request.
 11866  func (c *MobiledevicesListCall) IfNoneMatch(entityTag string) *MobiledevicesListCall {
 11867  	c.ifNoneMatch_ = entityTag
 11868  	return c
 11869  }
 11870  
 11871  // Context sets the context to be used in this call's Do method.
 11872  func (c *MobiledevicesListCall) Context(ctx context.Context) *MobiledevicesListCall {
 11873  	c.ctx_ = ctx
 11874  	return c
 11875  }
 11876  
 11877  // Header returns a http.Header that can be modified by the caller to add
 11878  // headers to the request.
 11879  func (c *MobiledevicesListCall) Header() http.Header {
 11880  	if c.header_ == nil {
 11881  		c.header_ = make(http.Header)
 11882  	}
 11883  	return c.header_
 11884  }
 11885  
 11886  func (c *MobiledevicesListCall) doRequest(alt string) (*http.Response, error) {
 11887  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11888  	if c.ifNoneMatch_ != "" {
 11889  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11890  	}
 11891  	var body io.Reader = nil
 11892  	c.urlParams_.Set("alt", alt)
 11893  	c.urlParams_.Set("prettyPrint", "false")
 11894  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/devices/mobile")
 11895  	urls += "?" + c.urlParams_.Encode()
 11896  	req, err := http.NewRequest("GET", urls, body)
 11897  	if err != nil {
 11898  		return nil, err
 11899  	}
 11900  	req.Header = reqHeaders
 11901  	googleapi.Expand(req.URL, map[string]string{
 11902  		"customerId": c.customerId,
 11903  	})
 11904  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11905  }
 11906  
 11907  // Do executes the "directory.mobiledevices.list" call.
 11908  // Any non-2xx status code is an error. Response headers are in either
 11909  // *MobileDevices.ServerResponse.Header or (if a response was returned at all)
 11910  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11911  // whether the returned error was because http.StatusNotModified was returned.
 11912  func (c *MobiledevicesListCall) Do(opts ...googleapi.CallOption) (*MobileDevices, error) {
 11913  	gensupport.SetOptions(c.urlParams_, opts...)
 11914  	res, err := c.doRequest("json")
 11915  	if res != nil && res.StatusCode == http.StatusNotModified {
 11916  		if res.Body != nil {
 11917  			res.Body.Close()
 11918  		}
 11919  		return nil, gensupport.WrapError(&googleapi.Error{
 11920  			Code:   res.StatusCode,
 11921  			Header: res.Header,
 11922  		})
 11923  	}
 11924  	if err != nil {
 11925  		return nil, err
 11926  	}
 11927  	defer googleapi.CloseBody(res)
 11928  	if err := googleapi.CheckResponse(res); err != nil {
 11929  		return nil, gensupport.WrapError(err)
 11930  	}
 11931  	ret := &MobileDevices{
 11932  		ServerResponse: googleapi.ServerResponse{
 11933  			Header:         res.Header,
 11934  			HTTPStatusCode: res.StatusCode,
 11935  		},
 11936  	}
 11937  	target := &ret
 11938  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11939  		return nil, err
 11940  	}
 11941  	return ret, nil
 11942  }
 11943  
 11944  // Pages invokes f for each page of results.
 11945  // A non-nil error returned from f will halt the iteration.
 11946  // The provided context supersedes any context provided to the Context method.
 11947  func (c *MobiledevicesListCall) Pages(ctx context.Context, f func(*MobileDevices) error) error {
 11948  	c.ctx_ = ctx
 11949  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11950  	for {
 11951  		x, err := c.Do()
 11952  		if err != nil {
 11953  			return err
 11954  		}
 11955  		if err := f(x); err != nil {
 11956  			return err
 11957  		}
 11958  		if x.NextPageToken == "" {
 11959  			return nil
 11960  		}
 11961  		c.PageToken(x.NextPageToken)
 11962  	}
 11963  }
 11964  
 11965  type OrgunitsDeleteCall struct {
 11966  	s           *Service
 11967  	customerId  string
 11968  	orgUnitPath string
 11969  	urlParams_  gensupport.URLParams
 11970  	ctx_        context.Context
 11971  	header_     http.Header
 11972  }
 11973  
 11974  // Delete: Removes an organizational unit.
 11975  //
 11976  //   - customerId: The unique ID for the customer's Google Workspace account. As
 11977  //     an account administrator, you can also use the `my_customer` alias to
 11978  //     represent your account's `customerId`. The `customerId` is also returned
 11979  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 11980  //   - orgUnitPath: The full path of the organizational unit (minus the leading
 11981  //     `/`) or its unique ID.
 11982  func (r *OrgunitsService) Delete(customerId string, orgUnitPath string) *OrgunitsDeleteCall {
 11983  	c := &OrgunitsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11984  	c.customerId = customerId
 11985  	c.orgUnitPath = orgUnitPath
 11986  	return c
 11987  }
 11988  
 11989  // Fields allows partial responses to be retrieved. See
 11990  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11991  // details.
 11992  func (c *OrgunitsDeleteCall) Fields(s ...googleapi.Field) *OrgunitsDeleteCall {
 11993  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11994  	return c
 11995  }
 11996  
 11997  // Context sets the context to be used in this call's Do method.
 11998  func (c *OrgunitsDeleteCall) Context(ctx context.Context) *OrgunitsDeleteCall {
 11999  	c.ctx_ = ctx
 12000  	return c
 12001  }
 12002  
 12003  // Header returns a http.Header that can be modified by the caller to add
 12004  // headers to the request.
 12005  func (c *OrgunitsDeleteCall) Header() http.Header {
 12006  	if c.header_ == nil {
 12007  		c.header_ = make(http.Header)
 12008  	}
 12009  	return c.header_
 12010  }
 12011  
 12012  func (c *OrgunitsDeleteCall) doRequest(alt string) (*http.Response, error) {
 12013  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12014  	var body io.Reader = nil
 12015  	c.urlParams_.Set("alt", alt)
 12016  	c.urlParams_.Set("prettyPrint", "false")
 12017  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits/{+orgUnitPath}")
 12018  	urls += "?" + c.urlParams_.Encode()
 12019  	req, err := http.NewRequest("DELETE", urls, body)
 12020  	if err != nil {
 12021  		return nil, err
 12022  	}
 12023  	req.Header = reqHeaders
 12024  	googleapi.Expand(req.URL, map[string]string{
 12025  		"customerId":  c.customerId,
 12026  		"orgUnitPath": c.orgUnitPath,
 12027  	})
 12028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12029  }
 12030  
 12031  // Do executes the "directory.orgunits.delete" call.
 12032  func (c *OrgunitsDeleteCall) Do(opts ...googleapi.CallOption) error {
 12033  	gensupport.SetOptions(c.urlParams_, opts...)
 12034  	res, err := c.doRequest("json")
 12035  	if err != nil {
 12036  		return err
 12037  	}
 12038  	defer googleapi.CloseBody(res)
 12039  	if err := googleapi.CheckResponse(res); err != nil {
 12040  		return gensupport.WrapError(err)
 12041  	}
 12042  	return nil
 12043  }
 12044  
 12045  type OrgunitsGetCall struct {
 12046  	s            *Service
 12047  	customerId   string
 12048  	orgUnitPath  string
 12049  	urlParams_   gensupport.URLParams
 12050  	ifNoneMatch_ string
 12051  	ctx_         context.Context
 12052  	header_      http.Header
 12053  }
 12054  
 12055  // Get: Retrieves an organizational unit.
 12056  //
 12057  //   - customerId: The unique ID for the customer's Google Workspace account. As
 12058  //     an account administrator, you can also use the `my_customer` alias to
 12059  //     represent your account's `customerId`. The `customerId` is also returned
 12060  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 12061  //   - orgUnitPath: The full path of the organizational unit (minus the leading
 12062  //     `/`) or its unique ID.
 12063  func (r *OrgunitsService) Get(customerId string, orgUnitPath string) *OrgunitsGetCall {
 12064  	c := &OrgunitsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12065  	c.customerId = customerId
 12066  	c.orgUnitPath = orgUnitPath
 12067  	return c
 12068  }
 12069  
 12070  // Fields allows partial responses to be retrieved. See
 12071  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12072  // details.
 12073  func (c *OrgunitsGetCall) Fields(s ...googleapi.Field) *OrgunitsGetCall {
 12074  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12075  	return c
 12076  }
 12077  
 12078  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12079  // object's ETag matches the given value. This is useful for getting updates
 12080  // only after the object has changed since the last request.
 12081  func (c *OrgunitsGetCall) IfNoneMatch(entityTag string) *OrgunitsGetCall {
 12082  	c.ifNoneMatch_ = entityTag
 12083  	return c
 12084  }
 12085  
 12086  // Context sets the context to be used in this call's Do method.
 12087  func (c *OrgunitsGetCall) Context(ctx context.Context) *OrgunitsGetCall {
 12088  	c.ctx_ = ctx
 12089  	return c
 12090  }
 12091  
 12092  // Header returns a http.Header that can be modified by the caller to add
 12093  // headers to the request.
 12094  func (c *OrgunitsGetCall) Header() http.Header {
 12095  	if c.header_ == nil {
 12096  		c.header_ = make(http.Header)
 12097  	}
 12098  	return c.header_
 12099  }
 12100  
 12101  func (c *OrgunitsGetCall) doRequest(alt string) (*http.Response, error) {
 12102  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12103  	if c.ifNoneMatch_ != "" {
 12104  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12105  	}
 12106  	var body io.Reader = nil
 12107  	c.urlParams_.Set("alt", alt)
 12108  	c.urlParams_.Set("prettyPrint", "false")
 12109  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits/{+orgUnitPath}")
 12110  	urls += "?" + c.urlParams_.Encode()
 12111  	req, err := http.NewRequest("GET", urls, body)
 12112  	if err != nil {
 12113  		return nil, err
 12114  	}
 12115  	req.Header = reqHeaders
 12116  	googleapi.Expand(req.URL, map[string]string{
 12117  		"customerId":  c.customerId,
 12118  		"orgUnitPath": c.orgUnitPath,
 12119  	})
 12120  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12121  }
 12122  
 12123  // Do executes the "directory.orgunits.get" call.
 12124  // Any non-2xx status code is an error. Response headers are in either
 12125  // *OrgUnit.ServerResponse.Header or (if a response was returned at all) in
 12126  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12127  // whether the returned error was because http.StatusNotModified was returned.
 12128  func (c *OrgunitsGetCall) Do(opts ...googleapi.CallOption) (*OrgUnit, error) {
 12129  	gensupport.SetOptions(c.urlParams_, opts...)
 12130  	res, err := c.doRequest("json")
 12131  	if res != nil && res.StatusCode == http.StatusNotModified {
 12132  		if res.Body != nil {
 12133  			res.Body.Close()
 12134  		}
 12135  		return nil, gensupport.WrapError(&googleapi.Error{
 12136  			Code:   res.StatusCode,
 12137  			Header: res.Header,
 12138  		})
 12139  	}
 12140  	if err != nil {
 12141  		return nil, err
 12142  	}
 12143  	defer googleapi.CloseBody(res)
 12144  	if err := googleapi.CheckResponse(res); err != nil {
 12145  		return nil, gensupport.WrapError(err)
 12146  	}
 12147  	ret := &OrgUnit{
 12148  		ServerResponse: googleapi.ServerResponse{
 12149  			Header:         res.Header,
 12150  			HTTPStatusCode: res.StatusCode,
 12151  		},
 12152  	}
 12153  	target := &ret
 12154  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12155  		return nil, err
 12156  	}
 12157  	return ret, nil
 12158  }
 12159  
 12160  type OrgunitsInsertCall struct {
 12161  	s          *Service
 12162  	customerId string
 12163  	orgunit    *OrgUnit
 12164  	urlParams_ gensupport.URLParams
 12165  	ctx_       context.Context
 12166  	header_    http.Header
 12167  }
 12168  
 12169  // Insert: Adds an organizational unit.
 12170  //
 12171  //   - customerId: The unique ID for the customer's Google Workspace account. As
 12172  //     an account administrator, you can also use the `my_customer` alias to
 12173  //     represent your account's `customerId`. The `customerId` is also returned
 12174  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 12175  func (r *OrgunitsService) Insert(customerId string, orgunit *OrgUnit) *OrgunitsInsertCall {
 12176  	c := &OrgunitsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12177  	c.customerId = customerId
 12178  	c.orgunit = orgunit
 12179  	return c
 12180  }
 12181  
 12182  // Fields allows partial responses to be retrieved. See
 12183  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12184  // details.
 12185  func (c *OrgunitsInsertCall) Fields(s ...googleapi.Field) *OrgunitsInsertCall {
 12186  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12187  	return c
 12188  }
 12189  
 12190  // Context sets the context to be used in this call's Do method.
 12191  func (c *OrgunitsInsertCall) Context(ctx context.Context) *OrgunitsInsertCall {
 12192  	c.ctx_ = ctx
 12193  	return c
 12194  }
 12195  
 12196  // Header returns a http.Header that can be modified by the caller to add
 12197  // headers to the request.
 12198  func (c *OrgunitsInsertCall) Header() http.Header {
 12199  	if c.header_ == nil {
 12200  		c.header_ = make(http.Header)
 12201  	}
 12202  	return c.header_
 12203  }
 12204  
 12205  func (c *OrgunitsInsertCall) doRequest(alt string) (*http.Response, error) {
 12206  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12207  	var body io.Reader = nil
 12208  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orgunit)
 12209  	if err != nil {
 12210  		return nil, err
 12211  	}
 12212  	c.urlParams_.Set("alt", alt)
 12213  	c.urlParams_.Set("prettyPrint", "false")
 12214  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits")
 12215  	urls += "?" + c.urlParams_.Encode()
 12216  	req, err := http.NewRequest("POST", urls, body)
 12217  	if err != nil {
 12218  		return nil, err
 12219  	}
 12220  	req.Header = reqHeaders
 12221  	googleapi.Expand(req.URL, map[string]string{
 12222  		"customerId": c.customerId,
 12223  	})
 12224  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12225  }
 12226  
 12227  // Do executes the "directory.orgunits.insert" call.
 12228  // Any non-2xx status code is an error. Response headers are in either
 12229  // *OrgUnit.ServerResponse.Header or (if a response was returned at all) in
 12230  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12231  // whether the returned error was because http.StatusNotModified was returned.
 12232  func (c *OrgunitsInsertCall) Do(opts ...googleapi.CallOption) (*OrgUnit, error) {
 12233  	gensupport.SetOptions(c.urlParams_, opts...)
 12234  	res, err := c.doRequest("json")
 12235  	if res != nil && res.StatusCode == http.StatusNotModified {
 12236  		if res.Body != nil {
 12237  			res.Body.Close()
 12238  		}
 12239  		return nil, gensupport.WrapError(&googleapi.Error{
 12240  			Code:   res.StatusCode,
 12241  			Header: res.Header,
 12242  		})
 12243  	}
 12244  	if err != nil {
 12245  		return nil, err
 12246  	}
 12247  	defer googleapi.CloseBody(res)
 12248  	if err := googleapi.CheckResponse(res); err != nil {
 12249  		return nil, gensupport.WrapError(err)
 12250  	}
 12251  	ret := &OrgUnit{
 12252  		ServerResponse: googleapi.ServerResponse{
 12253  			Header:         res.Header,
 12254  			HTTPStatusCode: res.StatusCode,
 12255  		},
 12256  	}
 12257  	target := &ret
 12258  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12259  		return nil, err
 12260  	}
 12261  	return ret, nil
 12262  }
 12263  
 12264  type OrgunitsListCall struct {
 12265  	s            *Service
 12266  	customerId   string
 12267  	urlParams_   gensupport.URLParams
 12268  	ifNoneMatch_ string
 12269  	ctx_         context.Context
 12270  	header_      http.Header
 12271  }
 12272  
 12273  // List: Retrieves a list of all organizational units for an account.
 12274  //
 12275  //   - customerId: The unique ID for the customer's Google Workspace account. As
 12276  //     an account administrator, you can also use the `my_customer` alias to
 12277  //     represent your account's `customerId`. The `customerId` is also returned
 12278  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 12279  func (r *OrgunitsService) List(customerId string) *OrgunitsListCall {
 12280  	c := &OrgunitsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12281  	c.customerId = customerId
 12282  	return c
 12283  }
 12284  
 12285  // OrgUnitPath sets the optional parameter "orgUnitPath": The full path to the
 12286  // organizational unit or its unique ID. Returns the children of the specified
 12287  // organizational unit.
 12288  func (c *OrgunitsListCall) OrgUnitPath(orgUnitPath string) *OrgunitsListCall {
 12289  	c.urlParams_.Set("orgUnitPath", orgUnitPath)
 12290  	return c
 12291  }
 12292  
 12293  // Type sets the optional parameter "type": Whether to return all
 12294  // sub-organizations or just immediate children.
 12295  //
 12296  // Possible values:
 12297  //
 12298  //	"all" - All sub-organizational units.
 12299  //	"children" - Immediate children only (default).
 12300  //	"allIncludingParent" - All sub-organizational units and the specified
 12301  //
 12302  // organizational unit (root if not specified).
 12303  func (c *OrgunitsListCall) Type(type_ string) *OrgunitsListCall {
 12304  	c.urlParams_.Set("type", type_)
 12305  	return c
 12306  }
 12307  
 12308  // Fields allows partial responses to be retrieved. See
 12309  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12310  // details.
 12311  func (c *OrgunitsListCall) Fields(s ...googleapi.Field) *OrgunitsListCall {
 12312  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12313  	return c
 12314  }
 12315  
 12316  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12317  // object's ETag matches the given value. This is useful for getting updates
 12318  // only after the object has changed since the last request.
 12319  func (c *OrgunitsListCall) IfNoneMatch(entityTag string) *OrgunitsListCall {
 12320  	c.ifNoneMatch_ = entityTag
 12321  	return c
 12322  }
 12323  
 12324  // Context sets the context to be used in this call's Do method.
 12325  func (c *OrgunitsListCall) Context(ctx context.Context) *OrgunitsListCall {
 12326  	c.ctx_ = ctx
 12327  	return c
 12328  }
 12329  
 12330  // Header returns a http.Header that can be modified by the caller to add
 12331  // headers to the request.
 12332  func (c *OrgunitsListCall) Header() http.Header {
 12333  	if c.header_ == nil {
 12334  		c.header_ = make(http.Header)
 12335  	}
 12336  	return c.header_
 12337  }
 12338  
 12339  func (c *OrgunitsListCall) doRequest(alt string) (*http.Response, error) {
 12340  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12341  	if c.ifNoneMatch_ != "" {
 12342  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12343  	}
 12344  	var body io.Reader = nil
 12345  	c.urlParams_.Set("alt", alt)
 12346  	c.urlParams_.Set("prettyPrint", "false")
 12347  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits")
 12348  	urls += "?" + c.urlParams_.Encode()
 12349  	req, err := http.NewRequest("GET", urls, body)
 12350  	if err != nil {
 12351  		return nil, err
 12352  	}
 12353  	req.Header = reqHeaders
 12354  	googleapi.Expand(req.URL, map[string]string{
 12355  		"customerId": c.customerId,
 12356  	})
 12357  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12358  }
 12359  
 12360  // Do executes the "directory.orgunits.list" call.
 12361  // Any non-2xx status code is an error. Response headers are in either
 12362  // *OrgUnits.ServerResponse.Header or (if a response was returned at all) in
 12363  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12364  // whether the returned error was because http.StatusNotModified was returned.
 12365  func (c *OrgunitsListCall) Do(opts ...googleapi.CallOption) (*OrgUnits, error) {
 12366  	gensupport.SetOptions(c.urlParams_, opts...)
 12367  	res, err := c.doRequest("json")
 12368  	if res != nil && res.StatusCode == http.StatusNotModified {
 12369  		if res.Body != nil {
 12370  			res.Body.Close()
 12371  		}
 12372  		return nil, gensupport.WrapError(&googleapi.Error{
 12373  			Code:   res.StatusCode,
 12374  			Header: res.Header,
 12375  		})
 12376  	}
 12377  	if err != nil {
 12378  		return nil, err
 12379  	}
 12380  	defer googleapi.CloseBody(res)
 12381  	if err := googleapi.CheckResponse(res); err != nil {
 12382  		return nil, gensupport.WrapError(err)
 12383  	}
 12384  	ret := &OrgUnits{
 12385  		ServerResponse: googleapi.ServerResponse{
 12386  			Header:         res.Header,
 12387  			HTTPStatusCode: res.StatusCode,
 12388  		},
 12389  	}
 12390  	target := &ret
 12391  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12392  		return nil, err
 12393  	}
 12394  	return ret, nil
 12395  }
 12396  
 12397  type OrgunitsPatchCall struct {
 12398  	s           *Service
 12399  	customerId  string
 12400  	orgUnitPath string
 12401  	orgunit     *OrgUnit
 12402  	urlParams_  gensupport.URLParams
 12403  	ctx_        context.Context
 12404  	header_     http.Header
 12405  }
 12406  
 12407  // Patch: Updates an organizational unit. This method supports patch semantics
 12408  // (/admin-sdk/directory/v1/guides/performance#patch)
 12409  //
 12410  //   - customerId: The unique ID for the customer's Google Workspace account. As
 12411  //     an account administrator, you can also use the `my_customer` alias to
 12412  //     represent your account's `customerId`. The `customerId` is also returned
 12413  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 12414  //   - orgUnitPath: The full path of the organizational unit (minus the leading
 12415  //     `/`) or its unique ID.
 12416  func (r *OrgunitsService) Patch(customerId string, orgUnitPath string, orgunit *OrgUnit) *OrgunitsPatchCall {
 12417  	c := &OrgunitsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12418  	c.customerId = customerId
 12419  	c.orgUnitPath = orgUnitPath
 12420  	c.orgunit = orgunit
 12421  	return c
 12422  }
 12423  
 12424  // Fields allows partial responses to be retrieved. See
 12425  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12426  // details.
 12427  func (c *OrgunitsPatchCall) Fields(s ...googleapi.Field) *OrgunitsPatchCall {
 12428  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12429  	return c
 12430  }
 12431  
 12432  // Context sets the context to be used in this call's Do method.
 12433  func (c *OrgunitsPatchCall) Context(ctx context.Context) *OrgunitsPatchCall {
 12434  	c.ctx_ = ctx
 12435  	return c
 12436  }
 12437  
 12438  // Header returns a http.Header that can be modified by the caller to add
 12439  // headers to the request.
 12440  func (c *OrgunitsPatchCall) Header() http.Header {
 12441  	if c.header_ == nil {
 12442  		c.header_ = make(http.Header)
 12443  	}
 12444  	return c.header_
 12445  }
 12446  
 12447  func (c *OrgunitsPatchCall) doRequest(alt string) (*http.Response, error) {
 12448  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12449  	var body io.Reader = nil
 12450  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orgunit)
 12451  	if err != nil {
 12452  		return nil, err
 12453  	}
 12454  	c.urlParams_.Set("alt", alt)
 12455  	c.urlParams_.Set("prettyPrint", "false")
 12456  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits/{+orgUnitPath}")
 12457  	urls += "?" + c.urlParams_.Encode()
 12458  	req, err := http.NewRequest("PATCH", urls, body)
 12459  	if err != nil {
 12460  		return nil, err
 12461  	}
 12462  	req.Header = reqHeaders
 12463  	googleapi.Expand(req.URL, map[string]string{
 12464  		"customerId":  c.customerId,
 12465  		"orgUnitPath": c.orgUnitPath,
 12466  	})
 12467  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12468  }
 12469  
 12470  // Do executes the "directory.orgunits.patch" call.
 12471  // Any non-2xx status code is an error. Response headers are in either
 12472  // *OrgUnit.ServerResponse.Header or (if a response was returned at all) in
 12473  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12474  // whether the returned error was because http.StatusNotModified was returned.
 12475  func (c *OrgunitsPatchCall) Do(opts ...googleapi.CallOption) (*OrgUnit, error) {
 12476  	gensupport.SetOptions(c.urlParams_, opts...)
 12477  	res, err := c.doRequest("json")
 12478  	if res != nil && res.StatusCode == http.StatusNotModified {
 12479  		if res.Body != nil {
 12480  			res.Body.Close()
 12481  		}
 12482  		return nil, gensupport.WrapError(&googleapi.Error{
 12483  			Code:   res.StatusCode,
 12484  			Header: res.Header,
 12485  		})
 12486  	}
 12487  	if err != nil {
 12488  		return nil, err
 12489  	}
 12490  	defer googleapi.CloseBody(res)
 12491  	if err := googleapi.CheckResponse(res); err != nil {
 12492  		return nil, gensupport.WrapError(err)
 12493  	}
 12494  	ret := &OrgUnit{
 12495  		ServerResponse: googleapi.ServerResponse{
 12496  			Header:         res.Header,
 12497  			HTTPStatusCode: res.StatusCode,
 12498  		},
 12499  	}
 12500  	target := &ret
 12501  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12502  		return nil, err
 12503  	}
 12504  	return ret, nil
 12505  }
 12506  
 12507  type OrgunitsUpdateCall struct {
 12508  	s           *Service
 12509  	customerId  string
 12510  	orgUnitPath string
 12511  	orgunit     *OrgUnit
 12512  	urlParams_  gensupport.URLParams
 12513  	ctx_        context.Context
 12514  	header_     http.Header
 12515  }
 12516  
 12517  // Update: Updates an organizational unit.
 12518  //
 12519  //   - customerId: The unique ID for the customer's Google Workspace account. As
 12520  //     an account administrator, you can also use the `my_customer` alias to
 12521  //     represent your account's `customerId`. The `customerId` is also returned
 12522  //     as part of the Users resource (/admin-sdk/directory/v1/reference/users).
 12523  //   - orgUnitPath: The full path of the organizational unit (minus the leading
 12524  //     `/`) or its unique ID.
 12525  func (r *OrgunitsService) Update(customerId string, orgUnitPath string, orgunit *OrgUnit) *OrgunitsUpdateCall {
 12526  	c := &OrgunitsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12527  	c.customerId = customerId
 12528  	c.orgUnitPath = orgUnitPath
 12529  	c.orgunit = orgunit
 12530  	return c
 12531  }
 12532  
 12533  // Fields allows partial responses to be retrieved. See
 12534  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12535  // details.
 12536  func (c *OrgunitsUpdateCall) Fields(s ...googleapi.Field) *OrgunitsUpdateCall {
 12537  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12538  	return c
 12539  }
 12540  
 12541  // Context sets the context to be used in this call's Do method.
 12542  func (c *OrgunitsUpdateCall) Context(ctx context.Context) *OrgunitsUpdateCall {
 12543  	c.ctx_ = ctx
 12544  	return c
 12545  }
 12546  
 12547  // Header returns a http.Header that can be modified by the caller to add
 12548  // headers to the request.
 12549  func (c *OrgunitsUpdateCall) Header() http.Header {
 12550  	if c.header_ == nil {
 12551  		c.header_ = make(http.Header)
 12552  	}
 12553  	return c.header_
 12554  }
 12555  
 12556  func (c *OrgunitsUpdateCall) doRequest(alt string) (*http.Response, error) {
 12557  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12558  	var body io.Reader = nil
 12559  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orgunit)
 12560  	if err != nil {
 12561  		return nil, err
 12562  	}
 12563  	c.urlParams_.Set("alt", alt)
 12564  	c.urlParams_.Set("prettyPrint", "false")
 12565  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/orgunits/{+orgUnitPath}")
 12566  	urls += "?" + c.urlParams_.Encode()
 12567  	req, err := http.NewRequest("PUT", urls, body)
 12568  	if err != nil {
 12569  		return nil, err
 12570  	}
 12571  	req.Header = reqHeaders
 12572  	googleapi.Expand(req.URL, map[string]string{
 12573  		"customerId":  c.customerId,
 12574  		"orgUnitPath": c.orgUnitPath,
 12575  	})
 12576  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12577  }
 12578  
 12579  // Do executes the "directory.orgunits.update" call.
 12580  // Any non-2xx status code is an error. Response headers are in either
 12581  // *OrgUnit.ServerResponse.Header or (if a response was returned at all) in
 12582  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12583  // whether the returned error was because http.StatusNotModified was returned.
 12584  func (c *OrgunitsUpdateCall) Do(opts ...googleapi.CallOption) (*OrgUnit, error) {
 12585  	gensupport.SetOptions(c.urlParams_, opts...)
 12586  	res, err := c.doRequest("json")
 12587  	if res != nil && res.StatusCode == http.StatusNotModified {
 12588  		if res.Body != nil {
 12589  			res.Body.Close()
 12590  		}
 12591  		return nil, gensupport.WrapError(&googleapi.Error{
 12592  			Code:   res.StatusCode,
 12593  			Header: res.Header,
 12594  		})
 12595  	}
 12596  	if err != nil {
 12597  		return nil, err
 12598  	}
 12599  	defer googleapi.CloseBody(res)
 12600  	if err := googleapi.CheckResponse(res); err != nil {
 12601  		return nil, gensupport.WrapError(err)
 12602  	}
 12603  	ret := &OrgUnit{
 12604  		ServerResponse: googleapi.ServerResponse{
 12605  			Header:         res.Header,
 12606  			HTTPStatusCode: res.StatusCode,
 12607  		},
 12608  	}
 12609  	target := &ret
 12610  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12611  		return nil, err
 12612  	}
 12613  	return ret, nil
 12614  }
 12615  
 12616  type PrivilegesListCall struct {
 12617  	s            *Service
 12618  	customer     string
 12619  	urlParams_   gensupport.URLParams
 12620  	ifNoneMatch_ string
 12621  	ctx_         context.Context
 12622  	header_      http.Header
 12623  }
 12624  
 12625  // List: Retrieves a paginated list of all privileges for a customer.
 12626  //
 12627  //   - customer: The unique ID for the customer's Google Workspace account. In
 12628  //     case of a multi-domain account, to fetch all groups for a customer, use
 12629  //     this field instead of `domain`. You can also use the `my_customer` alias
 12630  //     to represent your account's `customerId`. The `customerId` is also
 12631  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 12632  //     resource. You must provide either the `customer` or the `domain`
 12633  //     parameter.
 12634  func (r *PrivilegesService) List(customer string) *PrivilegesListCall {
 12635  	c := &PrivilegesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12636  	c.customer = customer
 12637  	return c
 12638  }
 12639  
 12640  // Fields allows partial responses to be retrieved. See
 12641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12642  // details.
 12643  func (c *PrivilegesListCall) Fields(s ...googleapi.Field) *PrivilegesListCall {
 12644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12645  	return c
 12646  }
 12647  
 12648  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12649  // object's ETag matches the given value. This is useful for getting updates
 12650  // only after the object has changed since the last request.
 12651  func (c *PrivilegesListCall) IfNoneMatch(entityTag string) *PrivilegesListCall {
 12652  	c.ifNoneMatch_ = entityTag
 12653  	return c
 12654  }
 12655  
 12656  // Context sets the context to be used in this call's Do method.
 12657  func (c *PrivilegesListCall) Context(ctx context.Context) *PrivilegesListCall {
 12658  	c.ctx_ = ctx
 12659  	return c
 12660  }
 12661  
 12662  // Header returns a http.Header that can be modified by the caller to add
 12663  // headers to the request.
 12664  func (c *PrivilegesListCall) Header() http.Header {
 12665  	if c.header_ == nil {
 12666  		c.header_ = make(http.Header)
 12667  	}
 12668  	return c.header_
 12669  }
 12670  
 12671  func (c *PrivilegesListCall) doRequest(alt string) (*http.Response, error) {
 12672  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12673  	if c.ifNoneMatch_ != "" {
 12674  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12675  	}
 12676  	var body io.Reader = nil
 12677  	c.urlParams_.Set("alt", alt)
 12678  	c.urlParams_.Set("prettyPrint", "false")
 12679  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles/ALL/privileges")
 12680  	urls += "?" + c.urlParams_.Encode()
 12681  	req, err := http.NewRequest("GET", urls, body)
 12682  	if err != nil {
 12683  		return nil, err
 12684  	}
 12685  	req.Header = reqHeaders
 12686  	googleapi.Expand(req.URL, map[string]string{
 12687  		"customer": c.customer,
 12688  	})
 12689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12690  }
 12691  
 12692  // Do executes the "directory.privileges.list" call.
 12693  // Any non-2xx status code is an error. Response headers are in either
 12694  // *Privileges.ServerResponse.Header or (if a response was returned at all) in
 12695  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12696  // whether the returned error was because http.StatusNotModified was returned.
 12697  func (c *PrivilegesListCall) Do(opts ...googleapi.CallOption) (*Privileges, error) {
 12698  	gensupport.SetOptions(c.urlParams_, opts...)
 12699  	res, err := c.doRequest("json")
 12700  	if res != nil && res.StatusCode == http.StatusNotModified {
 12701  		if res.Body != nil {
 12702  			res.Body.Close()
 12703  		}
 12704  		return nil, gensupport.WrapError(&googleapi.Error{
 12705  			Code:   res.StatusCode,
 12706  			Header: res.Header,
 12707  		})
 12708  	}
 12709  	if err != nil {
 12710  		return nil, err
 12711  	}
 12712  	defer googleapi.CloseBody(res)
 12713  	if err := googleapi.CheckResponse(res); err != nil {
 12714  		return nil, gensupport.WrapError(err)
 12715  	}
 12716  	ret := &Privileges{
 12717  		ServerResponse: googleapi.ServerResponse{
 12718  			Header:         res.Header,
 12719  			HTTPStatusCode: res.StatusCode,
 12720  		},
 12721  	}
 12722  	target := &ret
 12723  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12724  		return nil, err
 12725  	}
 12726  	return ret, nil
 12727  }
 12728  
 12729  type ResourcesBuildingsDeleteCall struct {
 12730  	s          *Service
 12731  	customer   string
 12732  	buildingId string
 12733  	urlParams_ gensupport.URLParams
 12734  	ctx_       context.Context
 12735  	header_    http.Header
 12736  }
 12737  
 12738  // Delete: Deletes a building.
 12739  //
 12740  //   - buildingId: The id of the building to delete.
 12741  //   - customer: The unique ID for the customer's Google Workspace account. As an
 12742  //     account administrator, you can also use the `my_customer` alias to
 12743  //     represent your account's customer ID.
 12744  func (r *ResourcesBuildingsService) Delete(customer string, buildingId string) *ResourcesBuildingsDeleteCall {
 12745  	c := &ResourcesBuildingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12746  	c.customer = customer
 12747  	c.buildingId = buildingId
 12748  	return c
 12749  }
 12750  
 12751  // Fields allows partial responses to be retrieved. See
 12752  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12753  // details.
 12754  func (c *ResourcesBuildingsDeleteCall) Fields(s ...googleapi.Field) *ResourcesBuildingsDeleteCall {
 12755  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12756  	return c
 12757  }
 12758  
 12759  // Context sets the context to be used in this call's Do method.
 12760  func (c *ResourcesBuildingsDeleteCall) Context(ctx context.Context) *ResourcesBuildingsDeleteCall {
 12761  	c.ctx_ = ctx
 12762  	return c
 12763  }
 12764  
 12765  // Header returns a http.Header that can be modified by the caller to add
 12766  // headers to the request.
 12767  func (c *ResourcesBuildingsDeleteCall) Header() http.Header {
 12768  	if c.header_ == nil {
 12769  		c.header_ = make(http.Header)
 12770  	}
 12771  	return c.header_
 12772  }
 12773  
 12774  func (c *ResourcesBuildingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 12775  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12776  	var body io.Reader = nil
 12777  	c.urlParams_.Set("alt", alt)
 12778  	c.urlParams_.Set("prettyPrint", "false")
 12779  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}")
 12780  	urls += "?" + c.urlParams_.Encode()
 12781  	req, err := http.NewRequest("DELETE", urls, body)
 12782  	if err != nil {
 12783  		return nil, err
 12784  	}
 12785  	req.Header = reqHeaders
 12786  	googleapi.Expand(req.URL, map[string]string{
 12787  		"customer":   c.customer,
 12788  		"buildingId": c.buildingId,
 12789  	})
 12790  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12791  }
 12792  
 12793  // Do executes the "directory.resources.buildings.delete" call.
 12794  func (c *ResourcesBuildingsDeleteCall) Do(opts ...googleapi.CallOption) error {
 12795  	gensupport.SetOptions(c.urlParams_, opts...)
 12796  	res, err := c.doRequest("json")
 12797  	if err != nil {
 12798  		return err
 12799  	}
 12800  	defer googleapi.CloseBody(res)
 12801  	if err := googleapi.CheckResponse(res); err != nil {
 12802  		return gensupport.WrapError(err)
 12803  	}
 12804  	return nil
 12805  }
 12806  
 12807  type ResourcesBuildingsGetCall struct {
 12808  	s            *Service
 12809  	customer     string
 12810  	buildingId   string
 12811  	urlParams_   gensupport.URLParams
 12812  	ifNoneMatch_ string
 12813  	ctx_         context.Context
 12814  	header_      http.Header
 12815  }
 12816  
 12817  // Get: Retrieves a building.
 12818  //
 12819  //   - buildingId: The unique ID of the building to retrieve.
 12820  //   - customer: The unique ID for the customer's Google Workspace account. As an
 12821  //     account administrator, you can also use the `my_customer` alias to
 12822  //     represent your account's customer ID.
 12823  func (r *ResourcesBuildingsService) Get(customer string, buildingId string) *ResourcesBuildingsGetCall {
 12824  	c := &ResourcesBuildingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12825  	c.customer = customer
 12826  	c.buildingId = buildingId
 12827  	return c
 12828  }
 12829  
 12830  // Fields allows partial responses to be retrieved. See
 12831  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12832  // details.
 12833  func (c *ResourcesBuildingsGetCall) Fields(s ...googleapi.Field) *ResourcesBuildingsGetCall {
 12834  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12835  	return c
 12836  }
 12837  
 12838  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12839  // object's ETag matches the given value. This is useful for getting updates
 12840  // only after the object has changed since the last request.
 12841  func (c *ResourcesBuildingsGetCall) IfNoneMatch(entityTag string) *ResourcesBuildingsGetCall {
 12842  	c.ifNoneMatch_ = entityTag
 12843  	return c
 12844  }
 12845  
 12846  // Context sets the context to be used in this call's Do method.
 12847  func (c *ResourcesBuildingsGetCall) Context(ctx context.Context) *ResourcesBuildingsGetCall {
 12848  	c.ctx_ = ctx
 12849  	return c
 12850  }
 12851  
 12852  // Header returns a http.Header that can be modified by the caller to add
 12853  // headers to the request.
 12854  func (c *ResourcesBuildingsGetCall) Header() http.Header {
 12855  	if c.header_ == nil {
 12856  		c.header_ = make(http.Header)
 12857  	}
 12858  	return c.header_
 12859  }
 12860  
 12861  func (c *ResourcesBuildingsGetCall) doRequest(alt string) (*http.Response, error) {
 12862  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12863  	if c.ifNoneMatch_ != "" {
 12864  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12865  	}
 12866  	var body io.Reader = nil
 12867  	c.urlParams_.Set("alt", alt)
 12868  	c.urlParams_.Set("prettyPrint", "false")
 12869  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}")
 12870  	urls += "?" + c.urlParams_.Encode()
 12871  	req, err := http.NewRequest("GET", urls, body)
 12872  	if err != nil {
 12873  		return nil, err
 12874  	}
 12875  	req.Header = reqHeaders
 12876  	googleapi.Expand(req.URL, map[string]string{
 12877  		"customer":   c.customer,
 12878  		"buildingId": c.buildingId,
 12879  	})
 12880  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12881  }
 12882  
 12883  // Do executes the "directory.resources.buildings.get" call.
 12884  // Any non-2xx status code is an error. Response headers are in either
 12885  // *Building.ServerResponse.Header or (if a response was returned at all) in
 12886  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12887  // whether the returned error was because http.StatusNotModified was returned.
 12888  func (c *ResourcesBuildingsGetCall) Do(opts ...googleapi.CallOption) (*Building, error) {
 12889  	gensupport.SetOptions(c.urlParams_, opts...)
 12890  	res, err := c.doRequest("json")
 12891  	if res != nil && res.StatusCode == http.StatusNotModified {
 12892  		if res.Body != nil {
 12893  			res.Body.Close()
 12894  		}
 12895  		return nil, gensupport.WrapError(&googleapi.Error{
 12896  			Code:   res.StatusCode,
 12897  			Header: res.Header,
 12898  		})
 12899  	}
 12900  	if err != nil {
 12901  		return nil, err
 12902  	}
 12903  	defer googleapi.CloseBody(res)
 12904  	if err := googleapi.CheckResponse(res); err != nil {
 12905  		return nil, gensupport.WrapError(err)
 12906  	}
 12907  	ret := &Building{
 12908  		ServerResponse: googleapi.ServerResponse{
 12909  			Header:         res.Header,
 12910  			HTTPStatusCode: res.StatusCode,
 12911  		},
 12912  	}
 12913  	target := &ret
 12914  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12915  		return nil, err
 12916  	}
 12917  	return ret, nil
 12918  }
 12919  
 12920  type ResourcesBuildingsInsertCall struct {
 12921  	s          *Service
 12922  	customer   string
 12923  	building   *Building
 12924  	urlParams_ gensupport.URLParams
 12925  	ctx_       context.Context
 12926  	header_    http.Header
 12927  }
 12928  
 12929  // Insert: Inserts a building.
 12930  //
 12931  //   - customer: The unique ID for the customer's Google Workspace account. As an
 12932  //     account administrator, you can also use the `my_customer` alias to
 12933  //     represent your account's customer ID.
 12934  func (r *ResourcesBuildingsService) Insert(customer string, building *Building) *ResourcesBuildingsInsertCall {
 12935  	c := &ResourcesBuildingsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12936  	c.customer = customer
 12937  	c.building = building
 12938  	return c
 12939  }
 12940  
 12941  // CoordinatesSource sets the optional parameter "coordinatesSource": Source
 12942  // from which Building.coordinates are derived.
 12943  //
 12944  // Possible values:
 12945  //
 12946  //	"CLIENT_SPECIFIED" - Building.coordinates are set to the coordinates
 12947  //
 12948  // included in the request.
 12949  //
 12950  //	"RESOLVED_FROM_ADDRESS" - Building.coordinates are automatically populated
 12951  //
 12952  // based on the postal address.
 12953  //
 12954  //	"SOURCE_UNSPECIFIED" (default) - Defaults to `RESOLVED_FROM_ADDRESS` if
 12955  //
 12956  // postal address is provided. Otherwise, defaults to `CLIENT_SPECIFIED` if
 12957  // coordinates are provided.
 12958  func (c *ResourcesBuildingsInsertCall) CoordinatesSource(coordinatesSource string) *ResourcesBuildingsInsertCall {
 12959  	c.urlParams_.Set("coordinatesSource", coordinatesSource)
 12960  	return c
 12961  }
 12962  
 12963  // Fields allows partial responses to be retrieved. See
 12964  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12965  // details.
 12966  func (c *ResourcesBuildingsInsertCall) Fields(s ...googleapi.Field) *ResourcesBuildingsInsertCall {
 12967  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12968  	return c
 12969  }
 12970  
 12971  // Context sets the context to be used in this call's Do method.
 12972  func (c *ResourcesBuildingsInsertCall) Context(ctx context.Context) *ResourcesBuildingsInsertCall {
 12973  	c.ctx_ = ctx
 12974  	return c
 12975  }
 12976  
 12977  // Header returns a http.Header that can be modified by the caller to add
 12978  // headers to the request.
 12979  func (c *ResourcesBuildingsInsertCall) Header() http.Header {
 12980  	if c.header_ == nil {
 12981  		c.header_ = make(http.Header)
 12982  	}
 12983  	return c.header_
 12984  }
 12985  
 12986  func (c *ResourcesBuildingsInsertCall) doRequest(alt string) (*http.Response, error) {
 12987  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12988  	var body io.Reader = nil
 12989  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.building)
 12990  	if err != nil {
 12991  		return nil, err
 12992  	}
 12993  	c.urlParams_.Set("alt", alt)
 12994  	c.urlParams_.Set("prettyPrint", "false")
 12995  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings")
 12996  	urls += "?" + c.urlParams_.Encode()
 12997  	req, err := http.NewRequest("POST", urls, body)
 12998  	if err != nil {
 12999  		return nil, err
 13000  	}
 13001  	req.Header = reqHeaders
 13002  	googleapi.Expand(req.URL, map[string]string{
 13003  		"customer": c.customer,
 13004  	})
 13005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13006  }
 13007  
 13008  // Do executes the "directory.resources.buildings.insert" call.
 13009  // Any non-2xx status code is an error. Response headers are in either
 13010  // *Building.ServerResponse.Header or (if a response was returned at all) in
 13011  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13012  // whether the returned error was because http.StatusNotModified was returned.
 13013  func (c *ResourcesBuildingsInsertCall) Do(opts ...googleapi.CallOption) (*Building, error) {
 13014  	gensupport.SetOptions(c.urlParams_, opts...)
 13015  	res, err := c.doRequest("json")
 13016  	if res != nil && res.StatusCode == http.StatusNotModified {
 13017  		if res.Body != nil {
 13018  			res.Body.Close()
 13019  		}
 13020  		return nil, gensupport.WrapError(&googleapi.Error{
 13021  			Code:   res.StatusCode,
 13022  			Header: res.Header,
 13023  		})
 13024  	}
 13025  	if err != nil {
 13026  		return nil, err
 13027  	}
 13028  	defer googleapi.CloseBody(res)
 13029  	if err := googleapi.CheckResponse(res); err != nil {
 13030  		return nil, gensupport.WrapError(err)
 13031  	}
 13032  	ret := &Building{
 13033  		ServerResponse: googleapi.ServerResponse{
 13034  			Header:         res.Header,
 13035  			HTTPStatusCode: res.StatusCode,
 13036  		},
 13037  	}
 13038  	target := &ret
 13039  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13040  		return nil, err
 13041  	}
 13042  	return ret, nil
 13043  }
 13044  
 13045  type ResourcesBuildingsListCall struct {
 13046  	s            *Service
 13047  	customer     string
 13048  	urlParams_   gensupport.URLParams
 13049  	ifNoneMatch_ string
 13050  	ctx_         context.Context
 13051  	header_      http.Header
 13052  }
 13053  
 13054  // List: Retrieves a list of buildings for an account.
 13055  //
 13056  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13057  //     account administrator, you can also use the `my_customer` alias to
 13058  //     represent your account's customer ID.
 13059  func (r *ResourcesBuildingsService) List(customer string) *ResourcesBuildingsListCall {
 13060  	c := &ResourcesBuildingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13061  	c.customer = customer
 13062  	return c
 13063  }
 13064  
 13065  // MaxResults sets the optional parameter "maxResults": Maximum number of
 13066  // results to return.
 13067  func (c *ResourcesBuildingsListCall) MaxResults(maxResults int64) *ResourcesBuildingsListCall {
 13068  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 13069  	return c
 13070  }
 13071  
 13072  // PageToken sets the optional parameter "pageToken": Token to specify the next
 13073  // page in the list.
 13074  func (c *ResourcesBuildingsListCall) PageToken(pageToken string) *ResourcesBuildingsListCall {
 13075  	c.urlParams_.Set("pageToken", pageToken)
 13076  	return c
 13077  }
 13078  
 13079  // Fields allows partial responses to be retrieved. See
 13080  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13081  // details.
 13082  func (c *ResourcesBuildingsListCall) Fields(s ...googleapi.Field) *ResourcesBuildingsListCall {
 13083  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13084  	return c
 13085  }
 13086  
 13087  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13088  // object's ETag matches the given value. This is useful for getting updates
 13089  // only after the object has changed since the last request.
 13090  func (c *ResourcesBuildingsListCall) IfNoneMatch(entityTag string) *ResourcesBuildingsListCall {
 13091  	c.ifNoneMatch_ = entityTag
 13092  	return c
 13093  }
 13094  
 13095  // Context sets the context to be used in this call's Do method.
 13096  func (c *ResourcesBuildingsListCall) Context(ctx context.Context) *ResourcesBuildingsListCall {
 13097  	c.ctx_ = ctx
 13098  	return c
 13099  }
 13100  
 13101  // Header returns a http.Header that can be modified by the caller to add
 13102  // headers to the request.
 13103  func (c *ResourcesBuildingsListCall) Header() http.Header {
 13104  	if c.header_ == nil {
 13105  		c.header_ = make(http.Header)
 13106  	}
 13107  	return c.header_
 13108  }
 13109  
 13110  func (c *ResourcesBuildingsListCall) doRequest(alt string) (*http.Response, error) {
 13111  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13112  	if c.ifNoneMatch_ != "" {
 13113  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13114  	}
 13115  	var body io.Reader = nil
 13116  	c.urlParams_.Set("alt", alt)
 13117  	c.urlParams_.Set("prettyPrint", "false")
 13118  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings")
 13119  	urls += "?" + c.urlParams_.Encode()
 13120  	req, err := http.NewRequest("GET", urls, body)
 13121  	if err != nil {
 13122  		return nil, err
 13123  	}
 13124  	req.Header = reqHeaders
 13125  	googleapi.Expand(req.URL, map[string]string{
 13126  		"customer": c.customer,
 13127  	})
 13128  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13129  }
 13130  
 13131  // Do executes the "directory.resources.buildings.list" call.
 13132  // Any non-2xx status code is an error. Response headers are in either
 13133  // *Buildings.ServerResponse.Header or (if a response was returned at all) in
 13134  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13135  // whether the returned error was because http.StatusNotModified was returned.
 13136  func (c *ResourcesBuildingsListCall) Do(opts ...googleapi.CallOption) (*Buildings, error) {
 13137  	gensupport.SetOptions(c.urlParams_, opts...)
 13138  	res, err := c.doRequest("json")
 13139  	if res != nil && res.StatusCode == http.StatusNotModified {
 13140  		if res.Body != nil {
 13141  			res.Body.Close()
 13142  		}
 13143  		return nil, gensupport.WrapError(&googleapi.Error{
 13144  			Code:   res.StatusCode,
 13145  			Header: res.Header,
 13146  		})
 13147  	}
 13148  	if err != nil {
 13149  		return nil, err
 13150  	}
 13151  	defer googleapi.CloseBody(res)
 13152  	if err := googleapi.CheckResponse(res); err != nil {
 13153  		return nil, gensupport.WrapError(err)
 13154  	}
 13155  	ret := &Buildings{
 13156  		ServerResponse: googleapi.ServerResponse{
 13157  			Header:         res.Header,
 13158  			HTTPStatusCode: res.StatusCode,
 13159  		},
 13160  	}
 13161  	target := &ret
 13162  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13163  		return nil, err
 13164  	}
 13165  	return ret, nil
 13166  }
 13167  
 13168  // Pages invokes f for each page of results.
 13169  // A non-nil error returned from f will halt the iteration.
 13170  // The provided context supersedes any context provided to the Context method.
 13171  func (c *ResourcesBuildingsListCall) Pages(ctx context.Context, f func(*Buildings) error) error {
 13172  	c.ctx_ = ctx
 13173  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13174  	for {
 13175  		x, err := c.Do()
 13176  		if err != nil {
 13177  			return err
 13178  		}
 13179  		if err := f(x); err != nil {
 13180  			return err
 13181  		}
 13182  		if x.NextPageToken == "" {
 13183  			return nil
 13184  		}
 13185  		c.PageToken(x.NextPageToken)
 13186  	}
 13187  }
 13188  
 13189  type ResourcesBuildingsPatchCall struct {
 13190  	s          *Service
 13191  	customer   string
 13192  	buildingId string
 13193  	building   *Building
 13194  	urlParams_ gensupport.URLParams
 13195  	ctx_       context.Context
 13196  	header_    http.Header
 13197  }
 13198  
 13199  // Patch: Patches a building.
 13200  //
 13201  //   - buildingId: The id of the building to update.
 13202  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13203  //     account administrator, you can also use the `my_customer` alias to
 13204  //     represent your account's customer ID.
 13205  func (r *ResourcesBuildingsService) Patch(customer string, buildingId string, building *Building) *ResourcesBuildingsPatchCall {
 13206  	c := &ResourcesBuildingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13207  	c.customer = customer
 13208  	c.buildingId = buildingId
 13209  	c.building = building
 13210  	return c
 13211  }
 13212  
 13213  // CoordinatesSource sets the optional parameter "coordinatesSource": Source
 13214  // from which Building.coordinates are derived.
 13215  //
 13216  // Possible values:
 13217  //
 13218  //	"CLIENT_SPECIFIED" - Building.coordinates are set to the coordinates
 13219  //
 13220  // included in the request.
 13221  //
 13222  //	"RESOLVED_FROM_ADDRESS" - Building.coordinates are automatically populated
 13223  //
 13224  // based on the postal address.
 13225  //
 13226  //	"SOURCE_UNSPECIFIED" (default) - Defaults to `RESOLVED_FROM_ADDRESS` if
 13227  //
 13228  // postal address is provided. Otherwise, defaults to `CLIENT_SPECIFIED` if
 13229  // coordinates are provided.
 13230  func (c *ResourcesBuildingsPatchCall) CoordinatesSource(coordinatesSource string) *ResourcesBuildingsPatchCall {
 13231  	c.urlParams_.Set("coordinatesSource", coordinatesSource)
 13232  	return c
 13233  }
 13234  
 13235  // Fields allows partial responses to be retrieved. See
 13236  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13237  // details.
 13238  func (c *ResourcesBuildingsPatchCall) Fields(s ...googleapi.Field) *ResourcesBuildingsPatchCall {
 13239  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13240  	return c
 13241  }
 13242  
 13243  // Context sets the context to be used in this call's Do method.
 13244  func (c *ResourcesBuildingsPatchCall) Context(ctx context.Context) *ResourcesBuildingsPatchCall {
 13245  	c.ctx_ = ctx
 13246  	return c
 13247  }
 13248  
 13249  // Header returns a http.Header that can be modified by the caller to add
 13250  // headers to the request.
 13251  func (c *ResourcesBuildingsPatchCall) Header() http.Header {
 13252  	if c.header_ == nil {
 13253  		c.header_ = make(http.Header)
 13254  	}
 13255  	return c.header_
 13256  }
 13257  
 13258  func (c *ResourcesBuildingsPatchCall) doRequest(alt string) (*http.Response, error) {
 13259  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13260  	var body io.Reader = nil
 13261  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.building)
 13262  	if err != nil {
 13263  		return nil, err
 13264  	}
 13265  	c.urlParams_.Set("alt", alt)
 13266  	c.urlParams_.Set("prettyPrint", "false")
 13267  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}")
 13268  	urls += "?" + c.urlParams_.Encode()
 13269  	req, err := http.NewRequest("PATCH", urls, body)
 13270  	if err != nil {
 13271  		return nil, err
 13272  	}
 13273  	req.Header = reqHeaders
 13274  	googleapi.Expand(req.URL, map[string]string{
 13275  		"customer":   c.customer,
 13276  		"buildingId": c.buildingId,
 13277  	})
 13278  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13279  }
 13280  
 13281  // Do executes the "directory.resources.buildings.patch" call.
 13282  // Any non-2xx status code is an error. Response headers are in either
 13283  // *Building.ServerResponse.Header or (if a response was returned at all) in
 13284  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13285  // whether the returned error was because http.StatusNotModified was returned.
 13286  func (c *ResourcesBuildingsPatchCall) Do(opts ...googleapi.CallOption) (*Building, error) {
 13287  	gensupport.SetOptions(c.urlParams_, opts...)
 13288  	res, err := c.doRequest("json")
 13289  	if res != nil && res.StatusCode == http.StatusNotModified {
 13290  		if res.Body != nil {
 13291  			res.Body.Close()
 13292  		}
 13293  		return nil, gensupport.WrapError(&googleapi.Error{
 13294  			Code:   res.StatusCode,
 13295  			Header: res.Header,
 13296  		})
 13297  	}
 13298  	if err != nil {
 13299  		return nil, err
 13300  	}
 13301  	defer googleapi.CloseBody(res)
 13302  	if err := googleapi.CheckResponse(res); err != nil {
 13303  		return nil, gensupport.WrapError(err)
 13304  	}
 13305  	ret := &Building{
 13306  		ServerResponse: googleapi.ServerResponse{
 13307  			Header:         res.Header,
 13308  			HTTPStatusCode: res.StatusCode,
 13309  		},
 13310  	}
 13311  	target := &ret
 13312  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13313  		return nil, err
 13314  	}
 13315  	return ret, nil
 13316  }
 13317  
 13318  type ResourcesBuildingsUpdateCall struct {
 13319  	s          *Service
 13320  	customer   string
 13321  	buildingId string
 13322  	building   *Building
 13323  	urlParams_ gensupport.URLParams
 13324  	ctx_       context.Context
 13325  	header_    http.Header
 13326  }
 13327  
 13328  // Update: Updates a building.
 13329  //
 13330  //   - buildingId: The id of the building to update.
 13331  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13332  //     account administrator, you can also use the `my_customer` alias to
 13333  //     represent your account's customer ID.
 13334  func (r *ResourcesBuildingsService) Update(customer string, buildingId string, building *Building) *ResourcesBuildingsUpdateCall {
 13335  	c := &ResourcesBuildingsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13336  	c.customer = customer
 13337  	c.buildingId = buildingId
 13338  	c.building = building
 13339  	return c
 13340  }
 13341  
 13342  // CoordinatesSource sets the optional parameter "coordinatesSource": Source
 13343  // from which Building.coordinates are derived.
 13344  //
 13345  // Possible values:
 13346  //
 13347  //	"CLIENT_SPECIFIED" - Building.coordinates are set to the coordinates
 13348  //
 13349  // included in the request.
 13350  //
 13351  //	"RESOLVED_FROM_ADDRESS" - Building.coordinates are automatically populated
 13352  //
 13353  // based on the postal address.
 13354  //
 13355  //	"SOURCE_UNSPECIFIED" (default) - Defaults to `RESOLVED_FROM_ADDRESS` if
 13356  //
 13357  // postal address is provided. Otherwise, defaults to `CLIENT_SPECIFIED` if
 13358  // coordinates are provided.
 13359  func (c *ResourcesBuildingsUpdateCall) CoordinatesSource(coordinatesSource string) *ResourcesBuildingsUpdateCall {
 13360  	c.urlParams_.Set("coordinatesSource", coordinatesSource)
 13361  	return c
 13362  }
 13363  
 13364  // Fields allows partial responses to be retrieved. See
 13365  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13366  // details.
 13367  func (c *ResourcesBuildingsUpdateCall) Fields(s ...googleapi.Field) *ResourcesBuildingsUpdateCall {
 13368  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13369  	return c
 13370  }
 13371  
 13372  // Context sets the context to be used in this call's Do method.
 13373  func (c *ResourcesBuildingsUpdateCall) Context(ctx context.Context) *ResourcesBuildingsUpdateCall {
 13374  	c.ctx_ = ctx
 13375  	return c
 13376  }
 13377  
 13378  // Header returns a http.Header that can be modified by the caller to add
 13379  // headers to the request.
 13380  func (c *ResourcesBuildingsUpdateCall) Header() http.Header {
 13381  	if c.header_ == nil {
 13382  		c.header_ = make(http.Header)
 13383  	}
 13384  	return c.header_
 13385  }
 13386  
 13387  func (c *ResourcesBuildingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 13388  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13389  	var body io.Reader = nil
 13390  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.building)
 13391  	if err != nil {
 13392  		return nil, err
 13393  	}
 13394  	c.urlParams_.Set("alt", alt)
 13395  	c.urlParams_.Set("prettyPrint", "false")
 13396  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}")
 13397  	urls += "?" + c.urlParams_.Encode()
 13398  	req, err := http.NewRequest("PUT", urls, body)
 13399  	if err != nil {
 13400  		return nil, err
 13401  	}
 13402  	req.Header = reqHeaders
 13403  	googleapi.Expand(req.URL, map[string]string{
 13404  		"customer":   c.customer,
 13405  		"buildingId": c.buildingId,
 13406  	})
 13407  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13408  }
 13409  
 13410  // Do executes the "directory.resources.buildings.update" call.
 13411  // Any non-2xx status code is an error. Response headers are in either
 13412  // *Building.ServerResponse.Header or (if a response was returned at all) in
 13413  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13414  // whether the returned error was because http.StatusNotModified was returned.
 13415  func (c *ResourcesBuildingsUpdateCall) Do(opts ...googleapi.CallOption) (*Building, error) {
 13416  	gensupport.SetOptions(c.urlParams_, opts...)
 13417  	res, err := c.doRequest("json")
 13418  	if res != nil && res.StatusCode == http.StatusNotModified {
 13419  		if res.Body != nil {
 13420  			res.Body.Close()
 13421  		}
 13422  		return nil, gensupport.WrapError(&googleapi.Error{
 13423  			Code:   res.StatusCode,
 13424  			Header: res.Header,
 13425  		})
 13426  	}
 13427  	if err != nil {
 13428  		return nil, err
 13429  	}
 13430  	defer googleapi.CloseBody(res)
 13431  	if err := googleapi.CheckResponse(res); err != nil {
 13432  		return nil, gensupport.WrapError(err)
 13433  	}
 13434  	ret := &Building{
 13435  		ServerResponse: googleapi.ServerResponse{
 13436  			Header:         res.Header,
 13437  			HTTPStatusCode: res.StatusCode,
 13438  		},
 13439  	}
 13440  	target := &ret
 13441  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13442  		return nil, err
 13443  	}
 13444  	return ret, nil
 13445  }
 13446  
 13447  type ResourcesCalendarsDeleteCall struct {
 13448  	s                  *Service
 13449  	customer           string
 13450  	calendarResourceId string
 13451  	urlParams_         gensupport.URLParams
 13452  	ctx_               context.Context
 13453  	header_            http.Header
 13454  }
 13455  
 13456  // Delete: Deletes a calendar resource.
 13457  //
 13458  //   - calendarResourceId: The unique ID of the calendar resource to delete.
 13459  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13460  //     account administrator, you can also use the `my_customer` alias to
 13461  //     represent your account's customer ID.
 13462  func (r *ResourcesCalendarsService) Delete(customer string, calendarResourceId string) *ResourcesCalendarsDeleteCall {
 13463  	c := &ResourcesCalendarsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13464  	c.customer = customer
 13465  	c.calendarResourceId = calendarResourceId
 13466  	return c
 13467  }
 13468  
 13469  // Fields allows partial responses to be retrieved. See
 13470  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13471  // details.
 13472  func (c *ResourcesCalendarsDeleteCall) Fields(s ...googleapi.Field) *ResourcesCalendarsDeleteCall {
 13473  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13474  	return c
 13475  }
 13476  
 13477  // Context sets the context to be used in this call's Do method.
 13478  func (c *ResourcesCalendarsDeleteCall) Context(ctx context.Context) *ResourcesCalendarsDeleteCall {
 13479  	c.ctx_ = ctx
 13480  	return c
 13481  }
 13482  
 13483  // Header returns a http.Header that can be modified by the caller to add
 13484  // headers to the request.
 13485  func (c *ResourcesCalendarsDeleteCall) Header() http.Header {
 13486  	if c.header_ == nil {
 13487  		c.header_ = make(http.Header)
 13488  	}
 13489  	return c.header_
 13490  }
 13491  
 13492  func (c *ResourcesCalendarsDeleteCall) doRequest(alt string) (*http.Response, error) {
 13493  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13494  	var body io.Reader = nil
 13495  	c.urlParams_.Set("alt", alt)
 13496  	c.urlParams_.Set("prettyPrint", "false")
 13497  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}")
 13498  	urls += "?" + c.urlParams_.Encode()
 13499  	req, err := http.NewRequest("DELETE", urls, body)
 13500  	if err != nil {
 13501  		return nil, err
 13502  	}
 13503  	req.Header = reqHeaders
 13504  	googleapi.Expand(req.URL, map[string]string{
 13505  		"customer":           c.customer,
 13506  		"calendarResourceId": c.calendarResourceId,
 13507  	})
 13508  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13509  }
 13510  
 13511  // Do executes the "directory.resources.calendars.delete" call.
 13512  func (c *ResourcesCalendarsDeleteCall) Do(opts ...googleapi.CallOption) error {
 13513  	gensupport.SetOptions(c.urlParams_, opts...)
 13514  	res, err := c.doRequest("json")
 13515  	if err != nil {
 13516  		return err
 13517  	}
 13518  	defer googleapi.CloseBody(res)
 13519  	if err := googleapi.CheckResponse(res); err != nil {
 13520  		return gensupport.WrapError(err)
 13521  	}
 13522  	return nil
 13523  }
 13524  
 13525  type ResourcesCalendarsGetCall struct {
 13526  	s                  *Service
 13527  	customer           string
 13528  	calendarResourceId string
 13529  	urlParams_         gensupport.URLParams
 13530  	ifNoneMatch_       string
 13531  	ctx_               context.Context
 13532  	header_            http.Header
 13533  }
 13534  
 13535  // Get: Retrieves a calendar resource.
 13536  //
 13537  //   - calendarResourceId: The unique ID of the calendar resource to retrieve.
 13538  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13539  //     account administrator, you can also use the `my_customer` alias to
 13540  //     represent your account's customer ID.
 13541  func (r *ResourcesCalendarsService) Get(customer string, calendarResourceId string) *ResourcesCalendarsGetCall {
 13542  	c := &ResourcesCalendarsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13543  	c.customer = customer
 13544  	c.calendarResourceId = calendarResourceId
 13545  	return c
 13546  }
 13547  
 13548  // Fields allows partial responses to be retrieved. See
 13549  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13550  // details.
 13551  func (c *ResourcesCalendarsGetCall) Fields(s ...googleapi.Field) *ResourcesCalendarsGetCall {
 13552  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13553  	return c
 13554  }
 13555  
 13556  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13557  // object's ETag matches the given value. This is useful for getting updates
 13558  // only after the object has changed since the last request.
 13559  func (c *ResourcesCalendarsGetCall) IfNoneMatch(entityTag string) *ResourcesCalendarsGetCall {
 13560  	c.ifNoneMatch_ = entityTag
 13561  	return c
 13562  }
 13563  
 13564  // Context sets the context to be used in this call's Do method.
 13565  func (c *ResourcesCalendarsGetCall) Context(ctx context.Context) *ResourcesCalendarsGetCall {
 13566  	c.ctx_ = ctx
 13567  	return c
 13568  }
 13569  
 13570  // Header returns a http.Header that can be modified by the caller to add
 13571  // headers to the request.
 13572  func (c *ResourcesCalendarsGetCall) Header() http.Header {
 13573  	if c.header_ == nil {
 13574  		c.header_ = make(http.Header)
 13575  	}
 13576  	return c.header_
 13577  }
 13578  
 13579  func (c *ResourcesCalendarsGetCall) doRequest(alt string) (*http.Response, error) {
 13580  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13581  	if c.ifNoneMatch_ != "" {
 13582  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13583  	}
 13584  	var body io.Reader = nil
 13585  	c.urlParams_.Set("alt", alt)
 13586  	c.urlParams_.Set("prettyPrint", "false")
 13587  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}")
 13588  	urls += "?" + c.urlParams_.Encode()
 13589  	req, err := http.NewRequest("GET", urls, body)
 13590  	if err != nil {
 13591  		return nil, err
 13592  	}
 13593  	req.Header = reqHeaders
 13594  	googleapi.Expand(req.URL, map[string]string{
 13595  		"customer":           c.customer,
 13596  		"calendarResourceId": c.calendarResourceId,
 13597  	})
 13598  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13599  }
 13600  
 13601  // Do executes the "directory.resources.calendars.get" call.
 13602  // Any non-2xx status code is an error. Response headers are in either
 13603  // *CalendarResource.ServerResponse.Header or (if a response was returned at
 13604  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13605  // check whether the returned error was because http.StatusNotModified was
 13606  // returned.
 13607  func (c *ResourcesCalendarsGetCall) Do(opts ...googleapi.CallOption) (*CalendarResource, error) {
 13608  	gensupport.SetOptions(c.urlParams_, opts...)
 13609  	res, err := c.doRequest("json")
 13610  	if res != nil && res.StatusCode == http.StatusNotModified {
 13611  		if res.Body != nil {
 13612  			res.Body.Close()
 13613  		}
 13614  		return nil, gensupport.WrapError(&googleapi.Error{
 13615  			Code:   res.StatusCode,
 13616  			Header: res.Header,
 13617  		})
 13618  	}
 13619  	if err != nil {
 13620  		return nil, err
 13621  	}
 13622  	defer googleapi.CloseBody(res)
 13623  	if err := googleapi.CheckResponse(res); err != nil {
 13624  		return nil, gensupport.WrapError(err)
 13625  	}
 13626  	ret := &CalendarResource{
 13627  		ServerResponse: googleapi.ServerResponse{
 13628  			Header:         res.Header,
 13629  			HTTPStatusCode: res.StatusCode,
 13630  		},
 13631  	}
 13632  	target := &ret
 13633  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13634  		return nil, err
 13635  	}
 13636  	return ret, nil
 13637  }
 13638  
 13639  type ResourcesCalendarsInsertCall struct {
 13640  	s                *Service
 13641  	customer         string
 13642  	calendarresource *CalendarResource
 13643  	urlParams_       gensupport.URLParams
 13644  	ctx_             context.Context
 13645  	header_          http.Header
 13646  }
 13647  
 13648  // Insert: Inserts a calendar resource.
 13649  //
 13650  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13651  //     account administrator, you can also use the `my_customer` alias to
 13652  //     represent your account's customer ID.
 13653  func (r *ResourcesCalendarsService) Insert(customer string, calendarresource *CalendarResource) *ResourcesCalendarsInsertCall {
 13654  	c := &ResourcesCalendarsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13655  	c.customer = customer
 13656  	c.calendarresource = calendarresource
 13657  	return c
 13658  }
 13659  
 13660  // Fields allows partial responses to be retrieved. See
 13661  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13662  // details.
 13663  func (c *ResourcesCalendarsInsertCall) Fields(s ...googleapi.Field) *ResourcesCalendarsInsertCall {
 13664  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13665  	return c
 13666  }
 13667  
 13668  // Context sets the context to be used in this call's Do method.
 13669  func (c *ResourcesCalendarsInsertCall) Context(ctx context.Context) *ResourcesCalendarsInsertCall {
 13670  	c.ctx_ = ctx
 13671  	return c
 13672  }
 13673  
 13674  // Header returns a http.Header that can be modified by the caller to add
 13675  // headers to the request.
 13676  func (c *ResourcesCalendarsInsertCall) Header() http.Header {
 13677  	if c.header_ == nil {
 13678  		c.header_ = make(http.Header)
 13679  	}
 13680  	return c.header_
 13681  }
 13682  
 13683  func (c *ResourcesCalendarsInsertCall) doRequest(alt string) (*http.Response, error) {
 13684  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13685  	var body io.Reader = nil
 13686  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.calendarresource)
 13687  	if err != nil {
 13688  		return nil, err
 13689  	}
 13690  	c.urlParams_.Set("alt", alt)
 13691  	c.urlParams_.Set("prettyPrint", "false")
 13692  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars")
 13693  	urls += "?" + c.urlParams_.Encode()
 13694  	req, err := http.NewRequest("POST", urls, body)
 13695  	if err != nil {
 13696  		return nil, err
 13697  	}
 13698  	req.Header = reqHeaders
 13699  	googleapi.Expand(req.URL, map[string]string{
 13700  		"customer": c.customer,
 13701  	})
 13702  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13703  }
 13704  
 13705  // Do executes the "directory.resources.calendars.insert" call.
 13706  // Any non-2xx status code is an error. Response headers are in either
 13707  // *CalendarResource.ServerResponse.Header or (if a response was returned at
 13708  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13709  // check whether the returned error was because http.StatusNotModified was
 13710  // returned.
 13711  func (c *ResourcesCalendarsInsertCall) Do(opts ...googleapi.CallOption) (*CalendarResource, error) {
 13712  	gensupport.SetOptions(c.urlParams_, opts...)
 13713  	res, err := c.doRequest("json")
 13714  	if res != nil && res.StatusCode == http.StatusNotModified {
 13715  		if res.Body != nil {
 13716  			res.Body.Close()
 13717  		}
 13718  		return nil, gensupport.WrapError(&googleapi.Error{
 13719  			Code:   res.StatusCode,
 13720  			Header: res.Header,
 13721  		})
 13722  	}
 13723  	if err != nil {
 13724  		return nil, err
 13725  	}
 13726  	defer googleapi.CloseBody(res)
 13727  	if err := googleapi.CheckResponse(res); err != nil {
 13728  		return nil, gensupport.WrapError(err)
 13729  	}
 13730  	ret := &CalendarResource{
 13731  		ServerResponse: googleapi.ServerResponse{
 13732  			Header:         res.Header,
 13733  			HTTPStatusCode: res.StatusCode,
 13734  		},
 13735  	}
 13736  	target := &ret
 13737  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13738  		return nil, err
 13739  	}
 13740  	return ret, nil
 13741  }
 13742  
 13743  type ResourcesCalendarsListCall struct {
 13744  	s            *Service
 13745  	customer     string
 13746  	urlParams_   gensupport.URLParams
 13747  	ifNoneMatch_ string
 13748  	ctx_         context.Context
 13749  	header_      http.Header
 13750  }
 13751  
 13752  // List: Retrieves a list of calendar resources for an account.
 13753  //
 13754  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13755  //     account administrator, you can also use the `my_customer` alias to
 13756  //     represent your account's customer ID.
 13757  func (r *ResourcesCalendarsService) List(customer string) *ResourcesCalendarsListCall {
 13758  	c := &ResourcesCalendarsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13759  	c.customer = customer
 13760  	return c
 13761  }
 13762  
 13763  // MaxResults sets the optional parameter "maxResults": Maximum number of
 13764  // results to return.
 13765  func (c *ResourcesCalendarsListCall) MaxResults(maxResults int64) *ResourcesCalendarsListCall {
 13766  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 13767  	return c
 13768  }
 13769  
 13770  // OrderBy sets the optional parameter "orderBy": Field(s) to sort results by
 13771  // in either ascending or descending order. Supported fields include
 13772  // `resourceId`, `resourceName`, `capacity`, `buildingId`, and `floorName`. If
 13773  // no order is specified, defaults to ascending. Should be of the form "field
 13774  // [asc|desc], field [asc|desc], ...". For example `buildingId, capacity desc`
 13775  // would return results sorted first by `buildingId` in ascending order then by
 13776  // `capacity` in descending order.
 13777  func (c *ResourcesCalendarsListCall) OrderBy(orderBy string) *ResourcesCalendarsListCall {
 13778  	c.urlParams_.Set("orderBy", orderBy)
 13779  	return c
 13780  }
 13781  
 13782  // PageToken sets the optional parameter "pageToken": Token to specify the next
 13783  // page in the list.
 13784  func (c *ResourcesCalendarsListCall) PageToken(pageToken string) *ResourcesCalendarsListCall {
 13785  	c.urlParams_.Set("pageToken", pageToken)
 13786  	return c
 13787  }
 13788  
 13789  // Query sets the optional parameter "query": String query used to filter
 13790  // results. Should be of the form "field operator value" where field can be any
 13791  // of supported fields and operators can be any of supported operations.
 13792  // Operators include '=' for exact match, '!=' for mismatch and ':' for prefix
 13793  // match or HAS match where applicable. For prefix match, the value should
 13794  // always be followed by a *. Logical operators NOT and AND are supported (in
 13795  // this order of precedence). Supported fields include `generatedResourceName`,
 13796  // `name`, `buildingId`, `floor_name`, `capacity`,
 13797  // `featureInstances.feature.name`, `resourceEmail`, `resourceCategory`. For
 13798  // example `buildingId=US-NYC-9TH AND featureInstances.feature.name:Phone`.
 13799  func (c *ResourcesCalendarsListCall) Query(query string) *ResourcesCalendarsListCall {
 13800  	c.urlParams_.Set("query", query)
 13801  	return c
 13802  }
 13803  
 13804  // Fields allows partial responses to be retrieved. See
 13805  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13806  // details.
 13807  func (c *ResourcesCalendarsListCall) Fields(s ...googleapi.Field) *ResourcesCalendarsListCall {
 13808  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13809  	return c
 13810  }
 13811  
 13812  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13813  // object's ETag matches the given value. This is useful for getting updates
 13814  // only after the object has changed since the last request.
 13815  func (c *ResourcesCalendarsListCall) IfNoneMatch(entityTag string) *ResourcesCalendarsListCall {
 13816  	c.ifNoneMatch_ = entityTag
 13817  	return c
 13818  }
 13819  
 13820  // Context sets the context to be used in this call's Do method.
 13821  func (c *ResourcesCalendarsListCall) Context(ctx context.Context) *ResourcesCalendarsListCall {
 13822  	c.ctx_ = ctx
 13823  	return c
 13824  }
 13825  
 13826  // Header returns a http.Header that can be modified by the caller to add
 13827  // headers to the request.
 13828  func (c *ResourcesCalendarsListCall) Header() http.Header {
 13829  	if c.header_ == nil {
 13830  		c.header_ = make(http.Header)
 13831  	}
 13832  	return c.header_
 13833  }
 13834  
 13835  func (c *ResourcesCalendarsListCall) doRequest(alt string) (*http.Response, error) {
 13836  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13837  	if c.ifNoneMatch_ != "" {
 13838  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13839  	}
 13840  	var body io.Reader = nil
 13841  	c.urlParams_.Set("alt", alt)
 13842  	c.urlParams_.Set("prettyPrint", "false")
 13843  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars")
 13844  	urls += "?" + c.urlParams_.Encode()
 13845  	req, err := http.NewRequest("GET", urls, body)
 13846  	if err != nil {
 13847  		return nil, err
 13848  	}
 13849  	req.Header = reqHeaders
 13850  	googleapi.Expand(req.URL, map[string]string{
 13851  		"customer": c.customer,
 13852  	})
 13853  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13854  }
 13855  
 13856  // Do executes the "directory.resources.calendars.list" call.
 13857  // Any non-2xx status code is an error. Response headers are in either
 13858  // *CalendarResources.ServerResponse.Header or (if a response was returned at
 13859  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13860  // check whether the returned error was because http.StatusNotModified was
 13861  // returned.
 13862  func (c *ResourcesCalendarsListCall) Do(opts ...googleapi.CallOption) (*CalendarResources, error) {
 13863  	gensupport.SetOptions(c.urlParams_, opts...)
 13864  	res, err := c.doRequest("json")
 13865  	if res != nil && res.StatusCode == http.StatusNotModified {
 13866  		if res.Body != nil {
 13867  			res.Body.Close()
 13868  		}
 13869  		return nil, gensupport.WrapError(&googleapi.Error{
 13870  			Code:   res.StatusCode,
 13871  			Header: res.Header,
 13872  		})
 13873  	}
 13874  	if err != nil {
 13875  		return nil, err
 13876  	}
 13877  	defer googleapi.CloseBody(res)
 13878  	if err := googleapi.CheckResponse(res); err != nil {
 13879  		return nil, gensupport.WrapError(err)
 13880  	}
 13881  	ret := &CalendarResources{
 13882  		ServerResponse: googleapi.ServerResponse{
 13883  			Header:         res.Header,
 13884  			HTTPStatusCode: res.StatusCode,
 13885  		},
 13886  	}
 13887  	target := &ret
 13888  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13889  		return nil, err
 13890  	}
 13891  	return ret, nil
 13892  }
 13893  
 13894  // Pages invokes f for each page of results.
 13895  // A non-nil error returned from f will halt the iteration.
 13896  // The provided context supersedes any context provided to the Context method.
 13897  func (c *ResourcesCalendarsListCall) Pages(ctx context.Context, f func(*CalendarResources) error) error {
 13898  	c.ctx_ = ctx
 13899  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13900  	for {
 13901  		x, err := c.Do()
 13902  		if err != nil {
 13903  			return err
 13904  		}
 13905  		if err := f(x); err != nil {
 13906  			return err
 13907  		}
 13908  		if x.NextPageToken == "" {
 13909  			return nil
 13910  		}
 13911  		c.PageToken(x.NextPageToken)
 13912  	}
 13913  }
 13914  
 13915  type ResourcesCalendarsPatchCall struct {
 13916  	s                  *Service
 13917  	customer           string
 13918  	calendarResourceId string
 13919  	calendarresource   *CalendarResource
 13920  	urlParams_         gensupport.URLParams
 13921  	ctx_               context.Context
 13922  	header_            http.Header
 13923  }
 13924  
 13925  // Patch: Patches a calendar resource.
 13926  //
 13927  //   - calendarResourceId: The unique ID of the calendar resource to update.
 13928  //   - customer: The unique ID for the customer's Google Workspace account. As an
 13929  //     account administrator, you can also use the `my_customer` alias to
 13930  //     represent your account's customer ID.
 13931  func (r *ResourcesCalendarsService) Patch(customer string, calendarResourceId string, calendarresource *CalendarResource) *ResourcesCalendarsPatchCall {
 13932  	c := &ResourcesCalendarsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13933  	c.customer = customer
 13934  	c.calendarResourceId = calendarResourceId
 13935  	c.calendarresource = calendarresource
 13936  	return c
 13937  }
 13938  
 13939  // Fields allows partial responses to be retrieved. See
 13940  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13941  // details.
 13942  func (c *ResourcesCalendarsPatchCall) Fields(s ...googleapi.Field) *ResourcesCalendarsPatchCall {
 13943  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13944  	return c
 13945  }
 13946  
 13947  // Context sets the context to be used in this call's Do method.
 13948  func (c *ResourcesCalendarsPatchCall) Context(ctx context.Context) *ResourcesCalendarsPatchCall {
 13949  	c.ctx_ = ctx
 13950  	return c
 13951  }
 13952  
 13953  // Header returns a http.Header that can be modified by the caller to add
 13954  // headers to the request.
 13955  func (c *ResourcesCalendarsPatchCall) Header() http.Header {
 13956  	if c.header_ == nil {
 13957  		c.header_ = make(http.Header)
 13958  	}
 13959  	return c.header_
 13960  }
 13961  
 13962  func (c *ResourcesCalendarsPatchCall) doRequest(alt string) (*http.Response, error) {
 13963  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13964  	var body io.Reader = nil
 13965  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.calendarresource)
 13966  	if err != nil {
 13967  		return nil, err
 13968  	}
 13969  	c.urlParams_.Set("alt", alt)
 13970  	c.urlParams_.Set("prettyPrint", "false")
 13971  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}")
 13972  	urls += "?" + c.urlParams_.Encode()
 13973  	req, err := http.NewRequest("PATCH", urls, body)
 13974  	if err != nil {
 13975  		return nil, err
 13976  	}
 13977  	req.Header = reqHeaders
 13978  	googleapi.Expand(req.URL, map[string]string{
 13979  		"customer":           c.customer,
 13980  		"calendarResourceId": c.calendarResourceId,
 13981  	})
 13982  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13983  }
 13984  
 13985  // Do executes the "directory.resources.calendars.patch" call.
 13986  // Any non-2xx status code is an error. Response headers are in either
 13987  // *CalendarResource.ServerResponse.Header or (if a response was returned at
 13988  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13989  // check whether the returned error was because http.StatusNotModified was
 13990  // returned.
 13991  func (c *ResourcesCalendarsPatchCall) Do(opts ...googleapi.CallOption) (*CalendarResource, error) {
 13992  	gensupport.SetOptions(c.urlParams_, opts...)
 13993  	res, err := c.doRequest("json")
 13994  	if res != nil && res.StatusCode == http.StatusNotModified {
 13995  		if res.Body != nil {
 13996  			res.Body.Close()
 13997  		}
 13998  		return nil, gensupport.WrapError(&googleapi.Error{
 13999  			Code:   res.StatusCode,
 14000  			Header: res.Header,
 14001  		})
 14002  	}
 14003  	if err != nil {
 14004  		return nil, err
 14005  	}
 14006  	defer googleapi.CloseBody(res)
 14007  	if err := googleapi.CheckResponse(res); err != nil {
 14008  		return nil, gensupport.WrapError(err)
 14009  	}
 14010  	ret := &CalendarResource{
 14011  		ServerResponse: googleapi.ServerResponse{
 14012  			Header:         res.Header,
 14013  			HTTPStatusCode: res.StatusCode,
 14014  		},
 14015  	}
 14016  	target := &ret
 14017  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14018  		return nil, err
 14019  	}
 14020  	return ret, nil
 14021  }
 14022  
 14023  type ResourcesCalendarsUpdateCall struct {
 14024  	s                  *Service
 14025  	customer           string
 14026  	calendarResourceId string
 14027  	calendarresource   *CalendarResource
 14028  	urlParams_         gensupport.URLParams
 14029  	ctx_               context.Context
 14030  	header_            http.Header
 14031  }
 14032  
 14033  // Update: Updates a calendar resource. This method supports patch semantics,
 14034  // meaning you only need to include the fields you wish to update. Fields that
 14035  // are not present in the request will be preserved.
 14036  //
 14037  //   - calendarResourceId: The unique ID of the calendar resource to update.
 14038  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14039  //     account administrator, you can also use the `my_customer` alias to
 14040  //     represent your account's customer ID.
 14041  func (r *ResourcesCalendarsService) Update(customer string, calendarResourceId string, calendarresource *CalendarResource) *ResourcesCalendarsUpdateCall {
 14042  	c := &ResourcesCalendarsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14043  	c.customer = customer
 14044  	c.calendarResourceId = calendarResourceId
 14045  	c.calendarresource = calendarresource
 14046  	return c
 14047  }
 14048  
 14049  // Fields allows partial responses to be retrieved. See
 14050  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14051  // details.
 14052  func (c *ResourcesCalendarsUpdateCall) Fields(s ...googleapi.Field) *ResourcesCalendarsUpdateCall {
 14053  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14054  	return c
 14055  }
 14056  
 14057  // Context sets the context to be used in this call's Do method.
 14058  func (c *ResourcesCalendarsUpdateCall) Context(ctx context.Context) *ResourcesCalendarsUpdateCall {
 14059  	c.ctx_ = ctx
 14060  	return c
 14061  }
 14062  
 14063  // Header returns a http.Header that can be modified by the caller to add
 14064  // headers to the request.
 14065  func (c *ResourcesCalendarsUpdateCall) Header() http.Header {
 14066  	if c.header_ == nil {
 14067  		c.header_ = make(http.Header)
 14068  	}
 14069  	return c.header_
 14070  }
 14071  
 14072  func (c *ResourcesCalendarsUpdateCall) doRequest(alt string) (*http.Response, error) {
 14073  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14074  	var body io.Reader = nil
 14075  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.calendarresource)
 14076  	if err != nil {
 14077  		return nil, err
 14078  	}
 14079  	c.urlParams_.Set("alt", alt)
 14080  	c.urlParams_.Set("prettyPrint", "false")
 14081  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}")
 14082  	urls += "?" + c.urlParams_.Encode()
 14083  	req, err := http.NewRequest("PUT", urls, body)
 14084  	if err != nil {
 14085  		return nil, err
 14086  	}
 14087  	req.Header = reqHeaders
 14088  	googleapi.Expand(req.URL, map[string]string{
 14089  		"customer":           c.customer,
 14090  		"calendarResourceId": c.calendarResourceId,
 14091  	})
 14092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14093  }
 14094  
 14095  // Do executes the "directory.resources.calendars.update" call.
 14096  // Any non-2xx status code is an error. Response headers are in either
 14097  // *CalendarResource.ServerResponse.Header or (if a response was returned at
 14098  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 14099  // check whether the returned error was because http.StatusNotModified was
 14100  // returned.
 14101  func (c *ResourcesCalendarsUpdateCall) Do(opts ...googleapi.CallOption) (*CalendarResource, error) {
 14102  	gensupport.SetOptions(c.urlParams_, opts...)
 14103  	res, err := c.doRequest("json")
 14104  	if res != nil && res.StatusCode == http.StatusNotModified {
 14105  		if res.Body != nil {
 14106  			res.Body.Close()
 14107  		}
 14108  		return nil, gensupport.WrapError(&googleapi.Error{
 14109  			Code:   res.StatusCode,
 14110  			Header: res.Header,
 14111  		})
 14112  	}
 14113  	if err != nil {
 14114  		return nil, err
 14115  	}
 14116  	defer googleapi.CloseBody(res)
 14117  	if err := googleapi.CheckResponse(res); err != nil {
 14118  		return nil, gensupport.WrapError(err)
 14119  	}
 14120  	ret := &CalendarResource{
 14121  		ServerResponse: googleapi.ServerResponse{
 14122  			Header:         res.Header,
 14123  			HTTPStatusCode: res.StatusCode,
 14124  		},
 14125  	}
 14126  	target := &ret
 14127  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14128  		return nil, err
 14129  	}
 14130  	return ret, nil
 14131  }
 14132  
 14133  type ResourcesFeaturesDeleteCall struct {
 14134  	s          *Service
 14135  	customer   string
 14136  	featureKey string
 14137  	urlParams_ gensupport.URLParams
 14138  	ctx_       context.Context
 14139  	header_    http.Header
 14140  }
 14141  
 14142  // Delete: Deletes a feature.
 14143  //
 14144  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14145  //     account administrator, you can also use the `my_customer` alias to
 14146  //     represent your account's customer ID.
 14147  //   - featureKey: The unique ID of the feature to delete.
 14148  func (r *ResourcesFeaturesService) Delete(customer string, featureKey string) *ResourcesFeaturesDeleteCall {
 14149  	c := &ResourcesFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14150  	c.customer = customer
 14151  	c.featureKey = featureKey
 14152  	return c
 14153  }
 14154  
 14155  // Fields allows partial responses to be retrieved. See
 14156  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14157  // details.
 14158  func (c *ResourcesFeaturesDeleteCall) Fields(s ...googleapi.Field) *ResourcesFeaturesDeleteCall {
 14159  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14160  	return c
 14161  }
 14162  
 14163  // Context sets the context to be used in this call's Do method.
 14164  func (c *ResourcesFeaturesDeleteCall) Context(ctx context.Context) *ResourcesFeaturesDeleteCall {
 14165  	c.ctx_ = ctx
 14166  	return c
 14167  }
 14168  
 14169  // Header returns a http.Header that can be modified by the caller to add
 14170  // headers to the request.
 14171  func (c *ResourcesFeaturesDeleteCall) Header() http.Header {
 14172  	if c.header_ == nil {
 14173  		c.header_ = make(http.Header)
 14174  	}
 14175  	return c.header_
 14176  }
 14177  
 14178  func (c *ResourcesFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
 14179  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14180  	var body io.Reader = nil
 14181  	c.urlParams_.Set("alt", alt)
 14182  	c.urlParams_.Set("prettyPrint", "false")
 14183  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features/{featureKey}")
 14184  	urls += "?" + c.urlParams_.Encode()
 14185  	req, err := http.NewRequest("DELETE", urls, body)
 14186  	if err != nil {
 14187  		return nil, err
 14188  	}
 14189  	req.Header = reqHeaders
 14190  	googleapi.Expand(req.URL, map[string]string{
 14191  		"customer":   c.customer,
 14192  		"featureKey": c.featureKey,
 14193  	})
 14194  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14195  }
 14196  
 14197  // Do executes the "directory.resources.features.delete" call.
 14198  func (c *ResourcesFeaturesDeleteCall) Do(opts ...googleapi.CallOption) error {
 14199  	gensupport.SetOptions(c.urlParams_, opts...)
 14200  	res, err := c.doRequest("json")
 14201  	if err != nil {
 14202  		return err
 14203  	}
 14204  	defer googleapi.CloseBody(res)
 14205  	if err := googleapi.CheckResponse(res); err != nil {
 14206  		return gensupport.WrapError(err)
 14207  	}
 14208  	return nil
 14209  }
 14210  
 14211  type ResourcesFeaturesGetCall struct {
 14212  	s            *Service
 14213  	customer     string
 14214  	featureKey   string
 14215  	urlParams_   gensupport.URLParams
 14216  	ifNoneMatch_ string
 14217  	ctx_         context.Context
 14218  	header_      http.Header
 14219  }
 14220  
 14221  // Get: Retrieves a feature.
 14222  //
 14223  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14224  //     account administrator, you can also use the `my_customer` alias to
 14225  //     represent your account's customer ID.
 14226  //   - featureKey: The unique ID of the feature to retrieve.
 14227  func (r *ResourcesFeaturesService) Get(customer string, featureKey string) *ResourcesFeaturesGetCall {
 14228  	c := &ResourcesFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14229  	c.customer = customer
 14230  	c.featureKey = featureKey
 14231  	return c
 14232  }
 14233  
 14234  // Fields allows partial responses to be retrieved. See
 14235  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14236  // details.
 14237  func (c *ResourcesFeaturesGetCall) Fields(s ...googleapi.Field) *ResourcesFeaturesGetCall {
 14238  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14239  	return c
 14240  }
 14241  
 14242  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14243  // object's ETag matches the given value. This is useful for getting updates
 14244  // only after the object has changed since the last request.
 14245  func (c *ResourcesFeaturesGetCall) IfNoneMatch(entityTag string) *ResourcesFeaturesGetCall {
 14246  	c.ifNoneMatch_ = entityTag
 14247  	return c
 14248  }
 14249  
 14250  // Context sets the context to be used in this call's Do method.
 14251  func (c *ResourcesFeaturesGetCall) Context(ctx context.Context) *ResourcesFeaturesGetCall {
 14252  	c.ctx_ = ctx
 14253  	return c
 14254  }
 14255  
 14256  // Header returns a http.Header that can be modified by the caller to add
 14257  // headers to the request.
 14258  func (c *ResourcesFeaturesGetCall) Header() http.Header {
 14259  	if c.header_ == nil {
 14260  		c.header_ = make(http.Header)
 14261  	}
 14262  	return c.header_
 14263  }
 14264  
 14265  func (c *ResourcesFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
 14266  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14267  	if c.ifNoneMatch_ != "" {
 14268  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14269  	}
 14270  	var body io.Reader = nil
 14271  	c.urlParams_.Set("alt", alt)
 14272  	c.urlParams_.Set("prettyPrint", "false")
 14273  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features/{featureKey}")
 14274  	urls += "?" + c.urlParams_.Encode()
 14275  	req, err := http.NewRequest("GET", urls, body)
 14276  	if err != nil {
 14277  		return nil, err
 14278  	}
 14279  	req.Header = reqHeaders
 14280  	googleapi.Expand(req.URL, map[string]string{
 14281  		"customer":   c.customer,
 14282  		"featureKey": c.featureKey,
 14283  	})
 14284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14285  }
 14286  
 14287  // Do executes the "directory.resources.features.get" call.
 14288  // Any non-2xx status code is an error. Response headers are in either
 14289  // *Feature.ServerResponse.Header or (if a response was returned at all) in
 14290  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14291  // whether the returned error was because http.StatusNotModified was returned.
 14292  func (c *ResourcesFeaturesGetCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
 14293  	gensupport.SetOptions(c.urlParams_, opts...)
 14294  	res, err := c.doRequest("json")
 14295  	if res != nil && res.StatusCode == http.StatusNotModified {
 14296  		if res.Body != nil {
 14297  			res.Body.Close()
 14298  		}
 14299  		return nil, gensupport.WrapError(&googleapi.Error{
 14300  			Code:   res.StatusCode,
 14301  			Header: res.Header,
 14302  		})
 14303  	}
 14304  	if err != nil {
 14305  		return nil, err
 14306  	}
 14307  	defer googleapi.CloseBody(res)
 14308  	if err := googleapi.CheckResponse(res); err != nil {
 14309  		return nil, gensupport.WrapError(err)
 14310  	}
 14311  	ret := &Feature{
 14312  		ServerResponse: googleapi.ServerResponse{
 14313  			Header:         res.Header,
 14314  			HTTPStatusCode: res.StatusCode,
 14315  		},
 14316  	}
 14317  	target := &ret
 14318  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14319  		return nil, err
 14320  	}
 14321  	return ret, nil
 14322  }
 14323  
 14324  type ResourcesFeaturesInsertCall struct {
 14325  	s          *Service
 14326  	customer   string
 14327  	feature    *Feature
 14328  	urlParams_ gensupport.URLParams
 14329  	ctx_       context.Context
 14330  	header_    http.Header
 14331  }
 14332  
 14333  // Insert: Inserts a feature.
 14334  //
 14335  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14336  //     account administrator, you can also use the `my_customer` alias to
 14337  //     represent your account's customer ID.
 14338  func (r *ResourcesFeaturesService) Insert(customer string, feature *Feature) *ResourcesFeaturesInsertCall {
 14339  	c := &ResourcesFeaturesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14340  	c.customer = customer
 14341  	c.feature = feature
 14342  	return c
 14343  }
 14344  
 14345  // Fields allows partial responses to be retrieved. See
 14346  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14347  // details.
 14348  func (c *ResourcesFeaturesInsertCall) Fields(s ...googleapi.Field) *ResourcesFeaturesInsertCall {
 14349  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14350  	return c
 14351  }
 14352  
 14353  // Context sets the context to be used in this call's Do method.
 14354  func (c *ResourcesFeaturesInsertCall) Context(ctx context.Context) *ResourcesFeaturesInsertCall {
 14355  	c.ctx_ = ctx
 14356  	return c
 14357  }
 14358  
 14359  // Header returns a http.Header that can be modified by the caller to add
 14360  // headers to the request.
 14361  func (c *ResourcesFeaturesInsertCall) Header() http.Header {
 14362  	if c.header_ == nil {
 14363  		c.header_ = make(http.Header)
 14364  	}
 14365  	return c.header_
 14366  }
 14367  
 14368  func (c *ResourcesFeaturesInsertCall) doRequest(alt string) (*http.Response, error) {
 14369  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14370  	var body io.Reader = nil
 14371  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
 14372  	if err != nil {
 14373  		return nil, err
 14374  	}
 14375  	c.urlParams_.Set("alt", alt)
 14376  	c.urlParams_.Set("prettyPrint", "false")
 14377  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features")
 14378  	urls += "?" + c.urlParams_.Encode()
 14379  	req, err := http.NewRequest("POST", urls, body)
 14380  	if err != nil {
 14381  		return nil, err
 14382  	}
 14383  	req.Header = reqHeaders
 14384  	googleapi.Expand(req.URL, map[string]string{
 14385  		"customer": c.customer,
 14386  	})
 14387  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14388  }
 14389  
 14390  // Do executes the "directory.resources.features.insert" call.
 14391  // Any non-2xx status code is an error. Response headers are in either
 14392  // *Feature.ServerResponse.Header or (if a response was returned at all) in
 14393  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14394  // whether the returned error was because http.StatusNotModified was returned.
 14395  func (c *ResourcesFeaturesInsertCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
 14396  	gensupport.SetOptions(c.urlParams_, opts...)
 14397  	res, err := c.doRequest("json")
 14398  	if res != nil && res.StatusCode == http.StatusNotModified {
 14399  		if res.Body != nil {
 14400  			res.Body.Close()
 14401  		}
 14402  		return nil, gensupport.WrapError(&googleapi.Error{
 14403  			Code:   res.StatusCode,
 14404  			Header: res.Header,
 14405  		})
 14406  	}
 14407  	if err != nil {
 14408  		return nil, err
 14409  	}
 14410  	defer googleapi.CloseBody(res)
 14411  	if err := googleapi.CheckResponse(res); err != nil {
 14412  		return nil, gensupport.WrapError(err)
 14413  	}
 14414  	ret := &Feature{
 14415  		ServerResponse: googleapi.ServerResponse{
 14416  			Header:         res.Header,
 14417  			HTTPStatusCode: res.StatusCode,
 14418  		},
 14419  	}
 14420  	target := &ret
 14421  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14422  		return nil, err
 14423  	}
 14424  	return ret, nil
 14425  }
 14426  
 14427  type ResourcesFeaturesListCall struct {
 14428  	s            *Service
 14429  	customer     string
 14430  	urlParams_   gensupport.URLParams
 14431  	ifNoneMatch_ string
 14432  	ctx_         context.Context
 14433  	header_      http.Header
 14434  }
 14435  
 14436  // List: Retrieves a list of features for an account.
 14437  //
 14438  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14439  //     account administrator, you can also use the `my_customer` alias to
 14440  //     represent your account's customer ID.
 14441  func (r *ResourcesFeaturesService) List(customer string) *ResourcesFeaturesListCall {
 14442  	c := &ResourcesFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14443  	c.customer = customer
 14444  	return c
 14445  }
 14446  
 14447  // MaxResults sets the optional parameter "maxResults": Maximum number of
 14448  // results to return.
 14449  func (c *ResourcesFeaturesListCall) MaxResults(maxResults int64) *ResourcesFeaturesListCall {
 14450  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 14451  	return c
 14452  }
 14453  
 14454  // PageToken sets the optional parameter "pageToken": Token to specify the next
 14455  // page in the list.
 14456  func (c *ResourcesFeaturesListCall) PageToken(pageToken string) *ResourcesFeaturesListCall {
 14457  	c.urlParams_.Set("pageToken", pageToken)
 14458  	return c
 14459  }
 14460  
 14461  // Fields allows partial responses to be retrieved. See
 14462  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14463  // details.
 14464  func (c *ResourcesFeaturesListCall) Fields(s ...googleapi.Field) *ResourcesFeaturesListCall {
 14465  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14466  	return c
 14467  }
 14468  
 14469  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14470  // object's ETag matches the given value. This is useful for getting updates
 14471  // only after the object has changed since the last request.
 14472  func (c *ResourcesFeaturesListCall) IfNoneMatch(entityTag string) *ResourcesFeaturesListCall {
 14473  	c.ifNoneMatch_ = entityTag
 14474  	return c
 14475  }
 14476  
 14477  // Context sets the context to be used in this call's Do method.
 14478  func (c *ResourcesFeaturesListCall) Context(ctx context.Context) *ResourcesFeaturesListCall {
 14479  	c.ctx_ = ctx
 14480  	return c
 14481  }
 14482  
 14483  // Header returns a http.Header that can be modified by the caller to add
 14484  // headers to the request.
 14485  func (c *ResourcesFeaturesListCall) Header() http.Header {
 14486  	if c.header_ == nil {
 14487  		c.header_ = make(http.Header)
 14488  	}
 14489  	return c.header_
 14490  }
 14491  
 14492  func (c *ResourcesFeaturesListCall) doRequest(alt string) (*http.Response, error) {
 14493  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14494  	if c.ifNoneMatch_ != "" {
 14495  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14496  	}
 14497  	var body io.Reader = nil
 14498  	c.urlParams_.Set("alt", alt)
 14499  	c.urlParams_.Set("prettyPrint", "false")
 14500  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features")
 14501  	urls += "?" + c.urlParams_.Encode()
 14502  	req, err := http.NewRequest("GET", urls, body)
 14503  	if err != nil {
 14504  		return nil, err
 14505  	}
 14506  	req.Header = reqHeaders
 14507  	googleapi.Expand(req.URL, map[string]string{
 14508  		"customer": c.customer,
 14509  	})
 14510  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14511  }
 14512  
 14513  // Do executes the "directory.resources.features.list" call.
 14514  // Any non-2xx status code is an error. Response headers are in either
 14515  // *Features.ServerResponse.Header or (if a response was returned at all) in
 14516  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14517  // whether the returned error was because http.StatusNotModified was returned.
 14518  func (c *ResourcesFeaturesListCall) Do(opts ...googleapi.CallOption) (*Features, error) {
 14519  	gensupport.SetOptions(c.urlParams_, opts...)
 14520  	res, err := c.doRequest("json")
 14521  	if res != nil && res.StatusCode == http.StatusNotModified {
 14522  		if res.Body != nil {
 14523  			res.Body.Close()
 14524  		}
 14525  		return nil, gensupport.WrapError(&googleapi.Error{
 14526  			Code:   res.StatusCode,
 14527  			Header: res.Header,
 14528  		})
 14529  	}
 14530  	if err != nil {
 14531  		return nil, err
 14532  	}
 14533  	defer googleapi.CloseBody(res)
 14534  	if err := googleapi.CheckResponse(res); err != nil {
 14535  		return nil, gensupport.WrapError(err)
 14536  	}
 14537  	ret := &Features{
 14538  		ServerResponse: googleapi.ServerResponse{
 14539  			Header:         res.Header,
 14540  			HTTPStatusCode: res.StatusCode,
 14541  		},
 14542  	}
 14543  	target := &ret
 14544  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14545  		return nil, err
 14546  	}
 14547  	return ret, nil
 14548  }
 14549  
 14550  // Pages invokes f for each page of results.
 14551  // A non-nil error returned from f will halt the iteration.
 14552  // The provided context supersedes any context provided to the Context method.
 14553  func (c *ResourcesFeaturesListCall) Pages(ctx context.Context, f func(*Features) error) error {
 14554  	c.ctx_ = ctx
 14555  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 14556  	for {
 14557  		x, err := c.Do()
 14558  		if err != nil {
 14559  			return err
 14560  		}
 14561  		if err := f(x); err != nil {
 14562  			return err
 14563  		}
 14564  		if x.NextPageToken == "" {
 14565  			return nil
 14566  		}
 14567  		c.PageToken(x.NextPageToken)
 14568  	}
 14569  }
 14570  
 14571  type ResourcesFeaturesPatchCall struct {
 14572  	s          *Service
 14573  	customer   string
 14574  	featureKey string
 14575  	feature    *Feature
 14576  	urlParams_ gensupport.URLParams
 14577  	ctx_       context.Context
 14578  	header_    http.Header
 14579  }
 14580  
 14581  // Patch: Patches a feature.
 14582  //
 14583  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14584  //     account administrator, you can also use the `my_customer` alias to
 14585  //     represent your account's customer ID.
 14586  //   - featureKey: The unique ID of the feature to update.
 14587  func (r *ResourcesFeaturesService) Patch(customer string, featureKey string, feature *Feature) *ResourcesFeaturesPatchCall {
 14588  	c := &ResourcesFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14589  	c.customer = customer
 14590  	c.featureKey = featureKey
 14591  	c.feature = feature
 14592  	return c
 14593  }
 14594  
 14595  // Fields allows partial responses to be retrieved. See
 14596  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14597  // details.
 14598  func (c *ResourcesFeaturesPatchCall) Fields(s ...googleapi.Field) *ResourcesFeaturesPatchCall {
 14599  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14600  	return c
 14601  }
 14602  
 14603  // Context sets the context to be used in this call's Do method.
 14604  func (c *ResourcesFeaturesPatchCall) Context(ctx context.Context) *ResourcesFeaturesPatchCall {
 14605  	c.ctx_ = ctx
 14606  	return c
 14607  }
 14608  
 14609  // Header returns a http.Header that can be modified by the caller to add
 14610  // headers to the request.
 14611  func (c *ResourcesFeaturesPatchCall) Header() http.Header {
 14612  	if c.header_ == nil {
 14613  		c.header_ = make(http.Header)
 14614  	}
 14615  	return c.header_
 14616  }
 14617  
 14618  func (c *ResourcesFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
 14619  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14620  	var body io.Reader = nil
 14621  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
 14622  	if err != nil {
 14623  		return nil, err
 14624  	}
 14625  	c.urlParams_.Set("alt", alt)
 14626  	c.urlParams_.Set("prettyPrint", "false")
 14627  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features/{featureKey}")
 14628  	urls += "?" + c.urlParams_.Encode()
 14629  	req, err := http.NewRequest("PATCH", urls, body)
 14630  	if err != nil {
 14631  		return nil, err
 14632  	}
 14633  	req.Header = reqHeaders
 14634  	googleapi.Expand(req.URL, map[string]string{
 14635  		"customer":   c.customer,
 14636  		"featureKey": c.featureKey,
 14637  	})
 14638  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14639  }
 14640  
 14641  // Do executes the "directory.resources.features.patch" call.
 14642  // Any non-2xx status code is an error. Response headers are in either
 14643  // *Feature.ServerResponse.Header or (if a response was returned at all) in
 14644  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14645  // whether the returned error was because http.StatusNotModified was returned.
 14646  func (c *ResourcesFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
 14647  	gensupport.SetOptions(c.urlParams_, opts...)
 14648  	res, err := c.doRequest("json")
 14649  	if res != nil && res.StatusCode == http.StatusNotModified {
 14650  		if res.Body != nil {
 14651  			res.Body.Close()
 14652  		}
 14653  		return nil, gensupport.WrapError(&googleapi.Error{
 14654  			Code:   res.StatusCode,
 14655  			Header: res.Header,
 14656  		})
 14657  	}
 14658  	if err != nil {
 14659  		return nil, err
 14660  	}
 14661  	defer googleapi.CloseBody(res)
 14662  	if err := googleapi.CheckResponse(res); err != nil {
 14663  		return nil, gensupport.WrapError(err)
 14664  	}
 14665  	ret := &Feature{
 14666  		ServerResponse: googleapi.ServerResponse{
 14667  			Header:         res.Header,
 14668  			HTTPStatusCode: res.StatusCode,
 14669  		},
 14670  	}
 14671  	target := &ret
 14672  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14673  		return nil, err
 14674  	}
 14675  	return ret, nil
 14676  }
 14677  
 14678  type ResourcesFeaturesRenameCall struct {
 14679  	s             *Service
 14680  	customer      string
 14681  	oldName       string
 14682  	featurerename *FeatureRename
 14683  	urlParams_    gensupport.URLParams
 14684  	ctx_          context.Context
 14685  	header_       http.Header
 14686  }
 14687  
 14688  // Rename: Renames a feature.
 14689  //
 14690  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14691  //     account administrator, you can also use the `my_customer` alias to
 14692  //     represent your account's customer ID.
 14693  //   - oldName: The unique ID of the feature to rename.
 14694  func (r *ResourcesFeaturesService) Rename(customer string, oldName string, featurerename *FeatureRename) *ResourcesFeaturesRenameCall {
 14695  	c := &ResourcesFeaturesRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14696  	c.customer = customer
 14697  	c.oldName = oldName
 14698  	c.featurerename = featurerename
 14699  	return c
 14700  }
 14701  
 14702  // Fields allows partial responses to be retrieved. See
 14703  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14704  // details.
 14705  func (c *ResourcesFeaturesRenameCall) Fields(s ...googleapi.Field) *ResourcesFeaturesRenameCall {
 14706  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14707  	return c
 14708  }
 14709  
 14710  // Context sets the context to be used in this call's Do method.
 14711  func (c *ResourcesFeaturesRenameCall) Context(ctx context.Context) *ResourcesFeaturesRenameCall {
 14712  	c.ctx_ = ctx
 14713  	return c
 14714  }
 14715  
 14716  // Header returns a http.Header that can be modified by the caller to add
 14717  // headers to the request.
 14718  func (c *ResourcesFeaturesRenameCall) Header() http.Header {
 14719  	if c.header_ == nil {
 14720  		c.header_ = make(http.Header)
 14721  	}
 14722  	return c.header_
 14723  }
 14724  
 14725  func (c *ResourcesFeaturesRenameCall) doRequest(alt string) (*http.Response, error) {
 14726  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14727  	var body io.Reader = nil
 14728  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.featurerename)
 14729  	if err != nil {
 14730  		return nil, err
 14731  	}
 14732  	c.urlParams_.Set("alt", alt)
 14733  	c.urlParams_.Set("prettyPrint", "false")
 14734  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features/{oldName}/rename")
 14735  	urls += "?" + c.urlParams_.Encode()
 14736  	req, err := http.NewRequest("POST", urls, body)
 14737  	if err != nil {
 14738  		return nil, err
 14739  	}
 14740  	req.Header = reqHeaders
 14741  	googleapi.Expand(req.URL, map[string]string{
 14742  		"customer": c.customer,
 14743  		"oldName":  c.oldName,
 14744  	})
 14745  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14746  }
 14747  
 14748  // Do executes the "directory.resources.features.rename" call.
 14749  func (c *ResourcesFeaturesRenameCall) Do(opts ...googleapi.CallOption) error {
 14750  	gensupport.SetOptions(c.urlParams_, opts...)
 14751  	res, err := c.doRequest("json")
 14752  	if err != nil {
 14753  		return err
 14754  	}
 14755  	defer googleapi.CloseBody(res)
 14756  	if err := googleapi.CheckResponse(res); err != nil {
 14757  		return gensupport.WrapError(err)
 14758  	}
 14759  	return nil
 14760  }
 14761  
 14762  type ResourcesFeaturesUpdateCall struct {
 14763  	s          *Service
 14764  	customer   string
 14765  	featureKey string
 14766  	feature    *Feature
 14767  	urlParams_ gensupport.URLParams
 14768  	ctx_       context.Context
 14769  	header_    http.Header
 14770  }
 14771  
 14772  // Update: Updates a feature.
 14773  //
 14774  //   - customer: The unique ID for the customer's Google Workspace account. As an
 14775  //     account administrator, you can also use the `my_customer` alias to
 14776  //     represent your account's customer ID.
 14777  //   - featureKey: The unique ID of the feature to update.
 14778  func (r *ResourcesFeaturesService) Update(customer string, featureKey string, feature *Feature) *ResourcesFeaturesUpdateCall {
 14779  	c := &ResourcesFeaturesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14780  	c.customer = customer
 14781  	c.featureKey = featureKey
 14782  	c.feature = feature
 14783  	return c
 14784  }
 14785  
 14786  // Fields allows partial responses to be retrieved. See
 14787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14788  // details.
 14789  func (c *ResourcesFeaturesUpdateCall) Fields(s ...googleapi.Field) *ResourcesFeaturesUpdateCall {
 14790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14791  	return c
 14792  }
 14793  
 14794  // Context sets the context to be used in this call's Do method.
 14795  func (c *ResourcesFeaturesUpdateCall) Context(ctx context.Context) *ResourcesFeaturesUpdateCall {
 14796  	c.ctx_ = ctx
 14797  	return c
 14798  }
 14799  
 14800  // Header returns a http.Header that can be modified by the caller to add
 14801  // headers to the request.
 14802  func (c *ResourcesFeaturesUpdateCall) Header() http.Header {
 14803  	if c.header_ == nil {
 14804  		c.header_ = make(http.Header)
 14805  	}
 14806  	return c.header_
 14807  }
 14808  
 14809  func (c *ResourcesFeaturesUpdateCall) doRequest(alt string) (*http.Response, error) {
 14810  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14811  	var body io.Reader = nil
 14812  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
 14813  	if err != nil {
 14814  		return nil, err
 14815  	}
 14816  	c.urlParams_.Set("alt", alt)
 14817  	c.urlParams_.Set("prettyPrint", "false")
 14818  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/resources/features/{featureKey}")
 14819  	urls += "?" + c.urlParams_.Encode()
 14820  	req, err := http.NewRequest("PUT", urls, body)
 14821  	if err != nil {
 14822  		return nil, err
 14823  	}
 14824  	req.Header = reqHeaders
 14825  	googleapi.Expand(req.URL, map[string]string{
 14826  		"customer":   c.customer,
 14827  		"featureKey": c.featureKey,
 14828  	})
 14829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14830  }
 14831  
 14832  // Do executes the "directory.resources.features.update" call.
 14833  // Any non-2xx status code is an error. Response headers are in either
 14834  // *Feature.ServerResponse.Header or (if a response was returned at all) in
 14835  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14836  // whether the returned error was because http.StatusNotModified was returned.
 14837  func (c *ResourcesFeaturesUpdateCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
 14838  	gensupport.SetOptions(c.urlParams_, opts...)
 14839  	res, err := c.doRequest("json")
 14840  	if res != nil && res.StatusCode == http.StatusNotModified {
 14841  		if res.Body != nil {
 14842  			res.Body.Close()
 14843  		}
 14844  		return nil, gensupport.WrapError(&googleapi.Error{
 14845  			Code:   res.StatusCode,
 14846  			Header: res.Header,
 14847  		})
 14848  	}
 14849  	if err != nil {
 14850  		return nil, err
 14851  	}
 14852  	defer googleapi.CloseBody(res)
 14853  	if err := googleapi.CheckResponse(res); err != nil {
 14854  		return nil, gensupport.WrapError(err)
 14855  	}
 14856  	ret := &Feature{
 14857  		ServerResponse: googleapi.ServerResponse{
 14858  			Header:         res.Header,
 14859  			HTTPStatusCode: res.StatusCode,
 14860  		},
 14861  	}
 14862  	target := &ret
 14863  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14864  		return nil, err
 14865  	}
 14866  	return ret, nil
 14867  }
 14868  
 14869  type RoleAssignmentsDeleteCall struct {
 14870  	s                *Service
 14871  	customer         string
 14872  	roleAssignmentId string
 14873  	urlParams_       gensupport.URLParams
 14874  	ctx_             context.Context
 14875  	header_          http.Header
 14876  }
 14877  
 14878  // Delete: Deletes a role assignment.
 14879  //
 14880  // - customer: Immutable ID of the Google Workspace account.
 14881  // - roleAssignmentId: Immutable ID of the role assignment.
 14882  func (r *RoleAssignmentsService) Delete(customer string, roleAssignmentId string) *RoleAssignmentsDeleteCall {
 14883  	c := &RoleAssignmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14884  	c.customer = customer
 14885  	c.roleAssignmentId = roleAssignmentId
 14886  	return c
 14887  }
 14888  
 14889  // Fields allows partial responses to be retrieved. See
 14890  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14891  // details.
 14892  func (c *RoleAssignmentsDeleteCall) Fields(s ...googleapi.Field) *RoleAssignmentsDeleteCall {
 14893  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14894  	return c
 14895  }
 14896  
 14897  // Context sets the context to be used in this call's Do method.
 14898  func (c *RoleAssignmentsDeleteCall) Context(ctx context.Context) *RoleAssignmentsDeleteCall {
 14899  	c.ctx_ = ctx
 14900  	return c
 14901  }
 14902  
 14903  // Header returns a http.Header that can be modified by the caller to add
 14904  // headers to the request.
 14905  func (c *RoleAssignmentsDeleteCall) Header() http.Header {
 14906  	if c.header_ == nil {
 14907  		c.header_ = make(http.Header)
 14908  	}
 14909  	return c.header_
 14910  }
 14911  
 14912  func (c *RoleAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 14913  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14914  	var body io.Reader = nil
 14915  	c.urlParams_.Set("alt", alt)
 14916  	c.urlParams_.Set("prettyPrint", "false")
 14917  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roleassignments/{roleAssignmentId}")
 14918  	urls += "?" + c.urlParams_.Encode()
 14919  	req, err := http.NewRequest("DELETE", urls, body)
 14920  	if err != nil {
 14921  		return nil, err
 14922  	}
 14923  	req.Header = reqHeaders
 14924  	googleapi.Expand(req.URL, map[string]string{
 14925  		"customer":         c.customer,
 14926  		"roleAssignmentId": c.roleAssignmentId,
 14927  	})
 14928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14929  }
 14930  
 14931  // Do executes the "directory.roleAssignments.delete" call.
 14932  func (c *RoleAssignmentsDeleteCall) Do(opts ...googleapi.CallOption) error {
 14933  	gensupport.SetOptions(c.urlParams_, opts...)
 14934  	res, err := c.doRequest("json")
 14935  	if err != nil {
 14936  		return err
 14937  	}
 14938  	defer googleapi.CloseBody(res)
 14939  	if err := googleapi.CheckResponse(res); err != nil {
 14940  		return gensupport.WrapError(err)
 14941  	}
 14942  	return nil
 14943  }
 14944  
 14945  type RoleAssignmentsGetCall struct {
 14946  	s                *Service
 14947  	customer         string
 14948  	roleAssignmentId string
 14949  	urlParams_       gensupport.URLParams
 14950  	ifNoneMatch_     string
 14951  	ctx_             context.Context
 14952  	header_          http.Header
 14953  }
 14954  
 14955  // Get: Retrieves a role assignment.
 14956  //
 14957  //   - customer: The unique ID for the customer's Google Workspace account. In
 14958  //     case of a multi-domain account, to fetch all groups for a customer, use
 14959  //     this field instead of `domain`. You can also use the `my_customer` alias
 14960  //     to represent your account's `customerId`. The `customerId` is also
 14961  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 14962  //     resource. You must provide either the `customer` or the `domain`
 14963  //     parameter.
 14964  //   - roleAssignmentId: Immutable ID of the role assignment.
 14965  func (r *RoleAssignmentsService) Get(customer string, roleAssignmentId string) *RoleAssignmentsGetCall {
 14966  	c := &RoleAssignmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14967  	c.customer = customer
 14968  	c.roleAssignmentId = roleAssignmentId
 14969  	return c
 14970  }
 14971  
 14972  // Fields allows partial responses to be retrieved. See
 14973  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14974  // details.
 14975  func (c *RoleAssignmentsGetCall) Fields(s ...googleapi.Field) *RoleAssignmentsGetCall {
 14976  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14977  	return c
 14978  }
 14979  
 14980  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14981  // object's ETag matches the given value. This is useful for getting updates
 14982  // only after the object has changed since the last request.
 14983  func (c *RoleAssignmentsGetCall) IfNoneMatch(entityTag string) *RoleAssignmentsGetCall {
 14984  	c.ifNoneMatch_ = entityTag
 14985  	return c
 14986  }
 14987  
 14988  // Context sets the context to be used in this call's Do method.
 14989  func (c *RoleAssignmentsGetCall) Context(ctx context.Context) *RoleAssignmentsGetCall {
 14990  	c.ctx_ = ctx
 14991  	return c
 14992  }
 14993  
 14994  // Header returns a http.Header that can be modified by the caller to add
 14995  // headers to the request.
 14996  func (c *RoleAssignmentsGetCall) Header() http.Header {
 14997  	if c.header_ == nil {
 14998  		c.header_ = make(http.Header)
 14999  	}
 15000  	return c.header_
 15001  }
 15002  
 15003  func (c *RoleAssignmentsGetCall) doRequest(alt string) (*http.Response, error) {
 15004  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15005  	if c.ifNoneMatch_ != "" {
 15006  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15007  	}
 15008  	var body io.Reader = nil
 15009  	c.urlParams_.Set("alt", alt)
 15010  	c.urlParams_.Set("prettyPrint", "false")
 15011  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roleassignments/{roleAssignmentId}")
 15012  	urls += "?" + c.urlParams_.Encode()
 15013  	req, err := http.NewRequest("GET", urls, body)
 15014  	if err != nil {
 15015  		return nil, err
 15016  	}
 15017  	req.Header = reqHeaders
 15018  	googleapi.Expand(req.URL, map[string]string{
 15019  		"customer":         c.customer,
 15020  		"roleAssignmentId": c.roleAssignmentId,
 15021  	})
 15022  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15023  }
 15024  
 15025  // Do executes the "directory.roleAssignments.get" call.
 15026  // Any non-2xx status code is an error. Response headers are in either
 15027  // *RoleAssignment.ServerResponse.Header or (if a response was returned at all)
 15028  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15029  // whether the returned error was because http.StatusNotModified was returned.
 15030  func (c *RoleAssignmentsGetCall) Do(opts ...googleapi.CallOption) (*RoleAssignment, error) {
 15031  	gensupport.SetOptions(c.urlParams_, opts...)
 15032  	res, err := c.doRequest("json")
 15033  	if res != nil && res.StatusCode == http.StatusNotModified {
 15034  		if res.Body != nil {
 15035  			res.Body.Close()
 15036  		}
 15037  		return nil, gensupport.WrapError(&googleapi.Error{
 15038  			Code:   res.StatusCode,
 15039  			Header: res.Header,
 15040  		})
 15041  	}
 15042  	if err != nil {
 15043  		return nil, err
 15044  	}
 15045  	defer googleapi.CloseBody(res)
 15046  	if err := googleapi.CheckResponse(res); err != nil {
 15047  		return nil, gensupport.WrapError(err)
 15048  	}
 15049  	ret := &RoleAssignment{
 15050  		ServerResponse: googleapi.ServerResponse{
 15051  			Header:         res.Header,
 15052  			HTTPStatusCode: res.StatusCode,
 15053  		},
 15054  	}
 15055  	target := &ret
 15056  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15057  		return nil, err
 15058  	}
 15059  	return ret, nil
 15060  }
 15061  
 15062  type RoleAssignmentsInsertCall struct {
 15063  	s              *Service
 15064  	customer       string
 15065  	roleassignment *RoleAssignment
 15066  	urlParams_     gensupport.URLParams
 15067  	ctx_           context.Context
 15068  	header_        http.Header
 15069  }
 15070  
 15071  // Insert: Creates a role assignment.
 15072  //
 15073  // - customer: Immutable ID of the Google Workspace account.
 15074  func (r *RoleAssignmentsService) Insert(customer string, roleassignment *RoleAssignment) *RoleAssignmentsInsertCall {
 15075  	c := &RoleAssignmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15076  	c.customer = customer
 15077  	c.roleassignment = roleassignment
 15078  	return c
 15079  }
 15080  
 15081  // Fields allows partial responses to be retrieved. See
 15082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15083  // details.
 15084  func (c *RoleAssignmentsInsertCall) Fields(s ...googleapi.Field) *RoleAssignmentsInsertCall {
 15085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15086  	return c
 15087  }
 15088  
 15089  // Context sets the context to be used in this call's Do method.
 15090  func (c *RoleAssignmentsInsertCall) Context(ctx context.Context) *RoleAssignmentsInsertCall {
 15091  	c.ctx_ = ctx
 15092  	return c
 15093  }
 15094  
 15095  // Header returns a http.Header that can be modified by the caller to add
 15096  // headers to the request.
 15097  func (c *RoleAssignmentsInsertCall) Header() http.Header {
 15098  	if c.header_ == nil {
 15099  		c.header_ = make(http.Header)
 15100  	}
 15101  	return c.header_
 15102  }
 15103  
 15104  func (c *RoleAssignmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 15105  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15106  	var body io.Reader = nil
 15107  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.roleassignment)
 15108  	if err != nil {
 15109  		return nil, err
 15110  	}
 15111  	c.urlParams_.Set("alt", alt)
 15112  	c.urlParams_.Set("prettyPrint", "false")
 15113  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roleassignments")
 15114  	urls += "?" + c.urlParams_.Encode()
 15115  	req, err := http.NewRequest("POST", urls, body)
 15116  	if err != nil {
 15117  		return nil, err
 15118  	}
 15119  	req.Header = reqHeaders
 15120  	googleapi.Expand(req.URL, map[string]string{
 15121  		"customer": c.customer,
 15122  	})
 15123  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15124  }
 15125  
 15126  // Do executes the "directory.roleAssignments.insert" call.
 15127  // Any non-2xx status code is an error. Response headers are in either
 15128  // *RoleAssignment.ServerResponse.Header or (if a response was returned at all)
 15129  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15130  // whether the returned error was because http.StatusNotModified was returned.
 15131  func (c *RoleAssignmentsInsertCall) Do(opts ...googleapi.CallOption) (*RoleAssignment, error) {
 15132  	gensupport.SetOptions(c.urlParams_, opts...)
 15133  	res, err := c.doRequest("json")
 15134  	if res != nil && res.StatusCode == http.StatusNotModified {
 15135  		if res.Body != nil {
 15136  			res.Body.Close()
 15137  		}
 15138  		return nil, gensupport.WrapError(&googleapi.Error{
 15139  			Code:   res.StatusCode,
 15140  			Header: res.Header,
 15141  		})
 15142  	}
 15143  	if err != nil {
 15144  		return nil, err
 15145  	}
 15146  	defer googleapi.CloseBody(res)
 15147  	if err := googleapi.CheckResponse(res); err != nil {
 15148  		return nil, gensupport.WrapError(err)
 15149  	}
 15150  	ret := &RoleAssignment{
 15151  		ServerResponse: googleapi.ServerResponse{
 15152  			Header:         res.Header,
 15153  			HTTPStatusCode: res.StatusCode,
 15154  		},
 15155  	}
 15156  	target := &ret
 15157  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15158  		return nil, err
 15159  	}
 15160  	return ret, nil
 15161  }
 15162  
 15163  type RoleAssignmentsListCall struct {
 15164  	s            *Service
 15165  	customer     string
 15166  	urlParams_   gensupport.URLParams
 15167  	ifNoneMatch_ string
 15168  	ctx_         context.Context
 15169  	header_      http.Header
 15170  }
 15171  
 15172  // List: Retrieves a paginated list of all roleAssignments.
 15173  //
 15174  //   - customer: The unique ID for the customer's Google Workspace account. In
 15175  //     case of a multi-domain account, to fetch all groups for a customer, use
 15176  //     this field instead of `domain`. You can also use the `my_customer` alias
 15177  //     to represent your account's `customerId`. The `customerId` is also
 15178  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 15179  //     resource. You must provide either the `customer` or the `domain`
 15180  //     parameter.
 15181  func (r *RoleAssignmentsService) List(customer string) *RoleAssignmentsListCall {
 15182  	c := &RoleAssignmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15183  	c.customer = customer
 15184  	return c
 15185  }
 15186  
 15187  // IncludeIndirectRoleAssignments sets the optional parameter
 15188  // "includeIndirectRoleAssignments": When set to `true`, fetches indirect role
 15189  // assignments (i.e. role assignment via a group) as well as direct ones.
 15190  // Defaults to `false`. You must specify `user_key` or the indirect role
 15191  // assignments will not be included.
 15192  func (c *RoleAssignmentsListCall) IncludeIndirectRoleAssignments(includeIndirectRoleAssignments bool) *RoleAssignmentsListCall {
 15193  	c.urlParams_.Set("includeIndirectRoleAssignments", fmt.Sprint(includeIndirectRoleAssignments))
 15194  	return c
 15195  }
 15196  
 15197  // MaxResults sets the optional parameter "maxResults": Maximum number of
 15198  // results to return.
 15199  func (c *RoleAssignmentsListCall) MaxResults(maxResults int64) *RoleAssignmentsListCall {
 15200  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15201  	return c
 15202  }
 15203  
 15204  // PageToken sets the optional parameter "pageToken": Token to specify the next
 15205  // page in the list.
 15206  func (c *RoleAssignmentsListCall) PageToken(pageToken string) *RoleAssignmentsListCall {
 15207  	c.urlParams_.Set("pageToken", pageToken)
 15208  	return c
 15209  }
 15210  
 15211  // RoleId sets the optional parameter "roleId": Immutable ID of a role. If
 15212  // included in the request, returns only role assignments containing this role
 15213  // ID.
 15214  func (c *RoleAssignmentsListCall) RoleId(roleId string) *RoleAssignmentsListCall {
 15215  	c.urlParams_.Set("roleId", roleId)
 15216  	return c
 15217  }
 15218  
 15219  // UserKey sets the optional parameter "userKey": The primary email address,
 15220  // alias email address, or unique user or group ID. If included in the request,
 15221  // returns role assignments only for this user or group.
 15222  func (c *RoleAssignmentsListCall) UserKey(userKey string) *RoleAssignmentsListCall {
 15223  	c.urlParams_.Set("userKey", userKey)
 15224  	return c
 15225  }
 15226  
 15227  // Fields allows partial responses to be retrieved. See
 15228  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15229  // details.
 15230  func (c *RoleAssignmentsListCall) Fields(s ...googleapi.Field) *RoleAssignmentsListCall {
 15231  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15232  	return c
 15233  }
 15234  
 15235  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15236  // object's ETag matches the given value. This is useful for getting updates
 15237  // only after the object has changed since the last request.
 15238  func (c *RoleAssignmentsListCall) IfNoneMatch(entityTag string) *RoleAssignmentsListCall {
 15239  	c.ifNoneMatch_ = entityTag
 15240  	return c
 15241  }
 15242  
 15243  // Context sets the context to be used in this call's Do method.
 15244  func (c *RoleAssignmentsListCall) Context(ctx context.Context) *RoleAssignmentsListCall {
 15245  	c.ctx_ = ctx
 15246  	return c
 15247  }
 15248  
 15249  // Header returns a http.Header that can be modified by the caller to add
 15250  // headers to the request.
 15251  func (c *RoleAssignmentsListCall) Header() http.Header {
 15252  	if c.header_ == nil {
 15253  		c.header_ = make(http.Header)
 15254  	}
 15255  	return c.header_
 15256  }
 15257  
 15258  func (c *RoleAssignmentsListCall) doRequest(alt string) (*http.Response, error) {
 15259  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15260  	if c.ifNoneMatch_ != "" {
 15261  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15262  	}
 15263  	var body io.Reader = nil
 15264  	c.urlParams_.Set("alt", alt)
 15265  	c.urlParams_.Set("prettyPrint", "false")
 15266  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roleassignments")
 15267  	urls += "?" + c.urlParams_.Encode()
 15268  	req, err := http.NewRequest("GET", urls, body)
 15269  	if err != nil {
 15270  		return nil, err
 15271  	}
 15272  	req.Header = reqHeaders
 15273  	googleapi.Expand(req.URL, map[string]string{
 15274  		"customer": c.customer,
 15275  	})
 15276  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15277  }
 15278  
 15279  // Do executes the "directory.roleAssignments.list" call.
 15280  // Any non-2xx status code is an error. Response headers are in either
 15281  // *RoleAssignments.ServerResponse.Header or (if a response was returned at
 15282  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15283  // check whether the returned error was because http.StatusNotModified was
 15284  // returned.
 15285  func (c *RoleAssignmentsListCall) Do(opts ...googleapi.CallOption) (*RoleAssignments, error) {
 15286  	gensupport.SetOptions(c.urlParams_, opts...)
 15287  	res, err := c.doRequest("json")
 15288  	if res != nil && res.StatusCode == http.StatusNotModified {
 15289  		if res.Body != nil {
 15290  			res.Body.Close()
 15291  		}
 15292  		return nil, gensupport.WrapError(&googleapi.Error{
 15293  			Code:   res.StatusCode,
 15294  			Header: res.Header,
 15295  		})
 15296  	}
 15297  	if err != nil {
 15298  		return nil, err
 15299  	}
 15300  	defer googleapi.CloseBody(res)
 15301  	if err := googleapi.CheckResponse(res); err != nil {
 15302  		return nil, gensupport.WrapError(err)
 15303  	}
 15304  	ret := &RoleAssignments{
 15305  		ServerResponse: googleapi.ServerResponse{
 15306  			Header:         res.Header,
 15307  			HTTPStatusCode: res.StatusCode,
 15308  		},
 15309  	}
 15310  	target := &ret
 15311  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15312  		return nil, err
 15313  	}
 15314  	return ret, nil
 15315  }
 15316  
 15317  // Pages invokes f for each page of results.
 15318  // A non-nil error returned from f will halt the iteration.
 15319  // The provided context supersedes any context provided to the Context method.
 15320  func (c *RoleAssignmentsListCall) Pages(ctx context.Context, f func(*RoleAssignments) error) error {
 15321  	c.ctx_ = ctx
 15322  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 15323  	for {
 15324  		x, err := c.Do()
 15325  		if err != nil {
 15326  			return err
 15327  		}
 15328  		if err := f(x); err != nil {
 15329  			return err
 15330  		}
 15331  		if x.NextPageToken == "" {
 15332  			return nil
 15333  		}
 15334  		c.PageToken(x.NextPageToken)
 15335  	}
 15336  }
 15337  
 15338  type RolesDeleteCall struct {
 15339  	s          *Service
 15340  	customer   string
 15341  	roleId     string
 15342  	urlParams_ gensupport.URLParams
 15343  	ctx_       context.Context
 15344  	header_    http.Header
 15345  }
 15346  
 15347  // Delete: Deletes a role.
 15348  //
 15349  // - customer: Immutable ID of the Google Workspace account.
 15350  // - roleId: Immutable ID of the role.
 15351  func (r *RolesService) Delete(customer string, roleId string) *RolesDeleteCall {
 15352  	c := &RolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15353  	c.customer = customer
 15354  	c.roleId = roleId
 15355  	return c
 15356  }
 15357  
 15358  // Fields allows partial responses to be retrieved. See
 15359  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15360  // details.
 15361  func (c *RolesDeleteCall) Fields(s ...googleapi.Field) *RolesDeleteCall {
 15362  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15363  	return c
 15364  }
 15365  
 15366  // Context sets the context to be used in this call's Do method.
 15367  func (c *RolesDeleteCall) Context(ctx context.Context) *RolesDeleteCall {
 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 *RolesDeleteCall) Header() http.Header {
 15375  	if c.header_ == nil {
 15376  		c.header_ = make(http.Header)
 15377  	}
 15378  	return c.header_
 15379  }
 15380  
 15381  func (c *RolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 15382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15383  	var body io.Reader = nil
 15384  	c.urlParams_.Set("alt", alt)
 15385  	c.urlParams_.Set("prettyPrint", "false")
 15386  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles/{roleId}")
 15387  	urls += "?" + c.urlParams_.Encode()
 15388  	req, err := http.NewRequest("DELETE", urls, body)
 15389  	if err != nil {
 15390  		return nil, err
 15391  	}
 15392  	req.Header = reqHeaders
 15393  	googleapi.Expand(req.URL, map[string]string{
 15394  		"customer": c.customer,
 15395  		"roleId":   c.roleId,
 15396  	})
 15397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15398  }
 15399  
 15400  // Do executes the "directory.roles.delete" call.
 15401  func (c *RolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 15402  	gensupport.SetOptions(c.urlParams_, opts...)
 15403  	res, err := c.doRequest("json")
 15404  	if err != nil {
 15405  		return err
 15406  	}
 15407  	defer googleapi.CloseBody(res)
 15408  	if err := googleapi.CheckResponse(res); err != nil {
 15409  		return gensupport.WrapError(err)
 15410  	}
 15411  	return nil
 15412  }
 15413  
 15414  type RolesGetCall struct {
 15415  	s            *Service
 15416  	customer     string
 15417  	roleId       string
 15418  	urlParams_   gensupport.URLParams
 15419  	ifNoneMatch_ string
 15420  	ctx_         context.Context
 15421  	header_      http.Header
 15422  }
 15423  
 15424  // Get: Retrieves a role.
 15425  //
 15426  //   - customer: The unique ID for the customer's Google Workspace account. In
 15427  //     case of a multi-domain account, to fetch all groups for a customer, use
 15428  //     this field instead of `domain`. You can also use the `my_customer` alias
 15429  //     to represent your account's `customerId`. The `customerId` is also
 15430  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 15431  //     resource. You must provide either the `customer` or the `domain`
 15432  //     parameter.
 15433  //   - roleId: Immutable ID of the role.
 15434  func (r *RolesService) Get(customer string, roleId string) *RolesGetCall {
 15435  	c := &RolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15436  	c.customer = customer
 15437  	c.roleId = roleId
 15438  	return c
 15439  }
 15440  
 15441  // Fields allows partial responses to be retrieved. See
 15442  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15443  // details.
 15444  func (c *RolesGetCall) Fields(s ...googleapi.Field) *RolesGetCall {
 15445  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15446  	return c
 15447  }
 15448  
 15449  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15450  // object's ETag matches the given value. This is useful for getting updates
 15451  // only after the object has changed since the last request.
 15452  func (c *RolesGetCall) IfNoneMatch(entityTag string) *RolesGetCall {
 15453  	c.ifNoneMatch_ = entityTag
 15454  	return c
 15455  }
 15456  
 15457  // Context sets the context to be used in this call's Do method.
 15458  func (c *RolesGetCall) Context(ctx context.Context) *RolesGetCall {
 15459  	c.ctx_ = ctx
 15460  	return c
 15461  }
 15462  
 15463  // Header returns a http.Header that can be modified by the caller to add
 15464  // headers to the request.
 15465  func (c *RolesGetCall) Header() http.Header {
 15466  	if c.header_ == nil {
 15467  		c.header_ = make(http.Header)
 15468  	}
 15469  	return c.header_
 15470  }
 15471  
 15472  func (c *RolesGetCall) doRequest(alt string) (*http.Response, error) {
 15473  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15474  	if c.ifNoneMatch_ != "" {
 15475  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15476  	}
 15477  	var body io.Reader = nil
 15478  	c.urlParams_.Set("alt", alt)
 15479  	c.urlParams_.Set("prettyPrint", "false")
 15480  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles/{roleId}")
 15481  	urls += "?" + c.urlParams_.Encode()
 15482  	req, err := http.NewRequest("GET", urls, body)
 15483  	if err != nil {
 15484  		return nil, err
 15485  	}
 15486  	req.Header = reqHeaders
 15487  	googleapi.Expand(req.URL, map[string]string{
 15488  		"customer": c.customer,
 15489  		"roleId":   c.roleId,
 15490  	})
 15491  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15492  }
 15493  
 15494  // Do executes the "directory.roles.get" call.
 15495  // Any non-2xx status code is an error. Response headers are in either
 15496  // *Role.ServerResponse.Header or (if a response was returned at all) in
 15497  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15498  // whether the returned error was because http.StatusNotModified was returned.
 15499  func (c *RolesGetCall) Do(opts ...googleapi.CallOption) (*Role, error) {
 15500  	gensupport.SetOptions(c.urlParams_, opts...)
 15501  	res, err := c.doRequest("json")
 15502  	if res != nil && res.StatusCode == http.StatusNotModified {
 15503  		if res.Body != nil {
 15504  			res.Body.Close()
 15505  		}
 15506  		return nil, gensupport.WrapError(&googleapi.Error{
 15507  			Code:   res.StatusCode,
 15508  			Header: res.Header,
 15509  		})
 15510  	}
 15511  	if err != nil {
 15512  		return nil, err
 15513  	}
 15514  	defer googleapi.CloseBody(res)
 15515  	if err := googleapi.CheckResponse(res); err != nil {
 15516  		return nil, gensupport.WrapError(err)
 15517  	}
 15518  	ret := &Role{
 15519  		ServerResponse: googleapi.ServerResponse{
 15520  			Header:         res.Header,
 15521  			HTTPStatusCode: res.StatusCode,
 15522  		},
 15523  	}
 15524  	target := &ret
 15525  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15526  		return nil, err
 15527  	}
 15528  	return ret, nil
 15529  }
 15530  
 15531  type RolesInsertCall struct {
 15532  	s          *Service
 15533  	customer   string
 15534  	role       *Role
 15535  	urlParams_ gensupport.URLParams
 15536  	ctx_       context.Context
 15537  	header_    http.Header
 15538  }
 15539  
 15540  // Insert: Creates a role.
 15541  //
 15542  // - customer: Immutable ID of the Google Workspace account.
 15543  func (r *RolesService) Insert(customer string, role *Role) *RolesInsertCall {
 15544  	c := &RolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15545  	c.customer = customer
 15546  	c.role = role
 15547  	return c
 15548  }
 15549  
 15550  // Fields allows partial responses to be retrieved. See
 15551  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15552  // details.
 15553  func (c *RolesInsertCall) Fields(s ...googleapi.Field) *RolesInsertCall {
 15554  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15555  	return c
 15556  }
 15557  
 15558  // Context sets the context to be used in this call's Do method.
 15559  func (c *RolesInsertCall) Context(ctx context.Context) *RolesInsertCall {
 15560  	c.ctx_ = ctx
 15561  	return c
 15562  }
 15563  
 15564  // Header returns a http.Header that can be modified by the caller to add
 15565  // headers to the request.
 15566  func (c *RolesInsertCall) Header() http.Header {
 15567  	if c.header_ == nil {
 15568  		c.header_ = make(http.Header)
 15569  	}
 15570  	return c.header_
 15571  }
 15572  
 15573  func (c *RolesInsertCall) doRequest(alt string) (*http.Response, error) {
 15574  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15575  	var body io.Reader = nil
 15576  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.role)
 15577  	if err != nil {
 15578  		return nil, err
 15579  	}
 15580  	c.urlParams_.Set("alt", alt)
 15581  	c.urlParams_.Set("prettyPrint", "false")
 15582  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles")
 15583  	urls += "?" + c.urlParams_.Encode()
 15584  	req, err := http.NewRequest("POST", urls, body)
 15585  	if err != nil {
 15586  		return nil, err
 15587  	}
 15588  	req.Header = reqHeaders
 15589  	googleapi.Expand(req.URL, map[string]string{
 15590  		"customer": c.customer,
 15591  	})
 15592  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15593  }
 15594  
 15595  // Do executes the "directory.roles.insert" call.
 15596  // Any non-2xx status code is an error. Response headers are in either
 15597  // *Role.ServerResponse.Header or (if a response was returned at all) in
 15598  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15599  // whether the returned error was because http.StatusNotModified was returned.
 15600  func (c *RolesInsertCall) Do(opts ...googleapi.CallOption) (*Role, error) {
 15601  	gensupport.SetOptions(c.urlParams_, opts...)
 15602  	res, err := c.doRequest("json")
 15603  	if res != nil && res.StatusCode == http.StatusNotModified {
 15604  		if res.Body != nil {
 15605  			res.Body.Close()
 15606  		}
 15607  		return nil, gensupport.WrapError(&googleapi.Error{
 15608  			Code:   res.StatusCode,
 15609  			Header: res.Header,
 15610  		})
 15611  	}
 15612  	if err != nil {
 15613  		return nil, err
 15614  	}
 15615  	defer googleapi.CloseBody(res)
 15616  	if err := googleapi.CheckResponse(res); err != nil {
 15617  		return nil, gensupport.WrapError(err)
 15618  	}
 15619  	ret := &Role{
 15620  		ServerResponse: googleapi.ServerResponse{
 15621  			Header:         res.Header,
 15622  			HTTPStatusCode: res.StatusCode,
 15623  		},
 15624  	}
 15625  	target := &ret
 15626  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15627  		return nil, err
 15628  	}
 15629  	return ret, nil
 15630  }
 15631  
 15632  type RolesListCall struct {
 15633  	s            *Service
 15634  	customer     string
 15635  	urlParams_   gensupport.URLParams
 15636  	ifNoneMatch_ string
 15637  	ctx_         context.Context
 15638  	header_      http.Header
 15639  }
 15640  
 15641  // List: Retrieves a paginated list of all the roles in a domain.
 15642  //
 15643  //   - customer: The unique ID for the customer's Google Workspace account. In
 15644  //     case of a multi-domain account, to fetch all groups for a customer, use
 15645  //     this field instead of `domain`. You can also use the `my_customer` alias
 15646  //     to represent your account's `customerId`. The `customerId` is also
 15647  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 15648  //     resource. You must provide either the `customer` or the `domain`
 15649  //     parameter.
 15650  func (r *RolesService) List(customer string) *RolesListCall {
 15651  	c := &RolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15652  	c.customer = customer
 15653  	return c
 15654  }
 15655  
 15656  // MaxResults sets the optional parameter "maxResults": Maximum number of
 15657  // results to return.
 15658  func (c *RolesListCall) MaxResults(maxResults int64) *RolesListCall {
 15659  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15660  	return c
 15661  }
 15662  
 15663  // PageToken sets the optional parameter "pageToken": Token to specify the next
 15664  // page in the list.
 15665  func (c *RolesListCall) PageToken(pageToken string) *RolesListCall {
 15666  	c.urlParams_.Set("pageToken", pageToken)
 15667  	return c
 15668  }
 15669  
 15670  // Fields allows partial responses to be retrieved. See
 15671  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15672  // details.
 15673  func (c *RolesListCall) Fields(s ...googleapi.Field) *RolesListCall {
 15674  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15675  	return c
 15676  }
 15677  
 15678  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15679  // object's ETag matches the given value. This is useful for getting updates
 15680  // only after the object has changed since the last request.
 15681  func (c *RolesListCall) IfNoneMatch(entityTag string) *RolesListCall {
 15682  	c.ifNoneMatch_ = entityTag
 15683  	return c
 15684  }
 15685  
 15686  // Context sets the context to be used in this call's Do method.
 15687  func (c *RolesListCall) Context(ctx context.Context) *RolesListCall {
 15688  	c.ctx_ = ctx
 15689  	return c
 15690  }
 15691  
 15692  // Header returns a http.Header that can be modified by the caller to add
 15693  // headers to the request.
 15694  func (c *RolesListCall) Header() http.Header {
 15695  	if c.header_ == nil {
 15696  		c.header_ = make(http.Header)
 15697  	}
 15698  	return c.header_
 15699  }
 15700  
 15701  func (c *RolesListCall) doRequest(alt string) (*http.Response, error) {
 15702  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15703  	if c.ifNoneMatch_ != "" {
 15704  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15705  	}
 15706  	var body io.Reader = nil
 15707  	c.urlParams_.Set("alt", alt)
 15708  	c.urlParams_.Set("prettyPrint", "false")
 15709  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles")
 15710  	urls += "?" + c.urlParams_.Encode()
 15711  	req, err := http.NewRequest("GET", urls, body)
 15712  	if err != nil {
 15713  		return nil, err
 15714  	}
 15715  	req.Header = reqHeaders
 15716  	googleapi.Expand(req.URL, map[string]string{
 15717  		"customer": c.customer,
 15718  	})
 15719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15720  }
 15721  
 15722  // Do executes the "directory.roles.list" call.
 15723  // Any non-2xx status code is an error. Response headers are in either
 15724  // *Roles.ServerResponse.Header or (if a response was returned at all) in
 15725  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15726  // whether the returned error was because http.StatusNotModified was returned.
 15727  func (c *RolesListCall) Do(opts ...googleapi.CallOption) (*Roles, error) {
 15728  	gensupport.SetOptions(c.urlParams_, opts...)
 15729  	res, err := c.doRequest("json")
 15730  	if res != nil && res.StatusCode == http.StatusNotModified {
 15731  		if res.Body != nil {
 15732  			res.Body.Close()
 15733  		}
 15734  		return nil, gensupport.WrapError(&googleapi.Error{
 15735  			Code:   res.StatusCode,
 15736  			Header: res.Header,
 15737  		})
 15738  	}
 15739  	if err != nil {
 15740  		return nil, err
 15741  	}
 15742  	defer googleapi.CloseBody(res)
 15743  	if err := googleapi.CheckResponse(res); err != nil {
 15744  		return nil, gensupport.WrapError(err)
 15745  	}
 15746  	ret := &Roles{
 15747  		ServerResponse: googleapi.ServerResponse{
 15748  			Header:         res.Header,
 15749  			HTTPStatusCode: res.StatusCode,
 15750  		},
 15751  	}
 15752  	target := &ret
 15753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15754  		return nil, err
 15755  	}
 15756  	return ret, nil
 15757  }
 15758  
 15759  // Pages invokes f for each page of results.
 15760  // A non-nil error returned from f will halt the iteration.
 15761  // The provided context supersedes any context provided to the Context method.
 15762  func (c *RolesListCall) Pages(ctx context.Context, f func(*Roles) error) error {
 15763  	c.ctx_ = ctx
 15764  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 15765  	for {
 15766  		x, err := c.Do()
 15767  		if err != nil {
 15768  			return err
 15769  		}
 15770  		if err := f(x); err != nil {
 15771  			return err
 15772  		}
 15773  		if x.NextPageToken == "" {
 15774  			return nil
 15775  		}
 15776  		c.PageToken(x.NextPageToken)
 15777  	}
 15778  }
 15779  
 15780  type RolesPatchCall struct {
 15781  	s          *Service
 15782  	customer   string
 15783  	roleId     string
 15784  	role       *Role
 15785  	urlParams_ gensupport.URLParams
 15786  	ctx_       context.Context
 15787  	header_    http.Header
 15788  }
 15789  
 15790  // Patch: Patches a role.
 15791  //
 15792  // - customer: Immutable ID of the Google Workspace account.
 15793  // - roleId: Immutable ID of the role.
 15794  func (r *RolesService) Patch(customer string, roleId string, role *Role) *RolesPatchCall {
 15795  	c := &RolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15796  	c.customer = customer
 15797  	c.roleId = roleId
 15798  	c.role = role
 15799  	return c
 15800  }
 15801  
 15802  // Fields allows partial responses to be retrieved. See
 15803  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15804  // details.
 15805  func (c *RolesPatchCall) Fields(s ...googleapi.Field) *RolesPatchCall {
 15806  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15807  	return c
 15808  }
 15809  
 15810  // Context sets the context to be used in this call's Do method.
 15811  func (c *RolesPatchCall) Context(ctx context.Context) *RolesPatchCall {
 15812  	c.ctx_ = ctx
 15813  	return c
 15814  }
 15815  
 15816  // Header returns a http.Header that can be modified by the caller to add
 15817  // headers to the request.
 15818  func (c *RolesPatchCall) Header() http.Header {
 15819  	if c.header_ == nil {
 15820  		c.header_ = make(http.Header)
 15821  	}
 15822  	return c.header_
 15823  }
 15824  
 15825  func (c *RolesPatchCall) doRequest(alt string) (*http.Response, error) {
 15826  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15827  	var body io.Reader = nil
 15828  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.role)
 15829  	if err != nil {
 15830  		return nil, err
 15831  	}
 15832  	c.urlParams_.Set("alt", alt)
 15833  	c.urlParams_.Set("prettyPrint", "false")
 15834  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles/{roleId}")
 15835  	urls += "?" + c.urlParams_.Encode()
 15836  	req, err := http.NewRequest("PATCH", urls, body)
 15837  	if err != nil {
 15838  		return nil, err
 15839  	}
 15840  	req.Header = reqHeaders
 15841  	googleapi.Expand(req.URL, map[string]string{
 15842  		"customer": c.customer,
 15843  		"roleId":   c.roleId,
 15844  	})
 15845  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15846  }
 15847  
 15848  // Do executes the "directory.roles.patch" call.
 15849  // Any non-2xx status code is an error. Response headers are in either
 15850  // *Role.ServerResponse.Header or (if a response was returned at all) in
 15851  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15852  // whether the returned error was because http.StatusNotModified was returned.
 15853  func (c *RolesPatchCall) Do(opts ...googleapi.CallOption) (*Role, error) {
 15854  	gensupport.SetOptions(c.urlParams_, opts...)
 15855  	res, err := c.doRequest("json")
 15856  	if res != nil && res.StatusCode == http.StatusNotModified {
 15857  		if res.Body != nil {
 15858  			res.Body.Close()
 15859  		}
 15860  		return nil, gensupport.WrapError(&googleapi.Error{
 15861  			Code:   res.StatusCode,
 15862  			Header: res.Header,
 15863  		})
 15864  	}
 15865  	if err != nil {
 15866  		return nil, err
 15867  	}
 15868  	defer googleapi.CloseBody(res)
 15869  	if err := googleapi.CheckResponse(res); err != nil {
 15870  		return nil, gensupport.WrapError(err)
 15871  	}
 15872  	ret := &Role{
 15873  		ServerResponse: googleapi.ServerResponse{
 15874  			Header:         res.Header,
 15875  			HTTPStatusCode: res.StatusCode,
 15876  		},
 15877  	}
 15878  	target := &ret
 15879  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15880  		return nil, err
 15881  	}
 15882  	return ret, nil
 15883  }
 15884  
 15885  type RolesUpdateCall struct {
 15886  	s          *Service
 15887  	customer   string
 15888  	roleId     string
 15889  	role       *Role
 15890  	urlParams_ gensupport.URLParams
 15891  	ctx_       context.Context
 15892  	header_    http.Header
 15893  }
 15894  
 15895  // Update: Updates a role.
 15896  //
 15897  // - customer: Immutable ID of the Google Workspace account.
 15898  // - roleId: Immutable ID of the role.
 15899  func (r *RolesService) Update(customer string, roleId string, role *Role) *RolesUpdateCall {
 15900  	c := &RolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15901  	c.customer = customer
 15902  	c.roleId = roleId
 15903  	c.role = role
 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 *RolesUpdateCall) Fields(s ...googleapi.Field) *RolesUpdateCall {
 15911  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15912  	return c
 15913  }
 15914  
 15915  // Context sets the context to be used in this call's Do method.
 15916  func (c *RolesUpdateCall) Context(ctx context.Context) *RolesUpdateCall {
 15917  	c.ctx_ = ctx
 15918  	return c
 15919  }
 15920  
 15921  // Header returns a http.Header that can be modified by the caller to add
 15922  // headers to the request.
 15923  func (c *RolesUpdateCall) Header() http.Header {
 15924  	if c.header_ == nil {
 15925  		c.header_ = make(http.Header)
 15926  	}
 15927  	return c.header_
 15928  }
 15929  
 15930  func (c *RolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15931  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15932  	var body io.Reader = nil
 15933  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.role)
 15934  	if err != nil {
 15935  		return nil, err
 15936  	}
 15937  	c.urlParams_.Set("alt", alt)
 15938  	c.urlParams_.Set("prettyPrint", "false")
 15939  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customer}/roles/{roleId}")
 15940  	urls += "?" + c.urlParams_.Encode()
 15941  	req, err := http.NewRequest("PUT", urls, body)
 15942  	if err != nil {
 15943  		return nil, err
 15944  	}
 15945  	req.Header = reqHeaders
 15946  	googleapi.Expand(req.URL, map[string]string{
 15947  		"customer": c.customer,
 15948  		"roleId":   c.roleId,
 15949  	})
 15950  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15951  }
 15952  
 15953  // Do executes the "directory.roles.update" call.
 15954  // Any non-2xx status code is an error. Response headers are in either
 15955  // *Role.ServerResponse.Header or (if a response was returned at all) in
 15956  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15957  // whether the returned error was because http.StatusNotModified was returned.
 15958  func (c *RolesUpdateCall) Do(opts ...googleapi.CallOption) (*Role, error) {
 15959  	gensupport.SetOptions(c.urlParams_, opts...)
 15960  	res, err := c.doRequest("json")
 15961  	if res != nil && res.StatusCode == http.StatusNotModified {
 15962  		if res.Body != nil {
 15963  			res.Body.Close()
 15964  		}
 15965  		return nil, gensupport.WrapError(&googleapi.Error{
 15966  			Code:   res.StatusCode,
 15967  			Header: res.Header,
 15968  		})
 15969  	}
 15970  	if err != nil {
 15971  		return nil, err
 15972  	}
 15973  	defer googleapi.CloseBody(res)
 15974  	if err := googleapi.CheckResponse(res); err != nil {
 15975  		return nil, gensupport.WrapError(err)
 15976  	}
 15977  	ret := &Role{
 15978  		ServerResponse: googleapi.ServerResponse{
 15979  			Header:         res.Header,
 15980  			HTTPStatusCode: res.StatusCode,
 15981  		},
 15982  	}
 15983  	target := &ret
 15984  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15985  		return nil, err
 15986  	}
 15987  	return ret, nil
 15988  }
 15989  
 15990  type SchemasDeleteCall struct {
 15991  	s          *Service
 15992  	customerId string
 15993  	schemaKey  string
 15994  	urlParams_ gensupport.URLParams
 15995  	ctx_       context.Context
 15996  	header_    http.Header
 15997  }
 15998  
 15999  // Delete: Deletes a schema.
 16000  //
 16001  // - customerId: Immutable ID of the Google Workspace account.
 16002  // - schemaKey: Name or immutable ID of the schema.
 16003  func (r *SchemasService) Delete(customerId string, schemaKey string) *SchemasDeleteCall {
 16004  	c := &SchemasDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16005  	c.customerId = customerId
 16006  	c.schemaKey = schemaKey
 16007  	return c
 16008  }
 16009  
 16010  // Fields allows partial responses to be retrieved. See
 16011  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16012  // details.
 16013  func (c *SchemasDeleteCall) Fields(s ...googleapi.Field) *SchemasDeleteCall {
 16014  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16015  	return c
 16016  }
 16017  
 16018  // Context sets the context to be used in this call's Do method.
 16019  func (c *SchemasDeleteCall) Context(ctx context.Context) *SchemasDeleteCall {
 16020  	c.ctx_ = ctx
 16021  	return c
 16022  }
 16023  
 16024  // Header returns a http.Header that can be modified by the caller to add
 16025  // headers to the request.
 16026  func (c *SchemasDeleteCall) Header() http.Header {
 16027  	if c.header_ == nil {
 16028  		c.header_ = make(http.Header)
 16029  	}
 16030  	return c.header_
 16031  }
 16032  
 16033  func (c *SchemasDeleteCall) doRequest(alt string) (*http.Response, error) {
 16034  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16035  	var body io.Reader = nil
 16036  	c.urlParams_.Set("alt", alt)
 16037  	c.urlParams_.Set("prettyPrint", "false")
 16038  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}")
 16039  	urls += "?" + c.urlParams_.Encode()
 16040  	req, err := http.NewRequest("DELETE", urls, body)
 16041  	if err != nil {
 16042  		return nil, err
 16043  	}
 16044  	req.Header = reqHeaders
 16045  	googleapi.Expand(req.URL, map[string]string{
 16046  		"customerId": c.customerId,
 16047  		"schemaKey":  c.schemaKey,
 16048  	})
 16049  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16050  }
 16051  
 16052  // Do executes the "directory.schemas.delete" call.
 16053  func (c *SchemasDeleteCall) Do(opts ...googleapi.CallOption) error {
 16054  	gensupport.SetOptions(c.urlParams_, opts...)
 16055  	res, err := c.doRequest("json")
 16056  	if err != nil {
 16057  		return err
 16058  	}
 16059  	defer googleapi.CloseBody(res)
 16060  	if err := googleapi.CheckResponse(res); err != nil {
 16061  		return gensupport.WrapError(err)
 16062  	}
 16063  	return nil
 16064  }
 16065  
 16066  type SchemasGetCall struct {
 16067  	s            *Service
 16068  	customerId   string
 16069  	schemaKey    string
 16070  	urlParams_   gensupport.URLParams
 16071  	ifNoneMatch_ string
 16072  	ctx_         context.Context
 16073  	header_      http.Header
 16074  }
 16075  
 16076  // Get: Retrieves a schema.
 16077  //
 16078  //   - customerId: The unique ID for the customer's Google Workspace account. In
 16079  //     case of a multi-domain account, to fetch all groups for a customer, use
 16080  //     this field instead of `domain`. You can also use the `my_customer` alias
 16081  //     to represent your account's `customerId`. The `customerId` is also
 16082  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 16083  //     resource. You must provide either the `customer` or the `domain`
 16084  //     parameter.
 16085  //   - schemaKey: Name or immutable ID of the schema.
 16086  func (r *SchemasService) Get(customerId string, schemaKey string) *SchemasGetCall {
 16087  	c := &SchemasGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16088  	c.customerId = customerId
 16089  	c.schemaKey = schemaKey
 16090  	return c
 16091  }
 16092  
 16093  // Fields allows partial responses to be retrieved. See
 16094  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16095  // details.
 16096  func (c *SchemasGetCall) Fields(s ...googleapi.Field) *SchemasGetCall {
 16097  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16098  	return c
 16099  }
 16100  
 16101  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16102  // object's ETag matches the given value. This is useful for getting updates
 16103  // only after the object has changed since the last request.
 16104  func (c *SchemasGetCall) IfNoneMatch(entityTag string) *SchemasGetCall {
 16105  	c.ifNoneMatch_ = entityTag
 16106  	return c
 16107  }
 16108  
 16109  // Context sets the context to be used in this call's Do method.
 16110  func (c *SchemasGetCall) Context(ctx context.Context) *SchemasGetCall {
 16111  	c.ctx_ = ctx
 16112  	return c
 16113  }
 16114  
 16115  // Header returns a http.Header that can be modified by the caller to add
 16116  // headers to the request.
 16117  func (c *SchemasGetCall) Header() http.Header {
 16118  	if c.header_ == nil {
 16119  		c.header_ = make(http.Header)
 16120  	}
 16121  	return c.header_
 16122  }
 16123  
 16124  func (c *SchemasGetCall) doRequest(alt string) (*http.Response, error) {
 16125  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16126  	if c.ifNoneMatch_ != "" {
 16127  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16128  	}
 16129  	var body io.Reader = nil
 16130  	c.urlParams_.Set("alt", alt)
 16131  	c.urlParams_.Set("prettyPrint", "false")
 16132  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}")
 16133  	urls += "?" + c.urlParams_.Encode()
 16134  	req, err := http.NewRequest("GET", urls, body)
 16135  	if err != nil {
 16136  		return nil, err
 16137  	}
 16138  	req.Header = reqHeaders
 16139  	googleapi.Expand(req.URL, map[string]string{
 16140  		"customerId": c.customerId,
 16141  		"schemaKey":  c.schemaKey,
 16142  	})
 16143  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16144  }
 16145  
 16146  // Do executes the "directory.schemas.get" call.
 16147  // Any non-2xx status code is an error. Response headers are in either
 16148  // *Schema.ServerResponse.Header or (if a response was returned at all) in
 16149  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16150  // whether the returned error was because http.StatusNotModified was returned.
 16151  func (c *SchemasGetCall) Do(opts ...googleapi.CallOption) (*Schema, error) {
 16152  	gensupport.SetOptions(c.urlParams_, opts...)
 16153  	res, err := c.doRequest("json")
 16154  	if res != nil && res.StatusCode == http.StatusNotModified {
 16155  		if res.Body != nil {
 16156  			res.Body.Close()
 16157  		}
 16158  		return nil, gensupport.WrapError(&googleapi.Error{
 16159  			Code:   res.StatusCode,
 16160  			Header: res.Header,
 16161  		})
 16162  	}
 16163  	if err != nil {
 16164  		return nil, err
 16165  	}
 16166  	defer googleapi.CloseBody(res)
 16167  	if err := googleapi.CheckResponse(res); err != nil {
 16168  		return nil, gensupport.WrapError(err)
 16169  	}
 16170  	ret := &Schema{
 16171  		ServerResponse: googleapi.ServerResponse{
 16172  			Header:         res.Header,
 16173  			HTTPStatusCode: res.StatusCode,
 16174  		},
 16175  	}
 16176  	target := &ret
 16177  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16178  		return nil, err
 16179  	}
 16180  	return ret, nil
 16181  }
 16182  
 16183  type SchemasInsertCall struct {
 16184  	s          *Service
 16185  	customerId string
 16186  	schema     *Schema
 16187  	urlParams_ gensupport.URLParams
 16188  	ctx_       context.Context
 16189  	header_    http.Header
 16190  }
 16191  
 16192  // Insert: Creates a schema.
 16193  //
 16194  // - customerId: Immutable ID of the Google Workspace account.
 16195  func (r *SchemasService) Insert(customerId string, schema *Schema) *SchemasInsertCall {
 16196  	c := &SchemasInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16197  	c.customerId = customerId
 16198  	c.schema = schema
 16199  	return c
 16200  }
 16201  
 16202  // Fields allows partial responses to be retrieved. See
 16203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16204  // details.
 16205  func (c *SchemasInsertCall) Fields(s ...googleapi.Field) *SchemasInsertCall {
 16206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16207  	return c
 16208  }
 16209  
 16210  // Context sets the context to be used in this call's Do method.
 16211  func (c *SchemasInsertCall) Context(ctx context.Context) *SchemasInsertCall {
 16212  	c.ctx_ = ctx
 16213  	return c
 16214  }
 16215  
 16216  // Header returns a http.Header that can be modified by the caller to add
 16217  // headers to the request.
 16218  func (c *SchemasInsertCall) Header() http.Header {
 16219  	if c.header_ == nil {
 16220  		c.header_ = make(http.Header)
 16221  	}
 16222  	return c.header_
 16223  }
 16224  
 16225  func (c *SchemasInsertCall) doRequest(alt string) (*http.Response, error) {
 16226  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16227  	var body io.Reader = nil
 16228  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.schema)
 16229  	if err != nil {
 16230  		return nil, err
 16231  	}
 16232  	c.urlParams_.Set("alt", alt)
 16233  	c.urlParams_.Set("prettyPrint", "false")
 16234  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas")
 16235  	urls += "?" + c.urlParams_.Encode()
 16236  	req, err := http.NewRequest("POST", urls, body)
 16237  	if err != nil {
 16238  		return nil, err
 16239  	}
 16240  	req.Header = reqHeaders
 16241  	googleapi.Expand(req.URL, map[string]string{
 16242  		"customerId": c.customerId,
 16243  	})
 16244  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16245  }
 16246  
 16247  // Do executes the "directory.schemas.insert" call.
 16248  // Any non-2xx status code is an error. Response headers are in either
 16249  // *Schema.ServerResponse.Header or (if a response was returned at all) in
 16250  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16251  // whether the returned error was because http.StatusNotModified was returned.
 16252  func (c *SchemasInsertCall) Do(opts ...googleapi.CallOption) (*Schema, error) {
 16253  	gensupport.SetOptions(c.urlParams_, opts...)
 16254  	res, err := c.doRequest("json")
 16255  	if res != nil && res.StatusCode == http.StatusNotModified {
 16256  		if res.Body != nil {
 16257  			res.Body.Close()
 16258  		}
 16259  		return nil, gensupport.WrapError(&googleapi.Error{
 16260  			Code:   res.StatusCode,
 16261  			Header: res.Header,
 16262  		})
 16263  	}
 16264  	if err != nil {
 16265  		return nil, err
 16266  	}
 16267  	defer googleapi.CloseBody(res)
 16268  	if err := googleapi.CheckResponse(res); err != nil {
 16269  		return nil, gensupport.WrapError(err)
 16270  	}
 16271  	ret := &Schema{
 16272  		ServerResponse: googleapi.ServerResponse{
 16273  			Header:         res.Header,
 16274  			HTTPStatusCode: res.StatusCode,
 16275  		},
 16276  	}
 16277  	target := &ret
 16278  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16279  		return nil, err
 16280  	}
 16281  	return ret, nil
 16282  }
 16283  
 16284  type SchemasListCall struct {
 16285  	s            *Service
 16286  	customerId   string
 16287  	urlParams_   gensupport.URLParams
 16288  	ifNoneMatch_ string
 16289  	ctx_         context.Context
 16290  	header_      http.Header
 16291  }
 16292  
 16293  // List: Retrieves all schemas for a customer.
 16294  //
 16295  //   - customerId: The unique ID for the customer's Google Workspace account. In
 16296  //     case of a multi-domain account, to fetch all groups for a customer, use
 16297  //     this field instead of `domain`. You can also use the `my_customer` alias
 16298  //     to represent your account's `customerId`. The `customerId` is also
 16299  //     returned as part of the Users (/admin-sdk/directory/v1/reference/users)
 16300  //     resource. You must provide either the `customer` or the `domain`
 16301  //     parameter.
 16302  func (r *SchemasService) List(customerId string) *SchemasListCall {
 16303  	c := &SchemasListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16304  	c.customerId = customerId
 16305  	return c
 16306  }
 16307  
 16308  // Fields allows partial responses to be retrieved. See
 16309  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16310  // details.
 16311  func (c *SchemasListCall) Fields(s ...googleapi.Field) *SchemasListCall {
 16312  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16313  	return c
 16314  }
 16315  
 16316  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16317  // object's ETag matches the given value. This is useful for getting updates
 16318  // only after the object has changed since the last request.
 16319  func (c *SchemasListCall) IfNoneMatch(entityTag string) *SchemasListCall {
 16320  	c.ifNoneMatch_ = entityTag
 16321  	return c
 16322  }
 16323  
 16324  // Context sets the context to be used in this call's Do method.
 16325  func (c *SchemasListCall) Context(ctx context.Context) *SchemasListCall {
 16326  	c.ctx_ = ctx
 16327  	return c
 16328  }
 16329  
 16330  // Header returns a http.Header that can be modified by the caller to add
 16331  // headers to the request.
 16332  func (c *SchemasListCall) Header() http.Header {
 16333  	if c.header_ == nil {
 16334  		c.header_ = make(http.Header)
 16335  	}
 16336  	return c.header_
 16337  }
 16338  
 16339  func (c *SchemasListCall) doRequest(alt string) (*http.Response, error) {
 16340  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16341  	if c.ifNoneMatch_ != "" {
 16342  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16343  	}
 16344  	var body io.Reader = nil
 16345  	c.urlParams_.Set("alt", alt)
 16346  	c.urlParams_.Set("prettyPrint", "false")
 16347  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas")
 16348  	urls += "?" + c.urlParams_.Encode()
 16349  	req, err := http.NewRequest("GET", urls, body)
 16350  	if err != nil {
 16351  		return nil, err
 16352  	}
 16353  	req.Header = reqHeaders
 16354  	googleapi.Expand(req.URL, map[string]string{
 16355  		"customerId": c.customerId,
 16356  	})
 16357  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16358  }
 16359  
 16360  // Do executes the "directory.schemas.list" call.
 16361  // Any non-2xx status code is an error. Response headers are in either
 16362  // *Schemas.ServerResponse.Header or (if a response was returned at all) in
 16363  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16364  // whether the returned error was because http.StatusNotModified was returned.
 16365  func (c *SchemasListCall) Do(opts ...googleapi.CallOption) (*Schemas, error) {
 16366  	gensupport.SetOptions(c.urlParams_, opts...)
 16367  	res, err := c.doRequest("json")
 16368  	if res != nil && res.StatusCode == http.StatusNotModified {
 16369  		if res.Body != nil {
 16370  			res.Body.Close()
 16371  		}
 16372  		return nil, gensupport.WrapError(&googleapi.Error{
 16373  			Code:   res.StatusCode,
 16374  			Header: res.Header,
 16375  		})
 16376  	}
 16377  	if err != nil {
 16378  		return nil, err
 16379  	}
 16380  	defer googleapi.CloseBody(res)
 16381  	if err := googleapi.CheckResponse(res); err != nil {
 16382  		return nil, gensupport.WrapError(err)
 16383  	}
 16384  	ret := &Schemas{
 16385  		ServerResponse: googleapi.ServerResponse{
 16386  			Header:         res.Header,
 16387  			HTTPStatusCode: res.StatusCode,
 16388  		},
 16389  	}
 16390  	target := &ret
 16391  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16392  		return nil, err
 16393  	}
 16394  	return ret, nil
 16395  }
 16396  
 16397  type SchemasPatchCall struct {
 16398  	s          *Service
 16399  	customerId string
 16400  	schemaKey  string
 16401  	schema     *Schema
 16402  	urlParams_ gensupport.URLParams
 16403  	ctx_       context.Context
 16404  	header_    http.Header
 16405  }
 16406  
 16407  // Patch: Patches a schema.
 16408  //
 16409  // - customerId: Immutable ID of the Google Workspace account.
 16410  // - schemaKey: Name or immutable ID of the schema.
 16411  func (r *SchemasService) Patch(customerId string, schemaKey string, schema *Schema) *SchemasPatchCall {
 16412  	c := &SchemasPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16413  	c.customerId = customerId
 16414  	c.schemaKey = schemaKey
 16415  	c.schema = schema
 16416  	return c
 16417  }
 16418  
 16419  // Fields allows partial responses to be retrieved. See
 16420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16421  // details.
 16422  func (c *SchemasPatchCall) Fields(s ...googleapi.Field) *SchemasPatchCall {
 16423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16424  	return c
 16425  }
 16426  
 16427  // Context sets the context to be used in this call's Do method.
 16428  func (c *SchemasPatchCall) Context(ctx context.Context) *SchemasPatchCall {
 16429  	c.ctx_ = ctx
 16430  	return c
 16431  }
 16432  
 16433  // Header returns a http.Header that can be modified by the caller to add
 16434  // headers to the request.
 16435  func (c *SchemasPatchCall) Header() http.Header {
 16436  	if c.header_ == nil {
 16437  		c.header_ = make(http.Header)
 16438  	}
 16439  	return c.header_
 16440  }
 16441  
 16442  func (c *SchemasPatchCall) doRequest(alt string) (*http.Response, error) {
 16443  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16444  	var body io.Reader = nil
 16445  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.schema)
 16446  	if err != nil {
 16447  		return nil, err
 16448  	}
 16449  	c.urlParams_.Set("alt", alt)
 16450  	c.urlParams_.Set("prettyPrint", "false")
 16451  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}")
 16452  	urls += "?" + c.urlParams_.Encode()
 16453  	req, err := http.NewRequest("PATCH", urls, body)
 16454  	if err != nil {
 16455  		return nil, err
 16456  	}
 16457  	req.Header = reqHeaders
 16458  	googleapi.Expand(req.URL, map[string]string{
 16459  		"customerId": c.customerId,
 16460  		"schemaKey":  c.schemaKey,
 16461  	})
 16462  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16463  }
 16464  
 16465  // Do executes the "directory.schemas.patch" call.
 16466  // Any non-2xx status code is an error. Response headers are in either
 16467  // *Schema.ServerResponse.Header or (if a response was returned at all) in
 16468  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16469  // whether the returned error was because http.StatusNotModified was returned.
 16470  func (c *SchemasPatchCall) Do(opts ...googleapi.CallOption) (*Schema, error) {
 16471  	gensupport.SetOptions(c.urlParams_, opts...)
 16472  	res, err := c.doRequest("json")
 16473  	if res != nil && res.StatusCode == http.StatusNotModified {
 16474  		if res.Body != nil {
 16475  			res.Body.Close()
 16476  		}
 16477  		return nil, gensupport.WrapError(&googleapi.Error{
 16478  			Code:   res.StatusCode,
 16479  			Header: res.Header,
 16480  		})
 16481  	}
 16482  	if err != nil {
 16483  		return nil, err
 16484  	}
 16485  	defer googleapi.CloseBody(res)
 16486  	if err := googleapi.CheckResponse(res); err != nil {
 16487  		return nil, gensupport.WrapError(err)
 16488  	}
 16489  	ret := &Schema{
 16490  		ServerResponse: googleapi.ServerResponse{
 16491  			Header:         res.Header,
 16492  			HTTPStatusCode: res.StatusCode,
 16493  		},
 16494  	}
 16495  	target := &ret
 16496  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16497  		return nil, err
 16498  	}
 16499  	return ret, nil
 16500  }
 16501  
 16502  type SchemasUpdateCall struct {
 16503  	s          *Service
 16504  	customerId string
 16505  	schemaKey  string
 16506  	schema     *Schema
 16507  	urlParams_ gensupport.URLParams
 16508  	ctx_       context.Context
 16509  	header_    http.Header
 16510  }
 16511  
 16512  // Update: Updates a schema.
 16513  //
 16514  // - customerId: Immutable ID of the Google Workspace account.
 16515  // - schemaKey: Name or immutable ID of the schema.
 16516  func (r *SchemasService) Update(customerId string, schemaKey string, schema *Schema) *SchemasUpdateCall {
 16517  	c := &SchemasUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16518  	c.customerId = customerId
 16519  	c.schemaKey = schemaKey
 16520  	c.schema = schema
 16521  	return c
 16522  }
 16523  
 16524  // Fields allows partial responses to be retrieved. See
 16525  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16526  // details.
 16527  func (c *SchemasUpdateCall) Fields(s ...googleapi.Field) *SchemasUpdateCall {
 16528  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16529  	return c
 16530  }
 16531  
 16532  // Context sets the context to be used in this call's Do method.
 16533  func (c *SchemasUpdateCall) Context(ctx context.Context) *SchemasUpdateCall {
 16534  	c.ctx_ = ctx
 16535  	return c
 16536  }
 16537  
 16538  // Header returns a http.Header that can be modified by the caller to add
 16539  // headers to the request.
 16540  func (c *SchemasUpdateCall) Header() http.Header {
 16541  	if c.header_ == nil {
 16542  		c.header_ = make(http.Header)
 16543  	}
 16544  	return c.header_
 16545  }
 16546  
 16547  func (c *SchemasUpdateCall) doRequest(alt string) (*http.Response, error) {
 16548  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16549  	var body io.Reader = nil
 16550  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.schema)
 16551  	if err != nil {
 16552  		return nil, err
 16553  	}
 16554  	c.urlParams_.Set("alt", alt)
 16555  	c.urlParams_.Set("prettyPrint", "false")
 16556  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}")
 16557  	urls += "?" + c.urlParams_.Encode()
 16558  	req, err := http.NewRequest("PUT", urls, body)
 16559  	if err != nil {
 16560  		return nil, err
 16561  	}
 16562  	req.Header = reqHeaders
 16563  	googleapi.Expand(req.URL, map[string]string{
 16564  		"customerId": c.customerId,
 16565  		"schemaKey":  c.schemaKey,
 16566  	})
 16567  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16568  }
 16569  
 16570  // Do executes the "directory.schemas.update" call.
 16571  // Any non-2xx status code is an error. Response headers are in either
 16572  // *Schema.ServerResponse.Header or (if a response was returned at all) in
 16573  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16574  // whether the returned error was because http.StatusNotModified was returned.
 16575  func (c *SchemasUpdateCall) Do(opts ...googleapi.CallOption) (*Schema, error) {
 16576  	gensupport.SetOptions(c.urlParams_, opts...)
 16577  	res, err := c.doRequest("json")
 16578  	if res != nil && res.StatusCode == http.StatusNotModified {
 16579  		if res.Body != nil {
 16580  			res.Body.Close()
 16581  		}
 16582  		return nil, gensupport.WrapError(&googleapi.Error{
 16583  			Code:   res.StatusCode,
 16584  			Header: res.Header,
 16585  		})
 16586  	}
 16587  	if err != nil {
 16588  		return nil, err
 16589  	}
 16590  	defer googleapi.CloseBody(res)
 16591  	if err := googleapi.CheckResponse(res); err != nil {
 16592  		return nil, gensupport.WrapError(err)
 16593  	}
 16594  	ret := &Schema{
 16595  		ServerResponse: googleapi.ServerResponse{
 16596  			Header:         res.Header,
 16597  			HTTPStatusCode: res.StatusCode,
 16598  		},
 16599  	}
 16600  	target := &ret
 16601  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16602  		return nil, err
 16603  	}
 16604  	return ret, nil
 16605  }
 16606  
 16607  type TokensDeleteCall struct {
 16608  	s          *Service
 16609  	userKey    string
 16610  	clientId   string
 16611  	urlParams_ gensupport.URLParams
 16612  	ctx_       context.Context
 16613  	header_    http.Header
 16614  }
 16615  
 16616  // Delete: Deletes all access tokens issued by a user for an application.
 16617  //
 16618  //   - clientId: The Client ID of the application the token is issued to.
 16619  //   - userKey: Identifies the user in the API request. The value can be the
 16620  //     user's primary email address, alias email address, or unique user ID.
 16621  func (r *TokensService) Delete(userKey string, clientId string) *TokensDeleteCall {
 16622  	c := &TokensDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16623  	c.userKey = userKey
 16624  	c.clientId = clientId
 16625  	return c
 16626  }
 16627  
 16628  // Fields allows partial responses to be retrieved. See
 16629  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16630  // details.
 16631  func (c *TokensDeleteCall) Fields(s ...googleapi.Field) *TokensDeleteCall {
 16632  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16633  	return c
 16634  }
 16635  
 16636  // Context sets the context to be used in this call's Do method.
 16637  func (c *TokensDeleteCall) Context(ctx context.Context) *TokensDeleteCall {
 16638  	c.ctx_ = ctx
 16639  	return c
 16640  }
 16641  
 16642  // Header returns a http.Header that can be modified by the caller to add
 16643  // headers to the request.
 16644  func (c *TokensDeleteCall) Header() http.Header {
 16645  	if c.header_ == nil {
 16646  		c.header_ = make(http.Header)
 16647  	}
 16648  	return c.header_
 16649  }
 16650  
 16651  func (c *TokensDeleteCall) doRequest(alt string) (*http.Response, error) {
 16652  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16653  	var body io.Reader = nil
 16654  	c.urlParams_.Set("alt", alt)
 16655  	c.urlParams_.Set("prettyPrint", "false")
 16656  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/tokens/{clientId}")
 16657  	urls += "?" + c.urlParams_.Encode()
 16658  	req, err := http.NewRequest("DELETE", urls, body)
 16659  	if err != nil {
 16660  		return nil, err
 16661  	}
 16662  	req.Header = reqHeaders
 16663  	googleapi.Expand(req.URL, map[string]string{
 16664  		"userKey":  c.userKey,
 16665  		"clientId": c.clientId,
 16666  	})
 16667  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16668  }
 16669  
 16670  // Do executes the "directory.tokens.delete" call.
 16671  func (c *TokensDeleteCall) Do(opts ...googleapi.CallOption) error {
 16672  	gensupport.SetOptions(c.urlParams_, opts...)
 16673  	res, err := c.doRequest("json")
 16674  	if err != nil {
 16675  		return err
 16676  	}
 16677  	defer googleapi.CloseBody(res)
 16678  	if err := googleapi.CheckResponse(res); err != nil {
 16679  		return gensupport.WrapError(err)
 16680  	}
 16681  	return nil
 16682  }
 16683  
 16684  type TokensGetCall struct {
 16685  	s            *Service
 16686  	userKey      string
 16687  	clientId     string
 16688  	urlParams_   gensupport.URLParams
 16689  	ifNoneMatch_ string
 16690  	ctx_         context.Context
 16691  	header_      http.Header
 16692  }
 16693  
 16694  // Get: Gets information about an access token issued by a user.
 16695  //
 16696  //   - clientId: The Client ID of the application the token is issued to.
 16697  //   - userKey: Identifies the user in the API request. The value can be the
 16698  //     user's primary email address, alias email address, or unique user ID.
 16699  func (r *TokensService) Get(userKey string, clientId string) *TokensGetCall {
 16700  	c := &TokensGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16701  	c.userKey = userKey
 16702  	c.clientId = clientId
 16703  	return c
 16704  }
 16705  
 16706  // Fields allows partial responses to be retrieved. See
 16707  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16708  // details.
 16709  func (c *TokensGetCall) Fields(s ...googleapi.Field) *TokensGetCall {
 16710  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16711  	return c
 16712  }
 16713  
 16714  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16715  // object's ETag matches the given value. This is useful for getting updates
 16716  // only after the object has changed since the last request.
 16717  func (c *TokensGetCall) IfNoneMatch(entityTag string) *TokensGetCall {
 16718  	c.ifNoneMatch_ = entityTag
 16719  	return c
 16720  }
 16721  
 16722  // Context sets the context to be used in this call's Do method.
 16723  func (c *TokensGetCall) Context(ctx context.Context) *TokensGetCall {
 16724  	c.ctx_ = ctx
 16725  	return c
 16726  }
 16727  
 16728  // Header returns a http.Header that can be modified by the caller to add
 16729  // headers to the request.
 16730  func (c *TokensGetCall) Header() http.Header {
 16731  	if c.header_ == nil {
 16732  		c.header_ = make(http.Header)
 16733  	}
 16734  	return c.header_
 16735  }
 16736  
 16737  func (c *TokensGetCall) doRequest(alt string) (*http.Response, error) {
 16738  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16739  	if c.ifNoneMatch_ != "" {
 16740  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16741  	}
 16742  	var body io.Reader = nil
 16743  	c.urlParams_.Set("alt", alt)
 16744  	c.urlParams_.Set("prettyPrint", "false")
 16745  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/tokens/{clientId}")
 16746  	urls += "?" + c.urlParams_.Encode()
 16747  	req, err := http.NewRequest("GET", urls, body)
 16748  	if err != nil {
 16749  		return nil, err
 16750  	}
 16751  	req.Header = reqHeaders
 16752  	googleapi.Expand(req.URL, map[string]string{
 16753  		"userKey":  c.userKey,
 16754  		"clientId": c.clientId,
 16755  	})
 16756  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16757  }
 16758  
 16759  // Do executes the "directory.tokens.get" call.
 16760  // Any non-2xx status code is an error. Response headers are in either
 16761  // *Token.ServerResponse.Header or (if a response was returned at all) in
 16762  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16763  // whether the returned error was because http.StatusNotModified was returned.
 16764  func (c *TokensGetCall) Do(opts ...googleapi.CallOption) (*Token, error) {
 16765  	gensupport.SetOptions(c.urlParams_, opts...)
 16766  	res, err := c.doRequest("json")
 16767  	if res != nil && res.StatusCode == http.StatusNotModified {
 16768  		if res.Body != nil {
 16769  			res.Body.Close()
 16770  		}
 16771  		return nil, gensupport.WrapError(&googleapi.Error{
 16772  			Code:   res.StatusCode,
 16773  			Header: res.Header,
 16774  		})
 16775  	}
 16776  	if err != nil {
 16777  		return nil, err
 16778  	}
 16779  	defer googleapi.CloseBody(res)
 16780  	if err := googleapi.CheckResponse(res); err != nil {
 16781  		return nil, gensupport.WrapError(err)
 16782  	}
 16783  	ret := &Token{
 16784  		ServerResponse: googleapi.ServerResponse{
 16785  			Header:         res.Header,
 16786  			HTTPStatusCode: res.StatusCode,
 16787  		},
 16788  	}
 16789  	target := &ret
 16790  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16791  		return nil, err
 16792  	}
 16793  	return ret, nil
 16794  }
 16795  
 16796  type TokensListCall struct {
 16797  	s            *Service
 16798  	userKey      string
 16799  	urlParams_   gensupport.URLParams
 16800  	ifNoneMatch_ string
 16801  	ctx_         context.Context
 16802  	header_      http.Header
 16803  }
 16804  
 16805  // List: Returns the set of tokens specified user has issued to 3rd party
 16806  // applications.
 16807  //
 16808  //   - userKey: Identifies the user in the API request. The value can be the
 16809  //     user's primary email address, alias email address, or unique user ID.
 16810  func (r *TokensService) List(userKey string) *TokensListCall {
 16811  	c := &TokensListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16812  	c.userKey = userKey
 16813  	return c
 16814  }
 16815  
 16816  // Fields allows partial responses to be retrieved. See
 16817  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16818  // details.
 16819  func (c *TokensListCall) Fields(s ...googleapi.Field) *TokensListCall {
 16820  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16821  	return c
 16822  }
 16823  
 16824  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16825  // object's ETag matches the given value. This is useful for getting updates
 16826  // only after the object has changed since the last request.
 16827  func (c *TokensListCall) IfNoneMatch(entityTag string) *TokensListCall {
 16828  	c.ifNoneMatch_ = entityTag
 16829  	return c
 16830  }
 16831  
 16832  // Context sets the context to be used in this call's Do method.
 16833  func (c *TokensListCall) Context(ctx context.Context) *TokensListCall {
 16834  	c.ctx_ = ctx
 16835  	return c
 16836  }
 16837  
 16838  // Header returns a http.Header that can be modified by the caller to add
 16839  // headers to the request.
 16840  func (c *TokensListCall) Header() http.Header {
 16841  	if c.header_ == nil {
 16842  		c.header_ = make(http.Header)
 16843  	}
 16844  	return c.header_
 16845  }
 16846  
 16847  func (c *TokensListCall) doRequest(alt string) (*http.Response, error) {
 16848  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16849  	if c.ifNoneMatch_ != "" {
 16850  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16851  	}
 16852  	var body io.Reader = nil
 16853  	c.urlParams_.Set("alt", alt)
 16854  	c.urlParams_.Set("prettyPrint", "false")
 16855  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/tokens")
 16856  	urls += "?" + c.urlParams_.Encode()
 16857  	req, err := http.NewRequest("GET", urls, body)
 16858  	if err != nil {
 16859  		return nil, err
 16860  	}
 16861  	req.Header = reqHeaders
 16862  	googleapi.Expand(req.URL, map[string]string{
 16863  		"userKey": c.userKey,
 16864  	})
 16865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16866  }
 16867  
 16868  // Do executes the "directory.tokens.list" call.
 16869  // Any non-2xx status code is an error. Response headers are in either
 16870  // *Tokens.ServerResponse.Header or (if a response was returned at all) in
 16871  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16872  // whether the returned error was because http.StatusNotModified was returned.
 16873  func (c *TokensListCall) Do(opts ...googleapi.CallOption) (*Tokens, error) {
 16874  	gensupport.SetOptions(c.urlParams_, opts...)
 16875  	res, err := c.doRequest("json")
 16876  	if res != nil && res.StatusCode == http.StatusNotModified {
 16877  		if res.Body != nil {
 16878  			res.Body.Close()
 16879  		}
 16880  		return nil, gensupport.WrapError(&googleapi.Error{
 16881  			Code:   res.StatusCode,
 16882  			Header: res.Header,
 16883  		})
 16884  	}
 16885  	if err != nil {
 16886  		return nil, err
 16887  	}
 16888  	defer googleapi.CloseBody(res)
 16889  	if err := googleapi.CheckResponse(res); err != nil {
 16890  		return nil, gensupport.WrapError(err)
 16891  	}
 16892  	ret := &Tokens{
 16893  		ServerResponse: googleapi.ServerResponse{
 16894  			Header:         res.Header,
 16895  			HTTPStatusCode: res.StatusCode,
 16896  		},
 16897  	}
 16898  	target := &ret
 16899  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16900  		return nil, err
 16901  	}
 16902  	return ret, nil
 16903  }
 16904  
 16905  type TwoStepVerificationTurnOffCall struct {
 16906  	s          *Service
 16907  	userKey    string
 16908  	urlParams_ gensupport.URLParams
 16909  	ctx_       context.Context
 16910  	header_    http.Header
 16911  }
 16912  
 16913  // TurnOff: Turns off 2-Step Verification for user.
 16914  //
 16915  //   - userKey: Identifies the user in the API request. The value can be the
 16916  //     user's primary email address, alias email address, or unique user ID.
 16917  func (r *TwoStepVerificationService) TurnOff(userKey string) *TwoStepVerificationTurnOffCall {
 16918  	c := &TwoStepVerificationTurnOffCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16919  	c.userKey = userKey
 16920  	return c
 16921  }
 16922  
 16923  // Fields allows partial responses to be retrieved. See
 16924  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16925  // details.
 16926  func (c *TwoStepVerificationTurnOffCall) Fields(s ...googleapi.Field) *TwoStepVerificationTurnOffCall {
 16927  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16928  	return c
 16929  }
 16930  
 16931  // Context sets the context to be used in this call's Do method.
 16932  func (c *TwoStepVerificationTurnOffCall) Context(ctx context.Context) *TwoStepVerificationTurnOffCall {
 16933  	c.ctx_ = ctx
 16934  	return c
 16935  }
 16936  
 16937  // Header returns a http.Header that can be modified by the caller to add
 16938  // headers to the request.
 16939  func (c *TwoStepVerificationTurnOffCall) Header() http.Header {
 16940  	if c.header_ == nil {
 16941  		c.header_ = make(http.Header)
 16942  	}
 16943  	return c.header_
 16944  }
 16945  
 16946  func (c *TwoStepVerificationTurnOffCall) doRequest(alt string) (*http.Response, error) {
 16947  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16948  	var body io.Reader = nil
 16949  	c.urlParams_.Set("alt", alt)
 16950  	c.urlParams_.Set("prettyPrint", "false")
 16951  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/twoStepVerification/turnOff")
 16952  	urls += "?" + c.urlParams_.Encode()
 16953  	req, err := http.NewRequest("POST", urls, body)
 16954  	if err != nil {
 16955  		return nil, err
 16956  	}
 16957  	req.Header = reqHeaders
 16958  	googleapi.Expand(req.URL, map[string]string{
 16959  		"userKey": c.userKey,
 16960  	})
 16961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16962  }
 16963  
 16964  // Do executes the "directory.twoStepVerification.turnOff" call.
 16965  func (c *TwoStepVerificationTurnOffCall) Do(opts ...googleapi.CallOption) error {
 16966  	gensupport.SetOptions(c.urlParams_, opts...)
 16967  	res, err := c.doRequest("json")
 16968  	if err != nil {
 16969  		return err
 16970  	}
 16971  	defer googleapi.CloseBody(res)
 16972  	if err := googleapi.CheckResponse(res); err != nil {
 16973  		return gensupport.WrapError(err)
 16974  	}
 16975  	return nil
 16976  }
 16977  
 16978  type UsersDeleteCall struct {
 16979  	s          *Service
 16980  	userKey    string
 16981  	urlParams_ gensupport.URLParams
 16982  	ctx_       context.Context
 16983  	header_    http.Header
 16984  }
 16985  
 16986  // Delete: Deletes a user.
 16987  //
 16988  //   - userKey: Identifies the user in the API request. The value can be the
 16989  //     user's primary email address, alias email address, or unique user ID.
 16990  func (r *UsersService) Delete(userKey string) *UsersDeleteCall {
 16991  	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16992  	c.userKey = userKey
 16993  	return c
 16994  }
 16995  
 16996  // Fields allows partial responses to be retrieved. See
 16997  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16998  // details.
 16999  func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
 17000  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17001  	return c
 17002  }
 17003  
 17004  // Context sets the context to be used in this call's Do method.
 17005  func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 17006  	c.ctx_ = ctx
 17007  	return c
 17008  }
 17009  
 17010  // Header returns a http.Header that can be modified by the caller to add
 17011  // headers to the request.
 17012  func (c *UsersDeleteCall) Header() http.Header {
 17013  	if c.header_ == nil {
 17014  		c.header_ = make(http.Header)
 17015  	}
 17016  	return c.header_
 17017  }
 17018  
 17019  func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 17020  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17021  	var body io.Reader = nil
 17022  	c.urlParams_.Set("alt", alt)
 17023  	c.urlParams_.Set("prettyPrint", "false")
 17024  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}")
 17025  	urls += "?" + c.urlParams_.Encode()
 17026  	req, err := http.NewRequest("DELETE", urls, body)
 17027  	if err != nil {
 17028  		return nil, err
 17029  	}
 17030  	req.Header = reqHeaders
 17031  	googleapi.Expand(req.URL, map[string]string{
 17032  		"userKey": c.userKey,
 17033  	})
 17034  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17035  }
 17036  
 17037  // Do executes the "directory.users.delete" call.
 17038  func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) error {
 17039  	gensupport.SetOptions(c.urlParams_, opts...)
 17040  	res, err := c.doRequest("json")
 17041  	if err != nil {
 17042  		return err
 17043  	}
 17044  	defer googleapi.CloseBody(res)
 17045  	if err := googleapi.CheckResponse(res); err != nil {
 17046  		return gensupport.WrapError(err)
 17047  	}
 17048  	return nil
 17049  }
 17050  
 17051  type UsersGetCall struct {
 17052  	s            *Service
 17053  	userKey      string
 17054  	urlParams_   gensupport.URLParams
 17055  	ifNoneMatch_ string
 17056  	ctx_         context.Context
 17057  	header_      http.Header
 17058  }
 17059  
 17060  // Get: Retrieves a user.
 17061  //
 17062  //   - userKey: Identifies the user in the API request. The value can be the
 17063  //     user's primary email address, alias email address, or unique user ID.
 17064  func (r *UsersService) Get(userKey string) *UsersGetCall {
 17065  	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17066  	c.userKey = userKey
 17067  	return c
 17068  }
 17069  
 17070  // CustomFieldMask sets the optional parameter "customFieldMask": A
 17071  // comma-separated list of schema names. All fields from these schemas are
 17072  // fetched. This should only be set when `projection=custom`.
 17073  func (c *UsersGetCall) CustomFieldMask(customFieldMask string) *UsersGetCall {
 17074  	c.urlParams_.Set("customFieldMask", customFieldMask)
 17075  	return c
 17076  }
 17077  
 17078  // Projection sets the optional parameter "projection": What subset of fields
 17079  // to fetch for this user.
 17080  //
 17081  // Possible values:
 17082  //
 17083  //	"basic" (default) - Do not include any custom fields for the user.
 17084  //	"custom" - Include custom fields from schemas requested in
 17085  //
 17086  // `customFieldMask`.
 17087  //
 17088  //	"full" - Include all fields associated with this user.
 17089  func (c *UsersGetCall) Projection(projection string) *UsersGetCall {
 17090  	c.urlParams_.Set("projection", projection)
 17091  	return c
 17092  }
 17093  
 17094  // ViewType sets the optional parameter "viewType": Whether to fetch the
 17095  // administrator-only or domain-wide public view of the user. For more
 17096  // information, see Retrieve a user as a non-administrator
 17097  // (/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin).
 17098  //
 17099  // Possible values:
 17100  //
 17101  //	"admin_view" (default) - Results include both administrator-only and
 17102  //
 17103  // domain-public fields for the user.
 17104  //
 17105  //	"domain_public" - Results only include fields for the user that are
 17106  //
 17107  // publicly visible to other users in the domain.
 17108  func (c *UsersGetCall) ViewType(viewType string) *UsersGetCall {
 17109  	c.urlParams_.Set("viewType", viewType)
 17110  	return c
 17111  }
 17112  
 17113  // Fields allows partial responses to be retrieved. See
 17114  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17115  // details.
 17116  func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
 17117  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17118  	return c
 17119  }
 17120  
 17121  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17122  // object's ETag matches the given value. This is useful for getting updates
 17123  // only after the object has changed since the last request.
 17124  func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
 17125  	c.ifNoneMatch_ = entityTag
 17126  	return c
 17127  }
 17128  
 17129  // Context sets the context to be used in this call's Do method.
 17130  func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 17131  	c.ctx_ = ctx
 17132  	return c
 17133  }
 17134  
 17135  // Header returns a http.Header that can be modified by the caller to add
 17136  // headers to the request.
 17137  func (c *UsersGetCall) Header() http.Header {
 17138  	if c.header_ == nil {
 17139  		c.header_ = make(http.Header)
 17140  	}
 17141  	return c.header_
 17142  }
 17143  
 17144  func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 17145  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17146  	if c.ifNoneMatch_ != "" {
 17147  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17148  	}
 17149  	var body io.Reader = nil
 17150  	c.urlParams_.Set("alt", alt)
 17151  	c.urlParams_.Set("prettyPrint", "false")
 17152  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}")
 17153  	urls += "?" + c.urlParams_.Encode()
 17154  	req, err := http.NewRequest("GET", urls, body)
 17155  	if err != nil {
 17156  		return nil, err
 17157  	}
 17158  	req.Header = reqHeaders
 17159  	googleapi.Expand(req.URL, map[string]string{
 17160  		"userKey": c.userKey,
 17161  	})
 17162  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17163  }
 17164  
 17165  // Do executes the "directory.users.get" call.
 17166  // Any non-2xx status code is an error. Response headers are in either
 17167  // *User.ServerResponse.Header or (if a response was returned at all) in
 17168  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17169  // whether the returned error was because http.StatusNotModified was returned.
 17170  func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
 17171  	gensupport.SetOptions(c.urlParams_, opts...)
 17172  	res, err := c.doRequest("json")
 17173  	if res != nil && res.StatusCode == http.StatusNotModified {
 17174  		if res.Body != nil {
 17175  			res.Body.Close()
 17176  		}
 17177  		return nil, gensupport.WrapError(&googleapi.Error{
 17178  			Code:   res.StatusCode,
 17179  			Header: res.Header,
 17180  		})
 17181  	}
 17182  	if err != nil {
 17183  		return nil, err
 17184  	}
 17185  	defer googleapi.CloseBody(res)
 17186  	if err := googleapi.CheckResponse(res); err != nil {
 17187  		return nil, gensupport.WrapError(err)
 17188  	}
 17189  	ret := &User{
 17190  		ServerResponse: googleapi.ServerResponse{
 17191  			Header:         res.Header,
 17192  			HTTPStatusCode: res.StatusCode,
 17193  		},
 17194  	}
 17195  	target := &ret
 17196  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17197  		return nil, err
 17198  	}
 17199  	return ret, nil
 17200  }
 17201  
 17202  type UsersInsertCall struct {
 17203  	s          *Service
 17204  	user       *User
 17205  	urlParams_ gensupport.URLParams
 17206  	ctx_       context.Context
 17207  	header_    http.Header
 17208  }
 17209  
 17210  // Insert: Creates a user. Mutate calls immediately following user creation
 17211  // might sometimes fail as the user isn't fully created due to propagation
 17212  // delay in our backends. Check the error details for the "User creation is not
 17213  // complete" message to see if this is the case. Retrying the calls after some
 17214  // time can help in this case.
 17215  func (r *UsersService) Insert(user *User) *UsersInsertCall {
 17216  	c := &UsersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17217  	c.user = user
 17218  	return c
 17219  }
 17220  
 17221  // ResolveConflictAccount sets the optional parameter "resolveConflictAccount":
 17222  // If set to `true`, the option selected for handling unmanaged user accounts
 17223  // (https://support.google.com/a/answer/11112794) will apply. Default: `false`
 17224  func (c *UsersInsertCall) ResolveConflictAccount(resolveConflictAccount bool) *UsersInsertCall {
 17225  	c.urlParams_.Set("resolveConflictAccount", fmt.Sprint(resolveConflictAccount))
 17226  	return c
 17227  }
 17228  
 17229  // Fields allows partial responses to be retrieved. See
 17230  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17231  // details.
 17232  func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
 17233  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17234  	return c
 17235  }
 17236  
 17237  // Context sets the context to be used in this call's Do method.
 17238  func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 17239  	c.ctx_ = ctx
 17240  	return c
 17241  }
 17242  
 17243  // Header returns a http.Header that can be modified by the caller to add
 17244  // headers to the request.
 17245  func (c *UsersInsertCall) Header() http.Header {
 17246  	if c.header_ == nil {
 17247  		c.header_ = make(http.Header)
 17248  	}
 17249  	return c.header_
 17250  }
 17251  
 17252  func (c *UsersInsertCall) doRequest(alt string) (*http.Response, error) {
 17253  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17254  	var body io.Reader = nil
 17255  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 17256  	if err != nil {
 17257  		return nil, err
 17258  	}
 17259  	c.urlParams_.Set("alt", alt)
 17260  	c.urlParams_.Set("prettyPrint", "false")
 17261  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users")
 17262  	urls += "?" + c.urlParams_.Encode()
 17263  	req, err := http.NewRequest("POST", urls, body)
 17264  	if err != nil {
 17265  		return nil, err
 17266  	}
 17267  	req.Header = reqHeaders
 17268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17269  }
 17270  
 17271  // Do executes the "directory.users.insert" call.
 17272  // Any non-2xx status code is an error. Response headers are in either
 17273  // *User.ServerResponse.Header or (if a response was returned at all) in
 17274  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17275  // whether the returned error was because http.StatusNotModified was returned.
 17276  func (c *UsersInsertCall) Do(opts ...googleapi.CallOption) (*User, error) {
 17277  	gensupport.SetOptions(c.urlParams_, opts...)
 17278  	res, err := c.doRequest("json")
 17279  	if res != nil && res.StatusCode == http.StatusNotModified {
 17280  		if res.Body != nil {
 17281  			res.Body.Close()
 17282  		}
 17283  		return nil, gensupport.WrapError(&googleapi.Error{
 17284  			Code:   res.StatusCode,
 17285  			Header: res.Header,
 17286  		})
 17287  	}
 17288  	if err != nil {
 17289  		return nil, err
 17290  	}
 17291  	defer googleapi.CloseBody(res)
 17292  	if err := googleapi.CheckResponse(res); err != nil {
 17293  		return nil, gensupport.WrapError(err)
 17294  	}
 17295  	ret := &User{
 17296  		ServerResponse: googleapi.ServerResponse{
 17297  			Header:         res.Header,
 17298  			HTTPStatusCode: res.StatusCode,
 17299  		},
 17300  	}
 17301  	target := &ret
 17302  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17303  		return nil, err
 17304  	}
 17305  	return ret, nil
 17306  }
 17307  
 17308  type UsersListCall struct {
 17309  	s            *Service
 17310  	urlParams_   gensupport.URLParams
 17311  	ifNoneMatch_ string
 17312  	ctx_         context.Context
 17313  	header_      http.Header
 17314  }
 17315  
 17316  // List: Retrieves a paginated list of either deleted users or all users in a
 17317  // domain.
 17318  func (r *UsersService) List() *UsersListCall {
 17319  	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17320  	return c
 17321  }
 17322  
 17323  // CustomFieldMask sets the optional parameter "customFieldMask": A
 17324  // comma-separated list of schema names. All fields from these schemas are
 17325  // fetched. This should only be set when `projection=custom`.
 17326  func (c *UsersListCall) CustomFieldMask(customFieldMask string) *UsersListCall {
 17327  	c.urlParams_.Set("customFieldMask", customFieldMask)
 17328  	return c
 17329  }
 17330  
 17331  // Customer sets the optional parameter "customer": The unique ID for the
 17332  // customer's Google Workspace account. In case of a multi-domain account, to
 17333  // fetch all groups for a customer, use this field instead of `domain`. You can
 17334  // also use the `my_customer` alias to represent your account's `customerId`.
 17335  // The `customerId` is also returned as part of the Users
 17336  // (/admin-sdk/directory/v1/reference/users) resource. You must provide either
 17337  // the `customer` or the `domain` parameter.
 17338  func (c *UsersListCall) Customer(customer string) *UsersListCall {
 17339  	c.urlParams_.Set("customer", customer)
 17340  	return c
 17341  }
 17342  
 17343  // Domain sets the optional parameter "domain": The domain name. Use this field
 17344  // to get groups from only one domain. To return all domains for a customer
 17345  // account, use the `customer` query parameter instead. Either the `customer`
 17346  // or the `domain` parameter must be provided.
 17347  func (c *UsersListCall) Domain(domain string) *UsersListCall {
 17348  	c.urlParams_.Set("domain", domain)
 17349  	return c
 17350  }
 17351  
 17352  // Event sets the optional parameter "event": Event on which subscription is
 17353  // intended (if subscribing)
 17354  //
 17355  // Possible values:
 17356  //
 17357  //	"add" - User Created Event
 17358  //	"delete" - User Deleted Event
 17359  //	"makeAdmin" - User Admin Status Change Event
 17360  //	"undelete" - User Undeleted Event
 17361  //	"update" - User Updated Event
 17362  func (c *UsersListCall) Event(event string) *UsersListCall {
 17363  	c.urlParams_.Set("event", event)
 17364  	return c
 17365  }
 17366  
 17367  // MaxResults sets the optional parameter "maxResults": Maximum number of
 17368  // results to return.
 17369  func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
 17370  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 17371  	return c
 17372  }
 17373  
 17374  // OrderBy sets the optional parameter "orderBy": Property to use for sorting
 17375  // results.
 17376  //
 17377  // Possible values:
 17378  //
 17379  //	"email" - Primary email of the user.
 17380  //	"familyName" - User's family name.
 17381  //	"givenName" - User's given name.
 17382  func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
 17383  	c.urlParams_.Set("orderBy", orderBy)
 17384  	return c
 17385  }
 17386  
 17387  // PageToken sets the optional parameter "pageToken": Token to specify next
 17388  // page in the list
 17389  func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
 17390  	c.urlParams_.Set("pageToken", pageToken)
 17391  	return c
 17392  }
 17393  
 17394  // Projection sets the optional parameter "projection": What subset of fields
 17395  // to fetch for this user.
 17396  //
 17397  // Possible values:
 17398  //
 17399  //	"basic" (default) - Do not include any custom fields for the user.
 17400  //	"custom" - Include custom fields from schemas requested in
 17401  //
 17402  // `customFieldMask`.
 17403  //
 17404  //	"full" - Include all fields associated with this user.
 17405  func (c *UsersListCall) Projection(projection string) *UsersListCall {
 17406  	c.urlParams_.Set("projection", projection)
 17407  	return c
 17408  }
 17409  
 17410  // Query sets the optional parameter "query": Query string for searching user
 17411  // fields. For more information on constructing user queries, see Search for
 17412  // Users (/admin-sdk/directory/v1/guides/search-users).
 17413  func (c *UsersListCall) Query(query string) *UsersListCall {
 17414  	c.urlParams_.Set("query", query)
 17415  	return c
 17416  }
 17417  
 17418  // ShowDeleted sets the optional parameter "showDeleted": If set to `true`,
 17419  // retrieves the list of deleted users. (Default: `false`)
 17420  func (c *UsersListCall) ShowDeleted(showDeleted string) *UsersListCall {
 17421  	c.urlParams_.Set("showDeleted", showDeleted)
 17422  	return c
 17423  }
 17424  
 17425  // SortOrder sets the optional parameter "sortOrder": Whether to return results
 17426  // in ascending or descending order, ignoring case.
 17427  //
 17428  // Possible values:
 17429  //
 17430  //	"ASCENDING" - Ascending order.
 17431  //	"DESCENDING" - Descending order.
 17432  func (c *UsersListCall) SortOrder(sortOrder string) *UsersListCall {
 17433  	c.urlParams_.Set("sortOrder", sortOrder)
 17434  	return c
 17435  }
 17436  
 17437  // ViewType sets the optional parameter "viewType": Whether to fetch the
 17438  // administrator-only or domain-wide public view of the user. For more
 17439  // information, see Retrieve a user as a non-administrator
 17440  // (/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin).
 17441  //
 17442  // Possible values:
 17443  //
 17444  //	"admin_view" (default) - Results include both administrator-only and
 17445  //
 17446  // domain-public fields for the user.
 17447  //
 17448  //	"domain_public" - Results only include fields for the user that are
 17449  //
 17450  // publicly visible to other users in the domain.
 17451  func (c *UsersListCall) ViewType(viewType string) *UsersListCall {
 17452  	c.urlParams_.Set("viewType", viewType)
 17453  	return c
 17454  }
 17455  
 17456  // Fields allows partial responses to be retrieved. See
 17457  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17458  // details.
 17459  func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
 17460  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17461  	return c
 17462  }
 17463  
 17464  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17465  // object's ETag matches the given value. This is useful for getting updates
 17466  // only after the object has changed since the last request.
 17467  func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
 17468  	c.ifNoneMatch_ = entityTag
 17469  	return c
 17470  }
 17471  
 17472  // Context sets the context to be used in this call's Do method.
 17473  func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 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 *UsersListCall) Header() http.Header {
 17481  	if c.header_ == nil {
 17482  		c.header_ = make(http.Header)
 17483  	}
 17484  	return c.header_
 17485  }
 17486  
 17487  func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 17488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17489  	if c.ifNoneMatch_ != "" {
 17490  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17491  	}
 17492  	var body io.Reader = nil
 17493  	c.urlParams_.Set("alt", alt)
 17494  	c.urlParams_.Set("prettyPrint", "false")
 17495  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users")
 17496  	urls += "?" + c.urlParams_.Encode()
 17497  	req, err := http.NewRequest("GET", urls, body)
 17498  	if err != nil {
 17499  		return nil, err
 17500  	}
 17501  	req.Header = reqHeaders
 17502  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17503  }
 17504  
 17505  // Do executes the "directory.users.list" call.
 17506  // Any non-2xx status code is an error. Response headers are in either
 17507  // *Users.ServerResponse.Header or (if a response was returned at all) in
 17508  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17509  // whether the returned error was because http.StatusNotModified was returned.
 17510  func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*Users, error) {
 17511  	gensupport.SetOptions(c.urlParams_, opts...)
 17512  	res, err := c.doRequest("json")
 17513  	if res != nil && res.StatusCode == http.StatusNotModified {
 17514  		if res.Body != nil {
 17515  			res.Body.Close()
 17516  		}
 17517  		return nil, gensupport.WrapError(&googleapi.Error{
 17518  			Code:   res.StatusCode,
 17519  			Header: res.Header,
 17520  		})
 17521  	}
 17522  	if err != nil {
 17523  		return nil, err
 17524  	}
 17525  	defer googleapi.CloseBody(res)
 17526  	if err := googleapi.CheckResponse(res); err != nil {
 17527  		return nil, gensupport.WrapError(err)
 17528  	}
 17529  	ret := &Users{
 17530  		ServerResponse: googleapi.ServerResponse{
 17531  			Header:         res.Header,
 17532  			HTTPStatusCode: res.StatusCode,
 17533  		},
 17534  	}
 17535  	target := &ret
 17536  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17537  		return nil, err
 17538  	}
 17539  	return ret, nil
 17540  }
 17541  
 17542  // Pages invokes f for each page of results.
 17543  // A non-nil error returned from f will halt the iteration.
 17544  // The provided context supersedes any context provided to the Context method.
 17545  func (c *UsersListCall) Pages(ctx context.Context, f func(*Users) error) error {
 17546  	c.ctx_ = ctx
 17547  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17548  	for {
 17549  		x, err := c.Do()
 17550  		if err != nil {
 17551  			return err
 17552  		}
 17553  		if err := f(x); err != nil {
 17554  			return err
 17555  		}
 17556  		if x.NextPageToken == "" {
 17557  			return nil
 17558  		}
 17559  		c.PageToken(x.NextPageToken)
 17560  	}
 17561  }
 17562  
 17563  type UsersMakeAdminCall struct {
 17564  	s             *Service
 17565  	userKey       string
 17566  	usermakeadmin *UserMakeAdmin
 17567  	urlParams_    gensupport.URLParams
 17568  	ctx_          context.Context
 17569  	header_       http.Header
 17570  }
 17571  
 17572  // MakeAdmin: Makes a user a super administrator.
 17573  //
 17574  //   - userKey: Identifies the user in the API request. The value can be the
 17575  //     user's primary email address, alias email address, or unique user ID.
 17576  func (r *UsersService) MakeAdmin(userKey string, usermakeadmin *UserMakeAdmin) *UsersMakeAdminCall {
 17577  	c := &UsersMakeAdminCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17578  	c.userKey = userKey
 17579  	c.usermakeadmin = usermakeadmin
 17580  	return c
 17581  }
 17582  
 17583  // Fields allows partial responses to be retrieved. See
 17584  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17585  // details.
 17586  func (c *UsersMakeAdminCall) Fields(s ...googleapi.Field) *UsersMakeAdminCall {
 17587  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17588  	return c
 17589  }
 17590  
 17591  // Context sets the context to be used in this call's Do method.
 17592  func (c *UsersMakeAdminCall) Context(ctx context.Context) *UsersMakeAdminCall {
 17593  	c.ctx_ = ctx
 17594  	return c
 17595  }
 17596  
 17597  // Header returns a http.Header that can be modified by the caller to add
 17598  // headers to the request.
 17599  func (c *UsersMakeAdminCall) Header() http.Header {
 17600  	if c.header_ == nil {
 17601  		c.header_ = make(http.Header)
 17602  	}
 17603  	return c.header_
 17604  }
 17605  
 17606  func (c *UsersMakeAdminCall) doRequest(alt string) (*http.Response, error) {
 17607  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17608  	var body io.Reader = nil
 17609  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.usermakeadmin)
 17610  	if err != nil {
 17611  		return nil, err
 17612  	}
 17613  	c.urlParams_.Set("alt", alt)
 17614  	c.urlParams_.Set("prettyPrint", "false")
 17615  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/makeAdmin")
 17616  	urls += "?" + c.urlParams_.Encode()
 17617  	req, err := http.NewRequest("POST", urls, body)
 17618  	if err != nil {
 17619  		return nil, err
 17620  	}
 17621  	req.Header = reqHeaders
 17622  	googleapi.Expand(req.URL, map[string]string{
 17623  		"userKey": c.userKey,
 17624  	})
 17625  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17626  }
 17627  
 17628  // Do executes the "directory.users.makeAdmin" call.
 17629  func (c *UsersMakeAdminCall) Do(opts ...googleapi.CallOption) error {
 17630  	gensupport.SetOptions(c.urlParams_, opts...)
 17631  	res, err := c.doRequest("json")
 17632  	if err != nil {
 17633  		return err
 17634  	}
 17635  	defer googleapi.CloseBody(res)
 17636  	if err := googleapi.CheckResponse(res); err != nil {
 17637  		return gensupport.WrapError(err)
 17638  	}
 17639  	return nil
 17640  }
 17641  
 17642  type UsersPatchCall struct {
 17643  	s          *Service
 17644  	userKey    string
 17645  	user       *User
 17646  	urlParams_ gensupport.URLParams
 17647  	ctx_       context.Context
 17648  	header_    http.Header
 17649  }
 17650  
 17651  // Patch: Updates a user using patch semantics. The update method should be
 17652  // used instead, because it also supports patch semantics and has better
 17653  // performance. If you're mapping an external identity to a Google identity,
 17654  // use the `update`
 17655  // (https://developers.google.com/admin-sdk/directory/v1/reference/users/update)
 17656  // method instead of the `patch` method. This method is unable to clear fields
 17657  // that contain repeated objects (`addresses`, `phones`, etc). Use the update
 17658  // method instead.
 17659  //
 17660  //   - userKey: Identifies the user in the API request. The value can be the
 17661  //     user's primary email address, alias email address, or unique user ID.
 17662  func (r *UsersService) Patch(userKey string, user *User) *UsersPatchCall {
 17663  	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17664  	c.userKey = userKey
 17665  	c.user = user
 17666  	return c
 17667  }
 17668  
 17669  // Fields allows partial responses to be retrieved. See
 17670  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17671  // details.
 17672  func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
 17673  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17674  	return c
 17675  }
 17676  
 17677  // Context sets the context to be used in this call's Do method.
 17678  func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
 17679  	c.ctx_ = ctx
 17680  	return c
 17681  }
 17682  
 17683  // Header returns a http.Header that can be modified by the caller to add
 17684  // headers to the request.
 17685  func (c *UsersPatchCall) Header() http.Header {
 17686  	if c.header_ == nil {
 17687  		c.header_ = make(http.Header)
 17688  	}
 17689  	return c.header_
 17690  }
 17691  
 17692  func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
 17693  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17694  	var body io.Reader = nil
 17695  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 17696  	if err != nil {
 17697  		return nil, err
 17698  	}
 17699  	c.urlParams_.Set("alt", alt)
 17700  	c.urlParams_.Set("prettyPrint", "false")
 17701  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}")
 17702  	urls += "?" + c.urlParams_.Encode()
 17703  	req, err := http.NewRequest("PATCH", urls, body)
 17704  	if err != nil {
 17705  		return nil, err
 17706  	}
 17707  	req.Header = reqHeaders
 17708  	googleapi.Expand(req.URL, map[string]string{
 17709  		"userKey": c.userKey,
 17710  	})
 17711  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17712  }
 17713  
 17714  // Do executes the "directory.users.patch" call.
 17715  // Any non-2xx status code is an error. Response headers are in either
 17716  // *User.ServerResponse.Header or (if a response was returned at all) in
 17717  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17718  // whether the returned error was because http.StatusNotModified was returned.
 17719  func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
 17720  	gensupport.SetOptions(c.urlParams_, opts...)
 17721  	res, err := c.doRequest("json")
 17722  	if res != nil && res.StatusCode == http.StatusNotModified {
 17723  		if res.Body != nil {
 17724  			res.Body.Close()
 17725  		}
 17726  		return nil, gensupport.WrapError(&googleapi.Error{
 17727  			Code:   res.StatusCode,
 17728  			Header: res.Header,
 17729  		})
 17730  	}
 17731  	if err != nil {
 17732  		return nil, err
 17733  	}
 17734  	defer googleapi.CloseBody(res)
 17735  	if err := googleapi.CheckResponse(res); err != nil {
 17736  		return nil, gensupport.WrapError(err)
 17737  	}
 17738  	ret := &User{
 17739  		ServerResponse: googleapi.ServerResponse{
 17740  			Header:         res.Header,
 17741  			HTTPStatusCode: res.StatusCode,
 17742  		},
 17743  	}
 17744  	target := &ret
 17745  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17746  		return nil, err
 17747  	}
 17748  	return ret, nil
 17749  }
 17750  
 17751  type UsersSignOutCall struct {
 17752  	s          *Service
 17753  	userKey    string
 17754  	urlParams_ gensupport.URLParams
 17755  	ctx_       context.Context
 17756  	header_    http.Header
 17757  }
 17758  
 17759  // SignOut: Signs a user out of all web and device sessions and reset their
 17760  // sign-in cookies. User will have to sign in by authenticating again.
 17761  //
 17762  //   - userKey: Identifies the target user in the API request. The value can be
 17763  //     the user's primary email address, alias email address, or unique user ID.
 17764  func (r *UsersService) SignOut(userKey string) *UsersSignOutCall {
 17765  	c := &UsersSignOutCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17766  	c.userKey = userKey
 17767  	return c
 17768  }
 17769  
 17770  // Fields allows partial responses to be retrieved. See
 17771  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17772  // details.
 17773  func (c *UsersSignOutCall) Fields(s ...googleapi.Field) *UsersSignOutCall {
 17774  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17775  	return c
 17776  }
 17777  
 17778  // Context sets the context to be used in this call's Do method.
 17779  func (c *UsersSignOutCall) Context(ctx context.Context) *UsersSignOutCall {
 17780  	c.ctx_ = ctx
 17781  	return c
 17782  }
 17783  
 17784  // Header returns a http.Header that can be modified by the caller to add
 17785  // headers to the request.
 17786  func (c *UsersSignOutCall) Header() http.Header {
 17787  	if c.header_ == nil {
 17788  		c.header_ = make(http.Header)
 17789  	}
 17790  	return c.header_
 17791  }
 17792  
 17793  func (c *UsersSignOutCall) doRequest(alt string) (*http.Response, error) {
 17794  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17795  	var body io.Reader = nil
 17796  	c.urlParams_.Set("alt", alt)
 17797  	c.urlParams_.Set("prettyPrint", "false")
 17798  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/signOut")
 17799  	urls += "?" + c.urlParams_.Encode()
 17800  	req, err := http.NewRequest("POST", urls, body)
 17801  	if err != nil {
 17802  		return nil, err
 17803  	}
 17804  	req.Header = reqHeaders
 17805  	googleapi.Expand(req.URL, map[string]string{
 17806  		"userKey": c.userKey,
 17807  	})
 17808  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17809  }
 17810  
 17811  // Do executes the "directory.users.signOut" call.
 17812  func (c *UsersSignOutCall) Do(opts ...googleapi.CallOption) error {
 17813  	gensupport.SetOptions(c.urlParams_, opts...)
 17814  	res, err := c.doRequest("json")
 17815  	if err != nil {
 17816  		return err
 17817  	}
 17818  	defer googleapi.CloseBody(res)
 17819  	if err := googleapi.CheckResponse(res); err != nil {
 17820  		return gensupport.WrapError(err)
 17821  	}
 17822  	return nil
 17823  }
 17824  
 17825  type UsersUndeleteCall struct {
 17826  	s            *Service
 17827  	userKey      string
 17828  	userundelete *UserUndelete
 17829  	urlParams_   gensupport.URLParams
 17830  	ctx_         context.Context
 17831  	header_      http.Header
 17832  }
 17833  
 17834  // Undelete: Undeletes a deleted user.
 17835  //
 17836  // - userKey: The immutable id of the user.
 17837  func (r *UsersService) Undelete(userKey string, userundelete *UserUndelete) *UsersUndeleteCall {
 17838  	c := &UsersUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17839  	c.userKey = userKey
 17840  	c.userundelete = userundelete
 17841  	return c
 17842  }
 17843  
 17844  // Fields allows partial responses to be retrieved. See
 17845  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17846  // details.
 17847  func (c *UsersUndeleteCall) Fields(s ...googleapi.Field) *UsersUndeleteCall {
 17848  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17849  	return c
 17850  }
 17851  
 17852  // Context sets the context to be used in this call's Do method.
 17853  func (c *UsersUndeleteCall) Context(ctx context.Context) *UsersUndeleteCall {
 17854  	c.ctx_ = ctx
 17855  	return c
 17856  }
 17857  
 17858  // Header returns a http.Header that can be modified by the caller to add
 17859  // headers to the request.
 17860  func (c *UsersUndeleteCall) Header() http.Header {
 17861  	if c.header_ == nil {
 17862  		c.header_ = make(http.Header)
 17863  	}
 17864  	return c.header_
 17865  }
 17866  
 17867  func (c *UsersUndeleteCall) doRequest(alt string) (*http.Response, error) {
 17868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17869  	var body io.Reader = nil
 17870  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userundelete)
 17871  	if err != nil {
 17872  		return nil, err
 17873  	}
 17874  	c.urlParams_.Set("alt", alt)
 17875  	c.urlParams_.Set("prettyPrint", "false")
 17876  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/undelete")
 17877  	urls += "?" + c.urlParams_.Encode()
 17878  	req, err := http.NewRequest("POST", urls, body)
 17879  	if err != nil {
 17880  		return nil, err
 17881  	}
 17882  	req.Header = reqHeaders
 17883  	googleapi.Expand(req.URL, map[string]string{
 17884  		"userKey": c.userKey,
 17885  	})
 17886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17887  }
 17888  
 17889  // Do executes the "directory.users.undelete" call.
 17890  func (c *UsersUndeleteCall) Do(opts ...googleapi.CallOption) error {
 17891  	gensupport.SetOptions(c.urlParams_, opts...)
 17892  	res, err := c.doRequest("json")
 17893  	if err != nil {
 17894  		return err
 17895  	}
 17896  	defer googleapi.CloseBody(res)
 17897  	if err := googleapi.CheckResponse(res); err != nil {
 17898  		return gensupport.WrapError(err)
 17899  	}
 17900  	return nil
 17901  }
 17902  
 17903  type UsersUpdateCall struct {
 17904  	s          *Service
 17905  	userKey    string
 17906  	user       *User
 17907  	urlParams_ gensupport.URLParams
 17908  	ctx_       context.Context
 17909  	header_    http.Header
 17910  }
 17911  
 17912  // Update: Updates a user. This method supports patch semantics, meaning that
 17913  // you only need to include the fields you wish to update. Fields that are not
 17914  // present in the request will be preserved, and fields set to `null` will be
 17915  // cleared. For repeating fields that contain arrays, individual items in the
 17916  // array can't be patched piecemeal; they must be supplied in the request body
 17917  // with the desired values for all items. See the user accounts guide
 17918  // (https://developers.google.com/admin-sdk/directory/v1/guides/manage-users#update_user)
 17919  // for more information.
 17920  //
 17921  //   - userKey: Identifies the user in the API request. The value can be the
 17922  //     user's primary email address, alias email address, or unique user ID.
 17923  func (r *UsersService) Update(userKey string, user *User) *UsersUpdateCall {
 17924  	c := &UsersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17925  	c.userKey = userKey
 17926  	c.user = user
 17927  	return c
 17928  }
 17929  
 17930  // Fields allows partial responses to be retrieved. See
 17931  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17932  // details.
 17933  func (c *UsersUpdateCall) Fields(s ...googleapi.Field) *UsersUpdateCall {
 17934  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17935  	return c
 17936  }
 17937  
 17938  // Context sets the context to be used in this call's Do method.
 17939  func (c *UsersUpdateCall) Context(ctx context.Context) *UsersUpdateCall {
 17940  	c.ctx_ = ctx
 17941  	return c
 17942  }
 17943  
 17944  // Header returns a http.Header that can be modified by the caller to add
 17945  // headers to the request.
 17946  func (c *UsersUpdateCall) Header() http.Header {
 17947  	if c.header_ == nil {
 17948  		c.header_ = make(http.Header)
 17949  	}
 17950  	return c.header_
 17951  }
 17952  
 17953  func (c *UsersUpdateCall) doRequest(alt string) (*http.Response, error) {
 17954  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17955  	var body io.Reader = nil
 17956  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 17957  	if err != nil {
 17958  		return nil, err
 17959  	}
 17960  	c.urlParams_.Set("alt", alt)
 17961  	c.urlParams_.Set("prettyPrint", "false")
 17962  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}")
 17963  	urls += "?" + c.urlParams_.Encode()
 17964  	req, err := http.NewRequest("PUT", urls, body)
 17965  	if err != nil {
 17966  		return nil, err
 17967  	}
 17968  	req.Header = reqHeaders
 17969  	googleapi.Expand(req.URL, map[string]string{
 17970  		"userKey": c.userKey,
 17971  	})
 17972  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17973  }
 17974  
 17975  // Do executes the "directory.users.update" call.
 17976  // Any non-2xx status code is an error. Response headers are in either
 17977  // *User.ServerResponse.Header or (if a response was returned at all) in
 17978  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17979  // whether the returned error was because http.StatusNotModified was returned.
 17980  func (c *UsersUpdateCall) Do(opts ...googleapi.CallOption) (*User, error) {
 17981  	gensupport.SetOptions(c.urlParams_, opts...)
 17982  	res, err := c.doRequest("json")
 17983  	if res != nil && res.StatusCode == http.StatusNotModified {
 17984  		if res.Body != nil {
 17985  			res.Body.Close()
 17986  		}
 17987  		return nil, gensupport.WrapError(&googleapi.Error{
 17988  			Code:   res.StatusCode,
 17989  			Header: res.Header,
 17990  		})
 17991  	}
 17992  	if err != nil {
 17993  		return nil, err
 17994  	}
 17995  	defer googleapi.CloseBody(res)
 17996  	if err := googleapi.CheckResponse(res); err != nil {
 17997  		return nil, gensupport.WrapError(err)
 17998  	}
 17999  	ret := &User{
 18000  		ServerResponse: googleapi.ServerResponse{
 18001  			Header:         res.Header,
 18002  			HTTPStatusCode: res.StatusCode,
 18003  		},
 18004  	}
 18005  	target := &ret
 18006  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18007  		return nil, err
 18008  	}
 18009  	return ret, nil
 18010  }
 18011  
 18012  type UsersWatchCall struct {
 18013  	s          *Service
 18014  	channel    *Channel
 18015  	urlParams_ gensupport.URLParams
 18016  	ctx_       context.Context
 18017  	header_    http.Header
 18018  }
 18019  
 18020  // Watch: Watches for changes in users list.
 18021  func (r *UsersService) Watch(channel *Channel) *UsersWatchCall {
 18022  	c := &UsersWatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18023  	c.channel = channel
 18024  	return c
 18025  }
 18026  
 18027  // CustomFieldMask sets the optional parameter "customFieldMask":
 18028  // Comma-separated list of schema names. All fields from these schemas are
 18029  // fetched. This should only be set when projection=custom.
 18030  func (c *UsersWatchCall) CustomFieldMask(customFieldMask string) *UsersWatchCall {
 18031  	c.urlParams_.Set("customFieldMask", customFieldMask)
 18032  	return c
 18033  }
 18034  
 18035  // Customer sets the optional parameter "customer": Immutable ID of the Google
 18036  // Workspace account. In case of multi-domain, to fetch all users for a
 18037  // customer, fill this field instead of domain.
 18038  func (c *UsersWatchCall) Customer(customer string) *UsersWatchCall {
 18039  	c.urlParams_.Set("customer", customer)
 18040  	return c
 18041  }
 18042  
 18043  // Domain sets the optional parameter "domain": Name of the domain. Fill this
 18044  // field to get users from only this domain. To return all users in a
 18045  // multi-domain fill customer field instead."
 18046  func (c *UsersWatchCall) Domain(domain string) *UsersWatchCall {
 18047  	c.urlParams_.Set("domain", domain)
 18048  	return c
 18049  }
 18050  
 18051  // Event sets the optional parameter "event": Events to watch for.
 18052  //
 18053  // Possible values:
 18054  //
 18055  //	"add" - User Created Event
 18056  //	"delete" - User Deleted Event
 18057  //	"makeAdmin" - User Admin Status Change Event
 18058  //	"undelete" - User Undeleted Event
 18059  //	"update" - User Updated Event
 18060  func (c *UsersWatchCall) Event(event string) *UsersWatchCall {
 18061  	c.urlParams_.Set("event", event)
 18062  	return c
 18063  }
 18064  
 18065  // MaxResults sets the optional parameter "maxResults": Maximum number of
 18066  // results to return.
 18067  func (c *UsersWatchCall) MaxResults(maxResults int64) *UsersWatchCall {
 18068  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18069  	return c
 18070  }
 18071  
 18072  // OrderBy sets the optional parameter "orderBy": Column to use for sorting
 18073  // results
 18074  //
 18075  // Possible values:
 18076  //
 18077  //	"email" - Primary email of the user.
 18078  //	"familyName" - User's family name.
 18079  //	"givenName" - User's given name.
 18080  func (c *UsersWatchCall) OrderBy(orderBy string) *UsersWatchCall {
 18081  	c.urlParams_.Set("orderBy", orderBy)
 18082  	return c
 18083  }
 18084  
 18085  // PageToken sets the optional parameter "pageToken": Token to specify next
 18086  // page in the list
 18087  func (c *UsersWatchCall) PageToken(pageToken string) *UsersWatchCall {
 18088  	c.urlParams_.Set("pageToken", pageToken)
 18089  	return c
 18090  }
 18091  
 18092  // Projection sets the optional parameter "projection": What subset of fields
 18093  // to fetch for this user.
 18094  //
 18095  // Possible values:
 18096  //
 18097  //	"basic" (default) - Do not include any custom fields for the user.
 18098  //	"custom" - Include custom fields from schemas mentioned in
 18099  //
 18100  // customFieldMask.
 18101  //
 18102  //	"full" - Include all fields associated with this user.
 18103  func (c *UsersWatchCall) Projection(projection string) *UsersWatchCall {
 18104  	c.urlParams_.Set("projection", projection)
 18105  	return c
 18106  }
 18107  
 18108  // Query sets the optional parameter "query": Query string search. Should be of
 18109  // the form "". Complete documentation is at https:
 18110  // //developers.google.com/admin-sdk/directory/v1/guides/search-users
 18111  func (c *UsersWatchCall) Query(query string) *UsersWatchCall {
 18112  	c.urlParams_.Set("query", query)
 18113  	return c
 18114  }
 18115  
 18116  // ShowDeleted sets the optional parameter "showDeleted": If set to true,
 18117  // retrieves the list of deleted users. (Default: false)
 18118  func (c *UsersWatchCall) ShowDeleted(showDeleted string) *UsersWatchCall {
 18119  	c.urlParams_.Set("showDeleted", showDeleted)
 18120  	return c
 18121  }
 18122  
 18123  // SortOrder sets the optional parameter "sortOrder": Whether to return results
 18124  // in ascending or descending order.
 18125  //
 18126  // Possible values:
 18127  //
 18128  //	"ASCENDING" - Ascending order.
 18129  //	"DESCENDING" - Descending order.
 18130  func (c *UsersWatchCall) SortOrder(sortOrder string) *UsersWatchCall {
 18131  	c.urlParams_.Set("sortOrder", sortOrder)
 18132  	return c
 18133  }
 18134  
 18135  // ViewType sets the optional parameter "viewType": Whether to fetch the
 18136  // administrator-only or domain-wide public view of the user. For more
 18137  // information, see Retrieve a user as a non-administrator
 18138  // (/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin).
 18139  //
 18140  // Possible values:
 18141  //
 18142  //	"admin_view" (default) - Results include both administrator-only and
 18143  //
 18144  // domain-public fields.
 18145  //
 18146  //	"domain_public" - Results only include fields for the user that are
 18147  //
 18148  // publicly visible to other users in the domain.
 18149  func (c *UsersWatchCall) ViewType(viewType string) *UsersWatchCall {
 18150  	c.urlParams_.Set("viewType", viewType)
 18151  	return c
 18152  }
 18153  
 18154  // Fields allows partial responses to be retrieved. See
 18155  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18156  // details.
 18157  func (c *UsersWatchCall) Fields(s ...googleapi.Field) *UsersWatchCall {
 18158  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18159  	return c
 18160  }
 18161  
 18162  // Context sets the context to be used in this call's Do method.
 18163  func (c *UsersWatchCall) Context(ctx context.Context) *UsersWatchCall {
 18164  	c.ctx_ = ctx
 18165  	return c
 18166  }
 18167  
 18168  // Header returns a http.Header that can be modified by the caller to add
 18169  // headers to the request.
 18170  func (c *UsersWatchCall) Header() http.Header {
 18171  	if c.header_ == nil {
 18172  		c.header_ = make(http.Header)
 18173  	}
 18174  	return c.header_
 18175  }
 18176  
 18177  func (c *UsersWatchCall) doRequest(alt string) (*http.Response, error) {
 18178  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18179  	var body io.Reader = nil
 18180  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 18181  	if err != nil {
 18182  		return nil, err
 18183  	}
 18184  	c.urlParams_.Set("alt", alt)
 18185  	c.urlParams_.Set("prettyPrint", "false")
 18186  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/watch")
 18187  	urls += "?" + c.urlParams_.Encode()
 18188  	req, err := http.NewRequest("POST", urls, body)
 18189  	if err != nil {
 18190  		return nil, err
 18191  	}
 18192  	req.Header = reqHeaders
 18193  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18194  }
 18195  
 18196  // Do executes the "directory.users.watch" call.
 18197  // Any non-2xx status code is an error. Response headers are in either
 18198  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 18199  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18200  // whether the returned error was because http.StatusNotModified was returned.
 18201  func (c *UsersWatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 18202  	gensupport.SetOptions(c.urlParams_, opts...)
 18203  	res, err := c.doRequest("json")
 18204  	if res != nil && res.StatusCode == http.StatusNotModified {
 18205  		if res.Body != nil {
 18206  			res.Body.Close()
 18207  		}
 18208  		return nil, gensupport.WrapError(&googleapi.Error{
 18209  			Code:   res.StatusCode,
 18210  			Header: res.Header,
 18211  		})
 18212  	}
 18213  	if err != nil {
 18214  		return nil, err
 18215  	}
 18216  	defer googleapi.CloseBody(res)
 18217  	if err := googleapi.CheckResponse(res); err != nil {
 18218  		return nil, gensupport.WrapError(err)
 18219  	}
 18220  	ret := &Channel{
 18221  		ServerResponse: googleapi.ServerResponse{
 18222  			Header:         res.Header,
 18223  			HTTPStatusCode: res.StatusCode,
 18224  		},
 18225  	}
 18226  	target := &ret
 18227  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18228  		return nil, err
 18229  	}
 18230  	return ret, nil
 18231  }
 18232  
 18233  type UsersAliasesDeleteCall struct {
 18234  	s          *Service
 18235  	userKey    string
 18236  	alias      string
 18237  	urlParams_ gensupport.URLParams
 18238  	ctx_       context.Context
 18239  	header_    http.Header
 18240  }
 18241  
 18242  // Delete: Removes an alias.
 18243  //
 18244  //   - alias: The alias to be removed.
 18245  //   - userKey: Identifies the user in the API request. The value can be the
 18246  //     user's primary email address, alias email address, or unique user ID.
 18247  func (r *UsersAliasesService) Delete(userKey string, alias string) *UsersAliasesDeleteCall {
 18248  	c := &UsersAliasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18249  	c.userKey = userKey
 18250  	c.alias = alias
 18251  	return c
 18252  }
 18253  
 18254  // Fields allows partial responses to be retrieved. See
 18255  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18256  // details.
 18257  func (c *UsersAliasesDeleteCall) Fields(s ...googleapi.Field) *UsersAliasesDeleteCall {
 18258  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18259  	return c
 18260  }
 18261  
 18262  // Context sets the context to be used in this call's Do method.
 18263  func (c *UsersAliasesDeleteCall) Context(ctx context.Context) *UsersAliasesDeleteCall {
 18264  	c.ctx_ = ctx
 18265  	return c
 18266  }
 18267  
 18268  // Header returns a http.Header that can be modified by the caller to add
 18269  // headers to the request.
 18270  func (c *UsersAliasesDeleteCall) Header() http.Header {
 18271  	if c.header_ == nil {
 18272  		c.header_ = make(http.Header)
 18273  	}
 18274  	return c.header_
 18275  }
 18276  
 18277  func (c *UsersAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 18278  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18279  	var body io.Reader = nil
 18280  	c.urlParams_.Set("alt", alt)
 18281  	c.urlParams_.Set("prettyPrint", "false")
 18282  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/aliases/{alias}")
 18283  	urls += "?" + c.urlParams_.Encode()
 18284  	req, err := http.NewRequest("DELETE", urls, body)
 18285  	if err != nil {
 18286  		return nil, err
 18287  	}
 18288  	req.Header = reqHeaders
 18289  	googleapi.Expand(req.URL, map[string]string{
 18290  		"userKey": c.userKey,
 18291  		"alias":   c.alias,
 18292  	})
 18293  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18294  }
 18295  
 18296  // Do executes the "directory.users.aliases.delete" call.
 18297  func (c *UsersAliasesDeleteCall) Do(opts ...googleapi.CallOption) error {
 18298  	gensupport.SetOptions(c.urlParams_, opts...)
 18299  	res, err := c.doRequest("json")
 18300  	if err != nil {
 18301  		return err
 18302  	}
 18303  	defer googleapi.CloseBody(res)
 18304  	if err := googleapi.CheckResponse(res); err != nil {
 18305  		return gensupport.WrapError(err)
 18306  	}
 18307  	return nil
 18308  }
 18309  
 18310  type UsersAliasesInsertCall struct {
 18311  	s          *Service
 18312  	userKey    string
 18313  	alias      *Alias
 18314  	urlParams_ gensupport.URLParams
 18315  	ctx_       context.Context
 18316  	header_    http.Header
 18317  }
 18318  
 18319  // Insert: Adds an alias.
 18320  //
 18321  //   - userKey: Identifies the user in the API request. The value can be the
 18322  //     user's primary email address, alias email address, or unique user ID.
 18323  func (r *UsersAliasesService) Insert(userKey string, alias *Alias) *UsersAliasesInsertCall {
 18324  	c := &UsersAliasesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18325  	c.userKey = userKey
 18326  	c.alias = alias
 18327  	return c
 18328  }
 18329  
 18330  // Fields allows partial responses to be retrieved. See
 18331  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18332  // details.
 18333  func (c *UsersAliasesInsertCall) Fields(s ...googleapi.Field) *UsersAliasesInsertCall {
 18334  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18335  	return c
 18336  }
 18337  
 18338  // Context sets the context to be used in this call's Do method.
 18339  func (c *UsersAliasesInsertCall) Context(ctx context.Context) *UsersAliasesInsertCall {
 18340  	c.ctx_ = ctx
 18341  	return c
 18342  }
 18343  
 18344  // Header returns a http.Header that can be modified by the caller to add
 18345  // headers to the request.
 18346  func (c *UsersAliasesInsertCall) Header() http.Header {
 18347  	if c.header_ == nil {
 18348  		c.header_ = make(http.Header)
 18349  	}
 18350  	return c.header_
 18351  }
 18352  
 18353  func (c *UsersAliasesInsertCall) doRequest(alt string) (*http.Response, error) {
 18354  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18355  	var body io.Reader = nil
 18356  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.alias)
 18357  	if err != nil {
 18358  		return nil, err
 18359  	}
 18360  	c.urlParams_.Set("alt", alt)
 18361  	c.urlParams_.Set("prettyPrint", "false")
 18362  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/aliases")
 18363  	urls += "?" + c.urlParams_.Encode()
 18364  	req, err := http.NewRequest("POST", urls, body)
 18365  	if err != nil {
 18366  		return nil, err
 18367  	}
 18368  	req.Header = reqHeaders
 18369  	googleapi.Expand(req.URL, map[string]string{
 18370  		"userKey": c.userKey,
 18371  	})
 18372  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18373  }
 18374  
 18375  // Do executes the "directory.users.aliases.insert" call.
 18376  // Any non-2xx status code is an error. Response headers are in either
 18377  // *Alias.ServerResponse.Header or (if a response was returned at all) in
 18378  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18379  // whether the returned error was because http.StatusNotModified was returned.
 18380  func (c *UsersAliasesInsertCall) Do(opts ...googleapi.CallOption) (*Alias, error) {
 18381  	gensupport.SetOptions(c.urlParams_, opts...)
 18382  	res, err := c.doRequest("json")
 18383  	if res != nil && res.StatusCode == http.StatusNotModified {
 18384  		if res.Body != nil {
 18385  			res.Body.Close()
 18386  		}
 18387  		return nil, gensupport.WrapError(&googleapi.Error{
 18388  			Code:   res.StatusCode,
 18389  			Header: res.Header,
 18390  		})
 18391  	}
 18392  	if err != nil {
 18393  		return nil, err
 18394  	}
 18395  	defer googleapi.CloseBody(res)
 18396  	if err := googleapi.CheckResponse(res); err != nil {
 18397  		return nil, gensupport.WrapError(err)
 18398  	}
 18399  	ret := &Alias{
 18400  		ServerResponse: googleapi.ServerResponse{
 18401  			Header:         res.Header,
 18402  			HTTPStatusCode: res.StatusCode,
 18403  		},
 18404  	}
 18405  	target := &ret
 18406  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18407  		return nil, err
 18408  	}
 18409  	return ret, nil
 18410  }
 18411  
 18412  type UsersAliasesListCall struct {
 18413  	s            *Service
 18414  	userKey      string
 18415  	urlParams_   gensupport.URLParams
 18416  	ifNoneMatch_ string
 18417  	ctx_         context.Context
 18418  	header_      http.Header
 18419  }
 18420  
 18421  // List: Lists all aliases for a user.
 18422  //
 18423  //   - userKey: Identifies the user in the API request. The value can be the
 18424  //     user's primary email address, alias email address, or unique user ID.
 18425  func (r *UsersAliasesService) List(userKey string) *UsersAliasesListCall {
 18426  	c := &UsersAliasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18427  	c.userKey = userKey
 18428  	return c
 18429  }
 18430  
 18431  // Event sets the optional parameter "event": Events to watch for.
 18432  //
 18433  // Possible values:
 18434  //
 18435  //	"add" - Alias Created Event
 18436  //	"delete" - Alias Deleted Event
 18437  func (c *UsersAliasesListCall) Event(event string) *UsersAliasesListCall {
 18438  	c.urlParams_.Set("event", event)
 18439  	return c
 18440  }
 18441  
 18442  // Fields allows partial responses to be retrieved. See
 18443  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18444  // details.
 18445  func (c *UsersAliasesListCall) Fields(s ...googleapi.Field) *UsersAliasesListCall {
 18446  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18447  	return c
 18448  }
 18449  
 18450  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18451  // object's ETag matches the given value. This is useful for getting updates
 18452  // only after the object has changed since the last request.
 18453  func (c *UsersAliasesListCall) IfNoneMatch(entityTag string) *UsersAliasesListCall {
 18454  	c.ifNoneMatch_ = entityTag
 18455  	return c
 18456  }
 18457  
 18458  // Context sets the context to be used in this call's Do method.
 18459  func (c *UsersAliasesListCall) Context(ctx context.Context) *UsersAliasesListCall {
 18460  	c.ctx_ = ctx
 18461  	return c
 18462  }
 18463  
 18464  // Header returns a http.Header that can be modified by the caller to add
 18465  // headers to the request.
 18466  func (c *UsersAliasesListCall) Header() http.Header {
 18467  	if c.header_ == nil {
 18468  		c.header_ = make(http.Header)
 18469  	}
 18470  	return c.header_
 18471  }
 18472  
 18473  func (c *UsersAliasesListCall) doRequest(alt string) (*http.Response, error) {
 18474  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18475  	if c.ifNoneMatch_ != "" {
 18476  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18477  	}
 18478  	var body io.Reader = nil
 18479  	c.urlParams_.Set("alt", alt)
 18480  	c.urlParams_.Set("prettyPrint", "false")
 18481  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/aliases")
 18482  	urls += "?" + c.urlParams_.Encode()
 18483  	req, err := http.NewRequest("GET", urls, body)
 18484  	if err != nil {
 18485  		return nil, err
 18486  	}
 18487  	req.Header = reqHeaders
 18488  	googleapi.Expand(req.URL, map[string]string{
 18489  		"userKey": c.userKey,
 18490  	})
 18491  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18492  }
 18493  
 18494  // Do executes the "directory.users.aliases.list" call.
 18495  // Any non-2xx status code is an error. Response headers are in either
 18496  // *Aliases.ServerResponse.Header or (if a response was returned at all) in
 18497  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18498  // whether the returned error was because http.StatusNotModified was returned.
 18499  func (c *UsersAliasesListCall) Do(opts ...googleapi.CallOption) (*Aliases, error) {
 18500  	gensupport.SetOptions(c.urlParams_, opts...)
 18501  	res, err := c.doRequest("json")
 18502  	if res != nil && res.StatusCode == http.StatusNotModified {
 18503  		if res.Body != nil {
 18504  			res.Body.Close()
 18505  		}
 18506  		return nil, gensupport.WrapError(&googleapi.Error{
 18507  			Code:   res.StatusCode,
 18508  			Header: res.Header,
 18509  		})
 18510  	}
 18511  	if err != nil {
 18512  		return nil, err
 18513  	}
 18514  	defer googleapi.CloseBody(res)
 18515  	if err := googleapi.CheckResponse(res); err != nil {
 18516  		return nil, gensupport.WrapError(err)
 18517  	}
 18518  	ret := &Aliases{
 18519  		ServerResponse: googleapi.ServerResponse{
 18520  			Header:         res.Header,
 18521  			HTTPStatusCode: res.StatusCode,
 18522  		},
 18523  	}
 18524  	target := &ret
 18525  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18526  		return nil, err
 18527  	}
 18528  	return ret, nil
 18529  }
 18530  
 18531  type UsersAliasesWatchCall struct {
 18532  	s          *Service
 18533  	userKey    string
 18534  	channel    *Channel
 18535  	urlParams_ gensupport.URLParams
 18536  	ctx_       context.Context
 18537  	header_    http.Header
 18538  }
 18539  
 18540  // Watch: Watches for changes in users list.
 18541  //
 18542  // - userKey: Email or immutable ID of the user.
 18543  func (r *UsersAliasesService) Watch(userKey string, channel *Channel) *UsersAliasesWatchCall {
 18544  	c := &UsersAliasesWatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18545  	c.userKey = userKey
 18546  	c.channel = channel
 18547  	return c
 18548  }
 18549  
 18550  // Event sets the optional parameter "event": Events to watch for.
 18551  //
 18552  // Possible values:
 18553  //
 18554  //	"add" - Alias Created Event
 18555  //	"delete" - Alias Deleted Event
 18556  func (c *UsersAliasesWatchCall) Event(event string) *UsersAliasesWatchCall {
 18557  	c.urlParams_.Set("event", event)
 18558  	return c
 18559  }
 18560  
 18561  // Fields allows partial responses to be retrieved. See
 18562  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18563  // details.
 18564  func (c *UsersAliasesWatchCall) Fields(s ...googleapi.Field) *UsersAliasesWatchCall {
 18565  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18566  	return c
 18567  }
 18568  
 18569  // Context sets the context to be used in this call's Do method.
 18570  func (c *UsersAliasesWatchCall) Context(ctx context.Context) *UsersAliasesWatchCall {
 18571  	c.ctx_ = ctx
 18572  	return c
 18573  }
 18574  
 18575  // Header returns a http.Header that can be modified by the caller to add
 18576  // headers to the request.
 18577  func (c *UsersAliasesWatchCall) Header() http.Header {
 18578  	if c.header_ == nil {
 18579  		c.header_ = make(http.Header)
 18580  	}
 18581  	return c.header_
 18582  }
 18583  
 18584  func (c *UsersAliasesWatchCall) doRequest(alt string) (*http.Response, error) {
 18585  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18586  	var body io.Reader = nil
 18587  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 18588  	if err != nil {
 18589  		return nil, err
 18590  	}
 18591  	c.urlParams_.Set("alt", alt)
 18592  	c.urlParams_.Set("prettyPrint", "false")
 18593  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/aliases/watch")
 18594  	urls += "?" + c.urlParams_.Encode()
 18595  	req, err := http.NewRequest("POST", urls, body)
 18596  	if err != nil {
 18597  		return nil, err
 18598  	}
 18599  	req.Header = reqHeaders
 18600  	googleapi.Expand(req.URL, map[string]string{
 18601  		"userKey": c.userKey,
 18602  	})
 18603  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18604  }
 18605  
 18606  // Do executes the "directory.users.aliases.watch" call.
 18607  // Any non-2xx status code is an error. Response headers are in either
 18608  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 18609  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18610  // whether the returned error was because http.StatusNotModified was returned.
 18611  func (c *UsersAliasesWatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 18612  	gensupport.SetOptions(c.urlParams_, opts...)
 18613  	res, err := c.doRequest("json")
 18614  	if res != nil && res.StatusCode == http.StatusNotModified {
 18615  		if res.Body != nil {
 18616  			res.Body.Close()
 18617  		}
 18618  		return nil, gensupport.WrapError(&googleapi.Error{
 18619  			Code:   res.StatusCode,
 18620  			Header: res.Header,
 18621  		})
 18622  	}
 18623  	if err != nil {
 18624  		return nil, err
 18625  	}
 18626  	defer googleapi.CloseBody(res)
 18627  	if err := googleapi.CheckResponse(res); err != nil {
 18628  		return nil, gensupport.WrapError(err)
 18629  	}
 18630  	ret := &Channel{
 18631  		ServerResponse: googleapi.ServerResponse{
 18632  			Header:         res.Header,
 18633  			HTTPStatusCode: res.StatusCode,
 18634  		},
 18635  	}
 18636  	target := &ret
 18637  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18638  		return nil, err
 18639  	}
 18640  	return ret, nil
 18641  }
 18642  
 18643  type UsersPhotosDeleteCall struct {
 18644  	s          *Service
 18645  	userKey    string
 18646  	urlParams_ gensupport.URLParams
 18647  	ctx_       context.Context
 18648  	header_    http.Header
 18649  }
 18650  
 18651  // Delete: Removes the user's photo.
 18652  //
 18653  //   - userKey: Identifies the user in the API request. The value can be the
 18654  //     user's primary email address, alias email address, or unique user ID.
 18655  func (r *UsersPhotosService) Delete(userKey string) *UsersPhotosDeleteCall {
 18656  	c := &UsersPhotosDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18657  	c.userKey = userKey
 18658  	return c
 18659  }
 18660  
 18661  // Fields allows partial responses to be retrieved. See
 18662  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18663  // details.
 18664  func (c *UsersPhotosDeleteCall) Fields(s ...googleapi.Field) *UsersPhotosDeleteCall {
 18665  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18666  	return c
 18667  }
 18668  
 18669  // Context sets the context to be used in this call's Do method.
 18670  func (c *UsersPhotosDeleteCall) Context(ctx context.Context) *UsersPhotosDeleteCall {
 18671  	c.ctx_ = ctx
 18672  	return c
 18673  }
 18674  
 18675  // Header returns a http.Header that can be modified by the caller to add
 18676  // headers to the request.
 18677  func (c *UsersPhotosDeleteCall) Header() http.Header {
 18678  	if c.header_ == nil {
 18679  		c.header_ = make(http.Header)
 18680  	}
 18681  	return c.header_
 18682  }
 18683  
 18684  func (c *UsersPhotosDeleteCall) doRequest(alt string) (*http.Response, error) {
 18685  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18686  	var body io.Reader = nil
 18687  	c.urlParams_.Set("alt", alt)
 18688  	c.urlParams_.Set("prettyPrint", "false")
 18689  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/photos/thumbnail")
 18690  	urls += "?" + c.urlParams_.Encode()
 18691  	req, err := http.NewRequest("DELETE", urls, body)
 18692  	if err != nil {
 18693  		return nil, err
 18694  	}
 18695  	req.Header = reqHeaders
 18696  	googleapi.Expand(req.URL, map[string]string{
 18697  		"userKey": c.userKey,
 18698  	})
 18699  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18700  }
 18701  
 18702  // Do executes the "directory.users.photos.delete" call.
 18703  func (c *UsersPhotosDeleteCall) Do(opts ...googleapi.CallOption) error {
 18704  	gensupport.SetOptions(c.urlParams_, opts...)
 18705  	res, err := c.doRequest("json")
 18706  	if err != nil {
 18707  		return err
 18708  	}
 18709  	defer googleapi.CloseBody(res)
 18710  	if err := googleapi.CheckResponse(res); err != nil {
 18711  		return gensupport.WrapError(err)
 18712  	}
 18713  	return nil
 18714  }
 18715  
 18716  type UsersPhotosGetCall struct {
 18717  	s            *Service
 18718  	userKey      string
 18719  	urlParams_   gensupport.URLParams
 18720  	ifNoneMatch_ string
 18721  	ctx_         context.Context
 18722  	header_      http.Header
 18723  }
 18724  
 18725  // Get: Retrieves the user's photo.
 18726  //
 18727  //   - userKey: Identifies the user in the API request. The value can be the
 18728  //     user's primary email address, alias email address, or unique user ID.
 18729  func (r *UsersPhotosService) Get(userKey string) *UsersPhotosGetCall {
 18730  	c := &UsersPhotosGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18731  	c.userKey = userKey
 18732  	return c
 18733  }
 18734  
 18735  // Fields allows partial responses to be retrieved. See
 18736  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18737  // details.
 18738  func (c *UsersPhotosGetCall) Fields(s ...googleapi.Field) *UsersPhotosGetCall {
 18739  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18740  	return c
 18741  }
 18742  
 18743  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18744  // object's ETag matches the given value. This is useful for getting updates
 18745  // only after the object has changed since the last request.
 18746  func (c *UsersPhotosGetCall) IfNoneMatch(entityTag string) *UsersPhotosGetCall {
 18747  	c.ifNoneMatch_ = entityTag
 18748  	return c
 18749  }
 18750  
 18751  // Context sets the context to be used in this call's Do method.
 18752  func (c *UsersPhotosGetCall) Context(ctx context.Context) *UsersPhotosGetCall {
 18753  	c.ctx_ = ctx
 18754  	return c
 18755  }
 18756  
 18757  // Header returns a http.Header that can be modified by the caller to add
 18758  // headers to the request.
 18759  func (c *UsersPhotosGetCall) Header() http.Header {
 18760  	if c.header_ == nil {
 18761  		c.header_ = make(http.Header)
 18762  	}
 18763  	return c.header_
 18764  }
 18765  
 18766  func (c *UsersPhotosGetCall) doRequest(alt string) (*http.Response, error) {
 18767  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18768  	if c.ifNoneMatch_ != "" {
 18769  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18770  	}
 18771  	var body io.Reader = nil
 18772  	c.urlParams_.Set("alt", alt)
 18773  	c.urlParams_.Set("prettyPrint", "false")
 18774  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/photos/thumbnail")
 18775  	urls += "?" + c.urlParams_.Encode()
 18776  	req, err := http.NewRequest("GET", urls, body)
 18777  	if err != nil {
 18778  		return nil, err
 18779  	}
 18780  	req.Header = reqHeaders
 18781  	googleapi.Expand(req.URL, map[string]string{
 18782  		"userKey": c.userKey,
 18783  	})
 18784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18785  }
 18786  
 18787  // Do executes the "directory.users.photos.get" call.
 18788  // Any non-2xx status code is an error. Response headers are in either
 18789  // *UserPhoto.ServerResponse.Header or (if a response was returned at all) in
 18790  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18791  // whether the returned error was because http.StatusNotModified was returned.
 18792  func (c *UsersPhotosGetCall) Do(opts ...googleapi.CallOption) (*UserPhoto, error) {
 18793  	gensupport.SetOptions(c.urlParams_, opts...)
 18794  	res, err := c.doRequest("json")
 18795  	if res != nil && res.StatusCode == http.StatusNotModified {
 18796  		if res.Body != nil {
 18797  			res.Body.Close()
 18798  		}
 18799  		return nil, gensupport.WrapError(&googleapi.Error{
 18800  			Code:   res.StatusCode,
 18801  			Header: res.Header,
 18802  		})
 18803  	}
 18804  	if err != nil {
 18805  		return nil, err
 18806  	}
 18807  	defer googleapi.CloseBody(res)
 18808  	if err := googleapi.CheckResponse(res); err != nil {
 18809  		return nil, gensupport.WrapError(err)
 18810  	}
 18811  	ret := &UserPhoto{
 18812  		ServerResponse: googleapi.ServerResponse{
 18813  			Header:         res.Header,
 18814  			HTTPStatusCode: res.StatusCode,
 18815  		},
 18816  	}
 18817  	target := &ret
 18818  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18819  		return nil, err
 18820  	}
 18821  	return ret, nil
 18822  }
 18823  
 18824  type UsersPhotosPatchCall struct {
 18825  	s          *Service
 18826  	userKey    string
 18827  	userphoto  *UserPhoto
 18828  	urlParams_ gensupport.URLParams
 18829  	ctx_       context.Context
 18830  	header_    http.Header
 18831  }
 18832  
 18833  // Patch: Adds a photo for the user. This method supports patch semantics
 18834  // (/admin-sdk/directory/v1/guides/performance#patch).
 18835  //
 18836  //   - userKey: Identifies the user in the API request. The value can be the
 18837  //     user's primary email address, alias email address, or unique user ID.
 18838  func (r *UsersPhotosService) Patch(userKey string, userphoto *UserPhoto) *UsersPhotosPatchCall {
 18839  	c := &UsersPhotosPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18840  	c.userKey = userKey
 18841  	c.userphoto = userphoto
 18842  	return c
 18843  }
 18844  
 18845  // Fields allows partial responses to be retrieved. See
 18846  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18847  // details.
 18848  func (c *UsersPhotosPatchCall) Fields(s ...googleapi.Field) *UsersPhotosPatchCall {
 18849  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18850  	return c
 18851  }
 18852  
 18853  // Context sets the context to be used in this call's Do method.
 18854  func (c *UsersPhotosPatchCall) Context(ctx context.Context) *UsersPhotosPatchCall {
 18855  	c.ctx_ = ctx
 18856  	return c
 18857  }
 18858  
 18859  // Header returns a http.Header that can be modified by the caller to add
 18860  // headers to the request.
 18861  func (c *UsersPhotosPatchCall) Header() http.Header {
 18862  	if c.header_ == nil {
 18863  		c.header_ = make(http.Header)
 18864  	}
 18865  	return c.header_
 18866  }
 18867  
 18868  func (c *UsersPhotosPatchCall) doRequest(alt string) (*http.Response, error) {
 18869  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18870  	var body io.Reader = nil
 18871  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userphoto)
 18872  	if err != nil {
 18873  		return nil, err
 18874  	}
 18875  	c.urlParams_.Set("alt", alt)
 18876  	c.urlParams_.Set("prettyPrint", "false")
 18877  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/photos/thumbnail")
 18878  	urls += "?" + c.urlParams_.Encode()
 18879  	req, err := http.NewRequest("PATCH", urls, body)
 18880  	if err != nil {
 18881  		return nil, err
 18882  	}
 18883  	req.Header = reqHeaders
 18884  	googleapi.Expand(req.URL, map[string]string{
 18885  		"userKey": c.userKey,
 18886  	})
 18887  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18888  }
 18889  
 18890  // Do executes the "directory.users.photos.patch" call.
 18891  // Any non-2xx status code is an error. Response headers are in either
 18892  // *UserPhoto.ServerResponse.Header or (if a response was returned at all) in
 18893  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18894  // whether the returned error was because http.StatusNotModified was returned.
 18895  func (c *UsersPhotosPatchCall) Do(opts ...googleapi.CallOption) (*UserPhoto, error) {
 18896  	gensupport.SetOptions(c.urlParams_, opts...)
 18897  	res, err := c.doRequest("json")
 18898  	if res != nil && res.StatusCode == http.StatusNotModified {
 18899  		if res.Body != nil {
 18900  			res.Body.Close()
 18901  		}
 18902  		return nil, gensupport.WrapError(&googleapi.Error{
 18903  			Code:   res.StatusCode,
 18904  			Header: res.Header,
 18905  		})
 18906  	}
 18907  	if err != nil {
 18908  		return nil, err
 18909  	}
 18910  	defer googleapi.CloseBody(res)
 18911  	if err := googleapi.CheckResponse(res); err != nil {
 18912  		return nil, gensupport.WrapError(err)
 18913  	}
 18914  	ret := &UserPhoto{
 18915  		ServerResponse: googleapi.ServerResponse{
 18916  			Header:         res.Header,
 18917  			HTTPStatusCode: res.StatusCode,
 18918  		},
 18919  	}
 18920  	target := &ret
 18921  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18922  		return nil, err
 18923  	}
 18924  	return ret, nil
 18925  }
 18926  
 18927  type UsersPhotosUpdateCall struct {
 18928  	s          *Service
 18929  	userKey    string
 18930  	userphoto  *UserPhoto
 18931  	urlParams_ gensupport.URLParams
 18932  	ctx_       context.Context
 18933  	header_    http.Header
 18934  }
 18935  
 18936  // Update: Adds a photo for the user.
 18937  //
 18938  //   - userKey: Identifies the user in the API request. The value can be the
 18939  //     user's primary email address, alias email address, or unique user ID.
 18940  func (r *UsersPhotosService) Update(userKey string, userphoto *UserPhoto) *UsersPhotosUpdateCall {
 18941  	c := &UsersPhotosUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18942  	c.userKey = userKey
 18943  	c.userphoto = userphoto
 18944  	return c
 18945  }
 18946  
 18947  // Fields allows partial responses to be retrieved. See
 18948  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18949  // details.
 18950  func (c *UsersPhotosUpdateCall) Fields(s ...googleapi.Field) *UsersPhotosUpdateCall {
 18951  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18952  	return c
 18953  }
 18954  
 18955  // Context sets the context to be used in this call's Do method.
 18956  func (c *UsersPhotosUpdateCall) Context(ctx context.Context) *UsersPhotosUpdateCall {
 18957  	c.ctx_ = ctx
 18958  	return c
 18959  }
 18960  
 18961  // Header returns a http.Header that can be modified by the caller to add
 18962  // headers to the request.
 18963  func (c *UsersPhotosUpdateCall) Header() http.Header {
 18964  	if c.header_ == nil {
 18965  		c.header_ = make(http.Header)
 18966  	}
 18967  	return c.header_
 18968  }
 18969  
 18970  func (c *UsersPhotosUpdateCall) doRequest(alt string) (*http.Response, error) {
 18971  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18972  	var body io.Reader = nil
 18973  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userphoto)
 18974  	if err != nil {
 18975  		return nil, err
 18976  	}
 18977  	c.urlParams_.Set("alt", alt)
 18978  	c.urlParams_.Set("prettyPrint", "false")
 18979  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/photos/thumbnail")
 18980  	urls += "?" + c.urlParams_.Encode()
 18981  	req, err := http.NewRequest("PUT", urls, body)
 18982  	if err != nil {
 18983  		return nil, err
 18984  	}
 18985  	req.Header = reqHeaders
 18986  	googleapi.Expand(req.URL, map[string]string{
 18987  		"userKey": c.userKey,
 18988  	})
 18989  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18990  }
 18991  
 18992  // Do executes the "directory.users.photos.update" call.
 18993  // Any non-2xx status code is an error. Response headers are in either
 18994  // *UserPhoto.ServerResponse.Header or (if a response was returned at all) in
 18995  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18996  // whether the returned error was because http.StatusNotModified was returned.
 18997  func (c *UsersPhotosUpdateCall) Do(opts ...googleapi.CallOption) (*UserPhoto, error) {
 18998  	gensupport.SetOptions(c.urlParams_, opts...)
 18999  	res, err := c.doRequest("json")
 19000  	if res != nil && res.StatusCode == http.StatusNotModified {
 19001  		if res.Body != nil {
 19002  			res.Body.Close()
 19003  		}
 19004  		return nil, gensupport.WrapError(&googleapi.Error{
 19005  			Code:   res.StatusCode,
 19006  			Header: res.Header,
 19007  		})
 19008  	}
 19009  	if err != nil {
 19010  		return nil, err
 19011  	}
 19012  	defer googleapi.CloseBody(res)
 19013  	if err := googleapi.CheckResponse(res); err != nil {
 19014  		return nil, gensupport.WrapError(err)
 19015  	}
 19016  	ret := &UserPhoto{
 19017  		ServerResponse: googleapi.ServerResponse{
 19018  			Header:         res.Header,
 19019  			HTTPStatusCode: res.StatusCode,
 19020  		},
 19021  	}
 19022  	target := &ret
 19023  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19024  		return nil, err
 19025  	}
 19026  	return ret, nil
 19027  }
 19028  
 19029  type VerificationCodesGenerateCall struct {
 19030  	s          *Service
 19031  	userKey    string
 19032  	urlParams_ gensupport.URLParams
 19033  	ctx_       context.Context
 19034  	header_    http.Header
 19035  }
 19036  
 19037  // Generate: Generates new backup verification codes for the user.
 19038  //
 19039  // - userKey: Email or immutable ID of the user.
 19040  func (r *VerificationCodesService) Generate(userKey string) *VerificationCodesGenerateCall {
 19041  	c := &VerificationCodesGenerateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19042  	c.userKey = userKey
 19043  	return c
 19044  }
 19045  
 19046  // Fields allows partial responses to be retrieved. See
 19047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19048  // details.
 19049  func (c *VerificationCodesGenerateCall) Fields(s ...googleapi.Field) *VerificationCodesGenerateCall {
 19050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19051  	return c
 19052  }
 19053  
 19054  // Context sets the context to be used in this call's Do method.
 19055  func (c *VerificationCodesGenerateCall) Context(ctx context.Context) *VerificationCodesGenerateCall {
 19056  	c.ctx_ = ctx
 19057  	return c
 19058  }
 19059  
 19060  // Header returns a http.Header that can be modified by the caller to add
 19061  // headers to the request.
 19062  func (c *VerificationCodesGenerateCall) Header() http.Header {
 19063  	if c.header_ == nil {
 19064  		c.header_ = make(http.Header)
 19065  	}
 19066  	return c.header_
 19067  }
 19068  
 19069  func (c *VerificationCodesGenerateCall) doRequest(alt string) (*http.Response, error) {
 19070  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19071  	var body io.Reader = nil
 19072  	c.urlParams_.Set("alt", alt)
 19073  	c.urlParams_.Set("prettyPrint", "false")
 19074  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/verificationCodes/generate")
 19075  	urls += "?" + c.urlParams_.Encode()
 19076  	req, err := http.NewRequest("POST", urls, body)
 19077  	if err != nil {
 19078  		return nil, err
 19079  	}
 19080  	req.Header = reqHeaders
 19081  	googleapi.Expand(req.URL, map[string]string{
 19082  		"userKey": c.userKey,
 19083  	})
 19084  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19085  }
 19086  
 19087  // Do executes the "directory.verificationCodes.generate" call.
 19088  func (c *VerificationCodesGenerateCall) Do(opts ...googleapi.CallOption) error {
 19089  	gensupport.SetOptions(c.urlParams_, opts...)
 19090  	res, err := c.doRequest("json")
 19091  	if err != nil {
 19092  		return err
 19093  	}
 19094  	defer googleapi.CloseBody(res)
 19095  	if err := googleapi.CheckResponse(res); err != nil {
 19096  		return gensupport.WrapError(err)
 19097  	}
 19098  	return nil
 19099  }
 19100  
 19101  type VerificationCodesInvalidateCall struct {
 19102  	s          *Service
 19103  	userKey    string
 19104  	urlParams_ gensupport.URLParams
 19105  	ctx_       context.Context
 19106  	header_    http.Header
 19107  }
 19108  
 19109  // Invalidate: Invalidates the current backup verification codes for the user.
 19110  //
 19111  // - userKey: Email or immutable ID of the user.
 19112  func (r *VerificationCodesService) Invalidate(userKey string) *VerificationCodesInvalidateCall {
 19113  	c := &VerificationCodesInvalidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19114  	c.userKey = userKey
 19115  	return c
 19116  }
 19117  
 19118  // Fields allows partial responses to be retrieved. See
 19119  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19120  // details.
 19121  func (c *VerificationCodesInvalidateCall) Fields(s ...googleapi.Field) *VerificationCodesInvalidateCall {
 19122  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19123  	return c
 19124  }
 19125  
 19126  // Context sets the context to be used in this call's Do method.
 19127  func (c *VerificationCodesInvalidateCall) Context(ctx context.Context) *VerificationCodesInvalidateCall {
 19128  	c.ctx_ = ctx
 19129  	return c
 19130  }
 19131  
 19132  // Header returns a http.Header that can be modified by the caller to add
 19133  // headers to the request.
 19134  func (c *VerificationCodesInvalidateCall) Header() http.Header {
 19135  	if c.header_ == nil {
 19136  		c.header_ = make(http.Header)
 19137  	}
 19138  	return c.header_
 19139  }
 19140  
 19141  func (c *VerificationCodesInvalidateCall) doRequest(alt string) (*http.Response, error) {
 19142  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19143  	var body io.Reader = nil
 19144  	c.urlParams_.Set("alt", alt)
 19145  	c.urlParams_.Set("prettyPrint", "false")
 19146  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/verificationCodes/invalidate")
 19147  	urls += "?" + c.urlParams_.Encode()
 19148  	req, err := http.NewRequest("POST", urls, body)
 19149  	if err != nil {
 19150  		return nil, err
 19151  	}
 19152  	req.Header = reqHeaders
 19153  	googleapi.Expand(req.URL, map[string]string{
 19154  		"userKey": c.userKey,
 19155  	})
 19156  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19157  }
 19158  
 19159  // Do executes the "directory.verificationCodes.invalidate" call.
 19160  func (c *VerificationCodesInvalidateCall) Do(opts ...googleapi.CallOption) error {
 19161  	gensupport.SetOptions(c.urlParams_, opts...)
 19162  	res, err := c.doRequest("json")
 19163  	if err != nil {
 19164  		return err
 19165  	}
 19166  	defer googleapi.CloseBody(res)
 19167  	if err := googleapi.CheckResponse(res); err != nil {
 19168  		return gensupport.WrapError(err)
 19169  	}
 19170  	return nil
 19171  }
 19172  
 19173  type VerificationCodesListCall struct {
 19174  	s            *Service
 19175  	userKey      string
 19176  	urlParams_   gensupport.URLParams
 19177  	ifNoneMatch_ string
 19178  	ctx_         context.Context
 19179  	header_      http.Header
 19180  }
 19181  
 19182  // List: Returns the current set of valid backup verification codes for the
 19183  // specified user.
 19184  //
 19185  //   - userKey: Identifies the user in the API request. The value can be the
 19186  //     user's primary email address, alias email address, or unique user ID.
 19187  func (r *VerificationCodesService) List(userKey string) *VerificationCodesListCall {
 19188  	c := &VerificationCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19189  	c.userKey = userKey
 19190  	return c
 19191  }
 19192  
 19193  // Fields allows partial responses to be retrieved. See
 19194  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19195  // details.
 19196  func (c *VerificationCodesListCall) Fields(s ...googleapi.Field) *VerificationCodesListCall {
 19197  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19198  	return c
 19199  }
 19200  
 19201  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19202  // object's ETag matches the given value. This is useful for getting updates
 19203  // only after the object has changed since the last request.
 19204  func (c *VerificationCodesListCall) IfNoneMatch(entityTag string) *VerificationCodesListCall {
 19205  	c.ifNoneMatch_ = entityTag
 19206  	return c
 19207  }
 19208  
 19209  // Context sets the context to be used in this call's Do method.
 19210  func (c *VerificationCodesListCall) Context(ctx context.Context) *VerificationCodesListCall {
 19211  	c.ctx_ = ctx
 19212  	return c
 19213  }
 19214  
 19215  // Header returns a http.Header that can be modified by the caller to add
 19216  // headers to the request.
 19217  func (c *VerificationCodesListCall) Header() http.Header {
 19218  	if c.header_ == nil {
 19219  		c.header_ = make(http.Header)
 19220  	}
 19221  	return c.header_
 19222  }
 19223  
 19224  func (c *VerificationCodesListCall) doRequest(alt string) (*http.Response, error) {
 19225  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19226  	if c.ifNoneMatch_ != "" {
 19227  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19228  	}
 19229  	var body io.Reader = nil
 19230  	c.urlParams_.Set("alt", alt)
 19231  	c.urlParams_.Set("prettyPrint", "false")
 19232  	urls := googleapi.ResolveRelative(c.s.BasePath, "admin/directory/v1/users/{userKey}/verificationCodes")
 19233  	urls += "?" + c.urlParams_.Encode()
 19234  	req, err := http.NewRequest("GET", urls, body)
 19235  	if err != nil {
 19236  		return nil, err
 19237  	}
 19238  	req.Header = reqHeaders
 19239  	googleapi.Expand(req.URL, map[string]string{
 19240  		"userKey": c.userKey,
 19241  	})
 19242  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19243  }
 19244  
 19245  // Do executes the "directory.verificationCodes.list" call.
 19246  // Any non-2xx status code is an error. Response headers are in either
 19247  // *VerificationCodes.ServerResponse.Header or (if a response was returned at
 19248  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19249  // check whether the returned error was because http.StatusNotModified was
 19250  // returned.
 19251  func (c *VerificationCodesListCall) Do(opts ...googleapi.CallOption) (*VerificationCodes, error) {
 19252  	gensupport.SetOptions(c.urlParams_, opts...)
 19253  	res, err := c.doRequest("json")
 19254  	if res != nil && res.StatusCode == http.StatusNotModified {
 19255  		if res.Body != nil {
 19256  			res.Body.Close()
 19257  		}
 19258  		return nil, gensupport.WrapError(&googleapi.Error{
 19259  			Code:   res.StatusCode,
 19260  			Header: res.Header,
 19261  		})
 19262  	}
 19263  	if err != nil {
 19264  		return nil, err
 19265  	}
 19266  	defer googleapi.CloseBody(res)
 19267  	if err := googleapi.CheckResponse(res); err != nil {
 19268  		return nil, gensupport.WrapError(err)
 19269  	}
 19270  	ret := &VerificationCodes{
 19271  		ServerResponse: googleapi.ServerResponse{
 19272  			Header:         res.Header,
 19273  			HTTPStatusCode: res.StatusCode,
 19274  		},
 19275  	}
 19276  	target := &ret
 19277  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19278  		return nil, err
 19279  	}
 19280  	return ret, nil
 19281  }
 19282  

View as plain text