...

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

Documentation: google.golang.org/api/cloudidentity/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 cloudidentity provides access to the Cloud Identity API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/identity/
    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/cloudidentity/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	cloudidentityService, err := cloudidentity.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  //	cloudidentityService, err := cloudidentity.NewService(ctx, option.WithScopes(cloudidentity.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  //	cloudidentityService, err := cloudidentity.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  //	cloudidentityService, err := cloudidentity.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package cloudidentity // import "google.golang.org/api/cloudidentity/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 = "cloudidentity:v1"
    95  const apiName = "cloudidentity"
    96  const apiVersion = "v1"
    97  const basePath = "https://cloudidentity.googleapis.com/"
    98  const basePathTemplate = "https://cloudidentity.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://cloudidentity.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// Private Service: https://www.googleapis.com/auth/cloud-identity.devices
   104  	CloudIdentityDevicesScope = "https://www.googleapis.com/auth/cloud-identity.devices"
   105  
   106  	// See your device details
   107  	CloudIdentityDevicesLookupScope = "https://www.googleapis.com/auth/cloud-identity.devices.lookup"
   108  
   109  	// Private Service:
   110  	// https://www.googleapis.com/auth/cloud-identity.devices.readonly
   111  	CloudIdentityDevicesReadonlyScope = "https://www.googleapis.com/auth/cloud-identity.devices.readonly"
   112  
   113  	// See, change, create, and delete any of the Cloud Identity Groups that you
   114  	// can access, including the members of each group
   115  	CloudIdentityGroupsScope = "https://www.googleapis.com/auth/cloud-identity.groups"
   116  
   117  	// See any Cloud Identity Groups that you can access, including group members
   118  	// and their emails
   119  	CloudIdentityGroupsReadonlyScope = "https://www.googleapis.com/auth/cloud-identity.groups.readonly"
   120  
   121  	// See, edit, configure, and delete your Google Cloud data and see the email
   122  	// address for your Google Account.
   123  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   124  )
   125  
   126  // NewService creates a new Service.
   127  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   128  	scopesOption := internaloption.WithDefaultScopes(
   129  		"https://www.googleapis.com/auth/cloud-identity.devices",
   130  		"https://www.googleapis.com/auth/cloud-identity.devices.lookup",
   131  		"https://www.googleapis.com/auth/cloud-identity.devices.readonly",
   132  		"https://www.googleapis.com/auth/cloud-identity.groups",
   133  		"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
   134  		"https://www.googleapis.com/auth/cloud-platform",
   135  	)
   136  	// NOTE: prepend, so we don't override user-specified scopes.
   137  	opts = append([]option.ClientOption{scopesOption}, opts...)
   138  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   139  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   140  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   141  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   142  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   143  	if err != nil {
   144  		return nil, err
   145  	}
   146  	s, err := New(client)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	if endpoint != "" {
   151  		s.BasePath = endpoint
   152  	}
   153  	return s, nil
   154  }
   155  
   156  // New creates a new Service. It uses the provided http.Client for requests.
   157  //
   158  // Deprecated: please use NewService instead.
   159  // To provide a custom HTTP client, use option.WithHTTPClient.
   160  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   161  func New(client *http.Client) (*Service, error) {
   162  	if client == nil {
   163  		return nil, errors.New("client is nil")
   164  	}
   165  	s := &Service{client: client, BasePath: basePath}
   166  	s.Customers = NewCustomersService(s)
   167  	s.Devices = NewDevicesService(s)
   168  	s.Groups = NewGroupsService(s)
   169  	s.InboundSamlSsoProfiles = NewInboundSamlSsoProfilesService(s)
   170  	s.InboundSsoAssignments = NewInboundSsoAssignmentsService(s)
   171  	return s, nil
   172  }
   173  
   174  type Service struct {
   175  	client    *http.Client
   176  	BasePath  string // API endpoint base URL
   177  	UserAgent string // optional additional User-Agent fragment
   178  
   179  	Customers *CustomersService
   180  
   181  	Devices *DevicesService
   182  
   183  	Groups *GroupsService
   184  
   185  	InboundSamlSsoProfiles *InboundSamlSsoProfilesService
   186  
   187  	InboundSsoAssignments *InboundSsoAssignmentsService
   188  }
   189  
   190  func (s *Service) userAgent() string {
   191  	if s.UserAgent == "" {
   192  		return googleapi.UserAgent
   193  	}
   194  	return googleapi.UserAgent + " " + s.UserAgent
   195  }
   196  
   197  func NewCustomersService(s *Service) *CustomersService {
   198  	rs := &CustomersService{s: s}
   199  	rs.Userinvitations = NewCustomersUserinvitationsService(s)
   200  	return rs
   201  }
   202  
   203  type CustomersService struct {
   204  	s *Service
   205  
   206  	Userinvitations *CustomersUserinvitationsService
   207  }
   208  
   209  func NewCustomersUserinvitationsService(s *Service) *CustomersUserinvitationsService {
   210  	rs := &CustomersUserinvitationsService{s: s}
   211  	return rs
   212  }
   213  
   214  type CustomersUserinvitationsService struct {
   215  	s *Service
   216  }
   217  
   218  func NewDevicesService(s *Service) *DevicesService {
   219  	rs := &DevicesService{s: s}
   220  	rs.DeviceUsers = NewDevicesDeviceUsersService(s)
   221  	return rs
   222  }
   223  
   224  type DevicesService struct {
   225  	s *Service
   226  
   227  	DeviceUsers *DevicesDeviceUsersService
   228  }
   229  
   230  func NewDevicesDeviceUsersService(s *Service) *DevicesDeviceUsersService {
   231  	rs := &DevicesDeviceUsersService{s: s}
   232  	rs.ClientStates = NewDevicesDeviceUsersClientStatesService(s)
   233  	return rs
   234  }
   235  
   236  type DevicesDeviceUsersService struct {
   237  	s *Service
   238  
   239  	ClientStates *DevicesDeviceUsersClientStatesService
   240  }
   241  
   242  func NewDevicesDeviceUsersClientStatesService(s *Service) *DevicesDeviceUsersClientStatesService {
   243  	rs := &DevicesDeviceUsersClientStatesService{s: s}
   244  	return rs
   245  }
   246  
   247  type DevicesDeviceUsersClientStatesService struct {
   248  	s *Service
   249  }
   250  
   251  func NewGroupsService(s *Service) *GroupsService {
   252  	rs := &GroupsService{s: s}
   253  	rs.Memberships = NewGroupsMembershipsService(s)
   254  	return rs
   255  }
   256  
   257  type GroupsService struct {
   258  	s *Service
   259  
   260  	Memberships *GroupsMembershipsService
   261  }
   262  
   263  func NewGroupsMembershipsService(s *Service) *GroupsMembershipsService {
   264  	rs := &GroupsMembershipsService{s: s}
   265  	return rs
   266  }
   267  
   268  type GroupsMembershipsService struct {
   269  	s *Service
   270  }
   271  
   272  func NewInboundSamlSsoProfilesService(s *Service) *InboundSamlSsoProfilesService {
   273  	rs := &InboundSamlSsoProfilesService{s: s}
   274  	rs.IdpCredentials = NewInboundSamlSsoProfilesIdpCredentialsService(s)
   275  	return rs
   276  }
   277  
   278  type InboundSamlSsoProfilesService struct {
   279  	s *Service
   280  
   281  	IdpCredentials *InboundSamlSsoProfilesIdpCredentialsService
   282  }
   283  
   284  func NewInboundSamlSsoProfilesIdpCredentialsService(s *Service) *InboundSamlSsoProfilesIdpCredentialsService {
   285  	rs := &InboundSamlSsoProfilesIdpCredentialsService{s: s}
   286  	return rs
   287  }
   288  
   289  type InboundSamlSsoProfilesIdpCredentialsService struct {
   290  	s *Service
   291  }
   292  
   293  func NewInboundSsoAssignmentsService(s *Service) *InboundSsoAssignmentsService {
   294  	rs := &InboundSsoAssignmentsService{s: s}
   295  	return rs
   296  }
   297  
   298  type InboundSsoAssignmentsService struct {
   299  	s *Service
   300  }
   301  
   302  // AddIdpCredentialOperationMetadata: LRO response metadata for
   303  // InboundSamlSsoProfilesService.AddIdpCredential.
   304  type AddIdpCredentialOperationMetadata struct {
   305  }
   306  
   307  // AddIdpCredentialRequest: The request for creating an IdpCredential with its
   308  // associated payload. An InboundSamlSsoProfile can own up to 2 credentials.
   309  type AddIdpCredentialRequest struct {
   310  	// PemData: PEM encoded x509 certificate containing the public key for
   311  	// verifying IdP signatures.
   312  	PemData string `json:"pemData,omitempty"`
   313  	// ForceSendFields is a list of field names (e.g. "PemData") to unconditionally
   314  	// include in API requests. By default, fields with empty or default values are
   315  	// omitted from API requests. See
   316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   317  	// details.
   318  	ForceSendFields []string `json:"-"`
   319  	// NullFields is a list of field names (e.g. "PemData") to include in API
   320  	// requests with the JSON null value. By default, fields with empty values are
   321  	// omitted from API requests. See
   322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   323  	NullFields []string `json:"-"`
   324  }
   325  
   326  func (s *AddIdpCredentialRequest) MarshalJSON() ([]byte, error) {
   327  	type NoMethod AddIdpCredentialRequest
   328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   329  }
   330  
   331  // CancelUserInvitationRequest: Request to cancel sent invitation for target
   332  // email in UserInvitation.
   333  type CancelUserInvitationRequest struct {
   334  }
   335  
   336  // CheckTransitiveMembershipResponse: The response message for
   337  // MembershipsService.CheckTransitiveMembership.
   338  type CheckTransitiveMembershipResponse struct {
   339  	// HasMembership: Response does not include the possible roles of a member
   340  	// since the behavior of this rpc is not all-or-nothing unlike the other rpcs.
   341  	// So, it may not be possible to list all the roles definitively, due to
   342  	// possible lack of authorization in some of the paths.
   343  	HasMembership bool `json:"hasMembership,omitempty"`
   344  
   345  	// ServerResponse contains the HTTP response code and headers from the server.
   346  	googleapi.ServerResponse `json:"-"`
   347  	// ForceSendFields is a list of field names (e.g. "HasMembership") to
   348  	// unconditionally include in API requests. By default, fields with empty or
   349  	// default values are omitted from API requests. See
   350  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   351  	// details.
   352  	ForceSendFields []string `json:"-"`
   353  	// NullFields is a list of field names (e.g. "HasMembership") to include in API
   354  	// requests with the JSON null value. By default, fields with empty values are
   355  	// omitted from API requests. See
   356  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   357  	NullFields []string `json:"-"`
   358  }
   359  
   360  func (s *CheckTransitiveMembershipResponse) MarshalJSON() ([]byte, error) {
   361  	type NoMethod CheckTransitiveMembershipResponse
   362  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   363  }
   364  
   365  // CreateGroupMetadata: Metadata for CreateGroup LRO.
   366  type CreateGroupMetadata struct {
   367  }
   368  
   369  // CreateInboundSamlSsoProfileOperationMetadata: LRO response metadata for
   370  // InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.
   371  type CreateInboundSamlSsoProfileOperationMetadata struct {
   372  }
   373  
   374  // CreateInboundSsoAssignmentOperationMetadata: LRO response metadata for
   375  // InboundSsoAssignmentsService.CreateInboundSsoAssignment.
   376  type CreateInboundSsoAssignmentOperationMetadata struct {
   377  }
   378  
   379  // CreateMembershipMetadata: Metadata for CreateMembership LRO.
   380  type CreateMembershipMetadata struct {
   381  }
   382  
   383  // DeleteGroupMetadata: Metadata for DeleteGroup LRO.
   384  type DeleteGroupMetadata struct {
   385  }
   386  
   387  // DeleteIdpCredentialOperationMetadata: LRO response metadata for
   388  // InboundSamlSsoProfilesService.DeleteIdpCredential.
   389  type DeleteIdpCredentialOperationMetadata struct {
   390  }
   391  
   392  // DeleteInboundSamlSsoProfileOperationMetadata: LRO response metadata for
   393  // InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.
   394  type DeleteInboundSamlSsoProfileOperationMetadata struct {
   395  }
   396  
   397  // DeleteInboundSsoAssignmentOperationMetadata: LRO response metadata for
   398  // InboundSsoAssignmentsService.DeleteInboundSsoAssignment.
   399  type DeleteInboundSsoAssignmentOperationMetadata struct {
   400  }
   401  
   402  // DeleteMembershipMetadata: Metadata for DeleteMembership LRO.
   403  type DeleteMembershipMetadata struct {
   404  }
   405  
   406  // DsaPublicKeyInfo: Information of a DSA public key.
   407  type DsaPublicKeyInfo struct {
   408  	// KeySize: Key size in bits (size of parameter P).
   409  	KeySize int64 `json:"keySize,omitempty"`
   410  	// ForceSendFields is a list of field names (e.g. "KeySize") to unconditionally
   411  	// include in API requests. By default, fields with empty or default values are
   412  	// omitted from API requests. See
   413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   414  	// details.
   415  	ForceSendFields []string `json:"-"`
   416  	// NullFields is a list of field names (e.g. "KeySize") to include in API
   417  	// requests with the JSON null value. By default, fields with empty values are
   418  	// omitted from API requests. See
   419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   420  	NullFields []string `json:"-"`
   421  }
   422  
   423  func (s *DsaPublicKeyInfo) MarshalJSON() ([]byte, error) {
   424  	type NoMethod DsaPublicKeyInfo
   425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   426  }
   427  
   428  // DynamicGroupMetadata: Dynamic group metadata like queries and status.
   429  type DynamicGroupMetadata struct {
   430  	// Queries: Memberships will be the union of all queries. Only one entry with
   431  	// USER resource is currently supported. Customers can create up to 500 dynamic
   432  	// groups.
   433  	Queries []*DynamicGroupQuery `json:"queries,omitempty"`
   434  	// Status: Output only. Status of the dynamic group.
   435  	Status *DynamicGroupStatus `json:"status,omitempty"`
   436  	// ForceSendFields is a list of field names (e.g. "Queries") to unconditionally
   437  	// include in API requests. By default, fields with empty or default values are
   438  	// omitted from API requests. See
   439  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   440  	// details.
   441  	ForceSendFields []string `json:"-"`
   442  	// NullFields is a list of field names (e.g. "Queries") to include in API
   443  	// requests with the JSON null value. By default, fields with empty values are
   444  	// omitted from API requests. See
   445  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   446  	NullFields []string `json:"-"`
   447  }
   448  
   449  func (s *DynamicGroupMetadata) MarshalJSON() ([]byte, error) {
   450  	type NoMethod DynamicGroupMetadata
   451  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   452  }
   453  
   454  // DynamicGroupQuery: Defines a query on a resource.
   455  type DynamicGroupQuery struct {
   456  	// Query: Query that determines the memberships of the dynamic group. Examples:
   457  	// All users with at least one `organizations.department` of engineering.
   458  	// `user.organizations.exists(org, org.department=='engineering')` All users
   459  	// with at least one location that has `area` of `foo` and `building_id` of
   460  	// `bar`. `user.locations.exists(loc, loc.area=='foo' &&
   461  	// loc.building_id=='bar')` All users with any variation of the name John Doe
   462  	// (case-insensitive queries add `equalsIgnoreCase()` to the value being
   463  	// queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`
   464  	Query string `json:"query,omitempty"`
   465  	// ResourceType: Resource type for the Dynamic Group Query
   466  	//
   467  	// Possible values:
   468  	//   "RESOURCE_TYPE_UNSPECIFIED" - Default value (not valid)
   469  	//   "USER" - For queries on User
   470  	ResourceType string `json:"resourceType,omitempty"`
   471  	// ForceSendFields is a list of field names (e.g. "Query") to unconditionally
   472  	// include in API requests. By default, fields with empty or default values are
   473  	// omitted from API requests. See
   474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   475  	// details.
   476  	ForceSendFields []string `json:"-"`
   477  	// NullFields is a list of field names (e.g. "Query") to include in API
   478  	// requests with the JSON null value. By default, fields with empty values are
   479  	// omitted from API requests. See
   480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   481  	NullFields []string `json:"-"`
   482  }
   483  
   484  func (s *DynamicGroupQuery) MarshalJSON() ([]byte, error) {
   485  	type NoMethod DynamicGroupQuery
   486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   487  }
   488  
   489  // DynamicGroupStatus: The current status of a dynamic group along with
   490  // timestamp.
   491  type DynamicGroupStatus struct {
   492  	// Status: Status of the dynamic group.
   493  	//
   494  	// Possible values:
   495  	//   "STATUS_UNSPECIFIED" - Default.
   496  	//   "UP_TO_DATE" - The dynamic group is up-to-date.
   497  	//   "UPDATING_MEMBERSHIPS" - The dynamic group has just been created and
   498  	// memberships are being updated.
   499  	//   "INVALID_QUERY" - Group is in an unrecoverable state and its memberships
   500  	// can't be updated.
   501  	Status string `json:"status,omitempty"`
   502  	// StatusTime: The latest time at which the dynamic group is guaranteed to be
   503  	// in the given status. If status is `UP_TO_DATE`, the latest time at which the
   504  	// dynamic group was confirmed to be up-to-date. If status is
   505  	// `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.
   506  	StatusTime string `json:"statusTime,omitempty"`
   507  	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
   508  	// include in API requests. By default, fields with empty or default values are
   509  	// omitted from API requests. See
   510  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   511  	// details.
   512  	ForceSendFields []string `json:"-"`
   513  	// NullFields is a list of field names (e.g. "Status") to include in API
   514  	// requests with the JSON null value. By default, fields with empty values are
   515  	// omitted from API requests. See
   516  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   517  	NullFields []string `json:"-"`
   518  }
   519  
   520  func (s *DynamicGroupStatus) MarshalJSON() ([]byte, error) {
   521  	type NoMethod DynamicGroupStatus
   522  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   523  }
   524  
   525  // EntityKey: A unique identifier for an entity in the Cloud Identity Groups
   526  // API. An entity can represent either a group with an optional `namespace` or
   527  // a user without a `namespace`. The combination of `id` and `namespace` must
   528  // be unique; however, the same `id` can be used with different `namespace`s.
   529  type EntityKey struct {
   530  	// Id: The ID of the entity. For Google-managed entities, the `id` should be
   531  	// the email address of an existing group or user. Email addresses need to
   532  	// adhere to name guidelines for users and groups
   533  	// (https://support.google.com/a/answer/9193374). For external-identity-mapped
   534  	// entities, the `id` must be a string conforming to the Identity Source's
   535  	// requirements. Must be unique within a `namespace`.
   536  	Id string `json:"id,omitempty"`
   537  	// Namespace: The namespace in which the entity exists. If not specified, the
   538  	// `EntityKey` represents a Google-managed entity such as a Google user or a
   539  	// Google Group. If specified, the `EntityKey` represents an
   540  	// external-identity-mapped group. The namespace must correspond to an identity
   541  	// source created in Admin Console and must be in the form of
   542  	// `identitysources/{identity_source}`.
   543  	Namespace string `json:"namespace,omitempty"`
   544  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
   545  	// include in API requests. By default, fields with empty or default values are
   546  	// omitted from API requests. See
   547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   548  	// details.
   549  	ForceSendFields []string `json:"-"`
   550  	// NullFields is a list of field names (e.g. "Id") to include in API requests
   551  	// with the JSON null value. By default, fields with empty values are omitted
   552  	// from API requests. See
   553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   554  	NullFields []string `json:"-"`
   555  }
   556  
   557  func (s *EntityKey) MarshalJSON() ([]byte, error) {
   558  	type NoMethod EntityKey
   559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   560  }
   561  
   562  // ExpiryDetail: The `MembershipRole` expiry details.
   563  type ExpiryDetail struct {
   564  	// ExpireTime: The time at which the `MembershipRole` will expire.
   565  	ExpireTime string `json:"expireTime,omitempty"`
   566  	// ForceSendFields is a list of field names (e.g. "ExpireTime") to
   567  	// unconditionally include in API requests. By default, fields with empty or
   568  	// default values are omitted from API requests. See
   569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   570  	// details.
   571  	ForceSendFields []string `json:"-"`
   572  	// NullFields is a list of field names (e.g. "ExpireTime") to include in API
   573  	// requests with the JSON null value. By default, fields with empty values are
   574  	// omitted from API requests. See
   575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   576  	NullFields []string `json:"-"`
   577  }
   578  
   579  func (s *ExpiryDetail) MarshalJSON() ([]byte, error) {
   580  	type NoMethod ExpiryDetail
   581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   582  }
   583  
   584  // GetMembershipGraphMetadata: Metadata of GetMembershipGraphResponse LRO. This
   585  // is currently empty to permit future extensibility.
   586  type GetMembershipGraphMetadata struct {
   587  }
   588  
   589  // GetMembershipGraphResponse: The response message for
   590  // MembershipsService.GetMembershipGraph.
   591  type GetMembershipGraphResponse struct {
   592  	// AdjacencyList: The membership graph's path information represented as an
   593  	// adjacency list.
   594  	AdjacencyList []*MembershipAdjacencyList `json:"adjacencyList,omitempty"`
   595  	// Groups: The resources representing each group in the adjacency list. Each
   596  	// group in this list can be correlated to a 'group' of the
   597  	// MembershipAdjacencyList using the 'name' of the Group resource.
   598  	Groups []*Group `json:"groups,omitempty"`
   599  	// ForceSendFields is a list of field names (e.g. "AdjacencyList") to
   600  	// unconditionally include in API requests. By default, fields with empty or
   601  	// default values are omitted from API requests. See
   602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   603  	// details.
   604  	ForceSendFields []string `json:"-"`
   605  	// NullFields is a list of field names (e.g. "AdjacencyList") to include in API
   606  	// requests with the JSON null value. By default, fields with empty values are
   607  	// omitted from API requests. See
   608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   609  	NullFields []string `json:"-"`
   610  }
   611  
   612  func (s *GetMembershipGraphResponse) MarshalJSON() ([]byte, error) {
   613  	type NoMethod GetMembershipGraphResponse
   614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   615  }
   616  
   617  // GoogleAppsCloudidentityDevicesV1AndroidAttributes: Resource representing the
   618  // Android specific attributes of a Device.
   619  type GoogleAppsCloudidentityDevicesV1AndroidAttributes struct {
   620  	// CtsProfileMatch: Whether the device passes Android CTS compliance.
   621  	CtsProfileMatch bool `json:"ctsProfileMatch,omitempty"`
   622  	// EnabledUnknownSources: Whether applications from unknown sources can be
   623  	// installed on device.
   624  	EnabledUnknownSources bool `json:"enabledUnknownSources,omitempty"`
   625  	// HasPotentiallyHarmfulApps: Whether any potentially harmful apps were
   626  	// detected on the device.
   627  	HasPotentiallyHarmfulApps bool `json:"hasPotentiallyHarmfulApps,omitempty"`
   628  	// OwnerProfileAccount: Whether this account is on an owner/primary profile.
   629  	// For phones, only true for owner profiles. Android 4+ devices can have
   630  	// secondary or restricted user profiles.
   631  	OwnerProfileAccount bool `json:"ownerProfileAccount,omitempty"`
   632  	// OwnershipPrivilege: Ownership privileges on device.
   633  	//
   634  	// Possible values:
   635  	//   "OWNERSHIP_PRIVILEGE_UNSPECIFIED" - Ownership privilege is not set.
   636  	//   "DEVICE_ADMINISTRATOR" - Active device administrator privileges on the
   637  	// device.
   638  	//   "PROFILE_OWNER" - Profile Owner privileges. The account is in a managed
   639  	// corporate profile.
   640  	//   "DEVICE_OWNER" - Device Owner privileges on the device.
   641  	OwnershipPrivilege string `json:"ownershipPrivilege,omitempty"`
   642  	// SupportsWorkProfile: Whether device supports Android work profiles. If
   643  	// false, this service will not block access to corp data even if an
   644  	// administrator turns on the "Enforce Work Profile" policy.
   645  	SupportsWorkProfile bool `json:"supportsWorkProfile,omitempty"`
   646  	// VerifiedBoot: Whether Android verified boot status is GREEN.
   647  	VerifiedBoot bool `json:"verifiedBoot,omitempty"`
   648  	// VerifyAppsEnabled: Whether Google Play Protect Verify Apps is enabled.
   649  	VerifyAppsEnabled bool `json:"verifyAppsEnabled,omitempty"`
   650  	// ForceSendFields is a list of field names (e.g. "CtsProfileMatch") to
   651  	// unconditionally include in API requests. By default, fields with empty or
   652  	// default values are omitted from API requests. See
   653  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   654  	// details.
   655  	ForceSendFields []string `json:"-"`
   656  	// NullFields is a list of field names (e.g. "CtsProfileMatch") to include in
   657  	// API requests with the JSON null value. By default, fields with empty values
   658  	// are omitted from API requests. See
   659  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   660  	NullFields []string `json:"-"`
   661  }
   662  
   663  func (s *GoogleAppsCloudidentityDevicesV1AndroidAttributes) MarshalJSON() ([]byte, error) {
   664  	type NoMethod GoogleAppsCloudidentityDevicesV1AndroidAttributes
   665  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   666  }
   667  
   668  // GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata: Metadata for
   669  // ApproveDeviceUser LRO.
   670  type GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata struct {
   671  }
   672  
   673  // GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest: Request message
   674  // for approving the device to access user data.
   675  type GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest struct {
   676  	// Customer: Optional. Resource name
   677  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
   678  	// you're using this API for your own organization, use `customers/my_customer`
   679  	// If you're using this API to manage another organization, use
   680  	// `customers/{customer}`, where customer is the customer to whom the device
   681  	// belongs.
   682  	Customer string `json:"customer,omitempty"`
   683  	// ForceSendFields is a list of field names (e.g. "Customer") to
   684  	// unconditionally include in API requests. By default, fields with empty or
   685  	// default values are omitted from API requests. See
   686  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   687  	// details.
   688  	ForceSendFields []string `json:"-"`
   689  	// NullFields is a list of field names (e.g. "Customer") to include in API
   690  	// requests with the JSON null value. By default, fields with empty values are
   691  	// omitted from API requests. See
   692  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   693  	NullFields []string `json:"-"`
   694  }
   695  
   696  func (s *GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest) MarshalJSON() ([]byte, error) {
   697  	type NoMethod GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest
   698  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   699  }
   700  
   701  // GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse: Response message
   702  // for approving the device to access user data.
   703  type GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse struct {
   704  	// DeviceUser: Resultant DeviceUser object for the action.
   705  	DeviceUser *GoogleAppsCloudidentityDevicesV1DeviceUser `json:"deviceUser,omitempty"`
   706  	// ForceSendFields is a list of field names (e.g. "DeviceUser") to
   707  	// unconditionally include in API requests. By default, fields with empty or
   708  	// default values are omitted from API requests. See
   709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   710  	// details.
   711  	ForceSendFields []string `json:"-"`
   712  	// NullFields is a list of field names (e.g. "DeviceUser") to include in API
   713  	// requests with the JSON null value. By default, fields with empty values are
   714  	// omitted from API requests. See
   715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   716  	NullFields []string `json:"-"`
   717  }
   718  
   719  func (s *GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse) MarshalJSON() ([]byte, error) {
   720  	type NoMethod GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse
   721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   722  }
   723  
   724  // GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata: Metadata for
   725  // BlockDeviceUser LRO.
   726  type GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata struct {
   727  }
   728  
   729  // GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest: Request message for
   730  // blocking account on device.
   731  type GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest struct {
   732  	// Customer: Optional. Resource name
   733  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
   734  	// you're using this API for your own organization, use `customers/my_customer`
   735  	// If you're using this API to manage another organization, use
   736  	// `customers/{customer}`, where customer is the customer to whom the device
   737  	// belongs.
   738  	Customer string `json:"customer,omitempty"`
   739  	// ForceSendFields is a list of field names (e.g. "Customer") to
   740  	// unconditionally include in API requests. By default, fields with empty or
   741  	// default values are omitted from API requests. See
   742  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   743  	// details.
   744  	ForceSendFields []string `json:"-"`
   745  	// NullFields is a list of field names (e.g. "Customer") to include in API
   746  	// requests with the JSON null value. By default, fields with empty values are
   747  	// omitted from API requests. See
   748  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   749  	NullFields []string `json:"-"`
   750  }
   751  
   752  func (s *GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest) MarshalJSON() ([]byte, error) {
   753  	type NoMethod GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest
   754  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   755  }
   756  
   757  // GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse: Response message
   758  // for blocking the device from accessing user data.
   759  type GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse struct {
   760  	// DeviceUser: Resultant DeviceUser object for the action.
   761  	DeviceUser *GoogleAppsCloudidentityDevicesV1DeviceUser `json:"deviceUser,omitempty"`
   762  	// ForceSendFields is a list of field names (e.g. "DeviceUser") to
   763  	// unconditionally include in API requests. By default, fields with empty or
   764  	// default values are omitted from API requests. See
   765  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   766  	// details.
   767  	ForceSendFields []string `json:"-"`
   768  	// NullFields is a list of field names (e.g. "DeviceUser") to include in API
   769  	// requests with the JSON null value. By default, fields with empty values are
   770  	// omitted from API requests. See
   771  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   772  	NullFields []string `json:"-"`
   773  }
   774  
   775  func (s *GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse) MarshalJSON() ([]byte, error) {
   776  	type NoMethod GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse
   777  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   778  }
   779  
   780  // GoogleAppsCloudidentityDevicesV1BrowserAttributes: Contains information
   781  // about browser profiles reported by the Endpoint Verification extension
   782  // (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).
   783  type GoogleAppsCloudidentityDevicesV1BrowserAttributes struct {
   784  	// ChromeBrowserInfo: Represents the current state of the Chrome browser
   785  	// attributes
   786  	// (https://cloud.google.com/access-context-manager/docs/browser-attributes)
   787  	// sent by the Endpoint Verification extension
   788  	// (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).
   789  	ChromeBrowserInfo *GoogleAppsCloudidentityDevicesV1BrowserInfo `json:"chromeBrowserInfo,omitempty"`
   790  	// ChromeProfileId: Chrome profile ID that is exposed by the Chrome API. It is
   791  	// unique for each device.
   792  	ChromeProfileId string `json:"chromeProfileId,omitempty"`
   793  	// LastProfileSyncTime: Timestamp in milliseconds since Epoch when the
   794  	// profile/gcm id was last synced.
   795  	LastProfileSyncTime string `json:"lastProfileSyncTime,omitempty"`
   796  	// ForceSendFields is a list of field names (e.g. "ChromeBrowserInfo") to
   797  	// unconditionally include in API requests. By default, fields with empty or
   798  	// default values are omitted from API requests. See
   799  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   800  	// details.
   801  	ForceSendFields []string `json:"-"`
   802  	// NullFields is a list of field names (e.g. "ChromeBrowserInfo") to include in
   803  	// API requests with the JSON null value. By default, fields with empty values
   804  	// are omitted from API requests. See
   805  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   806  	NullFields []string `json:"-"`
   807  }
   808  
   809  func (s *GoogleAppsCloudidentityDevicesV1BrowserAttributes) MarshalJSON() ([]byte, error) {
   810  	type NoMethod GoogleAppsCloudidentityDevicesV1BrowserAttributes
   811  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   812  }
   813  
   814  // GoogleAppsCloudidentityDevicesV1BrowserInfo: Browser-specific fields
   815  // reported by the Endpoint Verification extension
   816  // (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).
   817  // LINT.IfChange
   818  type GoogleAppsCloudidentityDevicesV1BrowserInfo struct {
   819  	// BrowserManagementState: Output only. Browser's management state.
   820  	//
   821  	// Possible values:
   822  	//   "UNSPECIFIED" - Management state is not specified.
   823  	//   "UNMANAGED" - Browser/Profile is not managed by any customer.
   824  	//   "MANAGED_BY_OTHER_DOMAIN" - Browser/Profile is managed, but by some other
   825  	// customer.
   826  	//   "PROFILE_MANAGED" - Profile is managed by customer.
   827  	//   "BROWSER_MANAGED" - Browser is managed by customer.
   828  	BrowserManagementState string `json:"browserManagementState,omitempty"`
   829  	// BrowserVersion: Version of the request initiating browser.
   830  	BrowserVersion string `json:"browserVersion,omitempty"`
   831  	// IsBuiltInDnsClientEnabled: Current state of built-in DNS client
   832  	// (https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled).
   833  	IsBuiltInDnsClientEnabled bool `json:"isBuiltInDnsClientEnabled,omitempty"`
   834  	// IsBulkDataEntryAnalysisEnabled: Current state of bulk data analysis
   835  	// (https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector).
   836  	// Set to true if provider list from Chrome is non-empty.
   837  	IsBulkDataEntryAnalysisEnabled bool `json:"isBulkDataEntryAnalysisEnabled,omitempty"`
   838  	// IsChromeCleanupEnabled: Current state of Chrome Cleanup
   839  	// (https://chromeenterprise.google/policies/#ChromeCleanupEnabled).
   840  	IsChromeCleanupEnabled bool `json:"isChromeCleanupEnabled,omitempty"`
   841  	// IsChromeRemoteDesktopAppBlocked: Current state of Chrome Remote Desktop app
   842  	// (https://chromeenterprise.google/policies/#URLBlocklist).
   843  	IsChromeRemoteDesktopAppBlocked bool `json:"isChromeRemoteDesktopAppBlocked,omitempty"`
   844  	// IsFileDownloadAnalysisEnabled: Current state of file download analysis
   845  	// (https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector).
   846  	// Set to true if provider list from Chrome is non-empty.
   847  	IsFileDownloadAnalysisEnabled bool `json:"isFileDownloadAnalysisEnabled,omitempty"`
   848  	// IsFileUploadAnalysisEnabled: Current state of file upload analysis
   849  	// (https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector).
   850  	// Set to true if provider list from Chrome is non-empty.
   851  	IsFileUploadAnalysisEnabled bool `json:"isFileUploadAnalysisEnabled,omitempty"`
   852  	// IsRealtimeUrlCheckEnabled: Current state of real-time URL check
   853  	// (https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode).
   854  	// Set to true if provider list from Chrome is non-empty.
   855  	IsRealtimeUrlCheckEnabled bool `json:"isRealtimeUrlCheckEnabled,omitempty"`
   856  	// IsSecurityEventAnalysisEnabled: Current state of security event analysis
   857  	// (https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector).
   858  	// Set to true if provider list from Chrome is non-empty.
   859  	IsSecurityEventAnalysisEnabled bool `json:"isSecurityEventAnalysisEnabled,omitempty"`
   860  	// IsSiteIsolationEnabled: Current state of site isolation
   861  	// (https://chromeenterprise.google/policies/?policy=IsolateOrigins).
   862  	IsSiteIsolationEnabled bool `json:"isSiteIsolationEnabled,omitempty"`
   863  	// IsThirdPartyBlockingEnabled: Current state of third-party blocking
   864  	// (https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled).
   865  	IsThirdPartyBlockingEnabled bool `json:"isThirdPartyBlockingEnabled,omitempty"`
   866  	// PasswordProtectionWarningTrigger: Current state of password protection
   867  	// trigger
   868  	// (https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger).
   869  	//
   870  	// Possible values:
   871  	//   "PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED" - Password protection is not
   872  	// specified.
   873  	//   "PROTECTION_OFF" - Password reuse is never detected.
   874  	//   "PASSWORD_REUSE" - Warning is shown when the user reuses their protected
   875  	// password on a non-allowed site.
   876  	//   "PHISHING_REUSE" - Warning is shown when the user reuses their protected
   877  	// password on a phishing site.
   878  	PasswordProtectionWarningTrigger string `json:"passwordProtectionWarningTrigger,omitempty"`
   879  	// SafeBrowsingProtectionLevel: Current state of Safe Browsing protection level
   880  	// (https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel).
   881  	//
   882  	// Possible values:
   883  	//   "SAFE_BROWSING_LEVEL_UNSPECIFIED" - Browser protection level is not
   884  	// specified.
   885  	//   "DISABLED" - No protection against dangerous websites, downloads, and
   886  	// extensions.
   887  	//   "STANDARD" - Standard protection against websites, downloads, and
   888  	// extensions that are known to be dangerous.
   889  	//   "ENHANCED" - Faster, proactive protection against dangerous websites,
   890  	// downloads, and extensions.
   891  	SafeBrowsingProtectionLevel string `json:"safeBrowsingProtectionLevel,omitempty"`
   892  	// ForceSendFields is a list of field names (e.g. "BrowserManagementState") to
   893  	// unconditionally include in API requests. By default, fields with empty or
   894  	// default values are omitted from API requests. See
   895  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   896  	// details.
   897  	ForceSendFields []string `json:"-"`
   898  	// NullFields is a list of field names (e.g. "BrowserManagementState") to
   899  	// include in API requests with the JSON null value. By default, fields with
   900  	// empty values are omitted from API requests. See
   901  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   902  	NullFields []string `json:"-"`
   903  }
   904  
   905  func (s *GoogleAppsCloudidentityDevicesV1BrowserInfo) MarshalJSON() ([]byte, error) {
   906  	type NoMethod GoogleAppsCloudidentityDevicesV1BrowserInfo
   907  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   908  }
   909  
   910  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata: Metadata for
   911  // CancelWipeDevice LRO.
   912  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata struct {
   913  }
   914  
   915  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest: Request message for
   916  // cancelling an unfinished device wipe.
   917  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest struct {
   918  	// Customer: Optional. Resource name
   919  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
   920  	// you're using this API for your own organization, use `customers/my_customer`
   921  	// If you're using this API to manage another organization, use
   922  	// `customers/{customer}`, where customer is the customer to whom the device
   923  	// belongs.
   924  	Customer string `json:"customer,omitempty"`
   925  	// ForceSendFields is a list of field names (e.g. "Customer") to
   926  	// unconditionally include in API requests. By default, fields with empty or
   927  	// default values are omitted from API requests. See
   928  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   929  	// details.
   930  	ForceSendFields []string `json:"-"`
   931  	// NullFields is a list of field names (e.g. "Customer") to include in API
   932  	// requests with the JSON null value. By default, fields with empty values are
   933  	// omitted from API requests. See
   934  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   935  	NullFields []string `json:"-"`
   936  }
   937  
   938  func (s *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest) MarshalJSON() ([]byte, error) {
   939  	type NoMethod GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest
   940  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   941  }
   942  
   943  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse: Response message
   944  // for cancelling an unfinished device wipe.
   945  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse struct {
   946  	// Device: Resultant Device object for the action. Note that asset tags will
   947  	// not be returned in the device object.
   948  	Device *GoogleAppsCloudidentityDevicesV1Device `json:"device,omitempty"`
   949  	// ForceSendFields is a list of field names (e.g. "Device") to unconditionally
   950  	// include in API requests. By default, fields with empty or default values are
   951  	// omitted from API requests. See
   952  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   953  	// details.
   954  	ForceSendFields []string `json:"-"`
   955  	// NullFields is a list of field names (e.g. "Device") to include in API
   956  	// requests with the JSON null value. By default, fields with empty values are
   957  	// omitted from API requests. See
   958  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   959  	NullFields []string `json:"-"`
   960  }
   961  
   962  func (s *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse) MarshalJSON() ([]byte, error) {
   963  	type NoMethod GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse
   964  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   965  }
   966  
   967  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata: Metadata for
   968  // CancelWipeDeviceUser LRO.
   969  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata struct {
   970  }
   971  
   972  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest: Request message
   973  // for cancelling an unfinished user account wipe.
   974  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest struct {
   975  	// Customer: Optional. Resource name
   976  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
   977  	// you're using this API for your own organization, use `customers/my_customer`
   978  	// If you're using this API to manage another organization, use
   979  	// `customers/{customer}`, where customer is the customer to whom the device
   980  	// belongs.
   981  	Customer string `json:"customer,omitempty"`
   982  	// ForceSendFields is a list of field names (e.g. "Customer") to
   983  	// unconditionally include in API requests. By default, fields with empty or
   984  	// default values are omitted from API requests. See
   985  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   986  	// details.
   987  	ForceSendFields []string `json:"-"`
   988  	// NullFields is a list of field names (e.g. "Customer") to include in API
   989  	// requests with the JSON null value. By default, fields with empty values are
   990  	// omitted from API requests. See
   991  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   992  	NullFields []string `json:"-"`
   993  }
   994  
   995  func (s *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest) MarshalJSON() ([]byte, error) {
   996  	type NoMethod GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest
   997  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   998  }
   999  
  1000  // GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse: Response
  1001  // message for cancelling an unfinished user account wipe.
  1002  type GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse struct {
  1003  	// DeviceUser: Resultant DeviceUser object for the action.
  1004  	DeviceUser *GoogleAppsCloudidentityDevicesV1DeviceUser `json:"deviceUser,omitempty"`
  1005  	// ForceSendFields is a list of field names (e.g. "DeviceUser") to
  1006  	// unconditionally include in API requests. By default, fields with empty or
  1007  	// default values are omitted from API requests. See
  1008  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1009  	// details.
  1010  	ForceSendFields []string `json:"-"`
  1011  	// NullFields is a list of field names (e.g. "DeviceUser") to include in API
  1012  	// requests with the JSON null value. By default, fields with empty values are
  1013  	// omitted from API requests. See
  1014  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1015  	NullFields []string `json:"-"`
  1016  }
  1017  
  1018  func (s *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse) MarshalJSON() ([]byte, error) {
  1019  	type NoMethod GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse
  1020  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1021  }
  1022  
  1023  // GoogleAppsCloudidentityDevicesV1CertificateAttributes: Stores information
  1024  // about a certificate.
  1025  type GoogleAppsCloudidentityDevicesV1CertificateAttributes struct {
  1026  	// CertificateTemplate: The X.509 extension for CertificateTemplate.
  1027  	CertificateTemplate *GoogleAppsCloudidentityDevicesV1CertificateTemplate `json:"certificateTemplate,omitempty"`
  1028  	// Fingerprint: The encoded certificate fingerprint.
  1029  	Fingerprint string `json:"fingerprint,omitempty"`
  1030  	// Issuer: The name of the issuer of this certificate.
  1031  	Issuer string `json:"issuer,omitempty"`
  1032  	// SerialNumber: Serial number of the certificate, Example: "123456789".
  1033  	SerialNumber string `json:"serialNumber,omitempty"`
  1034  	// Subject: The subject name of this certificate.
  1035  	Subject string `json:"subject,omitempty"`
  1036  	// Thumbprint: The certificate thumbprint.
  1037  	Thumbprint string `json:"thumbprint,omitempty"`
  1038  	// ValidationState: Output only. Validation state of this certificate.
  1039  	//
  1040  	// Possible values:
  1041  	//   "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED" - Default value.
  1042  	//   "VALIDATION_SUCCESSFUL" - Certificate validation was successful.
  1043  	//   "VALIDATION_FAILED" - Certificate validation failed.
  1044  	ValidationState string `json:"validationState,omitempty"`
  1045  	// ValidityExpirationTime: Certificate not valid at or after this timestamp.
  1046  	ValidityExpirationTime string `json:"validityExpirationTime,omitempty"`
  1047  	// ValidityStartTime: Certificate not valid before this timestamp.
  1048  	ValidityStartTime string `json:"validityStartTime,omitempty"`
  1049  	// ForceSendFields is a list of field names (e.g. "CertificateTemplate") to
  1050  	// unconditionally include in API requests. By default, fields with empty or
  1051  	// default values are omitted from API requests. See
  1052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1053  	// details.
  1054  	ForceSendFields []string `json:"-"`
  1055  	// NullFields is a list of field names (e.g. "CertificateTemplate") to include
  1056  	// in API requests with the JSON null value. By default, fields with empty
  1057  	// values are omitted from API requests. See
  1058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1059  	NullFields []string `json:"-"`
  1060  }
  1061  
  1062  func (s *GoogleAppsCloudidentityDevicesV1CertificateAttributes) MarshalJSON() ([]byte, error) {
  1063  	type NoMethod GoogleAppsCloudidentityDevicesV1CertificateAttributes
  1064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1065  }
  1066  
  1067  // GoogleAppsCloudidentityDevicesV1CertificateTemplate: CertificateTemplate (v3
  1068  // Extension in X.509).
  1069  type GoogleAppsCloudidentityDevicesV1CertificateTemplate struct {
  1070  	// Id: The template id of the template. Example:
  1071  	// "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7
  1072  	// 784047".
  1073  	Id string `json:"id,omitempty"`
  1074  	// MajorVersion: The Major version of the template. Example: 100.
  1075  	MajorVersion int64 `json:"majorVersion,omitempty"`
  1076  	// MinorVersion: The minor version of the template. Example: 12.
  1077  	MinorVersion int64 `json:"minorVersion,omitempty"`
  1078  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  1079  	// include in API requests. By default, fields with empty or default values are
  1080  	// omitted from API requests. See
  1081  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1082  	// details.
  1083  	ForceSendFields []string `json:"-"`
  1084  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  1085  	// with the JSON null value. By default, fields with empty values are omitted
  1086  	// from API requests. See
  1087  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1088  	NullFields []string `json:"-"`
  1089  }
  1090  
  1091  func (s *GoogleAppsCloudidentityDevicesV1CertificateTemplate) MarshalJSON() ([]byte, error) {
  1092  	type NoMethod GoogleAppsCloudidentityDevicesV1CertificateTemplate
  1093  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1094  }
  1095  
  1096  // GoogleAppsCloudidentityDevicesV1ClientState: Represents the state associated
  1097  // with an API client calling the Devices API. Resource representing
  1098  // ClientState and supports updates from API users
  1099  type GoogleAppsCloudidentityDevicesV1ClientState struct {
  1100  	// AssetTags: The caller can specify asset tags for this resource
  1101  	AssetTags []string `json:"assetTags,omitempty"`
  1102  	// ComplianceState: The compliance state of the resource as specified by the
  1103  	// API client.
  1104  	//
  1105  	// Possible values:
  1106  	//   "COMPLIANCE_STATE_UNSPECIFIED" - The compliance state of the resource is
  1107  	// unknown or unspecified.
  1108  	//   "COMPLIANT" - Device is compliant with third party policies
  1109  	//   "NON_COMPLIANT" - Device is not compliant with third party policies
  1110  	ComplianceState string `json:"complianceState,omitempty"`
  1111  	// CreateTime: Output only. The time the client state data was created.
  1112  	CreateTime string `json:"createTime,omitempty"`
  1113  	// CustomId: This field may be used to store a unique identifier for the API
  1114  	// resource within which these CustomAttributes are a field.
  1115  	CustomId string `json:"customId,omitempty"`
  1116  	// Etag: The token that needs to be passed back for concurrency control in
  1117  	// updates. Token needs to be passed back in UpdateRequest
  1118  	Etag string `json:"etag,omitempty"`
  1119  	// HealthScore: The Health score of the resource. The Health score is the
  1120  	// callers specification of the condition of the device from a usability point
  1121  	// of view. For example, a third-party device management provider may specify a
  1122  	// health score based on its compliance with organizational policies.
  1123  	//
  1124  	// Possible values:
  1125  	//   "HEALTH_SCORE_UNSPECIFIED" - Default value
  1126  	//   "VERY_POOR" - The object is in very poor health as defined by the caller.
  1127  	//   "POOR" - The object is in poor health as defined by the caller.
  1128  	//   "NEUTRAL" - The object health is neither good nor poor, as defined by the
  1129  	// caller.
  1130  	//   "GOOD" - The object is in good health as defined by the caller.
  1131  	//   "VERY_GOOD" - The object is in very good health as defined by the caller.
  1132  	HealthScore string `json:"healthScore,omitempty"`
  1133  	// KeyValuePairs: The map of key-value attributes stored by callers specific to
  1134  	// a device. The total serialized length of this map may not exceed 10KB. No
  1135  	// limit is placed on the number of attributes in a map.
  1136  	KeyValuePairs map[string]GoogleAppsCloudidentityDevicesV1CustomAttributeValue `json:"keyValuePairs,omitempty"`
  1137  	// LastUpdateTime: Output only. The time the client state data was last
  1138  	// updated.
  1139  	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
  1140  	// Managed: The management state of the resource as specified by the API
  1141  	// client.
  1142  	//
  1143  	// Possible values:
  1144  	//   "MANAGED_STATE_UNSPECIFIED" - The management state of the resource is
  1145  	// unknown or unspecified.
  1146  	//   "MANAGED" - The resource is managed.
  1147  	//   "UNMANAGED" - The resource is not managed.
  1148  	Managed string `json:"managed,omitempty"`
  1149  	// Name: Output only. Resource name
  1150  	// (https://cloud.google.com/apis/design/resource_names) of the ClientState in
  1151  	// format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`,
  1152  	// where partner corresponds to the partner storing the data. For partners
  1153  	// belonging to the "BeyondCorp Alliance", this is the partner ID specified to
  1154  	// you by Google. For all other callers, this is a string of the form:
  1155  	// `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is
  1156  	// any string the caller specifies. This string will be displayed verbatim in
  1157  	// the administration console. This suffix is used in setting up Custom Access
  1158  	// Levels in Context-Aware Access. Your organization's customer ID can be
  1159  	// obtained from the URL: `GET
  1160  	// https://www.googleapis.com/admin/directory/v1/customers/my_customer` The
  1161  	// `id` field in the response contains the customer ID starting with the letter
  1162  	// 'C'. The customer ID to be used in this API is the string after the letter
  1163  	// 'C' (not including 'C')
  1164  	Name string `json:"name,omitempty"`
  1165  	// OwnerType: Output only. The owner of the ClientState
  1166  	//
  1167  	// Possible values:
  1168  	//   "OWNER_TYPE_UNSPECIFIED" - Unknown owner type
  1169  	//   "OWNER_TYPE_CUSTOMER" - Customer is the owner
  1170  	//   "OWNER_TYPE_PARTNER" - Partner is the owner
  1171  	OwnerType string `json:"ownerType,omitempty"`
  1172  	// ScoreReason: A descriptive cause of the health score.
  1173  	ScoreReason string `json:"scoreReason,omitempty"`
  1174  
  1175  	// ServerResponse contains the HTTP response code and headers from the server.
  1176  	googleapi.ServerResponse `json:"-"`
  1177  	// ForceSendFields is a list of field names (e.g. "AssetTags") to
  1178  	// unconditionally include in API requests. By default, fields with empty or
  1179  	// default values are omitted from API requests. See
  1180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1181  	// details.
  1182  	ForceSendFields []string `json:"-"`
  1183  	// NullFields is a list of field names (e.g. "AssetTags") to include in API
  1184  	// requests with the JSON null value. By default, fields with empty values are
  1185  	// omitted from API requests. See
  1186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1187  	NullFields []string `json:"-"`
  1188  }
  1189  
  1190  func (s *GoogleAppsCloudidentityDevicesV1ClientState) MarshalJSON() ([]byte, error) {
  1191  	type NoMethod GoogleAppsCloudidentityDevicesV1ClientState
  1192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1193  }
  1194  
  1195  // GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata: Metadata for
  1196  // CreateDevice LRO.
  1197  type GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata struct {
  1198  }
  1199  
  1200  // GoogleAppsCloudidentityDevicesV1CustomAttributeValue: Additional custom
  1201  // attribute values may be one of these types
  1202  type GoogleAppsCloudidentityDevicesV1CustomAttributeValue struct {
  1203  	// BoolValue: Represents a boolean value.
  1204  	BoolValue bool `json:"boolValue,omitempty"`
  1205  	// NumberValue: Represents a double value.
  1206  	NumberValue float64 `json:"numberValue,omitempty"`
  1207  	// StringValue: Represents a string value.
  1208  	StringValue string `json:"stringValue,omitempty"`
  1209  	// ForceSendFields is a list of field names (e.g. "BoolValue") to
  1210  	// unconditionally include in API requests. By default, fields with empty or
  1211  	// default values are omitted from API requests. See
  1212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1213  	// details.
  1214  	ForceSendFields []string `json:"-"`
  1215  	// NullFields is a list of field names (e.g. "BoolValue") to include in API
  1216  	// requests with the JSON null value. By default, fields with empty values are
  1217  	// omitted from API requests. See
  1218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1219  	NullFields []string `json:"-"`
  1220  }
  1221  
  1222  func (s *GoogleAppsCloudidentityDevicesV1CustomAttributeValue) MarshalJSON() ([]byte, error) {
  1223  	type NoMethod GoogleAppsCloudidentityDevicesV1CustomAttributeValue
  1224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1225  }
  1226  
  1227  func (s *GoogleAppsCloudidentityDevicesV1CustomAttributeValue) UnmarshalJSON(data []byte) error {
  1228  	type NoMethod GoogleAppsCloudidentityDevicesV1CustomAttributeValue
  1229  	var s1 struct {
  1230  		NumberValue gensupport.JSONFloat64 `json:"numberValue"`
  1231  		*NoMethod
  1232  	}
  1233  	s1.NoMethod = (*NoMethod)(s)
  1234  	if err := json.Unmarshal(data, &s1); err != nil {
  1235  		return err
  1236  	}
  1237  	s.NumberValue = float64(s1.NumberValue)
  1238  	return nil
  1239  }
  1240  
  1241  // GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata: Metadata for
  1242  // DeleteDevice LRO.
  1243  type GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata struct {
  1244  }
  1245  
  1246  // GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata: Metadata for
  1247  // DeleteDeviceUser LRO.
  1248  type GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata struct {
  1249  }
  1250  
  1251  // GoogleAppsCloudidentityDevicesV1Device:  A Device within the Cloud Identity
  1252  // Devices API. Represents a Device known to Google Cloud, independent of the
  1253  // device ownership, type, and whether it is assigned or in use by a user.
  1254  type GoogleAppsCloudidentityDevicesV1Device struct {
  1255  	// AndroidSpecificAttributes: Output only. Attributes specific to Android
  1256  	// devices.
  1257  	AndroidSpecificAttributes *GoogleAppsCloudidentityDevicesV1AndroidAttributes `json:"androidSpecificAttributes,omitempty"`
  1258  	// AssetTag: Asset tag of the device.
  1259  	AssetTag string `json:"assetTag,omitempty"`
  1260  	// BasebandVersion: Output only. Baseband version of the device.
  1261  	BasebandVersion string `json:"basebandVersion,omitempty"`
  1262  	// BootloaderVersion: Output only. Device bootloader version. Example: 0.6.7.
  1263  	BootloaderVersion string `json:"bootloaderVersion,omitempty"`
  1264  	// Brand: Output only. Device brand. Example: Samsung.
  1265  	Brand string `json:"brand,omitempty"`
  1266  	// BuildNumber: Output only. Build number of the device.
  1267  	BuildNumber string `json:"buildNumber,omitempty"`
  1268  	// CompromisedState: Output only. Represents whether the Device is compromised.
  1269  	//
  1270  	// Possible values:
  1271  	//   "COMPROMISED_STATE_UNSPECIFIED" - Default value.
  1272  	//   "COMPROMISED" - The device is compromised (currently, this means Android
  1273  	// device is rooted).
  1274  	//   "UNCOMPROMISED" - The device is safe (currently, this means Android device
  1275  	// is unrooted).
  1276  	CompromisedState string `json:"compromisedState,omitempty"`
  1277  	// CreateTime: Output only. When the Company-Owned device was imported. This
  1278  	// field is empty for BYOD devices.
  1279  	CreateTime string `json:"createTime,omitempty"`
  1280  	// DeviceId: Unique identifier for the device.
  1281  	DeviceId string `json:"deviceId,omitempty"`
  1282  	// DeviceType: Output only. Type of device.
  1283  	//
  1284  	// Possible values:
  1285  	//   "DEVICE_TYPE_UNSPECIFIED" - Unknown device type
  1286  	//   "ANDROID" - Device is an Android device
  1287  	//   "IOS" - Device is an iOS device
  1288  	//   "GOOGLE_SYNC" - Device is a Google Sync device.
  1289  	//   "WINDOWS" - Device is a Windows device.
  1290  	//   "MAC_OS" - Device is a MacOS device.
  1291  	//   "LINUX" - Device is a Linux device.
  1292  	//   "CHROME_OS" - Device is a ChromeOS device.
  1293  	DeviceType string `json:"deviceType,omitempty"`
  1294  	// EnabledDeveloperOptions: Output only. Whether developer options is enabled
  1295  	// on device.
  1296  	EnabledDeveloperOptions bool `json:"enabledDeveloperOptions,omitempty"`
  1297  	// EnabledUsbDebugging: Output only. Whether USB debugging is enabled on
  1298  	// device.
  1299  	EnabledUsbDebugging bool `json:"enabledUsbDebugging,omitempty"`
  1300  	// EncryptionState: Output only. Device encryption state.
  1301  	//
  1302  	// Possible values:
  1303  	//   "ENCRYPTION_STATE_UNSPECIFIED" - Encryption Status is not set.
  1304  	//   "UNSUPPORTED_BY_DEVICE" - Device doesn't support encryption.
  1305  	//   "ENCRYPTED" - Device is encrypted.
  1306  	//   "NOT_ENCRYPTED" - Device is not encrypted.
  1307  	EncryptionState string `json:"encryptionState,omitempty"`
  1308  	// EndpointVerificationSpecificAttributes: Output only. Attributes specific to
  1309  	// Endpoint Verification
  1310  	// (https://cloud.google.com/endpoint-verification/docs/overview) devices.
  1311  	EndpointVerificationSpecificAttributes *GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes `json:"endpointVerificationSpecificAttributes,omitempty"`
  1312  	// Hostname: Host name of the device.
  1313  	Hostname string `json:"hostname,omitempty"`
  1314  	// Imei: Output only. IMEI number of device if GSM device; empty otherwise.
  1315  	Imei string `json:"imei,omitempty"`
  1316  	// KernelVersion: Output only. Kernel version of the device.
  1317  	KernelVersion string `json:"kernelVersion,omitempty"`
  1318  	// LastSyncTime: Most recent time when device synced with this service.
  1319  	LastSyncTime string `json:"lastSyncTime,omitempty"`
  1320  	// ManagementState: Output only. Management state of the device
  1321  	//
  1322  	// Possible values:
  1323  	//   "MANAGEMENT_STATE_UNSPECIFIED" - Default value. This value is unused.
  1324  	//   "APPROVED" - Device is approved.
  1325  	//   "BLOCKED" - Device is blocked.
  1326  	//   "PENDING" - Device is pending approval.
  1327  	//   "UNPROVISIONED" - The device is not provisioned. Device will start from
  1328  	// this state until some action is taken (i.e. a user starts using the device).
  1329  	//   "WIPING" - Data and settings on the device are being removed.
  1330  	//   "WIPED" - All data and settings on the device are removed.
  1331  	ManagementState string `json:"managementState,omitempty"`
  1332  	// Manufacturer: Output only. Device manufacturer. Example: Motorola.
  1333  	Manufacturer string `json:"manufacturer,omitempty"`
  1334  	// Meid: Output only. MEID number of device if CDMA device; empty otherwise.
  1335  	Meid string `json:"meid,omitempty"`
  1336  	// Model: Output only. Model name of device. Example: Pixel 3.
  1337  	Model string `json:"model,omitempty"`
  1338  	// Name: Output only. Resource name
  1339  	// (https://cloud.google.com/apis/design/resource_names) of the Device in
  1340  	// format: `devices/{device}`, where device is the unique id assigned to the
  1341  	// Device.
  1342  	Name string `json:"name,omitempty"`
  1343  	// NetworkOperator: Output only. Mobile or network operator of device, if
  1344  	// available.
  1345  	NetworkOperator string `json:"networkOperator,omitempty"`
  1346  	// OsVersion: Output only. OS version of the device. Example: Android 8.1.0.
  1347  	OsVersion string `json:"osVersion,omitempty"`
  1348  	// OtherAccounts: Output only. Domain name for Google accounts on device. Type
  1349  	// for other accounts on device. On Android, will only be populated if
  1350  	// |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include
  1351  	// the account signed in to the device policy app if that account's domain has
  1352  	// only one account. Examples: "com.example", "xyz.com".
  1353  	OtherAccounts []string `json:"otherAccounts,omitempty"`
  1354  	// OwnerType: Output only. Whether the device is owned by the company or an
  1355  	// individual
  1356  	//
  1357  	// Possible values:
  1358  	//   "DEVICE_OWNERSHIP_UNSPECIFIED" - Default value. The value is unused.
  1359  	//   "COMPANY" - Company owns the device.
  1360  	//   "BYOD" - Bring Your Own Device (i.e. individual owns the device)
  1361  	OwnerType string `json:"ownerType,omitempty"`
  1362  	// ReleaseVersion: Output only. OS release version. Example: 6.0.
  1363  	ReleaseVersion string `json:"releaseVersion,omitempty"`
  1364  	// SecurityPatchTime: Output only. OS security patch update time on device.
  1365  	SecurityPatchTime string `json:"securityPatchTime,omitempty"`
  1366  	// SerialNumber: Serial Number of device. Example: HT82V1A01076.
  1367  	SerialNumber string `json:"serialNumber,omitempty"`
  1368  	// UnifiedDeviceId: Output only. Unified device id of the device.
  1369  	UnifiedDeviceId string `json:"unifiedDeviceId,omitempty"`
  1370  	// WifiMacAddresses: WiFi MAC addresses of device.
  1371  	WifiMacAddresses []string `json:"wifiMacAddresses,omitempty"`
  1372  
  1373  	// ServerResponse contains the HTTP response code and headers from the server.
  1374  	googleapi.ServerResponse `json:"-"`
  1375  	// ForceSendFields is a list of field names (e.g. "AndroidSpecificAttributes")
  1376  	// to unconditionally include in API requests. By default, fields with empty or
  1377  	// default values are omitted from API requests. See
  1378  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1379  	// details.
  1380  	ForceSendFields []string `json:"-"`
  1381  	// NullFields is a list of field names (e.g. "AndroidSpecificAttributes") to
  1382  	// include in API requests with the JSON null value. By default, fields with
  1383  	// empty values are omitted from API requests. See
  1384  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1385  	NullFields []string `json:"-"`
  1386  }
  1387  
  1388  func (s *GoogleAppsCloudidentityDevicesV1Device) MarshalJSON() ([]byte, error) {
  1389  	type NoMethod GoogleAppsCloudidentityDevicesV1Device
  1390  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1391  }
  1392  
  1393  // GoogleAppsCloudidentityDevicesV1DeviceUser: Represents a user's use of a
  1394  // Device in the Cloud Identity Devices API. A DeviceUser is a resource
  1395  // representing a user's use of a Device
  1396  type GoogleAppsCloudidentityDevicesV1DeviceUser struct {
  1397  	// CompromisedState: Compromised State of the DeviceUser object
  1398  	//
  1399  	// Possible values:
  1400  	//   "COMPROMISED_STATE_UNSPECIFIED" - Compromised state of Device User account
  1401  	// is unknown or unspecified.
  1402  	//   "COMPROMISED" - Device User Account is compromised.
  1403  	//   "NOT_COMPROMISED" - Device User Account is not compromised.
  1404  	CompromisedState string `json:"compromisedState,omitempty"`
  1405  	// CreateTime: When the user first signed in to the device
  1406  	CreateTime string `json:"createTime,omitempty"`
  1407  	// FirstSyncTime: Output only. Most recent time when user registered with this
  1408  	// service.
  1409  	FirstSyncTime string `json:"firstSyncTime,omitempty"`
  1410  	// LanguageCode: Output only. Default locale used on device, in IETF BCP-47
  1411  	// format.
  1412  	LanguageCode string `json:"languageCode,omitempty"`
  1413  	// LastSyncTime: Output only. Last time when user synced with policies.
  1414  	LastSyncTime string `json:"lastSyncTime,omitempty"`
  1415  	// ManagementState: Output only. Management state of the user on the device.
  1416  	//
  1417  	// Possible values:
  1418  	//   "MANAGEMENT_STATE_UNSPECIFIED" - Default value. This value is unused.
  1419  	//   "WIPING" - This user's data and profile is being removed from the device.
  1420  	//   "WIPED" - This user's data and profile is removed from the device.
  1421  	//   "APPROVED" - User is approved to access data on the device.
  1422  	//   "BLOCKED" - User is blocked from accessing data on the device.
  1423  	//   "PENDING_APPROVAL" - User is awaiting approval.
  1424  	//   "UNENROLLED" - User is unenrolled from Advanced Windows Management, but
  1425  	// the Windows account is still intact.
  1426  	ManagementState string `json:"managementState,omitempty"`
  1427  	// Name: Output only. Resource name
  1428  	// (https://cloud.google.com/apis/design/resource_names) of the DeviceUser in
  1429  	// format: `devices/{device}/deviceUsers/{device_user}`, where `device_user`
  1430  	// uniquely identifies a user's use of a device.
  1431  	Name string `json:"name,omitempty"`
  1432  	// PasswordState: Password state of the DeviceUser object
  1433  	//
  1434  	// Possible values:
  1435  	//   "PASSWORD_STATE_UNSPECIFIED" - Password state not set.
  1436  	//   "PASSWORD_SET" - Password set in object.
  1437  	//   "PASSWORD_NOT_SET" - Password not set in object.
  1438  	PasswordState string `json:"passwordState,omitempty"`
  1439  	// UserAgent: Output only. User agent on the device for this specific user
  1440  	UserAgent string `json:"userAgent,omitempty"`
  1441  	// UserEmail: Email address of the user registered on the device.
  1442  	UserEmail string `json:"userEmail,omitempty"`
  1443  
  1444  	// ServerResponse contains the HTTP response code and headers from the server.
  1445  	googleapi.ServerResponse `json:"-"`
  1446  	// ForceSendFields is a list of field names (e.g. "CompromisedState") to
  1447  	// unconditionally include in API requests. By default, fields with empty or
  1448  	// default values are omitted from API requests. See
  1449  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1450  	// details.
  1451  	ForceSendFields []string `json:"-"`
  1452  	// NullFields is a list of field names (e.g. "CompromisedState") to include in
  1453  	// API requests with the JSON null value. By default, fields with empty values
  1454  	// are omitted from API requests. See
  1455  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1456  	NullFields []string `json:"-"`
  1457  }
  1458  
  1459  func (s *GoogleAppsCloudidentityDevicesV1DeviceUser) MarshalJSON() ([]byte, error) {
  1460  	type NoMethod GoogleAppsCloudidentityDevicesV1DeviceUser
  1461  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1462  }
  1463  
  1464  // GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes:
  1465  // Resource representing the Endpoint Verification-specific attributes
  1466  // (https://cloud.google.com/endpoint-verification/docs/device-information) of
  1467  // a device.
  1468  type GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes struct {
  1469  	// AdditionalSignals: Additional signals reported by Endpoint Verification. It
  1470  	// includes the following attributes: 1. Non-configurable attributes: hotfixes,
  1471  	// av_installed, av_enabled, windows_domain_name,
  1472  	// is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. Configurable
  1473  	// attributes
  1474  	// (https://cloud.google.com/endpoint-verification/docs/collect-config-attributes):
  1475  	// file, folder, and binary attributes; registry entries; and properties in a
  1476  	// plist.
  1477  	AdditionalSignals googleapi.RawMessage `json:"additionalSignals,omitempty"`
  1478  	// BrowserAttributes: Details of browser profiles reported by Endpoint
  1479  	// Verification.
  1480  	BrowserAttributes []*GoogleAppsCloudidentityDevicesV1BrowserAttributes `json:"browserAttributes,omitempty"`
  1481  	// CertificateAttributes: Details of certificates.
  1482  	CertificateAttributes []*GoogleAppsCloudidentityDevicesV1CertificateAttributes `json:"certificateAttributes,omitempty"`
  1483  	// ForceSendFields is a list of field names (e.g. "AdditionalSignals") to
  1484  	// unconditionally include in API requests. By default, fields with empty or
  1485  	// default values are omitted from API requests. See
  1486  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1487  	// details.
  1488  	ForceSendFields []string `json:"-"`
  1489  	// NullFields is a list of field names (e.g. "AdditionalSignals") to include in
  1490  	// API requests with the JSON null value. By default, fields with empty values
  1491  	// are omitted from API requests. See
  1492  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1493  	NullFields []string `json:"-"`
  1494  }
  1495  
  1496  func (s *GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes) MarshalJSON() ([]byte, error) {
  1497  	type NoMethod GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes
  1498  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1499  }
  1500  
  1501  // GoogleAppsCloudidentityDevicesV1ListClientStatesResponse: Response message
  1502  // that is returned in ListClientStates.
  1503  type GoogleAppsCloudidentityDevicesV1ListClientStatesResponse struct {
  1504  	// ClientStates: Client states meeting the list restrictions.
  1505  	ClientStates []*GoogleAppsCloudidentityDevicesV1ClientState `json:"clientStates,omitempty"`
  1506  	// NextPageToken: Token to retrieve the next page of results. Empty if there
  1507  	// are no more results.
  1508  	NextPageToken string `json:"nextPageToken,omitempty"`
  1509  
  1510  	// ServerResponse contains the HTTP response code and headers from the server.
  1511  	googleapi.ServerResponse `json:"-"`
  1512  	// ForceSendFields is a list of field names (e.g. "ClientStates") to
  1513  	// unconditionally include in API requests. By default, fields with empty or
  1514  	// default values are omitted from API requests. See
  1515  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1516  	// details.
  1517  	ForceSendFields []string `json:"-"`
  1518  	// NullFields is a list of field names (e.g. "ClientStates") to include in API
  1519  	// requests with the JSON null value. By default, fields with empty values are
  1520  	// omitted from API requests. See
  1521  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1522  	NullFields []string `json:"-"`
  1523  }
  1524  
  1525  func (s *GoogleAppsCloudidentityDevicesV1ListClientStatesResponse) MarshalJSON() ([]byte, error) {
  1526  	type NoMethod GoogleAppsCloudidentityDevicesV1ListClientStatesResponse
  1527  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1528  }
  1529  
  1530  // GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse: Response message
  1531  // that is returned from the ListDeviceUsers method.
  1532  type GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse struct {
  1533  	// DeviceUsers: Devices meeting the list restrictions.
  1534  	DeviceUsers []*GoogleAppsCloudidentityDevicesV1DeviceUser `json:"deviceUsers,omitempty"`
  1535  	// NextPageToken: Token to retrieve the next page of results. Empty if there
  1536  	// are no more results.
  1537  	NextPageToken string `json:"nextPageToken,omitempty"`
  1538  
  1539  	// ServerResponse contains the HTTP response code and headers from the server.
  1540  	googleapi.ServerResponse `json:"-"`
  1541  	// ForceSendFields is a list of field names (e.g. "DeviceUsers") to
  1542  	// unconditionally include in API requests. By default, fields with empty or
  1543  	// default values are omitted from API requests. See
  1544  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1545  	// details.
  1546  	ForceSendFields []string `json:"-"`
  1547  	// NullFields is a list of field names (e.g. "DeviceUsers") to include in API
  1548  	// requests with the JSON null value. By default, fields with empty values are
  1549  	// omitted from API requests. See
  1550  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1551  	NullFields []string `json:"-"`
  1552  }
  1553  
  1554  func (s *GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse) MarshalJSON() ([]byte, error) {
  1555  	type NoMethod GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse
  1556  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1557  }
  1558  
  1559  // GoogleAppsCloudidentityDevicesV1ListDevicesResponse: Response message that
  1560  // is returned from the ListDevices method.
  1561  type GoogleAppsCloudidentityDevicesV1ListDevicesResponse struct {
  1562  	// Devices: Devices meeting the list restrictions.
  1563  	Devices []*GoogleAppsCloudidentityDevicesV1Device `json:"devices,omitempty"`
  1564  	// NextPageToken: Token to retrieve the next page of results. Empty if there
  1565  	// are no more results.
  1566  	NextPageToken string `json:"nextPageToken,omitempty"`
  1567  
  1568  	// ServerResponse contains the HTTP response code and headers from the server.
  1569  	googleapi.ServerResponse `json:"-"`
  1570  	// ForceSendFields is a list of field names (e.g. "Devices") to unconditionally
  1571  	// include in API requests. By default, fields with empty or default values are
  1572  	// omitted from API requests. See
  1573  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1574  	// details.
  1575  	ForceSendFields []string `json:"-"`
  1576  	// NullFields is a list of field names (e.g. "Devices") to include in API
  1577  	// requests with the JSON null value. By default, fields with empty values are
  1578  	// omitted from API requests. See
  1579  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1580  	NullFields []string `json:"-"`
  1581  }
  1582  
  1583  func (s *GoogleAppsCloudidentityDevicesV1ListDevicesResponse) MarshalJSON() ([]byte, error) {
  1584  	type NoMethod GoogleAppsCloudidentityDevicesV1ListDevicesResponse
  1585  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1586  }
  1587  
  1588  // GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata: Metadata for
  1589  // ListEndpointApps LRO.
  1590  type GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata struct {
  1591  }
  1592  
  1593  // GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse: Response
  1594  // containing resource names of the DeviceUsers associated with the caller's
  1595  // credentials.
  1596  type GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse struct {
  1597  	// Customer: The customer resource name that may be passed back to other
  1598  	// Devices API methods such as List, Get, etc.
  1599  	Customer string `json:"customer,omitempty"`
  1600  	// Names: Resource names (https://cloud.google.com/apis/design/resource_names)
  1601  	// of the DeviceUsers in the format:
  1602  	// `devices/{device}/deviceUsers/{user_resource}`, where device is the unique
  1603  	// ID assigned to a Device and user_resource is the unique user ID
  1604  	Names []string `json:"names,omitempty"`
  1605  	// NextPageToken: Token to retrieve the next page of results. Empty if there
  1606  	// are no more results.
  1607  	NextPageToken string `json:"nextPageToken,omitempty"`
  1608  
  1609  	// ServerResponse contains the HTTP response code and headers from the server.
  1610  	googleapi.ServerResponse `json:"-"`
  1611  	// ForceSendFields is a list of field names (e.g. "Customer") to
  1612  	// unconditionally include in API requests. By default, fields with empty or
  1613  	// default values are omitted from API requests. See
  1614  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1615  	// details.
  1616  	ForceSendFields []string `json:"-"`
  1617  	// NullFields is a list of field names (e.g. "Customer") to include in API
  1618  	// requests with the JSON null value. By default, fields with empty values are
  1619  	// omitted from API requests. See
  1620  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1621  	NullFields []string `json:"-"`
  1622  }
  1623  
  1624  func (s *GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse) MarshalJSON() ([]byte, error) {
  1625  	type NoMethod GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse
  1626  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1627  }
  1628  
  1629  // GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata: Metadata for
  1630  // SignoutDeviceUser LRO.
  1631  type GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata struct {
  1632  }
  1633  
  1634  // GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata: Metadata for
  1635  // UpdateClientState LRO.
  1636  type GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata struct {
  1637  }
  1638  
  1639  // GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata: Metadata for
  1640  // UpdateDevice LRO.
  1641  type GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata struct {
  1642  }
  1643  
  1644  // GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata: Metadata for WipeDevice
  1645  // LRO.
  1646  type GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata struct {
  1647  }
  1648  
  1649  // GoogleAppsCloudidentityDevicesV1WipeDeviceRequest: Request message for
  1650  // wiping all data on the device.
  1651  type GoogleAppsCloudidentityDevicesV1WipeDeviceRequest struct {
  1652  	// Customer: Optional. Resource name
  1653  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
  1654  	// you're using this API for your own organization, use `customers/my_customer`
  1655  	// If you're using this API to manage another organization, use
  1656  	// `customers/{customer}`, where customer is the customer to whom the device
  1657  	// belongs.
  1658  	Customer string `json:"customer,omitempty"`
  1659  	// RemoveResetLock: Optional. Specifies if a user is able to factory reset a
  1660  	// device after a Device Wipe. On iOS, this is called "Activation Lock", while
  1661  	// on Android, this is known as "Factory Reset Protection". If true, this
  1662  	// protection will be removed from the device, so that a user can successfully
  1663  	// factory reset. If false, the setting is untouched on the device.
  1664  	RemoveResetLock bool `json:"removeResetLock,omitempty"`
  1665  	// ForceSendFields is a list of field names (e.g. "Customer") to
  1666  	// unconditionally include in API requests. By default, fields with empty or
  1667  	// default values are omitted from API requests. See
  1668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1669  	// details.
  1670  	ForceSendFields []string `json:"-"`
  1671  	// NullFields is a list of field names (e.g. "Customer") to include in API
  1672  	// requests with the JSON null value. By default, fields with empty values are
  1673  	// omitted from API requests. See
  1674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1675  	NullFields []string `json:"-"`
  1676  }
  1677  
  1678  func (s *GoogleAppsCloudidentityDevicesV1WipeDeviceRequest) MarshalJSON() ([]byte, error) {
  1679  	type NoMethod GoogleAppsCloudidentityDevicesV1WipeDeviceRequest
  1680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1681  }
  1682  
  1683  // GoogleAppsCloudidentityDevicesV1WipeDeviceResponse: Response message for
  1684  // wiping all data on the device.
  1685  type GoogleAppsCloudidentityDevicesV1WipeDeviceResponse struct {
  1686  	// Device: Resultant Device object for the action. Note that asset tags will
  1687  	// not be returned in the device object.
  1688  	Device *GoogleAppsCloudidentityDevicesV1Device `json:"device,omitempty"`
  1689  	// ForceSendFields is a list of field names (e.g. "Device") to unconditionally
  1690  	// include in API requests. By default, fields with empty or default values are
  1691  	// omitted from API requests. See
  1692  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1693  	// details.
  1694  	ForceSendFields []string `json:"-"`
  1695  	// NullFields is a list of field names (e.g. "Device") to include in API
  1696  	// requests with the JSON null value. By default, fields with empty values are
  1697  	// omitted from API requests. See
  1698  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1699  	NullFields []string `json:"-"`
  1700  }
  1701  
  1702  func (s *GoogleAppsCloudidentityDevicesV1WipeDeviceResponse) MarshalJSON() ([]byte, error) {
  1703  	type NoMethod GoogleAppsCloudidentityDevicesV1WipeDeviceResponse
  1704  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1705  }
  1706  
  1707  // GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata: Metadata for
  1708  // WipeDeviceUser LRO.
  1709  type GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata struct {
  1710  }
  1711  
  1712  // GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest: Request message for
  1713  // starting an account wipe on device.
  1714  type GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest struct {
  1715  	// Customer: Optional. Resource name
  1716  	// (https://cloud.google.com/apis/design/resource_names) of the customer. If
  1717  	// you're using this API for your own organization, use `customers/my_customer`
  1718  	// If you're using this API to manage another organization, use
  1719  	// `customers/{customer}`, where customer is the customer to whom the device
  1720  	// belongs.
  1721  	Customer string `json:"customer,omitempty"`
  1722  	// ForceSendFields is a list of field names (e.g. "Customer") to
  1723  	// unconditionally include in API requests. By default, fields with empty or
  1724  	// default values are omitted from API requests. See
  1725  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1726  	// details.
  1727  	ForceSendFields []string `json:"-"`
  1728  	// NullFields is a list of field names (e.g. "Customer") to include in API
  1729  	// requests with the JSON null value. By default, fields with empty values are
  1730  	// omitted from API requests. See
  1731  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1732  	NullFields []string `json:"-"`
  1733  }
  1734  
  1735  func (s *GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest) MarshalJSON() ([]byte, error) {
  1736  	type NoMethod GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest
  1737  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1738  }
  1739  
  1740  // GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse: Response message for
  1741  // wiping the user's account from the device.
  1742  type GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse struct {
  1743  	// DeviceUser: Resultant DeviceUser object for the action.
  1744  	DeviceUser *GoogleAppsCloudidentityDevicesV1DeviceUser `json:"deviceUser,omitempty"`
  1745  	// ForceSendFields is a list of field names (e.g. "DeviceUser") to
  1746  	// unconditionally include in API requests. By default, fields with empty or
  1747  	// default values are omitted from API requests. See
  1748  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1749  	// details.
  1750  	ForceSendFields []string `json:"-"`
  1751  	// NullFields is a list of field names (e.g. "DeviceUser") to include in API
  1752  	// requests with the JSON null value. By default, fields with empty values are
  1753  	// omitted from API requests. See
  1754  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1755  	NullFields []string `json:"-"`
  1756  }
  1757  
  1758  func (s *GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse) MarshalJSON() ([]byte, error) {
  1759  	type NoMethod GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse
  1760  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1761  }
  1762  
  1763  // Group: A group within the Cloud Identity Groups API. A `Group` is a
  1764  // collection of entities, where each entity is either a user, another group,
  1765  // or a service account.
  1766  type Group struct {
  1767  	// AdditionalGroupKeys: Output only. Additional group keys associated with the
  1768  	// Group.
  1769  	AdditionalGroupKeys []*EntityKey `json:"additionalGroupKeys,omitempty"`
  1770  	// CreateTime: Output only. The time when the `Group` was created.
  1771  	CreateTime string `json:"createTime,omitempty"`
  1772  	// Description: An extended description to help users determine the purpose of
  1773  	// a `Group`. Must not be longer than 4,096 characters.
  1774  	Description string `json:"description,omitempty"`
  1775  	// DisplayName: The display name of the `Group`.
  1776  	DisplayName string `json:"displayName,omitempty"`
  1777  	// DynamicGroupMetadata: Optional. Dynamic group metadata like queries and
  1778  	// status.
  1779  	DynamicGroupMetadata *DynamicGroupMetadata `json:"dynamicGroupMetadata,omitempty"`
  1780  	// GroupKey: Required. The `EntityKey` of the `Group`.
  1781  	GroupKey *EntityKey `json:"groupKey,omitempty"`
  1782  	// Labels: Required. One or more label entries that apply to the Group.
  1783  	// Currently supported labels contain a key with an empty value. Google Groups
  1784  	// are the default type of group and have a label with a key of
  1785  	// `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value.
  1786  	// Existing Google Groups can have an additional label with a key of
  1787  	// `cloudidentity.googleapis.com/groups.security` and an empty value added to
  1788  	// them. **This is an immutable change and the security label cannot be removed
  1789  	// once added.** Dynamic groups have a label with a key of
  1790  	// `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for
  1791  	// Cloud Search have a label with a key of `system/groups/external` and an
  1792  	// empty value.
  1793  	Labels map[string]string `json:"labels,omitempty"`
  1794  	// Name: Output only. The resource name
  1795  	// (https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall
  1796  	// be of the form `groups/{group}`.
  1797  	Name string `json:"name,omitempty"`
  1798  	// Parent: Required. Immutable. The resource name of the entity under which
  1799  	// this `Group` resides in the Cloud Identity resource hierarchy. Must be of
  1800  	// the form `identitysources/{identity_source}` for external identity-mapped
  1801  	// groups (https://support.google.com/a/answer/9039510) or
  1802  	// `customers/{customer_id}` for Google Groups. The `customer_id` must begin
  1803  	// with "C" (for example, 'C046psxkn'). [Find your customer ID.]
  1804  	// (https://support.google.com/cloudidentity/answer/10070793)
  1805  	Parent string `json:"parent,omitempty"`
  1806  	// UpdateTime: Output only. The time when the `Group` was last updated.
  1807  	UpdateTime string `json:"updateTime,omitempty"`
  1808  
  1809  	// ServerResponse contains the HTTP response code and headers from the server.
  1810  	googleapi.ServerResponse `json:"-"`
  1811  	// ForceSendFields is a list of field names (e.g. "AdditionalGroupKeys") to
  1812  	// unconditionally include in API requests. By default, fields with empty or
  1813  	// default values are omitted from API requests. See
  1814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1815  	// details.
  1816  	ForceSendFields []string `json:"-"`
  1817  	// NullFields is a list of field names (e.g. "AdditionalGroupKeys") to include
  1818  	// in API requests with the JSON null value. By default, fields with empty
  1819  	// values are omitted from API requests. See
  1820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1821  	NullFields []string `json:"-"`
  1822  }
  1823  
  1824  func (s *Group) MarshalJSON() ([]byte, error) {
  1825  	type NoMethod Group
  1826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1827  }
  1828  
  1829  // GroupRelation: Message representing a transitive group of a user or a group.
  1830  type GroupRelation struct {
  1831  	// DisplayName: Display name for this group.
  1832  	DisplayName string `json:"displayName,omitempty"`
  1833  	// Group: Resource name for this group.
  1834  	Group string `json:"group,omitempty"`
  1835  	// GroupKey: Entity key has an id and a namespace. In case of discussion
  1836  	// forums, the id will be an email address without a namespace.
  1837  	GroupKey *EntityKey `json:"groupKey,omitempty"`
  1838  	// Labels: Labels for Group resource.
  1839  	Labels map[string]string `json:"labels,omitempty"`
  1840  	// RelationType: The relation between the member and the transitive group.
  1841  	//
  1842  	// Possible values:
  1843  	//   "RELATION_TYPE_UNSPECIFIED" - The relation type is undefined or
  1844  	// undetermined.
  1845  	//   "DIRECT" - The two entities have only a direct membership with each other.
  1846  	//   "INDIRECT" - The two entities have only an indirect membership with each
  1847  	// other.
  1848  	//   "DIRECT_AND_INDIRECT" - The two entities have both a direct and an
  1849  	// indirect membership with each other.
  1850  	RelationType string `json:"relationType,omitempty"`
  1851  	// Roles: Membership roles of the member for the group.
  1852  	Roles []*TransitiveMembershipRole `json:"roles,omitempty"`
  1853  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1854  	// unconditionally include in API requests. By default, fields with empty or
  1855  	// default values are omitted from API requests. See
  1856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1857  	// details.
  1858  	ForceSendFields []string `json:"-"`
  1859  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1860  	// requests with the JSON null value. By default, fields with empty values are
  1861  	// omitted from API requests. See
  1862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1863  	NullFields []string `json:"-"`
  1864  }
  1865  
  1866  func (s *GroupRelation) MarshalJSON() ([]byte, error) {
  1867  	type NoMethod GroupRelation
  1868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1869  }
  1870  
  1871  // IdpCredential: Credential for verifying signatures produced by the Identity
  1872  // Provider.
  1873  type IdpCredential struct {
  1874  	// DsaKeyInfo: Output only. Information of a DSA public key.
  1875  	DsaKeyInfo *DsaPublicKeyInfo `json:"dsaKeyInfo,omitempty"`
  1876  	// Name: Output only. Resource name
  1877  	// (https://cloud.google.com/apis/design/resource_names) of the credential.
  1878  	Name string `json:"name,omitempty"`
  1879  	// RsaKeyInfo: Output only. Information of a RSA public key.
  1880  	RsaKeyInfo *RsaPublicKeyInfo `json:"rsaKeyInfo,omitempty"`
  1881  	// UpdateTime: Output only. Time when the `IdpCredential` was last updated.
  1882  	UpdateTime string `json:"updateTime,omitempty"`
  1883  
  1884  	// ServerResponse contains the HTTP response code and headers from the server.
  1885  	googleapi.ServerResponse `json:"-"`
  1886  	// ForceSendFields is a list of field names (e.g. "DsaKeyInfo") to
  1887  	// unconditionally include in API requests. By default, fields with empty or
  1888  	// default values are omitted from API requests. See
  1889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1890  	// details.
  1891  	ForceSendFields []string `json:"-"`
  1892  	// NullFields is a list of field names (e.g. "DsaKeyInfo") to include in API
  1893  	// requests with the JSON null value. By default, fields with empty values are
  1894  	// omitted from API requests. See
  1895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1896  	NullFields []string `json:"-"`
  1897  }
  1898  
  1899  func (s *IdpCredential) MarshalJSON() ([]byte, error) {
  1900  	type NoMethod IdpCredential
  1901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1902  }
  1903  
  1904  // InboundSamlSsoProfile: A SAML 2.0
  1905  // (https://www.oasis-open.org/standards#samlv2.0) federation between a Google
  1906  // enterprise customer and a SAML identity provider.
  1907  type InboundSamlSsoProfile struct {
  1908  	// Customer: Immutable. The customer. For example: `customers/C0123abc`.
  1909  	Customer string `json:"customer,omitempty"`
  1910  	// DisplayName: Human-readable name of the SAML SSO profile.
  1911  	DisplayName string `json:"displayName,omitempty"`
  1912  	// IdpConfig: SAML identity provider configuration.
  1913  	IdpConfig *SamlIdpConfig `json:"idpConfig,omitempty"`
  1914  	// Name: Output only. Resource name
  1915  	// (https://cloud.google.com/apis/design/resource_names) of the SAML SSO
  1916  	// profile.
  1917  	Name string `json:"name,omitempty"`
  1918  	// SpConfig: SAML service provider configuration for this SAML SSO profile.
  1919  	// These are the service provider details provided by Google that should be
  1920  	// configured on the corresponding identity provider.
  1921  	SpConfig *SamlSpConfig `json:"spConfig,omitempty"`
  1922  
  1923  	// ServerResponse contains the HTTP response code and headers from the server.
  1924  	googleapi.ServerResponse `json:"-"`
  1925  	// ForceSendFields is a list of field names (e.g. "Customer") to
  1926  	// unconditionally include in API requests. By default, fields with empty or
  1927  	// default values are omitted from API requests. See
  1928  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1929  	// details.
  1930  	ForceSendFields []string `json:"-"`
  1931  	// NullFields is a list of field names (e.g. "Customer") to include in API
  1932  	// requests with the JSON null value. By default, fields with empty values are
  1933  	// omitted from API requests. See
  1934  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1935  	NullFields []string `json:"-"`
  1936  }
  1937  
  1938  func (s *InboundSamlSsoProfile) MarshalJSON() ([]byte, error) {
  1939  	type NoMethod InboundSamlSsoProfile
  1940  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1941  }
  1942  
  1943  // InboundSsoAssignment: Targets with "set" SSO assignments and their
  1944  // respective assignments.
  1945  type InboundSsoAssignment struct {
  1946  	// Customer: Immutable. The customer. For example: `customers/C0123abc`.
  1947  	Customer string `json:"customer,omitempty"`
  1948  	// Name: Output only. Resource name
  1949  	// (https://cloud.google.com/apis/design/resource_names) of the Inbound SSO
  1950  	// Assignment.
  1951  	Name string `json:"name,omitempty"`
  1952  	// Rank: Must be zero (which is the default value so it can be omitted) for
  1953  	// assignments with `target_org_unit` set and must be greater-than-or-equal-to
  1954  	// one for assignments with `target_group` set.
  1955  	Rank int64 `json:"rank,omitempty"`
  1956  	// SamlSsoInfo: SAML SSO details. Must be set if and only if `sso_mode` is set
  1957  	// to `SAML_SSO`.
  1958  	SamlSsoInfo *SamlSsoInfo `json:"samlSsoInfo,omitempty"`
  1959  	// SignInBehavior: Assertions about users assigned to an IdP will always be
  1960  	// accepted from that IdP. This controls whether/when Google should redirect a
  1961  	// user to the IdP. Unset (defaults) is the recommended configuration.
  1962  	SignInBehavior *SignInBehavior `json:"signInBehavior,omitempty"`
  1963  	// SsoMode: Inbound SSO behavior.
  1964  	//
  1965  	// Possible values:
  1966  	//   "SSO_MODE_UNSPECIFIED" - Not allowed.
  1967  	//   "SSO_OFF" - Disable SSO for the targeted users.
  1968  	//   "SAML_SSO" - Use an external SAML Identity Provider for SSO for the
  1969  	// targeted users.
  1970  	//   "DOMAIN_WIDE_SAML_IF_ENABLED" - Use the domain-wide SAML Identity Provider
  1971  	// for the targeted users if one is configured; otherwise, this is equivalent
  1972  	// to `SSO_OFF`. Note that this will also be equivalent to `SSO_OFF` if/when
  1973  	// support for domain-wide SAML is removed. Google may disallow this mode at
  1974  	// that point and existing assignments with this mode may be automatically
  1975  	// changed to `SSO_OFF`.
  1976  	SsoMode string `json:"ssoMode,omitempty"`
  1977  	// TargetGroup: Immutable. Must be of the form `groups/{group}`.
  1978  	TargetGroup string `json:"targetGroup,omitempty"`
  1979  	// TargetOrgUnit: Immutable. Must be of the form `orgUnits/{org_unit}`.
  1980  	TargetOrgUnit string `json:"targetOrgUnit,omitempty"`
  1981  
  1982  	// ServerResponse contains the HTTP response code and headers from the server.
  1983  	googleapi.ServerResponse `json:"-"`
  1984  	// ForceSendFields is a list of field names (e.g. "Customer") to
  1985  	// unconditionally include in API requests. By default, fields with empty or
  1986  	// default values are omitted from API requests. See
  1987  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1988  	// details.
  1989  	ForceSendFields []string `json:"-"`
  1990  	// NullFields is a list of field names (e.g. "Customer") to include in API
  1991  	// requests with the JSON null value. By default, fields with empty values are
  1992  	// omitted from API requests. See
  1993  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1994  	NullFields []string `json:"-"`
  1995  }
  1996  
  1997  func (s *InboundSsoAssignment) MarshalJSON() ([]byte, error) {
  1998  	type NoMethod InboundSsoAssignment
  1999  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2000  }
  2001  
  2002  // IsInvitableUserResponse: Response for IsInvitableUser RPC.
  2003  type IsInvitableUserResponse struct {
  2004  	// IsInvitableUser: Returns true if the email address is invitable.
  2005  	IsInvitableUser bool `json:"isInvitableUser,omitempty"`
  2006  
  2007  	// ServerResponse contains the HTTP response code and headers from the server.
  2008  	googleapi.ServerResponse `json:"-"`
  2009  	// ForceSendFields is a list of field names (e.g. "IsInvitableUser") to
  2010  	// unconditionally include in API requests. By default, fields with empty or
  2011  	// default values are omitted from API requests. See
  2012  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2013  	// details.
  2014  	ForceSendFields []string `json:"-"`
  2015  	// NullFields is a list of field names (e.g. "IsInvitableUser") to include in
  2016  	// API requests with the JSON null value. By default, fields with empty values
  2017  	// are omitted from API requests. See
  2018  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2019  	NullFields []string `json:"-"`
  2020  }
  2021  
  2022  func (s *IsInvitableUserResponse) MarshalJSON() ([]byte, error) {
  2023  	type NoMethod IsInvitableUserResponse
  2024  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2025  }
  2026  
  2027  // ListGroupsResponse: Response message for ListGroups operation.
  2028  type ListGroupsResponse struct {
  2029  	// Groups: Groups returned in response to list request. The results are not
  2030  	// sorted.
  2031  	Groups []*Group `json:"groups,omitempty"`
  2032  	// NextPageToken: Token to retrieve the next page of results, or empty if there
  2033  	// are no more results available for listing.
  2034  	NextPageToken string `json:"nextPageToken,omitempty"`
  2035  
  2036  	// ServerResponse contains the HTTP response code and headers from the server.
  2037  	googleapi.ServerResponse `json:"-"`
  2038  	// ForceSendFields is a list of field names (e.g. "Groups") to unconditionally
  2039  	// include in API requests. By default, fields with empty or default values are
  2040  	// omitted from API requests. See
  2041  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2042  	// details.
  2043  	ForceSendFields []string `json:"-"`
  2044  	// NullFields is a list of field names (e.g. "Groups") to include in API
  2045  	// requests with the JSON null value. By default, fields with empty values are
  2046  	// omitted from API requests. See
  2047  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2048  	NullFields []string `json:"-"`
  2049  }
  2050  
  2051  func (s *ListGroupsResponse) MarshalJSON() ([]byte, error) {
  2052  	type NoMethod ListGroupsResponse
  2053  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2054  }
  2055  
  2056  // ListIdpCredentialsResponse: Response of the
  2057  // InboundSamlSsoProfilesService.ListIdpCredentials method.
  2058  type ListIdpCredentialsResponse struct {
  2059  	// IdpCredentials: The IdpCredentials from the specified InboundSamlSsoProfile.
  2060  	IdpCredentials []*IdpCredential `json:"idpCredentials,omitempty"`
  2061  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  2062  	// next page. If this field is omitted, there are no subsequent pages.
  2063  	NextPageToken string `json:"nextPageToken,omitempty"`
  2064  
  2065  	// ServerResponse contains the HTTP response code and headers from the server.
  2066  	googleapi.ServerResponse `json:"-"`
  2067  	// ForceSendFields is a list of field names (e.g. "IdpCredentials") to
  2068  	// unconditionally include in API requests. By default, fields with empty or
  2069  	// default values are omitted from API requests. See
  2070  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2071  	// details.
  2072  	ForceSendFields []string `json:"-"`
  2073  	// NullFields is a list of field names (e.g. "IdpCredentials") to include in
  2074  	// API requests with the JSON null value. By default, fields with empty values
  2075  	// are omitted from API requests. See
  2076  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2077  	NullFields []string `json:"-"`
  2078  }
  2079  
  2080  func (s *ListIdpCredentialsResponse) MarshalJSON() ([]byte, error) {
  2081  	type NoMethod ListIdpCredentialsResponse
  2082  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2083  }
  2084  
  2085  // ListInboundSamlSsoProfilesResponse: Response of the
  2086  // InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.
  2087  type ListInboundSamlSsoProfilesResponse struct {
  2088  	// InboundSamlSsoProfiles: List of InboundSamlSsoProfiles.
  2089  	InboundSamlSsoProfiles []*InboundSamlSsoProfile `json:"inboundSamlSsoProfiles,omitempty"`
  2090  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  2091  	// next page. If this field is omitted, there are no subsequent pages.
  2092  	NextPageToken string `json:"nextPageToken,omitempty"`
  2093  
  2094  	// ServerResponse contains the HTTP response code and headers from the server.
  2095  	googleapi.ServerResponse `json:"-"`
  2096  	// ForceSendFields is a list of field names (e.g. "InboundSamlSsoProfiles") to
  2097  	// unconditionally include in API requests. By default, fields with empty or
  2098  	// default values are omitted from API requests. See
  2099  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2100  	// details.
  2101  	ForceSendFields []string `json:"-"`
  2102  	// NullFields is a list of field names (e.g. "InboundSamlSsoProfiles") to
  2103  	// include in API requests with the JSON null value. By default, fields with
  2104  	// empty values are omitted from API requests. See
  2105  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2106  	NullFields []string `json:"-"`
  2107  }
  2108  
  2109  func (s *ListInboundSamlSsoProfilesResponse) MarshalJSON() ([]byte, error) {
  2110  	type NoMethod ListInboundSamlSsoProfilesResponse
  2111  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2112  }
  2113  
  2114  // ListInboundSsoAssignmentsResponse: Response of the
  2115  // InboundSsoAssignmentsService.ListInboundSsoAssignments method.
  2116  type ListInboundSsoAssignmentsResponse struct {
  2117  	// InboundSsoAssignments: The assignments.
  2118  	InboundSsoAssignments []*InboundSsoAssignment `json:"inboundSsoAssignments,omitempty"`
  2119  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  2120  	// next page. If this field is omitted, there are no subsequent pages.
  2121  	NextPageToken string `json:"nextPageToken,omitempty"`
  2122  
  2123  	// ServerResponse contains the HTTP response code and headers from the server.
  2124  	googleapi.ServerResponse `json:"-"`
  2125  	// ForceSendFields is a list of field names (e.g. "InboundSsoAssignments") to
  2126  	// unconditionally include in API requests. By default, fields with empty or
  2127  	// default values are omitted from API requests. See
  2128  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2129  	// details.
  2130  	ForceSendFields []string `json:"-"`
  2131  	// NullFields is a list of field names (e.g. "InboundSsoAssignments") to
  2132  	// include in API requests with the JSON null value. By default, fields with
  2133  	// empty values are omitted from API requests. See
  2134  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2135  	NullFields []string `json:"-"`
  2136  }
  2137  
  2138  func (s *ListInboundSsoAssignmentsResponse) MarshalJSON() ([]byte, error) {
  2139  	type NoMethod ListInboundSsoAssignmentsResponse
  2140  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2141  }
  2142  
  2143  // ListMembershipsResponse: The response message for
  2144  // MembershipsService.ListMemberships.
  2145  type ListMembershipsResponse struct {
  2146  	// Memberships: The `Membership`s under the specified `parent`.
  2147  	Memberships []*Membership `json:"memberships,omitempty"`
  2148  	// NextPageToken: A continuation token to retrieve the next page of results, or
  2149  	// empty if there are no more results available.
  2150  	NextPageToken string `json:"nextPageToken,omitempty"`
  2151  
  2152  	// ServerResponse contains the HTTP response code and headers from the server.
  2153  	googleapi.ServerResponse `json:"-"`
  2154  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  2155  	// unconditionally include in API requests. By default, fields with empty or
  2156  	// default values are omitted from API requests. See
  2157  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2158  	// details.
  2159  	ForceSendFields []string `json:"-"`
  2160  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  2161  	// requests with the JSON null value. By default, fields with empty values are
  2162  	// omitted from API requests. See
  2163  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2164  	NullFields []string `json:"-"`
  2165  }
  2166  
  2167  func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) {
  2168  	type NoMethod ListMembershipsResponse
  2169  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2170  }
  2171  
  2172  // ListUserInvitationsResponse: Response message for UserInvitation listing
  2173  // request.
  2174  type ListUserInvitationsResponse struct {
  2175  	// NextPageToken: The token for the next page. If not empty, indicates that
  2176  	// there may be more `UserInvitation` resources that match the listing request;
  2177  	// this value can be used in a subsequent ListUserInvitationsRequest to get
  2178  	// continued results with the current list call.
  2179  	NextPageToken string `json:"nextPageToken,omitempty"`
  2180  	// UserInvitations: The list of UserInvitation resources.
  2181  	UserInvitations []*UserInvitation `json:"userInvitations,omitempty"`
  2182  
  2183  	// ServerResponse contains the HTTP response code and headers from the server.
  2184  	googleapi.ServerResponse `json:"-"`
  2185  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2186  	// unconditionally include in API requests. By default, fields with empty or
  2187  	// default values are omitted from API requests. See
  2188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2189  	// details.
  2190  	ForceSendFields []string `json:"-"`
  2191  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2192  	// requests with the JSON null value. By default, fields with empty values are
  2193  	// omitted from API requests. See
  2194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2195  	NullFields []string `json:"-"`
  2196  }
  2197  
  2198  func (s *ListUserInvitationsResponse) MarshalJSON() ([]byte, error) {
  2199  	type NoMethod ListUserInvitationsResponse
  2200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2201  }
  2202  
  2203  // LookupGroupNameResponse: The response message for
  2204  // GroupsService.LookupGroupName.
  2205  type LookupGroupNameResponse struct {
  2206  	// Name: The resource name
  2207  	// (https://cloud.google.com/apis/design/resource_names) of the looked-up
  2208  	// `Group`.
  2209  	Name string `json:"name,omitempty"`
  2210  
  2211  	// ServerResponse contains the HTTP response code and headers from the server.
  2212  	googleapi.ServerResponse `json:"-"`
  2213  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2214  	// include in API requests. By default, fields with empty or default values are
  2215  	// omitted from API requests. See
  2216  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2217  	// details.
  2218  	ForceSendFields []string `json:"-"`
  2219  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2220  	// with the JSON null value. By default, fields with empty values are omitted
  2221  	// from API requests. See
  2222  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2223  	NullFields []string `json:"-"`
  2224  }
  2225  
  2226  func (s *LookupGroupNameResponse) MarshalJSON() ([]byte, error) {
  2227  	type NoMethod LookupGroupNameResponse
  2228  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2229  }
  2230  
  2231  // LookupMembershipNameResponse: The response message for
  2232  // MembershipsService.LookupMembershipName.
  2233  type LookupMembershipNameResponse struct {
  2234  	// Name: The resource name
  2235  	// (https://cloud.google.com/apis/design/resource_names) of the looked-up
  2236  	// `Membership`. Must be of the form `groups/{group}/memberships/{membership}`.
  2237  	Name string `json:"name,omitempty"`
  2238  
  2239  	// ServerResponse contains the HTTP response code and headers from the server.
  2240  	googleapi.ServerResponse `json:"-"`
  2241  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2242  	// include in API requests. By default, fields with empty or default values are
  2243  	// omitted from API requests. See
  2244  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2245  	// details.
  2246  	ForceSendFields []string `json:"-"`
  2247  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2248  	// with the JSON null value. By default, fields with empty values are omitted
  2249  	// from API requests. See
  2250  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2251  	NullFields []string `json:"-"`
  2252  }
  2253  
  2254  func (s *LookupMembershipNameResponse) MarshalJSON() ([]byte, error) {
  2255  	type NoMethod LookupMembershipNameResponse
  2256  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2257  }
  2258  
  2259  // MemberRelation: Message representing a transitive membership of a group.
  2260  type MemberRelation struct {
  2261  	// Member: Resource name for this member.
  2262  	Member string `json:"member,omitempty"`
  2263  	// PreferredMemberKey: Entity key has an id and a namespace. In case of
  2264  	// discussion forums, the id will be an email address without a namespace.
  2265  	PreferredMemberKey []*EntityKey `json:"preferredMemberKey,omitempty"`
  2266  	// RelationType: The relation between the group and the transitive member.
  2267  	//
  2268  	// Possible values:
  2269  	//   "RELATION_TYPE_UNSPECIFIED" - The relation type is undefined or
  2270  	// undetermined.
  2271  	//   "DIRECT" - The two entities have only a direct membership with each other.
  2272  	//   "INDIRECT" - The two entities have only an indirect membership with each
  2273  	// other.
  2274  	//   "DIRECT_AND_INDIRECT" - The two entities have both a direct and an
  2275  	// indirect membership with each other.
  2276  	RelationType string `json:"relationType,omitempty"`
  2277  	// Roles: The membership role details (i.e name of role and expiry time).
  2278  	Roles []*TransitiveMembershipRole `json:"roles,omitempty"`
  2279  	// ForceSendFields is a list of field names (e.g. "Member") to unconditionally
  2280  	// include in API requests. By default, fields with empty or default values are
  2281  	// omitted from API requests. See
  2282  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2283  	// details.
  2284  	ForceSendFields []string `json:"-"`
  2285  	// NullFields is a list of field names (e.g. "Member") to include in API
  2286  	// requests with the JSON null value. By default, fields with empty values are
  2287  	// omitted from API requests. See
  2288  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2289  	NullFields []string `json:"-"`
  2290  }
  2291  
  2292  func (s *MemberRelation) MarshalJSON() ([]byte, error) {
  2293  	type NoMethod MemberRelation
  2294  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2295  }
  2296  
  2297  // MemberRestriction: The definition of MemberRestriction
  2298  type MemberRestriction struct {
  2299  	// Evaluation: The evaluated state of this restriction on a group.
  2300  	Evaluation *RestrictionEvaluation `json:"evaluation,omitempty"`
  2301  	// Query: Member Restriction as defined by CEL expression. Supported
  2302  	// restrictions are: `member.customer_id` and `member.type`. Valid values for
  2303  	// `member.type` are `1`, `2` and `3`. They correspond to USER,
  2304  	// SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id`
  2305  	// only supports `groupCustomerId()` currently which means the customer id of
  2306  	// the group will be used for restriction. Supported operators are `&&`, `||`
  2307  	// and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service
  2308  	// accounts of given customer to be members. `member.type == 2 &&
  2309  	// member.customer_id == groupCustomerId()` Allow only users or groups to be
  2310  	// members. `member.type == 1 || member.type == 3`
  2311  	Query string `json:"query,omitempty"`
  2312  	// ForceSendFields is a list of field names (e.g. "Evaluation") to
  2313  	// unconditionally include in API requests. By default, fields with empty or
  2314  	// default values are omitted from API requests. See
  2315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2316  	// details.
  2317  	ForceSendFields []string `json:"-"`
  2318  	// NullFields is a list of field names (e.g. "Evaluation") to include in API
  2319  	// requests with the JSON null value. By default, fields with empty values are
  2320  	// omitted from API requests. See
  2321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2322  	NullFields []string `json:"-"`
  2323  }
  2324  
  2325  func (s *MemberRestriction) MarshalJSON() ([]byte, error) {
  2326  	type NoMethod MemberRestriction
  2327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2328  }
  2329  
  2330  // Membership: A membership within the Cloud Identity Groups API. A
  2331  // `Membership` defines a relationship between a `Group` and an entity
  2332  // belonging to that `Group`, referred to as a "member".
  2333  type Membership struct {
  2334  	// CreateTime: Output only. The time when the `Membership` was created.
  2335  	CreateTime string `json:"createTime,omitempty"`
  2336  	// DeliverySetting: Output only. Delivery setting associated with the
  2337  	// membership.
  2338  	//
  2339  	// Possible values:
  2340  	//   "DELIVERY_SETTING_UNSPECIFIED" - Default. Should not be used.
  2341  	//   "ALL_MAIL" - Represents each mail should be delivered
  2342  	//   "DIGEST" - Represents 1 email for every 25 messages.
  2343  	//   "DAILY" - Represents daily summary of messages.
  2344  	//   "NONE" - Represents no delivery.
  2345  	//   "DISABLED" - Represents disabled state.
  2346  	DeliverySetting string `json:"deliverySetting,omitempty"`
  2347  	// Name: Output only. The resource name
  2348  	// (https://cloud.google.com/apis/design/resource_names) of the `Membership`.
  2349  	// Shall be of the form `groups/{group}/memberships/{membership}`.
  2350  	Name string `json:"name,omitempty"`
  2351  	// PreferredMemberKey: Required. Immutable. The `EntityKey` of the member.
  2352  	PreferredMemberKey *EntityKey `json:"preferredMemberKey,omitempty"`
  2353  	// Roles: The `MembershipRole`s that apply to the `Membership`. If unspecified,
  2354  	// defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain
  2355  	// duplicate `MembershipRole`s with the same `name`.
  2356  	Roles []*MembershipRole `json:"roles,omitempty"`
  2357  	// Type: Output only. The type of the membership.
  2358  	//
  2359  	// Possible values:
  2360  	//   "TYPE_UNSPECIFIED" - Default. Should not be used.
  2361  	//   "USER" - Represents user type.
  2362  	//   "SERVICE_ACCOUNT" - Represents service account type.
  2363  	//   "GROUP" - Represents group type.
  2364  	//   "SHARED_DRIVE" - Represents Shared drive.
  2365  	//   "OTHER" - Represents other type.
  2366  	Type string `json:"type,omitempty"`
  2367  	// UpdateTime: Output only. The time when the `Membership` was last updated.
  2368  	UpdateTime string `json:"updateTime,omitempty"`
  2369  
  2370  	// ServerResponse contains the HTTP response code and headers from the server.
  2371  	googleapi.ServerResponse `json:"-"`
  2372  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2373  	// unconditionally include in API requests. By default, fields with empty or
  2374  	// default values are omitted from API requests. See
  2375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2376  	// details.
  2377  	ForceSendFields []string `json:"-"`
  2378  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2379  	// requests with the JSON null value. By default, fields with empty values are
  2380  	// omitted from API requests. See
  2381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2382  	NullFields []string `json:"-"`
  2383  }
  2384  
  2385  func (s *Membership) MarshalJSON() ([]byte, error) {
  2386  	type NoMethod Membership
  2387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2388  }
  2389  
  2390  // MembershipAdjacencyList: Membership graph's path information as an adjacency
  2391  // list.
  2392  type MembershipAdjacencyList struct {
  2393  	// Edges: Each edge contains information about the member that belongs to this
  2394  	// group. Note: Fields returned here will help identify the specific Membership
  2395  	// resource (e.g name, preferred_member_key and role), but may not be a
  2396  	// comprehensive list of all fields.
  2397  	Edges []*Membership `json:"edges,omitempty"`
  2398  	// Group: Resource name of the group that the members belong to.
  2399  	Group string `json:"group,omitempty"`
  2400  	// ForceSendFields is a list of field names (e.g. "Edges") to unconditionally
  2401  	// include in API requests. By default, fields with empty or default values are
  2402  	// omitted from API requests. See
  2403  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2404  	// details.
  2405  	ForceSendFields []string `json:"-"`
  2406  	// NullFields is a list of field names (e.g. "Edges") to include in API
  2407  	// requests with the JSON null value. By default, fields with empty values are
  2408  	// omitted from API requests. See
  2409  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2410  	NullFields []string `json:"-"`
  2411  }
  2412  
  2413  func (s *MembershipAdjacencyList) MarshalJSON() ([]byte, error) {
  2414  	type NoMethod MembershipAdjacencyList
  2415  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2416  }
  2417  
  2418  // MembershipRelation: Message containing membership relation.
  2419  type MembershipRelation struct {
  2420  	// Description: An extended description to help users determine the purpose of
  2421  	// a `Group`.
  2422  	Description string `json:"description,omitempty"`
  2423  	// DisplayName: The display name of the `Group`.
  2424  	DisplayName string `json:"displayName,omitempty"`
  2425  	// Group: The resource name
  2426  	// (https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall
  2427  	// be of the form `groups/{group_id}`.
  2428  	Group string `json:"group,omitempty"`
  2429  	// GroupKey: The `EntityKey` of the `Group`.
  2430  	GroupKey *EntityKey `json:"groupKey,omitempty"`
  2431  	// Labels: One or more label entries that apply to the Group. Currently
  2432  	// supported labels contain a key with an empty value.
  2433  	Labels map[string]string `json:"labels,omitempty"`
  2434  	// Membership: The resource name
  2435  	// (https://cloud.google.com/apis/design/resource_names) of the `Membership`.
  2436  	// Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
  2437  	Membership string `json:"membership,omitempty"`
  2438  	// Roles: The `MembershipRole`s that apply to the `Membership`.
  2439  	Roles []*MembershipRole `json:"roles,omitempty"`
  2440  	// ForceSendFields is a list of field names (e.g. "Description") to
  2441  	// unconditionally include in API requests. By default, fields with empty or
  2442  	// default values are omitted from API requests. See
  2443  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2444  	// details.
  2445  	ForceSendFields []string `json:"-"`
  2446  	// NullFields is a list of field names (e.g. "Description") to include in API
  2447  	// requests with the JSON null value. By default, fields with empty values are
  2448  	// omitted from API requests. See
  2449  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2450  	NullFields []string `json:"-"`
  2451  }
  2452  
  2453  func (s *MembershipRelation) MarshalJSON() ([]byte, error) {
  2454  	type NoMethod MembershipRelation
  2455  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2456  }
  2457  
  2458  // MembershipRole: A membership role within the Cloud Identity Groups API. A
  2459  // `MembershipRole` defines the privileges granted to a `Membership`.
  2460  type MembershipRole struct {
  2461  	// ExpiryDetail: The expiry details of the `MembershipRole`. Expiry details are
  2462  	// only supported for `MEMBER` `MembershipRoles`. May be set if `name` is
  2463  	// `MEMBER`. Must not be set if `name` is any other value.
  2464  	ExpiryDetail *ExpiryDetail `json:"expiryDetail,omitempty"`
  2465  	// Name: The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`,
  2466  	// `MEMBER`.
  2467  	Name string `json:"name,omitempty"`
  2468  	// RestrictionEvaluations: Evaluations of restrictions applied to parent group
  2469  	// on this membership.
  2470  	RestrictionEvaluations *RestrictionEvaluations `json:"restrictionEvaluations,omitempty"`
  2471  	// ForceSendFields is a list of field names (e.g. "ExpiryDetail") to
  2472  	// unconditionally include in API requests. By default, fields with empty or
  2473  	// default values are omitted from API requests. See
  2474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2475  	// details.
  2476  	ForceSendFields []string `json:"-"`
  2477  	// NullFields is a list of field names (e.g. "ExpiryDetail") to include in API
  2478  	// requests with the JSON null value. By default, fields with empty values are
  2479  	// omitted from API requests. See
  2480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2481  	NullFields []string `json:"-"`
  2482  }
  2483  
  2484  func (s *MembershipRole) MarshalJSON() ([]byte, error) {
  2485  	type NoMethod MembershipRole
  2486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2487  }
  2488  
  2489  // MembershipRoleRestrictionEvaluation: The evaluated state of this
  2490  // restriction.
  2491  type MembershipRoleRestrictionEvaluation struct {
  2492  	// State: Output only. The current state of the restriction
  2493  	//
  2494  	// Possible values:
  2495  	//   "STATE_UNSPECIFIED" - Default. Should not be used.
  2496  	//   "COMPLIANT" - The member adheres to the parent group's restriction.
  2497  	//   "FORWARD_COMPLIANT" - The group-group membership might be currently
  2498  	// violating some parent group's restriction but in future, it will never allow
  2499  	// any new member in the child group which can violate parent group's
  2500  	// restriction.
  2501  	//   "NON_COMPLIANT" - The member violates the parent group's restriction.
  2502  	//   "EVALUATING" - The state of the membership is under evaluation.
  2503  	State string `json:"state,omitempty"`
  2504  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2505  	// include in API requests. By default, fields with empty or default values are
  2506  	// omitted from API requests. See
  2507  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2508  	// details.
  2509  	ForceSendFields []string `json:"-"`
  2510  	// NullFields is a list of field names (e.g. "State") to include in API
  2511  	// requests with the JSON null value. By default, fields with empty values are
  2512  	// omitted from API requests. See
  2513  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2514  	NullFields []string `json:"-"`
  2515  }
  2516  
  2517  func (s *MembershipRoleRestrictionEvaluation) MarshalJSON() ([]byte, error) {
  2518  	type NoMethod MembershipRoleRestrictionEvaluation
  2519  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2520  }
  2521  
  2522  // ModifyMembershipRolesRequest: The request message for
  2523  // MembershipsService.ModifyMembershipRoles.
  2524  type ModifyMembershipRolesRequest struct {
  2525  	// AddRoles: The `MembershipRole`s to be added. Adding or removing roles in the
  2526  	// same request as updating roles is not supported. Must not be set if
  2527  	// `update_roles_params` is set.
  2528  	AddRoles []*MembershipRole `json:"addRoles,omitempty"`
  2529  	// RemoveRoles: The `name`s of the `MembershipRole`s to be removed. Adding or
  2530  	// removing roles in the same request as updating roles is not supported. It is
  2531  	// not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete
  2532  	// a `Membership`, call MembershipsService.DeleteMembership instead. Must not
  2533  	// contain `MEMBER`. Must not be set if `update_roles_params` is set.
  2534  	RemoveRoles []string `json:"removeRoles,omitempty"`
  2535  	// UpdateRolesParams: The `MembershipRole`s to be updated. Updating roles in
  2536  	// the same request as adding or removing roles is not supported. Must not be
  2537  	// set if either `add_roles` or `remove_roles` is set.
  2538  	UpdateRolesParams []*UpdateMembershipRolesParams `json:"updateRolesParams,omitempty"`
  2539  	// ForceSendFields is a list of field names (e.g. "AddRoles") to
  2540  	// unconditionally include in API requests. By default, fields with empty or
  2541  	// default values are omitted from API requests. See
  2542  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2543  	// details.
  2544  	ForceSendFields []string `json:"-"`
  2545  	// NullFields is a list of field names (e.g. "AddRoles") to include in API
  2546  	// requests with the JSON null value. By default, fields with empty values are
  2547  	// omitted from API requests. See
  2548  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2549  	NullFields []string `json:"-"`
  2550  }
  2551  
  2552  func (s *ModifyMembershipRolesRequest) MarshalJSON() ([]byte, error) {
  2553  	type NoMethod ModifyMembershipRolesRequest
  2554  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2555  }
  2556  
  2557  // ModifyMembershipRolesResponse: The response message for
  2558  // MembershipsService.ModifyMembershipRoles.
  2559  type ModifyMembershipRolesResponse struct {
  2560  	// Membership: The `Membership` resource after modifying its `MembershipRole`s.
  2561  	Membership *Membership `json:"membership,omitempty"`
  2562  
  2563  	// ServerResponse contains the HTTP response code and headers from the server.
  2564  	googleapi.ServerResponse `json:"-"`
  2565  	// ForceSendFields is a list of field names (e.g. "Membership") to
  2566  	// unconditionally include in API requests. By default, fields with empty or
  2567  	// default values are omitted from API requests. See
  2568  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2569  	// details.
  2570  	ForceSendFields []string `json:"-"`
  2571  	// NullFields is a list of field names (e.g. "Membership") to include in API
  2572  	// requests with the JSON null value. By default, fields with empty values are
  2573  	// omitted from API requests. See
  2574  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2575  	NullFields []string `json:"-"`
  2576  }
  2577  
  2578  func (s *ModifyMembershipRolesResponse) MarshalJSON() ([]byte, error) {
  2579  	type NoMethod ModifyMembershipRolesResponse
  2580  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2581  }
  2582  
  2583  // Operation: This resource represents a long-running operation that is the
  2584  // result of a network API call.
  2585  type Operation struct {
  2586  	// Done: If the value is `false`, it means the operation is still in progress.
  2587  	// If `true`, the operation is completed, and either `error` or `response` is
  2588  	// available.
  2589  	Done bool `json:"done,omitempty"`
  2590  	// Error: The error result of the operation in case of failure or cancellation.
  2591  	Error *Status `json:"error,omitempty"`
  2592  	// Metadata: Service-specific metadata associated with the operation. It
  2593  	// typically contains progress information and common metadata such as create
  2594  	// time. Some services might not provide such metadata. Any method that returns
  2595  	// a long-running operation should document the metadata type, if any.
  2596  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2597  	// Name: The server-assigned name, which is only unique within the same service
  2598  	// that originally returns it. If you use the default HTTP mapping, the `name`
  2599  	// should be a resource name ending with `operations/{unique_id}`.
  2600  	Name string `json:"name,omitempty"`
  2601  	// Response: The normal, successful response of the operation. If the original
  2602  	// method returns no data on success, such as `Delete`, the response is
  2603  	// `google.protobuf.Empty`. If the original method is standard
  2604  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  2605  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  2606  	// original method name. For example, if the original method name is
  2607  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  2608  	Response googleapi.RawMessage `json:"response,omitempty"`
  2609  
  2610  	// ServerResponse contains the HTTP response code and headers from the server.
  2611  	googleapi.ServerResponse `json:"-"`
  2612  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  2613  	// include in API requests. By default, fields with empty or default values are
  2614  	// omitted from API requests. See
  2615  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2616  	// details.
  2617  	ForceSendFields []string `json:"-"`
  2618  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  2619  	// with the JSON null value. By default, fields with empty values are omitted
  2620  	// from API requests. See
  2621  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2622  	NullFields []string `json:"-"`
  2623  }
  2624  
  2625  func (s *Operation) MarshalJSON() ([]byte, error) {
  2626  	type NoMethod Operation
  2627  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2628  }
  2629  
  2630  // RestrictionEvaluation: The evaluated state of this restriction.
  2631  type RestrictionEvaluation struct {
  2632  	// State: Output only. The current state of the restriction
  2633  	//
  2634  	// Possible values:
  2635  	//   "STATE_UNSPECIFIED" - Default. Should not be used.
  2636  	//   "EVALUATING" - The restriction state is currently being evaluated.
  2637  	//   "COMPLIANT" - All transitive memberships are adhering to restriction.
  2638  	//   "FORWARD_COMPLIANT" - Some transitive memberships violate the restriction.
  2639  	// No new violating memberships can be added.
  2640  	//   "NON_COMPLIANT" - Some transitive memberships violate the restriction. New
  2641  	// violating direct memberships will be denied while indirect memberships may
  2642  	// be added.
  2643  	State string `json:"state,omitempty"`
  2644  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2645  	// include in API requests. By default, fields with empty or default values are
  2646  	// omitted from API requests. See
  2647  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2648  	// details.
  2649  	ForceSendFields []string `json:"-"`
  2650  	// NullFields is a list of field names (e.g. "State") to include in API
  2651  	// requests with the JSON null value. By default, fields with empty values are
  2652  	// omitted from API requests. See
  2653  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2654  	NullFields []string `json:"-"`
  2655  }
  2656  
  2657  func (s *RestrictionEvaluation) MarshalJSON() ([]byte, error) {
  2658  	type NoMethod RestrictionEvaluation
  2659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2660  }
  2661  
  2662  // RestrictionEvaluations: Evaluations of restrictions applied to parent group
  2663  // on this membership.
  2664  type RestrictionEvaluations struct {
  2665  	// MemberRestrictionEvaluation: Evaluation of the member restriction applied to
  2666  	// this membership. Empty if the user lacks permission to view the restriction
  2667  	// evaluation.
  2668  	MemberRestrictionEvaluation *MembershipRoleRestrictionEvaluation `json:"memberRestrictionEvaluation,omitempty"`
  2669  	// ForceSendFields is a list of field names (e.g.
  2670  	// "MemberRestrictionEvaluation") to unconditionally include in API requests.
  2671  	// By default, fields with empty or default values are omitted from API
  2672  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  2673  	// for more details.
  2674  	ForceSendFields []string `json:"-"`
  2675  	// NullFields is a list of field names (e.g. "MemberRestrictionEvaluation") to
  2676  	// include in API requests with the JSON null value. By default, fields with
  2677  	// empty values are omitted from API requests. See
  2678  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2679  	NullFields []string `json:"-"`
  2680  }
  2681  
  2682  func (s *RestrictionEvaluations) MarshalJSON() ([]byte, error) {
  2683  	type NoMethod RestrictionEvaluations
  2684  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2685  }
  2686  
  2687  // RsaPublicKeyInfo: Information of a RSA public key.
  2688  type RsaPublicKeyInfo struct {
  2689  	// KeySize: Key size in bits (size of the modulus).
  2690  	KeySize int64 `json:"keySize,omitempty"`
  2691  	// ForceSendFields is a list of field names (e.g. "KeySize") to unconditionally
  2692  	// include in API requests. By default, fields with empty or default values are
  2693  	// omitted from API requests. See
  2694  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2695  	// details.
  2696  	ForceSendFields []string `json:"-"`
  2697  	// NullFields is a list of field names (e.g. "KeySize") to include in API
  2698  	// requests with the JSON null value. By default, fields with empty values are
  2699  	// omitted from API requests. See
  2700  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2701  	NullFields []string `json:"-"`
  2702  }
  2703  
  2704  func (s *RsaPublicKeyInfo) MarshalJSON() ([]byte, error) {
  2705  	type NoMethod RsaPublicKeyInfo
  2706  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2707  }
  2708  
  2709  // SamlIdpConfig: SAML IDP (identity provider) configuration.
  2710  type SamlIdpConfig struct {
  2711  	// ChangePasswordUri: The **Change Password URL** of the identity provider.
  2712  	// Users will be sent to this URL when changing their passwords at
  2713  	// `myaccount.google.com`. This takes precedence over the change password URL
  2714  	// configured at customer-level. Must use `HTTPS`.
  2715  	ChangePasswordUri string `json:"changePasswordUri,omitempty"`
  2716  	// EntityId: Required. The SAML **Entity ID** of the identity provider.
  2717  	EntityId string `json:"entityId,omitempty"`
  2718  	// LogoutRedirectUri: The **Logout Redirect URL** (sign-out page URL) of the
  2719  	// identity provider. When a user clicks the sign-out link on a Google page,
  2720  	// they will be redirected to this URL. This is a pure redirect with no
  2721  	// attached SAML `LogoutRequest` i.e. SAML single logout is not supported. Must
  2722  	// use `HTTPS`.
  2723  	LogoutRedirectUri string `json:"logoutRedirectUri,omitempty"`
  2724  	// SingleSignOnServiceUri: Required. The `SingleSignOnService` endpoint
  2725  	// location (sign-in page URL) of the identity provider. This is the URL where
  2726  	// the `AuthnRequest` will be sent. Must use `HTTPS`. Assumed to accept the
  2727  	// `HTTP-Redirect` binding.
  2728  	SingleSignOnServiceUri string `json:"singleSignOnServiceUri,omitempty"`
  2729  	// ForceSendFields is a list of field names (e.g. "ChangePasswordUri") to
  2730  	// unconditionally include in API requests. By default, fields with empty or
  2731  	// default values are omitted from API requests. See
  2732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2733  	// details.
  2734  	ForceSendFields []string `json:"-"`
  2735  	// NullFields is a list of field names (e.g. "ChangePasswordUri") to include in
  2736  	// API requests with the JSON null value. By default, fields with empty values
  2737  	// are omitted from API requests. See
  2738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2739  	NullFields []string `json:"-"`
  2740  }
  2741  
  2742  func (s *SamlIdpConfig) MarshalJSON() ([]byte, error) {
  2743  	type NoMethod SamlIdpConfig
  2744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2745  }
  2746  
  2747  // SamlSpConfig: SAML SP (service provider) configuration.
  2748  type SamlSpConfig struct {
  2749  	// AssertionConsumerServiceUri: Output only. The SAML **Assertion Consumer
  2750  	// Service (ACS) URL** to be used for the IDP-initiated login. Assumed to
  2751  	// accept response messages via the `HTTP-POST` binding.
  2752  	AssertionConsumerServiceUri string `json:"assertionConsumerServiceUri,omitempty"`
  2753  	// EntityId: Output only. The SAML **Entity ID** for this service provider.
  2754  	EntityId string `json:"entityId,omitempty"`
  2755  	// ForceSendFields is a list of field names (e.g.
  2756  	// "AssertionConsumerServiceUri") to unconditionally include in API requests.
  2757  	// By default, fields with empty or default values are omitted from API
  2758  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  2759  	// for more details.
  2760  	ForceSendFields []string `json:"-"`
  2761  	// NullFields is a list of field names (e.g. "AssertionConsumerServiceUri") to
  2762  	// include in API requests with the JSON null value. By default, fields with
  2763  	// empty values are omitted from API requests. See
  2764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2765  	NullFields []string `json:"-"`
  2766  }
  2767  
  2768  func (s *SamlSpConfig) MarshalJSON() ([]byte, error) {
  2769  	type NoMethod SamlSpConfig
  2770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2771  }
  2772  
  2773  // SamlSsoInfo: Details that are applicable when `sso_mode` == `SAML_SSO`.
  2774  type SamlSsoInfo struct {
  2775  	// InboundSamlSsoProfile: Required. Name of the `InboundSamlSsoProfile` to use.
  2776  	// Must be of the form `inboundSamlSsoProfiles/{inbound_saml_sso_profile}`.
  2777  	InboundSamlSsoProfile string `json:"inboundSamlSsoProfile,omitempty"`
  2778  	// ForceSendFields is a list of field names (e.g. "InboundSamlSsoProfile") to
  2779  	// unconditionally include in API requests. By default, fields with empty or
  2780  	// default values are omitted from API requests. See
  2781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2782  	// details.
  2783  	ForceSendFields []string `json:"-"`
  2784  	// NullFields is a list of field names (e.g. "InboundSamlSsoProfile") to
  2785  	// include in API requests with the JSON null value. By default, fields with
  2786  	// empty values are omitted from API requests. See
  2787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2788  	NullFields []string `json:"-"`
  2789  }
  2790  
  2791  func (s *SamlSsoInfo) MarshalJSON() ([]byte, error) {
  2792  	type NoMethod SamlSsoInfo
  2793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2794  }
  2795  
  2796  // SearchDirectGroupsResponse: The response message for
  2797  // MembershipsService.SearchDirectGroups.
  2798  type SearchDirectGroupsResponse struct {
  2799  	// Memberships: List of direct groups satisfying the query.
  2800  	Memberships []*MembershipRelation `json:"memberships,omitempty"`
  2801  	// NextPageToken: Token to retrieve the next page of results, or empty if there
  2802  	// are no more results available for listing.
  2803  	NextPageToken string `json:"nextPageToken,omitempty"`
  2804  
  2805  	// ServerResponse contains the HTTP response code and headers from the server.
  2806  	googleapi.ServerResponse `json:"-"`
  2807  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  2808  	// unconditionally include in API requests. By default, fields with empty or
  2809  	// default values are omitted from API requests. See
  2810  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2811  	// details.
  2812  	ForceSendFields []string `json:"-"`
  2813  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  2814  	// requests with the JSON null value. By default, fields with empty values are
  2815  	// omitted from API requests. See
  2816  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2817  	NullFields []string `json:"-"`
  2818  }
  2819  
  2820  func (s *SearchDirectGroupsResponse) MarshalJSON() ([]byte, error) {
  2821  	type NoMethod SearchDirectGroupsResponse
  2822  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2823  }
  2824  
  2825  // SearchGroupsResponse: The response message for GroupsService.SearchGroups.
  2826  type SearchGroupsResponse struct {
  2827  	// Groups: The `Group` resources that match the search query.
  2828  	Groups []*Group `json:"groups,omitempty"`
  2829  	// NextPageToken: A continuation token to retrieve the next page of results, or
  2830  	// empty if there are no more results available.
  2831  	NextPageToken string `json:"nextPageToken,omitempty"`
  2832  
  2833  	// ServerResponse contains the HTTP response code and headers from the server.
  2834  	googleapi.ServerResponse `json:"-"`
  2835  	// ForceSendFields is a list of field names (e.g. "Groups") to unconditionally
  2836  	// include in API requests. By default, fields with empty or default values are
  2837  	// omitted from API requests. See
  2838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2839  	// details.
  2840  	ForceSendFields []string `json:"-"`
  2841  	// NullFields is a list of field names (e.g. "Groups") to include in API
  2842  	// requests with the JSON null value. By default, fields with empty values are
  2843  	// omitted from API requests. See
  2844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2845  	NullFields []string `json:"-"`
  2846  }
  2847  
  2848  func (s *SearchGroupsResponse) MarshalJSON() ([]byte, error) {
  2849  	type NoMethod SearchGroupsResponse
  2850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2851  }
  2852  
  2853  // SearchTransitiveGroupsResponse: The response message for
  2854  // MembershipsService.SearchTransitiveGroups.
  2855  type SearchTransitiveGroupsResponse struct {
  2856  	// Memberships: List of transitive groups satisfying the query.
  2857  	Memberships []*GroupRelation `json:"memberships,omitempty"`
  2858  	// NextPageToken: Token to retrieve the next page of results, or empty if there
  2859  	// are no more results available for listing.
  2860  	NextPageToken string `json:"nextPageToken,omitempty"`
  2861  
  2862  	// ServerResponse contains the HTTP response code and headers from the server.
  2863  	googleapi.ServerResponse `json:"-"`
  2864  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  2865  	// unconditionally include in API requests. By default, fields with empty or
  2866  	// default values are omitted from API requests. See
  2867  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2868  	// details.
  2869  	ForceSendFields []string `json:"-"`
  2870  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  2871  	// requests with the JSON null value. By default, fields with empty values are
  2872  	// omitted from API requests. See
  2873  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2874  	NullFields []string `json:"-"`
  2875  }
  2876  
  2877  func (s *SearchTransitiveGroupsResponse) MarshalJSON() ([]byte, error) {
  2878  	type NoMethod SearchTransitiveGroupsResponse
  2879  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2880  }
  2881  
  2882  // SearchTransitiveMembershipsResponse: The response message for
  2883  // MembershipsService.SearchTransitiveMemberships.
  2884  type SearchTransitiveMembershipsResponse struct {
  2885  	// Memberships: List of transitive members satisfying the query.
  2886  	Memberships []*MemberRelation `json:"memberships,omitempty"`
  2887  	// NextPageToken: Token to retrieve the next page of results, or empty if there
  2888  	// are no more results.
  2889  	NextPageToken string `json:"nextPageToken,omitempty"`
  2890  
  2891  	// ServerResponse contains the HTTP response code and headers from the server.
  2892  	googleapi.ServerResponse `json:"-"`
  2893  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  2894  	// unconditionally include in API requests. By default, fields with empty or
  2895  	// default values are omitted from API requests. See
  2896  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2897  	// details.
  2898  	ForceSendFields []string `json:"-"`
  2899  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  2900  	// requests with the JSON null value. By default, fields with empty values are
  2901  	// omitted from API requests. See
  2902  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2903  	NullFields []string `json:"-"`
  2904  }
  2905  
  2906  func (s *SearchTransitiveMembershipsResponse) MarshalJSON() ([]byte, error) {
  2907  	type NoMethod SearchTransitiveMembershipsResponse
  2908  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2909  }
  2910  
  2911  // SecuritySettings: The definition of security settings.
  2912  type SecuritySettings struct {
  2913  	// MemberRestriction: The Member Restriction value
  2914  	MemberRestriction *MemberRestriction `json:"memberRestriction,omitempty"`
  2915  	// Name: Output only. The resource name of the security settings. Shall be of
  2916  	// the form `groups/{group_id}/securitySettings`.
  2917  	Name string `json:"name,omitempty"`
  2918  
  2919  	// ServerResponse contains the HTTP response code and headers from the server.
  2920  	googleapi.ServerResponse `json:"-"`
  2921  	// ForceSendFields is a list of field names (e.g. "MemberRestriction") to
  2922  	// unconditionally include in API requests. By default, fields with empty or
  2923  	// default values are omitted from API requests. See
  2924  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2925  	// details.
  2926  	ForceSendFields []string `json:"-"`
  2927  	// NullFields is a list of field names (e.g. "MemberRestriction") to include in
  2928  	// API requests with the JSON null value. By default, fields with empty values
  2929  	// are omitted from API requests. See
  2930  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2931  	NullFields []string `json:"-"`
  2932  }
  2933  
  2934  func (s *SecuritySettings) MarshalJSON() ([]byte, error) {
  2935  	type NoMethod SecuritySettings
  2936  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2937  }
  2938  
  2939  // SendUserInvitationRequest: A request to send email for inviting target user
  2940  // corresponding to the UserInvitation.
  2941  type SendUserInvitationRequest struct {
  2942  }
  2943  
  2944  // SignInBehavior: Controls sign-in behavior.
  2945  type SignInBehavior struct {
  2946  	// RedirectCondition: When to redirect sign-ins to the IdP.
  2947  	//
  2948  	// Possible values:
  2949  	//   "REDIRECT_CONDITION_UNSPECIFIED" - Default and means "always"
  2950  	//   "NEVER" - Sign-in flows where the user is prompted for their identity will
  2951  	// not redirect to the IdP (so the user will most likely be prompted by Google
  2952  	// for a password), but special flows like IdP-initiated SAML and sign-in
  2953  	// following automatic redirection to the IdP by domain-specific service URLs
  2954  	// will accept the IdP's assertion of the user's identity.
  2955  	RedirectCondition string `json:"redirectCondition,omitempty"`
  2956  	// ForceSendFields is a list of field names (e.g. "RedirectCondition") to
  2957  	// unconditionally include in API requests. By default, fields with empty or
  2958  	// default values are omitted from API requests. See
  2959  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2960  	// details.
  2961  	ForceSendFields []string `json:"-"`
  2962  	// NullFields is a list of field names (e.g. "RedirectCondition") to include in
  2963  	// API requests with the JSON null value. By default, fields with empty values
  2964  	// are omitted from API requests. See
  2965  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2966  	NullFields []string `json:"-"`
  2967  }
  2968  
  2969  func (s *SignInBehavior) MarshalJSON() ([]byte, error) {
  2970  	type NoMethod SignInBehavior
  2971  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2972  }
  2973  
  2974  // Status: The `Status` type defines a logical error model that is suitable for
  2975  // different programming environments, including REST APIs and RPC APIs. It is
  2976  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2977  // pieces of data: error code, error message, and error details. You can find
  2978  // out more about this error model and how to work with it in the API Design
  2979  // Guide (https://cloud.google.com/apis/design/errors).
  2980  type Status struct {
  2981  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2982  	Code int64 `json:"code,omitempty"`
  2983  	// Details: A list of messages that carry the error details. There is a common
  2984  	// set of message types for APIs to use.
  2985  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2986  	// Message: A developer-facing error message, which should be in English. Any
  2987  	// user-facing error message should be localized and sent in the
  2988  	// google.rpc.Status.details field, or localized by the client.
  2989  	Message string `json:"message,omitempty"`
  2990  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2991  	// include in API requests. By default, fields with empty or default values are
  2992  	// omitted from API requests. See
  2993  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2994  	// details.
  2995  	ForceSendFields []string `json:"-"`
  2996  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2997  	// with the JSON null value. By default, fields with empty values are omitted
  2998  	// from API requests. See
  2999  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3000  	NullFields []string `json:"-"`
  3001  }
  3002  
  3003  func (s *Status) MarshalJSON() ([]byte, error) {
  3004  	type NoMethod Status
  3005  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3006  }
  3007  
  3008  // TransitiveMembershipRole: Message representing the role of a
  3009  // TransitiveMembership.
  3010  type TransitiveMembershipRole struct {
  3011  	// Role: TransitiveMembershipRole in string format. Currently supported
  3012  	// TransitiveMembershipRoles: "MEMBER", "OWNER", and "MANAGER".
  3013  	Role string `json:"role,omitempty"`
  3014  	// ForceSendFields is a list of field names (e.g. "Role") to unconditionally
  3015  	// include in API requests. By default, fields with empty or default values are
  3016  	// omitted from API requests. See
  3017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3018  	// details.
  3019  	ForceSendFields []string `json:"-"`
  3020  	// NullFields is a list of field names (e.g. "Role") to include in API requests
  3021  	// with the JSON null value. By default, fields with empty values are omitted
  3022  	// from API requests. See
  3023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3024  	NullFields []string `json:"-"`
  3025  }
  3026  
  3027  func (s *TransitiveMembershipRole) MarshalJSON() ([]byte, error) {
  3028  	type NoMethod TransitiveMembershipRole
  3029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3030  }
  3031  
  3032  // UpdateGroupMetadata: Metadata for UpdateGroup LRO.
  3033  type UpdateGroupMetadata struct {
  3034  }
  3035  
  3036  // UpdateInboundSamlSsoProfileOperationMetadata: LRO response metadata for
  3037  // InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.
  3038  type UpdateInboundSamlSsoProfileOperationMetadata struct {
  3039  }
  3040  
  3041  // UpdateInboundSsoAssignmentOperationMetadata: LRO response metadata for
  3042  // InboundSsoAssignmentsService.UpdateInboundSsoAssignment.
  3043  type UpdateInboundSsoAssignmentOperationMetadata struct {
  3044  }
  3045  
  3046  // UpdateMembershipMetadata: Metadata for UpdateMembership LRO.
  3047  type UpdateMembershipMetadata struct {
  3048  }
  3049  
  3050  // UpdateMembershipRolesParams: The details of an update to a `MembershipRole`.
  3051  type UpdateMembershipRolesParams struct {
  3052  	// FieldMask: The fully-qualified names of fields to update. May only contain
  3053  	// the field `expiry_detail.expire_time`.
  3054  	FieldMask string `json:"fieldMask,omitempty"`
  3055  	// MembershipRole: The `MembershipRole`s to be updated. Only `MEMBER`
  3056  	// `MembershipRole` can currently be updated.
  3057  	MembershipRole *MembershipRole `json:"membershipRole,omitempty"`
  3058  	// ForceSendFields is a list of field names (e.g. "FieldMask") to
  3059  	// unconditionally include in API requests. By default, fields with empty or
  3060  	// default values are omitted from API requests. See
  3061  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3062  	// details.
  3063  	ForceSendFields []string `json:"-"`
  3064  	// NullFields is a list of field names (e.g. "FieldMask") to include in API
  3065  	// requests with the JSON null value. By default, fields with empty values are
  3066  	// omitted from API requests. See
  3067  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3068  	NullFields []string `json:"-"`
  3069  }
  3070  
  3071  func (s *UpdateMembershipRolesParams) MarshalJSON() ([]byte, error) {
  3072  	type NoMethod UpdateMembershipRolesParams
  3073  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3074  }
  3075  
  3076  // UserInvitation: The `UserInvitation` resource represents an email that can
  3077  // be sent to an unmanaged user account inviting them to join the customer's
  3078  // Google Workspace or Cloud Identity account. An unmanaged account shares an
  3079  // email address domain with the Google Workspace or Cloud Identity account but
  3080  // is not managed by it yet. If the user accepts the `UserInvitation`, the user
  3081  // account will become managed.
  3082  type UserInvitation struct {
  3083  	// MailsSentCount: Number of invitation emails sent to the user.
  3084  	MailsSentCount int64 `json:"mailsSentCount,omitempty,string"`
  3085  	// Name: Shall be of the form
  3086  	// `customers/{customer}/userinvitations/{user_email_address}`.
  3087  	Name string `json:"name,omitempty"`
  3088  	// State: State of the `UserInvitation`.
  3089  	//
  3090  	// Possible values:
  3091  	//   "STATE_UNSPECIFIED" - The default value. This value is used if the state
  3092  	// is omitted.
  3093  	//   "NOT_YET_SENT" - The `UserInvitation` has been created and is ready for
  3094  	// sending as an email.
  3095  	//   "INVITED" - The user has been invited by email.
  3096  	//   "ACCEPTED" - The user has accepted the invitation and is part of the
  3097  	// organization.
  3098  	//   "DECLINED" - The user declined the invitation.
  3099  	State string `json:"state,omitempty"`
  3100  	// UpdateTime: Time when the `UserInvitation` was last updated.
  3101  	UpdateTime string `json:"updateTime,omitempty"`
  3102  
  3103  	// ServerResponse contains the HTTP response code and headers from the server.
  3104  	googleapi.ServerResponse `json:"-"`
  3105  	// ForceSendFields is a list of field names (e.g. "MailsSentCount") to
  3106  	// unconditionally include in API requests. By default, fields with empty or
  3107  	// default values are omitted from API requests. See
  3108  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3109  	// details.
  3110  	ForceSendFields []string `json:"-"`
  3111  	// NullFields is a list of field names (e.g. "MailsSentCount") to include in
  3112  	// API requests with the JSON null value. By default, fields with empty values
  3113  	// are omitted from API requests. See
  3114  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3115  	NullFields []string `json:"-"`
  3116  }
  3117  
  3118  func (s *UserInvitation) MarshalJSON() ([]byte, error) {
  3119  	type NoMethod UserInvitation
  3120  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3121  }
  3122  
  3123  type CustomersUserinvitationsCancelCall struct {
  3124  	s                           *Service
  3125  	name                        string
  3126  	canceluserinvitationrequest *CancelUserInvitationRequest
  3127  	urlParams_                  gensupport.URLParams
  3128  	ctx_                        context.Context
  3129  	header_                     http.Header
  3130  }
  3131  
  3132  // Cancel: Cancels a UserInvitation that was already sent.
  3133  //
  3134  //   - name: `UserInvitation` name in the format
  3135  //     `customers/{customer}/userinvitations/{user_email_address}`.
  3136  func (r *CustomersUserinvitationsService) Cancel(name string, canceluserinvitationrequest *CancelUserInvitationRequest) *CustomersUserinvitationsCancelCall {
  3137  	c := &CustomersUserinvitationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3138  	c.name = name
  3139  	c.canceluserinvitationrequest = canceluserinvitationrequest
  3140  	return c
  3141  }
  3142  
  3143  // Fields allows partial responses to be retrieved. See
  3144  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3145  // details.
  3146  func (c *CustomersUserinvitationsCancelCall) Fields(s ...googleapi.Field) *CustomersUserinvitationsCancelCall {
  3147  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3148  	return c
  3149  }
  3150  
  3151  // Context sets the context to be used in this call's Do method.
  3152  func (c *CustomersUserinvitationsCancelCall) Context(ctx context.Context) *CustomersUserinvitationsCancelCall {
  3153  	c.ctx_ = ctx
  3154  	return c
  3155  }
  3156  
  3157  // Header returns a http.Header that can be modified by the caller to add
  3158  // headers to the request.
  3159  func (c *CustomersUserinvitationsCancelCall) Header() http.Header {
  3160  	if c.header_ == nil {
  3161  		c.header_ = make(http.Header)
  3162  	}
  3163  	return c.header_
  3164  }
  3165  
  3166  func (c *CustomersUserinvitationsCancelCall) doRequest(alt string) (*http.Response, error) {
  3167  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3168  	var body io.Reader = nil
  3169  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceluserinvitationrequest)
  3170  	if err != nil {
  3171  		return nil, err
  3172  	}
  3173  	c.urlParams_.Set("alt", alt)
  3174  	c.urlParams_.Set("prettyPrint", "false")
  3175  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
  3176  	urls += "?" + c.urlParams_.Encode()
  3177  	req, err := http.NewRequest("POST", urls, body)
  3178  	if err != nil {
  3179  		return nil, err
  3180  	}
  3181  	req.Header = reqHeaders
  3182  	googleapi.Expand(req.URL, map[string]string{
  3183  		"name": c.name,
  3184  	})
  3185  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3186  }
  3187  
  3188  // Do executes the "cloudidentity.customers.userinvitations.cancel" call.
  3189  // Any non-2xx status code is an error. Response headers are in either
  3190  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3191  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3192  // whether the returned error was because http.StatusNotModified was returned.
  3193  func (c *CustomersUserinvitationsCancelCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3194  	gensupport.SetOptions(c.urlParams_, opts...)
  3195  	res, err := c.doRequest("json")
  3196  	if res != nil && res.StatusCode == http.StatusNotModified {
  3197  		if res.Body != nil {
  3198  			res.Body.Close()
  3199  		}
  3200  		return nil, gensupport.WrapError(&googleapi.Error{
  3201  			Code:   res.StatusCode,
  3202  			Header: res.Header,
  3203  		})
  3204  	}
  3205  	if err != nil {
  3206  		return nil, err
  3207  	}
  3208  	defer googleapi.CloseBody(res)
  3209  	if err := googleapi.CheckResponse(res); err != nil {
  3210  		return nil, gensupport.WrapError(err)
  3211  	}
  3212  	ret := &Operation{
  3213  		ServerResponse: googleapi.ServerResponse{
  3214  			Header:         res.Header,
  3215  			HTTPStatusCode: res.StatusCode,
  3216  		},
  3217  	}
  3218  	target := &ret
  3219  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3220  		return nil, err
  3221  	}
  3222  	return ret, nil
  3223  }
  3224  
  3225  type CustomersUserinvitationsGetCall struct {
  3226  	s            *Service
  3227  	name         string
  3228  	urlParams_   gensupport.URLParams
  3229  	ifNoneMatch_ string
  3230  	ctx_         context.Context
  3231  	header_      http.Header
  3232  }
  3233  
  3234  // Get: Retrieves a UserInvitation resource. **Note:** New consumer accounts
  3235  // with the customer's verified domain created within the previous 48 hours
  3236  // will not appear in the result. This delay also applies to newly-verified
  3237  // domains.
  3238  //
  3239  //   - name: `UserInvitation` name in the format
  3240  //     `customers/{customer}/userinvitations/{user_email_address}`.
  3241  func (r *CustomersUserinvitationsService) Get(name string) *CustomersUserinvitationsGetCall {
  3242  	c := &CustomersUserinvitationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3243  	c.name = name
  3244  	return c
  3245  }
  3246  
  3247  // Fields allows partial responses to be retrieved. See
  3248  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3249  // details.
  3250  func (c *CustomersUserinvitationsGetCall) Fields(s ...googleapi.Field) *CustomersUserinvitationsGetCall {
  3251  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3252  	return c
  3253  }
  3254  
  3255  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3256  // object's ETag matches the given value. This is useful for getting updates
  3257  // only after the object has changed since the last request.
  3258  func (c *CustomersUserinvitationsGetCall) IfNoneMatch(entityTag string) *CustomersUserinvitationsGetCall {
  3259  	c.ifNoneMatch_ = entityTag
  3260  	return c
  3261  }
  3262  
  3263  // Context sets the context to be used in this call's Do method.
  3264  func (c *CustomersUserinvitationsGetCall) Context(ctx context.Context) *CustomersUserinvitationsGetCall {
  3265  	c.ctx_ = ctx
  3266  	return c
  3267  }
  3268  
  3269  // Header returns a http.Header that can be modified by the caller to add
  3270  // headers to the request.
  3271  func (c *CustomersUserinvitationsGetCall) Header() http.Header {
  3272  	if c.header_ == nil {
  3273  		c.header_ = make(http.Header)
  3274  	}
  3275  	return c.header_
  3276  }
  3277  
  3278  func (c *CustomersUserinvitationsGetCall) doRequest(alt string) (*http.Response, error) {
  3279  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3280  	if c.ifNoneMatch_ != "" {
  3281  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3282  	}
  3283  	var body io.Reader = nil
  3284  	c.urlParams_.Set("alt", alt)
  3285  	c.urlParams_.Set("prettyPrint", "false")
  3286  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3287  	urls += "?" + c.urlParams_.Encode()
  3288  	req, err := http.NewRequest("GET", urls, body)
  3289  	if err != nil {
  3290  		return nil, err
  3291  	}
  3292  	req.Header = reqHeaders
  3293  	googleapi.Expand(req.URL, map[string]string{
  3294  		"name": c.name,
  3295  	})
  3296  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3297  }
  3298  
  3299  // Do executes the "cloudidentity.customers.userinvitations.get" call.
  3300  // Any non-2xx status code is an error. Response headers are in either
  3301  // *UserInvitation.ServerResponse.Header or (if a response was returned at all)
  3302  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3303  // whether the returned error was because http.StatusNotModified was returned.
  3304  func (c *CustomersUserinvitationsGetCall) Do(opts ...googleapi.CallOption) (*UserInvitation, error) {
  3305  	gensupport.SetOptions(c.urlParams_, opts...)
  3306  	res, err := c.doRequest("json")
  3307  	if res != nil && res.StatusCode == http.StatusNotModified {
  3308  		if res.Body != nil {
  3309  			res.Body.Close()
  3310  		}
  3311  		return nil, gensupport.WrapError(&googleapi.Error{
  3312  			Code:   res.StatusCode,
  3313  			Header: res.Header,
  3314  		})
  3315  	}
  3316  	if err != nil {
  3317  		return nil, err
  3318  	}
  3319  	defer googleapi.CloseBody(res)
  3320  	if err := googleapi.CheckResponse(res); err != nil {
  3321  		return nil, gensupport.WrapError(err)
  3322  	}
  3323  	ret := &UserInvitation{
  3324  		ServerResponse: googleapi.ServerResponse{
  3325  			Header:         res.Header,
  3326  			HTTPStatusCode: res.StatusCode,
  3327  		},
  3328  	}
  3329  	target := &ret
  3330  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3331  		return nil, err
  3332  	}
  3333  	return ret, nil
  3334  }
  3335  
  3336  type CustomersUserinvitationsIsInvitableUserCall struct {
  3337  	s            *Service
  3338  	name         string
  3339  	urlParams_   gensupport.URLParams
  3340  	ifNoneMatch_ string
  3341  	ctx_         context.Context
  3342  	header_      http.Header
  3343  }
  3344  
  3345  // IsInvitableUser: Verifies whether a user account is eligible to receive a
  3346  // UserInvitation (is an unmanaged account). Eligibility is based on the
  3347  // following criteria: * the email address is a consumer account and it's the
  3348  // primary email address of the account, and * the domain of the email address
  3349  // matches an existing verified Google Workspace or Cloud Identity domain If
  3350  // both conditions are met, the user is eligible. **Note:** This method is not
  3351  // supported for Workspace Essentials customers.
  3352  //
  3353  //   - name: `UserInvitation` name in the format
  3354  //     `customers/{customer}/userinvitations/{user_email_address}`.
  3355  func (r *CustomersUserinvitationsService) IsInvitableUser(name string) *CustomersUserinvitationsIsInvitableUserCall {
  3356  	c := &CustomersUserinvitationsIsInvitableUserCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3357  	c.name = name
  3358  	return c
  3359  }
  3360  
  3361  // Fields allows partial responses to be retrieved. See
  3362  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3363  // details.
  3364  func (c *CustomersUserinvitationsIsInvitableUserCall) Fields(s ...googleapi.Field) *CustomersUserinvitationsIsInvitableUserCall {
  3365  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3366  	return c
  3367  }
  3368  
  3369  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3370  // object's ETag matches the given value. This is useful for getting updates
  3371  // only after the object has changed since the last request.
  3372  func (c *CustomersUserinvitationsIsInvitableUserCall) IfNoneMatch(entityTag string) *CustomersUserinvitationsIsInvitableUserCall {
  3373  	c.ifNoneMatch_ = entityTag
  3374  	return c
  3375  }
  3376  
  3377  // Context sets the context to be used in this call's Do method.
  3378  func (c *CustomersUserinvitationsIsInvitableUserCall) Context(ctx context.Context) *CustomersUserinvitationsIsInvitableUserCall {
  3379  	c.ctx_ = ctx
  3380  	return c
  3381  }
  3382  
  3383  // Header returns a http.Header that can be modified by the caller to add
  3384  // headers to the request.
  3385  func (c *CustomersUserinvitationsIsInvitableUserCall) Header() http.Header {
  3386  	if c.header_ == nil {
  3387  		c.header_ = make(http.Header)
  3388  	}
  3389  	return c.header_
  3390  }
  3391  
  3392  func (c *CustomersUserinvitationsIsInvitableUserCall) doRequest(alt string) (*http.Response, error) {
  3393  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3394  	if c.ifNoneMatch_ != "" {
  3395  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3396  	}
  3397  	var body io.Reader = nil
  3398  	c.urlParams_.Set("alt", alt)
  3399  	c.urlParams_.Set("prettyPrint", "false")
  3400  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:isInvitableUser")
  3401  	urls += "?" + c.urlParams_.Encode()
  3402  	req, err := http.NewRequest("GET", urls, body)
  3403  	if err != nil {
  3404  		return nil, err
  3405  	}
  3406  	req.Header = reqHeaders
  3407  	googleapi.Expand(req.URL, map[string]string{
  3408  		"name": c.name,
  3409  	})
  3410  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3411  }
  3412  
  3413  // Do executes the "cloudidentity.customers.userinvitations.isInvitableUser" call.
  3414  // Any non-2xx status code is an error. Response headers are in either
  3415  // *IsInvitableUserResponse.ServerResponse.Header or (if a response was
  3416  // returned at all) in error.(*googleapi.Error).Header. Use
  3417  // googleapi.IsNotModified to check whether the returned error was because
  3418  // http.StatusNotModified was returned.
  3419  func (c *CustomersUserinvitationsIsInvitableUserCall) Do(opts ...googleapi.CallOption) (*IsInvitableUserResponse, error) {
  3420  	gensupport.SetOptions(c.urlParams_, opts...)
  3421  	res, err := c.doRequest("json")
  3422  	if res != nil && res.StatusCode == http.StatusNotModified {
  3423  		if res.Body != nil {
  3424  			res.Body.Close()
  3425  		}
  3426  		return nil, gensupport.WrapError(&googleapi.Error{
  3427  			Code:   res.StatusCode,
  3428  			Header: res.Header,
  3429  		})
  3430  	}
  3431  	if err != nil {
  3432  		return nil, err
  3433  	}
  3434  	defer googleapi.CloseBody(res)
  3435  	if err := googleapi.CheckResponse(res); err != nil {
  3436  		return nil, gensupport.WrapError(err)
  3437  	}
  3438  	ret := &IsInvitableUserResponse{
  3439  		ServerResponse: googleapi.ServerResponse{
  3440  			Header:         res.Header,
  3441  			HTTPStatusCode: res.StatusCode,
  3442  		},
  3443  	}
  3444  	target := &ret
  3445  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3446  		return nil, err
  3447  	}
  3448  	return ret, nil
  3449  }
  3450  
  3451  type CustomersUserinvitationsListCall struct {
  3452  	s            *Service
  3453  	parent       string
  3454  	urlParams_   gensupport.URLParams
  3455  	ifNoneMatch_ string
  3456  	ctx_         context.Context
  3457  	header_      http.Header
  3458  }
  3459  
  3460  // List: Retrieves a list of UserInvitation resources. **Note:** New consumer
  3461  // accounts with the customer's verified domain created within the previous 48
  3462  // hours will not appear in the result. This delay also applies to
  3463  // newly-verified domains.
  3464  //
  3465  //   - parent: The customer ID of the Google Workspace or Cloud Identity account
  3466  //     the UserInvitation resources are associated with.
  3467  func (r *CustomersUserinvitationsService) List(parent string) *CustomersUserinvitationsListCall {
  3468  	c := &CustomersUserinvitationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3469  	c.parent = parent
  3470  	return c
  3471  }
  3472  
  3473  // Filter sets the optional parameter "filter": A query string for filtering
  3474  // `UserInvitation` results by their current state, in the format:
  3475  // "state=='invited'".
  3476  func (c *CustomersUserinvitationsListCall) Filter(filter string) *CustomersUserinvitationsListCall {
  3477  	c.urlParams_.Set("filter", filter)
  3478  	return c
  3479  }
  3480  
  3481  // OrderBy sets the optional parameter "orderBy": The sort order of the list
  3482  // results. You can sort the results in descending order based on either email
  3483  // or last update timestamp but not both, using `order_by="email desc".
  3484  // Currently, sorting is supported for `update_time asc`, `update_time desc`,
  3485  // `email asc`, and `email desc`. If not specified, results will be returned
  3486  // based on `email asc` order.
  3487  func (c *CustomersUserinvitationsListCall) OrderBy(orderBy string) *CustomersUserinvitationsListCall {
  3488  	c.urlParams_.Set("orderBy", orderBy)
  3489  	return c
  3490  }
  3491  
  3492  // PageSize sets the optional parameter "pageSize": The maximum number of
  3493  // UserInvitation resources to return. If unspecified, at most 100 resources
  3494  // will be returned. The maximum value is 200; values above 200 will be set to
  3495  // 200.
  3496  func (c *CustomersUserinvitationsListCall) PageSize(pageSize int64) *CustomersUserinvitationsListCall {
  3497  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3498  	return c
  3499  }
  3500  
  3501  // PageToken sets the optional parameter "pageToken": A page token, received
  3502  // from a previous `ListUserInvitations` call. Provide this to retrieve the
  3503  // subsequent page. When paginating, all other parameters provided to
  3504  // `ListBooks` must match the call that provided the page token.
  3505  func (c *CustomersUserinvitationsListCall) PageToken(pageToken string) *CustomersUserinvitationsListCall {
  3506  	c.urlParams_.Set("pageToken", pageToken)
  3507  	return c
  3508  }
  3509  
  3510  // Fields allows partial responses to be retrieved. See
  3511  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3512  // details.
  3513  func (c *CustomersUserinvitationsListCall) Fields(s ...googleapi.Field) *CustomersUserinvitationsListCall {
  3514  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3515  	return c
  3516  }
  3517  
  3518  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3519  // object's ETag matches the given value. This is useful for getting updates
  3520  // only after the object has changed since the last request.
  3521  func (c *CustomersUserinvitationsListCall) IfNoneMatch(entityTag string) *CustomersUserinvitationsListCall {
  3522  	c.ifNoneMatch_ = entityTag
  3523  	return c
  3524  }
  3525  
  3526  // Context sets the context to be used in this call's Do method.
  3527  func (c *CustomersUserinvitationsListCall) Context(ctx context.Context) *CustomersUserinvitationsListCall {
  3528  	c.ctx_ = ctx
  3529  	return c
  3530  }
  3531  
  3532  // Header returns a http.Header that can be modified by the caller to add
  3533  // headers to the request.
  3534  func (c *CustomersUserinvitationsListCall) Header() http.Header {
  3535  	if c.header_ == nil {
  3536  		c.header_ = make(http.Header)
  3537  	}
  3538  	return c.header_
  3539  }
  3540  
  3541  func (c *CustomersUserinvitationsListCall) doRequest(alt string) (*http.Response, error) {
  3542  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3543  	if c.ifNoneMatch_ != "" {
  3544  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3545  	}
  3546  	var body io.Reader = nil
  3547  	c.urlParams_.Set("alt", alt)
  3548  	c.urlParams_.Set("prettyPrint", "false")
  3549  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userinvitations")
  3550  	urls += "?" + c.urlParams_.Encode()
  3551  	req, err := http.NewRequest("GET", urls, body)
  3552  	if err != nil {
  3553  		return nil, err
  3554  	}
  3555  	req.Header = reqHeaders
  3556  	googleapi.Expand(req.URL, map[string]string{
  3557  		"parent": c.parent,
  3558  	})
  3559  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3560  }
  3561  
  3562  // Do executes the "cloudidentity.customers.userinvitations.list" call.
  3563  // Any non-2xx status code is an error. Response headers are in either
  3564  // *ListUserInvitationsResponse.ServerResponse.Header or (if a response was
  3565  // returned at all) in error.(*googleapi.Error).Header. Use
  3566  // googleapi.IsNotModified to check whether the returned error was because
  3567  // http.StatusNotModified was returned.
  3568  func (c *CustomersUserinvitationsListCall) Do(opts ...googleapi.CallOption) (*ListUserInvitationsResponse, error) {
  3569  	gensupport.SetOptions(c.urlParams_, opts...)
  3570  	res, err := c.doRequest("json")
  3571  	if res != nil && res.StatusCode == http.StatusNotModified {
  3572  		if res.Body != nil {
  3573  			res.Body.Close()
  3574  		}
  3575  		return nil, gensupport.WrapError(&googleapi.Error{
  3576  			Code:   res.StatusCode,
  3577  			Header: res.Header,
  3578  		})
  3579  	}
  3580  	if err != nil {
  3581  		return nil, err
  3582  	}
  3583  	defer googleapi.CloseBody(res)
  3584  	if err := googleapi.CheckResponse(res); err != nil {
  3585  		return nil, gensupport.WrapError(err)
  3586  	}
  3587  	ret := &ListUserInvitationsResponse{
  3588  		ServerResponse: googleapi.ServerResponse{
  3589  			Header:         res.Header,
  3590  			HTTPStatusCode: res.StatusCode,
  3591  		},
  3592  	}
  3593  	target := &ret
  3594  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3595  		return nil, err
  3596  	}
  3597  	return ret, nil
  3598  }
  3599  
  3600  // Pages invokes f for each page of results.
  3601  // A non-nil error returned from f will halt the iteration.
  3602  // The provided context supersedes any context provided to the Context method.
  3603  func (c *CustomersUserinvitationsListCall) Pages(ctx context.Context, f func(*ListUserInvitationsResponse) error) error {
  3604  	c.ctx_ = ctx
  3605  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3606  	for {
  3607  		x, err := c.Do()
  3608  		if err != nil {
  3609  			return err
  3610  		}
  3611  		if err := f(x); err != nil {
  3612  			return err
  3613  		}
  3614  		if x.NextPageToken == "" {
  3615  			return nil
  3616  		}
  3617  		c.PageToken(x.NextPageToken)
  3618  	}
  3619  }
  3620  
  3621  type CustomersUserinvitationsSendCall struct {
  3622  	s                         *Service
  3623  	name                      string
  3624  	senduserinvitationrequest *SendUserInvitationRequest
  3625  	urlParams_                gensupport.URLParams
  3626  	ctx_                      context.Context
  3627  	header_                   http.Header
  3628  }
  3629  
  3630  // Send: Sends a UserInvitation to email. If the `UserInvitation` does not
  3631  // exist for this request and it is a valid request, the request creates a
  3632  // `UserInvitation`. **Note:** The `get` and `list` methods have a 48-hour
  3633  // delay where newly-created consumer accounts will not appear in the results.
  3634  // You can still send a `UserInvitation` to those accounts if you know the
  3635  // unmanaged email address and IsInvitableUser==True.
  3636  //
  3637  //   - name: `UserInvitation` name in the format
  3638  //     `customers/{customer}/userinvitations/{user_email_address}`.
  3639  func (r *CustomersUserinvitationsService) Send(name string, senduserinvitationrequest *SendUserInvitationRequest) *CustomersUserinvitationsSendCall {
  3640  	c := &CustomersUserinvitationsSendCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3641  	c.name = name
  3642  	c.senduserinvitationrequest = senduserinvitationrequest
  3643  	return c
  3644  }
  3645  
  3646  // Fields allows partial responses to be retrieved. See
  3647  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3648  // details.
  3649  func (c *CustomersUserinvitationsSendCall) Fields(s ...googleapi.Field) *CustomersUserinvitationsSendCall {
  3650  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3651  	return c
  3652  }
  3653  
  3654  // Context sets the context to be used in this call's Do method.
  3655  func (c *CustomersUserinvitationsSendCall) Context(ctx context.Context) *CustomersUserinvitationsSendCall {
  3656  	c.ctx_ = ctx
  3657  	return c
  3658  }
  3659  
  3660  // Header returns a http.Header that can be modified by the caller to add
  3661  // headers to the request.
  3662  func (c *CustomersUserinvitationsSendCall) Header() http.Header {
  3663  	if c.header_ == nil {
  3664  		c.header_ = make(http.Header)
  3665  	}
  3666  	return c.header_
  3667  }
  3668  
  3669  func (c *CustomersUserinvitationsSendCall) doRequest(alt string) (*http.Response, error) {
  3670  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3671  	var body io.Reader = nil
  3672  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.senduserinvitationrequest)
  3673  	if err != nil {
  3674  		return nil, err
  3675  	}
  3676  	c.urlParams_.Set("alt", alt)
  3677  	c.urlParams_.Set("prettyPrint", "false")
  3678  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:send")
  3679  	urls += "?" + c.urlParams_.Encode()
  3680  	req, err := http.NewRequest("POST", urls, body)
  3681  	if err != nil {
  3682  		return nil, err
  3683  	}
  3684  	req.Header = reqHeaders
  3685  	googleapi.Expand(req.URL, map[string]string{
  3686  		"name": c.name,
  3687  	})
  3688  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3689  }
  3690  
  3691  // Do executes the "cloudidentity.customers.userinvitations.send" call.
  3692  // Any non-2xx status code is an error. Response headers are in either
  3693  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3694  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3695  // whether the returned error was because http.StatusNotModified was returned.
  3696  func (c *CustomersUserinvitationsSendCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3697  	gensupport.SetOptions(c.urlParams_, opts...)
  3698  	res, err := c.doRequest("json")
  3699  	if res != nil && res.StatusCode == http.StatusNotModified {
  3700  		if res.Body != nil {
  3701  			res.Body.Close()
  3702  		}
  3703  		return nil, gensupport.WrapError(&googleapi.Error{
  3704  			Code:   res.StatusCode,
  3705  			Header: res.Header,
  3706  		})
  3707  	}
  3708  	if err != nil {
  3709  		return nil, err
  3710  	}
  3711  	defer googleapi.CloseBody(res)
  3712  	if err := googleapi.CheckResponse(res); err != nil {
  3713  		return nil, gensupport.WrapError(err)
  3714  	}
  3715  	ret := &Operation{
  3716  		ServerResponse: googleapi.ServerResponse{
  3717  			Header:         res.Header,
  3718  			HTTPStatusCode: res.StatusCode,
  3719  		},
  3720  	}
  3721  	target := &ret
  3722  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3723  		return nil, err
  3724  	}
  3725  	return ret, nil
  3726  }
  3727  
  3728  type DevicesCancelWipeCall struct {
  3729  	s                                                       *Service
  3730  	name                                                    string
  3731  	googleappscloudidentitydevicesv1cancelwipedevicerequest *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest
  3732  	urlParams_                                              gensupport.URLParams
  3733  	ctx_                                                    context.Context
  3734  	header_                                                 http.Header
  3735  }
  3736  
  3737  // CancelWipe: Cancels an unfinished device wipe. This operation can be used to
  3738  // cancel device wipe in the gap between the wipe operation returning success
  3739  // and the device being wiped. This operation is possible when the device is in
  3740  // a "pending wipe" state. The device enters the "pending wipe" state when a
  3741  // wipe device command is issued, but has not yet been sent to the device. The
  3742  // cancel wipe will fail if the wipe command has already been issued to the
  3743  // device.
  3744  //
  3745  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  3746  //     of the Device in format: `devices/{device}`, where device is the unique ID
  3747  //     assigned to the Device.
  3748  func (r *DevicesService) CancelWipe(name string, googleappscloudidentitydevicesv1cancelwipedevicerequest *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest) *DevicesCancelWipeCall {
  3749  	c := &DevicesCancelWipeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3750  	c.name = name
  3751  	c.googleappscloudidentitydevicesv1cancelwipedevicerequest = googleappscloudidentitydevicesv1cancelwipedevicerequest
  3752  	return c
  3753  }
  3754  
  3755  // Fields allows partial responses to be retrieved. See
  3756  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3757  // details.
  3758  func (c *DevicesCancelWipeCall) Fields(s ...googleapi.Field) *DevicesCancelWipeCall {
  3759  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3760  	return c
  3761  }
  3762  
  3763  // Context sets the context to be used in this call's Do method.
  3764  func (c *DevicesCancelWipeCall) Context(ctx context.Context) *DevicesCancelWipeCall {
  3765  	c.ctx_ = ctx
  3766  	return c
  3767  }
  3768  
  3769  // Header returns a http.Header that can be modified by the caller to add
  3770  // headers to the request.
  3771  func (c *DevicesCancelWipeCall) Header() http.Header {
  3772  	if c.header_ == nil {
  3773  		c.header_ = make(http.Header)
  3774  	}
  3775  	return c.header_
  3776  }
  3777  
  3778  func (c *DevicesCancelWipeCall) doRequest(alt string) (*http.Response, error) {
  3779  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3780  	var body io.Reader = nil
  3781  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1cancelwipedevicerequest)
  3782  	if err != nil {
  3783  		return nil, err
  3784  	}
  3785  	c.urlParams_.Set("alt", alt)
  3786  	c.urlParams_.Set("prettyPrint", "false")
  3787  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancelWipe")
  3788  	urls += "?" + c.urlParams_.Encode()
  3789  	req, err := http.NewRequest("POST", urls, body)
  3790  	if err != nil {
  3791  		return nil, err
  3792  	}
  3793  	req.Header = reqHeaders
  3794  	googleapi.Expand(req.URL, map[string]string{
  3795  		"name": c.name,
  3796  	})
  3797  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3798  }
  3799  
  3800  // Do executes the "cloudidentity.devices.cancelWipe" call.
  3801  // Any non-2xx status code is an error. Response headers are in either
  3802  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3803  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3804  // whether the returned error was because http.StatusNotModified was returned.
  3805  func (c *DevicesCancelWipeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3806  	gensupport.SetOptions(c.urlParams_, opts...)
  3807  	res, err := c.doRequest("json")
  3808  	if res != nil && res.StatusCode == http.StatusNotModified {
  3809  		if res.Body != nil {
  3810  			res.Body.Close()
  3811  		}
  3812  		return nil, gensupport.WrapError(&googleapi.Error{
  3813  			Code:   res.StatusCode,
  3814  			Header: res.Header,
  3815  		})
  3816  	}
  3817  	if err != nil {
  3818  		return nil, err
  3819  	}
  3820  	defer googleapi.CloseBody(res)
  3821  	if err := googleapi.CheckResponse(res); err != nil {
  3822  		return nil, gensupport.WrapError(err)
  3823  	}
  3824  	ret := &Operation{
  3825  		ServerResponse: googleapi.ServerResponse{
  3826  			Header:         res.Header,
  3827  			HTTPStatusCode: res.StatusCode,
  3828  		},
  3829  	}
  3830  	target := &ret
  3831  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3832  		return nil, err
  3833  	}
  3834  	return ret, nil
  3835  }
  3836  
  3837  type DevicesCreateCall struct {
  3838  	s                                      *Service
  3839  	googleappscloudidentitydevicesv1device *GoogleAppsCloudidentityDevicesV1Device
  3840  	urlParams_                             gensupport.URLParams
  3841  	ctx_                                   context.Context
  3842  	header_                                http.Header
  3843  }
  3844  
  3845  // Create: Creates a device. Only company-owned device may be created.
  3846  // **Note**: This method is available only to customers who have one of the
  3847  // following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for
  3848  // Education, and Cloud Identity Premium
  3849  func (r *DevicesService) Create(googleappscloudidentitydevicesv1device *GoogleAppsCloudidentityDevicesV1Device) *DevicesCreateCall {
  3850  	c := &DevicesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3851  	c.googleappscloudidentitydevicesv1device = googleappscloudidentitydevicesv1device
  3852  	return c
  3853  }
  3854  
  3855  // Customer sets the optional parameter "customer": Resource name
  3856  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  3857  // you're using this API for your own organization, use `customers/my_customer`
  3858  // If you're using this API to manage another organization, use
  3859  // `customers/{customer}`, where customer is the customer to whom the device
  3860  // belongs.
  3861  func (c *DevicesCreateCall) Customer(customer string) *DevicesCreateCall {
  3862  	c.urlParams_.Set("customer", customer)
  3863  	return c
  3864  }
  3865  
  3866  // Fields allows partial responses to be retrieved. See
  3867  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3868  // details.
  3869  func (c *DevicesCreateCall) Fields(s ...googleapi.Field) *DevicesCreateCall {
  3870  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3871  	return c
  3872  }
  3873  
  3874  // Context sets the context to be used in this call's Do method.
  3875  func (c *DevicesCreateCall) Context(ctx context.Context) *DevicesCreateCall {
  3876  	c.ctx_ = ctx
  3877  	return c
  3878  }
  3879  
  3880  // Header returns a http.Header that can be modified by the caller to add
  3881  // headers to the request.
  3882  func (c *DevicesCreateCall) Header() http.Header {
  3883  	if c.header_ == nil {
  3884  		c.header_ = make(http.Header)
  3885  	}
  3886  	return c.header_
  3887  }
  3888  
  3889  func (c *DevicesCreateCall) doRequest(alt string) (*http.Response, error) {
  3890  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3891  	var body io.Reader = nil
  3892  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1device)
  3893  	if err != nil {
  3894  		return nil, err
  3895  	}
  3896  	c.urlParams_.Set("alt", alt)
  3897  	c.urlParams_.Set("prettyPrint", "false")
  3898  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/devices")
  3899  	urls += "?" + c.urlParams_.Encode()
  3900  	req, err := http.NewRequest("POST", urls, body)
  3901  	if err != nil {
  3902  		return nil, err
  3903  	}
  3904  	req.Header = reqHeaders
  3905  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3906  }
  3907  
  3908  // Do executes the "cloudidentity.devices.create" call.
  3909  // Any non-2xx status code is an error. Response headers are in either
  3910  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3911  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3912  // whether the returned error was because http.StatusNotModified was returned.
  3913  func (c *DevicesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3914  	gensupport.SetOptions(c.urlParams_, opts...)
  3915  	res, err := c.doRequest("json")
  3916  	if res != nil && res.StatusCode == http.StatusNotModified {
  3917  		if res.Body != nil {
  3918  			res.Body.Close()
  3919  		}
  3920  		return nil, gensupport.WrapError(&googleapi.Error{
  3921  			Code:   res.StatusCode,
  3922  			Header: res.Header,
  3923  		})
  3924  	}
  3925  	if err != nil {
  3926  		return nil, err
  3927  	}
  3928  	defer googleapi.CloseBody(res)
  3929  	if err := googleapi.CheckResponse(res); err != nil {
  3930  		return nil, gensupport.WrapError(err)
  3931  	}
  3932  	ret := &Operation{
  3933  		ServerResponse: googleapi.ServerResponse{
  3934  			Header:         res.Header,
  3935  			HTTPStatusCode: res.StatusCode,
  3936  		},
  3937  	}
  3938  	target := &ret
  3939  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3940  		return nil, err
  3941  	}
  3942  	return ret, nil
  3943  }
  3944  
  3945  type DevicesDeleteCall struct {
  3946  	s          *Service
  3947  	name       string
  3948  	urlParams_ gensupport.URLParams
  3949  	ctx_       context.Context
  3950  	header_    http.Header
  3951  }
  3952  
  3953  // Delete: Deletes the specified device.
  3954  //
  3955  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  3956  //     of the Device in format: `devices/{device}`, where device is the unique ID
  3957  //     assigned to the Device.
  3958  func (r *DevicesService) Delete(name string) *DevicesDeleteCall {
  3959  	c := &DevicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3960  	c.name = name
  3961  	return c
  3962  }
  3963  
  3964  // Customer sets the optional parameter "customer": Resource name
  3965  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  3966  // you're using this API for your own organization, use `customers/my_customer`
  3967  // If you're using this API to manage another organization, use
  3968  // `customers/{customer}`, where customer is the customer to whom the device
  3969  // belongs.
  3970  func (c *DevicesDeleteCall) Customer(customer string) *DevicesDeleteCall {
  3971  	c.urlParams_.Set("customer", customer)
  3972  	return c
  3973  }
  3974  
  3975  // Fields allows partial responses to be retrieved. See
  3976  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3977  // details.
  3978  func (c *DevicesDeleteCall) Fields(s ...googleapi.Field) *DevicesDeleteCall {
  3979  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3980  	return c
  3981  }
  3982  
  3983  // Context sets the context to be used in this call's Do method.
  3984  func (c *DevicesDeleteCall) Context(ctx context.Context) *DevicesDeleteCall {
  3985  	c.ctx_ = ctx
  3986  	return c
  3987  }
  3988  
  3989  // Header returns a http.Header that can be modified by the caller to add
  3990  // headers to the request.
  3991  func (c *DevicesDeleteCall) Header() http.Header {
  3992  	if c.header_ == nil {
  3993  		c.header_ = make(http.Header)
  3994  	}
  3995  	return c.header_
  3996  }
  3997  
  3998  func (c *DevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
  3999  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4000  	var body io.Reader = nil
  4001  	c.urlParams_.Set("alt", alt)
  4002  	c.urlParams_.Set("prettyPrint", "false")
  4003  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4004  	urls += "?" + c.urlParams_.Encode()
  4005  	req, err := http.NewRequest("DELETE", urls, body)
  4006  	if err != nil {
  4007  		return nil, err
  4008  	}
  4009  	req.Header = reqHeaders
  4010  	googleapi.Expand(req.URL, map[string]string{
  4011  		"name": c.name,
  4012  	})
  4013  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4014  }
  4015  
  4016  // Do executes the "cloudidentity.devices.delete" call.
  4017  // Any non-2xx status code is an error. Response headers are in either
  4018  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4019  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4020  // whether the returned error was because http.StatusNotModified was returned.
  4021  func (c *DevicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4022  	gensupport.SetOptions(c.urlParams_, opts...)
  4023  	res, err := c.doRequest("json")
  4024  	if res != nil && res.StatusCode == http.StatusNotModified {
  4025  		if res.Body != nil {
  4026  			res.Body.Close()
  4027  		}
  4028  		return nil, gensupport.WrapError(&googleapi.Error{
  4029  			Code:   res.StatusCode,
  4030  			Header: res.Header,
  4031  		})
  4032  	}
  4033  	if err != nil {
  4034  		return nil, err
  4035  	}
  4036  	defer googleapi.CloseBody(res)
  4037  	if err := googleapi.CheckResponse(res); err != nil {
  4038  		return nil, gensupport.WrapError(err)
  4039  	}
  4040  	ret := &Operation{
  4041  		ServerResponse: googleapi.ServerResponse{
  4042  			Header:         res.Header,
  4043  			HTTPStatusCode: res.StatusCode,
  4044  		},
  4045  	}
  4046  	target := &ret
  4047  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4048  		return nil, err
  4049  	}
  4050  	return ret, nil
  4051  }
  4052  
  4053  type DevicesGetCall struct {
  4054  	s            *Service
  4055  	name         string
  4056  	urlParams_   gensupport.URLParams
  4057  	ifNoneMatch_ string
  4058  	ctx_         context.Context
  4059  	header_      http.Header
  4060  }
  4061  
  4062  // Get: Retrieves the specified device.
  4063  //
  4064  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4065  //     of the Device in the format: `devices/{device}`, where device is the
  4066  //     unique ID assigned to the Device.
  4067  func (r *DevicesService) Get(name string) *DevicesGetCall {
  4068  	c := &DevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4069  	c.name = name
  4070  	return c
  4071  }
  4072  
  4073  // Customer sets the optional parameter "customer": Resource name
  4074  // (https://cloud.google.com/apis/design/resource_names) of the Customer in the
  4075  // format: `customers/{customer}`, where customer is the customer to whom the
  4076  // device belongs. If you're using this API for your own organization, use
  4077  // `customers/my_customer`. If you're using this API to manage another
  4078  // organization, use `customers/{customer}`, where customer is the customer to
  4079  // whom the device belongs.
  4080  func (c *DevicesGetCall) Customer(customer string) *DevicesGetCall {
  4081  	c.urlParams_.Set("customer", customer)
  4082  	return c
  4083  }
  4084  
  4085  // Fields allows partial responses to be retrieved. See
  4086  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4087  // details.
  4088  func (c *DevicesGetCall) Fields(s ...googleapi.Field) *DevicesGetCall {
  4089  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4090  	return c
  4091  }
  4092  
  4093  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4094  // object's ETag matches the given value. This is useful for getting updates
  4095  // only after the object has changed since the last request.
  4096  func (c *DevicesGetCall) IfNoneMatch(entityTag string) *DevicesGetCall {
  4097  	c.ifNoneMatch_ = entityTag
  4098  	return c
  4099  }
  4100  
  4101  // Context sets the context to be used in this call's Do method.
  4102  func (c *DevicesGetCall) Context(ctx context.Context) *DevicesGetCall {
  4103  	c.ctx_ = ctx
  4104  	return c
  4105  }
  4106  
  4107  // Header returns a http.Header that can be modified by the caller to add
  4108  // headers to the request.
  4109  func (c *DevicesGetCall) Header() http.Header {
  4110  	if c.header_ == nil {
  4111  		c.header_ = make(http.Header)
  4112  	}
  4113  	return c.header_
  4114  }
  4115  
  4116  func (c *DevicesGetCall) doRequest(alt string) (*http.Response, error) {
  4117  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4118  	if c.ifNoneMatch_ != "" {
  4119  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4120  	}
  4121  	var body io.Reader = nil
  4122  	c.urlParams_.Set("alt", alt)
  4123  	c.urlParams_.Set("prettyPrint", "false")
  4124  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4125  	urls += "?" + c.urlParams_.Encode()
  4126  	req, err := http.NewRequest("GET", urls, body)
  4127  	if err != nil {
  4128  		return nil, err
  4129  	}
  4130  	req.Header = reqHeaders
  4131  	googleapi.Expand(req.URL, map[string]string{
  4132  		"name": c.name,
  4133  	})
  4134  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4135  }
  4136  
  4137  // Do executes the "cloudidentity.devices.get" call.
  4138  // Any non-2xx status code is an error. Response headers are in either
  4139  // *GoogleAppsCloudidentityDevicesV1Device.ServerResponse.Header or (if a
  4140  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4141  // googleapi.IsNotModified to check whether the returned error was because
  4142  // http.StatusNotModified was returned.
  4143  func (c *DevicesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1Device, error) {
  4144  	gensupport.SetOptions(c.urlParams_, opts...)
  4145  	res, err := c.doRequest("json")
  4146  	if res != nil && res.StatusCode == http.StatusNotModified {
  4147  		if res.Body != nil {
  4148  			res.Body.Close()
  4149  		}
  4150  		return nil, gensupport.WrapError(&googleapi.Error{
  4151  			Code:   res.StatusCode,
  4152  			Header: res.Header,
  4153  		})
  4154  	}
  4155  	if err != nil {
  4156  		return nil, err
  4157  	}
  4158  	defer googleapi.CloseBody(res)
  4159  	if err := googleapi.CheckResponse(res); err != nil {
  4160  		return nil, gensupport.WrapError(err)
  4161  	}
  4162  	ret := &GoogleAppsCloudidentityDevicesV1Device{
  4163  		ServerResponse: googleapi.ServerResponse{
  4164  			Header:         res.Header,
  4165  			HTTPStatusCode: res.StatusCode,
  4166  		},
  4167  	}
  4168  	target := &ret
  4169  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4170  		return nil, err
  4171  	}
  4172  	return ret, nil
  4173  }
  4174  
  4175  type DevicesListCall struct {
  4176  	s            *Service
  4177  	urlParams_   gensupport.URLParams
  4178  	ifNoneMatch_ string
  4179  	ctx_         context.Context
  4180  	header_      http.Header
  4181  }
  4182  
  4183  // List: Lists/Searches devices.
  4184  func (r *DevicesService) List() *DevicesListCall {
  4185  	c := &DevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4186  	return c
  4187  }
  4188  
  4189  // Customer sets the optional parameter "customer": Resource name
  4190  // (https://cloud.google.com/apis/design/resource_names) of the customer in the
  4191  // format: `customers/{customer}`, where customer is the customer to whom the
  4192  // device belongs. If you're using this API for your own organization, use
  4193  // `customers/my_customer`. If you're using this API to manage another
  4194  // organization, use `customers/{customer}`, where customer is the customer to
  4195  // whom the device belongs.
  4196  func (c *DevicesListCall) Customer(customer string) *DevicesListCall {
  4197  	c.urlParams_.Set("customer", customer)
  4198  	return c
  4199  }
  4200  
  4201  // Filter sets the optional parameter "filter": Additional restrictions when
  4202  // fetching list of devices. For a list of search fields, refer to Mobile
  4203  // device search fields
  4204  // (https://developers.google.com/admin-sdk/directory/v1/search-operators).
  4205  // Multiple search fields are separated by the space character.
  4206  func (c *DevicesListCall) Filter(filter string) *DevicesListCall {
  4207  	c.urlParams_.Set("filter", filter)
  4208  	return c
  4209  }
  4210  
  4211  // OrderBy sets the optional parameter "orderBy": Order specification for
  4212  // devices in the response. Only one of the following field names may be used
  4213  // to specify the order: `create_time`, `last_sync_time`, `model`,
  4214  // `os_version`, `device_type` and `serial_number`. `desc` may be specified
  4215  // optionally at the end to specify results to be sorted in descending order.
  4216  // Default order is ascending.
  4217  func (c *DevicesListCall) OrderBy(orderBy string) *DevicesListCall {
  4218  	c.urlParams_.Set("orderBy", orderBy)
  4219  	return c
  4220  }
  4221  
  4222  // PageSize sets the optional parameter "pageSize": The maximum number of
  4223  // Devices to return. If unspecified, at most 20 Devices will be returned. The
  4224  // maximum value is 100; values above 100 will be coerced to 100.
  4225  func (c *DevicesListCall) PageSize(pageSize int64) *DevicesListCall {
  4226  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4227  	return c
  4228  }
  4229  
  4230  // PageToken sets the optional parameter "pageToken": A page token, received
  4231  // from a previous `ListDevices` call. Provide this to retrieve the subsequent
  4232  // page. When paginating, all other parameters provided to `ListDevices` must
  4233  // match the call that provided the page token.
  4234  func (c *DevicesListCall) PageToken(pageToken string) *DevicesListCall {
  4235  	c.urlParams_.Set("pageToken", pageToken)
  4236  	return c
  4237  }
  4238  
  4239  // View sets the optional parameter "view": The view to use for the List
  4240  // request.
  4241  //
  4242  // Possible values:
  4243  //
  4244  //	"VIEW_UNSPECIFIED" - Default value. The value is unused.
  4245  //	"COMPANY_INVENTORY" - This view contains all devices imported by the
  4246  //
  4247  // company admin. Each device in the response contains all information
  4248  // specified by the company admin when importing the device (i.e. asset tags).
  4249  // This includes devices that may be unaassigned or assigned to users.
  4250  //
  4251  //	"USER_ASSIGNED_DEVICES" - This view contains all devices with at least one
  4252  //
  4253  // user registered on the device. Each device in the response contains all
  4254  // device information, except for asset tags.
  4255  func (c *DevicesListCall) View(view string) *DevicesListCall {
  4256  	c.urlParams_.Set("view", view)
  4257  	return c
  4258  }
  4259  
  4260  // Fields allows partial responses to be retrieved. See
  4261  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4262  // details.
  4263  func (c *DevicesListCall) Fields(s ...googleapi.Field) *DevicesListCall {
  4264  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4265  	return c
  4266  }
  4267  
  4268  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4269  // object's ETag matches the given value. This is useful for getting updates
  4270  // only after the object has changed since the last request.
  4271  func (c *DevicesListCall) IfNoneMatch(entityTag string) *DevicesListCall {
  4272  	c.ifNoneMatch_ = entityTag
  4273  	return c
  4274  }
  4275  
  4276  // Context sets the context to be used in this call's Do method.
  4277  func (c *DevicesListCall) Context(ctx context.Context) *DevicesListCall {
  4278  	c.ctx_ = ctx
  4279  	return c
  4280  }
  4281  
  4282  // Header returns a http.Header that can be modified by the caller to add
  4283  // headers to the request.
  4284  func (c *DevicesListCall) Header() http.Header {
  4285  	if c.header_ == nil {
  4286  		c.header_ = make(http.Header)
  4287  	}
  4288  	return c.header_
  4289  }
  4290  
  4291  func (c *DevicesListCall) doRequest(alt string) (*http.Response, error) {
  4292  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4293  	if c.ifNoneMatch_ != "" {
  4294  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4295  	}
  4296  	var body io.Reader = nil
  4297  	c.urlParams_.Set("alt", alt)
  4298  	c.urlParams_.Set("prettyPrint", "false")
  4299  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/devices")
  4300  	urls += "?" + c.urlParams_.Encode()
  4301  	req, err := http.NewRequest("GET", urls, body)
  4302  	if err != nil {
  4303  		return nil, err
  4304  	}
  4305  	req.Header = reqHeaders
  4306  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4307  }
  4308  
  4309  // Do executes the "cloudidentity.devices.list" call.
  4310  // Any non-2xx status code is an error. Response headers are in either
  4311  // *GoogleAppsCloudidentityDevicesV1ListDevicesResponse.ServerResponse.Header
  4312  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  4313  // Use googleapi.IsNotModified to check whether the returned error was because
  4314  // http.StatusNotModified was returned.
  4315  func (c *DevicesListCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1ListDevicesResponse, error) {
  4316  	gensupport.SetOptions(c.urlParams_, opts...)
  4317  	res, err := c.doRequest("json")
  4318  	if res != nil && res.StatusCode == http.StatusNotModified {
  4319  		if res.Body != nil {
  4320  			res.Body.Close()
  4321  		}
  4322  		return nil, gensupport.WrapError(&googleapi.Error{
  4323  			Code:   res.StatusCode,
  4324  			Header: res.Header,
  4325  		})
  4326  	}
  4327  	if err != nil {
  4328  		return nil, err
  4329  	}
  4330  	defer googleapi.CloseBody(res)
  4331  	if err := googleapi.CheckResponse(res); err != nil {
  4332  		return nil, gensupport.WrapError(err)
  4333  	}
  4334  	ret := &GoogleAppsCloudidentityDevicesV1ListDevicesResponse{
  4335  		ServerResponse: googleapi.ServerResponse{
  4336  			Header:         res.Header,
  4337  			HTTPStatusCode: res.StatusCode,
  4338  		},
  4339  	}
  4340  	target := &ret
  4341  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4342  		return nil, err
  4343  	}
  4344  	return ret, nil
  4345  }
  4346  
  4347  // Pages invokes f for each page of results.
  4348  // A non-nil error returned from f will halt the iteration.
  4349  // The provided context supersedes any context provided to the Context method.
  4350  func (c *DevicesListCall) Pages(ctx context.Context, f func(*GoogleAppsCloudidentityDevicesV1ListDevicesResponse) error) error {
  4351  	c.ctx_ = ctx
  4352  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4353  	for {
  4354  		x, err := c.Do()
  4355  		if err != nil {
  4356  			return err
  4357  		}
  4358  		if err := f(x); err != nil {
  4359  			return err
  4360  		}
  4361  		if x.NextPageToken == "" {
  4362  			return nil
  4363  		}
  4364  		c.PageToken(x.NextPageToken)
  4365  	}
  4366  }
  4367  
  4368  type DevicesWipeCall struct {
  4369  	s                                                 *Service
  4370  	name                                              string
  4371  	googleappscloudidentitydevicesv1wipedevicerequest *GoogleAppsCloudidentityDevicesV1WipeDeviceRequest
  4372  	urlParams_                                        gensupport.URLParams
  4373  	ctx_                                              context.Context
  4374  	header_                                           http.Header
  4375  }
  4376  
  4377  // Wipe: Wipes all data on the specified device.
  4378  //
  4379  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4380  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4381  //     where device is the unique ID assigned to the Device, and device_user is
  4382  //     the unique ID assigned to the User.
  4383  func (r *DevicesService) Wipe(name string, googleappscloudidentitydevicesv1wipedevicerequest *GoogleAppsCloudidentityDevicesV1WipeDeviceRequest) *DevicesWipeCall {
  4384  	c := &DevicesWipeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4385  	c.name = name
  4386  	c.googleappscloudidentitydevicesv1wipedevicerequest = googleappscloudidentitydevicesv1wipedevicerequest
  4387  	return c
  4388  }
  4389  
  4390  // Fields allows partial responses to be retrieved. See
  4391  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4392  // details.
  4393  func (c *DevicesWipeCall) Fields(s ...googleapi.Field) *DevicesWipeCall {
  4394  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4395  	return c
  4396  }
  4397  
  4398  // Context sets the context to be used in this call's Do method.
  4399  func (c *DevicesWipeCall) Context(ctx context.Context) *DevicesWipeCall {
  4400  	c.ctx_ = ctx
  4401  	return c
  4402  }
  4403  
  4404  // Header returns a http.Header that can be modified by the caller to add
  4405  // headers to the request.
  4406  func (c *DevicesWipeCall) Header() http.Header {
  4407  	if c.header_ == nil {
  4408  		c.header_ = make(http.Header)
  4409  	}
  4410  	return c.header_
  4411  }
  4412  
  4413  func (c *DevicesWipeCall) doRequest(alt string) (*http.Response, error) {
  4414  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4415  	var body io.Reader = nil
  4416  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1wipedevicerequest)
  4417  	if err != nil {
  4418  		return nil, err
  4419  	}
  4420  	c.urlParams_.Set("alt", alt)
  4421  	c.urlParams_.Set("prettyPrint", "false")
  4422  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wipe")
  4423  	urls += "?" + c.urlParams_.Encode()
  4424  	req, err := http.NewRequest("POST", urls, body)
  4425  	if err != nil {
  4426  		return nil, err
  4427  	}
  4428  	req.Header = reqHeaders
  4429  	googleapi.Expand(req.URL, map[string]string{
  4430  		"name": c.name,
  4431  	})
  4432  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4433  }
  4434  
  4435  // Do executes the "cloudidentity.devices.wipe" call.
  4436  // Any non-2xx status code is an error. Response headers are in either
  4437  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4438  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4439  // whether the returned error was because http.StatusNotModified was returned.
  4440  func (c *DevicesWipeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4441  	gensupport.SetOptions(c.urlParams_, opts...)
  4442  	res, err := c.doRequest("json")
  4443  	if res != nil && res.StatusCode == http.StatusNotModified {
  4444  		if res.Body != nil {
  4445  			res.Body.Close()
  4446  		}
  4447  		return nil, gensupport.WrapError(&googleapi.Error{
  4448  			Code:   res.StatusCode,
  4449  			Header: res.Header,
  4450  		})
  4451  	}
  4452  	if err != nil {
  4453  		return nil, err
  4454  	}
  4455  	defer googleapi.CloseBody(res)
  4456  	if err := googleapi.CheckResponse(res); err != nil {
  4457  		return nil, gensupport.WrapError(err)
  4458  	}
  4459  	ret := &Operation{
  4460  		ServerResponse: googleapi.ServerResponse{
  4461  			Header:         res.Header,
  4462  			HTTPStatusCode: res.StatusCode,
  4463  		},
  4464  	}
  4465  	target := &ret
  4466  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4467  		return nil, err
  4468  	}
  4469  	return ret, nil
  4470  }
  4471  
  4472  type DevicesDeviceUsersApproveCall struct {
  4473  	s                                                        *Service
  4474  	name                                                     string
  4475  	googleappscloudidentitydevicesv1approvedeviceuserrequest *GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest
  4476  	urlParams_                                               gensupport.URLParams
  4477  	ctx_                                                     context.Context
  4478  	header_                                                  http.Header
  4479  }
  4480  
  4481  // Approve: Approves device to access user data.
  4482  //
  4483  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4484  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4485  //     where device is the unique ID assigned to the Device, and device_user is
  4486  //     the unique ID assigned to the User.
  4487  func (r *DevicesDeviceUsersService) Approve(name string, googleappscloudidentitydevicesv1approvedeviceuserrequest *GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest) *DevicesDeviceUsersApproveCall {
  4488  	c := &DevicesDeviceUsersApproveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4489  	c.name = name
  4490  	c.googleappscloudidentitydevicesv1approvedeviceuserrequest = googleappscloudidentitydevicesv1approvedeviceuserrequest
  4491  	return c
  4492  }
  4493  
  4494  // Fields allows partial responses to be retrieved. See
  4495  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4496  // details.
  4497  func (c *DevicesDeviceUsersApproveCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersApproveCall {
  4498  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4499  	return c
  4500  }
  4501  
  4502  // Context sets the context to be used in this call's Do method.
  4503  func (c *DevicesDeviceUsersApproveCall) Context(ctx context.Context) *DevicesDeviceUsersApproveCall {
  4504  	c.ctx_ = ctx
  4505  	return c
  4506  }
  4507  
  4508  // Header returns a http.Header that can be modified by the caller to add
  4509  // headers to the request.
  4510  func (c *DevicesDeviceUsersApproveCall) Header() http.Header {
  4511  	if c.header_ == nil {
  4512  		c.header_ = make(http.Header)
  4513  	}
  4514  	return c.header_
  4515  }
  4516  
  4517  func (c *DevicesDeviceUsersApproveCall) doRequest(alt string) (*http.Response, error) {
  4518  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4519  	var body io.Reader = nil
  4520  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1approvedeviceuserrequest)
  4521  	if err != nil {
  4522  		return nil, err
  4523  	}
  4524  	c.urlParams_.Set("alt", alt)
  4525  	c.urlParams_.Set("prettyPrint", "false")
  4526  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:approve")
  4527  	urls += "?" + c.urlParams_.Encode()
  4528  	req, err := http.NewRequest("POST", urls, body)
  4529  	if err != nil {
  4530  		return nil, err
  4531  	}
  4532  	req.Header = reqHeaders
  4533  	googleapi.Expand(req.URL, map[string]string{
  4534  		"name": c.name,
  4535  	})
  4536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4537  }
  4538  
  4539  // Do executes the "cloudidentity.devices.deviceUsers.approve" call.
  4540  // Any non-2xx status code is an error. Response headers are in either
  4541  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4542  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4543  // whether the returned error was because http.StatusNotModified was returned.
  4544  func (c *DevicesDeviceUsersApproveCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4545  	gensupport.SetOptions(c.urlParams_, opts...)
  4546  	res, err := c.doRequest("json")
  4547  	if res != nil && res.StatusCode == http.StatusNotModified {
  4548  		if res.Body != nil {
  4549  			res.Body.Close()
  4550  		}
  4551  		return nil, gensupport.WrapError(&googleapi.Error{
  4552  			Code:   res.StatusCode,
  4553  			Header: res.Header,
  4554  		})
  4555  	}
  4556  	if err != nil {
  4557  		return nil, err
  4558  	}
  4559  	defer googleapi.CloseBody(res)
  4560  	if err := googleapi.CheckResponse(res); err != nil {
  4561  		return nil, gensupport.WrapError(err)
  4562  	}
  4563  	ret := &Operation{
  4564  		ServerResponse: googleapi.ServerResponse{
  4565  			Header:         res.Header,
  4566  			HTTPStatusCode: res.StatusCode,
  4567  		},
  4568  	}
  4569  	target := &ret
  4570  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4571  		return nil, err
  4572  	}
  4573  	return ret, nil
  4574  }
  4575  
  4576  type DevicesDeviceUsersBlockCall struct {
  4577  	s                                                      *Service
  4578  	name                                                   string
  4579  	googleappscloudidentitydevicesv1blockdeviceuserrequest *GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest
  4580  	urlParams_                                             gensupport.URLParams
  4581  	ctx_                                                   context.Context
  4582  	header_                                                http.Header
  4583  }
  4584  
  4585  // Block: Blocks device from accessing user data
  4586  //
  4587  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4588  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4589  //     where device is the unique ID assigned to the Device, and device_user is
  4590  //     the unique ID assigned to the User.
  4591  func (r *DevicesDeviceUsersService) Block(name string, googleappscloudidentitydevicesv1blockdeviceuserrequest *GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest) *DevicesDeviceUsersBlockCall {
  4592  	c := &DevicesDeviceUsersBlockCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4593  	c.name = name
  4594  	c.googleappscloudidentitydevicesv1blockdeviceuserrequest = googleappscloudidentitydevicesv1blockdeviceuserrequest
  4595  	return c
  4596  }
  4597  
  4598  // Fields allows partial responses to be retrieved. See
  4599  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4600  // details.
  4601  func (c *DevicesDeviceUsersBlockCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersBlockCall {
  4602  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4603  	return c
  4604  }
  4605  
  4606  // Context sets the context to be used in this call's Do method.
  4607  func (c *DevicesDeviceUsersBlockCall) Context(ctx context.Context) *DevicesDeviceUsersBlockCall {
  4608  	c.ctx_ = ctx
  4609  	return c
  4610  }
  4611  
  4612  // Header returns a http.Header that can be modified by the caller to add
  4613  // headers to the request.
  4614  func (c *DevicesDeviceUsersBlockCall) Header() http.Header {
  4615  	if c.header_ == nil {
  4616  		c.header_ = make(http.Header)
  4617  	}
  4618  	return c.header_
  4619  }
  4620  
  4621  func (c *DevicesDeviceUsersBlockCall) doRequest(alt string) (*http.Response, error) {
  4622  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4623  	var body io.Reader = nil
  4624  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1blockdeviceuserrequest)
  4625  	if err != nil {
  4626  		return nil, err
  4627  	}
  4628  	c.urlParams_.Set("alt", alt)
  4629  	c.urlParams_.Set("prettyPrint", "false")
  4630  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:block")
  4631  	urls += "?" + c.urlParams_.Encode()
  4632  	req, err := http.NewRequest("POST", urls, body)
  4633  	if err != nil {
  4634  		return nil, err
  4635  	}
  4636  	req.Header = reqHeaders
  4637  	googleapi.Expand(req.URL, map[string]string{
  4638  		"name": c.name,
  4639  	})
  4640  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4641  }
  4642  
  4643  // Do executes the "cloudidentity.devices.deviceUsers.block" call.
  4644  // Any non-2xx status code is an error. Response headers are in either
  4645  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4646  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4647  // whether the returned error was because http.StatusNotModified was returned.
  4648  func (c *DevicesDeviceUsersBlockCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4649  	gensupport.SetOptions(c.urlParams_, opts...)
  4650  	res, err := c.doRequest("json")
  4651  	if res != nil && res.StatusCode == http.StatusNotModified {
  4652  		if res.Body != nil {
  4653  			res.Body.Close()
  4654  		}
  4655  		return nil, gensupport.WrapError(&googleapi.Error{
  4656  			Code:   res.StatusCode,
  4657  			Header: res.Header,
  4658  		})
  4659  	}
  4660  	if err != nil {
  4661  		return nil, err
  4662  	}
  4663  	defer googleapi.CloseBody(res)
  4664  	if err := googleapi.CheckResponse(res); err != nil {
  4665  		return nil, gensupport.WrapError(err)
  4666  	}
  4667  	ret := &Operation{
  4668  		ServerResponse: googleapi.ServerResponse{
  4669  			Header:         res.Header,
  4670  			HTTPStatusCode: res.StatusCode,
  4671  		},
  4672  	}
  4673  	target := &ret
  4674  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4675  		return nil, err
  4676  	}
  4677  	return ret, nil
  4678  }
  4679  
  4680  type DevicesDeviceUsersCancelWipeCall struct {
  4681  	s                                                           *Service
  4682  	name                                                        string
  4683  	googleappscloudidentitydevicesv1cancelwipedeviceuserrequest *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest
  4684  	urlParams_                                                  gensupport.URLParams
  4685  	ctx_                                                        context.Context
  4686  	header_                                                     http.Header
  4687  }
  4688  
  4689  // CancelWipe: Cancels an unfinished user account wipe. This operation can be
  4690  // used to cancel device wipe in the gap between the wipe operation returning
  4691  // success and the device being wiped.
  4692  //
  4693  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4694  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4695  //     where device is the unique ID assigned to the Device, and device_user is
  4696  //     the unique ID assigned to the User.
  4697  func (r *DevicesDeviceUsersService) CancelWipe(name string, googleappscloudidentitydevicesv1cancelwipedeviceuserrequest *GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest) *DevicesDeviceUsersCancelWipeCall {
  4698  	c := &DevicesDeviceUsersCancelWipeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4699  	c.name = name
  4700  	c.googleappscloudidentitydevicesv1cancelwipedeviceuserrequest = googleappscloudidentitydevicesv1cancelwipedeviceuserrequest
  4701  	return c
  4702  }
  4703  
  4704  // Fields allows partial responses to be retrieved. See
  4705  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4706  // details.
  4707  func (c *DevicesDeviceUsersCancelWipeCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersCancelWipeCall {
  4708  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4709  	return c
  4710  }
  4711  
  4712  // Context sets the context to be used in this call's Do method.
  4713  func (c *DevicesDeviceUsersCancelWipeCall) Context(ctx context.Context) *DevicesDeviceUsersCancelWipeCall {
  4714  	c.ctx_ = ctx
  4715  	return c
  4716  }
  4717  
  4718  // Header returns a http.Header that can be modified by the caller to add
  4719  // headers to the request.
  4720  func (c *DevicesDeviceUsersCancelWipeCall) Header() http.Header {
  4721  	if c.header_ == nil {
  4722  		c.header_ = make(http.Header)
  4723  	}
  4724  	return c.header_
  4725  }
  4726  
  4727  func (c *DevicesDeviceUsersCancelWipeCall) doRequest(alt string) (*http.Response, error) {
  4728  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4729  	var body io.Reader = nil
  4730  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1cancelwipedeviceuserrequest)
  4731  	if err != nil {
  4732  		return nil, err
  4733  	}
  4734  	c.urlParams_.Set("alt", alt)
  4735  	c.urlParams_.Set("prettyPrint", "false")
  4736  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancelWipe")
  4737  	urls += "?" + c.urlParams_.Encode()
  4738  	req, err := http.NewRequest("POST", urls, body)
  4739  	if err != nil {
  4740  		return nil, err
  4741  	}
  4742  	req.Header = reqHeaders
  4743  	googleapi.Expand(req.URL, map[string]string{
  4744  		"name": c.name,
  4745  	})
  4746  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4747  }
  4748  
  4749  // Do executes the "cloudidentity.devices.deviceUsers.cancelWipe" call.
  4750  // Any non-2xx status code is an error. Response headers are in either
  4751  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4752  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4753  // whether the returned error was because http.StatusNotModified was returned.
  4754  func (c *DevicesDeviceUsersCancelWipeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4755  	gensupport.SetOptions(c.urlParams_, opts...)
  4756  	res, err := c.doRequest("json")
  4757  	if res != nil && res.StatusCode == http.StatusNotModified {
  4758  		if res.Body != nil {
  4759  			res.Body.Close()
  4760  		}
  4761  		return nil, gensupport.WrapError(&googleapi.Error{
  4762  			Code:   res.StatusCode,
  4763  			Header: res.Header,
  4764  		})
  4765  	}
  4766  	if err != nil {
  4767  		return nil, err
  4768  	}
  4769  	defer googleapi.CloseBody(res)
  4770  	if err := googleapi.CheckResponse(res); err != nil {
  4771  		return nil, gensupport.WrapError(err)
  4772  	}
  4773  	ret := &Operation{
  4774  		ServerResponse: googleapi.ServerResponse{
  4775  			Header:         res.Header,
  4776  			HTTPStatusCode: res.StatusCode,
  4777  		},
  4778  	}
  4779  	target := &ret
  4780  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4781  		return nil, err
  4782  	}
  4783  	return ret, nil
  4784  }
  4785  
  4786  type DevicesDeviceUsersDeleteCall struct {
  4787  	s          *Service
  4788  	name       string
  4789  	urlParams_ gensupport.URLParams
  4790  	ctx_       context.Context
  4791  	header_    http.Header
  4792  }
  4793  
  4794  // Delete: Deletes the specified DeviceUser. This also revokes the user's
  4795  // access to device data.
  4796  //
  4797  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4798  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4799  //     where device is the unique ID assigned to the Device, and device_user is
  4800  //     the unique ID assigned to the User.
  4801  func (r *DevicesDeviceUsersService) Delete(name string) *DevicesDeviceUsersDeleteCall {
  4802  	c := &DevicesDeviceUsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4803  	c.name = name
  4804  	return c
  4805  }
  4806  
  4807  // Customer sets the optional parameter "customer": Resource name
  4808  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  4809  // you're using this API for your own organization, use `customers/my_customer`
  4810  // If you're using this API to manage another organization, use
  4811  // `customers/{customer}`, where customer is the customer to whom the device
  4812  // belongs.
  4813  func (c *DevicesDeviceUsersDeleteCall) Customer(customer string) *DevicesDeviceUsersDeleteCall {
  4814  	c.urlParams_.Set("customer", customer)
  4815  	return c
  4816  }
  4817  
  4818  // Fields allows partial responses to be retrieved. See
  4819  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4820  // details.
  4821  func (c *DevicesDeviceUsersDeleteCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersDeleteCall {
  4822  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4823  	return c
  4824  }
  4825  
  4826  // Context sets the context to be used in this call's Do method.
  4827  func (c *DevicesDeviceUsersDeleteCall) Context(ctx context.Context) *DevicesDeviceUsersDeleteCall {
  4828  	c.ctx_ = ctx
  4829  	return c
  4830  }
  4831  
  4832  // Header returns a http.Header that can be modified by the caller to add
  4833  // headers to the request.
  4834  func (c *DevicesDeviceUsersDeleteCall) Header() http.Header {
  4835  	if c.header_ == nil {
  4836  		c.header_ = make(http.Header)
  4837  	}
  4838  	return c.header_
  4839  }
  4840  
  4841  func (c *DevicesDeviceUsersDeleteCall) doRequest(alt string) (*http.Response, error) {
  4842  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4843  	var body io.Reader = nil
  4844  	c.urlParams_.Set("alt", alt)
  4845  	c.urlParams_.Set("prettyPrint", "false")
  4846  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4847  	urls += "?" + c.urlParams_.Encode()
  4848  	req, err := http.NewRequest("DELETE", urls, body)
  4849  	if err != nil {
  4850  		return nil, err
  4851  	}
  4852  	req.Header = reqHeaders
  4853  	googleapi.Expand(req.URL, map[string]string{
  4854  		"name": c.name,
  4855  	})
  4856  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4857  }
  4858  
  4859  // Do executes the "cloudidentity.devices.deviceUsers.delete" call.
  4860  // Any non-2xx status code is an error. Response headers are in either
  4861  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4862  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4863  // whether the returned error was because http.StatusNotModified was returned.
  4864  func (c *DevicesDeviceUsersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4865  	gensupport.SetOptions(c.urlParams_, opts...)
  4866  	res, err := c.doRequest("json")
  4867  	if res != nil && res.StatusCode == http.StatusNotModified {
  4868  		if res.Body != nil {
  4869  			res.Body.Close()
  4870  		}
  4871  		return nil, gensupport.WrapError(&googleapi.Error{
  4872  			Code:   res.StatusCode,
  4873  			Header: res.Header,
  4874  		})
  4875  	}
  4876  	if err != nil {
  4877  		return nil, err
  4878  	}
  4879  	defer googleapi.CloseBody(res)
  4880  	if err := googleapi.CheckResponse(res); err != nil {
  4881  		return nil, gensupport.WrapError(err)
  4882  	}
  4883  	ret := &Operation{
  4884  		ServerResponse: googleapi.ServerResponse{
  4885  			Header:         res.Header,
  4886  			HTTPStatusCode: res.StatusCode,
  4887  		},
  4888  	}
  4889  	target := &ret
  4890  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4891  		return nil, err
  4892  	}
  4893  	return ret, nil
  4894  }
  4895  
  4896  type DevicesDeviceUsersGetCall struct {
  4897  	s            *Service
  4898  	name         string
  4899  	urlParams_   gensupport.URLParams
  4900  	ifNoneMatch_ string
  4901  	ctx_         context.Context
  4902  	header_      http.Header
  4903  }
  4904  
  4905  // Get: Retrieves the specified DeviceUser
  4906  //
  4907  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  4908  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  4909  //     where device is the unique ID assigned to the Device, and device_user is
  4910  //     the unique ID assigned to the User.
  4911  func (r *DevicesDeviceUsersService) Get(name string) *DevicesDeviceUsersGetCall {
  4912  	c := &DevicesDeviceUsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4913  	c.name = name
  4914  	return c
  4915  }
  4916  
  4917  // Customer sets the optional parameter "customer": Resource name
  4918  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  4919  // you're using this API for your own organization, use `customers/my_customer`
  4920  // If you're using this API to manage another organization, use
  4921  // `customers/{customer}`, where customer is the customer to whom the device
  4922  // belongs.
  4923  func (c *DevicesDeviceUsersGetCall) Customer(customer string) *DevicesDeviceUsersGetCall {
  4924  	c.urlParams_.Set("customer", customer)
  4925  	return c
  4926  }
  4927  
  4928  // Fields allows partial responses to be retrieved. See
  4929  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4930  // details.
  4931  func (c *DevicesDeviceUsersGetCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersGetCall {
  4932  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4933  	return c
  4934  }
  4935  
  4936  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4937  // object's ETag matches the given value. This is useful for getting updates
  4938  // only after the object has changed since the last request.
  4939  func (c *DevicesDeviceUsersGetCall) IfNoneMatch(entityTag string) *DevicesDeviceUsersGetCall {
  4940  	c.ifNoneMatch_ = entityTag
  4941  	return c
  4942  }
  4943  
  4944  // Context sets the context to be used in this call's Do method.
  4945  func (c *DevicesDeviceUsersGetCall) Context(ctx context.Context) *DevicesDeviceUsersGetCall {
  4946  	c.ctx_ = ctx
  4947  	return c
  4948  }
  4949  
  4950  // Header returns a http.Header that can be modified by the caller to add
  4951  // headers to the request.
  4952  func (c *DevicesDeviceUsersGetCall) Header() http.Header {
  4953  	if c.header_ == nil {
  4954  		c.header_ = make(http.Header)
  4955  	}
  4956  	return c.header_
  4957  }
  4958  
  4959  func (c *DevicesDeviceUsersGetCall) doRequest(alt string) (*http.Response, error) {
  4960  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4961  	if c.ifNoneMatch_ != "" {
  4962  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4963  	}
  4964  	var body io.Reader = nil
  4965  	c.urlParams_.Set("alt", alt)
  4966  	c.urlParams_.Set("prettyPrint", "false")
  4967  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4968  	urls += "?" + c.urlParams_.Encode()
  4969  	req, err := http.NewRequest("GET", urls, body)
  4970  	if err != nil {
  4971  		return nil, err
  4972  	}
  4973  	req.Header = reqHeaders
  4974  	googleapi.Expand(req.URL, map[string]string{
  4975  		"name": c.name,
  4976  	})
  4977  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4978  }
  4979  
  4980  // Do executes the "cloudidentity.devices.deviceUsers.get" call.
  4981  // Any non-2xx status code is an error. Response headers are in either
  4982  // *GoogleAppsCloudidentityDevicesV1DeviceUser.ServerResponse.Header or (if a
  4983  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4984  // googleapi.IsNotModified to check whether the returned error was because
  4985  // http.StatusNotModified was returned.
  4986  func (c *DevicesDeviceUsersGetCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1DeviceUser, error) {
  4987  	gensupport.SetOptions(c.urlParams_, opts...)
  4988  	res, err := c.doRequest("json")
  4989  	if res != nil && res.StatusCode == http.StatusNotModified {
  4990  		if res.Body != nil {
  4991  			res.Body.Close()
  4992  		}
  4993  		return nil, gensupport.WrapError(&googleapi.Error{
  4994  			Code:   res.StatusCode,
  4995  			Header: res.Header,
  4996  		})
  4997  	}
  4998  	if err != nil {
  4999  		return nil, err
  5000  	}
  5001  	defer googleapi.CloseBody(res)
  5002  	if err := googleapi.CheckResponse(res); err != nil {
  5003  		return nil, gensupport.WrapError(err)
  5004  	}
  5005  	ret := &GoogleAppsCloudidentityDevicesV1DeviceUser{
  5006  		ServerResponse: googleapi.ServerResponse{
  5007  			Header:         res.Header,
  5008  			HTTPStatusCode: res.StatusCode,
  5009  		},
  5010  	}
  5011  	target := &ret
  5012  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5013  		return nil, err
  5014  	}
  5015  	return ret, nil
  5016  }
  5017  
  5018  type DevicesDeviceUsersListCall struct {
  5019  	s            *Service
  5020  	parent       string
  5021  	urlParams_   gensupport.URLParams
  5022  	ifNoneMatch_ string
  5023  	ctx_         context.Context
  5024  	header_      http.Header
  5025  }
  5026  
  5027  // List: Lists/Searches DeviceUsers.
  5028  //
  5029  //   - parent: To list all DeviceUsers, set this to "devices/-". To list all
  5030  //     DeviceUsers owned by a device, set this to the resource name of the
  5031  //     device. Format: devices/{device}.
  5032  func (r *DevicesDeviceUsersService) List(parent string) *DevicesDeviceUsersListCall {
  5033  	c := &DevicesDeviceUsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5034  	c.parent = parent
  5035  	return c
  5036  }
  5037  
  5038  // Customer sets the optional parameter "customer": Resource name
  5039  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  5040  // you're using this API for your own organization, use `customers/my_customer`
  5041  // If you're using this API to manage another organization, use
  5042  // `customers/{customer}`, where customer is the customer to whom the device
  5043  // belongs.
  5044  func (c *DevicesDeviceUsersListCall) Customer(customer string) *DevicesDeviceUsersListCall {
  5045  	c.urlParams_.Set("customer", customer)
  5046  	return c
  5047  }
  5048  
  5049  // Filter sets the optional parameter "filter": Additional restrictions when
  5050  // fetching list of devices. For a list of search fields, refer to Mobile
  5051  // device search fields
  5052  // (https://developers.google.com/admin-sdk/directory/v1/search-operators).
  5053  // Multiple search fields are separated by the space character.
  5054  func (c *DevicesDeviceUsersListCall) Filter(filter string) *DevicesDeviceUsersListCall {
  5055  	c.urlParams_.Set("filter", filter)
  5056  	return c
  5057  }
  5058  
  5059  // OrderBy sets the optional parameter "orderBy": Order specification for
  5060  // devices in the response.
  5061  func (c *DevicesDeviceUsersListCall) OrderBy(orderBy string) *DevicesDeviceUsersListCall {
  5062  	c.urlParams_.Set("orderBy", orderBy)
  5063  	return c
  5064  }
  5065  
  5066  // PageSize sets the optional parameter "pageSize": The maximum number of
  5067  // DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be
  5068  // returned. The maximum value is 20; values above 20 will be coerced to 20.
  5069  func (c *DevicesDeviceUsersListCall) PageSize(pageSize int64) *DevicesDeviceUsersListCall {
  5070  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5071  	return c
  5072  }
  5073  
  5074  // PageToken sets the optional parameter "pageToken": A page token, received
  5075  // from a previous `ListDeviceUsers` call. Provide this to retrieve the
  5076  // subsequent page. When paginating, all other parameters provided to
  5077  // `ListBooks` must match the call that provided the page token.
  5078  func (c *DevicesDeviceUsersListCall) PageToken(pageToken string) *DevicesDeviceUsersListCall {
  5079  	c.urlParams_.Set("pageToken", pageToken)
  5080  	return c
  5081  }
  5082  
  5083  // Fields allows partial responses to be retrieved. See
  5084  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5085  // details.
  5086  func (c *DevicesDeviceUsersListCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersListCall {
  5087  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5088  	return c
  5089  }
  5090  
  5091  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5092  // object's ETag matches the given value. This is useful for getting updates
  5093  // only after the object has changed since the last request.
  5094  func (c *DevicesDeviceUsersListCall) IfNoneMatch(entityTag string) *DevicesDeviceUsersListCall {
  5095  	c.ifNoneMatch_ = entityTag
  5096  	return c
  5097  }
  5098  
  5099  // Context sets the context to be used in this call's Do method.
  5100  func (c *DevicesDeviceUsersListCall) Context(ctx context.Context) *DevicesDeviceUsersListCall {
  5101  	c.ctx_ = ctx
  5102  	return c
  5103  }
  5104  
  5105  // Header returns a http.Header that can be modified by the caller to add
  5106  // headers to the request.
  5107  func (c *DevicesDeviceUsersListCall) Header() http.Header {
  5108  	if c.header_ == nil {
  5109  		c.header_ = make(http.Header)
  5110  	}
  5111  	return c.header_
  5112  }
  5113  
  5114  func (c *DevicesDeviceUsersListCall) doRequest(alt string) (*http.Response, error) {
  5115  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5116  	if c.ifNoneMatch_ != "" {
  5117  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5118  	}
  5119  	var body io.Reader = nil
  5120  	c.urlParams_.Set("alt", alt)
  5121  	c.urlParams_.Set("prettyPrint", "false")
  5122  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/deviceUsers")
  5123  	urls += "?" + c.urlParams_.Encode()
  5124  	req, err := http.NewRequest("GET", urls, body)
  5125  	if err != nil {
  5126  		return nil, err
  5127  	}
  5128  	req.Header = reqHeaders
  5129  	googleapi.Expand(req.URL, map[string]string{
  5130  		"parent": c.parent,
  5131  	})
  5132  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5133  }
  5134  
  5135  // Do executes the "cloudidentity.devices.deviceUsers.list" call.
  5136  // Any non-2xx status code is an error. Response headers are in either
  5137  // *GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse.ServerResponse.Heade
  5138  // r or (if a response was returned at all) in error.(*googleapi.Error).Header.
  5139  // Use googleapi.IsNotModified to check whether the returned error was because
  5140  // http.StatusNotModified was returned.
  5141  func (c *DevicesDeviceUsersListCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse, error) {
  5142  	gensupport.SetOptions(c.urlParams_, opts...)
  5143  	res, err := c.doRequest("json")
  5144  	if res != nil && res.StatusCode == http.StatusNotModified {
  5145  		if res.Body != nil {
  5146  			res.Body.Close()
  5147  		}
  5148  		return nil, gensupport.WrapError(&googleapi.Error{
  5149  			Code:   res.StatusCode,
  5150  			Header: res.Header,
  5151  		})
  5152  	}
  5153  	if err != nil {
  5154  		return nil, err
  5155  	}
  5156  	defer googleapi.CloseBody(res)
  5157  	if err := googleapi.CheckResponse(res); err != nil {
  5158  		return nil, gensupport.WrapError(err)
  5159  	}
  5160  	ret := &GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse{
  5161  		ServerResponse: googleapi.ServerResponse{
  5162  			Header:         res.Header,
  5163  			HTTPStatusCode: res.StatusCode,
  5164  		},
  5165  	}
  5166  	target := &ret
  5167  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5168  		return nil, err
  5169  	}
  5170  	return ret, nil
  5171  }
  5172  
  5173  // Pages invokes f for each page of results.
  5174  // A non-nil error returned from f will halt the iteration.
  5175  // The provided context supersedes any context provided to the Context method.
  5176  func (c *DevicesDeviceUsersListCall) Pages(ctx context.Context, f func(*GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse) error) error {
  5177  	c.ctx_ = ctx
  5178  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5179  	for {
  5180  		x, err := c.Do()
  5181  		if err != nil {
  5182  			return err
  5183  		}
  5184  		if err := f(x); err != nil {
  5185  			return err
  5186  		}
  5187  		if x.NextPageToken == "" {
  5188  			return nil
  5189  		}
  5190  		c.PageToken(x.NextPageToken)
  5191  	}
  5192  }
  5193  
  5194  type DevicesDeviceUsersLookupCall struct {
  5195  	s            *Service
  5196  	parent       string
  5197  	urlParams_   gensupport.URLParams
  5198  	ifNoneMatch_ string
  5199  	ctx_         context.Context
  5200  	header_      http.Header
  5201  }
  5202  
  5203  // Lookup: Looks up resource names of the DeviceUsers associated with the
  5204  // caller's credentials, as well as the properties provided in the request.
  5205  // This method must be called with end-user credentials with the scope:
  5206  // https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple
  5207  // properties are provided, only DeviceUsers having all of these properties are
  5208  // considered as matches - i.e. the query behaves like an AND. Different
  5209  // platforms require different amounts of information from the caller to ensure
  5210  // that the DeviceUser is uniquely identified. - iOS: No properties need to be
  5211  // passed, the caller's credentials are sufficient to identify the
  5212  // corresponding DeviceUser. - Android: Specifying the 'android_id' field is
  5213  // required. - Desktop: Specifying the 'raw_resource_id' field is required.
  5214  //
  5215  //   - parent: Must be set to "devices/-/deviceUsers" to search across all
  5216  //     DeviceUser belonging to the user.
  5217  func (r *DevicesDeviceUsersService) Lookup(parent string) *DevicesDeviceUsersLookupCall {
  5218  	c := &DevicesDeviceUsersLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5219  	c.parent = parent
  5220  	return c
  5221  }
  5222  
  5223  // AndroidId sets the optional parameter "androidId": Android Id returned by
  5224  // Settings.Secure#ANDROID_ID
  5225  // (https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).
  5226  func (c *DevicesDeviceUsersLookupCall) AndroidId(androidId string) *DevicesDeviceUsersLookupCall {
  5227  	c.urlParams_.Set("androidId", androidId)
  5228  	return c
  5229  }
  5230  
  5231  // PageSize sets the optional parameter "pageSize": The maximum number of
  5232  // DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be
  5233  // returned. The maximum value is 20; values above 20 will be coerced to 20.
  5234  func (c *DevicesDeviceUsersLookupCall) PageSize(pageSize int64) *DevicesDeviceUsersLookupCall {
  5235  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5236  	return c
  5237  }
  5238  
  5239  // PageToken sets the optional parameter "pageToken": A page token, received
  5240  // from a previous `LookupDeviceUsers` call. Provide this to retrieve the
  5241  // subsequent page. When paginating, all other parameters provided to
  5242  // `LookupDeviceUsers` must match the call that provided the page token.
  5243  func (c *DevicesDeviceUsersLookupCall) PageToken(pageToken string) *DevicesDeviceUsersLookupCall {
  5244  	c.urlParams_.Set("pageToken", pageToken)
  5245  	return c
  5246  }
  5247  
  5248  // RawResourceId sets the optional parameter "rawResourceId": Raw Resource Id
  5249  // used by Google Endpoint Verification. If the user is enrolled into Google
  5250  // Endpoint Verification, this id will be saved as the 'device_resource_id'
  5251  // field in the following platform dependent files. * macOS:
  5252  // ~/.secureConnect/context_aware_config.json * Windows:
  5253  // %USERPROFILE%\AppData\Local\Google\Endpoint Verification\accounts.json *
  5254  // Linux: ~/.secureConnect/context_aware_config.json
  5255  func (c *DevicesDeviceUsersLookupCall) RawResourceId(rawResourceId string) *DevicesDeviceUsersLookupCall {
  5256  	c.urlParams_.Set("rawResourceId", rawResourceId)
  5257  	return c
  5258  }
  5259  
  5260  // UserId sets the optional parameter "userId": The user whose DeviceUser's
  5261  // resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's
  5262  // resource name for the calling user.
  5263  func (c *DevicesDeviceUsersLookupCall) UserId(userId string) *DevicesDeviceUsersLookupCall {
  5264  	c.urlParams_.Set("userId", userId)
  5265  	return c
  5266  }
  5267  
  5268  // Fields allows partial responses to be retrieved. See
  5269  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5270  // details.
  5271  func (c *DevicesDeviceUsersLookupCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersLookupCall {
  5272  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5273  	return c
  5274  }
  5275  
  5276  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5277  // object's ETag matches the given value. This is useful for getting updates
  5278  // only after the object has changed since the last request.
  5279  func (c *DevicesDeviceUsersLookupCall) IfNoneMatch(entityTag string) *DevicesDeviceUsersLookupCall {
  5280  	c.ifNoneMatch_ = entityTag
  5281  	return c
  5282  }
  5283  
  5284  // Context sets the context to be used in this call's Do method.
  5285  func (c *DevicesDeviceUsersLookupCall) Context(ctx context.Context) *DevicesDeviceUsersLookupCall {
  5286  	c.ctx_ = ctx
  5287  	return c
  5288  }
  5289  
  5290  // Header returns a http.Header that can be modified by the caller to add
  5291  // headers to the request.
  5292  func (c *DevicesDeviceUsersLookupCall) Header() http.Header {
  5293  	if c.header_ == nil {
  5294  		c.header_ = make(http.Header)
  5295  	}
  5296  	return c.header_
  5297  }
  5298  
  5299  func (c *DevicesDeviceUsersLookupCall) doRequest(alt string) (*http.Response, error) {
  5300  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5301  	if c.ifNoneMatch_ != "" {
  5302  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5303  	}
  5304  	var body io.Reader = nil
  5305  	c.urlParams_.Set("alt", alt)
  5306  	c.urlParams_.Set("prettyPrint", "false")
  5307  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:lookup")
  5308  	urls += "?" + c.urlParams_.Encode()
  5309  	req, err := http.NewRequest("GET", urls, body)
  5310  	if err != nil {
  5311  		return nil, err
  5312  	}
  5313  	req.Header = reqHeaders
  5314  	googleapi.Expand(req.URL, map[string]string{
  5315  		"parent": c.parent,
  5316  	})
  5317  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5318  }
  5319  
  5320  // Do executes the "cloudidentity.devices.deviceUsers.lookup" call.
  5321  // Any non-2xx status code is an error. Response headers are in either
  5322  // *GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse.ServerResponse
  5323  // .Header or (if a response was returned at all) in
  5324  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5325  // whether the returned error was because http.StatusNotModified was returned.
  5326  func (c *DevicesDeviceUsersLookupCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse, error) {
  5327  	gensupport.SetOptions(c.urlParams_, opts...)
  5328  	res, err := c.doRequest("json")
  5329  	if res != nil && res.StatusCode == http.StatusNotModified {
  5330  		if res.Body != nil {
  5331  			res.Body.Close()
  5332  		}
  5333  		return nil, gensupport.WrapError(&googleapi.Error{
  5334  			Code:   res.StatusCode,
  5335  			Header: res.Header,
  5336  		})
  5337  	}
  5338  	if err != nil {
  5339  		return nil, err
  5340  	}
  5341  	defer googleapi.CloseBody(res)
  5342  	if err := googleapi.CheckResponse(res); err != nil {
  5343  		return nil, gensupport.WrapError(err)
  5344  	}
  5345  	ret := &GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse{
  5346  		ServerResponse: googleapi.ServerResponse{
  5347  			Header:         res.Header,
  5348  			HTTPStatusCode: res.StatusCode,
  5349  		},
  5350  	}
  5351  	target := &ret
  5352  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5353  		return nil, err
  5354  	}
  5355  	return ret, nil
  5356  }
  5357  
  5358  // Pages invokes f for each page of results.
  5359  // A non-nil error returned from f will halt the iteration.
  5360  // The provided context supersedes any context provided to the Context method.
  5361  func (c *DevicesDeviceUsersLookupCall) Pages(ctx context.Context, f func(*GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse) error) error {
  5362  	c.ctx_ = ctx
  5363  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5364  	for {
  5365  		x, err := c.Do()
  5366  		if err != nil {
  5367  			return err
  5368  		}
  5369  		if err := f(x); err != nil {
  5370  			return err
  5371  		}
  5372  		if x.NextPageToken == "" {
  5373  			return nil
  5374  		}
  5375  		c.PageToken(x.NextPageToken)
  5376  	}
  5377  }
  5378  
  5379  type DevicesDeviceUsersWipeCall struct {
  5380  	s                                                     *Service
  5381  	name                                                  string
  5382  	googleappscloudidentitydevicesv1wipedeviceuserrequest *GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest
  5383  	urlParams_                                            gensupport.URLParams
  5384  	ctx_                                                  context.Context
  5385  	header_                                               http.Header
  5386  }
  5387  
  5388  // Wipe: Wipes the user's account on a device. Other data on the device that is
  5389  // not associated with the user's work account is not affected. For example, if
  5390  // a Gmail app is installed on a device that is used for personal and work
  5391  // purposes, and the user is logged in to the Gmail app with their personal
  5392  // account as well as their work account, wiping the "deviceUser" by their work
  5393  // administrator will not affect their personal account within Gmail or other
  5394  // apps such as Photos.
  5395  //
  5396  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  5397  //     of the Device in format: `devices/{device}/deviceUsers/{device_user}`,
  5398  //     where device is the unique ID assigned to the Device, and device_user is
  5399  //     the unique ID assigned to the User.
  5400  func (r *DevicesDeviceUsersService) Wipe(name string, googleappscloudidentitydevicesv1wipedeviceuserrequest *GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest) *DevicesDeviceUsersWipeCall {
  5401  	c := &DevicesDeviceUsersWipeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5402  	c.name = name
  5403  	c.googleappscloudidentitydevicesv1wipedeviceuserrequest = googleappscloudidentitydevicesv1wipedeviceuserrequest
  5404  	return c
  5405  }
  5406  
  5407  // Fields allows partial responses to be retrieved. See
  5408  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5409  // details.
  5410  func (c *DevicesDeviceUsersWipeCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersWipeCall {
  5411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5412  	return c
  5413  }
  5414  
  5415  // Context sets the context to be used in this call's Do method.
  5416  func (c *DevicesDeviceUsersWipeCall) Context(ctx context.Context) *DevicesDeviceUsersWipeCall {
  5417  	c.ctx_ = ctx
  5418  	return c
  5419  }
  5420  
  5421  // Header returns a http.Header that can be modified by the caller to add
  5422  // headers to the request.
  5423  func (c *DevicesDeviceUsersWipeCall) Header() http.Header {
  5424  	if c.header_ == nil {
  5425  		c.header_ = make(http.Header)
  5426  	}
  5427  	return c.header_
  5428  }
  5429  
  5430  func (c *DevicesDeviceUsersWipeCall) doRequest(alt string) (*http.Response, error) {
  5431  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5432  	var body io.Reader = nil
  5433  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1wipedeviceuserrequest)
  5434  	if err != nil {
  5435  		return nil, err
  5436  	}
  5437  	c.urlParams_.Set("alt", alt)
  5438  	c.urlParams_.Set("prettyPrint", "false")
  5439  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wipe")
  5440  	urls += "?" + c.urlParams_.Encode()
  5441  	req, err := http.NewRequest("POST", urls, body)
  5442  	if err != nil {
  5443  		return nil, err
  5444  	}
  5445  	req.Header = reqHeaders
  5446  	googleapi.Expand(req.URL, map[string]string{
  5447  		"name": c.name,
  5448  	})
  5449  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5450  }
  5451  
  5452  // Do executes the "cloudidentity.devices.deviceUsers.wipe" call.
  5453  // Any non-2xx status code is an error. Response headers are in either
  5454  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5455  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5456  // whether the returned error was because http.StatusNotModified was returned.
  5457  func (c *DevicesDeviceUsersWipeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5458  	gensupport.SetOptions(c.urlParams_, opts...)
  5459  	res, err := c.doRequest("json")
  5460  	if res != nil && res.StatusCode == http.StatusNotModified {
  5461  		if res.Body != nil {
  5462  			res.Body.Close()
  5463  		}
  5464  		return nil, gensupport.WrapError(&googleapi.Error{
  5465  			Code:   res.StatusCode,
  5466  			Header: res.Header,
  5467  		})
  5468  	}
  5469  	if err != nil {
  5470  		return nil, err
  5471  	}
  5472  	defer googleapi.CloseBody(res)
  5473  	if err := googleapi.CheckResponse(res); err != nil {
  5474  		return nil, gensupport.WrapError(err)
  5475  	}
  5476  	ret := &Operation{
  5477  		ServerResponse: googleapi.ServerResponse{
  5478  			Header:         res.Header,
  5479  			HTTPStatusCode: res.StatusCode,
  5480  		},
  5481  	}
  5482  	target := &ret
  5483  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5484  		return nil, err
  5485  	}
  5486  	return ret, nil
  5487  }
  5488  
  5489  type DevicesDeviceUsersClientStatesGetCall struct {
  5490  	s            *Service
  5491  	name         string
  5492  	urlParams_   gensupport.URLParams
  5493  	ifNoneMatch_ string
  5494  	ctx_         context.Context
  5495  	header_      http.Header
  5496  }
  5497  
  5498  // Get: Gets the client state for the device user
  5499  //
  5500  //   - name: Resource name (https://cloud.google.com/apis/design/resource_names)
  5501  //     of the ClientState in format:
  5502  //     `devices/{device}/deviceUsers/{device_user}/clientStates/{partner}`, where
  5503  //     `device` is the unique ID assigned to the Device, `device_user` is the
  5504  //     unique ID assigned to the User and `partner` identifies the partner
  5505  //     storing the data. To get the client state for devices belonging to your
  5506  //     own organization, the `partnerId` is in the format:
  5507  //     `customerId-*anystring*`. Where the `customerId` is your organization's
  5508  //     customer ID and `anystring` is any suffix. This suffix is used in setting
  5509  //     up Custom Access Levels in Context-Aware Access. You may use `my_customer`
  5510  //     instead of the customer ID for devices managed by your own organization.
  5511  //     You may specify `-` in place of the `{device}`, so the ClientState
  5512  //     resource name can be:
  5513  //     `devices/-/deviceUsers/{device_user_resource}/clientStates/{partner}`.
  5514  func (r *DevicesDeviceUsersClientStatesService) Get(name string) *DevicesDeviceUsersClientStatesGetCall {
  5515  	c := &DevicesDeviceUsersClientStatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5516  	c.name = name
  5517  	return c
  5518  }
  5519  
  5520  // Customer sets the optional parameter "customer": Resource name
  5521  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  5522  // you're using this API for your own organization, use `customers/my_customer`
  5523  // If you're using this API to manage another organization, use
  5524  // `customers/{customer}`, where customer is the customer to whom the device
  5525  // belongs.
  5526  func (c *DevicesDeviceUsersClientStatesGetCall) Customer(customer string) *DevicesDeviceUsersClientStatesGetCall {
  5527  	c.urlParams_.Set("customer", customer)
  5528  	return c
  5529  }
  5530  
  5531  // Fields allows partial responses to be retrieved. See
  5532  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5533  // details.
  5534  func (c *DevicesDeviceUsersClientStatesGetCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersClientStatesGetCall {
  5535  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5536  	return c
  5537  }
  5538  
  5539  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5540  // object's ETag matches the given value. This is useful for getting updates
  5541  // only after the object has changed since the last request.
  5542  func (c *DevicesDeviceUsersClientStatesGetCall) IfNoneMatch(entityTag string) *DevicesDeviceUsersClientStatesGetCall {
  5543  	c.ifNoneMatch_ = entityTag
  5544  	return c
  5545  }
  5546  
  5547  // Context sets the context to be used in this call's Do method.
  5548  func (c *DevicesDeviceUsersClientStatesGetCall) Context(ctx context.Context) *DevicesDeviceUsersClientStatesGetCall {
  5549  	c.ctx_ = ctx
  5550  	return c
  5551  }
  5552  
  5553  // Header returns a http.Header that can be modified by the caller to add
  5554  // headers to the request.
  5555  func (c *DevicesDeviceUsersClientStatesGetCall) Header() http.Header {
  5556  	if c.header_ == nil {
  5557  		c.header_ = make(http.Header)
  5558  	}
  5559  	return c.header_
  5560  }
  5561  
  5562  func (c *DevicesDeviceUsersClientStatesGetCall) doRequest(alt string) (*http.Response, error) {
  5563  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5564  	if c.ifNoneMatch_ != "" {
  5565  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5566  	}
  5567  	var body io.Reader = nil
  5568  	c.urlParams_.Set("alt", alt)
  5569  	c.urlParams_.Set("prettyPrint", "false")
  5570  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5571  	urls += "?" + c.urlParams_.Encode()
  5572  	req, err := http.NewRequest("GET", urls, body)
  5573  	if err != nil {
  5574  		return nil, err
  5575  	}
  5576  	req.Header = reqHeaders
  5577  	googleapi.Expand(req.URL, map[string]string{
  5578  		"name": c.name,
  5579  	})
  5580  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5581  }
  5582  
  5583  // Do executes the "cloudidentity.devices.deviceUsers.clientStates.get" call.
  5584  // Any non-2xx status code is an error. Response headers are in either
  5585  // *GoogleAppsCloudidentityDevicesV1ClientState.ServerResponse.Header or (if a
  5586  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5587  // googleapi.IsNotModified to check whether the returned error was because
  5588  // http.StatusNotModified was returned.
  5589  func (c *DevicesDeviceUsersClientStatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1ClientState, error) {
  5590  	gensupport.SetOptions(c.urlParams_, opts...)
  5591  	res, err := c.doRequest("json")
  5592  	if res != nil && res.StatusCode == http.StatusNotModified {
  5593  		if res.Body != nil {
  5594  			res.Body.Close()
  5595  		}
  5596  		return nil, gensupport.WrapError(&googleapi.Error{
  5597  			Code:   res.StatusCode,
  5598  			Header: res.Header,
  5599  		})
  5600  	}
  5601  	if err != nil {
  5602  		return nil, err
  5603  	}
  5604  	defer googleapi.CloseBody(res)
  5605  	if err := googleapi.CheckResponse(res); err != nil {
  5606  		return nil, gensupport.WrapError(err)
  5607  	}
  5608  	ret := &GoogleAppsCloudidentityDevicesV1ClientState{
  5609  		ServerResponse: googleapi.ServerResponse{
  5610  			Header:         res.Header,
  5611  			HTTPStatusCode: res.StatusCode,
  5612  		},
  5613  	}
  5614  	target := &ret
  5615  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5616  		return nil, err
  5617  	}
  5618  	return ret, nil
  5619  }
  5620  
  5621  type DevicesDeviceUsersClientStatesListCall struct {
  5622  	s            *Service
  5623  	parent       string
  5624  	urlParams_   gensupport.URLParams
  5625  	ifNoneMatch_ string
  5626  	ctx_         context.Context
  5627  	header_      http.Header
  5628  }
  5629  
  5630  // List: Lists the client states for the given search query.
  5631  //
  5632  //   - parent: To list all ClientStates, set this to "devices/-/deviceUsers/-".
  5633  //     To list all ClientStates owned by a DeviceUser, set this to the resource
  5634  //     name of the DeviceUser. Format: devices/{device}/deviceUsers/{deviceUser}.
  5635  func (r *DevicesDeviceUsersClientStatesService) List(parent string) *DevicesDeviceUsersClientStatesListCall {
  5636  	c := &DevicesDeviceUsersClientStatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5637  	c.parent = parent
  5638  	return c
  5639  }
  5640  
  5641  // Customer sets the optional parameter "customer": Resource name
  5642  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  5643  // you're using this API for your own organization, use `customers/my_customer`
  5644  // If you're using this API to manage another organization, use
  5645  // `customers/{customer}`, where customer is the customer to whom the device
  5646  // belongs.
  5647  func (c *DevicesDeviceUsersClientStatesListCall) Customer(customer string) *DevicesDeviceUsersClientStatesListCall {
  5648  	c.urlParams_.Set("customer", customer)
  5649  	return c
  5650  }
  5651  
  5652  // Filter sets the optional parameter "filter": Additional restrictions when
  5653  // fetching list of client states.
  5654  func (c *DevicesDeviceUsersClientStatesListCall) Filter(filter string) *DevicesDeviceUsersClientStatesListCall {
  5655  	c.urlParams_.Set("filter", filter)
  5656  	return c
  5657  }
  5658  
  5659  // OrderBy sets the optional parameter "orderBy": Order specification for
  5660  // client states in the response.
  5661  func (c *DevicesDeviceUsersClientStatesListCall) OrderBy(orderBy string) *DevicesDeviceUsersClientStatesListCall {
  5662  	c.urlParams_.Set("orderBy", orderBy)
  5663  	return c
  5664  }
  5665  
  5666  // PageToken sets the optional parameter "pageToken": A page token, received
  5667  // from a previous `ListClientStates` call. Provide this to retrieve the
  5668  // subsequent page. When paginating, all other parameters provided to
  5669  // `ListClientStates` must match the call that provided the page token.
  5670  func (c *DevicesDeviceUsersClientStatesListCall) PageToken(pageToken string) *DevicesDeviceUsersClientStatesListCall {
  5671  	c.urlParams_.Set("pageToken", pageToken)
  5672  	return c
  5673  }
  5674  
  5675  // Fields allows partial responses to be retrieved. See
  5676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5677  // details.
  5678  func (c *DevicesDeviceUsersClientStatesListCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersClientStatesListCall {
  5679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5680  	return c
  5681  }
  5682  
  5683  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5684  // object's ETag matches the given value. This is useful for getting updates
  5685  // only after the object has changed since the last request.
  5686  func (c *DevicesDeviceUsersClientStatesListCall) IfNoneMatch(entityTag string) *DevicesDeviceUsersClientStatesListCall {
  5687  	c.ifNoneMatch_ = entityTag
  5688  	return c
  5689  }
  5690  
  5691  // Context sets the context to be used in this call's Do method.
  5692  func (c *DevicesDeviceUsersClientStatesListCall) Context(ctx context.Context) *DevicesDeviceUsersClientStatesListCall {
  5693  	c.ctx_ = ctx
  5694  	return c
  5695  }
  5696  
  5697  // Header returns a http.Header that can be modified by the caller to add
  5698  // headers to the request.
  5699  func (c *DevicesDeviceUsersClientStatesListCall) Header() http.Header {
  5700  	if c.header_ == nil {
  5701  		c.header_ = make(http.Header)
  5702  	}
  5703  	return c.header_
  5704  }
  5705  
  5706  func (c *DevicesDeviceUsersClientStatesListCall) doRequest(alt string) (*http.Response, error) {
  5707  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5708  	if c.ifNoneMatch_ != "" {
  5709  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5710  	}
  5711  	var body io.Reader = nil
  5712  	c.urlParams_.Set("alt", alt)
  5713  	c.urlParams_.Set("prettyPrint", "false")
  5714  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/clientStates")
  5715  	urls += "?" + c.urlParams_.Encode()
  5716  	req, err := http.NewRequest("GET", urls, body)
  5717  	if err != nil {
  5718  		return nil, err
  5719  	}
  5720  	req.Header = reqHeaders
  5721  	googleapi.Expand(req.URL, map[string]string{
  5722  		"parent": c.parent,
  5723  	})
  5724  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5725  }
  5726  
  5727  // Do executes the "cloudidentity.devices.deviceUsers.clientStates.list" call.
  5728  // Any non-2xx status code is an error. Response headers are in either
  5729  // *GoogleAppsCloudidentityDevicesV1ListClientStatesResponse.ServerResponse.Head
  5730  // er or (if a response was returned at all) in
  5731  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5732  // whether the returned error was because http.StatusNotModified was returned.
  5733  func (c *DevicesDeviceUsersClientStatesListCall) Do(opts ...googleapi.CallOption) (*GoogleAppsCloudidentityDevicesV1ListClientStatesResponse, error) {
  5734  	gensupport.SetOptions(c.urlParams_, opts...)
  5735  	res, err := c.doRequest("json")
  5736  	if res != nil && res.StatusCode == http.StatusNotModified {
  5737  		if res.Body != nil {
  5738  			res.Body.Close()
  5739  		}
  5740  		return nil, gensupport.WrapError(&googleapi.Error{
  5741  			Code:   res.StatusCode,
  5742  			Header: res.Header,
  5743  		})
  5744  	}
  5745  	if err != nil {
  5746  		return nil, err
  5747  	}
  5748  	defer googleapi.CloseBody(res)
  5749  	if err := googleapi.CheckResponse(res); err != nil {
  5750  		return nil, gensupport.WrapError(err)
  5751  	}
  5752  	ret := &GoogleAppsCloudidentityDevicesV1ListClientStatesResponse{
  5753  		ServerResponse: googleapi.ServerResponse{
  5754  			Header:         res.Header,
  5755  			HTTPStatusCode: res.StatusCode,
  5756  		},
  5757  	}
  5758  	target := &ret
  5759  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5760  		return nil, err
  5761  	}
  5762  	return ret, nil
  5763  }
  5764  
  5765  // Pages invokes f for each page of results.
  5766  // A non-nil error returned from f will halt the iteration.
  5767  // The provided context supersedes any context provided to the Context method.
  5768  func (c *DevicesDeviceUsersClientStatesListCall) Pages(ctx context.Context, f func(*GoogleAppsCloudidentityDevicesV1ListClientStatesResponse) error) error {
  5769  	c.ctx_ = ctx
  5770  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5771  	for {
  5772  		x, err := c.Do()
  5773  		if err != nil {
  5774  			return err
  5775  		}
  5776  		if err := f(x); err != nil {
  5777  			return err
  5778  		}
  5779  		if x.NextPageToken == "" {
  5780  			return nil
  5781  		}
  5782  		c.PageToken(x.NextPageToken)
  5783  	}
  5784  }
  5785  
  5786  type DevicesDeviceUsersClientStatesPatchCall struct {
  5787  	s                                           *Service
  5788  	name                                        string
  5789  	googleappscloudidentitydevicesv1clientstate *GoogleAppsCloudidentityDevicesV1ClientState
  5790  	urlParams_                                  gensupport.URLParams
  5791  	ctx_                                        context.Context
  5792  	header_                                     http.Header
  5793  }
  5794  
  5795  // Patch: Updates the client state for the device user **Note**: This method is
  5796  // available only to customers who have one of the following SKUs: Enterprise
  5797  // Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity
  5798  // Premium
  5799  //
  5800  //   - name: Output only. Resource name
  5801  //     (https://cloud.google.com/apis/design/resource_names) of the ClientState
  5802  //     in format:
  5803  //     `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where
  5804  //     partner corresponds to the partner storing the data. For partners
  5805  //     belonging to the "BeyondCorp Alliance", this is the partner ID specified
  5806  //     to you by Google. For all other callers, this is a string of the form:
  5807  //     `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is
  5808  //     any string the caller specifies. This string will be displayed verbatim in
  5809  //     the administration console. This suffix is used in setting up Custom
  5810  //     Access Levels in Context-Aware Access. Your organization's customer ID can
  5811  //     be obtained from the URL: `GET
  5812  //     https://www.googleapis.com/admin/directory/v1/customers/my_customer` The
  5813  //     `id` field in the response contains the customer ID starting with the
  5814  //     letter 'C'. The customer ID to be used in this API is the string after the
  5815  //     letter 'C' (not including 'C').
  5816  func (r *DevicesDeviceUsersClientStatesService) Patch(name string, googleappscloudidentitydevicesv1clientstate *GoogleAppsCloudidentityDevicesV1ClientState) *DevicesDeviceUsersClientStatesPatchCall {
  5817  	c := &DevicesDeviceUsersClientStatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5818  	c.name = name
  5819  	c.googleappscloudidentitydevicesv1clientstate = googleappscloudidentitydevicesv1clientstate
  5820  	return c
  5821  }
  5822  
  5823  // Customer sets the optional parameter "customer": Resource name
  5824  // (https://cloud.google.com/apis/design/resource_names) of the customer. If
  5825  // you're using this API for your own organization, use `customers/my_customer`
  5826  // If you're using this API to manage another organization, use
  5827  // `customers/{customer}`, where customer is the customer to whom the device
  5828  // belongs.
  5829  func (c *DevicesDeviceUsersClientStatesPatchCall) Customer(customer string) *DevicesDeviceUsersClientStatesPatchCall {
  5830  	c.urlParams_.Set("customer", customer)
  5831  	return c
  5832  }
  5833  
  5834  // UpdateMask sets the optional parameter "updateMask": Comma-separated list of
  5835  // fully qualified names of fields to be updated. If not specified, all
  5836  // updatable fields in ClientState are updated.
  5837  func (c *DevicesDeviceUsersClientStatesPatchCall) UpdateMask(updateMask string) *DevicesDeviceUsersClientStatesPatchCall {
  5838  	c.urlParams_.Set("updateMask", updateMask)
  5839  	return c
  5840  }
  5841  
  5842  // Fields allows partial responses to be retrieved. See
  5843  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5844  // details.
  5845  func (c *DevicesDeviceUsersClientStatesPatchCall) Fields(s ...googleapi.Field) *DevicesDeviceUsersClientStatesPatchCall {
  5846  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5847  	return c
  5848  }
  5849  
  5850  // Context sets the context to be used in this call's Do method.
  5851  func (c *DevicesDeviceUsersClientStatesPatchCall) Context(ctx context.Context) *DevicesDeviceUsersClientStatesPatchCall {
  5852  	c.ctx_ = ctx
  5853  	return c
  5854  }
  5855  
  5856  // Header returns a http.Header that can be modified by the caller to add
  5857  // headers to the request.
  5858  func (c *DevicesDeviceUsersClientStatesPatchCall) Header() http.Header {
  5859  	if c.header_ == nil {
  5860  		c.header_ = make(http.Header)
  5861  	}
  5862  	return c.header_
  5863  }
  5864  
  5865  func (c *DevicesDeviceUsersClientStatesPatchCall) doRequest(alt string) (*http.Response, error) {
  5866  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5867  	var body io.Reader = nil
  5868  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleappscloudidentitydevicesv1clientstate)
  5869  	if err != nil {
  5870  		return nil, err
  5871  	}
  5872  	c.urlParams_.Set("alt", alt)
  5873  	c.urlParams_.Set("prettyPrint", "false")
  5874  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5875  	urls += "?" + c.urlParams_.Encode()
  5876  	req, err := http.NewRequest("PATCH", urls, body)
  5877  	if err != nil {
  5878  		return nil, err
  5879  	}
  5880  	req.Header = reqHeaders
  5881  	googleapi.Expand(req.URL, map[string]string{
  5882  		"name": c.name,
  5883  	})
  5884  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5885  }
  5886  
  5887  // Do executes the "cloudidentity.devices.deviceUsers.clientStates.patch" call.
  5888  // Any non-2xx status code is an error. Response headers are in either
  5889  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5890  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5891  // whether the returned error was because http.StatusNotModified was returned.
  5892  func (c *DevicesDeviceUsersClientStatesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5893  	gensupport.SetOptions(c.urlParams_, opts...)
  5894  	res, err := c.doRequest("json")
  5895  	if res != nil && res.StatusCode == http.StatusNotModified {
  5896  		if res.Body != nil {
  5897  			res.Body.Close()
  5898  		}
  5899  		return nil, gensupport.WrapError(&googleapi.Error{
  5900  			Code:   res.StatusCode,
  5901  			Header: res.Header,
  5902  		})
  5903  	}
  5904  	if err != nil {
  5905  		return nil, err
  5906  	}
  5907  	defer googleapi.CloseBody(res)
  5908  	if err := googleapi.CheckResponse(res); err != nil {
  5909  		return nil, gensupport.WrapError(err)
  5910  	}
  5911  	ret := &Operation{
  5912  		ServerResponse: googleapi.ServerResponse{
  5913  			Header:         res.Header,
  5914  			HTTPStatusCode: res.StatusCode,
  5915  		},
  5916  	}
  5917  	target := &ret
  5918  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5919  		return nil, err
  5920  	}
  5921  	return ret, nil
  5922  }
  5923  
  5924  type GroupsCreateCall struct {
  5925  	s          *Service
  5926  	group      *Group
  5927  	urlParams_ gensupport.URLParams
  5928  	ctx_       context.Context
  5929  	header_    http.Header
  5930  }
  5931  
  5932  // Create: Creates a Group.
  5933  func (r *GroupsService) Create(group *Group) *GroupsCreateCall {
  5934  	c := &GroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5935  	c.group = group
  5936  	return c
  5937  }
  5938  
  5939  // InitialGroupConfig sets the optional parameter "initialGroupConfig": The
  5940  // initial configuration option for the `Group`.
  5941  //
  5942  // Possible values:
  5943  //
  5944  //	"INITIAL_GROUP_CONFIG_UNSPECIFIED" - Default. Should not be used.
  5945  //	"WITH_INITIAL_OWNER" - The end user making the request will be added as
  5946  //
  5947  // the initial owner of the `Group`.
  5948  //
  5949  //	"EMPTY" - An empty group is created without any initial owners. This can
  5950  //
  5951  // only be used by admins of the domain.
  5952  func (c *GroupsCreateCall) InitialGroupConfig(initialGroupConfig string) *GroupsCreateCall {
  5953  	c.urlParams_.Set("initialGroupConfig", initialGroupConfig)
  5954  	return c
  5955  }
  5956  
  5957  // Fields allows partial responses to be retrieved. See
  5958  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5959  // details.
  5960  func (c *GroupsCreateCall) Fields(s ...googleapi.Field) *GroupsCreateCall {
  5961  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5962  	return c
  5963  }
  5964  
  5965  // Context sets the context to be used in this call's Do method.
  5966  func (c *GroupsCreateCall) Context(ctx context.Context) *GroupsCreateCall {
  5967  	c.ctx_ = ctx
  5968  	return c
  5969  }
  5970  
  5971  // Header returns a http.Header that can be modified by the caller to add
  5972  // headers to the request.
  5973  func (c *GroupsCreateCall) Header() http.Header {
  5974  	if c.header_ == nil {
  5975  		c.header_ = make(http.Header)
  5976  	}
  5977  	return c.header_
  5978  }
  5979  
  5980  func (c *GroupsCreateCall) doRequest(alt string) (*http.Response, error) {
  5981  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5982  	var body io.Reader = nil
  5983  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.group)
  5984  	if err != nil {
  5985  		return nil, err
  5986  	}
  5987  	c.urlParams_.Set("alt", alt)
  5988  	c.urlParams_.Set("prettyPrint", "false")
  5989  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/groups")
  5990  	urls += "?" + c.urlParams_.Encode()
  5991  	req, err := http.NewRequest("POST", urls, body)
  5992  	if err != nil {
  5993  		return nil, err
  5994  	}
  5995  	req.Header = reqHeaders
  5996  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5997  }
  5998  
  5999  // Do executes the "cloudidentity.groups.create" call.
  6000  // Any non-2xx status code is an error. Response headers are in either
  6001  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6002  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6003  // whether the returned error was because http.StatusNotModified was returned.
  6004  func (c *GroupsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6005  	gensupport.SetOptions(c.urlParams_, opts...)
  6006  	res, err := c.doRequest("json")
  6007  	if res != nil && res.StatusCode == http.StatusNotModified {
  6008  		if res.Body != nil {
  6009  			res.Body.Close()
  6010  		}
  6011  		return nil, gensupport.WrapError(&googleapi.Error{
  6012  			Code:   res.StatusCode,
  6013  			Header: res.Header,
  6014  		})
  6015  	}
  6016  	if err != nil {
  6017  		return nil, err
  6018  	}
  6019  	defer googleapi.CloseBody(res)
  6020  	if err := googleapi.CheckResponse(res); err != nil {
  6021  		return nil, gensupport.WrapError(err)
  6022  	}
  6023  	ret := &Operation{
  6024  		ServerResponse: googleapi.ServerResponse{
  6025  			Header:         res.Header,
  6026  			HTTPStatusCode: res.StatusCode,
  6027  		},
  6028  	}
  6029  	target := &ret
  6030  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6031  		return nil, err
  6032  	}
  6033  	return ret, nil
  6034  }
  6035  
  6036  type GroupsDeleteCall struct {
  6037  	s          *Service
  6038  	name       string
  6039  	urlParams_ gensupport.URLParams
  6040  	ctx_       context.Context
  6041  	header_    http.Header
  6042  }
  6043  
  6044  // Delete: Deletes a `Group`.
  6045  //
  6046  //   - name: The resource name
  6047  //     (https://cloud.google.com/apis/design/resource_names) of the `Group` to
  6048  //     retrieve. Must be of the form `groups/{group}`.
  6049  func (r *GroupsService) Delete(name string) *GroupsDeleteCall {
  6050  	c := &GroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6051  	c.name = name
  6052  	return c
  6053  }
  6054  
  6055  // Fields allows partial responses to be retrieved. See
  6056  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6057  // details.
  6058  func (c *GroupsDeleteCall) Fields(s ...googleapi.Field) *GroupsDeleteCall {
  6059  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6060  	return c
  6061  }
  6062  
  6063  // Context sets the context to be used in this call's Do method.
  6064  func (c *GroupsDeleteCall) Context(ctx context.Context) *GroupsDeleteCall {
  6065  	c.ctx_ = ctx
  6066  	return c
  6067  }
  6068  
  6069  // Header returns a http.Header that can be modified by the caller to add
  6070  // headers to the request.
  6071  func (c *GroupsDeleteCall) Header() http.Header {
  6072  	if c.header_ == nil {
  6073  		c.header_ = make(http.Header)
  6074  	}
  6075  	return c.header_
  6076  }
  6077  
  6078  func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
  6079  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6080  	var body io.Reader = nil
  6081  	c.urlParams_.Set("alt", alt)
  6082  	c.urlParams_.Set("prettyPrint", "false")
  6083  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6084  	urls += "?" + c.urlParams_.Encode()
  6085  	req, err := http.NewRequest("DELETE", urls, body)
  6086  	if err != nil {
  6087  		return nil, err
  6088  	}
  6089  	req.Header = reqHeaders
  6090  	googleapi.Expand(req.URL, map[string]string{
  6091  		"name": c.name,
  6092  	})
  6093  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6094  }
  6095  
  6096  // Do executes the "cloudidentity.groups.delete" call.
  6097  // Any non-2xx status code is an error. Response headers are in either
  6098  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6099  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6100  // whether the returned error was because http.StatusNotModified was returned.
  6101  func (c *GroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6102  	gensupport.SetOptions(c.urlParams_, opts...)
  6103  	res, err := c.doRequest("json")
  6104  	if res != nil && res.StatusCode == http.StatusNotModified {
  6105  		if res.Body != nil {
  6106  			res.Body.Close()
  6107  		}
  6108  		return nil, gensupport.WrapError(&googleapi.Error{
  6109  			Code:   res.StatusCode,
  6110  			Header: res.Header,
  6111  		})
  6112  	}
  6113  	if err != nil {
  6114  		return nil, err
  6115  	}
  6116  	defer googleapi.CloseBody(res)
  6117  	if err := googleapi.CheckResponse(res); err != nil {
  6118  		return nil, gensupport.WrapError(err)
  6119  	}
  6120  	ret := &Operation{
  6121  		ServerResponse: googleapi.ServerResponse{
  6122  			Header:         res.Header,
  6123  			HTTPStatusCode: res.StatusCode,
  6124  		},
  6125  	}
  6126  	target := &ret
  6127  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6128  		return nil, err
  6129  	}
  6130  	return ret, nil
  6131  }
  6132  
  6133  type GroupsGetCall struct {
  6134  	s            *Service
  6135  	name         string
  6136  	urlParams_   gensupport.URLParams
  6137  	ifNoneMatch_ string
  6138  	ctx_         context.Context
  6139  	header_      http.Header
  6140  }
  6141  
  6142  // Get: Retrieves a `Group`.
  6143  //
  6144  //   - name: The resource name
  6145  //     (https://cloud.google.com/apis/design/resource_names) of the `Group` to
  6146  //     retrieve. Must be of the form `groups/{group}`.
  6147  func (r *GroupsService) Get(name string) *GroupsGetCall {
  6148  	c := &GroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6149  	c.name = name
  6150  	return c
  6151  }
  6152  
  6153  // Fields allows partial responses to be retrieved. See
  6154  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6155  // details.
  6156  func (c *GroupsGetCall) Fields(s ...googleapi.Field) *GroupsGetCall {
  6157  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6158  	return c
  6159  }
  6160  
  6161  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6162  // object's ETag matches the given value. This is useful for getting updates
  6163  // only after the object has changed since the last request.
  6164  func (c *GroupsGetCall) IfNoneMatch(entityTag string) *GroupsGetCall {
  6165  	c.ifNoneMatch_ = entityTag
  6166  	return c
  6167  }
  6168  
  6169  // Context sets the context to be used in this call's Do method.
  6170  func (c *GroupsGetCall) Context(ctx context.Context) *GroupsGetCall {
  6171  	c.ctx_ = ctx
  6172  	return c
  6173  }
  6174  
  6175  // Header returns a http.Header that can be modified by the caller to add
  6176  // headers to the request.
  6177  func (c *GroupsGetCall) Header() http.Header {
  6178  	if c.header_ == nil {
  6179  		c.header_ = make(http.Header)
  6180  	}
  6181  	return c.header_
  6182  }
  6183  
  6184  func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
  6185  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6186  	if c.ifNoneMatch_ != "" {
  6187  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6188  	}
  6189  	var body io.Reader = nil
  6190  	c.urlParams_.Set("alt", alt)
  6191  	c.urlParams_.Set("prettyPrint", "false")
  6192  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6193  	urls += "?" + c.urlParams_.Encode()
  6194  	req, err := http.NewRequest("GET", urls, body)
  6195  	if err != nil {
  6196  		return nil, err
  6197  	}
  6198  	req.Header = reqHeaders
  6199  	googleapi.Expand(req.URL, map[string]string{
  6200  		"name": c.name,
  6201  	})
  6202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6203  }
  6204  
  6205  // Do executes the "cloudidentity.groups.get" call.
  6206  // Any non-2xx status code is an error. Response headers are in either
  6207  // *Group.ServerResponse.Header or (if a response was returned at all) in
  6208  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6209  // whether the returned error was because http.StatusNotModified was returned.
  6210  func (c *GroupsGetCall) Do(opts ...googleapi.CallOption) (*Group, error) {
  6211  	gensupport.SetOptions(c.urlParams_, opts...)
  6212  	res, err := c.doRequest("json")
  6213  	if res != nil && res.StatusCode == http.StatusNotModified {
  6214  		if res.Body != nil {
  6215  			res.Body.Close()
  6216  		}
  6217  		return nil, gensupport.WrapError(&googleapi.Error{
  6218  			Code:   res.StatusCode,
  6219  			Header: res.Header,
  6220  		})
  6221  	}
  6222  	if err != nil {
  6223  		return nil, err
  6224  	}
  6225  	defer googleapi.CloseBody(res)
  6226  	if err := googleapi.CheckResponse(res); err != nil {
  6227  		return nil, gensupport.WrapError(err)
  6228  	}
  6229  	ret := &Group{
  6230  		ServerResponse: googleapi.ServerResponse{
  6231  			Header:         res.Header,
  6232  			HTTPStatusCode: res.StatusCode,
  6233  		},
  6234  	}
  6235  	target := &ret
  6236  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6237  		return nil, err
  6238  	}
  6239  	return ret, nil
  6240  }
  6241  
  6242  type GroupsGetSecuritySettingsCall struct {
  6243  	s            *Service
  6244  	name         string
  6245  	urlParams_   gensupport.URLParams
  6246  	ifNoneMatch_ string
  6247  	ctx_         context.Context
  6248  	header_      http.Header
  6249  }
  6250  
  6251  // GetSecuritySettings: Get Security Settings
  6252  //
  6253  //   - name: The security settings to retrieve. Format:
  6254  //     `groups/{group_id}/securitySettings`.
  6255  func (r *GroupsService) GetSecuritySettings(name string) *GroupsGetSecuritySettingsCall {
  6256  	c := &GroupsGetSecuritySettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6257  	c.name = name
  6258  	return c
  6259  }
  6260  
  6261  // ReadMask sets the optional parameter "readMask": Field-level read mask of
  6262  // which fields to return. "*" returns all fields. If not specified, all fields
  6263  // will be returned. May only contain the following field:
  6264  // `member_restriction`.
  6265  func (c *GroupsGetSecuritySettingsCall) ReadMask(readMask string) *GroupsGetSecuritySettingsCall {
  6266  	c.urlParams_.Set("readMask", readMask)
  6267  	return c
  6268  }
  6269  
  6270  // Fields allows partial responses to be retrieved. See
  6271  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6272  // details.
  6273  func (c *GroupsGetSecuritySettingsCall) Fields(s ...googleapi.Field) *GroupsGetSecuritySettingsCall {
  6274  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6275  	return c
  6276  }
  6277  
  6278  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6279  // object's ETag matches the given value. This is useful for getting updates
  6280  // only after the object has changed since the last request.
  6281  func (c *GroupsGetSecuritySettingsCall) IfNoneMatch(entityTag string) *GroupsGetSecuritySettingsCall {
  6282  	c.ifNoneMatch_ = entityTag
  6283  	return c
  6284  }
  6285  
  6286  // Context sets the context to be used in this call's Do method.
  6287  func (c *GroupsGetSecuritySettingsCall) Context(ctx context.Context) *GroupsGetSecuritySettingsCall {
  6288  	c.ctx_ = ctx
  6289  	return c
  6290  }
  6291  
  6292  // Header returns a http.Header that can be modified by the caller to add
  6293  // headers to the request.
  6294  func (c *GroupsGetSecuritySettingsCall) Header() http.Header {
  6295  	if c.header_ == nil {
  6296  		c.header_ = make(http.Header)
  6297  	}
  6298  	return c.header_
  6299  }
  6300  
  6301  func (c *GroupsGetSecuritySettingsCall) doRequest(alt string) (*http.Response, error) {
  6302  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6303  	if c.ifNoneMatch_ != "" {
  6304  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6305  	}
  6306  	var body io.Reader = nil
  6307  	c.urlParams_.Set("alt", alt)
  6308  	c.urlParams_.Set("prettyPrint", "false")
  6309  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6310  	urls += "?" + c.urlParams_.Encode()
  6311  	req, err := http.NewRequest("GET", urls, body)
  6312  	if err != nil {
  6313  		return nil, err
  6314  	}
  6315  	req.Header = reqHeaders
  6316  	googleapi.Expand(req.URL, map[string]string{
  6317  		"name": c.name,
  6318  	})
  6319  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6320  }
  6321  
  6322  // Do executes the "cloudidentity.groups.getSecuritySettings" call.
  6323  // Any non-2xx status code is an error. Response headers are in either
  6324  // *SecuritySettings.ServerResponse.Header or (if a response was returned at
  6325  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6326  // check whether the returned error was because http.StatusNotModified was
  6327  // returned.
  6328  func (c *GroupsGetSecuritySettingsCall) Do(opts ...googleapi.CallOption) (*SecuritySettings, error) {
  6329  	gensupport.SetOptions(c.urlParams_, opts...)
  6330  	res, err := c.doRequest("json")
  6331  	if res != nil && res.StatusCode == http.StatusNotModified {
  6332  		if res.Body != nil {
  6333  			res.Body.Close()
  6334  		}
  6335  		return nil, gensupport.WrapError(&googleapi.Error{
  6336  			Code:   res.StatusCode,
  6337  			Header: res.Header,
  6338  		})
  6339  	}
  6340  	if err != nil {
  6341  		return nil, err
  6342  	}
  6343  	defer googleapi.CloseBody(res)
  6344  	if err := googleapi.CheckResponse(res); err != nil {
  6345  		return nil, gensupport.WrapError(err)
  6346  	}
  6347  	ret := &SecuritySettings{
  6348  		ServerResponse: googleapi.ServerResponse{
  6349  			Header:         res.Header,
  6350  			HTTPStatusCode: res.StatusCode,
  6351  		},
  6352  	}
  6353  	target := &ret
  6354  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6355  		return nil, err
  6356  	}
  6357  	return ret, nil
  6358  }
  6359  
  6360  type GroupsListCall struct {
  6361  	s            *Service
  6362  	urlParams_   gensupport.URLParams
  6363  	ifNoneMatch_ string
  6364  	ctx_         context.Context
  6365  	header_      http.Header
  6366  }
  6367  
  6368  // List: Lists the `Group` resources under a customer or namespace.
  6369  func (r *GroupsService) List() *GroupsListCall {
  6370  	c := &GroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6371  	return c
  6372  }
  6373  
  6374  // PageSize sets the optional parameter "pageSize": The maximum number of
  6375  // results to return. Note that the number of results returned may be less than
  6376  // this value even if there are more available results. To fetch all results,
  6377  // clients must continue calling this method repeatedly until the response no
  6378  // longer contains a `next_page_token`. If unspecified, defaults to 200 for
  6379  // `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for
  6380  // `View.BASIC` or 500 for `View.FULL`.
  6381  func (c *GroupsListCall) PageSize(pageSize int64) *GroupsListCall {
  6382  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6383  	return c
  6384  }
  6385  
  6386  // PageToken sets the optional parameter "pageToken": The `next_page_token`
  6387  // value returned from a previous list request, if any.
  6388  func (c *GroupsListCall) PageToken(pageToken string) *GroupsListCall {
  6389  	c.urlParams_.Set("pageToken", pageToken)
  6390  	return c
  6391  }
  6392  
  6393  // Parent sets the optional parameter "parent": Required. The parent resource
  6394  // under which to list all `Group` resources. Must be of the form
  6395  // `identitysources/{identity_source}` for external- identity-mapped groups or
  6396  // `customers/{customer_id}` for Google Groups. The `customer_id` must begin
  6397  // with "C" (for example, 'C046psxkn'). [Find your customer ID.]
  6398  // (https://support.google.com/cloudidentity/answer/10070793)
  6399  func (c *GroupsListCall) Parent(parent string) *GroupsListCall {
  6400  	c.urlParams_.Set("parent", parent)
  6401  	return c
  6402  }
  6403  
  6404  // View sets the optional parameter "view": The level of detail to be returned.
  6405  // If unspecified, defaults to `View.BASIC`.
  6406  //
  6407  // Possible values:
  6408  //
  6409  //	"VIEW_UNSPECIFIED" - Default. Should not be used.
  6410  //	"BASIC" - Only basic resource information is returned.
  6411  //	"FULL" - All resource information is returned.
  6412  func (c *GroupsListCall) View(view string) *GroupsListCall {
  6413  	c.urlParams_.Set("view", view)
  6414  	return c
  6415  }
  6416  
  6417  // Fields allows partial responses to be retrieved. See
  6418  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6419  // details.
  6420  func (c *GroupsListCall) Fields(s ...googleapi.Field) *GroupsListCall {
  6421  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6422  	return c
  6423  }
  6424  
  6425  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6426  // object's ETag matches the given value. This is useful for getting updates
  6427  // only after the object has changed since the last request.
  6428  func (c *GroupsListCall) IfNoneMatch(entityTag string) *GroupsListCall {
  6429  	c.ifNoneMatch_ = entityTag
  6430  	return c
  6431  }
  6432  
  6433  // Context sets the context to be used in this call's Do method.
  6434  func (c *GroupsListCall) Context(ctx context.Context) *GroupsListCall {
  6435  	c.ctx_ = ctx
  6436  	return c
  6437  }
  6438  
  6439  // Header returns a http.Header that can be modified by the caller to add
  6440  // headers to the request.
  6441  func (c *GroupsListCall) Header() http.Header {
  6442  	if c.header_ == nil {
  6443  		c.header_ = make(http.Header)
  6444  	}
  6445  	return c.header_
  6446  }
  6447  
  6448  func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
  6449  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6450  	if c.ifNoneMatch_ != "" {
  6451  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6452  	}
  6453  	var body io.Reader = nil
  6454  	c.urlParams_.Set("alt", alt)
  6455  	c.urlParams_.Set("prettyPrint", "false")
  6456  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/groups")
  6457  	urls += "?" + c.urlParams_.Encode()
  6458  	req, err := http.NewRequest("GET", urls, body)
  6459  	if err != nil {
  6460  		return nil, err
  6461  	}
  6462  	req.Header = reqHeaders
  6463  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6464  }
  6465  
  6466  // Do executes the "cloudidentity.groups.list" call.
  6467  // Any non-2xx status code is an error. Response headers are in either
  6468  // *ListGroupsResponse.ServerResponse.Header or (if a response was returned at
  6469  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6470  // check whether the returned error was because http.StatusNotModified was
  6471  // returned.
  6472  func (c *GroupsListCall) Do(opts ...googleapi.CallOption) (*ListGroupsResponse, error) {
  6473  	gensupport.SetOptions(c.urlParams_, opts...)
  6474  	res, err := c.doRequest("json")
  6475  	if res != nil && res.StatusCode == http.StatusNotModified {
  6476  		if res.Body != nil {
  6477  			res.Body.Close()
  6478  		}
  6479  		return nil, gensupport.WrapError(&googleapi.Error{
  6480  			Code:   res.StatusCode,
  6481  			Header: res.Header,
  6482  		})
  6483  	}
  6484  	if err != nil {
  6485  		return nil, err
  6486  	}
  6487  	defer googleapi.CloseBody(res)
  6488  	if err := googleapi.CheckResponse(res); err != nil {
  6489  		return nil, gensupport.WrapError(err)
  6490  	}
  6491  	ret := &ListGroupsResponse{
  6492  		ServerResponse: googleapi.ServerResponse{
  6493  			Header:         res.Header,
  6494  			HTTPStatusCode: res.StatusCode,
  6495  		},
  6496  	}
  6497  	target := &ret
  6498  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6499  		return nil, err
  6500  	}
  6501  	return ret, nil
  6502  }
  6503  
  6504  // Pages invokes f for each page of results.
  6505  // A non-nil error returned from f will halt the iteration.
  6506  // The provided context supersedes any context provided to the Context method.
  6507  func (c *GroupsListCall) Pages(ctx context.Context, f func(*ListGroupsResponse) error) error {
  6508  	c.ctx_ = ctx
  6509  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6510  	for {
  6511  		x, err := c.Do()
  6512  		if err != nil {
  6513  			return err
  6514  		}
  6515  		if err := f(x); err != nil {
  6516  			return err
  6517  		}
  6518  		if x.NextPageToken == "" {
  6519  			return nil
  6520  		}
  6521  		c.PageToken(x.NextPageToken)
  6522  	}
  6523  }
  6524  
  6525  type GroupsLookupCall struct {
  6526  	s            *Service
  6527  	urlParams_   gensupport.URLParams
  6528  	ifNoneMatch_ string
  6529  	ctx_         context.Context
  6530  	header_      http.Header
  6531  }
  6532  
  6533  // Lookup: Looks up the resource name
  6534  // (https://cloud.google.com/apis/design/resource_names) of a `Group` by its
  6535  // `EntityKey`.
  6536  func (r *GroupsService) Lookup() *GroupsLookupCall {
  6537  	c := &GroupsLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6538  	return c
  6539  }
  6540  
  6541  // GroupKeyId sets the optional parameter "groupKey.id": The ID of the entity.
  6542  // For Google-managed entities, the `id` should be the email address of an
  6543  // existing group or user. Email addresses need to adhere to name guidelines
  6544  // for users and groups (https://support.google.com/a/answer/9193374). For
  6545  // external-identity-mapped entities, the `id` must be a string conforming to
  6546  // the Identity Source's requirements. Must be unique within a `namespace`.
  6547  func (c *GroupsLookupCall) GroupKeyId(groupKeyId string) *GroupsLookupCall {
  6548  	c.urlParams_.Set("groupKey.id", groupKeyId)
  6549  	return c
  6550  }
  6551  
  6552  // GroupKeyNamespace sets the optional parameter "groupKey.namespace": The
  6553  // namespace in which the entity exists. If not specified, the `EntityKey`
  6554  // represents a Google-managed entity such as a Google user or a Google Group.
  6555  // If specified, the `EntityKey` represents an external-identity-mapped group.
  6556  // The namespace must correspond to an identity source created in Admin Console
  6557  // and must be in the form of `identitysources/{identity_source}`.
  6558  func (c *GroupsLookupCall) GroupKeyNamespace(groupKeyNamespace string) *GroupsLookupCall {
  6559  	c.urlParams_.Set("groupKey.namespace", groupKeyNamespace)
  6560  	return c
  6561  }
  6562  
  6563  // Fields allows partial responses to be retrieved. See
  6564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6565  // details.
  6566  func (c *GroupsLookupCall) Fields(s ...googleapi.Field) *GroupsLookupCall {
  6567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6568  	return c
  6569  }
  6570  
  6571  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6572  // object's ETag matches the given value. This is useful for getting updates
  6573  // only after the object has changed since the last request.
  6574  func (c *GroupsLookupCall) IfNoneMatch(entityTag string) *GroupsLookupCall {
  6575  	c.ifNoneMatch_ = entityTag
  6576  	return c
  6577  }
  6578  
  6579  // Context sets the context to be used in this call's Do method.
  6580  func (c *GroupsLookupCall) Context(ctx context.Context) *GroupsLookupCall {
  6581  	c.ctx_ = ctx
  6582  	return c
  6583  }
  6584  
  6585  // Header returns a http.Header that can be modified by the caller to add
  6586  // headers to the request.
  6587  func (c *GroupsLookupCall) Header() http.Header {
  6588  	if c.header_ == nil {
  6589  		c.header_ = make(http.Header)
  6590  	}
  6591  	return c.header_
  6592  }
  6593  
  6594  func (c *GroupsLookupCall) doRequest(alt string) (*http.Response, error) {
  6595  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6596  	if c.ifNoneMatch_ != "" {
  6597  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6598  	}
  6599  	var body io.Reader = nil
  6600  	c.urlParams_.Set("alt", alt)
  6601  	c.urlParams_.Set("prettyPrint", "false")
  6602  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/groups:lookup")
  6603  	urls += "?" + c.urlParams_.Encode()
  6604  	req, err := http.NewRequest("GET", urls, body)
  6605  	if err != nil {
  6606  		return nil, err
  6607  	}
  6608  	req.Header = reqHeaders
  6609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6610  }
  6611  
  6612  // Do executes the "cloudidentity.groups.lookup" call.
  6613  // Any non-2xx status code is an error. Response headers are in either
  6614  // *LookupGroupNameResponse.ServerResponse.Header or (if a response was
  6615  // returned at all) in error.(*googleapi.Error).Header. Use
  6616  // googleapi.IsNotModified to check whether the returned error was because
  6617  // http.StatusNotModified was returned.
  6618  func (c *GroupsLookupCall) Do(opts ...googleapi.CallOption) (*LookupGroupNameResponse, error) {
  6619  	gensupport.SetOptions(c.urlParams_, opts...)
  6620  	res, err := c.doRequest("json")
  6621  	if res != nil && res.StatusCode == http.StatusNotModified {
  6622  		if res.Body != nil {
  6623  			res.Body.Close()
  6624  		}
  6625  		return nil, gensupport.WrapError(&googleapi.Error{
  6626  			Code:   res.StatusCode,
  6627  			Header: res.Header,
  6628  		})
  6629  	}
  6630  	if err != nil {
  6631  		return nil, err
  6632  	}
  6633  	defer googleapi.CloseBody(res)
  6634  	if err := googleapi.CheckResponse(res); err != nil {
  6635  		return nil, gensupport.WrapError(err)
  6636  	}
  6637  	ret := &LookupGroupNameResponse{
  6638  		ServerResponse: googleapi.ServerResponse{
  6639  			Header:         res.Header,
  6640  			HTTPStatusCode: res.StatusCode,
  6641  		},
  6642  	}
  6643  	target := &ret
  6644  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6645  		return nil, err
  6646  	}
  6647  	return ret, nil
  6648  }
  6649  
  6650  type GroupsPatchCall struct {
  6651  	s          *Service
  6652  	name       string
  6653  	group      *Group
  6654  	urlParams_ gensupport.URLParams
  6655  	ctx_       context.Context
  6656  	header_    http.Header
  6657  }
  6658  
  6659  // Patch: Updates a `Group`.
  6660  //
  6661  //   - name: Output only. The resource name
  6662  //     (https://cloud.google.com/apis/design/resource_names) of the `Group`.
  6663  //     Shall be of the form `groups/{group}`.
  6664  func (r *GroupsService) Patch(name string, group *Group) *GroupsPatchCall {
  6665  	c := &GroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6666  	c.name = name
  6667  	c.group = group
  6668  	return c
  6669  }
  6670  
  6671  // UpdateMask sets the optional parameter "updateMask": Required. The names of
  6672  // fields to update. May only contain the following field names:
  6673  // `display_name`, `description`, `labels`.
  6674  func (c *GroupsPatchCall) UpdateMask(updateMask string) *GroupsPatchCall {
  6675  	c.urlParams_.Set("updateMask", updateMask)
  6676  	return c
  6677  }
  6678  
  6679  // Fields allows partial responses to be retrieved. See
  6680  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6681  // details.
  6682  func (c *GroupsPatchCall) Fields(s ...googleapi.Field) *GroupsPatchCall {
  6683  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6684  	return c
  6685  }
  6686  
  6687  // Context sets the context to be used in this call's Do method.
  6688  func (c *GroupsPatchCall) Context(ctx context.Context) *GroupsPatchCall {
  6689  	c.ctx_ = ctx
  6690  	return c
  6691  }
  6692  
  6693  // Header returns a http.Header that can be modified by the caller to add
  6694  // headers to the request.
  6695  func (c *GroupsPatchCall) Header() http.Header {
  6696  	if c.header_ == nil {
  6697  		c.header_ = make(http.Header)
  6698  	}
  6699  	return c.header_
  6700  }
  6701  
  6702  func (c *GroupsPatchCall) doRequest(alt string) (*http.Response, error) {
  6703  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6704  	var body io.Reader = nil
  6705  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.group)
  6706  	if err != nil {
  6707  		return nil, err
  6708  	}
  6709  	c.urlParams_.Set("alt", alt)
  6710  	c.urlParams_.Set("prettyPrint", "false")
  6711  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6712  	urls += "?" + c.urlParams_.Encode()
  6713  	req, err := http.NewRequest("PATCH", urls, body)
  6714  	if err != nil {
  6715  		return nil, err
  6716  	}
  6717  	req.Header = reqHeaders
  6718  	googleapi.Expand(req.URL, map[string]string{
  6719  		"name": c.name,
  6720  	})
  6721  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6722  }
  6723  
  6724  // Do executes the "cloudidentity.groups.patch" call.
  6725  // Any non-2xx status code is an error. Response headers are in either
  6726  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6727  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6728  // whether the returned error was because http.StatusNotModified was returned.
  6729  func (c *GroupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6730  	gensupport.SetOptions(c.urlParams_, opts...)
  6731  	res, err := c.doRequest("json")
  6732  	if res != nil && res.StatusCode == http.StatusNotModified {
  6733  		if res.Body != nil {
  6734  			res.Body.Close()
  6735  		}
  6736  		return nil, gensupport.WrapError(&googleapi.Error{
  6737  			Code:   res.StatusCode,
  6738  			Header: res.Header,
  6739  		})
  6740  	}
  6741  	if err != nil {
  6742  		return nil, err
  6743  	}
  6744  	defer googleapi.CloseBody(res)
  6745  	if err := googleapi.CheckResponse(res); err != nil {
  6746  		return nil, gensupport.WrapError(err)
  6747  	}
  6748  	ret := &Operation{
  6749  		ServerResponse: googleapi.ServerResponse{
  6750  			Header:         res.Header,
  6751  			HTTPStatusCode: res.StatusCode,
  6752  		},
  6753  	}
  6754  	target := &ret
  6755  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6756  		return nil, err
  6757  	}
  6758  	return ret, nil
  6759  }
  6760  
  6761  type GroupsSearchCall struct {
  6762  	s            *Service
  6763  	urlParams_   gensupport.URLParams
  6764  	ifNoneMatch_ string
  6765  	ctx_         context.Context
  6766  	header_      http.Header
  6767  }
  6768  
  6769  // Search: Searches for `Group` resources matching a specified query.
  6770  func (r *GroupsService) Search() *GroupsSearchCall {
  6771  	c := &GroupsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6772  	return c
  6773  }
  6774  
  6775  // PageSize sets the optional parameter "pageSize": The maximum number of
  6776  // results to return. Note that the number of results returned may be less than
  6777  // this value even if there are more available results. To fetch all results,
  6778  // clients must continue calling this method repeatedly until the response no
  6779  // longer contains a `next_page_token`. If unspecified, defaults to 200 for
  6780  // `GroupView.BASIC` and 50 for `GroupView.FULL`. Must not be greater than 1000
  6781  // for `GroupView.BASIC` or 500 for `GroupView.FULL`.
  6782  func (c *GroupsSearchCall) PageSize(pageSize int64) *GroupsSearchCall {
  6783  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6784  	return c
  6785  }
  6786  
  6787  // PageToken sets the optional parameter "pageToken": The `next_page_token`
  6788  // value returned from a previous search request, if any.
  6789  func (c *GroupsSearchCall) PageToken(pageToken string) *GroupsSearchCall {
  6790  	c.urlParams_.Set("pageToken", pageToken)
  6791  	return c
  6792  }
  6793  
  6794  // Query sets the optional parameter "query": Required. The search query. *
  6795  // Must be specified in Common Expression Language
  6796  // (https://opensource.google/projects/cel). * Must contain equality operators
  6797  // on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id`
  6798  // must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.]
  6799  // (https://support.google.com/cloudidentity/answer/10070793) * Can contain
  6800  // optional inclusion operators on `labels` such as
  6801  // `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can
  6802  // contain an optional equality operator on `domain_name`. e.g. `domain_name ==
  6803  // 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality`
  6804  // operators on `group_key`, e.g. `group_key.startsWith('dev')`,
  6805  // `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can
  6806  // contain optional `startsWith/contains/equality` operators on `display_name`,
  6807  // such as `display_name.startsWith('dev')` , `display_name.contains('dev')`,
  6808  // `display_name == 'dev'`
  6809  func (c *GroupsSearchCall) Query(query string) *GroupsSearchCall {
  6810  	c.urlParams_.Set("query", query)
  6811  	return c
  6812  }
  6813  
  6814  // View sets the optional parameter "view": The level of detail to be returned.
  6815  // If unspecified, defaults to `View.BASIC`.
  6816  //
  6817  // Possible values:
  6818  //
  6819  //	"VIEW_UNSPECIFIED" - Default. Should not be used.
  6820  //	"BASIC" - Only basic resource information is returned.
  6821  //	"FULL" - All resource information is returned.
  6822  func (c *GroupsSearchCall) View(view string) *GroupsSearchCall {
  6823  	c.urlParams_.Set("view", view)
  6824  	return c
  6825  }
  6826  
  6827  // Fields allows partial responses to be retrieved. See
  6828  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6829  // details.
  6830  func (c *GroupsSearchCall) Fields(s ...googleapi.Field) *GroupsSearchCall {
  6831  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6832  	return c
  6833  }
  6834  
  6835  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6836  // object's ETag matches the given value. This is useful for getting updates
  6837  // only after the object has changed since the last request.
  6838  func (c *GroupsSearchCall) IfNoneMatch(entityTag string) *GroupsSearchCall {
  6839  	c.ifNoneMatch_ = entityTag
  6840  	return c
  6841  }
  6842  
  6843  // Context sets the context to be used in this call's Do method.
  6844  func (c *GroupsSearchCall) Context(ctx context.Context) *GroupsSearchCall {
  6845  	c.ctx_ = ctx
  6846  	return c
  6847  }
  6848  
  6849  // Header returns a http.Header that can be modified by the caller to add
  6850  // headers to the request.
  6851  func (c *GroupsSearchCall) Header() http.Header {
  6852  	if c.header_ == nil {
  6853  		c.header_ = make(http.Header)
  6854  	}
  6855  	return c.header_
  6856  }
  6857  
  6858  func (c *GroupsSearchCall) doRequest(alt string) (*http.Response, error) {
  6859  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6860  	if c.ifNoneMatch_ != "" {
  6861  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6862  	}
  6863  	var body io.Reader = nil
  6864  	c.urlParams_.Set("alt", alt)
  6865  	c.urlParams_.Set("prettyPrint", "false")
  6866  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/groups:search")
  6867  	urls += "?" + c.urlParams_.Encode()
  6868  	req, err := http.NewRequest("GET", urls, body)
  6869  	if err != nil {
  6870  		return nil, err
  6871  	}
  6872  	req.Header = reqHeaders
  6873  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6874  }
  6875  
  6876  // Do executes the "cloudidentity.groups.search" call.
  6877  // Any non-2xx status code is an error. Response headers are in either
  6878  // *SearchGroupsResponse.ServerResponse.Header or (if a response was returned
  6879  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6880  // check whether the returned error was because http.StatusNotModified was
  6881  // returned.
  6882  func (c *GroupsSearchCall) Do(opts ...googleapi.CallOption) (*SearchGroupsResponse, error) {
  6883  	gensupport.SetOptions(c.urlParams_, opts...)
  6884  	res, err := c.doRequest("json")
  6885  	if res != nil && res.StatusCode == http.StatusNotModified {
  6886  		if res.Body != nil {
  6887  			res.Body.Close()
  6888  		}
  6889  		return nil, gensupport.WrapError(&googleapi.Error{
  6890  			Code:   res.StatusCode,
  6891  			Header: res.Header,
  6892  		})
  6893  	}
  6894  	if err != nil {
  6895  		return nil, err
  6896  	}
  6897  	defer googleapi.CloseBody(res)
  6898  	if err := googleapi.CheckResponse(res); err != nil {
  6899  		return nil, gensupport.WrapError(err)
  6900  	}
  6901  	ret := &SearchGroupsResponse{
  6902  		ServerResponse: googleapi.ServerResponse{
  6903  			Header:         res.Header,
  6904  			HTTPStatusCode: res.StatusCode,
  6905  		},
  6906  	}
  6907  	target := &ret
  6908  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6909  		return nil, err
  6910  	}
  6911  	return ret, nil
  6912  }
  6913  
  6914  // Pages invokes f for each page of results.
  6915  // A non-nil error returned from f will halt the iteration.
  6916  // The provided context supersedes any context provided to the Context method.
  6917  func (c *GroupsSearchCall) Pages(ctx context.Context, f func(*SearchGroupsResponse) error) error {
  6918  	c.ctx_ = ctx
  6919  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6920  	for {
  6921  		x, err := c.Do()
  6922  		if err != nil {
  6923  			return err
  6924  		}
  6925  		if err := f(x); err != nil {
  6926  			return err
  6927  		}
  6928  		if x.NextPageToken == "" {
  6929  			return nil
  6930  		}
  6931  		c.PageToken(x.NextPageToken)
  6932  	}
  6933  }
  6934  
  6935  type GroupsUpdateSecuritySettingsCall struct {
  6936  	s                *Service
  6937  	name             string
  6938  	securitysettings *SecuritySettings
  6939  	urlParams_       gensupport.URLParams
  6940  	ctx_             context.Context
  6941  	header_          http.Header
  6942  }
  6943  
  6944  // UpdateSecuritySettings: Update Security Settings
  6945  //
  6946  //   - name: Output only. The resource name of the security settings. Shall be of
  6947  //     the form `groups/{group_id}/securitySettings`.
  6948  func (r *GroupsService) UpdateSecuritySettings(name string, securitysettings *SecuritySettings) *GroupsUpdateSecuritySettingsCall {
  6949  	c := &GroupsUpdateSecuritySettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6950  	c.name = name
  6951  	c.securitysettings = securitysettings
  6952  	return c
  6953  }
  6954  
  6955  // UpdateMask sets the optional parameter "updateMask": Required. The
  6956  // fully-qualified names of fields to update. May only contain the following
  6957  // field: `member_restriction.query`.
  6958  func (c *GroupsUpdateSecuritySettingsCall) UpdateMask(updateMask string) *GroupsUpdateSecuritySettingsCall {
  6959  	c.urlParams_.Set("updateMask", updateMask)
  6960  	return c
  6961  }
  6962  
  6963  // Fields allows partial responses to be retrieved. See
  6964  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6965  // details.
  6966  func (c *GroupsUpdateSecuritySettingsCall) Fields(s ...googleapi.Field) *GroupsUpdateSecuritySettingsCall {
  6967  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6968  	return c
  6969  }
  6970  
  6971  // Context sets the context to be used in this call's Do method.
  6972  func (c *GroupsUpdateSecuritySettingsCall) Context(ctx context.Context) *GroupsUpdateSecuritySettingsCall {
  6973  	c.ctx_ = ctx
  6974  	return c
  6975  }
  6976  
  6977  // Header returns a http.Header that can be modified by the caller to add
  6978  // headers to the request.
  6979  func (c *GroupsUpdateSecuritySettingsCall) Header() http.Header {
  6980  	if c.header_ == nil {
  6981  		c.header_ = make(http.Header)
  6982  	}
  6983  	return c.header_
  6984  }
  6985  
  6986  func (c *GroupsUpdateSecuritySettingsCall) doRequest(alt string) (*http.Response, error) {
  6987  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6988  	var body io.Reader = nil
  6989  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.securitysettings)
  6990  	if err != nil {
  6991  		return nil, err
  6992  	}
  6993  	c.urlParams_.Set("alt", alt)
  6994  	c.urlParams_.Set("prettyPrint", "false")
  6995  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6996  	urls += "?" + c.urlParams_.Encode()
  6997  	req, err := http.NewRequest("PATCH", urls, body)
  6998  	if err != nil {
  6999  		return nil, err
  7000  	}
  7001  	req.Header = reqHeaders
  7002  	googleapi.Expand(req.URL, map[string]string{
  7003  		"name": c.name,
  7004  	})
  7005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7006  }
  7007  
  7008  // Do executes the "cloudidentity.groups.updateSecuritySettings" call.
  7009  // Any non-2xx status code is an error. Response headers are in either
  7010  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7011  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7012  // whether the returned error was because http.StatusNotModified was returned.
  7013  func (c *GroupsUpdateSecuritySettingsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7014  	gensupport.SetOptions(c.urlParams_, opts...)
  7015  	res, err := c.doRequest("json")
  7016  	if res != nil && res.StatusCode == http.StatusNotModified {
  7017  		if res.Body != nil {
  7018  			res.Body.Close()
  7019  		}
  7020  		return nil, gensupport.WrapError(&googleapi.Error{
  7021  			Code:   res.StatusCode,
  7022  			Header: res.Header,
  7023  		})
  7024  	}
  7025  	if err != nil {
  7026  		return nil, err
  7027  	}
  7028  	defer googleapi.CloseBody(res)
  7029  	if err := googleapi.CheckResponse(res); err != nil {
  7030  		return nil, gensupport.WrapError(err)
  7031  	}
  7032  	ret := &Operation{
  7033  		ServerResponse: googleapi.ServerResponse{
  7034  			Header:         res.Header,
  7035  			HTTPStatusCode: res.StatusCode,
  7036  		},
  7037  	}
  7038  	target := &ret
  7039  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7040  		return nil, err
  7041  	}
  7042  	return ret, nil
  7043  }
  7044  
  7045  type GroupsMembershipsCheckTransitiveMembershipCall struct {
  7046  	s            *Service
  7047  	parent       string
  7048  	urlParams_   gensupport.URLParams
  7049  	ifNoneMatch_ string
  7050  	ctx_         context.Context
  7051  	header_      http.Header
  7052  }
  7053  
  7054  // CheckTransitiveMembership: Check a potential member for membership in a
  7055  // group. **Note:** This feature is only available to Google Workspace
  7056  // Enterprise Standard, Enterprise Plus, and Enterprise for Education; and
  7057  // Cloud Identity Premium accounts. If the account of the member is not one of
  7058  // these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member
  7059  // has membership to a group as long as there is a single viewable transitive
  7060  // membership between the group and the member. The actor must have view
  7061  // permissions to at least one transitive membership between the member and
  7062  // group.
  7063  //
  7064  //   - parent: Resource name
  7065  //     (https://cloud.google.com/apis/design/resource_names) of the group to
  7066  //     check the transitive membership in. Format: `groups/{group}`, where
  7067  //     `group` is the unique id assigned to the Group to which the Membership
  7068  //     belongs to.
  7069  func (r *GroupsMembershipsService) CheckTransitiveMembership(parent string) *GroupsMembershipsCheckTransitiveMembershipCall {
  7070  	c := &GroupsMembershipsCheckTransitiveMembershipCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7071  	c.parent = parent
  7072  	return c
  7073  }
  7074  
  7075  // Query sets the optional parameter "query": Required. A CEL expression that
  7076  // MUST include member specification. This is a `required` field. Certain
  7077  // groups are uniquely identified by both a 'member_key_id' and a
  7078  // 'member_key_namespace', which requires an additional query input:
  7079  // 'member_key_namespace'. Example query: `member_key_id ==
  7080  // 'member_key_id_value'`
  7081  func (c *GroupsMembershipsCheckTransitiveMembershipCall) Query(query string) *GroupsMembershipsCheckTransitiveMembershipCall {
  7082  	c.urlParams_.Set("query", query)
  7083  	return c
  7084  }
  7085  
  7086  // Fields allows partial responses to be retrieved. See
  7087  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7088  // details.
  7089  func (c *GroupsMembershipsCheckTransitiveMembershipCall) Fields(s ...googleapi.Field) *GroupsMembershipsCheckTransitiveMembershipCall {
  7090  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7091  	return c
  7092  }
  7093  
  7094  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7095  // object's ETag matches the given value. This is useful for getting updates
  7096  // only after the object has changed since the last request.
  7097  func (c *GroupsMembershipsCheckTransitiveMembershipCall) IfNoneMatch(entityTag string) *GroupsMembershipsCheckTransitiveMembershipCall {
  7098  	c.ifNoneMatch_ = entityTag
  7099  	return c
  7100  }
  7101  
  7102  // Context sets the context to be used in this call's Do method.
  7103  func (c *GroupsMembershipsCheckTransitiveMembershipCall) Context(ctx context.Context) *GroupsMembershipsCheckTransitiveMembershipCall {
  7104  	c.ctx_ = ctx
  7105  	return c
  7106  }
  7107  
  7108  // Header returns a http.Header that can be modified by the caller to add
  7109  // headers to the request.
  7110  func (c *GroupsMembershipsCheckTransitiveMembershipCall) Header() http.Header {
  7111  	if c.header_ == nil {
  7112  		c.header_ = make(http.Header)
  7113  	}
  7114  	return c.header_
  7115  }
  7116  
  7117  func (c *GroupsMembershipsCheckTransitiveMembershipCall) doRequest(alt string) (*http.Response, error) {
  7118  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7119  	if c.ifNoneMatch_ != "" {
  7120  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7121  	}
  7122  	var body io.Reader = nil
  7123  	c.urlParams_.Set("alt", alt)
  7124  	c.urlParams_.Set("prettyPrint", "false")
  7125  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:checkTransitiveMembership")
  7126  	urls += "?" + c.urlParams_.Encode()
  7127  	req, err := http.NewRequest("GET", urls, body)
  7128  	if err != nil {
  7129  		return nil, err
  7130  	}
  7131  	req.Header = reqHeaders
  7132  	googleapi.Expand(req.URL, map[string]string{
  7133  		"parent": c.parent,
  7134  	})
  7135  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7136  }
  7137  
  7138  // Do executes the "cloudidentity.groups.memberships.checkTransitiveMembership" call.
  7139  // Any non-2xx status code is an error. Response headers are in either
  7140  // *CheckTransitiveMembershipResponse.ServerResponse.Header or (if a response
  7141  // was returned at all) in error.(*googleapi.Error).Header. Use
  7142  // googleapi.IsNotModified to check whether the returned error was because
  7143  // http.StatusNotModified was returned.
  7144  func (c *GroupsMembershipsCheckTransitiveMembershipCall) Do(opts ...googleapi.CallOption) (*CheckTransitiveMembershipResponse, error) {
  7145  	gensupport.SetOptions(c.urlParams_, opts...)
  7146  	res, err := c.doRequest("json")
  7147  	if res != nil && res.StatusCode == http.StatusNotModified {
  7148  		if res.Body != nil {
  7149  			res.Body.Close()
  7150  		}
  7151  		return nil, gensupport.WrapError(&googleapi.Error{
  7152  			Code:   res.StatusCode,
  7153  			Header: res.Header,
  7154  		})
  7155  	}
  7156  	if err != nil {
  7157  		return nil, err
  7158  	}
  7159  	defer googleapi.CloseBody(res)
  7160  	if err := googleapi.CheckResponse(res); err != nil {
  7161  		return nil, gensupport.WrapError(err)
  7162  	}
  7163  	ret := &CheckTransitiveMembershipResponse{
  7164  		ServerResponse: googleapi.ServerResponse{
  7165  			Header:         res.Header,
  7166  			HTTPStatusCode: res.StatusCode,
  7167  		},
  7168  	}
  7169  	target := &ret
  7170  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7171  		return nil, err
  7172  	}
  7173  	return ret, nil
  7174  }
  7175  
  7176  type GroupsMembershipsCreateCall struct {
  7177  	s          *Service
  7178  	parent     string
  7179  	membership *Membership
  7180  	urlParams_ gensupport.URLParams
  7181  	ctx_       context.Context
  7182  	header_    http.Header
  7183  }
  7184  
  7185  // Create: Creates a `Membership`.
  7186  //
  7187  //   - parent: The parent `Group` resource under which to create the
  7188  //     `Membership`. Must be of the form `groups/{group}`.
  7189  func (r *GroupsMembershipsService) Create(parent string, membership *Membership) *GroupsMembershipsCreateCall {
  7190  	c := &GroupsMembershipsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7191  	c.parent = parent
  7192  	c.membership = membership
  7193  	return c
  7194  }
  7195  
  7196  // Fields allows partial responses to be retrieved. See
  7197  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7198  // details.
  7199  func (c *GroupsMembershipsCreateCall) Fields(s ...googleapi.Field) *GroupsMembershipsCreateCall {
  7200  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7201  	return c
  7202  }
  7203  
  7204  // Context sets the context to be used in this call's Do method.
  7205  func (c *GroupsMembershipsCreateCall) Context(ctx context.Context) *GroupsMembershipsCreateCall {
  7206  	c.ctx_ = ctx
  7207  	return c
  7208  }
  7209  
  7210  // Header returns a http.Header that can be modified by the caller to add
  7211  // headers to the request.
  7212  func (c *GroupsMembershipsCreateCall) Header() http.Header {
  7213  	if c.header_ == nil {
  7214  		c.header_ = make(http.Header)
  7215  	}
  7216  	return c.header_
  7217  }
  7218  
  7219  func (c *GroupsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
  7220  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7221  	var body io.Reader = nil
  7222  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  7223  	if err != nil {
  7224  		return nil, err
  7225  	}
  7226  	c.urlParams_.Set("alt", alt)
  7227  	c.urlParams_.Set("prettyPrint", "false")
  7228  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships")
  7229  	urls += "?" + c.urlParams_.Encode()
  7230  	req, err := http.NewRequest("POST", urls, body)
  7231  	if err != nil {
  7232  		return nil, err
  7233  	}
  7234  	req.Header = reqHeaders
  7235  	googleapi.Expand(req.URL, map[string]string{
  7236  		"parent": c.parent,
  7237  	})
  7238  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7239  }
  7240  
  7241  // Do executes the "cloudidentity.groups.memberships.create" call.
  7242  // Any non-2xx status code is an error. Response headers are in either
  7243  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7244  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7245  // whether the returned error was because http.StatusNotModified was returned.
  7246  func (c *GroupsMembershipsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7247  	gensupport.SetOptions(c.urlParams_, opts...)
  7248  	res, err := c.doRequest("json")
  7249  	if res != nil && res.StatusCode == http.StatusNotModified {
  7250  		if res.Body != nil {
  7251  			res.Body.Close()
  7252  		}
  7253  		return nil, gensupport.WrapError(&googleapi.Error{
  7254  			Code:   res.StatusCode,
  7255  			Header: res.Header,
  7256  		})
  7257  	}
  7258  	if err != nil {
  7259  		return nil, err
  7260  	}
  7261  	defer googleapi.CloseBody(res)
  7262  	if err := googleapi.CheckResponse(res); err != nil {
  7263  		return nil, gensupport.WrapError(err)
  7264  	}
  7265  	ret := &Operation{
  7266  		ServerResponse: googleapi.ServerResponse{
  7267  			Header:         res.Header,
  7268  			HTTPStatusCode: res.StatusCode,
  7269  		},
  7270  	}
  7271  	target := &ret
  7272  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7273  		return nil, err
  7274  	}
  7275  	return ret, nil
  7276  }
  7277  
  7278  type GroupsMembershipsDeleteCall struct {
  7279  	s          *Service
  7280  	name       string
  7281  	urlParams_ gensupport.URLParams
  7282  	ctx_       context.Context
  7283  	header_    http.Header
  7284  }
  7285  
  7286  // Delete: Deletes a `Membership`.
  7287  //
  7288  //   - name: The resource name
  7289  //     (https://cloud.google.com/apis/design/resource_names) of the `Membership`
  7290  //     to delete. Must be of the form `groups/{group}/memberships/{membership}`.
  7291  func (r *GroupsMembershipsService) Delete(name string) *GroupsMembershipsDeleteCall {
  7292  	c := &GroupsMembershipsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7293  	c.name = name
  7294  	return c
  7295  }
  7296  
  7297  // Fields allows partial responses to be retrieved. See
  7298  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7299  // details.
  7300  func (c *GroupsMembershipsDeleteCall) Fields(s ...googleapi.Field) *GroupsMembershipsDeleteCall {
  7301  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7302  	return c
  7303  }
  7304  
  7305  // Context sets the context to be used in this call's Do method.
  7306  func (c *GroupsMembershipsDeleteCall) Context(ctx context.Context) *GroupsMembershipsDeleteCall {
  7307  	c.ctx_ = ctx
  7308  	return c
  7309  }
  7310  
  7311  // Header returns a http.Header that can be modified by the caller to add
  7312  // headers to the request.
  7313  func (c *GroupsMembershipsDeleteCall) Header() http.Header {
  7314  	if c.header_ == nil {
  7315  		c.header_ = make(http.Header)
  7316  	}
  7317  	return c.header_
  7318  }
  7319  
  7320  func (c *GroupsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7321  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7322  	var body io.Reader = nil
  7323  	c.urlParams_.Set("alt", alt)
  7324  	c.urlParams_.Set("prettyPrint", "false")
  7325  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7326  	urls += "?" + c.urlParams_.Encode()
  7327  	req, err := http.NewRequest("DELETE", urls, body)
  7328  	if err != nil {
  7329  		return nil, err
  7330  	}
  7331  	req.Header = reqHeaders
  7332  	googleapi.Expand(req.URL, map[string]string{
  7333  		"name": c.name,
  7334  	})
  7335  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7336  }
  7337  
  7338  // Do executes the "cloudidentity.groups.memberships.delete" call.
  7339  // Any non-2xx status code is an error. Response headers are in either
  7340  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7341  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7342  // whether the returned error was because http.StatusNotModified was returned.
  7343  func (c *GroupsMembershipsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7344  	gensupport.SetOptions(c.urlParams_, opts...)
  7345  	res, err := c.doRequest("json")
  7346  	if res != nil && res.StatusCode == http.StatusNotModified {
  7347  		if res.Body != nil {
  7348  			res.Body.Close()
  7349  		}
  7350  		return nil, gensupport.WrapError(&googleapi.Error{
  7351  			Code:   res.StatusCode,
  7352  			Header: res.Header,
  7353  		})
  7354  	}
  7355  	if err != nil {
  7356  		return nil, err
  7357  	}
  7358  	defer googleapi.CloseBody(res)
  7359  	if err := googleapi.CheckResponse(res); err != nil {
  7360  		return nil, gensupport.WrapError(err)
  7361  	}
  7362  	ret := &Operation{
  7363  		ServerResponse: googleapi.ServerResponse{
  7364  			Header:         res.Header,
  7365  			HTTPStatusCode: res.StatusCode,
  7366  		},
  7367  	}
  7368  	target := &ret
  7369  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7370  		return nil, err
  7371  	}
  7372  	return ret, nil
  7373  }
  7374  
  7375  type GroupsMembershipsGetCall struct {
  7376  	s            *Service
  7377  	name         string
  7378  	urlParams_   gensupport.URLParams
  7379  	ifNoneMatch_ string
  7380  	ctx_         context.Context
  7381  	header_      http.Header
  7382  }
  7383  
  7384  // Get: Retrieves a `Membership`.
  7385  //
  7386  //   - name: The resource name
  7387  //     (https://cloud.google.com/apis/design/resource_names) of the `Membership`
  7388  //     to retrieve. Must be of the form
  7389  //     `groups/{group}/memberships/{membership}`.
  7390  func (r *GroupsMembershipsService) Get(name string) *GroupsMembershipsGetCall {
  7391  	c := &GroupsMembershipsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7392  	c.name = name
  7393  	return c
  7394  }
  7395  
  7396  // Fields allows partial responses to be retrieved. See
  7397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7398  // details.
  7399  func (c *GroupsMembershipsGetCall) Fields(s ...googleapi.Field) *GroupsMembershipsGetCall {
  7400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7401  	return c
  7402  }
  7403  
  7404  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7405  // object's ETag matches the given value. This is useful for getting updates
  7406  // only after the object has changed since the last request.
  7407  func (c *GroupsMembershipsGetCall) IfNoneMatch(entityTag string) *GroupsMembershipsGetCall {
  7408  	c.ifNoneMatch_ = entityTag
  7409  	return c
  7410  }
  7411  
  7412  // Context sets the context to be used in this call's Do method.
  7413  func (c *GroupsMembershipsGetCall) Context(ctx context.Context) *GroupsMembershipsGetCall {
  7414  	c.ctx_ = ctx
  7415  	return c
  7416  }
  7417  
  7418  // Header returns a http.Header that can be modified by the caller to add
  7419  // headers to the request.
  7420  func (c *GroupsMembershipsGetCall) Header() http.Header {
  7421  	if c.header_ == nil {
  7422  		c.header_ = make(http.Header)
  7423  	}
  7424  	return c.header_
  7425  }
  7426  
  7427  func (c *GroupsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
  7428  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7429  	if c.ifNoneMatch_ != "" {
  7430  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7431  	}
  7432  	var body io.Reader = nil
  7433  	c.urlParams_.Set("alt", alt)
  7434  	c.urlParams_.Set("prettyPrint", "false")
  7435  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7436  	urls += "?" + c.urlParams_.Encode()
  7437  	req, err := http.NewRequest("GET", urls, body)
  7438  	if err != nil {
  7439  		return nil, err
  7440  	}
  7441  	req.Header = reqHeaders
  7442  	googleapi.Expand(req.URL, map[string]string{
  7443  		"name": c.name,
  7444  	})
  7445  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7446  }
  7447  
  7448  // Do executes the "cloudidentity.groups.memberships.get" call.
  7449  // Any non-2xx status code is an error. Response headers are in either
  7450  // *Membership.ServerResponse.Header or (if a response was returned at all) in
  7451  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7452  // whether the returned error was because http.StatusNotModified was returned.
  7453  func (c *GroupsMembershipsGetCall) Do(opts ...googleapi.CallOption) (*Membership, error) {
  7454  	gensupport.SetOptions(c.urlParams_, opts...)
  7455  	res, err := c.doRequest("json")
  7456  	if res != nil && res.StatusCode == http.StatusNotModified {
  7457  		if res.Body != nil {
  7458  			res.Body.Close()
  7459  		}
  7460  		return nil, gensupport.WrapError(&googleapi.Error{
  7461  			Code:   res.StatusCode,
  7462  			Header: res.Header,
  7463  		})
  7464  	}
  7465  	if err != nil {
  7466  		return nil, err
  7467  	}
  7468  	defer googleapi.CloseBody(res)
  7469  	if err := googleapi.CheckResponse(res); err != nil {
  7470  		return nil, gensupport.WrapError(err)
  7471  	}
  7472  	ret := &Membership{
  7473  		ServerResponse: googleapi.ServerResponse{
  7474  			Header:         res.Header,
  7475  			HTTPStatusCode: res.StatusCode,
  7476  		},
  7477  	}
  7478  	target := &ret
  7479  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7480  		return nil, err
  7481  	}
  7482  	return ret, nil
  7483  }
  7484  
  7485  type GroupsMembershipsGetMembershipGraphCall struct {
  7486  	s            *Service
  7487  	parent       string
  7488  	urlParams_   gensupport.URLParams
  7489  	ifNoneMatch_ string
  7490  	ctx_         context.Context
  7491  	header_      http.Header
  7492  }
  7493  
  7494  // GetMembershipGraph: Get a membership graph of just a member or both a member
  7495  // and a group. **Note:** This feature is only available to Google Workspace
  7496  // Enterprise Standard, Enterprise Plus, and Enterprise for Education; and
  7497  // Cloud Identity Premium accounts. If the account of the member is not one of
  7498  // these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a
  7499  // member, the response will contain all membership paths from the member.
  7500  // Given both a group and a member, the response will contain all membership
  7501  // paths between the group and the member.
  7502  //
  7503  //   - parent: Resource name
  7504  //     (https://cloud.google.com/apis/design/resource_names) of the group to
  7505  //     search transitive memberships in. Format: `groups/{group}`, where `group`
  7506  //     is the unique ID assigned to the Group to which the Membership belongs to.
  7507  //     group can be a wildcard collection id "-". When a group is specified, the
  7508  //     membership graph will be constrained to paths between the member (defined
  7509  //     in the query) and the parent. If a wildcard collection is provided, all
  7510  //     membership paths connected to the member will be returned.
  7511  func (r *GroupsMembershipsService) GetMembershipGraph(parent string) *GroupsMembershipsGetMembershipGraphCall {
  7512  	c := &GroupsMembershipsGetMembershipGraphCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7513  	c.parent = parent
  7514  	return c
  7515  }
  7516  
  7517  // Query sets the optional parameter "query": Required. A CEL expression that
  7518  // MUST include member specification AND label(s). Certain groups are uniquely
  7519  // identified by both a 'member_key_id' and a 'member_key_namespace', which
  7520  // requires an additional query input: 'member_key_namespace'. Example query:
  7521  // `member_key_id == 'member_key_id_value' && in labels`
  7522  func (c *GroupsMembershipsGetMembershipGraphCall) Query(query string) *GroupsMembershipsGetMembershipGraphCall {
  7523  	c.urlParams_.Set("query", query)
  7524  	return c
  7525  }
  7526  
  7527  // Fields allows partial responses to be retrieved. See
  7528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7529  // details.
  7530  func (c *GroupsMembershipsGetMembershipGraphCall) Fields(s ...googleapi.Field) *GroupsMembershipsGetMembershipGraphCall {
  7531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7532  	return c
  7533  }
  7534  
  7535  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7536  // object's ETag matches the given value. This is useful for getting updates
  7537  // only after the object has changed since the last request.
  7538  func (c *GroupsMembershipsGetMembershipGraphCall) IfNoneMatch(entityTag string) *GroupsMembershipsGetMembershipGraphCall {
  7539  	c.ifNoneMatch_ = entityTag
  7540  	return c
  7541  }
  7542  
  7543  // Context sets the context to be used in this call's Do method.
  7544  func (c *GroupsMembershipsGetMembershipGraphCall) Context(ctx context.Context) *GroupsMembershipsGetMembershipGraphCall {
  7545  	c.ctx_ = ctx
  7546  	return c
  7547  }
  7548  
  7549  // Header returns a http.Header that can be modified by the caller to add
  7550  // headers to the request.
  7551  func (c *GroupsMembershipsGetMembershipGraphCall) Header() http.Header {
  7552  	if c.header_ == nil {
  7553  		c.header_ = make(http.Header)
  7554  	}
  7555  	return c.header_
  7556  }
  7557  
  7558  func (c *GroupsMembershipsGetMembershipGraphCall) doRequest(alt string) (*http.Response, error) {
  7559  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7560  	if c.ifNoneMatch_ != "" {
  7561  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7562  	}
  7563  	var body io.Reader = nil
  7564  	c.urlParams_.Set("alt", alt)
  7565  	c.urlParams_.Set("prettyPrint", "false")
  7566  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:getMembershipGraph")
  7567  	urls += "?" + c.urlParams_.Encode()
  7568  	req, err := http.NewRequest("GET", urls, body)
  7569  	if err != nil {
  7570  		return nil, err
  7571  	}
  7572  	req.Header = reqHeaders
  7573  	googleapi.Expand(req.URL, map[string]string{
  7574  		"parent": c.parent,
  7575  	})
  7576  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7577  }
  7578  
  7579  // Do executes the "cloudidentity.groups.memberships.getMembershipGraph" call.
  7580  // Any non-2xx status code is an error. Response headers are in either
  7581  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7582  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7583  // whether the returned error was because http.StatusNotModified was returned.
  7584  func (c *GroupsMembershipsGetMembershipGraphCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7585  	gensupport.SetOptions(c.urlParams_, opts...)
  7586  	res, err := c.doRequest("json")
  7587  	if res != nil && res.StatusCode == http.StatusNotModified {
  7588  		if res.Body != nil {
  7589  			res.Body.Close()
  7590  		}
  7591  		return nil, gensupport.WrapError(&googleapi.Error{
  7592  			Code:   res.StatusCode,
  7593  			Header: res.Header,
  7594  		})
  7595  	}
  7596  	if err != nil {
  7597  		return nil, err
  7598  	}
  7599  	defer googleapi.CloseBody(res)
  7600  	if err := googleapi.CheckResponse(res); err != nil {
  7601  		return nil, gensupport.WrapError(err)
  7602  	}
  7603  	ret := &Operation{
  7604  		ServerResponse: googleapi.ServerResponse{
  7605  			Header:         res.Header,
  7606  			HTTPStatusCode: res.StatusCode,
  7607  		},
  7608  	}
  7609  	target := &ret
  7610  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7611  		return nil, err
  7612  	}
  7613  	return ret, nil
  7614  }
  7615  
  7616  type GroupsMembershipsListCall struct {
  7617  	s            *Service
  7618  	parent       string
  7619  	urlParams_   gensupport.URLParams
  7620  	ifNoneMatch_ string
  7621  	ctx_         context.Context
  7622  	header_      http.Header
  7623  }
  7624  
  7625  // List: Lists the `Membership`s within a `Group`.
  7626  //
  7627  //   - parent: The parent `Group` resource under which to lookup the `Membership`
  7628  //     name. Must be of the form `groups/{group}`.
  7629  func (r *GroupsMembershipsService) List(parent string) *GroupsMembershipsListCall {
  7630  	c := &GroupsMembershipsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7631  	c.parent = parent
  7632  	return c
  7633  }
  7634  
  7635  // PageSize sets the optional parameter "pageSize": The maximum number of
  7636  // results to return. Note that the number of results returned may be less than
  7637  // this value even if there are more available results. To fetch all results,
  7638  // clients must continue calling this method repeatedly until the response no
  7639  // longer contains a `next_page_token`. If unspecified, defaults to 200 for
  7640  // `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than
  7641  // 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.
  7642  func (c *GroupsMembershipsListCall) PageSize(pageSize int64) *GroupsMembershipsListCall {
  7643  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7644  	return c
  7645  }
  7646  
  7647  // PageToken sets the optional parameter "pageToken": The `next_page_token`
  7648  // value returned from a previous search request, if any.
  7649  func (c *GroupsMembershipsListCall) PageToken(pageToken string) *GroupsMembershipsListCall {
  7650  	c.urlParams_.Set("pageToken", pageToken)
  7651  	return c
  7652  }
  7653  
  7654  // View sets the optional parameter "view": The level of detail to be returned.
  7655  // If unspecified, defaults to `View.BASIC`.
  7656  //
  7657  // Possible values:
  7658  //
  7659  //	"VIEW_UNSPECIFIED" - Default. Should not be used.
  7660  //	"BASIC" - Only basic resource information is returned.
  7661  //	"FULL" - All resource information is returned.
  7662  func (c *GroupsMembershipsListCall) View(view string) *GroupsMembershipsListCall {
  7663  	c.urlParams_.Set("view", view)
  7664  	return c
  7665  }
  7666  
  7667  // Fields allows partial responses to be retrieved. See
  7668  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7669  // details.
  7670  func (c *GroupsMembershipsListCall) Fields(s ...googleapi.Field) *GroupsMembershipsListCall {
  7671  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7672  	return c
  7673  }
  7674  
  7675  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7676  // object's ETag matches the given value. This is useful for getting updates
  7677  // only after the object has changed since the last request.
  7678  func (c *GroupsMembershipsListCall) IfNoneMatch(entityTag string) *GroupsMembershipsListCall {
  7679  	c.ifNoneMatch_ = entityTag
  7680  	return c
  7681  }
  7682  
  7683  // Context sets the context to be used in this call's Do method.
  7684  func (c *GroupsMembershipsListCall) Context(ctx context.Context) *GroupsMembershipsListCall {
  7685  	c.ctx_ = ctx
  7686  	return c
  7687  }
  7688  
  7689  // Header returns a http.Header that can be modified by the caller to add
  7690  // headers to the request.
  7691  func (c *GroupsMembershipsListCall) Header() http.Header {
  7692  	if c.header_ == nil {
  7693  		c.header_ = make(http.Header)
  7694  	}
  7695  	return c.header_
  7696  }
  7697  
  7698  func (c *GroupsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
  7699  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7700  	if c.ifNoneMatch_ != "" {
  7701  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7702  	}
  7703  	var body io.Reader = nil
  7704  	c.urlParams_.Set("alt", alt)
  7705  	c.urlParams_.Set("prettyPrint", "false")
  7706  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships")
  7707  	urls += "?" + c.urlParams_.Encode()
  7708  	req, err := http.NewRequest("GET", urls, body)
  7709  	if err != nil {
  7710  		return nil, err
  7711  	}
  7712  	req.Header = reqHeaders
  7713  	googleapi.Expand(req.URL, map[string]string{
  7714  		"parent": c.parent,
  7715  	})
  7716  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7717  }
  7718  
  7719  // Do executes the "cloudidentity.groups.memberships.list" call.
  7720  // Any non-2xx status code is an error. Response headers are in either
  7721  // *ListMembershipsResponse.ServerResponse.Header or (if a response was
  7722  // returned at all) in error.(*googleapi.Error).Header. Use
  7723  // googleapi.IsNotModified to check whether the returned error was because
  7724  // http.StatusNotModified was returned.
  7725  func (c *GroupsMembershipsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipsResponse, error) {
  7726  	gensupport.SetOptions(c.urlParams_, opts...)
  7727  	res, err := c.doRequest("json")
  7728  	if res != nil && res.StatusCode == http.StatusNotModified {
  7729  		if res.Body != nil {
  7730  			res.Body.Close()
  7731  		}
  7732  		return nil, gensupport.WrapError(&googleapi.Error{
  7733  			Code:   res.StatusCode,
  7734  			Header: res.Header,
  7735  		})
  7736  	}
  7737  	if err != nil {
  7738  		return nil, err
  7739  	}
  7740  	defer googleapi.CloseBody(res)
  7741  	if err := googleapi.CheckResponse(res); err != nil {
  7742  		return nil, gensupport.WrapError(err)
  7743  	}
  7744  	ret := &ListMembershipsResponse{
  7745  		ServerResponse: googleapi.ServerResponse{
  7746  			Header:         res.Header,
  7747  			HTTPStatusCode: res.StatusCode,
  7748  		},
  7749  	}
  7750  	target := &ret
  7751  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7752  		return nil, err
  7753  	}
  7754  	return ret, nil
  7755  }
  7756  
  7757  // Pages invokes f for each page of results.
  7758  // A non-nil error returned from f will halt the iteration.
  7759  // The provided context supersedes any context provided to the Context method.
  7760  func (c *GroupsMembershipsListCall) Pages(ctx context.Context, f func(*ListMembershipsResponse) error) error {
  7761  	c.ctx_ = ctx
  7762  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7763  	for {
  7764  		x, err := c.Do()
  7765  		if err != nil {
  7766  			return err
  7767  		}
  7768  		if err := f(x); err != nil {
  7769  			return err
  7770  		}
  7771  		if x.NextPageToken == "" {
  7772  			return nil
  7773  		}
  7774  		c.PageToken(x.NextPageToken)
  7775  	}
  7776  }
  7777  
  7778  type GroupsMembershipsLookupCall struct {
  7779  	s            *Service
  7780  	parent       string
  7781  	urlParams_   gensupport.URLParams
  7782  	ifNoneMatch_ string
  7783  	ctx_         context.Context
  7784  	header_      http.Header
  7785  }
  7786  
  7787  // Lookup: Looks up the resource name
  7788  // (https://cloud.google.com/apis/design/resource_names) of a `Membership` by
  7789  // its `EntityKey`.
  7790  //
  7791  //   - parent: The parent `Group` resource under which to lookup the `Membership`
  7792  //     name. Must be of the form `groups/{group}`.
  7793  func (r *GroupsMembershipsService) Lookup(parent string) *GroupsMembershipsLookupCall {
  7794  	c := &GroupsMembershipsLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7795  	c.parent = parent
  7796  	return c
  7797  }
  7798  
  7799  // MemberKeyId sets the optional parameter "memberKey.id": The ID of the
  7800  // entity. For Google-managed entities, the `id` should be the email address of
  7801  // an existing group or user. Email addresses need to adhere to name guidelines
  7802  // for users and groups (https://support.google.com/a/answer/9193374). For
  7803  // external-identity-mapped entities, the `id` must be a string conforming to
  7804  // the Identity Source's requirements. Must be unique within a `namespace`.
  7805  func (c *GroupsMembershipsLookupCall) MemberKeyId(memberKeyId string) *GroupsMembershipsLookupCall {
  7806  	c.urlParams_.Set("memberKey.id", memberKeyId)
  7807  	return c
  7808  }
  7809  
  7810  // MemberKeyNamespace sets the optional parameter "memberKey.namespace": The
  7811  // namespace in which the entity exists. If not specified, the `EntityKey`
  7812  // represents a Google-managed entity such as a Google user or a Google Group.
  7813  // If specified, the `EntityKey` represents an external-identity-mapped group.
  7814  // The namespace must correspond to an identity source created in Admin Console
  7815  // and must be in the form of `identitysources/{identity_source}`.
  7816  func (c *GroupsMembershipsLookupCall) MemberKeyNamespace(memberKeyNamespace string) *GroupsMembershipsLookupCall {
  7817  	c.urlParams_.Set("memberKey.namespace", memberKeyNamespace)
  7818  	return c
  7819  }
  7820  
  7821  // Fields allows partial responses to be retrieved. See
  7822  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7823  // details.
  7824  func (c *GroupsMembershipsLookupCall) Fields(s ...googleapi.Field) *GroupsMembershipsLookupCall {
  7825  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7826  	return c
  7827  }
  7828  
  7829  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7830  // object's ETag matches the given value. This is useful for getting updates
  7831  // only after the object has changed since the last request.
  7832  func (c *GroupsMembershipsLookupCall) IfNoneMatch(entityTag string) *GroupsMembershipsLookupCall {
  7833  	c.ifNoneMatch_ = entityTag
  7834  	return c
  7835  }
  7836  
  7837  // Context sets the context to be used in this call's Do method.
  7838  func (c *GroupsMembershipsLookupCall) Context(ctx context.Context) *GroupsMembershipsLookupCall {
  7839  	c.ctx_ = ctx
  7840  	return c
  7841  }
  7842  
  7843  // Header returns a http.Header that can be modified by the caller to add
  7844  // headers to the request.
  7845  func (c *GroupsMembershipsLookupCall) Header() http.Header {
  7846  	if c.header_ == nil {
  7847  		c.header_ = make(http.Header)
  7848  	}
  7849  	return c.header_
  7850  }
  7851  
  7852  func (c *GroupsMembershipsLookupCall) doRequest(alt string) (*http.Response, error) {
  7853  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7854  	if c.ifNoneMatch_ != "" {
  7855  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7856  	}
  7857  	var body io.Reader = nil
  7858  	c.urlParams_.Set("alt", alt)
  7859  	c.urlParams_.Set("prettyPrint", "false")
  7860  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:lookup")
  7861  	urls += "?" + c.urlParams_.Encode()
  7862  	req, err := http.NewRequest("GET", urls, body)
  7863  	if err != nil {
  7864  		return nil, err
  7865  	}
  7866  	req.Header = reqHeaders
  7867  	googleapi.Expand(req.URL, map[string]string{
  7868  		"parent": c.parent,
  7869  	})
  7870  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7871  }
  7872  
  7873  // Do executes the "cloudidentity.groups.memberships.lookup" call.
  7874  // Any non-2xx status code is an error. Response headers are in either
  7875  // *LookupMembershipNameResponse.ServerResponse.Header or (if a response was
  7876  // returned at all) in error.(*googleapi.Error).Header. Use
  7877  // googleapi.IsNotModified to check whether the returned error was because
  7878  // http.StatusNotModified was returned.
  7879  func (c *GroupsMembershipsLookupCall) Do(opts ...googleapi.CallOption) (*LookupMembershipNameResponse, error) {
  7880  	gensupport.SetOptions(c.urlParams_, opts...)
  7881  	res, err := c.doRequest("json")
  7882  	if res != nil && res.StatusCode == http.StatusNotModified {
  7883  		if res.Body != nil {
  7884  			res.Body.Close()
  7885  		}
  7886  		return nil, gensupport.WrapError(&googleapi.Error{
  7887  			Code:   res.StatusCode,
  7888  			Header: res.Header,
  7889  		})
  7890  	}
  7891  	if err != nil {
  7892  		return nil, err
  7893  	}
  7894  	defer googleapi.CloseBody(res)
  7895  	if err := googleapi.CheckResponse(res); err != nil {
  7896  		return nil, gensupport.WrapError(err)
  7897  	}
  7898  	ret := &LookupMembershipNameResponse{
  7899  		ServerResponse: googleapi.ServerResponse{
  7900  			Header:         res.Header,
  7901  			HTTPStatusCode: res.StatusCode,
  7902  		},
  7903  	}
  7904  	target := &ret
  7905  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7906  		return nil, err
  7907  	}
  7908  	return ret, nil
  7909  }
  7910  
  7911  type GroupsMembershipsModifyMembershipRolesCall struct {
  7912  	s                            *Service
  7913  	name                         string
  7914  	modifymembershiprolesrequest *ModifyMembershipRolesRequest
  7915  	urlParams_                   gensupport.URLParams
  7916  	ctx_                         context.Context
  7917  	header_                      http.Header
  7918  }
  7919  
  7920  // ModifyMembershipRoles: Modifies the `MembershipRole`s of a `Membership`.
  7921  //
  7922  //   - name: The resource name
  7923  //     (https://cloud.google.com/apis/design/resource_names) of the `Membership`
  7924  //     whose roles are to be modified. Must be of the form
  7925  //     `groups/{group}/memberships/{membership}`.
  7926  func (r *GroupsMembershipsService) ModifyMembershipRoles(name string, modifymembershiprolesrequest *ModifyMembershipRolesRequest) *GroupsMembershipsModifyMembershipRolesCall {
  7927  	c := &GroupsMembershipsModifyMembershipRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7928  	c.name = name
  7929  	c.modifymembershiprolesrequest = modifymembershiprolesrequest
  7930  	return c
  7931  }
  7932  
  7933  // Fields allows partial responses to be retrieved. See
  7934  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7935  // details.
  7936  func (c *GroupsMembershipsModifyMembershipRolesCall) Fields(s ...googleapi.Field) *GroupsMembershipsModifyMembershipRolesCall {
  7937  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7938  	return c
  7939  }
  7940  
  7941  // Context sets the context to be used in this call's Do method.
  7942  func (c *GroupsMembershipsModifyMembershipRolesCall) Context(ctx context.Context) *GroupsMembershipsModifyMembershipRolesCall {
  7943  	c.ctx_ = ctx
  7944  	return c
  7945  }
  7946  
  7947  // Header returns a http.Header that can be modified by the caller to add
  7948  // headers to the request.
  7949  func (c *GroupsMembershipsModifyMembershipRolesCall) Header() http.Header {
  7950  	if c.header_ == nil {
  7951  		c.header_ = make(http.Header)
  7952  	}
  7953  	return c.header_
  7954  }
  7955  
  7956  func (c *GroupsMembershipsModifyMembershipRolesCall) doRequest(alt string) (*http.Response, error) {
  7957  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7958  	var body io.Reader = nil
  7959  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifymembershiprolesrequest)
  7960  	if err != nil {
  7961  		return nil, err
  7962  	}
  7963  	c.urlParams_.Set("alt", alt)
  7964  	c.urlParams_.Set("prettyPrint", "false")
  7965  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:modifyMembershipRoles")
  7966  	urls += "?" + c.urlParams_.Encode()
  7967  	req, err := http.NewRequest("POST", urls, body)
  7968  	if err != nil {
  7969  		return nil, err
  7970  	}
  7971  	req.Header = reqHeaders
  7972  	googleapi.Expand(req.URL, map[string]string{
  7973  		"name": c.name,
  7974  	})
  7975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7976  }
  7977  
  7978  // Do executes the "cloudidentity.groups.memberships.modifyMembershipRoles" call.
  7979  // Any non-2xx status code is an error. Response headers are in either
  7980  // *ModifyMembershipRolesResponse.ServerResponse.Header or (if a response was
  7981  // returned at all) in error.(*googleapi.Error).Header. Use
  7982  // googleapi.IsNotModified to check whether the returned error was because
  7983  // http.StatusNotModified was returned.
  7984  func (c *GroupsMembershipsModifyMembershipRolesCall) Do(opts ...googleapi.CallOption) (*ModifyMembershipRolesResponse, error) {
  7985  	gensupport.SetOptions(c.urlParams_, opts...)
  7986  	res, err := c.doRequest("json")
  7987  	if res != nil && res.StatusCode == http.StatusNotModified {
  7988  		if res.Body != nil {
  7989  			res.Body.Close()
  7990  		}
  7991  		return nil, gensupport.WrapError(&googleapi.Error{
  7992  			Code:   res.StatusCode,
  7993  			Header: res.Header,
  7994  		})
  7995  	}
  7996  	if err != nil {
  7997  		return nil, err
  7998  	}
  7999  	defer googleapi.CloseBody(res)
  8000  	if err := googleapi.CheckResponse(res); err != nil {
  8001  		return nil, gensupport.WrapError(err)
  8002  	}
  8003  	ret := &ModifyMembershipRolesResponse{
  8004  		ServerResponse: googleapi.ServerResponse{
  8005  			Header:         res.Header,
  8006  			HTTPStatusCode: res.StatusCode,
  8007  		},
  8008  	}
  8009  	target := &ret
  8010  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8011  		return nil, err
  8012  	}
  8013  	return ret, nil
  8014  }
  8015  
  8016  type GroupsMembershipsSearchDirectGroupsCall struct {
  8017  	s            *Service
  8018  	parent       string
  8019  	urlParams_   gensupport.URLParams
  8020  	ifNoneMatch_ string
  8021  	ctx_         context.Context
  8022  	header_      http.Header
  8023  }
  8024  
  8025  // SearchDirectGroups: Searches direct groups of a member.
  8026  //
  8027  //   - parent: Resource name
  8028  //     (https://cloud.google.com/apis/design/resource_names) of the group to
  8029  //     search transitive memberships in. Format: groups/{group_id}, where
  8030  //     group_id is always '-' as this API will search across all groups for a
  8031  //     given member.
  8032  func (r *GroupsMembershipsService) SearchDirectGroups(parent string) *GroupsMembershipsSearchDirectGroupsCall {
  8033  	c := &GroupsMembershipsSearchDirectGroupsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8034  	c.parent = parent
  8035  	return c
  8036  }
  8037  
  8038  // OrderBy sets the optional parameter "orderBy": The ordering of membership
  8039  // relation for the display name or email in the response. The syntax for this
  8040  // field can be found at
  8041  // https://cloud.google.com/apis/design/design_patterns#sorting_order. Example:
  8042  // Sort by the ascending display name: order_by="group_name" or
  8043  // order_by="group_name asc". Sort by the descending display name:
  8044  // order_by="group_name desc". Sort by the ascending group key:
  8045  // order_by="group_key" or order_by="group_key asc". Sort by the descending
  8046  // group key: order_by="group_key desc".
  8047  func (c *GroupsMembershipsSearchDirectGroupsCall) OrderBy(orderBy string) *GroupsMembershipsSearchDirectGroupsCall {
  8048  	c.urlParams_.Set("orderBy", orderBy)
  8049  	return c
  8050  }
  8051  
  8052  // PageSize sets the optional parameter "pageSize": The default page size is
  8053  // 200 (max 1000).
  8054  func (c *GroupsMembershipsSearchDirectGroupsCall) PageSize(pageSize int64) *GroupsMembershipsSearchDirectGroupsCall {
  8055  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8056  	return c
  8057  }
  8058  
  8059  // PageToken sets the optional parameter "pageToken": The next_page_token value
  8060  // returned from a previous list request, if any
  8061  func (c *GroupsMembershipsSearchDirectGroupsCall) PageToken(pageToken string) *GroupsMembershipsSearchDirectGroupsCall {
  8062  	c.urlParams_.Set("pageToken", pageToken)
  8063  	return c
  8064  }
  8065  
  8066  // Query sets the optional parameter "query": Required. A CEL expression that
  8067  // MUST include member specification AND label(s). Users can search on label
  8068  // attributes of groups. CONTAINS match ('in') is supported on labels.
  8069  // Identity-mapped groups are uniquely identified by both a `member_key_id` and
  8070  // a `member_key_namespace`, which requires an additional query input:
  8071  // `member_key_namespace`. Example query: `member_key_id ==
  8072  // 'member_key_id_value' && 'label_value' in labels`
  8073  func (c *GroupsMembershipsSearchDirectGroupsCall) Query(query string) *GroupsMembershipsSearchDirectGroupsCall {
  8074  	c.urlParams_.Set("query", query)
  8075  	return c
  8076  }
  8077  
  8078  // Fields allows partial responses to be retrieved. See
  8079  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8080  // details.
  8081  func (c *GroupsMembershipsSearchDirectGroupsCall) Fields(s ...googleapi.Field) *GroupsMembershipsSearchDirectGroupsCall {
  8082  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8083  	return c
  8084  }
  8085  
  8086  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8087  // object's ETag matches the given value. This is useful for getting updates
  8088  // only after the object has changed since the last request.
  8089  func (c *GroupsMembershipsSearchDirectGroupsCall) IfNoneMatch(entityTag string) *GroupsMembershipsSearchDirectGroupsCall {
  8090  	c.ifNoneMatch_ = entityTag
  8091  	return c
  8092  }
  8093  
  8094  // Context sets the context to be used in this call's Do method.
  8095  func (c *GroupsMembershipsSearchDirectGroupsCall) Context(ctx context.Context) *GroupsMembershipsSearchDirectGroupsCall {
  8096  	c.ctx_ = ctx
  8097  	return c
  8098  }
  8099  
  8100  // Header returns a http.Header that can be modified by the caller to add
  8101  // headers to the request.
  8102  func (c *GroupsMembershipsSearchDirectGroupsCall) Header() http.Header {
  8103  	if c.header_ == nil {
  8104  		c.header_ = make(http.Header)
  8105  	}
  8106  	return c.header_
  8107  }
  8108  
  8109  func (c *GroupsMembershipsSearchDirectGroupsCall) doRequest(alt string) (*http.Response, error) {
  8110  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8111  	if c.ifNoneMatch_ != "" {
  8112  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8113  	}
  8114  	var body io.Reader = nil
  8115  	c.urlParams_.Set("alt", alt)
  8116  	c.urlParams_.Set("prettyPrint", "false")
  8117  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:searchDirectGroups")
  8118  	urls += "?" + c.urlParams_.Encode()
  8119  	req, err := http.NewRequest("GET", urls, body)
  8120  	if err != nil {
  8121  		return nil, err
  8122  	}
  8123  	req.Header = reqHeaders
  8124  	googleapi.Expand(req.URL, map[string]string{
  8125  		"parent": c.parent,
  8126  	})
  8127  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8128  }
  8129  
  8130  // Do executes the "cloudidentity.groups.memberships.searchDirectGroups" call.
  8131  // Any non-2xx status code is an error. Response headers are in either
  8132  // *SearchDirectGroupsResponse.ServerResponse.Header or (if a response was
  8133  // returned at all) in error.(*googleapi.Error).Header. Use
  8134  // googleapi.IsNotModified to check whether the returned error was because
  8135  // http.StatusNotModified was returned.
  8136  func (c *GroupsMembershipsSearchDirectGroupsCall) Do(opts ...googleapi.CallOption) (*SearchDirectGroupsResponse, error) {
  8137  	gensupport.SetOptions(c.urlParams_, opts...)
  8138  	res, err := c.doRequest("json")
  8139  	if res != nil && res.StatusCode == http.StatusNotModified {
  8140  		if res.Body != nil {
  8141  			res.Body.Close()
  8142  		}
  8143  		return nil, gensupport.WrapError(&googleapi.Error{
  8144  			Code:   res.StatusCode,
  8145  			Header: res.Header,
  8146  		})
  8147  	}
  8148  	if err != nil {
  8149  		return nil, err
  8150  	}
  8151  	defer googleapi.CloseBody(res)
  8152  	if err := googleapi.CheckResponse(res); err != nil {
  8153  		return nil, gensupport.WrapError(err)
  8154  	}
  8155  	ret := &SearchDirectGroupsResponse{
  8156  		ServerResponse: googleapi.ServerResponse{
  8157  			Header:         res.Header,
  8158  			HTTPStatusCode: res.StatusCode,
  8159  		},
  8160  	}
  8161  	target := &ret
  8162  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8163  		return nil, err
  8164  	}
  8165  	return ret, nil
  8166  }
  8167  
  8168  // Pages invokes f for each page of results.
  8169  // A non-nil error returned from f will halt the iteration.
  8170  // The provided context supersedes any context provided to the Context method.
  8171  func (c *GroupsMembershipsSearchDirectGroupsCall) Pages(ctx context.Context, f func(*SearchDirectGroupsResponse) error) error {
  8172  	c.ctx_ = ctx
  8173  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8174  	for {
  8175  		x, err := c.Do()
  8176  		if err != nil {
  8177  			return err
  8178  		}
  8179  		if err := f(x); err != nil {
  8180  			return err
  8181  		}
  8182  		if x.NextPageToken == "" {
  8183  			return nil
  8184  		}
  8185  		c.PageToken(x.NextPageToken)
  8186  	}
  8187  }
  8188  
  8189  type GroupsMembershipsSearchTransitiveGroupsCall struct {
  8190  	s            *Service
  8191  	parent       string
  8192  	urlParams_   gensupport.URLParams
  8193  	ifNoneMatch_ string
  8194  	ctx_         context.Context
  8195  	header_      http.Header
  8196  }
  8197  
  8198  // SearchTransitiveGroups: Search transitive groups of a member. **Note:** This
  8199  // feature is only available to Google Workspace Enterprise Standard,
  8200  // Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium
  8201  // accounts. If the account of the member is not one of these, a 403
  8202  // (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is
  8203  // any group that has a direct or indirect membership to the member. Actor must
  8204  // have view permissions all transitive groups.
  8205  //
  8206  //   - parent: Resource name
  8207  //     (https://cloud.google.com/apis/design/resource_names) of the group to
  8208  //     search transitive memberships in. Format: `groups/{group}`, where `group`
  8209  //     is always '-' as this API will search across all groups for a given
  8210  //     member.
  8211  func (r *GroupsMembershipsService) SearchTransitiveGroups(parent string) *GroupsMembershipsSearchTransitiveGroupsCall {
  8212  	c := &GroupsMembershipsSearchTransitiveGroupsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8213  	c.parent = parent
  8214  	return c
  8215  }
  8216  
  8217  // PageSize sets the optional parameter "pageSize": The default page size is
  8218  // 200 (max 1000).
  8219  func (c *GroupsMembershipsSearchTransitiveGroupsCall) PageSize(pageSize int64) *GroupsMembershipsSearchTransitiveGroupsCall {
  8220  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8221  	return c
  8222  }
  8223  
  8224  // PageToken sets the optional parameter "pageToken": The next_page_token value
  8225  // returned from a previous list request, if any.
  8226  func (c *GroupsMembershipsSearchTransitiveGroupsCall) PageToken(pageToken string) *GroupsMembershipsSearchTransitiveGroupsCall {
  8227  	c.urlParams_.Set("pageToken", pageToken)
  8228  	return c
  8229  }
  8230  
  8231  // Query sets the optional parameter "query": Required. A CEL expression that
  8232  // MUST include member specification AND label(s). This is a `required` field.
  8233  // Users can search on label attributes of groups. CONTAINS match ('in') is
  8234  // supported on labels. Identity-mapped groups are uniquely identified by both
  8235  // a `member_key_id` and a `member_key_namespace`, which requires an additional
  8236  // query input: `member_key_namespace`. Example query: `member_key_id ==
  8237  // 'member_key_id_value' && in labels` Query may optionally contain equality
  8238  // operators on the parent of the group restricting the search within a
  8239  // particular customer, e.g. `parent == 'customers/{customer_id}'`. The
  8240  // `customer_id` must begin with "C" (for example, 'C046psxkn'). This filtering
  8241  // is only supported for Admins with groups read permissons on the input
  8242  // customer. Example query: `member_key_id == 'member_key_id_value' && in
  8243  // labels && parent == 'customers/C046psxkn'`
  8244  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Query(query string) *GroupsMembershipsSearchTransitiveGroupsCall {
  8245  	c.urlParams_.Set("query", query)
  8246  	return c
  8247  }
  8248  
  8249  // Fields allows partial responses to be retrieved. See
  8250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8251  // details.
  8252  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Fields(s ...googleapi.Field) *GroupsMembershipsSearchTransitiveGroupsCall {
  8253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8254  	return c
  8255  }
  8256  
  8257  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8258  // object's ETag matches the given value. This is useful for getting updates
  8259  // only after the object has changed since the last request.
  8260  func (c *GroupsMembershipsSearchTransitiveGroupsCall) IfNoneMatch(entityTag string) *GroupsMembershipsSearchTransitiveGroupsCall {
  8261  	c.ifNoneMatch_ = entityTag
  8262  	return c
  8263  }
  8264  
  8265  // Context sets the context to be used in this call's Do method.
  8266  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Context(ctx context.Context) *GroupsMembershipsSearchTransitiveGroupsCall {
  8267  	c.ctx_ = ctx
  8268  	return c
  8269  }
  8270  
  8271  // Header returns a http.Header that can be modified by the caller to add
  8272  // headers to the request.
  8273  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Header() http.Header {
  8274  	if c.header_ == nil {
  8275  		c.header_ = make(http.Header)
  8276  	}
  8277  	return c.header_
  8278  }
  8279  
  8280  func (c *GroupsMembershipsSearchTransitiveGroupsCall) doRequest(alt string) (*http.Response, error) {
  8281  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8282  	if c.ifNoneMatch_ != "" {
  8283  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8284  	}
  8285  	var body io.Reader = nil
  8286  	c.urlParams_.Set("alt", alt)
  8287  	c.urlParams_.Set("prettyPrint", "false")
  8288  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:searchTransitiveGroups")
  8289  	urls += "?" + c.urlParams_.Encode()
  8290  	req, err := http.NewRequest("GET", urls, body)
  8291  	if err != nil {
  8292  		return nil, err
  8293  	}
  8294  	req.Header = reqHeaders
  8295  	googleapi.Expand(req.URL, map[string]string{
  8296  		"parent": c.parent,
  8297  	})
  8298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8299  }
  8300  
  8301  // Do executes the "cloudidentity.groups.memberships.searchTransitiveGroups" call.
  8302  // Any non-2xx status code is an error. Response headers are in either
  8303  // *SearchTransitiveGroupsResponse.ServerResponse.Header or (if a response was
  8304  // returned at all) in error.(*googleapi.Error).Header. Use
  8305  // googleapi.IsNotModified to check whether the returned error was because
  8306  // http.StatusNotModified was returned.
  8307  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Do(opts ...googleapi.CallOption) (*SearchTransitiveGroupsResponse, error) {
  8308  	gensupport.SetOptions(c.urlParams_, opts...)
  8309  	res, err := c.doRequest("json")
  8310  	if res != nil && res.StatusCode == http.StatusNotModified {
  8311  		if res.Body != nil {
  8312  			res.Body.Close()
  8313  		}
  8314  		return nil, gensupport.WrapError(&googleapi.Error{
  8315  			Code:   res.StatusCode,
  8316  			Header: res.Header,
  8317  		})
  8318  	}
  8319  	if err != nil {
  8320  		return nil, err
  8321  	}
  8322  	defer googleapi.CloseBody(res)
  8323  	if err := googleapi.CheckResponse(res); err != nil {
  8324  		return nil, gensupport.WrapError(err)
  8325  	}
  8326  	ret := &SearchTransitiveGroupsResponse{
  8327  		ServerResponse: googleapi.ServerResponse{
  8328  			Header:         res.Header,
  8329  			HTTPStatusCode: res.StatusCode,
  8330  		},
  8331  	}
  8332  	target := &ret
  8333  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8334  		return nil, err
  8335  	}
  8336  	return ret, nil
  8337  }
  8338  
  8339  // Pages invokes f for each page of results.
  8340  // A non-nil error returned from f will halt the iteration.
  8341  // The provided context supersedes any context provided to the Context method.
  8342  func (c *GroupsMembershipsSearchTransitiveGroupsCall) Pages(ctx context.Context, f func(*SearchTransitiveGroupsResponse) error) error {
  8343  	c.ctx_ = ctx
  8344  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8345  	for {
  8346  		x, err := c.Do()
  8347  		if err != nil {
  8348  			return err
  8349  		}
  8350  		if err := f(x); err != nil {
  8351  			return err
  8352  		}
  8353  		if x.NextPageToken == "" {
  8354  			return nil
  8355  		}
  8356  		c.PageToken(x.NextPageToken)
  8357  	}
  8358  }
  8359  
  8360  type GroupsMembershipsSearchTransitiveMembershipsCall struct {
  8361  	s            *Service
  8362  	parent       string
  8363  	urlParams_   gensupport.URLParams
  8364  	ifNoneMatch_ string
  8365  	ctx_         context.Context
  8366  	header_      http.Header
  8367  }
  8368  
  8369  // SearchTransitiveMemberships: Search transitive memberships of a group.
  8370  // **Note:** This feature is only available to Google Workspace Enterprise
  8371  // Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity
  8372  // Premium accounts. If the account of the group is not one of these, a 403
  8373  // (PERMISSION_DENIED) HTTP status code will be returned. A transitive
  8374  // membership is any direct or indirect membership of a group. Actor must have
  8375  // view permissions to all transitive memberships.
  8376  //
  8377  //   - parent: Resource name
  8378  //     (https://cloud.google.com/apis/design/resource_names) of the group to
  8379  //     search transitive memberships in. Format: `groups/{group}`, where `group`
  8380  //     is the unique ID assigned to the Group.
  8381  func (r *GroupsMembershipsService) SearchTransitiveMemberships(parent string) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8382  	c := &GroupsMembershipsSearchTransitiveMembershipsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8383  	c.parent = parent
  8384  	return c
  8385  }
  8386  
  8387  // PageSize sets the optional parameter "pageSize": The default page size is
  8388  // 200 (max 1000).
  8389  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) PageSize(pageSize int64) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8390  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8391  	return c
  8392  }
  8393  
  8394  // PageToken sets the optional parameter "pageToken": The next_page_token value
  8395  // returned from a previous list request, if any.
  8396  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) PageToken(pageToken string) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8397  	c.urlParams_.Set("pageToken", pageToken)
  8398  	return c
  8399  }
  8400  
  8401  // Fields allows partial responses to be retrieved. See
  8402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8403  // details.
  8404  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) Fields(s ...googleapi.Field) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8406  	return c
  8407  }
  8408  
  8409  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8410  // object's ETag matches the given value. This is useful for getting updates
  8411  // only after the object has changed since the last request.
  8412  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) IfNoneMatch(entityTag string) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8413  	c.ifNoneMatch_ = entityTag
  8414  	return c
  8415  }
  8416  
  8417  // Context sets the context to be used in this call's Do method.
  8418  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) Context(ctx context.Context) *GroupsMembershipsSearchTransitiveMembershipsCall {
  8419  	c.ctx_ = ctx
  8420  	return c
  8421  }
  8422  
  8423  // Header returns a http.Header that can be modified by the caller to add
  8424  // headers to the request.
  8425  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) Header() http.Header {
  8426  	if c.header_ == nil {
  8427  		c.header_ = make(http.Header)
  8428  	}
  8429  	return c.header_
  8430  }
  8431  
  8432  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) doRequest(alt string) (*http.Response, error) {
  8433  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8434  	if c.ifNoneMatch_ != "" {
  8435  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8436  	}
  8437  	var body io.Reader = nil
  8438  	c.urlParams_.Set("alt", alt)
  8439  	c.urlParams_.Set("prettyPrint", "false")
  8440  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships:searchTransitiveMemberships")
  8441  	urls += "?" + c.urlParams_.Encode()
  8442  	req, err := http.NewRequest("GET", urls, body)
  8443  	if err != nil {
  8444  		return nil, err
  8445  	}
  8446  	req.Header = reqHeaders
  8447  	googleapi.Expand(req.URL, map[string]string{
  8448  		"parent": c.parent,
  8449  	})
  8450  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8451  }
  8452  
  8453  // Do executes the "cloudidentity.groups.memberships.searchTransitiveMemberships" call.
  8454  // Any non-2xx status code is an error. Response headers are in either
  8455  // *SearchTransitiveMembershipsResponse.ServerResponse.Header or (if a response
  8456  // was returned at all) in error.(*googleapi.Error).Header. Use
  8457  // googleapi.IsNotModified to check whether the returned error was because
  8458  // http.StatusNotModified was returned.
  8459  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) Do(opts ...googleapi.CallOption) (*SearchTransitiveMembershipsResponse, error) {
  8460  	gensupport.SetOptions(c.urlParams_, opts...)
  8461  	res, err := c.doRequest("json")
  8462  	if res != nil && res.StatusCode == http.StatusNotModified {
  8463  		if res.Body != nil {
  8464  			res.Body.Close()
  8465  		}
  8466  		return nil, gensupport.WrapError(&googleapi.Error{
  8467  			Code:   res.StatusCode,
  8468  			Header: res.Header,
  8469  		})
  8470  	}
  8471  	if err != nil {
  8472  		return nil, err
  8473  	}
  8474  	defer googleapi.CloseBody(res)
  8475  	if err := googleapi.CheckResponse(res); err != nil {
  8476  		return nil, gensupport.WrapError(err)
  8477  	}
  8478  	ret := &SearchTransitiveMembershipsResponse{
  8479  		ServerResponse: googleapi.ServerResponse{
  8480  			Header:         res.Header,
  8481  			HTTPStatusCode: res.StatusCode,
  8482  		},
  8483  	}
  8484  	target := &ret
  8485  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8486  		return nil, err
  8487  	}
  8488  	return ret, nil
  8489  }
  8490  
  8491  // Pages invokes f for each page of results.
  8492  // A non-nil error returned from f will halt the iteration.
  8493  // The provided context supersedes any context provided to the Context method.
  8494  func (c *GroupsMembershipsSearchTransitiveMembershipsCall) Pages(ctx context.Context, f func(*SearchTransitiveMembershipsResponse) error) error {
  8495  	c.ctx_ = ctx
  8496  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8497  	for {
  8498  		x, err := c.Do()
  8499  		if err != nil {
  8500  			return err
  8501  		}
  8502  		if err := f(x); err != nil {
  8503  			return err
  8504  		}
  8505  		if x.NextPageToken == "" {
  8506  			return nil
  8507  		}
  8508  		c.PageToken(x.NextPageToken)
  8509  	}
  8510  }
  8511  
  8512  type InboundSamlSsoProfilesCreateCall struct {
  8513  	s                     *Service
  8514  	inboundsamlssoprofile *InboundSamlSsoProfile
  8515  	urlParams_            gensupport.URLParams
  8516  	ctx_                  context.Context
  8517  	header_               http.Header
  8518  }
  8519  
  8520  // Create: Creates an InboundSamlSsoProfile for a customer.
  8521  func (r *InboundSamlSsoProfilesService) Create(inboundsamlssoprofile *InboundSamlSsoProfile) *InboundSamlSsoProfilesCreateCall {
  8522  	c := &InboundSamlSsoProfilesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8523  	c.inboundsamlssoprofile = inboundsamlssoprofile
  8524  	return c
  8525  }
  8526  
  8527  // Fields allows partial responses to be retrieved. See
  8528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8529  // details.
  8530  func (c *InboundSamlSsoProfilesCreateCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesCreateCall {
  8531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8532  	return c
  8533  }
  8534  
  8535  // Context sets the context to be used in this call's Do method.
  8536  func (c *InboundSamlSsoProfilesCreateCall) Context(ctx context.Context) *InboundSamlSsoProfilesCreateCall {
  8537  	c.ctx_ = ctx
  8538  	return c
  8539  }
  8540  
  8541  // Header returns a http.Header that can be modified by the caller to add
  8542  // headers to the request.
  8543  func (c *InboundSamlSsoProfilesCreateCall) Header() http.Header {
  8544  	if c.header_ == nil {
  8545  		c.header_ = make(http.Header)
  8546  	}
  8547  	return c.header_
  8548  }
  8549  
  8550  func (c *InboundSamlSsoProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
  8551  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8552  	var body io.Reader = nil
  8553  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inboundsamlssoprofile)
  8554  	if err != nil {
  8555  		return nil, err
  8556  	}
  8557  	c.urlParams_.Set("alt", alt)
  8558  	c.urlParams_.Set("prettyPrint", "false")
  8559  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inboundSamlSsoProfiles")
  8560  	urls += "?" + c.urlParams_.Encode()
  8561  	req, err := http.NewRequest("POST", urls, body)
  8562  	if err != nil {
  8563  		return nil, err
  8564  	}
  8565  	req.Header = reqHeaders
  8566  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8567  }
  8568  
  8569  // Do executes the "cloudidentity.inboundSamlSsoProfiles.create" call.
  8570  // Any non-2xx status code is an error. Response headers are in either
  8571  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8572  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8573  // whether the returned error was because http.StatusNotModified was returned.
  8574  func (c *InboundSamlSsoProfilesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8575  	gensupport.SetOptions(c.urlParams_, opts...)
  8576  	res, err := c.doRequest("json")
  8577  	if res != nil && res.StatusCode == http.StatusNotModified {
  8578  		if res.Body != nil {
  8579  			res.Body.Close()
  8580  		}
  8581  		return nil, gensupport.WrapError(&googleapi.Error{
  8582  			Code:   res.StatusCode,
  8583  			Header: res.Header,
  8584  		})
  8585  	}
  8586  	if err != nil {
  8587  		return nil, err
  8588  	}
  8589  	defer googleapi.CloseBody(res)
  8590  	if err := googleapi.CheckResponse(res); err != nil {
  8591  		return nil, gensupport.WrapError(err)
  8592  	}
  8593  	ret := &Operation{
  8594  		ServerResponse: googleapi.ServerResponse{
  8595  			Header:         res.Header,
  8596  			HTTPStatusCode: res.StatusCode,
  8597  		},
  8598  	}
  8599  	target := &ret
  8600  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8601  		return nil, err
  8602  	}
  8603  	return ret, nil
  8604  }
  8605  
  8606  type InboundSamlSsoProfilesDeleteCall struct {
  8607  	s          *Service
  8608  	name       string
  8609  	urlParams_ gensupport.URLParams
  8610  	ctx_       context.Context
  8611  	header_    http.Header
  8612  }
  8613  
  8614  // Delete: Deletes an InboundSamlSsoProfile.
  8615  //
  8616  //   - name: The resource name
  8617  //     (https://cloud.google.com/apis/design/resource_names) of the
  8618  //     InboundSamlSsoProfile to delete. Format:
  8619  //     `inboundSamlSsoProfiles/{sso_profile_id}`.
  8620  func (r *InboundSamlSsoProfilesService) Delete(name string) *InboundSamlSsoProfilesDeleteCall {
  8621  	c := &InboundSamlSsoProfilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8622  	c.name = name
  8623  	return c
  8624  }
  8625  
  8626  // Fields allows partial responses to be retrieved. See
  8627  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8628  // details.
  8629  func (c *InboundSamlSsoProfilesDeleteCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesDeleteCall {
  8630  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8631  	return c
  8632  }
  8633  
  8634  // Context sets the context to be used in this call's Do method.
  8635  func (c *InboundSamlSsoProfilesDeleteCall) Context(ctx context.Context) *InboundSamlSsoProfilesDeleteCall {
  8636  	c.ctx_ = ctx
  8637  	return c
  8638  }
  8639  
  8640  // Header returns a http.Header that can be modified by the caller to add
  8641  // headers to the request.
  8642  func (c *InboundSamlSsoProfilesDeleteCall) Header() http.Header {
  8643  	if c.header_ == nil {
  8644  		c.header_ = make(http.Header)
  8645  	}
  8646  	return c.header_
  8647  }
  8648  
  8649  func (c *InboundSamlSsoProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8650  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8651  	var body io.Reader = nil
  8652  	c.urlParams_.Set("alt", alt)
  8653  	c.urlParams_.Set("prettyPrint", "false")
  8654  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8655  	urls += "?" + c.urlParams_.Encode()
  8656  	req, err := http.NewRequest("DELETE", urls, body)
  8657  	if err != nil {
  8658  		return nil, err
  8659  	}
  8660  	req.Header = reqHeaders
  8661  	googleapi.Expand(req.URL, map[string]string{
  8662  		"name": c.name,
  8663  	})
  8664  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8665  }
  8666  
  8667  // Do executes the "cloudidentity.inboundSamlSsoProfiles.delete" call.
  8668  // Any non-2xx status code is an error. Response headers are in either
  8669  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8670  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8671  // whether the returned error was because http.StatusNotModified was returned.
  8672  func (c *InboundSamlSsoProfilesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8673  	gensupport.SetOptions(c.urlParams_, opts...)
  8674  	res, err := c.doRequest("json")
  8675  	if res != nil && res.StatusCode == http.StatusNotModified {
  8676  		if res.Body != nil {
  8677  			res.Body.Close()
  8678  		}
  8679  		return nil, gensupport.WrapError(&googleapi.Error{
  8680  			Code:   res.StatusCode,
  8681  			Header: res.Header,
  8682  		})
  8683  	}
  8684  	if err != nil {
  8685  		return nil, err
  8686  	}
  8687  	defer googleapi.CloseBody(res)
  8688  	if err := googleapi.CheckResponse(res); err != nil {
  8689  		return nil, gensupport.WrapError(err)
  8690  	}
  8691  	ret := &Operation{
  8692  		ServerResponse: googleapi.ServerResponse{
  8693  			Header:         res.Header,
  8694  			HTTPStatusCode: res.StatusCode,
  8695  		},
  8696  	}
  8697  	target := &ret
  8698  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8699  		return nil, err
  8700  	}
  8701  	return ret, nil
  8702  }
  8703  
  8704  type InboundSamlSsoProfilesGetCall struct {
  8705  	s            *Service
  8706  	name         string
  8707  	urlParams_   gensupport.URLParams
  8708  	ifNoneMatch_ string
  8709  	ctx_         context.Context
  8710  	header_      http.Header
  8711  }
  8712  
  8713  // Get: Gets an InboundSamlSsoProfile.
  8714  //
  8715  //   - name: The resource name
  8716  //     (https://cloud.google.com/apis/design/resource_names) of the
  8717  //     InboundSamlSsoProfile to get. Format:
  8718  //     `inboundSamlSsoProfiles/{sso_profile_id}`.
  8719  func (r *InboundSamlSsoProfilesService) Get(name string) *InboundSamlSsoProfilesGetCall {
  8720  	c := &InboundSamlSsoProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8721  	c.name = name
  8722  	return c
  8723  }
  8724  
  8725  // Fields allows partial responses to be retrieved. See
  8726  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8727  // details.
  8728  func (c *InboundSamlSsoProfilesGetCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesGetCall {
  8729  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8730  	return c
  8731  }
  8732  
  8733  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8734  // object's ETag matches the given value. This is useful for getting updates
  8735  // only after the object has changed since the last request.
  8736  func (c *InboundSamlSsoProfilesGetCall) IfNoneMatch(entityTag string) *InboundSamlSsoProfilesGetCall {
  8737  	c.ifNoneMatch_ = entityTag
  8738  	return c
  8739  }
  8740  
  8741  // Context sets the context to be used in this call's Do method.
  8742  func (c *InboundSamlSsoProfilesGetCall) Context(ctx context.Context) *InboundSamlSsoProfilesGetCall {
  8743  	c.ctx_ = ctx
  8744  	return c
  8745  }
  8746  
  8747  // Header returns a http.Header that can be modified by the caller to add
  8748  // headers to the request.
  8749  func (c *InboundSamlSsoProfilesGetCall) Header() http.Header {
  8750  	if c.header_ == nil {
  8751  		c.header_ = make(http.Header)
  8752  	}
  8753  	return c.header_
  8754  }
  8755  
  8756  func (c *InboundSamlSsoProfilesGetCall) doRequest(alt string) (*http.Response, error) {
  8757  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8758  	if c.ifNoneMatch_ != "" {
  8759  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8760  	}
  8761  	var body io.Reader = nil
  8762  	c.urlParams_.Set("alt", alt)
  8763  	c.urlParams_.Set("prettyPrint", "false")
  8764  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8765  	urls += "?" + c.urlParams_.Encode()
  8766  	req, err := http.NewRequest("GET", urls, body)
  8767  	if err != nil {
  8768  		return nil, err
  8769  	}
  8770  	req.Header = reqHeaders
  8771  	googleapi.Expand(req.URL, map[string]string{
  8772  		"name": c.name,
  8773  	})
  8774  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8775  }
  8776  
  8777  // Do executes the "cloudidentity.inboundSamlSsoProfiles.get" call.
  8778  // Any non-2xx status code is an error. Response headers are in either
  8779  // *InboundSamlSsoProfile.ServerResponse.Header or (if a response was returned
  8780  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8781  // check whether the returned error was because http.StatusNotModified was
  8782  // returned.
  8783  func (c *InboundSamlSsoProfilesGetCall) Do(opts ...googleapi.CallOption) (*InboundSamlSsoProfile, error) {
  8784  	gensupport.SetOptions(c.urlParams_, opts...)
  8785  	res, err := c.doRequest("json")
  8786  	if res != nil && res.StatusCode == http.StatusNotModified {
  8787  		if res.Body != nil {
  8788  			res.Body.Close()
  8789  		}
  8790  		return nil, gensupport.WrapError(&googleapi.Error{
  8791  			Code:   res.StatusCode,
  8792  			Header: res.Header,
  8793  		})
  8794  	}
  8795  	if err != nil {
  8796  		return nil, err
  8797  	}
  8798  	defer googleapi.CloseBody(res)
  8799  	if err := googleapi.CheckResponse(res); err != nil {
  8800  		return nil, gensupport.WrapError(err)
  8801  	}
  8802  	ret := &InboundSamlSsoProfile{
  8803  		ServerResponse: googleapi.ServerResponse{
  8804  			Header:         res.Header,
  8805  			HTTPStatusCode: res.StatusCode,
  8806  		},
  8807  	}
  8808  	target := &ret
  8809  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8810  		return nil, err
  8811  	}
  8812  	return ret, nil
  8813  }
  8814  
  8815  type InboundSamlSsoProfilesListCall struct {
  8816  	s            *Service
  8817  	urlParams_   gensupport.URLParams
  8818  	ifNoneMatch_ string
  8819  	ctx_         context.Context
  8820  	header_      http.Header
  8821  }
  8822  
  8823  // List: Lists InboundSamlSsoProfiles for a customer.
  8824  func (r *InboundSamlSsoProfilesService) List() *InboundSamlSsoProfilesListCall {
  8825  	c := &InboundSamlSsoProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8826  	return c
  8827  }
  8828  
  8829  // Filter sets the optional parameter "filter": A Common Expression Language
  8830  // (https://github.com/google/cel-spec) expression to filter the results. The
  8831  // only supported filter is filtering by customer. For example:
  8832  // `customer=="customers/C0123abc". Omitting the filter or specifying a filter
  8833  // of `customer=="customers/my_customer" will return the profiles for the
  8834  // customer that the caller (authenticated user) belongs to.
  8835  func (c *InboundSamlSsoProfilesListCall) Filter(filter string) *InboundSamlSsoProfilesListCall {
  8836  	c.urlParams_.Set("filter", filter)
  8837  	return c
  8838  }
  8839  
  8840  // PageSize sets the optional parameter "pageSize": The maximum number of
  8841  // InboundSamlSsoProfiles to return. The service may return fewer than this
  8842  // value. If omitted (or defaulted to zero) the server will use a sensible
  8843  // default. This default may change over time. The maximum allowed value is
  8844  // 100. Requests with page_size greater than that will be silently interpreted
  8845  // as having this maximum value.
  8846  func (c *InboundSamlSsoProfilesListCall) PageSize(pageSize int64) *InboundSamlSsoProfilesListCall {
  8847  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8848  	return c
  8849  }
  8850  
  8851  // PageToken sets the optional parameter "pageToken": A page token, received
  8852  // from a previous `ListInboundSamlSsoProfiles` call. Provide this to retrieve
  8853  // the subsequent page. When paginating, all other parameters provided to
  8854  // `ListInboundSamlSsoProfiles` must match the call that provided the page
  8855  // token.
  8856  func (c *InboundSamlSsoProfilesListCall) PageToken(pageToken string) *InboundSamlSsoProfilesListCall {
  8857  	c.urlParams_.Set("pageToken", pageToken)
  8858  	return c
  8859  }
  8860  
  8861  // Fields allows partial responses to be retrieved. See
  8862  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8863  // details.
  8864  func (c *InboundSamlSsoProfilesListCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesListCall {
  8865  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8866  	return c
  8867  }
  8868  
  8869  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8870  // object's ETag matches the given value. This is useful for getting updates
  8871  // only after the object has changed since the last request.
  8872  func (c *InboundSamlSsoProfilesListCall) IfNoneMatch(entityTag string) *InboundSamlSsoProfilesListCall {
  8873  	c.ifNoneMatch_ = entityTag
  8874  	return c
  8875  }
  8876  
  8877  // Context sets the context to be used in this call's Do method.
  8878  func (c *InboundSamlSsoProfilesListCall) Context(ctx context.Context) *InboundSamlSsoProfilesListCall {
  8879  	c.ctx_ = ctx
  8880  	return c
  8881  }
  8882  
  8883  // Header returns a http.Header that can be modified by the caller to add
  8884  // headers to the request.
  8885  func (c *InboundSamlSsoProfilesListCall) Header() http.Header {
  8886  	if c.header_ == nil {
  8887  		c.header_ = make(http.Header)
  8888  	}
  8889  	return c.header_
  8890  }
  8891  
  8892  func (c *InboundSamlSsoProfilesListCall) doRequest(alt string) (*http.Response, error) {
  8893  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8894  	if c.ifNoneMatch_ != "" {
  8895  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8896  	}
  8897  	var body io.Reader = nil
  8898  	c.urlParams_.Set("alt", alt)
  8899  	c.urlParams_.Set("prettyPrint", "false")
  8900  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inboundSamlSsoProfiles")
  8901  	urls += "?" + c.urlParams_.Encode()
  8902  	req, err := http.NewRequest("GET", urls, body)
  8903  	if err != nil {
  8904  		return nil, err
  8905  	}
  8906  	req.Header = reqHeaders
  8907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8908  }
  8909  
  8910  // Do executes the "cloudidentity.inboundSamlSsoProfiles.list" call.
  8911  // Any non-2xx status code is an error. Response headers are in either
  8912  // *ListInboundSamlSsoProfilesResponse.ServerResponse.Header or (if a response
  8913  // was returned at all) in error.(*googleapi.Error).Header. Use
  8914  // googleapi.IsNotModified to check whether the returned error was because
  8915  // http.StatusNotModified was returned.
  8916  func (c *InboundSamlSsoProfilesListCall) Do(opts ...googleapi.CallOption) (*ListInboundSamlSsoProfilesResponse, error) {
  8917  	gensupport.SetOptions(c.urlParams_, opts...)
  8918  	res, err := c.doRequest("json")
  8919  	if res != nil && res.StatusCode == http.StatusNotModified {
  8920  		if res.Body != nil {
  8921  			res.Body.Close()
  8922  		}
  8923  		return nil, gensupport.WrapError(&googleapi.Error{
  8924  			Code:   res.StatusCode,
  8925  			Header: res.Header,
  8926  		})
  8927  	}
  8928  	if err != nil {
  8929  		return nil, err
  8930  	}
  8931  	defer googleapi.CloseBody(res)
  8932  	if err := googleapi.CheckResponse(res); err != nil {
  8933  		return nil, gensupport.WrapError(err)
  8934  	}
  8935  	ret := &ListInboundSamlSsoProfilesResponse{
  8936  		ServerResponse: googleapi.ServerResponse{
  8937  			Header:         res.Header,
  8938  			HTTPStatusCode: res.StatusCode,
  8939  		},
  8940  	}
  8941  	target := &ret
  8942  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8943  		return nil, err
  8944  	}
  8945  	return ret, nil
  8946  }
  8947  
  8948  // Pages invokes f for each page of results.
  8949  // A non-nil error returned from f will halt the iteration.
  8950  // The provided context supersedes any context provided to the Context method.
  8951  func (c *InboundSamlSsoProfilesListCall) Pages(ctx context.Context, f func(*ListInboundSamlSsoProfilesResponse) error) error {
  8952  	c.ctx_ = ctx
  8953  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8954  	for {
  8955  		x, err := c.Do()
  8956  		if err != nil {
  8957  			return err
  8958  		}
  8959  		if err := f(x); err != nil {
  8960  			return err
  8961  		}
  8962  		if x.NextPageToken == "" {
  8963  			return nil
  8964  		}
  8965  		c.PageToken(x.NextPageToken)
  8966  	}
  8967  }
  8968  
  8969  type InboundSamlSsoProfilesPatchCall struct {
  8970  	s                     *Service
  8971  	name                  string
  8972  	inboundsamlssoprofile *InboundSamlSsoProfile
  8973  	urlParams_            gensupport.URLParams
  8974  	ctx_                  context.Context
  8975  	header_               http.Header
  8976  }
  8977  
  8978  // Patch: Updates an InboundSamlSsoProfile.
  8979  //
  8980  //   - name: Output only. Resource name
  8981  //     (https://cloud.google.com/apis/design/resource_names) of the SAML SSO
  8982  //     profile.
  8983  func (r *InboundSamlSsoProfilesService) Patch(name string, inboundsamlssoprofile *InboundSamlSsoProfile) *InboundSamlSsoProfilesPatchCall {
  8984  	c := &InboundSamlSsoProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8985  	c.name = name
  8986  	c.inboundsamlssoprofile = inboundsamlssoprofile
  8987  	return c
  8988  }
  8989  
  8990  // UpdateMask sets the optional parameter "updateMask": Required. The list of
  8991  // fields to be updated.
  8992  func (c *InboundSamlSsoProfilesPatchCall) UpdateMask(updateMask string) *InboundSamlSsoProfilesPatchCall {
  8993  	c.urlParams_.Set("updateMask", updateMask)
  8994  	return c
  8995  }
  8996  
  8997  // Fields allows partial responses to be retrieved. See
  8998  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8999  // details.
  9000  func (c *InboundSamlSsoProfilesPatchCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesPatchCall {
  9001  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9002  	return c
  9003  }
  9004  
  9005  // Context sets the context to be used in this call's Do method.
  9006  func (c *InboundSamlSsoProfilesPatchCall) Context(ctx context.Context) *InboundSamlSsoProfilesPatchCall {
  9007  	c.ctx_ = ctx
  9008  	return c
  9009  }
  9010  
  9011  // Header returns a http.Header that can be modified by the caller to add
  9012  // headers to the request.
  9013  func (c *InboundSamlSsoProfilesPatchCall) Header() http.Header {
  9014  	if c.header_ == nil {
  9015  		c.header_ = make(http.Header)
  9016  	}
  9017  	return c.header_
  9018  }
  9019  
  9020  func (c *InboundSamlSsoProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
  9021  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9022  	var body io.Reader = nil
  9023  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inboundsamlssoprofile)
  9024  	if err != nil {
  9025  		return nil, err
  9026  	}
  9027  	c.urlParams_.Set("alt", alt)
  9028  	c.urlParams_.Set("prettyPrint", "false")
  9029  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9030  	urls += "?" + c.urlParams_.Encode()
  9031  	req, err := http.NewRequest("PATCH", urls, body)
  9032  	if err != nil {
  9033  		return nil, err
  9034  	}
  9035  	req.Header = reqHeaders
  9036  	googleapi.Expand(req.URL, map[string]string{
  9037  		"name": c.name,
  9038  	})
  9039  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9040  }
  9041  
  9042  // Do executes the "cloudidentity.inboundSamlSsoProfiles.patch" call.
  9043  // Any non-2xx status code is an error. Response headers are in either
  9044  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9045  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9046  // whether the returned error was because http.StatusNotModified was returned.
  9047  func (c *InboundSamlSsoProfilesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9048  	gensupport.SetOptions(c.urlParams_, opts...)
  9049  	res, err := c.doRequest("json")
  9050  	if res != nil && res.StatusCode == http.StatusNotModified {
  9051  		if res.Body != nil {
  9052  			res.Body.Close()
  9053  		}
  9054  		return nil, gensupport.WrapError(&googleapi.Error{
  9055  			Code:   res.StatusCode,
  9056  			Header: res.Header,
  9057  		})
  9058  	}
  9059  	if err != nil {
  9060  		return nil, err
  9061  	}
  9062  	defer googleapi.CloseBody(res)
  9063  	if err := googleapi.CheckResponse(res); err != nil {
  9064  		return nil, gensupport.WrapError(err)
  9065  	}
  9066  	ret := &Operation{
  9067  		ServerResponse: googleapi.ServerResponse{
  9068  			Header:         res.Header,
  9069  			HTTPStatusCode: res.StatusCode,
  9070  		},
  9071  	}
  9072  	target := &ret
  9073  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9074  		return nil, err
  9075  	}
  9076  	return ret, nil
  9077  }
  9078  
  9079  type InboundSamlSsoProfilesIdpCredentialsAddCall struct {
  9080  	s                       *Service
  9081  	parent                  string
  9082  	addidpcredentialrequest *AddIdpCredentialRequest
  9083  	urlParams_              gensupport.URLParams
  9084  	ctx_                    context.Context
  9085  	header_                 http.Header
  9086  }
  9087  
  9088  // Add: Adds an IdpCredential. Up to 2 credentials are allowed.
  9089  //
  9090  //   - parent: The InboundSamlSsoProfile that owns the IdpCredential. Format:
  9091  //     `inboundSamlSsoProfiles/{sso_profile_id}`.
  9092  func (r *InboundSamlSsoProfilesIdpCredentialsService) Add(parent string, addidpcredentialrequest *AddIdpCredentialRequest) *InboundSamlSsoProfilesIdpCredentialsAddCall {
  9093  	c := &InboundSamlSsoProfilesIdpCredentialsAddCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9094  	c.parent = parent
  9095  	c.addidpcredentialrequest = addidpcredentialrequest
  9096  	return c
  9097  }
  9098  
  9099  // Fields allows partial responses to be retrieved. See
  9100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9101  // details.
  9102  func (c *InboundSamlSsoProfilesIdpCredentialsAddCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesIdpCredentialsAddCall {
  9103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9104  	return c
  9105  }
  9106  
  9107  // Context sets the context to be used in this call's Do method.
  9108  func (c *InboundSamlSsoProfilesIdpCredentialsAddCall) Context(ctx context.Context) *InboundSamlSsoProfilesIdpCredentialsAddCall {
  9109  	c.ctx_ = ctx
  9110  	return c
  9111  }
  9112  
  9113  // Header returns a http.Header that can be modified by the caller to add
  9114  // headers to the request.
  9115  func (c *InboundSamlSsoProfilesIdpCredentialsAddCall) Header() http.Header {
  9116  	if c.header_ == nil {
  9117  		c.header_ = make(http.Header)
  9118  	}
  9119  	return c.header_
  9120  }
  9121  
  9122  func (c *InboundSamlSsoProfilesIdpCredentialsAddCall) doRequest(alt string) (*http.Response, error) {
  9123  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9124  	var body io.Reader = nil
  9125  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.addidpcredentialrequest)
  9126  	if err != nil {
  9127  		return nil, err
  9128  	}
  9129  	c.urlParams_.Set("alt", alt)
  9130  	c.urlParams_.Set("prettyPrint", "false")
  9131  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/idpCredentials:add")
  9132  	urls += "?" + c.urlParams_.Encode()
  9133  	req, err := http.NewRequest("POST", urls, body)
  9134  	if err != nil {
  9135  		return nil, err
  9136  	}
  9137  	req.Header = reqHeaders
  9138  	googleapi.Expand(req.URL, map[string]string{
  9139  		"parent": c.parent,
  9140  	})
  9141  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9142  }
  9143  
  9144  // Do executes the "cloudidentity.inboundSamlSsoProfiles.idpCredentials.add" call.
  9145  // Any non-2xx status code is an error. Response headers are in either
  9146  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9147  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9148  // whether the returned error was because http.StatusNotModified was returned.
  9149  func (c *InboundSamlSsoProfilesIdpCredentialsAddCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9150  	gensupport.SetOptions(c.urlParams_, opts...)
  9151  	res, err := c.doRequest("json")
  9152  	if res != nil && res.StatusCode == http.StatusNotModified {
  9153  		if res.Body != nil {
  9154  			res.Body.Close()
  9155  		}
  9156  		return nil, gensupport.WrapError(&googleapi.Error{
  9157  			Code:   res.StatusCode,
  9158  			Header: res.Header,
  9159  		})
  9160  	}
  9161  	if err != nil {
  9162  		return nil, err
  9163  	}
  9164  	defer googleapi.CloseBody(res)
  9165  	if err := googleapi.CheckResponse(res); err != nil {
  9166  		return nil, gensupport.WrapError(err)
  9167  	}
  9168  	ret := &Operation{
  9169  		ServerResponse: googleapi.ServerResponse{
  9170  			Header:         res.Header,
  9171  			HTTPStatusCode: res.StatusCode,
  9172  		},
  9173  	}
  9174  	target := &ret
  9175  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9176  		return nil, err
  9177  	}
  9178  	return ret, nil
  9179  }
  9180  
  9181  type InboundSamlSsoProfilesIdpCredentialsDeleteCall struct {
  9182  	s          *Service
  9183  	name       string
  9184  	urlParams_ gensupport.URLParams
  9185  	ctx_       context.Context
  9186  	header_    http.Header
  9187  }
  9188  
  9189  // Delete: Deletes an IdpCredential.
  9190  //
  9191  //   - name: The resource name
  9192  //     (https://cloud.google.com/apis/design/resource_names) of the IdpCredential
  9193  //     to delete. Format:
  9194  //     `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}
  9195  //     `.
  9196  func (r *InboundSamlSsoProfilesIdpCredentialsService) Delete(name string) *InboundSamlSsoProfilesIdpCredentialsDeleteCall {
  9197  	c := &InboundSamlSsoProfilesIdpCredentialsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9198  	c.name = name
  9199  	return c
  9200  }
  9201  
  9202  // Fields allows partial responses to be retrieved. See
  9203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9204  // details.
  9205  func (c *InboundSamlSsoProfilesIdpCredentialsDeleteCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesIdpCredentialsDeleteCall {
  9206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9207  	return c
  9208  }
  9209  
  9210  // Context sets the context to be used in this call's Do method.
  9211  func (c *InboundSamlSsoProfilesIdpCredentialsDeleteCall) Context(ctx context.Context) *InboundSamlSsoProfilesIdpCredentialsDeleteCall {
  9212  	c.ctx_ = ctx
  9213  	return c
  9214  }
  9215  
  9216  // Header returns a http.Header that can be modified by the caller to add
  9217  // headers to the request.
  9218  func (c *InboundSamlSsoProfilesIdpCredentialsDeleteCall) Header() http.Header {
  9219  	if c.header_ == nil {
  9220  		c.header_ = make(http.Header)
  9221  	}
  9222  	return c.header_
  9223  }
  9224  
  9225  func (c *InboundSamlSsoProfilesIdpCredentialsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9226  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9227  	var body io.Reader = nil
  9228  	c.urlParams_.Set("alt", alt)
  9229  	c.urlParams_.Set("prettyPrint", "false")
  9230  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9231  	urls += "?" + c.urlParams_.Encode()
  9232  	req, err := http.NewRequest("DELETE", urls, body)
  9233  	if err != nil {
  9234  		return nil, err
  9235  	}
  9236  	req.Header = reqHeaders
  9237  	googleapi.Expand(req.URL, map[string]string{
  9238  		"name": c.name,
  9239  	})
  9240  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9241  }
  9242  
  9243  // Do executes the "cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete" call.
  9244  // Any non-2xx status code is an error. Response headers are in either
  9245  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9246  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9247  // whether the returned error was because http.StatusNotModified was returned.
  9248  func (c *InboundSamlSsoProfilesIdpCredentialsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9249  	gensupport.SetOptions(c.urlParams_, opts...)
  9250  	res, err := c.doRequest("json")
  9251  	if res != nil && res.StatusCode == http.StatusNotModified {
  9252  		if res.Body != nil {
  9253  			res.Body.Close()
  9254  		}
  9255  		return nil, gensupport.WrapError(&googleapi.Error{
  9256  			Code:   res.StatusCode,
  9257  			Header: res.Header,
  9258  		})
  9259  	}
  9260  	if err != nil {
  9261  		return nil, err
  9262  	}
  9263  	defer googleapi.CloseBody(res)
  9264  	if err := googleapi.CheckResponse(res); err != nil {
  9265  		return nil, gensupport.WrapError(err)
  9266  	}
  9267  	ret := &Operation{
  9268  		ServerResponse: googleapi.ServerResponse{
  9269  			Header:         res.Header,
  9270  			HTTPStatusCode: res.StatusCode,
  9271  		},
  9272  	}
  9273  	target := &ret
  9274  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9275  		return nil, err
  9276  	}
  9277  	return ret, nil
  9278  }
  9279  
  9280  type InboundSamlSsoProfilesIdpCredentialsGetCall struct {
  9281  	s            *Service
  9282  	name         string
  9283  	urlParams_   gensupport.URLParams
  9284  	ifNoneMatch_ string
  9285  	ctx_         context.Context
  9286  	header_      http.Header
  9287  }
  9288  
  9289  // Get: Gets an IdpCredential.
  9290  //
  9291  //   - name: The resource name
  9292  //     (https://cloud.google.com/apis/design/resource_names) of the IdpCredential
  9293  //     to retrieve. Format:
  9294  //     `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}
  9295  //     `.
  9296  func (r *InboundSamlSsoProfilesIdpCredentialsService) Get(name string) *InboundSamlSsoProfilesIdpCredentialsGetCall {
  9297  	c := &InboundSamlSsoProfilesIdpCredentialsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9298  	c.name = name
  9299  	return c
  9300  }
  9301  
  9302  // Fields allows partial responses to be retrieved. See
  9303  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9304  // details.
  9305  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesIdpCredentialsGetCall {
  9306  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9307  	return c
  9308  }
  9309  
  9310  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9311  // object's ETag matches the given value. This is useful for getting updates
  9312  // only after the object has changed since the last request.
  9313  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) IfNoneMatch(entityTag string) *InboundSamlSsoProfilesIdpCredentialsGetCall {
  9314  	c.ifNoneMatch_ = entityTag
  9315  	return c
  9316  }
  9317  
  9318  // Context sets the context to be used in this call's Do method.
  9319  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) Context(ctx context.Context) *InboundSamlSsoProfilesIdpCredentialsGetCall {
  9320  	c.ctx_ = ctx
  9321  	return c
  9322  }
  9323  
  9324  // Header returns a http.Header that can be modified by the caller to add
  9325  // headers to the request.
  9326  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) Header() http.Header {
  9327  	if c.header_ == nil {
  9328  		c.header_ = make(http.Header)
  9329  	}
  9330  	return c.header_
  9331  }
  9332  
  9333  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) doRequest(alt string) (*http.Response, error) {
  9334  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9335  	if c.ifNoneMatch_ != "" {
  9336  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9337  	}
  9338  	var body io.Reader = nil
  9339  	c.urlParams_.Set("alt", alt)
  9340  	c.urlParams_.Set("prettyPrint", "false")
  9341  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9342  	urls += "?" + c.urlParams_.Encode()
  9343  	req, err := http.NewRequest("GET", urls, body)
  9344  	if err != nil {
  9345  		return nil, err
  9346  	}
  9347  	req.Header = reqHeaders
  9348  	googleapi.Expand(req.URL, map[string]string{
  9349  		"name": c.name,
  9350  	})
  9351  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9352  }
  9353  
  9354  // Do executes the "cloudidentity.inboundSamlSsoProfiles.idpCredentials.get" call.
  9355  // Any non-2xx status code is an error. Response headers are in either
  9356  // *IdpCredential.ServerResponse.Header or (if a response was returned at all)
  9357  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9358  // whether the returned error was because http.StatusNotModified was returned.
  9359  func (c *InboundSamlSsoProfilesIdpCredentialsGetCall) Do(opts ...googleapi.CallOption) (*IdpCredential, error) {
  9360  	gensupport.SetOptions(c.urlParams_, opts...)
  9361  	res, err := c.doRequest("json")
  9362  	if res != nil && res.StatusCode == http.StatusNotModified {
  9363  		if res.Body != nil {
  9364  			res.Body.Close()
  9365  		}
  9366  		return nil, gensupport.WrapError(&googleapi.Error{
  9367  			Code:   res.StatusCode,
  9368  			Header: res.Header,
  9369  		})
  9370  	}
  9371  	if err != nil {
  9372  		return nil, err
  9373  	}
  9374  	defer googleapi.CloseBody(res)
  9375  	if err := googleapi.CheckResponse(res); err != nil {
  9376  		return nil, gensupport.WrapError(err)
  9377  	}
  9378  	ret := &IdpCredential{
  9379  		ServerResponse: googleapi.ServerResponse{
  9380  			Header:         res.Header,
  9381  			HTTPStatusCode: res.StatusCode,
  9382  		},
  9383  	}
  9384  	target := &ret
  9385  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9386  		return nil, err
  9387  	}
  9388  	return ret, nil
  9389  }
  9390  
  9391  type InboundSamlSsoProfilesIdpCredentialsListCall struct {
  9392  	s            *Service
  9393  	parent       string
  9394  	urlParams_   gensupport.URLParams
  9395  	ifNoneMatch_ string
  9396  	ctx_         context.Context
  9397  	header_      http.Header
  9398  }
  9399  
  9400  // List: Returns a list of IdpCredentials in an InboundSamlSsoProfile.
  9401  //
  9402  //   - parent: The parent, which owns this collection of `IdpCredential`s.
  9403  //     Format: `inboundSamlSsoProfiles/{sso_profile_id}`.
  9404  func (r *InboundSamlSsoProfilesIdpCredentialsService) List(parent string) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9405  	c := &InboundSamlSsoProfilesIdpCredentialsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9406  	c.parent = parent
  9407  	return c
  9408  }
  9409  
  9410  // PageSize sets the optional parameter "pageSize": The maximum number of
  9411  // `IdpCredential`s to return. The service may return fewer than this value.
  9412  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) PageSize(pageSize int64) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9413  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9414  	return c
  9415  }
  9416  
  9417  // PageToken sets the optional parameter "pageToken": A page token, received
  9418  // from a previous `ListIdpCredentials` call. Provide this to retrieve the
  9419  // subsequent page. When paginating, all other parameters provided to
  9420  // `ListIdpCredentials` must match the call that provided the page token.
  9421  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) PageToken(pageToken string) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9422  	c.urlParams_.Set("pageToken", pageToken)
  9423  	return c
  9424  }
  9425  
  9426  // Fields allows partial responses to be retrieved. See
  9427  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9428  // details.
  9429  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) Fields(s ...googleapi.Field) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9430  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9431  	return c
  9432  }
  9433  
  9434  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9435  // object's ETag matches the given value. This is useful for getting updates
  9436  // only after the object has changed since the last request.
  9437  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) IfNoneMatch(entityTag string) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9438  	c.ifNoneMatch_ = entityTag
  9439  	return c
  9440  }
  9441  
  9442  // Context sets the context to be used in this call's Do method.
  9443  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) Context(ctx context.Context) *InboundSamlSsoProfilesIdpCredentialsListCall {
  9444  	c.ctx_ = ctx
  9445  	return c
  9446  }
  9447  
  9448  // Header returns a http.Header that can be modified by the caller to add
  9449  // headers to the request.
  9450  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) Header() http.Header {
  9451  	if c.header_ == nil {
  9452  		c.header_ = make(http.Header)
  9453  	}
  9454  	return c.header_
  9455  }
  9456  
  9457  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) doRequest(alt string) (*http.Response, error) {
  9458  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9459  	if c.ifNoneMatch_ != "" {
  9460  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9461  	}
  9462  	var body io.Reader = nil
  9463  	c.urlParams_.Set("alt", alt)
  9464  	c.urlParams_.Set("prettyPrint", "false")
  9465  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/idpCredentials")
  9466  	urls += "?" + c.urlParams_.Encode()
  9467  	req, err := http.NewRequest("GET", urls, body)
  9468  	if err != nil {
  9469  		return nil, err
  9470  	}
  9471  	req.Header = reqHeaders
  9472  	googleapi.Expand(req.URL, map[string]string{
  9473  		"parent": c.parent,
  9474  	})
  9475  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9476  }
  9477  
  9478  // Do executes the "cloudidentity.inboundSamlSsoProfiles.idpCredentials.list" call.
  9479  // Any non-2xx status code is an error. Response headers are in either
  9480  // *ListIdpCredentialsResponse.ServerResponse.Header or (if a response was
  9481  // returned at all) in error.(*googleapi.Error).Header. Use
  9482  // googleapi.IsNotModified to check whether the returned error was because
  9483  // http.StatusNotModified was returned.
  9484  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) Do(opts ...googleapi.CallOption) (*ListIdpCredentialsResponse, error) {
  9485  	gensupport.SetOptions(c.urlParams_, opts...)
  9486  	res, err := c.doRequest("json")
  9487  	if res != nil && res.StatusCode == http.StatusNotModified {
  9488  		if res.Body != nil {
  9489  			res.Body.Close()
  9490  		}
  9491  		return nil, gensupport.WrapError(&googleapi.Error{
  9492  			Code:   res.StatusCode,
  9493  			Header: res.Header,
  9494  		})
  9495  	}
  9496  	if err != nil {
  9497  		return nil, err
  9498  	}
  9499  	defer googleapi.CloseBody(res)
  9500  	if err := googleapi.CheckResponse(res); err != nil {
  9501  		return nil, gensupport.WrapError(err)
  9502  	}
  9503  	ret := &ListIdpCredentialsResponse{
  9504  		ServerResponse: googleapi.ServerResponse{
  9505  			Header:         res.Header,
  9506  			HTTPStatusCode: res.StatusCode,
  9507  		},
  9508  	}
  9509  	target := &ret
  9510  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9511  		return nil, err
  9512  	}
  9513  	return ret, nil
  9514  }
  9515  
  9516  // Pages invokes f for each page of results.
  9517  // A non-nil error returned from f will halt the iteration.
  9518  // The provided context supersedes any context provided to the Context method.
  9519  func (c *InboundSamlSsoProfilesIdpCredentialsListCall) Pages(ctx context.Context, f func(*ListIdpCredentialsResponse) error) error {
  9520  	c.ctx_ = ctx
  9521  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9522  	for {
  9523  		x, err := c.Do()
  9524  		if err != nil {
  9525  			return err
  9526  		}
  9527  		if err := f(x); err != nil {
  9528  			return err
  9529  		}
  9530  		if x.NextPageToken == "" {
  9531  			return nil
  9532  		}
  9533  		c.PageToken(x.NextPageToken)
  9534  	}
  9535  }
  9536  
  9537  type InboundSsoAssignmentsCreateCall struct {
  9538  	s                    *Service
  9539  	inboundssoassignment *InboundSsoAssignment
  9540  	urlParams_           gensupport.URLParams
  9541  	ctx_                 context.Context
  9542  	header_              http.Header
  9543  }
  9544  
  9545  // Create: Creates an InboundSsoAssignment for users and devices in a
  9546  // `Customer` under a given `Group` or `OrgUnit`.
  9547  func (r *InboundSsoAssignmentsService) Create(inboundssoassignment *InboundSsoAssignment) *InboundSsoAssignmentsCreateCall {
  9548  	c := &InboundSsoAssignmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9549  	c.inboundssoassignment = inboundssoassignment
  9550  	return c
  9551  }
  9552  
  9553  // Fields allows partial responses to be retrieved. See
  9554  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9555  // details.
  9556  func (c *InboundSsoAssignmentsCreateCall) Fields(s ...googleapi.Field) *InboundSsoAssignmentsCreateCall {
  9557  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9558  	return c
  9559  }
  9560  
  9561  // Context sets the context to be used in this call's Do method.
  9562  func (c *InboundSsoAssignmentsCreateCall) Context(ctx context.Context) *InboundSsoAssignmentsCreateCall {
  9563  	c.ctx_ = ctx
  9564  	return c
  9565  }
  9566  
  9567  // Header returns a http.Header that can be modified by the caller to add
  9568  // headers to the request.
  9569  func (c *InboundSsoAssignmentsCreateCall) Header() http.Header {
  9570  	if c.header_ == nil {
  9571  		c.header_ = make(http.Header)
  9572  	}
  9573  	return c.header_
  9574  }
  9575  
  9576  func (c *InboundSsoAssignmentsCreateCall) doRequest(alt string) (*http.Response, error) {
  9577  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9578  	var body io.Reader = nil
  9579  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inboundssoassignment)
  9580  	if err != nil {
  9581  		return nil, err
  9582  	}
  9583  	c.urlParams_.Set("alt", alt)
  9584  	c.urlParams_.Set("prettyPrint", "false")
  9585  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inboundSsoAssignments")
  9586  	urls += "?" + c.urlParams_.Encode()
  9587  	req, err := http.NewRequest("POST", urls, body)
  9588  	if err != nil {
  9589  		return nil, err
  9590  	}
  9591  	req.Header = reqHeaders
  9592  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9593  }
  9594  
  9595  // Do executes the "cloudidentity.inboundSsoAssignments.create" call.
  9596  // Any non-2xx status code is an error. Response headers are in either
  9597  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9598  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9599  // whether the returned error was because http.StatusNotModified was returned.
  9600  func (c *InboundSsoAssignmentsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9601  	gensupport.SetOptions(c.urlParams_, opts...)
  9602  	res, err := c.doRequest("json")
  9603  	if res != nil && res.StatusCode == http.StatusNotModified {
  9604  		if res.Body != nil {
  9605  			res.Body.Close()
  9606  		}
  9607  		return nil, gensupport.WrapError(&googleapi.Error{
  9608  			Code:   res.StatusCode,
  9609  			Header: res.Header,
  9610  		})
  9611  	}
  9612  	if err != nil {
  9613  		return nil, err
  9614  	}
  9615  	defer googleapi.CloseBody(res)
  9616  	if err := googleapi.CheckResponse(res); err != nil {
  9617  		return nil, gensupport.WrapError(err)
  9618  	}
  9619  	ret := &Operation{
  9620  		ServerResponse: googleapi.ServerResponse{
  9621  			Header:         res.Header,
  9622  			HTTPStatusCode: res.StatusCode,
  9623  		},
  9624  	}
  9625  	target := &ret
  9626  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9627  		return nil, err
  9628  	}
  9629  	return ret, nil
  9630  }
  9631  
  9632  type InboundSsoAssignmentsDeleteCall struct {
  9633  	s          *Service
  9634  	name       string
  9635  	urlParams_ gensupport.URLParams
  9636  	ctx_       context.Context
  9637  	header_    http.Header
  9638  }
  9639  
  9640  // Delete: Deletes an InboundSsoAssignment. To disable SSO, Create (or Update)
  9641  // an assignment that has `sso_mode` == `SSO_OFF`.
  9642  //
  9643  //   - name: The resource name
  9644  //     (https://cloud.google.com/apis/design/resource_names) of the
  9645  //     InboundSsoAssignment to delete. Format:
  9646  //     `inboundSsoAssignments/{assignment}`.
  9647  func (r *InboundSsoAssignmentsService) Delete(name string) *InboundSsoAssignmentsDeleteCall {
  9648  	c := &InboundSsoAssignmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9649  	c.name = name
  9650  	return c
  9651  }
  9652  
  9653  // Fields allows partial responses to be retrieved. See
  9654  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9655  // details.
  9656  func (c *InboundSsoAssignmentsDeleteCall) Fields(s ...googleapi.Field) *InboundSsoAssignmentsDeleteCall {
  9657  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9658  	return c
  9659  }
  9660  
  9661  // Context sets the context to be used in this call's Do method.
  9662  func (c *InboundSsoAssignmentsDeleteCall) Context(ctx context.Context) *InboundSsoAssignmentsDeleteCall {
  9663  	c.ctx_ = ctx
  9664  	return c
  9665  }
  9666  
  9667  // Header returns a http.Header that can be modified by the caller to add
  9668  // headers to the request.
  9669  func (c *InboundSsoAssignmentsDeleteCall) Header() http.Header {
  9670  	if c.header_ == nil {
  9671  		c.header_ = make(http.Header)
  9672  	}
  9673  	return c.header_
  9674  }
  9675  
  9676  func (c *InboundSsoAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9677  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9678  	var body io.Reader = nil
  9679  	c.urlParams_.Set("alt", alt)
  9680  	c.urlParams_.Set("prettyPrint", "false")
  9681  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9682  	urls += "?" + c.urlParams_.Encode()
  9683  	req, err := http.NewRequest("DELETE", urls, body)
  9684  	if err != nil {
  9685  		return nil, err
  9686  	}
  9687  	req.Header = reqHeaders
  9688  	googleapi.Expand(req.URL, map[string]string{
  9689  		"name": c.name,
  9690  	})
  9691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9692  }
  9693  
  9694  // Do executes the "cloudidentity.inboundSsoAssignments.delete" call.
  9695  // Any non-2xx status code is an error. Response headers are in either
  9696  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9697  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9698  // whether the returned error was because http.StatusNotModified was returned.
  9699  func (c *InboundSsoAssignmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9700  	gensupport.SetOptions(c.urlParams_, opts...)
  9701  	res, err := c.doRequest("json")
  9702  	if res != nil && res.StatusCode == http.StatusNotModified {
  9703  		if res.Body != nil {
  9704  			res.Body.Close()
  9705  		}
  9706  		return nil, gensupport.WrapError(&googleapi.Error{
  9707  			Code:   res.StatusCode,
  9708  			Header: res.Header,
  9709  		})
  9710  	}
  9711  	if err != nil {
  9712  		return nil, err
  9713  	}
  9714  	defer googleapi.CloseBody(res)
  9715  	if err := googleapi.CheckResponse(res); err != nil {
  9716  		return nil, gensupport.WrapError(err)
  9717  	}
  9718  	ret := &Operation{
  9719  		ServerResponse: googleapi.ServerResponse{
  9720  			Header:         res.Header,
  9721  			HTTPStatusCode: res.StatusCode,
  9722  		},
  9723  	}
  9724  	target := &ret
  9725  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9726  		return nil, err
  9727  	}
  9728  	return ret, nil
  9729  }
  9730  
  9731  type InboundSsoAssignmentsGetCall struct {
  9732  	s            *Service
  9733  	name         string
  9734  	urlParams_   gensupport.URLParams
  9735  	ifNoneMatch_ string
  9736  	ctx_         context.Context
  9737  	header_      http.Header
  9738  }
  9739  
  9740  // Get: Gets an InboundSsoAssignment.
  9741  //
  9742  //   - name: The resource name
  9743  //     (https://cloud.google.com/apis/design/resource_names) of the
  9744  //     InboundSsoAssignment to fetch. Format:
  9745  //     `inboundSsoAssignments/{assignment}`.
  9746  func (r *InboundSsoAssignmentsService) Get(name string) *InboundSsoAssignmentsGetCall {
  9747  	c := &InboundSsoAssignmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9748  	c.name = name
  9749  	return c
  9750  }
  9751  
  9752  // Fields allows partial responses to be retrieved. See
  9753  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9754  // details.
  9755  func (c *InboundSsoAssignmentsGetCall) Fields(s ...googleapi.Field) *InboundSsoAssignmentsGetCall {
  9756  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9757  	return c
  9758  }
  9759  
  9760  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9761  // object's ETag matches the given value. This is useful for getting updates
  9762  // only after the object has changed since the last request.
  9763  func (c *InboundSsoAssignmentsGetCall) IfNoneMatch(entityTag string) *InboundSsoAssignmentsGetCall {
  9764  	c.ifNoneMatch_ = entityTag
  9765  	return c
  9766  }
  9767  
  9768  // Context sets the context to be used in this call's Do method.
  9769  func (c *InboundSsoAssignmentsGetCall) Context(ctx context.Context) *InboundSsoAssignmentsGetCall {
  9770  	c.ctx_ = ctx
  9771  	return c
  9772  }
  9773  
  9774  // Header returns a http.Header that can be modified by the caller to add
  9775  // headers to the request.
  9776  func (c *InboundSsoAssignmentsGetCall) Header() http.Header {
  9777  	if c.header_ == nil {
  9778  		c.header_ = make(http.Header)
  9779  	}
  9780  	return c.header_
  9781  }
  9782  
  9783  func (c *InboundSsoAssignmentsGetCall) doRequest(alt string) (*http.Response, error) {
  9784  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9785  	if c.ifNoneMatch_ != "" {
  9786  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9787  	}
  9788  	var body io.Reader = nil
  9789  	c.urlParams_.Set("alt", alt)
  9790  	c.urlParams_.Set("prettyPrint", "false")
  9791  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9792  	urls += "?" + c.urlParams_.Encode()
  9793  	req, err := http.NewRequest("GET", urls, body)
  9794  	if err != nil {
  9795  		return nil, err
  9796  	}
  9797  	req.Header = reqHeaders
  9798  	googleapi.Expand(req.URL, map[string]string{
  9799  		"name": c.name,
  9800  	})
  9801  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9802  }
  9803  
  9804  // Do executes the "cloudidentity.inboundSsoAssignments.get" call.
  9805  // Any non-2xx status code is an error. Response headers are in either
  9806  // *InboundSsoAssignment.ServerResponse.Header or (if a response was returned
  9807  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9808  // check whether the returned error was because http.StatusNotModified was
  9809  // returned.
  9810  func (c *InboundSsoAssignmentsGetCall) Do(opts ...googleapi.CallOption) (*InboundSsoAssignment, error) {
  9811  	gensupport.SetOptions(c.urlParams_, opts...)
  9812  	res, err := c.doRequest("json")
  9813  	if res != nil && res.StatusCode == http.StatusNotModified {
  9814  		if res.Body != nil {
  9815  			res.Body.Close()
  9816  		}
  9817  		return nil, gensupport.WrapError(&googleapi.Error{
  9818  			Code:   res.StatusCode,
  9819  			Header: res.Header,
  9820  		})
  9821  	}
  9822  	if err != nil {
  9823  		return nil, err
  9824  	}
  9825  	defer googleapi.CloseBody(res)
  9826  	if err := googleapi.CheckResponse(res); err != nil {
  9827  		return nil, gensupport.WrapError(err)
  9828  	}
  9829  	ret := &InboundSsoAssignment{
  9830  		ServerResponse: googleapi.ServerResponse{
  9831  			Header:         res.Header,
  9832  			HTTPStatusCode: res.StatusCode,
  9833  		},
  9834  	}
  9835  	target := &ret
  9836  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9837  		return nil, err
  9838  	}
  9839  	return ret, nil
  9840  }
  9841  
  9842  type InboundSsoAssignmentsListCall struct {
  9843  	s            *Service
  9844  	urlParams_   gensupport.URLParams
  9845  	ifNoneMatch_ string
  9846  	ctx_         context.Context
  9847  	header_      http.Header
  9848  }
  9849  
  9850  // List: Lists the InboundSsoAssignments for a `Customer`.
  9851  func (r *InboundSsoAssignmentsService) List() *InboundSsoAssignmentsListCall {
  9852  	c := &InboundSsoAssignmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9853  	return c
  9854  }
  9855  
  9856  // Filter sets the optional parameter "filter": A CEL expression to filter the
  9857  // results. The only supported filter is filtering by customer. For example:
  9858  // `customer==customers/C0123abc`. Omitting the filter or specifying a filter
  9859  // of `customer==customers/my_customer` will return the assignments for the
  9860  // customer that the caller (authenticated user) belongs to.
  9861  func (c *InboundSsoAssignmentsListCall) Filter(filter string) *InboundSsoAssignmentsListCall {
  9862  	c.urlParams_.Set("filter", filter)
  9863  	return c
  9864  }
  9865  
  9866  // PageSize sets the optional parameter "pageSize": The maximum number of
  9867  // assignments to return. The service may return fewer than this value. If
  9868  // omitted (or defaulted to zero) the server will use a sensible default. This
  9869  // default may change over time. The maximum allowed value is 100, though
  9870  // requests with page_size greater than that will be silently interpreted as
  9871  // having this maximum value. This may increase in the futue.
  9872  func (c *InboundSsoAssignmentsListCall) PageSize(pageSize int64) *InboundSsoAssignmentsListCall {
  9873  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9874  	return c
  9875  }
  9876  
  9877  // PageToken sets the optional parameter "pageToken": A page token, received
  9878  // from a previous `ListInboundSsoAssignments` call. Provide this to retrieve
  9879  // the subsequent page. When paginating, all other parameters provided to
  9880  // `ListInboundSsoAssignments` must match the call that provided the page
  9881  // token.
  9882  func (c *InboundSsoAssignmentsListCall) PageToken(pageToken string) *InboundSsoAssignmentsListCall {
  9883  	c.urlParams_.Set("pageToken", pageToken)
  9884  	return c
  9885  }
  9886  
  9887  // Fields allows partial responses to be retrieved. See
  9888  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9889  // details.
  9890  func (c *InboundSsoAssignmentsListCall) Fields(s ...googleapi.Field) *InboundSsoAssignmentsListCall {
  9891  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9892  	return c
  9893  }
  9894  
  9895  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9896  // object's ETag matches the given value. This is useful for getting updates
  9897  // only after the object has changed since the last request.
  9898  func (c *InboundSsoAssignmentsListCall) IfNoneMatch(entityTag string) *InboundSsoAssignmentsListCall {
  9899  	c.ifNoneMatch_ = entityTag
  9900  	return c
  9901  }
  9902  
  9903  // Context sets the context to be used in this call's Do method.
  9904  func (c *InboundSsoAssignmentsListCall) Context(ctx context.Context) *InboundSsoAssignmentsListCall {
  9905  	c.ctx_ = ctx
  9906  	return c
  9907  }
  9908  
  9909  // Header returns a http.Header that can be modified by the caller to add
  9910  // headers to the request.
  9911  func (c *InboundSsoAssignmentsListCall) Header() http.Header {
  9912  	if c.header_ == nil {
  9913  		c.header_ = make(http.Header)
  9914  	}
  9915  	return c.header_
  9916  }
  9917  
  9918  func (c *InboundSsoAssignmentsListCall) doRequest(alt string) (*http.Response, error) {
  9919  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9920  	if c.ifNoneMatch_ != "" {
  9921  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9922  	}
  9923  	var body io.Reader = nil
  9924  	c.urlParams_.Set("alt", alt)
  9925  	c.urlParams_.Set("prettyPrint", "false")
  9926  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inboundSsoAssignments")
  9927  	urls += "?" + c.urlParams_.Encode()
  9928  	req, err := http.NewRequest("GET", urls, body)
  9929  	if err != nil {
  9930  		return nil, err
  9931  	}
  9932  	req.Header = reqHeaders
  9933  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9934  }
  9935  
  9936  // Do executes the "cloudidentity.inboundSsoAssignments.list" call.
  9937  // Any non-2xx status code is an error. Response headers are in either
  9938  // *ListInboundSsoAssignmentsResponse.ServerResponse.Header or (if a response
  9939  // was returned at all) in error.(*googleapi.Error).Header. Use
  9940  // googleapi.IsNotModified to check whether the returned error was because
  9941  // http.StatusNotModified was returned.
  9942  func (c *InboundSsoAssignmentsListCall) Do(opts ...googleapi.CallOption) (*ListInboundSsoAssignmentsResponse, error) {
  9943  	gensupport.SetOptions(c.urlParams_, opts...)
  9944  	res, err := c.doRequest("json")
  9945  	if res != nil && res.StatusCode == http.StatusNotModified {
  9946  		if res.Body != nil {
  9947  			res.Body.Close()
  9948  		}
  9949  		return nil, gensupport.WrapError(&googleapi.Error{
  9950  			Code:   res.StatusCode,
  9951  			Header: res.Header,
  9952  		})
  9953  	}
  9954  	if err != nil {
  9955  		return nil, err
  9956  	}
  9957  	defer googleapi.CloseBody(res)
  9958  	if err := googleapi.CheckResponse(res); err != nil {
  9959  		return nil, gensupport.WrapError(err)
  9960  	}
  9961  	ret := &ListInboundSsoAssignmentsResponse{
  9962  		ServerResponse: googleapi.ServerResponse{
  9963  			Header:         res.Header,
  9964  			HTTPStatusCode: res.StatusCode,
  9965  		},
  9966  	}
  9967  	target := &ret
  9968  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9969  		return nil, err
  9970  	}
  9971  	return ret, nil
  9972  }
  9973  
  9974  // Pages invokes f for each page of results.
  9975  // A non-nil error returned from f will halt the iteration.
  9976  // The provided context supersedes any context provided to the Context method.
  9977  func (c *InboundSsoAssignmentsListCall) Pages(ctx context.Context, f func(*ListInboundSsoAssignmentsResponse) error) error {
  9978  	c.ctx_ = ctx
  9979  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9980  	for {
  9981  		x, err := c.Do()
  9982  		if err != nil {
  9983  			return err
  9984  		}
  9985  		if err := f(x); err != nil {
  9986  			return err
  9987  		}
  9988  		if x.NextPageToken == "" {
  9989  			return nil
  9990  		}
  9991  		c.PageToken(x.NextPageToken)
  9992  	}
  9993  }
  9994  
  9995  type InboundSsoAssignmentsPatchCall struct {
  9996  	s                    *Service
  9997  	name                 string
  9998  	inboundssoassignment *InboundSsoAssignment
  9999  	urlParams_           gensupport.URLParams
 10000  	ctx_                 context.Context
 10001  	header_              http.Header
 10002  }
 10003  
 10004  // Patch: Updates an InboundSsoAssignment. The body of this request is the
 10005  // `inbound_sso_assignment` field and the `update_mask` is relative to that.
 10006  // For example: a PATCH to
 10007  // `/v1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of
 10008  // `{ "rank": 1 }` moves that (presumably group-targeted) SSO assignment to the
 10009  // highest priority and shifts any other group-targeted assignments down in
 10010  // priority.
 10011  //
 10012  //   - name: Output only. Resource name
 10013  //     (https://cloud.google.com/apis/design/resource_names) of the Inbound SSO
 10014  //     Assignment.
 10015  func (r *InboundSsoAssignmentsService) Patch(name string, inboundssoassignment *InboundSsoAssignment) *InboundSsoAssignmentsPatchCall {
 10016  	c := &InboundSsoAssignmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10017  	c.name = name
 10018  	c.inboundssoassignment = inboundssoassignment
 10019  	return c
 10020  }
 10021  
 10022  // UpdateMask sets the optional parameter "updateMask": Required. The list of
 10023  // fields to be updated.
 10024  func (c *InboundSsoAssignmentsPatchCall) UpdateMask(updateMask string) *InboundSsoAssignmentsPatchCall {
 10025  	c.urlParams_.Set("updateMask", updateMask)
 10026  	return c
 10027  }
 10028  
 10029  // Fields allows partial responses to be retrieved. See
 10030  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10031  // details.
 10032  func (c *InboundSsoAssignmentsPatchCall) Fields(s ...googleapi.Field) *InboundSsoAssignmentsPatchCall {
 10033  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10034  	return c
 10035  }
 10036  
 10037  // Context sets the context to be used in this call's Do method.
 10038  func (c *InboundSsoAssignmentsPatchCall) Context(ctx context.Context) *InboundSsoAssignmentsPatchCall {
 10039  	c.ctx_ = ctx
 10040  	return c
 10041  }
 10042  
 10043  // Header returns a http.Header that can be modified by the caller to add
 10044  // headers to the request.
 10045  func (c *InboundSsoAssignmentsPatchCall) Header() http.Header {
 10046  	if c.header_ == nil {
 10047  		c.header_ = make(http.Header)
 10048  	}
 10049  	return c.header_
 10050  }
 10051  
 10052  func (c *InboundSsoAssignmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 10053  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10054  	var body io.Reader = nil
 10055  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inboundssoassignment)
 10056  	if err != nil {
 10057  		return nil, err
 10058  	}
 10059  	c.urlParams_.Set("alt", alt)
 10060  	c.urlParams_.Set("prettyPrint", "false")
 10061  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10062  	urls += "?" + c.urlParams_.Encode()
 10063  	req, err := http.NewRequest("PATCH", urls, body)
 10064  	if err != nil {
 10065  		return nil, err
 10066  	}
 10067  	req.Header = reqHeaders
 10068  	googleapi.Expand(req.URL, map[string]string{
 10069  		"name": c.name,
 10070  	})
 10071  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10072  }
 10073  
 10074  // Do executes the "cloudidentity.inboundSsoAssignments.patch" call.
 10075  // Any non-2xx status code is an error. Response headers are in either
 10076  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10077  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10078  // whether the returned error was because http.StatusNotModified was returned.
 10079  func (c *InboundSsoAssignmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10080  	gensupport.SetOptions(c.urlParams_, opts...)
 10081  	res, err := c.doRequest("json")
 10082  	if res != nil && res.StatusCode == http.StatusNotModified {
 10083  		if res.Body != nil {
 10084  			res.Body.Close()
 10085  		}
 10086  		return nil, gensupport.WrapError(&googleapi.Error{
 10087  			Code:   res.StatusCode,
 10088  			Header: res.Header,
 10089  		})
 10090  	}
 10091  	if err != nil {
 10092  		return nil, err
 10093  	}
 10094  	defer googleapi.CloseBody(res)
 10095  	if err := googleapi.CheckResponse(res); err != nil {
 10096  		return nil, gensupport.WrapError(err)
 10097  	}
 10098  	ret := &Operation{
 10099  		ServerResponse: googleapi.ServerResponse{
 10100  			Header:         res.Header,
 10101  			HTTPStatusCode: res.StatusCode,
 10102  		},
 10103  	}
 10104  	target := &ret
 10105  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10106  		return nil, err
 10107  	}
 10108  	return ret, nil
 10109  }
 10110  

View as plain text