1// Copyright 2020 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 managedidentities provides access to the Managed Service for Microsoft Active Directory API.
8//
9// For product documentation, see: https://cloud.google.com/managed-microsoft-ad/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/managedidentities/v1"
16//   ...
17//   ctx := context.Background()
18//   managedidentitiesService, err := managedidentities.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   managedidentitiesService, err := managedidentities.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   managedidentitiesService, err := managedidentities.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package managedidentities // import "google.golang.org/api/managedidentities/v1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "managedidentities:v1"
75const apiName = "managedidentities"
76const apiVersion = "v1"
77const basePath = "https://managedidentities.googleapis.com/"
78const mtlsBasePath = "https://managedidentities.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// View and manage your data across Google Cloud Platform services
83	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/cloud-platform",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Projects = NewProjectsService(s)
120	return s, nil
121}
122
123type Service struct {
124	client    *http.Client
125	BasePath  string // API endpoint base URL
126	UserAgent string // optional additional User-Agent fragment
127
128	Projects *ProjectsService
129}
130
131func (s *Service) userAgent() string {
132	if s.UserAgent == "" {
133		return googleapi.UserAgent
134	}
135	return googleapi.UserAgent + " " + s.UserAgent
136}
137
138func NewProjectsService(s *Service) *ProjectsService {
139	rs := &ProjectsService{s: s}
140	rs.Locations = NewProjectsLocationsService(s)
141	return rs
142}
143
144type ProjectsService struct {
145	s *Service
146
147	Locations *ProjectsLocationsService
148}
149
150func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
151	rs := &ProjectsLocationsService{s: s}
152	rs.Global = NewProjectsLocationsGlobalService(s)
153	return rs
154}
155
156type ProjectsLocationsService struct {
157	s *Service
158
159	Global *ProjectsLocationsGlobalService
160}
161
162func NewProjectsLocationsGlobalService(s *Service) *ProjectsLocationsGlobalService {
163	rs := &ProjectsLocationsGlobalService{s: s}
164	rs.Domains = NewProjectsLocationsGlobalDomainsService(s)
165	rs.Operations = NewProjectsLocationsGlobalOperationsService(s)
166	return rs
167}
168
169type ProjectsLocationsGlobalService struct {
170	s *Service
171
172	Domains *ProjectsLocationsGlobalDomainsService
173
174	Operations *ProjectsLocationsGlobalOperationsService
175}
176
177func NewProjectsLocationsGlobalDomainsService(s *Service) *ProjectsLocationsGlobalDomainsService {
178	rs := &ProjectsLocationsGlobalDomainsService{s: s}
179	return rs
180}
181
182type ProjectsLocationsGlobalDomainsService struct {
183	s *Service
184}
185
186func NewProjectsLocationsGlobalOperationsService(s *Service) *ProjectsLocationsGlobalOperationsService {
187	rs := &ProjectsLocationsGlobalOperationsService{s: s}
188	return rs
189}
190
191type ProjectsLocationsGlobalOperationsService struct {
192	s *Service
193}
194
195// AttachTrustRequest: Request message for AttachTrust
196type AttachTrustRequest struct {
197	// Trust: Required. The domain trust resource.
198	Trust *Trust `json:"trust,omitempty"`
199
200	// ForceSendFields is a list of field names (e.g. "Trust") to
201	// unconditionally include in API requests. By default, fields with
202	// empty values are omitted from API requests. However, any non-pointer,
203	// non-interface field appearing in ForceSendFields will be sent to the
204	// server regardless of whether the field is empty or not. This may be
205	// used to include empty fields in Patch requests.
206	ForceSendFields []string `json:"-"`
207
208	// NullFields is a list of field names (e.g. "Trust") to include in API
209	// requests with the JSON null value. By default, fields with empty
210	// values are omitted from API requests. However, any field with an
211	// empty value appearing in NullFields will be sent to the server as
212	// null. It is an error if a field in this list has a non-empty value.
213	// This may be used to include null fields in Patch requests.
214	NullFields []string `json:"-"`
215}
216
217func (s *AttachTrustRequest) MarshalJSON() ([]byte, error) {
218	type NoMethod AttachTrustRequest
219	raw := NoMethod(*s)
220	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
221}
222
223// Binding: Associates `members` with a `role`.
224type Binding struct {
225	// BindingId: A client-specified ID for this binding. Expected to be
226	// globally unique to support the internal bindings-by-ID API.
227	BindingId string `json:"bindingId,omitempty"`
228
229	// Condition: The condition that is associated with this binding. If the
230	// condition evaluates to `true`, then this binding applies to the
231	// current request. If the condition evaluates to `false`, then this
232	// binding does not apply to the current request. However, a different
233	// role binding might grant the same role to one or more of the members
234	// in this binding. To learn which resources support conditions in their
235	// IAM policies, see the [IAM
236	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
237	// olicies).
238	Condition *Expr `json:"condition,omitempty"`
239
240	// Members: Specifies the identities requesting access for a Cloud
241	// Platform resource. `members` can have the following values: *
242	// `allUsers`: A special identifier that represents anyone who is on the
243	// internet; with or without a Google account. *
244	// `allAuthenticatedUsers`: A special identifier that represents anyone
245	// who is authenticated with a Google account or a service account. *
246	// `user:{emailid}`: An email address that represents a specific Google
247	// account. For example, `alice@example.com` . *
248	// `serviceAccount:{emailid}`: An email address that represents a
249	// service account. For example,
250	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
251	// email address that represents a Google group. For example,
252	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
253	// email address (plus unique identifier) representing a user that has
254	// been recently deleted. For example,
255	// `alice@example.com?uid=123456789012345678901`. If the user is
256	// recovered, this value reverts to `user:{emailid}` and the recovered
257	// user retains the role in the binding. *
258	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
259	// (plus unique identifier) representing a service account that has been
260	// recently deleted. For example,
261	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
262	// If the service account is undeleted, this value reverts to
263	// `serviceAccount:{emailid}` and the undeleted service account retains
264	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
265	// An email address (plus unique identifier) representing a Google group
266	// that has been recently deleted. For example,
267	// `admins@example.com?uid=123456789012345678901`. If the group is
268	// recovered, this value reverts to `group:{emailid}` and the recovered
269	// group retains the role in the binding. * `domain:{domain}`: The G
270	// Suite domain (primary) that represents all the users of that domain.
271	// For example, `google.com` or `example.com`.
272	Members []string `json:"members,omitempty"`
273
274	// Role: Role that is assigned to `members`. For example,
275	// `roles/viewer`, `roles/editor`, or `roles/owner`.
276	Role string `json:"role,omitempty"`
277
278	// ForceSendFields is a list of field names (e.g. "BindingId") to
279	// unconditionally include in API requests. By default, fields with
280	// empty values are omitted from API requests. However, any non-pointer,
281	// non-interface field appearing in ForceSendFields will be sent to the
282	// server regardless of whether the field is empty or not. This may be
283	// used to include empty fields in Patch requests.
284	ForceSendFields []string `json:"-"`
285
286	// NullFields is a list of field names (e.g. "BindingId") to include in
287	// API requests with the JSON null value. By default, fields with empty
288	// values are omitted from API requests. However, any field with an
289	// empty value appearing in NullFields will be sent to the server as
290	// null. It is an error if a field in this list has a non-empty value.
291	// This may be used to include null fields in Patch requests.
292	NullFields []string `json:"-"`
293}
294
295func (s *Binding) MarshalJSON() ([]byte, error) {
296	type NoMethod Binding
297	raw := NoMethod(*s)
298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
299}
300
301// CancelOperationRequest: The request message for
302// Operations.CancelOperation.
303type CancelOperationRequest struct {
304}
305
306// DetachTrustRequest: Request message for DetachTrust
307type DetachTrustRequest struct {
308	// Trust: Required. The domain trust resource to removed.
309	Trust *Trust `json:"trust,omitempty"`
310
311	// ForceSendFields is a list of field names (e.g. "Trust") to
312	// unconditionally include in API requests. By default, fields with
313	// empty values are omitted from API requests. However, any non-pointer,
314	// non-interface field appearing in ForceSendFields will be sent to the
315	// server regardless of whether the field is empty or not. This may be
316	// used to include empty fields in Patch requests.
317	ForceSendFields []string `json:"-"`
318
319	// NullFields is a list of field names (e.g. "Trust") to include in API
320	// requests with the JSON null value. By default, fields with empty
321	// values are omitted from API requests. However, any field with an
322	// empty value appearing in NullFields will be sent to the server as
323	// null. It is an error if a field in this list has a non-empty value.
324	// This may be used to include null fields in Patch requests.
325	NullFields []string `json:"-"`
326}
327
328func (s *DetachTrustRequest) MarshalJSON() ([]byte, error) {
329	type NoMethod DetachTrustRequest
330	raw := NoMethod(*s)
331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
332}
333
334// Domain: Represents a managed Microsoft Active Directory domain.
335type Domain struct {
336	// Admin: Optional. The name of delegated administrator account used to
337	// perform Active Directory operations. If not specified, `setupadmin`
338	// will be used.
339	Admin string `json:"admin,omitempty"`
340
341	// AuthorizedNetworks: Optional. The full names of the Google Compute
342	// Engine [networks](/compute/docs/networks-and-firewalls#networks) the
343	// domain instance is connected to. Networks can be added using
344	// UpdateDomain. The domain is only available on networks listed in
345	// `authorized_networks`. If CIDR subnets overlap between networks,
346	// domain creation will fail.
347	AuthorizedNetworks []string `json:"authorizedNetworks,omitempty"`
348
349	// CreateTime: Output only. The time the instance was created.
350	CreateTime string `json:"createTime,omitempty"`
351
352	// Fqdn: Output only. The fully-qualified domain name of the exposed
353	// domain used by clients to connect to the service. Similar to what
354	// would be chosen for an Active Directory set up on an internal
355	// network.
356	Fqdn string `json:"fqdn,omitempty"`
357
358	// Labels: Optional. Resource labels that can contain user-provided
359	// metadata.
360	Labels map[string]string `json:"labels,omitempty"`
361
362	// Locations: Required. Locations where domain needs to be provisioned.
363	// regions e.g. us-west1 or us-east4 Service supports up to 4 locations
364	// at once. Each location will use a /26 block.
365	Locations []string `json:"locations,omitempty"`
366
367	// Name: Required. The unique name of the domain using the form:
368	// `projects/{project_id}/locations/global/domains/{domain_name}`.
369	Name string `json:"name,omitempty"`
370
371	// ReservedIpRange: Required. The CIDR range of internal addresses that
372	// are reserved for this domain. Reserved networks must be /24 or
373	// larger. Ranges must be unique and non-overlapping with existing
374	// subnets in [Domain].[authorized_networks].
375	ReservedIpRange string `json:"reservedIpRange,omitempty"`
376
377	// State: Output only. The current state of this domain.
378	//
379	// Possible values:
380	//   "STATE_UNSPECIFIED" - Not set.
381	//   "CREATING" - The domain is being created.
382	//   "READY" - The domain has been created and is fully usable.
383	//   "UPDATING" - The domain's configuration is being updated.
384	//   "DELETING" - The domain is being deleted.
385	//   "REPAIRING" - The domain is being repaired and may be unusable.
386	// Details can be found in the `status_message` field.
387	//   "PERFORMING_MAINTENANCE" - The domain is undergoing maintenance.
388	//   "UNAVAILABLE" - The domain is not serving requests.
389	State string `json:"state,omitempty"`
390
391	// StatusMessage: Output only. Additional information about the current
392	// status of this domain, if available.
393	StatusMessage string `json:"statusMessage,omitempty"`
394
395	// Trusts: Output only. The current trusts associated with the domain.
396	Trusts []*Trust `json:"trusts,omitempty"`
397
398	// UpdateTime: Output only. The last update time.
399	UpdateTime string `json:"updateTime,omitempty"`
400
401	// ServerResponse contains the HTTP response code and headers from the
402	// server.
403	googleapi.ServerResponse `json:"-"`
404
405	// ForceSendFields is a list of field names (e.g. "Admin") to
406	// unconditionally include in API requests. By default, fields with
407	// empty values are omitted from API requests. However, any non-pointer,
408	// non-interface field appearing in ForceSendFields will be sent to the
409	// server regardless of whether the field is empty or not. This may be
410	// used to include empty fields in Patch requests.
411	ForceSendFields []string `json:"-"`
412
413	// NullFields is a list of field names (e.g. "Admin") to include in API
414	// requests with the JSON null value. By default, fields with empty
415	// values are omitted from API requests. However, any field with an
416	// empty value appearing in NullFields will be sent to the server as
417	// null. It is an error if a field in this list has a non-empty value.
418	// This may be used to include null fields in Patch requests.
419	NullFields []string `json:"-"`
420}
421
422func (s *Domain) MarshalJSON() ([]byte, error) {
423	type NoMethod Domain
424	raw := NoMethod(*s)
425	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
426}
427
428// Empty: A generic empty message that you can re-use to avoid defining
429// duplicated empty messages in your APIs. A typical example is to use
430// it as the request or the response type of an API method. For
431// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
432// (google.protobuf.Empty); } The JSON representation for `Empty` is
433// empty JSON object `{}`.
434type Empty struct {
435	// ServerResponse contains the HTTP response code and headers from the
436	// server.
437	googleapi.ServerResponse `json:"-"`
438}
439
440// Expr: Represents a textual expression in the Common Expression
441// Language (CEL) syntax. CEL is a C-like expression language. The
442// syntax and semantics of CEL are documented at
443// https://github.com/google/cel-spec. Example (Comparison): title:
444// "Summary size limit" description: "Determines if a summary is less
445// than 100 chars" expression: "document.summary.size() < 100" Example
446// (Equality): title: "Requestor is owner" description: "Determines if
447// requestor is the document owner" expression: "document.owner ==
448// request.auth.claims.email" Example (Logic): title: "Public documents"
449// description: "Determine whether the document should be publicly
450// visible" expression: "document.type != 'private' && document.type !=
451// 'internal'" Example (Data Manipulation): title: "Notification string"
452// description: "Create a notification string with a timestamp."
453// expression: "'New message received at ' +
454// string(document.create_time)" The exact variables and functions that
455// may be referenced within an expression are determined by the service
456// that evaluates it. See the service documentation for additional
457// information.
458type Expr struct {
459	// Description: Optional. Description of the expression. This is a
460	// longer text which describes the expression, e.g. when hovered over it
461	// in a UI.
462	Description string `json:"description,omitempty"`
463
464	// Expression: Textual representation of an expression in Common
465	// Expression Language syntax.
466	Expression string `json:"expression,omitempty"`
467
468	// Location: Optional. String indicating the location of the expression
469	// for error reporting, e.g. a file name and a position in the file.
470	Location string `json:"location,omitempty"`
471
472	// Title: Optional. Title for the expression, i.e. a short string
473	// describing its purpose. This can be used e.g. in UIs which allow to
474	// enter the expression.
475	Title string `json:"title,omitempty"`
476
477	// ForceSendFields is a list of field names (e.g. "Description") to
478	// unconditionally include in API requests. By default, fields with
479	// empty values are omitted from API requests. However, any non-pointer,
480	// non-interface field appearing in ForceSendFields will be sent to the
481	// server regardless of whether the field is empty or not. This may be
482	// used to include empty fields in Patch requests.
483	ForceSendFields []string `json:"-"`
484
485	// NullFields is a list of field names (e.g. "Description") to include
486	// in API requests with the JSON null value. By default, fields with
487	// empty values are omitted from API requests. However, any field with
488	// an empty value appearing in NullFields will be sent to the server as
489	// null. It is an error if a field in this list has a non-empty value.
490	// This may be used to include null fields in Patch requests.
491	NullFields []string `json:"-"`
492}
493
494func (s *Expr) MarshalJSON() ([]byte, error) {
495	type NoMethod Expr
496	raw := NoMethod(*s)
497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
498}
499
500// GoogleCloudManagedidentitiesV1OpMetadata: Represents the metadata of
501// the long-running operation.
502type GoogleCloudManagedidentitiesV1OpMetadata struct {
503	// ApiVersion: Output only. API version used to start the operation.
504	ApiVersion string `json:"apiVersion,omitempty"`
505
506	// CreateTime: Output only. The time the operation was created.
507	CreateTime string `json:"createTime,omitempty"`
508
509	// EndTime: Output only. The time the operation finished running.
510	EndTime string `json:"endTime,omitempty"`
511
512	// RequestedCancellation: Output only. Identifies whether the user has
513	// requested cancellation of the operation. Operations that have
514	// successfully been cancelled have Operation.error value with a
515	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
516	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
517
518	// Target: Output only. Server-defined resource path for the target of
519	// the operation.
520	Target string `json:"target,omitempty"`
521
522	// Verb: Output only. Name of the verb executed by the operation.
523	Verb string `json:"verb,omitempty"`
524
525	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
526	// unconditionally include in API requests. By default, fields with
527	// empty values are omitted from API requests. However, any non-pointer,
528	// non-interface field appearing in ForceSendFields will be sent to the
529	// server regardless of whether the field is empty or not. This may be
530	// used to include empty fields in Patch requests.
531	ForceSendFields []string `json:"-"`
532
533	// NullFields is a list of field names (e.g. "ApiVersion") to include in
534	// API requests with the JSON null value. By default, fields with empty
535	// values are omitted from API requests. However, any field with an
536	// empty value appearing in NullFields will be sent to the server as
537	// null. It is an error if a field in this list has a non-empty value.
538	// This may be used to include null fields in Patch requests.
539	NullFields []string `json:"-"`
540}
541
542func (s *GoogleCloudManagedidentitiesV1OpMetadata) MarshalJSON() ([]byte, error) {
543	type NoMethod GoogleCloudManagedidentitiesV1OpMetadata
544	raw := NoMethod(*s)
545	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
546}
547
548// GoogleCloudManagedidentitiesV1alpha1OpMetadata: Represents the
549// metadata of the long-running operation.
550type GoogleCloudManagedidentitiesV1alpha1OpMetadata struct {
551	// ApiVersion: Output only. API version used to start the operation.
552	ApiVersion string `json:"apiVersion,omitempty"`
553
554	// CreateTime: Output only. The time the operation was created.
555	CreateTime string `json:"createTime,omitempty"`
556
557	// EndTime: Output only. The time the operation finished running.
558	EndTime string `json:"endTime,omitempty"`
559
560	// RequestedCancellation: Output only. Identifies whether the user has
561	// requested cancellation of the operation. Operations that have
562	// successfully been cancelled have Operation.error value with a
563	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
564	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
565
566	// Target: Output only. Server-defined resource path for the target of
567	// the operation.
568	Target string `json:"target,omitempty"`
569
570	// Verb: Output only. Name of the verb executed by the operation.
571	Verb string `json:"verb,omitempty"`
572
573	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
574	// unconditionally include in API requests. By default, fields with
575	// empty values are omitted from API requests. However, any non-pointer,
576	// non-interface field appearing in ForceSendFields will be sent to the
577	// server regardless of whether the field is empty or not. This may be
578	// used to include empty fields in Patch requests.
579	ForceSendFields []string `json:"-"`
580
581	// NullFields is a list of field names (e.g. "ApiVersion") to include in
582	// API requests with the JSON null value. By default, fields with empty
583	// values are omitted from API requests. However, any field with an
584	// empty value appearing in NullFields will be sent to the server as
585	// null. It is an error if a field in this list has a non-empty value.
586	// This may be used to include null fields in Patch requests.
587	NullFields []string `json:"-"`
588}
589
590func (s *GoogleCloudManagedidentitiesV1alpha1OpMetadata) MarshalJSON() ([]byte, error) {
591	type NoMethod GoogleCloudManagedidentitiesV1alpha1OpMetadata
592	raw := NoMethod(*s)
593	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
594}
595
596// GoogleCloudManagedidentitiesV1beta1OpMetadata: Represents the
597// metadata of the long-running operation.
598type GoogleCloudManagedidentitiesV1beta1OpMetadata struct {
599	// ApiVersion: Output only. API version used to start the operation.
600	ApiVersion string `json:"apiVersion,omitempty"`
601
602	// CreateTime: Output only. The time the operation was created.
603	CreateTime string `json:"createTime,omitempty"`
604
605	// EndTime: Output only. The time the operation finished running.
606	EndTime string `json:"endTime,omitempty"`
607
608	// RequestedCancellation: Output only. Identifies whether the user has
609	// requested cancellation of the operation. Operations that have
610	// successfully been cancelled have Operation.error value with a
611	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
612	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
613
614	// Target: Output only. Server-defined resource path for the target of
615	// the operation.
616	Target string `json:"target,omitempty"`
617
618	// Verb: Output only. Name of the verb executed by the operation.
619	Verb string `json:"verb,omitempty"`
620
621	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
622	// unconditionally include in API requests. By default, fields with
623	// empty values are omitted from API requests. However, any non-pointer,
624	// non-interface field appearing in ForceSendFields will be sent to the
625	// server regardless of whether the field is empty or not. This may be
626	// used to include empty fields in Patch requests.
627	ForceSendFields []string `json:"-"`
628
629	// NullFields is a list of field names (e.g. "ApiVersion") to include in
630	// API requests with the JSON null value. By default, fields with empty
631	// values are omitted from API requests. However, any field with an
632	// empty value appearing in NullFields will be sent to the server as
633	// null. It is an error if a field in this list has a non-empty value.
634	// This may be used to include null fields in Patch requests.
635	NullFields []string `json:"-"`
636}
637
638func (s *GoogleCloudManagedidentitiesV1beta1OpMetadata) MarshalJSON() ([]byte, error) {
639	type NoMethod GoogleCloudManagedidentitiesV1beta1OpMetadata
640	raw := NoMethod(*s)
641	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
642}
643
644type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct {
645	// ConsumerDefinedName: consumer_defined_name is the name that is set by
646	// the consumer. On the other hand Name field represents system-assigned
647	// id of an instance so consumers are not necessarily aware of it.
648	// consumer_defined_name is used for notification/UI purposes for
649	// consumer to recognize their instances.
650	ConsumerDefinedName string `json:"consumerDefinedName,omitempty"`
651
652	// CreateTime: Output only. Timestamp when the resource was created.
653	CreateTime string `json:"createTime,omitempty"`
654
655	// Labels: Optional. Resource labels to represent user provided
656	// metadata. Each label is a key-value pair, where both the key and the
657	// value are arbitrary strings provided by the user.
658	Labels map[string]string `json:"labels,omitempty"`
659
660	// MaintenancePolicyNames: The MaintenancePolicies that have been
661	// attached to the instance. The key must be of the type name of the
662	// oneof policy name defined in MaintenancePolicy, and the referenced
663	// policy must define the same policy type. For complete details of
664	// MaintenancePolicy, please refer to go/cloud-saas-mw-ug.
665	MaintenancePolicyNames map[string]string `json:"maintenancePolicyNames,omitempty"`
666
667	// MaintenanceSchedules: The MaintenanceSchedule contains the scheduling
668	// information of published maintenance schedule.
669	MaintenanceSchedules map[string]GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule `json:"maintenanceSchedules,omitempty"`
670
671	// MaintenanceSettings: Optional. The MaintenanceSettings associated
672	// with instance.
673	MaintenanceSettings *GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings `json:"maintenanceSettings,omitempty"`
674
675	// Name: Unique name of the resource. It uses the form:
676	// `projects/{project_id}/locations/{location_id}/instances/{instance_id}
677	// `
678	Name string `json:"name,omitempty"`
679
680	// ProducerMetadata: Output only. Custom string attributes used
681	// primarily to expose producer-specific information in monitoring
682	// dashboards. See go/get-instance-metadata.
683	ProducerMetadata map[string]string `json:"producerMetadata,omitempty"`
684
685	// ProvisionedResources: Output only. The list of data plane resources
686	// provisioned for this instance, e.g. compute VMs. See
687	// go/get-instance-metadata.
688	ProvisionedResources []*GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource `json:"provisionedResources,omitempty"`
689
690	// SlmInstanceTemplate: Link to the SLM instance template. Only
691	// populated when updating SLM instances via SSA's Actuation service
692	// adaptor. Service producers with custom control plane (e.g. Cloud SQL)
693	// doesn't need to populate this field. Instead they should use
694	// software_versions.
695	SlmInstanceTemplate string `json:"slmInstanceTemplate,omitempty"`
696
697	// SloMetadata: Output only. SLO metadata for instance classification in
698	// the Standardized dataplane SLO platform. See
699	// go/cloud-ssa-standard-slo for feature description.
700	SloMetadata *GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata `json:"sloMetadata,omitempty"`
701
702	// SoftwareVersions: Software versions that are used to deploy this
703	// instance. This can be mutated by rollout services.
704	SoftwareVersions map[string]string `json:"softwareVersions,omitempty"`
705
706	// State: Output only. Current lifecycle state of the resource (e.g. if
707	// it's being created or ready to use).
708	//
709	// Possible values:
710	//   "STATE_UNSPECIFIED" - Unspecified state.
711	//   "CREATING" - Instance is being created.
712	//   "READY" - Instance has been created and is ready to use.
713	//   "UPDATING" - Instance is being updated.
714	//   "REPAIRING" - Instance is unheathy and under repair.
715	//   "DELETING" - Instance is being deleted.
716	//   "ERROR" - Instance encountered an error and is in indeterministic
717	// state.
718	State string `json:"state,omitempty"`
719
720	// TenantProjectId: Output only. ID of the associated GCP tenant
721	// project. See go/get-instance-metadata.
722	TenantProjectId string `json:"tenantProjectId,omitempty"`
723
724	// UpdateTime: Output only. Timestamp when the resource was last
725	// modified.
726	UpdateTime string `json:"updateTime,omitempty"`
727
728	// ForceSendFields is a list of field names (e.g. "ConsumerDefinedName")
729	// to unconditionally include in API requests. By default, fields with
730	// empty values are omitted from API requests. However, any non-pointer,
731	// non-interface field appearing in ForceSendFields will be sent to the
732	// server regardless of whether the field is empty or not. This may be
733	// used to include empty fields in Patch requests.
734	ForceSendFields []string `json:"-"`
735
736	// NullFields is a list of field names (e.g. "ConsumerDefinedName") to
737	// include in API requests with the JSON null value. By default, fields
738	// with empty values are omitted from API requests. However, any field
739	// with an empty value appearing in NullFields will be sent to the
740	// server as null. It is an error if a field in this list has a
741	// non-empty value. This may be used to include null fields in Patch
742	// requests.
743	NullFields []string `json:"-"`
744}
745
746func (s *GoogleCloudSaasacceleratorManagementProvidersV1Instance) MarshalJSON() ([]byte, error) {
747	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1Instance
748	raw := NoMethod(*s)
749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
750}
751
752// GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule:
753// Maintenance schedule which is exposed to customer and potentially end
754// user, indicating published upcoming future maintenance schedule
755type GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule struct {
756	// CanReschedule: Can this scheduled update be rescheduled? By default,
757	// it's true and API needs to do explicitly check whether it's set, if
758	// it's set as false explicitly, it's false
759	CanReschedule bool `json:"canReschedule,omitempty"`
760
761	// EndTime: The scheduled end time for the maintenance.
762	EndTime string `json:"endTime,omitempty"`
763
764	// RolloutManagementPolicy: The rollout management policy this
765	// maintenance schedule is associated with. When doing reschedule update
766	// request, the reschedule should be against this given policy.
767	RolloutManagementPolicy string `json:"rolloutManagementPolicy,omitempty"`
768
769	// StartTime: The scheduled start time for the maintenance.
770	StartTime string `json:"startTime,omitempty"`
771
772	// ForceSendFields is a list of field names (e.g. "CanReschedule") to
773	// unconditionally include in API requests. By default, fields with
774	// empty values are omitted from API requests. However, any non-pointer,
775	// non-interface field appearing in ForceSendFields will be sent to the
776	// server regardless of whether the field is empty or not. This may be
777	// used to include empty fields in Patch requests.
778	ForceSendFields []string `json:"-"`
779
780	// NullFields is a list of field names (e.g. "CanReschedule") to include
781	// in API requests with the JSON null value. By default, fields with
782	// empty values are omitted from API requests. However, any field with
783	// an empty value appearing in NullFields will be sent to the server as
784	// null. It is an error if a field in this list has a non-empty value.
785	// This may be used to include null fields in Patch requests.
786	NullFields []string `json:"-"`
787}
788
789func (s *GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule) MarshalJSON() ([]byte, error) {
790	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule
791	raw := NoMethod(*s)
792	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
793}
794
795// GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings:
796// Maintenance settings associated with instance. Allows service
797// producers and end users to assign settings that controls maintenance
798// on this instance.
799type GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings struct {
800	// Exclude: Optional. Exclude instance from maintenance. When true,
801	// rollout service will not attempt maintenance on the instance. Rollout
802	// service will include the instance in reported rollout progress as not
803	// attempted.
804	Exclude bool `json:"exclude,omitempty"`
805
806	// ForceSendFields is a list of field names (e.g. "Exclude") to
807	// unconditionally include in API requests. By default, fields with
808	// empty values are omitted from API requests. However, any non-pointer,
809	// non-interface field appearing in ForceSendFields will be sent to the
810	// server regardless of whether the field is empty or not. This may be
811	// used to include empty fields in Patch requests.
812	ForceSendFields []string `json:"-"`
813
814	// NullFields is a list of field names (e.g. "Exclude") to include in
815	// API requests with the JSON null value. By default, fields with empty
816	// values are omitted from API requests. However, any field with an
817	// empty value appearing in NullFields will be sent to the server as
818	// null. It is an error if a field in this list has a non-empty value.
819	// This may be used to include null fields in Patch requests.
820	NullFields []string `json:"-"`
821}
822
823func (s *GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings) MarshalJSON() ([]byte, error) {
824	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings
825	raw := NoMethod(*s)
826	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
827}
828
829// GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata: Node
830// information for custom per-node SLO implementations. SSA does not
831// support per-node SLO, but producers can populate per-node information
832// in SloMetadata for custom precomputations. SSA Eligibility Exporter
833// will emit per-node metric based on this information.
834type GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata struct {
835	// Exclusions: By default node is eligible if instance is eligible. But
836	// individual node might be excluded from SLO by adding entry here. For
837	// semantic see SloMetadata.exclusions. If both instance and node level
838	// exclusions are present for time period, the node level's reason will
839	// be reported by Eligibility Exporter.
840	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
841
842	// Location: The location of the node, if different from instance
843	// location.
844	Location string `json:"location,omitempty"`
845
846	// NodeId: The id of the node. This should be equal to
847	// SaasInstanceNode.node_id.
848	NodeId string `json:"nodeId,omitempty"`
849
850	// ForceSendFields is a list of field names (e.g. "Exclusions") to
851	// unconditionally include in API requests. By default, fields with
852	// empty values are omitted from API requests. However, any non-pointer,
853	// non-interface field appearing in ForceSendFields will be sent to the
854	// server regardless of whether the field is empty or not. This may be
855	// used to include empty fields in Patch requests.
856	ForceSendFields []string `json:"-"`
857
858	// NullFields is a list of field names (e.g. "Exclusions") to include in
859	// API requests with the JSON null value. By default, fields with empty
860	// values are omitted from API requests. However, any field with an
861	// empty value appearing in NullFields will be sent to the server as
862	// null. It is an error if a field in this list has a non-empty value.
863	// This may be used to include null fields in Patch requests.
864	NullFields []string `json:"-"`
865}
866
867func (s *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) MarshalJSON() ([]byte, error) {
868	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
869	raw := NoMethod(*s)
870	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
871}
872
873// GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource:
874// Describes provisioned dataplane resources.
875type GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource struct {
876	// ResourceType: Type of the resource. This can be either a GCP resource
877	// or a custom one (e.g. another cloud provider's VM). For GCP compute
878	// resources use singular form of the names listed in GCP compute API
879	// documentation
880	// (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed
881	// with 'compute-', for example: 'compute-instance', 'compute-disk',
882	// 'compute-autoscaler'.
883	ResourceType string `json:"resourceType,omitempty"`
884
885	// ResourceUrl: URL identifying the resource, e.g.
886	// "https://www.googleapis.com/compute/v1/projects/...)".
887	ResourceUrl string `json:"resourceUrl,omitempty"`
888
889	// ForceSendFields is a list of field names (e.g. "ResourceType") to
890	// unconditionally include in API requests. By default, fields with
891	// empty values are omitted from API requests. However, any non-pointer,
892	// non-interface field appearing in ForceSendFields will be sent to the
893	// server regardless of whether the field is empty or not. This may be
894	// used to include empty fields in Patch requests.
895	ForceSendFields []string `json:"-"`
896
897	// NullFields is a list of field names (e.g. "ResourceType") to include
898	// in API requests with the JSON null value. By default, fields with
899	// empty values are omitted from API requests. However, any field with
900	// an empty value appearing in NullFields will be sent to the server as
901	// null. It is an error if a field in this list has a non-empty value.
902	// This may be used to include null fields in Patch requests.
903	NullFields []string `json:"-"`
904}
905
906func (s *GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource) MarshalJSON() ([]byte, error) {
907	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource
908	raw := NoMethod(*s)
909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
910}
911
912// GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility:
913// SloEligibility is a tuple containing eligibility value: true if an
914// instance is eligible for SLO calculation or false if it should be
915// excluded from all SLO-related calculations along with a user-defined
916// reason.
917type GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility struct {
918	// Eligible: Whether an instance is eligible or ineligible.
919	Eligible bool `json:"eligible,omitempty"`
920
921	// Reason: User-defined reason for the current value of instance
922	// eligibility. Usually, this can be directly mapped to the internal
923	// state. An empty reason is allowed.
924	Reason string `json:"reason,omitempty"`
925
926	// ForceSendFields is a list of field names (e.g. "Eligible") to
927	// unconditionally include in API requests. By default, fields with
928	// empty values are omitted from API requests. However, any non-pointer,
929	// non-interface field appearing in ForceSendFields will be sent to the
930	// server regardless of whether the field is empty or not. This may be
931	// used to include empty fields in Patch requests.
932	ForceSendFields []string `json:"-"`
933
934	// NullFields is a list of field names (e.g. "Eligible") to include in
935	// API requests with the JSON null value. By default, fields with empty
936	// values are omitted from API requests. However, any field with an
937	// empty value appearing in NullFields will be sent to the server as
938	// null. It is an error if a field in this list has a non-empty value.
939	// This may be used to include null fields in Patch requests.
940	NullFields []string `json:"-"`
941}
942
943func (s *GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility) MarshalJSON() ([]byte, error) {
944	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility
945	raw := NoMethod(*s)
946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
947}
948
949// GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion:
950// SloExclusion represents an exclusion in SLI calculation applies to
951// all SLOs.
952type GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion struct {
953	// Duration: Exclusion duration. No restrictions on the possible values.
954	// When an ongoing operation is taking longer than initially expected,
955	// an existing entry in the exclusion list can be updated by extending
956	// the duration. This is supported by the subsystem exporting
957	// eligibility data as long as such extension is committed at least 10
958	// minutes before the original exclusion expiration - otherwise it is
959	// possible that there will be "gaps" in the exclusion application in
960	// the exported timeseries.
961	Duration string `json:"duration,omitempty"`
962
963	// Reason: Human-readable reason for the exclusion. This should be a
964	// static string (e.g. "Disruptive update in progress") and should not
965	// contain dynamically generated data (e.g. instance name). Can be left
966	// empty.
967	Reason string `json:"reason,omitempty"`
968
969	// SliName: Name of an SLI that this exclusion applies to. Can be left
970	// empty, signaling that the instance should be excluded from all SLIs
971	// defined in the service SLO configuration.
972	SliName string `json:"sliName,omitempty"`
973
974	// StartTime: Start time of the exclusion. No alignment (e.g. to a full
975	// minute) needed.
976	StartTime string `json:"startTime,omitempty"`
977
978	// ForceSendFields is a list of field names (e.g. "Duration") to
979	// unconditionally include in API requests. By default, fields with
980	// empty values are omitted from API requests. However, any non-pointer,
981	// non-interface field appearing in ForceSendFields will be sent to the
982	// server regardless of whether the field is empty or not. This may be
983	// used to include empty fields in Patch requests.
984	ForceSendFields []string `json:"-"`
985
986	// NullFields is a list of field names (e.g. "Duration") to include in
987	// API requests with the JSON null value. By default, fields with empty
988	// values are omitted from API requests. However, any field with an
989	// empty value appearing in NullFields will be sent to the server as
990	// null. It is an error if a field in this list has a non-empty value.
991	// This may be used to include null fields in Patch requests.
992	NullFields []string `json:"-"`
993}
994
995func (s *GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion) MarshalJSON() ([]byte, error) {
996	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion
997	raw := NoMethod(*s)
998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
999}
1000
1001// GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata:
1002// SloMetadata contains resources required for proper SLO classification
1003// of the instance.
1004type GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata struct {
1005	// Eligibility: Optional. User-defined instance eligibility.
1006	Eligibility *GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility `json:"eligibility,omitempty"`
1007
1008	// Exclusions: List of SLO exclusion windows. When multiple entries in
1009	// the list match (matching the exclusion time-window against current
1010	// time point) the exclusion reason used in the first matching entry
1011	// will be published. It is not needed to include expired exclusion in
1012	// this list, as only the currently applicable exclusions are taken into
1013	// account by the eligibility exporting subsystem (the historical state
1014	// of exclusions will be reflected in the historically produced
1015	// timeseries regardless of the current state). This field can be used
1016	// to mark the instance as temporary ineligible for the purpose of SLO
1017	// calculation. For permanent instance SLO exclusion, use of custom
1018	// instance eligibility is recommended. See 'eligibility' field below.
1019	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
1020
1021	// Nodes: Optional. List of nodes. Some producers need to use per-node
1022	// metadata to calculate SLO. This field allows such producers to
1023	// publish per-node SLO meta data, which will be consumed by SSA
1024	// Eligibility Exporter and published in the form of per node metric to
1025	// Monarch.
1026	Nodes []*GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata `json:"nodes,omitempty"`
1027
1028	// Tier: Name of the SLO tier the Instance belongs to. This name will be
1029	// expected to match the tiers specified in the service SLO
1030	// configuration. Field is mandatory and must not be empty.
1031	Tier string `json:"tier,omitempty"`
1032
1033	// ForceSendFields is a list of field names (e.g. "Eligibility") to
1034	// unconditionally include in API requests. By default, fields with
1035	// empty values are omitted from API requests. However, any non-pointer,
1036	// non-interface field appearing in ForceSendFields will be sent to the
1037	// server regardless of whether the field is empty or not. This may be
1038	// used to include empty fields in Patch requests.
1039	ForceSendFields []string `json:"-"`
1040
1041	// NullFields is a list of field names (e.g. "Eligibility") to include
1042	// in API requests with the JSON null value. By default, fields with
1043	// empty values are omitted from API requests. However, any field with
1044	// an empty value appearing in NullFields will be sent to the server as
1045	// null. It is an error if a field in this list has a non-empty value.
1046	// This may be used to include null fields in Patch requests.
1047	NullFields []string `json:"-"`
1048}
1049
1050func (s *GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata) MarshalJSON() ([]byte, error) {
1051	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
1052	raw := NoMethod(*s)
1053	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1054}
1055
1056// ListDomainsResponse: Response message for ListDomains
1057type ListDomainsResponse struct {
1058	// Domains: A list of Managed Identities Service domains in the project.
1059	Domains []*Domain `json:"domains,omitempty"`
1060
1061	// NextPageToken: A token to retrieve the next page of results, or empty
1062	// if there are no more results in the list.
1063	NextPageToken string `json:"nextPageToken,omitempty"`
1064
1065	// Unreachable: A list of locations that could not be reached.
1066	Unreachable []string `json:"unreachable,omitempty"`
1067
1068	// ServerResponse contains the HTTP response code and headers from the
1069	// server.
1070	googleapi.ServerResponse `json:"-"`
1071
1072	// ForceSendFields is a list of field names (e.g. "Domains") to
1073	// unconditionally include in API requests. By default, fields with
1074	// empty values are omitted from API requests. However, any non-pointer,
1075	// non-interface field appearing in ForceSendFields will be sent to the
1076	// server regardless of whether the field is empty or not. This may be
1077	// used to include empty fields in Patch requests.
1078	ForceSendFields []string `json:"-"`
1079
1080	// NullFields is a list of field names (e.g. "Domains") to include in
1081	// API requests with the JSON null value. By default, fields with empty
1082	// values are omitted from API requests. However, any field with an
1083	// empty value appearing in NullFields will be sent to the server as
1084	// null. It is an error if a field in this list has a non-empty value.
1085	// This may be used to include null fields in Patch requests.
1086	NullFields []string `json:"-"`
1087}
1088
1089func (s *ListDomainsResponse) MarshalJSON() ([]byte, error) {
1090	type NoMethod ListDomainsResponse
1091	raw := NoMethod(*s)
1092	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1093}
1094
1095// ListLocationsResponse: The response message for
1096// Locations.ListLocations.
1097type ListLocationsResponse struct {
1098	// Locations: A list of locations that matches the specified filter in
1099	// the request.
1100	Locations []*Location `json:"locations,omitempty"`
1101
1102	// NextPageToken: The standard List next-page token.
1103	NextPageToken string `json:"nextPageToken,omitempty"`
1104
1105	// ServerResponse contains the HTTP response code and headers from the
1106	// server.
1107	googleapi.ServerResponse `json:"-"`
1108
1109	// ForceSendFields is a list of field names (e.g. "Locations") to
1110	// unconditionally include in API requests. By default, fields with
1111	// empty values are omitted from API requests. However, any non-pointer,
1112	// non-interface field appearing in ForceSendFields will be sent to the
1113	// server regardless of whether the field is empty or not. This may be
1114	// used to include empty fields in Patch requests.
1115	ForceSendFields []string `json:"-"`
1116
1117	// NullFields is a list of field names (e.g. "Locations") to include in
1118	// API requests with the JSON null value. By default, fields with empty
1119	// values are omitted from API requests. However, any field with an
1120	// empty value appearing in NullFields will be sent to the server as
1121	// null. It is an error if a field in this list has a non-empty value.
1122	// This may be used to include null fields in Patch requests.
1123	NullFields []string `json:"-"`
1124}
1125
1126func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
1127	type NoMethod ListLocationsResponse
1128	raw := NoMethod(*s)
1129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1130}
1131
1132// ListOperationsResponse: The response message for
1133// Operations.ListOperations.
1134type ListOperationsResponse struct {
1135	// NextPageToken: The standard List next-page token.
1136	NextPageToken string `json:"nextPageToken,omitempty"`
1137
1138	// Operations: A list of operations that matches the specified filter in
1139	// the request.
1140	Operations []*Operation `json:"operations,omitempty"`
1141
1142	// ServerResponse contains the HTTP response code and headers from the
1143	// server.
1144	googleapi.ServerResponse `json:"-"`
1145
1146	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1147	// unconditionally include in API requests. By default, fields with
1148	// empty values are omitted from API requests. However, any non-pointer,
1149	// non-interface field appearing in ForceSendFields will be sent to the
1150	// server regardless of whether the field is empty or not. This may be
1151	// used to include empty fields in Patch requests.
1152	ForceSendFields []string `json:"-"`
1153
1154	// NullFields is a list of field names (e.g. "NextPageToken") to include
1155	// in API requests with the JSON null value. By default, fields with
1156	// empty values are omitted from API requests. However, any field with
1157	// an empty value appearing in NullFields will be sent to the server as
1158	// null. It is an error if a field in this list has a non-empty value.
1159	// This may be used to include null fields in Patch requests.
1160	NullFields []string `json:"-"`
1161}
1162
1163func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
1164	type NoMethod ListOperationsResponse
1165	raw := NoMethod(*s)
1166	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1167}
1168
1169// Location: A resource that represents Google Cloud Platform location.
1170type Location struct {
1171	// DisplayName: The friendly name for this location, typically a nearby
1172	// city name. For example, "Tokyo".
1173	DisplayName string `json:"displayName,omitempty"`
1174
1175	// Labels: Cross-service attributes for the location. For example
1176	// {"cloud.googleapis.com/region": "us-east1"}
1177	Labels map[string]string `json:"labels,omitempty"`
1178
1179	// LocationId: The canonical id for this location. For example:
1180	// "us-east1".
1181	LocationId string `json:"locationId,omitempty"`
1182
1183	// Metadata: Service-specific metadata. For example the available
1184	// capacity at the given location.
1185	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
1186
1187	// Name: Resource name for the location, which may vary between
1188	// implementations. For example:
1189	// "projects/example-project/locations/us-east1"
1190	Name string `json:"name,omitempty"`
1191
1192	// ServerResponse contains the HTTP response code and headers from the
1193	// server.
1194	googleapi.ServerResponse `json:"-"`
1195
1196	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1197	// unconditionally include in API requests. By default, fields with
1198	// empty values are omitted from API requests. However, any non-pointer,
1199	// non-interface field appearing in ForceSendFields will be sent to the
1200	// server regardless of whether the field is empty or not. This may be
1201	// used to include empty fields in Patch requests.
1202	ForceSendFields []string `json:"-"`
1203
1204	// NullFields is a list of field names (e.g. "DisplayName") to include
1205	// in API requests with the JSON null value. By default, fields with
1206	// empty values are omitted from API requests. However, any field with
1207	// an empty value appearing in NullFields will be sent to the server as
1208	// null. It is an error if a field in this list has a non-empty value.
1209	// This may be used to include null fields in Patch requests.
1210	NullFields []string `json:"-"`
1211}
1212
1213func (s *Location) MarshalJSON() ([]byte, error) {
1214	type NoMethod Location
1215	raw := NoMethod(*s)
1216	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1217}
1218
1219// Operation: This resource represents a long-running operation that is
1220// the result of a network API call.
1221type Operation struct {
1222	// Done: If the value is `false`, it means the operation is still in
1223	// progress. If `true`, the operation is completed, and either `error`
1224	// or `response` is available.
1225	Done bool `json:"done,omitempty"`
1226
1227	// Error: The error result of the operation in case of failure or
1228	// cancellation.
1229	Error *Status `json:"error,omitempty"`
1230
1231	// Metadata: Service-specific metadata associated with the operation. It
1232	// typically contains progress information and common metadata such as
1233	// create time. Some services might not provide such metadata. Any
1234	// method that returns a long-running operation should document the
1235	// metadata type, if any.
1236	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
1237
1238	// Name: The server-assigned name, which is only unique within the same
1239	// service that originally returns it. If you use the default HTTP
1240	// mapping, the `name` should be a resource name ending with
1241	// `operations/{unique_id}`.
1242	Name string `json:"name,omitempty"`
1243
1244	// Response: The normal response of the operation in case of success. If
1245	// the original method returns no data on success, such as `Delete`, the
1246	// response is `google.protobuf.Empty`. If the original method is
1247	// standard `Get`/`Create`/`Update`, the response should be the
1248	// resource. For other methods, the response should have the type
1249	// `XxxResponse`, where `Xxx` is the original method name. For example,
1250	// if the original method name is `TakeSnapshot()`, the inferred
1251	// response type is `TakeSnapshotResponse`.
1252	Response googleapi.RawMessage `json:"response,omitempty"`
1253
1254	// ServerResponse contains the HTTP response code and headers from the
1255	// server.
1256	googleapi.ServerResponse `json:"-"`
1257
1258	// ForceSendFields is a list of field names (e.g. "Done") to
1259	// unconditionally include in API requests. By default, fields with
1260	// empty values are omitted from API requests. However, any non-pointer,
1261	// non-interface field appearing in ForceSendFields will be sent to the
1262	// server regardless of whether the field is empty or not. This may be
1263	// used to include empty fields in Patch requests.
1264	ForceSendFields []string `json:"-"`
1265
1266	// NullFields is a list of field names (e.g. "Done") to include in API
1267	// requests with the JSON null value. By default, fields with empty
1268	// values are omitted from API requests. However, any field with an
1269	// empty value appearing in NullFields will be sent to the server as
1270	// null. It is an error if a field in this list has a non-empty value.
1271	// This may be used to include null fields in Patch requests.
1272	NullFields []string `json:"-"`
1273}
1274
1275func (s *Operation) MarshalJSON() ([]byte, error) {
1276	type NoMethod Operation
1277	raw := NoMethod(*s)
1278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1279}
1280
1281// OperationMetadata: Represents the metadata of the long-running
1282// operation.
1283type OperationMetadata struct {
1284	// ApiVersion: [Output only] API version used to start the operation.
1285	ApiVersion string `json:"apiVersion,omitempty"`
1286
1287	// CancelRequested: [Output only] Identifies whether the user has
1288	// requested cancellation of the operation. Operations that have
1289	// successfully been cancelled have Operation.error value with a
1290	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
1291	CancelRequested bool `json:"cancelRequested,omitempty"`
1292
1293	// CreateTime: [Output only] The time the operation was created.
1294	CreateTime string `json:"createTime,omitempty"`
1295
1296	// EndTime: [Output only] The time the operation finished running.
1297	EndTime string `json:"endTime,omitempty"`
1298
1299	// StatusDetail: [Output only] Human-readable status of the operation,
1300	// if any.
1301	StatusDetail string `json:"statusDetail,omitempty"`
1302
1303	// Target: [Output only] Server-defined resource path for the target of
1304	// the operation.
1305	Target string `json:"target,omitempty"`
1306
1307	// Verb: [Output only] Name of the verb executed by the operation.
1308	Verb string `json:"verb,omitempty"`
1309
1310	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
1311	// unconditionally include in API requests. By default, fields with
1312	// empty values are omitted from API requests. However, any non-pointer,
1313	// non-interface field appearing in ForceSendFields will be sent to the
1314	// server regardless of whether the field is empty or not. This may be
1315	// used to include empty fields in Patch requests.
1316	ForceSendFields []string `json:"-"`
1317
1318	// NullFields is a list of field names (e.g. "ApiVersion") to include in
1319	// API requests with the JSON null value. By default, fields with empty
1320	// values are omitted from API requests. However, any field with an
1321	// empty value appearing in NullFields will be sent to the server as
1322	// null. It is an error if a field in this list has a non-empty value.
1323	// This may be used to include null fields in Patch requests.
1324	NullFields []string `json:"-"`
1325}
1326
1327func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
1328	type NoMethod OperationMetadata
1329	raw := NoMethod(*s)
1330	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1331}
1332
1333// Policy: An Identity and Access Management (IAM) policy, which
1334// specifies access controls for Google Cloud resources. A `Policy` is a
1335// collection of `bindings`. A `binding` binds one or more `members` to
1336// a single `role`. Members can be user accounts, service accounts,
1337// Google groups, and domains (such as G Suite). A `role` is a named
1338// list of permissions; each `role` can be an IAM predefined role or a
1339// user-created custom role. For some types of Google Cloud resources, a
1340// `binding` can also specify a `condition`, which is a logical
1341// expression that allows access to a resource only if the expression
1342// evaluates to `true`. A condition can add constraints based on
1343// attributes of the request, the resource, or both. To learn which
1344// resources support conditions in their IAM policies, see the [IAM
1345// documentation](https://cloud.google.com/iam/help/conditions/resource-p
1346// olicies). **JSON example:** { "bindings": [ { "role":
1347// "roles/resourcemanager.organizationAdmin", "members": [
1348// "user:mike@example.com", "group:admins@example.com",
1349// "domain:google.com",
1350// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
1351// "role": "roles/resourcemanager.organizationViewer", "members": [
1352// "user:eve@example.com" ], "condition": { "title": "expirable access",
1353// "description": "Does not grant access after Sep 2020", "expression":
1354// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
1355// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
1356// members: - user:mike@example.com - group:admins@example.com -
1357// domain:google.com -
1358// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
1359// roles/resourcemanager.organizationAdmin - members: -
1360// user:eve@example.com role: roles/resourcemanager.organizationViewer
1361// condition: title: expirable access description: Does not grant access
1362// after Sep 2020 expression: request.time <
1363// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
1364// 3 For a description of IAM and its features, see the [IAM
1365// documentation](https://cloud.google.com/iam/docs/).
1366type Policy struct {
1367	// Bindings: Associates a list of `members` to a `role`. Optionally, may
1368	// specify a `condition` that determines how and when the `bindings` are
1369	// applied. Each of the `bindings` must contain at least one member.
1370	Bindings []*Binding `json:"bindings,omitempty"`
1371
1372	// Etag: `etag` is used for optimistic concurrency control as a way to
1373	// help prevent simultaneous updates of a policy from overwriting each
1374	// other. It is strongly suggested that systems make use of the `etag`
1375	// in the read-modify-write cycle to perform policy updates in order to
1376	// avoid race conditions: An `etag` is returned in the response to
1377	// `getIamPolicy`, and systems are expected to put that etag in the
1378	// request to `setIamPolicy` to ensure that their change will be applied
1379	// to the same version of the policy. **Important:** If you use IAM
1380	// Conditions, you must include the `etag` field whenever you call
1381	// `setIamPolicy`. If you omit this field, then IAM allows you to
1382	// overwrite a version `3` policy with a version `1` policy, and all of
1383	// the conditions in the version `3` policy are lost.
1384	Etag string `json:"etag,omitempty"`
1385
1386	// Version: Specifies the format of the policy. Valid values are `0`,
1387	// `1`, and `3`. Requests that specify an invalid value are rejected.
1388	// Any operation that affects conditional role bindings must specify
1389	// version `3`. This requirement applies to the following operations: *
1390	// Getting a policy that includes a conditional role binding * Adding a
1391	// conditional role binding to a policy * Changing a conditional role
1392	// binding in a policy * Removing any role binding, with or without a
1393	// condition, from a policy that includes conditions **Important:** If
1394	// you use IAM Conditions, you must include the `etag` field whenever
1395	// you call `setIamPolicy`. If you omit this field, then IAM allows you
1396	// to overwrite a version `3` policy with a version `1` policy, and all
1397	// of the conditions in the version `3` policy are lost. If a policy
1398	// does not include any conditions, operations on that policy may
1399	// specify any valid version or leave the field unset. To learn which
1400	// resources support conditions in their IAM policies, see the [IAM
1401	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
1402	// olicies).
1403	Version int64 `json:"version,omitempty"`
1404
1405	// ServerResponse contains the HTTP response code and headers from the
1406	// server.
1407	googleapi.ServerResponse `json:"-"`
1408
1409	// ForceSendFields is a list of field names (e.g. "Bindings") to
1410	// unconditionally include in API requests. By default, fields with
1411	// empty values are omitted from API requests. However, any non-pointer,
1412	// non-interface field appearing in ForceSendFields will be sent to the
1413	// server regardless of whether the field is empty or not. This may be
1414	// used to include empty fields in Patch requests.
1415	ForceSendFields []string `json:"-"`
1416
1417	// NullFields is a list of field names (e.g. "Bindings") to include in
1418	// API requests with the JSON null value. By default, fields with empty
1419	// values are omitted from API requests. However, any field with an
1420	// empty value appearing in NullFields will be sent to the server as
1421	// null. It is an error if a field in this list has a non-empty value.
1422	// This may be used to include null fields in Patch requests.
1423	NullFields []string `json:"-"`
1424}
1425
1426func (s *Policy) MarshalJSON() ([]byte, error) {
1427	type NoMethod Policy
1428	raw := NoMethod(*s)
1429	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1430}
1431
1432// ReconfigureTrustRequest: Request message for ReconfigureTrust
1433type ReconfigureTrustRequest struct {
1434	// TargetDnsIpAddresses: Required. The target DNS server IP addresses to
1435	// resolve the remote domain involved in the trust.
1436	TargetDnsIpAddresses []string `json:"targetDnsIpAddresses,omitempty"`
1437
1438	// TargetDomainName: Required. The fully-qualified target domain name
1439	// which will be in trust with current domain.
1440	TargetDomainName string `json:"targetDomainName,omitempty"`
1441
1442	// ForceSendFields is a list of field names (e.g.
1443	// "TargetDnsIpAddresses") to unconditionally include in API requests.
1444	// By default, fields with empty values are omitted from API requests.
1445	// However, any non-pointer, non-interface field appearing in
1446	// ForceSendFields will be sent to the server regardless of whether the
1447	// field is empty or not. This may be used to include empty fields in
1448	// Patch requests.
1449	ForceSendFields []string `json:"-"`
1450
1451	// NullFields is a list of field names (e.g. "TargetDnsIpAddresses") to
1452	// include in API requests with the JSON null value. By default, fields
1453	// with empty values are omitted from API requests. However, any field
1454	// with an empty value appearing in NullFields will be sent to the
1455	// server as null. It is an error if a field in this list has a
1456	// non-empty value. This may be used to include null fields in Patch
1457	// requests.
1458	NullFields []string `json:"-"`
1459}
1460
1461func (s *ReconfigureTrustRequest) MarshalJSON() ([]byte, error) {
1462	type NoMethod ReconfigureTrustRequest
1463	raw := NoMethod(*s)
1464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1465}
1466
1467// ResetAdminPasswordRequest: Request message for ResetAdminPassword
1468type ResetAdminPasswordRequest struct {
1469}
1470
1471// ResetAdminPasswordResponse: Response message for ResetAdminPassword
1472type ResetAdminPasswordResponse struct {
1473	// Password: A random password. See admin for more information.
1474	Password string `json:"password,omitempty"`
1475
1476	// ServerResponse contains the HTTP response code and headers from the
1477	// server.
1478	googleapi.ServerResponse `json:"-"`
1479
1480	// ForceSendFields is a list of field names (e.g. "Password") to
1481	// unconditionally include in API requests. By default, fields with
1482	// empty values are omitted from API requests. However, any non-pointer,
1483	// non-interface field appearing in ForceSendFields will be sent to the
1484	// server regardless of whether the field is empty or not. This may be
1485	// used to include empty fields in Patch requests.
1486	ForceSendFields []string `json:"-"`
1487
1488	// NullFields is a list of field names (e.g. "Password") to include in
1489	// API requests with the JSON null value. By default, fields with empty
1490	// values are omitted from API requests. However, any field with an
1491	// empty value appearing in NullFields will be sent to the server as
1492	// null. It is an error if a field in this list has a non-empty value.
1493	// This may be used to include null fields in Patch requests.
1494	NullFields []string `json:"-"`
1495}
1496
1497func (s *ResetAdminPasswordResponse) MarshalJSON() ([]byte, error) {
1498	type NoMethod ResetAdminPasswordResponse
1499	raw := NoMethod(*s)
1500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1501}
1502
1503// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
1504type SetIamPolicyRequest struct {
1505	// Policy: REQUIRED: The complete policy to be applied to the
1506	// `resource`. The size of the policy is limited to a few 10s of KB. An
1507	// empty policy is a valid policy but certain Cloud Platform services
1508	// (such as Projects) might reject them.
1509	Policy *Policy `json:"policy,omitempty"`
1510
1511	// ForceSendFields is a list of field names (e.g. "Policy") to
1512	// unconditionally include in API requests. By default, fields with
1513	// empty values are omitted from API requests. However, any non-pointer,
1514	// non-interface field appearing in ForceSendFields will be sent to the
1515	// server regardless of whether the field is empty or not. This may be
1516	// used to include empty fields in Patch requests.
1517	ForceSendFields []string `json:"-"`
1518
1519	// NullFields is a list of field names (e.g. "Policy") to include in API
1520	// requests with the JSON null value. By default, fields with empty
1521	// values are omitted from API requests. However, any field with an
1522	// empty value appearing in NullFields will be sent to the server as
1523	// null. It is an error if a field in this list has a non-empty value.
1524	// This may be used to include null fields in Patch requests.
1525	NullFields []string `json:"-"`
1526}
1527
1528func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
1529	type NoMethod SetIamPolicyRequest
1530	raw := NoMethod(*s)
1531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1532}
1533
1534// Status: The `Status` type defines a logical error model that is
1535// suitable for different programming environments, including REST APIs
1536// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
1537// `Status` message contains three pieces of data: error code, error
1538// message, and error details. You can find out more about this error
1539// model and how to work with it in the [API Design
1540// Guide](https://cloud.google.com/apis/design/errors).
1541type Status struct {
1542	// Code: The status code, which should be an enum value of
1543	// google.rpc.Code.
1544	Code int64 `json:"code,omitempty"`
1545
1546	// Details: A list of messages that carry the error details. There is a
1547	// common set of message types for APIs to use.
1548	Details []googleapi.RawMessage `json:"details,omitempty"`
1549
1550	// Message: A developer-facing error message, which should be in
1551	// English. Any user-facing error message should be localized and sent
1552	// in the google.rpc.Status.details field, or localized by the client.
1553	Message string `json:"message,omitempty"`
1554
1555	// ForceSendFields is a list of field names (e.g. "Code") to
1556	// unconditionally include in API requests. By default, fields with
1557	// empty values are omitted from API requests. However, any non-pointer,
1558	// non-interface field appearing in ForceSendFields will be sent to the
1559	// server regardless of whether the field is empty or not. This may be
1560	// used to include empty fields in Patch requests.
1561	ForceSendFields []string `json:"-"`
1562
1563	// NullFields is a list of field names (e.g. "Code") to include in API
1564	// requests with the JSON null value. By default, fields with empty
1565	// values are omitted from API requests. However, any field with an
1566	// empty value appearing in NullFields will be sent to the server as
1567	// null. It is an error if a field in this list has a non-empty value.
1568	// This may be used to include null fields in Patch requests.
1569	NullFields []string `json:"-"`
1570}
1571
1572func (s *Status) MarshalJSON() ([]byte, error) {
1573	type NoMethod Status
1574	raw := NoMethod(*s)
1575	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1576}
1577
1578// TestIamPermissionsRequest: Request message for `TestIamPermissions`
1579// method.
1580type TestIamPermissionsRequest struct {
1581	// Permissions: The set of permissions to check for the `resource`.
1582	// Permissions with wildcards (such as '*' or 'storage.*') are not
1583	// allowed. For more information see [IAM
1584	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
1585	Permissions []string `json:"permissions,omitempty"`
1586
1587	// ForceSendFields is a list of field names (e.g. "Permissions") to
1588	// unconditionally include in API requests. By default, fields with
1589	// empty values are omitted from API requests. However, any non-pointer,
1590	// non-interface field appearing in ForceSendFields will be sent to the
1591	// server regardless of whether the field is empty or not. This may be
1592	// used to include empty fields in Patch requests.
1593	ForceSendFields []string `json:"-"`
1594
1595	// NullFields is a list of field names (e.g. "Permissions") to include
1596	// in API requests with the JSON null value. By default, fields with
1597	// empty values are omitted from API requests. However, any field with
1598	// an empty value appearing in NullFields will be sent to the server as
1599	// null. It is an error if a field in this list has a non-empty value.
1600	// This may be used to include null fields in Patch requests.
1601	NullFields []string `json:"-"`
1602}
1603
1604func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
1605	type NoMethod TestIamPermissionsRequest
1606	raw := NoMethod(*s)
1607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1608}
1609
1610// TestIamPermissionsResponse: Response message for `TestIamPermissions`
1611// method.
1612type TestIamPermissionsResponse struct {
1613	// Permissions: A subset of `TestPermissionsRequest.permissions` that
1614	// the caller is allowed.
1615	Permissions []string `json:"permissions,omitempty"`
1616
1617	// ServerResponse contains the HTTP response code and headers from the
1618	// server.
1619	googleapi.ServerResponse `json:"-"`
1620
1621	// ForceSendFields is a list of field names (e.g. "Permissions") to
1622	// unconditionally include in API requests. By default, fields with
1623	// empty values are omitted from API requests. However, any non-pointer,
1624	// non-interface field appearing in ForceSendFields will be sent to the
1625	// server regardless of whether the field is empty or not. This may be
1626	// used to include empty fields in Patch requests.
1627	ForceSendFields []string `json:"-"`
1628
1629	// NullFields is a list of field names (e.g. "Permissions") to include
1630	// in API requests with the JSON null value. By default, fields with
1631	// empty values are omitted from API requests. However, any field with
1632	// an empty value appearing in NullFields will be sent to the server as
1633	// null. It is an error if a field in this list has a non-empty value.
1634	// This may be used to include null fields in Patch requests.
1635	NullFields []string `json:"-"`
1636}
1637
1638func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
1639	type NoMethod TestIamPermissionsResponse
1640	raw := NoMethod(*s)
1641	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1642}
1643
1644// Trust: Represents a relationship between two domains. This allows a
1645// controller in one domain to authenticate a user in another domain.
1646type Trust struct {
1647	// CreateTime: Output only. The time the instance was created.
1648	CreateTime string `json:"createTime,omitempty"`
1649
1650	// LastTrustHeartbeatTime: Output only. The last heartbeat time when the
1651	// trust was known to be connected.
1652	LastTrustHeartbeatTime string `json:"lastTrustHeartbeatTime,omitempty"`
1653
1654	// SelectiveAuthentication: Optional. The trust authentication type,
1655	// which decides whether the trusted side has forest/domain wide access
1656	// or selective access to an approved set of resources.
1657	SelectiveAuthentication bool `json:"selectiveAuthentication,omitempty"`
1658
1659	// State: Output only. The current state of the trust.
1660	//
1661	// Possible values:
1662	//   "STATE_UNSPECIFIED" - Not set.
1663	//   "CREATING" - The domain trust is being created.
1664	//   "UPDATING" - The domain trust is being updated.
1665	//   "DELETING" - The domain trust is being deleted.
1666	//   "CONNECTED" - The domain trust is connected.
1667	//   "DISCONNECTED" - The domain trust is disconnected.
1668	State string `json:"state,omitempty"`
1669
1670	// StateDescription: Output only. Additional information about the
1671	// current state of the trust, if available.
1672	StateDescription string `json:"stateDescription,omitempty"`
1673
1674	// TargetDnsIpAddresses: Required. The target DNS server IP addresses
1675	// which can resolve the remote domain involved in the trust.
1676	TargetDnsIpAddresses []string `json:"targetDnsIpAddresses,omitempty"`
1677
1678	// TargetDomainName: Required. The fully qualified target domain name
1679	// which will be in trust with the current domain.
1680	TargetDomainName string `json:"targetDomainName,omitempty"`
1681
1682	// TrustDirection: Required. The trust direction, which decides if the
1683	// current domain is trusted, trusting, or both.
1684	//
1685	// Possible values:
1686	//   "TRUST_DIRECTION_UNSPECIFIED" - Not set.
1687	//   "INBOUND" - The inbound direction represents the trusting side.
1688	//   "OUTBOUND" - The outboud direction represents the trusted side.
1689	//   "BIDIRECTIONAL" - The bidirectional direction represents the
1690	// trusted / trusting side.
1691	TrustDirection string `json:"trustDirection,omitempty"`
1692
1693	// TrustHandshakeSecret: Required. The trust secret used for the
1694	// handshake with the target domain. This will not be stored.
1695	TrustHandshakeSecret string `json:"trustHandshakeSecret,omitempty"`
1696
1697	// TrustType: Required. The type of trust represented by the trust
1698	// resource.
1699	//
1700	// Possible values:
1701	//   "TRUST_TYPE_UNSPECIFIED" - Not set.
1702	//   "FOREST" - The forest trust.
1703	//   "EXTERNAL" - The external domain trust.
1704	TrustType string `json:"trustType,omitempty"`
1705
1706	// UpdateTime: Output only. The last update time.
1707	UpdateTime string `json:"updateTime,omitempty"`
1708
1709	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1710	// unconditionally include in API requests. By default, fields with
1711	// empty values are omitted from API requests. However, any non-pointer,
1712	// non-interface field appearing in ForceSendFields will be sent to the
1713	// server regardless of whether the field is empty or not. This may be
1714	// used to include empty fields in Patch requests.
1715	ForceSendFields []string `json:"-"`
1716
1717	// NullFields is a list of field names (e.g. "CreateTime") to include in
1718	// API requests with the JSON null value. By default, fields with empty
1719	// values are omitted from API requests. However, any field with an
1720	// empty value appearing in NullFields will be sent to the server as
1721	// null. It is an error if a field in this list has a non-empty value.
1722	// This may be used to include null fields in Patch requests.
1723	NullFields []string `json:"-"`
1724}
1725
1726func (s *Trust) MarshalJSON() ([]byte, error) {
1727	type NoMethod Trust
1728	raw := NoMethod(*s)
1729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1730}
1731
1732// ValidateTrustRequest: Request message for ValidateTrust
1733type ValidateTrustRequest struct {
1734	// Trust: Required. The domain trust to validate trust state for.
1735	Trust *Trust `json:"trust,omitempty"`
1736
1737	// ForceSendFields is a list of field names (e.g. "Trust") to
1738	// unconditionally include in API requests. By default, fields with
1739	// empty values are omitted from API requests. However, any non-pointer,
1740	// non-interface field appearing in ForceSendFields will be sent to the
1741	// server regardless of whether the field is empty or not. This may be
1742	// used to include empty fields in Patch requests.
1743	ForceSendFields []string `json:"-"`
1744
1745	// NullFields is a list of field names (e.g. "Trust") to include in API
1746	// requests with the JSON null value. By default, fields with empty
1747	// values are omitted from API requests. However, any field with an
1748	// empty value appearing in NullFields will be sent to the server as
1749	// null. It is an error if a field in this list has a non-empty value.
1750	// This may be used to include null fields in Patch requests.
1751	NullFields []string `json:"-"`
1752}
1753
1754func (s *ValidateTrustRequest) MarshalJSON() ([]byte, error) {
1755	type NoMethod ValidateTrustRequest
1756	raw := NoMethod(*s)
1757	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1758}
1759
1760// method id "managedidentities.projects.locations.get":
1761
1762type ProjectsLocationsGetCall struct {
1763	s            *Service
1764	name         string
1765	urlParams_   gensupport.URLParams
1766	ifNoneMatch_ string
1767	ctx_         context.Context
1768	header_      http.Header
1769}
1770
1771// Get: Gets information about a location.
1772func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
1773	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
1774	c.name = name
1775	return c
1776}
1777
1778// Fields allows partial responses to be retrieved. See
1779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
1780// for more information.
1781func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
1782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
1783	return c
1784}
1785
1786// IfNoneMatch sets the optional parameter which makes the operation
1787// fail if the object's ETag matches the given value. This is useful for
1788// getting updates only after the object has changed since the last
1789// request. Use googleapi.IsNotModified to check whether the response
1790// error from Do is the result of In-None-Match.
1791func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
1792	c.ifNoneMatch_ = entityTag
1793	return c
1794}
1795
1796// Context sets the context to be used in this call's Do method. Any
1797// pending HTTP request will be aborted if the provided context is
1798// canceled.
1799func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
1800	c.ctx_ = ctx
1801	return c
1802}
1803
1804// Header returns an http.Header that can be modified by the caller to
1805// add HTTP headers to the request.
1806func (c *ProjectsLocationsGetCall) Header() http.Header {
1807	if c.header_ == nil {
1808		c.header_ = make(http.Header)
1809	}
1810	return c.header_
1811}
1812
1813func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
1814	reqHeaders := make(http.Header)
1815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
1816	for k, v := range c.header_ {
1817		reqHeaders[k] = v
1818	}
1819	reqHeaders.Set("User-Agent", c.s.userAgent())
1820	if c.ifNoneMatch_ != "" {
1821		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
1822	}
1823	var body io.Reader = nil
1824	c.urlParams_.Set("alt", alt)
1825	c.urlParams_.Set("prettyPrint", "false")
1826	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
1827	urls += "?" + c.urlParams_.Encode()
1828	req, err := http.NewRequest("GET", urls, body)
1829	if err != nil {
1830		return nil, err
1831	}
1832	req.Header = reqHeaders
1833	googleapi.Expand(req.URL, map[string]string{
1834		"name": c.name,
1835	})
1836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
1837}
1838
1839// Do executes the "managedidentities.projects.locations.get" call.
1840// Exactly one of *Location or error will be non-nil. Any non-2xx status
1841// code is an error. Response headers are in either
1842// *Location.ServerResponse.Header or (if a response was returned at
1843// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
1844// to check whether the returned error was because
1845// http.StatusNotModified was returned.
1846func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
1847	gensupport.SetOptions(c.urlParams_, opts...)
1848	res, err := c.doRequest("json")
1849	if res != nil && res.StatusCode == http.StatusNotModified {
1850		if res.Body != nil {
1851			res.Body.Close()
1852		}
1853		return nil, &googleapi.Error{
1854			Code:   res.StatusCode,
1855			Header: res.Header,
1856		}
1857	}
1858	if err != nil {
1859		return nil, err
1860	}
1861	defer googleapi.CloseBody(res)
1862	if err := googleapi.CheckResponse(res); err != nil {
1863		return nil, err
1864	}
1865	ret := &Location{
1866		ServerResponse: googleapi.ServerResponse{
1867			Header:         res.Header,
1868			HTTPStatusCode: res.StatusCode,
1869		},
1870	}
1871	target := &ret
1872	if err := gensupport.DecodeResponse(target, res); err != nil {
1873		return nil, err
1874	}
1875	return ret, nil
1876	// {
1877	//   "description": "Gets information about a location.",
1878	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
1879	//   "httpMethod": "GET",
1880	//   "id": "managedidentities.projects.locations.get",
1881	//   "parameterOrder": [
1882	//     "name"
1883	//   ],
1884	//   "parameters": {
1885	//     "name": {
1886	//       "description": "Resource name for the location.",
1887	//       "location": "path",
1888	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
1889	//       "required": true,
1890	//       "type": "string"
1891	//     }
1892	//   },
1893	//   "path": "v1/{+name}",
1894	//   "response": {
1895	//     "$ref": "Location"
1896	//   },
1897	//   "scopes": [
1898	//     "https://www.googleapis.com/auth/cloud-platform"
1899	//   ]
1900	// }
1901
1902}
1903
1904// method id "managedidentities.projects.locations.list":
1905
1906type ProjectsLocationsListCall struct {
1907	s            *Service
1908	name         string
1909	urlParams_   gensupport.URLParams
1910	ifNoneMatch_ string
1911	ctx_         context.Context
1912	header_      http.Header
1913}
1914
1915// List: Lists information about the supported locations for this
1916// service.
1917func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
1918	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
1919	c.name = name
1920	return c
1921}
1922
1923// Filter sets the optional parameter "filter": The standard list
1924// filter.
1925func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
1926	c.urlParams_.Set("filter", filter)
1927	return c
1928}
1929
1930// IncludeUnrevealedLocations sets the optional parameter
1931// "includeUnrevealedLocations": If true, the returned list will include
1932// locations which are not yet revealed.
1933func (c *ProjectsLocationsListCall) IncludeUnrevealedLocations(includeUnrevealedLocations bool) *ProjectsLocationsListCall {
1934	c.urlParams_.Set("includeUnrevealedLocations", fmt.Sprint(includeUnrevealedLocations))
1935	return c
1936}
1937
1938// PageSize sets the optional parameter "pageSize": The standard list
1939// page size.
1940func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
1941	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
1942	return c
1943}
1944
1945// PageToken sets the optional parameter "pageToken": The standard list
1946// page token.
1947func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
1948	c.urlParams_.Set("pageToken", pageToken)
1949	return c
1950}
1951
1952// Fields allows partial responses to be retrieved. See
1953// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
1954// for more information.
1955func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
1956	c.urlParams_.Set("fields", googleapi.CombineFields(s))
1957	return c
1958}
1959
1960// IfNoneMatch sets the optional parameter which makes the operation
1961// fail if the object's ETag matches the given value. This is useful for
1962// getting updates only after the object has changed since the last
1963// request. Use googleapi.IsNotModified to check whether the response
1964// error from Do is the result of In-None-Match.
1965func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
1966	c.ifNoneMatch_ = entityTag
1967	return c
1968}
1969
1970// Context sets the context to be used in this call's Do method. Any
1971// pending HTTP request will be aborted if the provided context is
1972// canceled.
1973func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
1974	c.ctx_ = ctx
1975	return c
1976}
1977
1978// Header returns an http.Header that can be modified by the caller to
1979// add HTTP headers to the request.
1980func (c *ProjectsLocationsListCall) Header() http.Header {
1981	if c.header_ == nil {
1982		c.header_ = make(http.Header)
1983	}
1984	return c.header_
1985}
1986
1987func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
1988	reqHeaders := make(http.Header)
1989	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
1990	for k, v := range c.header_ {
1991		reqHeaders[k] = v
1992	}
1993	reqHeaders.Set("User-Agent", c.s.userAgent())
1994	if c.ifNoneMatch_ != "" {
1995		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
1996	}
1997	var body io.Reader = nil
1998	c.urlParams_.Set("alt", alt)
1999	c.urlParams_.Set("prettyPrint", "false")
2000	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
2001	urls += "?" + c.urlParams_.Encode()
2002	req, err := http.NewRequest("GET", urls, body)
2003	if err != nil {
2004		return nil, err
2005	}
2006	req.Header = reqHeaders
2007	googleapi.Expand(req.URL, map[string]string{
2008		"name": c.name,
2009	})
2010	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2011}
2012
2013// Do executes the "managedidentities.projects.locations.list" call.
2014// Exactly one of *ListLocationsResponse or error will be non-nil. Any
2015// non-2xx status code is an error. Response headers are in either
2016// *ListLocationsResponse.ServerResponse.Header or (if a response was
2017// returned at all) in error.(*googleapi.Error).Header. Use
2018// googleapi.IsNotModified to check whether the returned error was
2019// because http.StatusNotModified was returned.
2020func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
2021	gensupport.SetOptions(c.urlParams_, opts...)
2022	res, err := c.doRequest("json")
2023	if res != nil && res.StatusCode == http.StatusNotModified {
2024		if res.Body != nil {
2025			res.Body.Close()
2026		}
2027		return nil, &googleapi.Error{
2028			Code:   res.StatusCode,
2029			Header: res.Header,
2030		}
2031	}
2032	if err != nil {
2033		return nil, err
2034	}
2035	defer googleapi.CloseBody(res)
2036	if err := googleapi.CheckResponse(res); err != nil {
2037		return nil, err
2038	}
2039	ret := &ListLocationsResponse{
2040		ServerResponse: googleapi.ServerResponse{
2041			Header:         res.Header,
2042			HTTPStatusCode: res.StatusCode,
2043		},
2044	}
2045	target := &ret
2046	if err := gensupport.DecodeResponse(target, res); err != nil {
2047		return nil, err
2048	}
2049	return ret, nil
2050	// {
2051	//   "description": "Lists information about the supported locations for this service.",
2052	//   "flatPath": "v1/projects/{projectsId}/locations",
2053	//   "httpMethod": "GET",
2054	//   "id": "managedidentities.projects.locations.list",
2055	//   "parameterOrder": [
2056	//     "name"
2057	//   ],
2058	//   "parameters": {
2059	//     "filter": {
2060	//       "description": "The standard list filter.",
2061	//       "location": "query",
2062	//       "type": "string"
2063	//     },
2064	//     "includeUnrevealedLocations": {
2065	//       "description": "If true, the returned list will include locations which are not yet revealed.",
2066	//       "location": "query",
2067	//       "type": "boolean"
2068	//     },
2069	//     "name": {
2070	//       "description": "The resource that owns the locations collection, if applicable.",
2071	//       "location": "path",
2072	//       "pattern": "^projects/[^/]+$",
2073	//       "required": true,
2074	//       "type": "string"
2075	//     },
2076	//     "pageSize": {
2077	//       "description": "The standard list page size.",
2078	//       "format": "int32",
2079	//       "location": "query",
2080	//       "type": "integer"
2081	//     },
2082	//     "pageToken": {
2083	//       "description": "The standard list page token.",
2084	//       "location": "query",
2085	//       "type": "string"
2086	//     }
2087	//   },
2088	//   "path": "v1/{+name}/locations",
2089	//   "response": {
2090	//     "$ref": "ListLocationsResponse"
2091	//   },
2092	//   "scopes": [
2093	//     "https://www.googleapis.com/auth/cloud-platform"
2094	//   ]
2095	// }
2096
2097}
2098
2099// Pages invokes f for each page of results.
2100// A non-nil error returned from f will halt the iteration.
2101// The provided context supersedes any context provided to the Context method.
2102func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
2103	c.ctx_ = ctx
2104	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
2105	for {
2106		x, err := c.Do()
2107		if err != nil {
2108			return err
2109		}
2110		if err := f(x); err != nil {
2111			return err
2112		}
2113		if x.NextPageToken == "" {
2114			return nil
2115		}
2116		c.PageToken(x.NextPageToken)
2117	}
2118}
2119
2120// method id "managedidentities.projects.locations.global.domains.attachTrust":
2121
2122type ProjectsLocationsGlobalDomainsAttachTrustCall struct {
2123	s                  *Service
2124	name               string
2125	attachtrustrequest *AttachTrustRequest
2126	urlParams_         gensupport.URLParams
2127	ctx_               context.Context
2128	header_            http.Header
2129}
2130
2131// AttachTrust: Adds an AD trust to a domain.
2132func (r *ProjectsLocationsGlobalDomainsService) AttachTrust(name string, attachtrustrequest *AttachTrustRequest) *ProjectsLocationsGlobalDomainsAttachTrustCall {
2133	c := &ProjectsLocationsGlobalDomainsAttachTrustCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2134	c.name = name
2135	c.attachtrustrequest = attachtrustrequest
2136	return c
2137}
2138
2139// Fields allows partial responses to be retrieved. See
2140// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2141// for more information.
2142func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsAttachTrustCall {
2143	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2144	return c
2145}
2146
2147// Context sets the context to be used in this call's Do method. Any
2148// pending HTTP request will be aborted if the provided context is
2149// canceled.
2150func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsAttachTrustCall {
2151	c.ctx_ = ctx
2152	return c
2153}
2154
2155// Header returns an http.Header that can be modified by the caller to
2156// add HTTP headers to the request.
2157func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) Header() http.Header {
2158	if c.header_ == nil {
2159		c.header_ = make(http.Header)
2160	}
2161	return c.header_
2162}
2163
2164func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) doRequest(alt string) (*http.Response, error) {
2165	reqHeaders := make(http.Header)
2166	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2167	for k, v := range c.header_ {
2168		reqHeaders[k] = v
2169	}
2170	reqHeaders.Set("User-Agent", c.s.userAgent())
2171	var body io.Reader = nil
2172	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attachtrustrequest)
2173	if err != nil {
2174		return nil, err
2175	}
2176	reqHeaders.Set("Content-Type", "application/json")
2177	c.urlParams_.Set("alt", alt)
2178	c.urlParams_.Set("prettyPrint", "false")
2179	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:attachTrust")
2180	urls += "?" + c.urlParams_.Encode()
2181	req, err := http.NewRequest("POST", urls, body)
2182	if err != nil {
2183		return nil, err
2184	}
2185	req.Header = reqHeaders
2186	googleapi.Expand(req.URL, map[string]string{
2187		"name": c.name,
2188	})
2189	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2190}
2191
2192// Do executes the "managedidentities.projects.locations.global.domains.attachTrust" call.
2193// Exactly one of *Operation or error will be non-nil. Any non-2xx
2194// status code is an error. Response headers are in either
2195// *Operation.ServerResponse.Header or (if a response was returned at
2196// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2197// to check whether the returned error was because
2198// http.StatusNotModified was returned.
2199func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2200	gensupport.SetOptions(c.urlParams_, opts...)
2201	res, err := c.doRequest("json")
2202	if res != nil && res.StatusCode == http.StatusNotModified {
2203		if res.Body != nil {
2204			res.Body.Close()
2205		}
2206		return nil, &googleapi.Error{
2207			Code:   res.StatusCode,
2208			Header: res.Header,
2209		}
2210	}
2211	if err != nil {
2212		return nil, err
2213	}
2214	defer googleapi.CloseBody(res)
2215	if err := googleapi.CheckResponse(res); err != nil {
2216		return nil, err
2217	}
2218	ret := &Operation{
2219		ServerResponse: googleapi.ServerResponse{
2220			Header:         res.Header,
2221			HTTPStatusCode: res.StatusCode,
2222		},
2223	}
2224	target := &ret
2225	if err := gensupport.DecodeResponse(target, res); err != nil {
2226		return nil, err
2227	}
2228	return ret, nil
2229	// {
2230	//   "description": "Adds an AD trust to a domain.",
2231	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:attachTrust",
2232	//   "httpMethod": "POST",
2233	//   "id": "managedidentities.projects.locations.global.domains.attachTrust",
2234	//   "parameterOrder": [
2235	//     "name"
2236	//   ],
2237	//   "parameters": {
2238	//     "name": {
2239	//       "description": "Required. The resource domain name, project name and location using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
2240	//       "location": "path",
2241	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
2242	//       "required": true,
2243	//       "type": "string"
2244	//     }
2245	//   },
2246	//   "path": "v1/{+name}:attachTrust",
2247	//   "request": {
2248	//     "$ref": "AttachTrustRequest"
2249	//   },
2250	//   "response": {
2251	//     "$ref": "Operation"
2252	//   },
2253	//   "scopes": [
2254	//     "https://www.googleapis.com/auth/cloud-platform"
2255	//   ]
2256	// }
2257
2258}
2259
2260// method id "managedidentities.projects.locations.global.domains.create":
2261
2262type ProjectsLocationsGlobalDomainsCreateCall struct {
2263	s          *Service
2264	parent     string
2265	domain     *Domain
2266	urlParams_ gensupport.URLParams
2267	ctx_       context.Context
2268	header_    http.Header
2269}
2270
2271// Create: Creates a Microsoft AD domain.
2272func (r *ProjectsLocationsGlobalDomainsService) Create(parent string, domain *Domain) *ProjectsLocationsGlobalDomainsCreateCall {
2273	c := &ProjectsLocationsGlobalDomainsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2274	c.parent = parent
2275	c.domain = domain
2276	return c
2277}
2278
2279// DomainName sets the optional parameter "domainName": Required. The
2280// fully qualified domain name. e.g. mydomain.myorganization.com, with
2281// the following restrictions: * Must contain only lowercase letters,
2282// numbers, periods and hyphens. * Must start with a letter. * Must
2283// contain between 2-64 characters. * Must end with a number or a
2284// letter. * Must not start with period. * First segement length
2285// (mydomain form example above) shouldn't exceed 15 chars. * The last
2286// segment cannot be fully numeric. * Must be unique within the customer
2287// project.
2288func (c *ProjectsLocationsGlobalDomainsCreateCall) DomainName(domainName string) *ProjectsLocationsGlobalDomainsCreateCall {
2289	c.urlParams_.Set("domainName", domainName)
2290	return c
2291}
2292
2293// Fields allows partial responses to be retrieved. See
2294// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2295// for more information.
2296func (c *ProjectsLocationsGlobalDomainsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsCreateCall {
2297	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2298	return c
2299}
2300
2301// Context sets the context to be used in this call's Do method. Any
2302// pending HTTP request will be aborted if the provided context is
2303// canceled.
2304func (c *ProjectsLocationsGlobalDomainsCreateCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsCreateCall {
2305	c.ctx_ = ctx
2306	return c
2307}
2308
2309// Header returns an http.Header that can be modified by the caller to
2310// add HTTP headers to the request.
2311func (c *ProjectsLocationsGlobalDomainsCreateCall) Header() http.Header {
2312	if c.header_ == nil {
2313		c.header_ = make(http.Header)
2314	}
2315	return c.header_
2316}
2317
2318func (c *ProjectsLocationsGlobalDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
2319	reqHeaders := make(http.Header)
2320	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2321	for k, v := range c.header_ {
2322		reqHeaders[k] = v
2323	}
2324	reqHeaders.Set("User-Agent", c.s.userAgent())
2325	var body io.Reader = nil
2326	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domain)
2327	if err != nil {
2328		return nil, err
2329	}
2330	reqHeaders.Set("Content-Type", "application/json")
2331	c.urlParams_.Set("alt", alt)
2332	c.urlParams_.Set("prettyPrint", "false")
2333	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/domains")
2334	urls += "?" + c.urlParams_.Encode()
2335	req, err := http.NewRequest("POST", urls, body)
2336	if err != nil {
2337		return nil, err
2338	}
2339	req.Header = reqHeaders
2340	googleapi.Expand(req.URL, map[string]string{
2341		"parent": c.parent,
2342	})
2343	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2344}
2345
2346// Do executes the "managedidentities.projects.locations.global.domains.create" call.
2347// Exactly one of *Operation or error will be non-nil. Any non-2xx
2348// status code is an error. Response headers are in either
2349// *Operation.ServerResponse.Header or (if a response was returned at
2350// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2351// to check whether the returned error was because
2352// http.StatusNotModified was returned.
2353func (c *ProjectsLocationsGlobalDomainsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2354	gensupport.SetOptions(c.urlParams_, opts...)
2355	res, err := c.doRequest("json")
2356	if res != nil && res.StatusCode == http.StatusNotModified {
2357		if res.Body != nil {
2358			res.Body.Close()
2359		}
2360		return nil, &googleapi.Error{
2361			Code:   res.StatusCode,
2362			Header: res.Header,
2363		}
2364	}
2365	if err != nil {
2366		return nil, err
2367	}
2368	defer googleapi.CloseBody(res)
2369	if err := googleapi.CheckResponse(res); err != nil {
2370		return nil, err
2371	}
2372	ret := &Operation{
2373		ServerResponse: googleapi.ServerResponse{
2374			Header:         res.Header,
2375			HTTPStatusCode: res.StatusCode,
2376		},
2377	}
2378	target := &ret
2379	if err := gensupport.DecodeResponse(target, res); err != nil {
2380		return nil, err
2381	}
2382	return ret, nil
2383	// {
2384	//   "description": "Creates a Microsoft AD domain.",
2385	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains",
2386	//   "httpMethod": "POST",
2387	//   "id": "managedidentities.projects.locations.global.domains.create",
2388	//   "parameterOrder": [
2389	//     "parent"
2390	//   ],
2391	//   "parameters": {
2392	//     "domainName": {
2393	//       "description": "Required. The fully qualified domain name. e.g. mydomain.myorganization.com, with the following restrictions: * Must contain only lowercase letters, numbers, periods and hyphens. * Must start with a letter. * Must contain between 2-64 characters. * Must end with a number or a letter. * Must not start with period. * First segement length (mydomain form example above) shouldn't exceed 15 chars. * The last segment cannot be fully numeric. * Must be unique within the customer project.",
2394	//       "location": "query",
2395	//       "type": "string"
2396	//     },
2397	//     "parent": {
2398	//       "description": "Required. The resource project name and location using the form: `projects/{project_id}/locations/global`",
2399	//       "location": "path",
2400	//       "pattern": "^projects/[^/]+/locations/global$",
2401	//       "required": true,
2402	//       "type": "string"
2403	//     }
2404	//   },
2405	//   "path": "v1/{+parent}/domains",
2406	//   "request": {
2407	//     "$ref": "Domain"
2408	//   },
2409	//   "response": {
2410	//     "$ref": "Operation"
2411	//   },
2412	//   "scopes": [
2413	//     "https://www.googleapis.com/auth/cloud-platform"
2414	//   ]
2415	// }
2416
2417}
2418
2419// method id "managedidentities.projects.locations.global.domains.delete":
2420
2421type ProjectsLocationsGlobalDomainsDeleteCall struct {
2422	s          *Service
2423	name       string
2424	urlParams_ gensupport.URLParams
2425	ctx_       context.Context
2426	header_    http.Header
2427}
2428
2429// Delete: Deletes a domain.
2430func (r *ProjectsLocationsGlobalDomainsService) Delete(name string) *ProjectsLocationsGlobalDomainsDeleteCall {
2431	c := &ProjectsLocationsGlobalDomainsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2432	c.name = name
2433	return c
2434}
2435
2436// Fields allows partial responses to be retrieved. See
2437// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2438// for more information.
2439func (c *ProjectsLocationsGlobalDomainsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsDeleteCall {
2440	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2441	return c
2442}
2443
2444// Context sets the context to be used in this call's Do method. Any
2445// pending HTTP request will be aborted if the provided context is
2446// canceled.
2447func (c *ProjectsLocationsGlobalDomainsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsDeleteCall {
2448	c.ctx_ = ctx
2449	return c
2450}
2451
2452// Header returns an http.Header that can be modified by the caller to
2453// add HTTP headers to the request.
2454func (c *ProjectsLocationsGlobalDomainsDeleteCall) Header() http.Header {
2455	if c.header_ == nil {
2456		c.header_ = make(http.Header)
2457	}
2458	return c.header_
2459}
2460
2461func (c *ProjectsLocationsGlobalDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
2462	reqHeaders := make(http.Header)
2463	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2464	for k, v := range c.header_ {
2465		reqHeaders[k] = v
2466	}
2467	reqHeaders.Set("User-Agent", c.s.userAgent())
2468	var body io.Reader = nil
2469	c.urlParams_.Set("alt", alt)
2470	c.urlParams_.Set("prettyPrint", "false")
2471	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
2472	urls += "?" + c.urlParams_.Encode()
2473	req, err := http.NewRequest("DELETE", urls, body)
2474	if err != nil {
2475		return nil, err
2476	}
2477	req.Header = reqHeaders
2478	googleapi.Expand(req.URL, map[string]string{
2479		"name": c.name,
2480	})
2481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2482}
2483
2484// Do executes the "managedidentities.projects.locations.global.domains.delete" call.
2485// Exactly one of *Operation or error will be non-nil. Any non-2xx
2486// status code is an error. Response headers are in either
2487// *Operation.ServerResponse.Header or (if a response was returned at
2488// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2489// to check whether the returned error was because
2490// http.StatusNotModified was returned.
2491func (c *ProjectsLocationsGlobalDomainsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2492	gensupport.SetOptions(c.urlParams_, opts...)
2493	res, err := c.doRequest("json")
2494	if res != nil && res.StatusCode == http.StatusNotModified {
2495		if res.Body != nil {
2496			res.Body.Close()
2497		}
2498		return nil, &googleapi.Error{
2499			Code:   res.StatusCode,
2500			Header: res.Header,
2501		}
2502	}
2503	if err != nil {
2504		return nil, err
2505	}
2506	defer googleapi.CloseBody(res)
2507	if err := googleapi.CheckResponse(res); err != nil {
2508		return nil, err
2509	}
2510	ret := &Operation{
2511		ServerResponse: googleapi.ServerResponse{
2512			Header:         res.Header,
2513			HTTPStatusCode: res.StatusCode,
2514		},
2515	}
2516	target := &ret
2517	if err := gensupport.DecodeResponse(target, res); err != nil {
2518		return nil, err
2519	}
2520	return ret, nil
2521	// {
2522	//   "description": "Deletes a domain.",
2523	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}",
2524	//   "httpMethod": "DELETE",
2525	//   "id": "managedidentities.projects.locations.global.domains.delete",
2526	//   "parameterOrder": [
2527	//     "name"
2528	//   ],
2529	//   "parameters": {
2530	//     "name": {
2531	//       "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
2532	//       "location": "path",
2533	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
2534	//       "required": true,
2535	//       "type": "string"
2536	//     }
2537	//   },
2538	//   "path": "v1/{+name}",
2539	//   "response": {
2540	//     "$ref": "Operation"
2541	//   },
2542	//   "scopes": [
2543	//     "https://www.googleapis.com/auth/cloud-platform"
2544	//   ]
2545	// }
2546
2547}
2548
2549// method id "managedidentities.projects.locations.global.domains.detachTrust":
2550
2551type ProjectsLocationsGlobalDomainsDetachTrustCall struct {
2552	s                  *Service
2553	name               string
2554	detachtrustrequest *DetachTrustRequest
2555	urlParams_         gensupport.URLParams
2556	ctx_               context.Context
2557	header_            http.Header
2558}
2559
2560// DetachTrust: Removes an AD trust.
2561func (r *ProjectsLocationsGlobalDomainsService) DetachTrust(name string, detachtrustrequest *DetachTrustRequest) *ProjectsLocationsGlobalDomainsDetachTrustCall {
2562	c := &ProjectsLocationsGlobalDomainsDetachTrustCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2563	c.name = name
2564	c.detachtrustrequest = detachtrustrequest
2565	return c
2566}
2567
2568// Fields allows partial responses to be retrieved. See
2569// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2570// for more information.
2571func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsDetachTrustCall {
2572	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2573	return c
2574}
2575
2576// Context sets the context to be used in this call's Do method. Any
2577// pending HTTP request will be aborted if the provided context is
2578// canceled.
2579func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsDetachTrustCall {
2580	c.ctx_ = ctx
2581	return c
2582}
2583
2584// Header returns an http.Header that can be modified by the caller to
2585// add HTTP headers to the request.
2586func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) Header() http.Header {
2587	if c.header_ == nil {
2588		c.header_ = make(http.Header)
2589	}
2590	return c.header_
2591}
2592
2593func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) doRequest(alt string) (*http.Response, error) {
2594	reqHeaders := make(http.Header)
2595	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2596	for k, v := range c.header_ {
2597		reqHeaders[k] = v
2598	}
2599	reqHeaders.Set("User-Agent", c.s.userAgent())
2600	var body io.Reader = nil
2601	body, err := googleapi.WithoutDataWrapper.JSONReader(c.detachtrustrequest)
2602	if err != nil {
2603		return nil, err
2604	}
2605	reqHeaders.Set("Content-Type", "application/json")
2606	c.urlParams_.Set("alt", alt)
2607	c.urlParams_.Set("prettyPrint", "false")
2608	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:detachTrust")
2609	urls += "?" + c.urlParams_.Encode()
2610	req, err := http.NewRequest("POST", urls, body)
2611	if err != nil {
2612		return nil, err
2613	}
2614	req.Header = reqHeaders
2615	googleapi.Expand(req.URL, map[string]string{
2616		"name": c.name,
2617	})
2618	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2619}
2620
2621// Do executes the "managedidentities.projects.locations.global.domains.detachTrust" call.
2622// Exactly one of *Operation or error will be non-nil. Any non-2xx
2623// status code is an error. Response headers are in either
2624// *Operation.ServerResponse.Header or (if a response was returned at
2625// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2626// to check whether the returned error was because
2627// http.StatusNotModified was returned.
2628func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2629	gensupport.SetOptions(c.urlParams_, opts...)
2630	res, err := c.doRequest("json")
2631	if res != nil && res.StatusCode == http.StatusNotModified {
2632		if res.Body != nil {
2633			res.Body.Close()
2634		}
2635		return nil, &googleapi.Error{
2636			Code:   res.StatusCode,
2637			Header: res.Header,
2638		}
2639	}
2640	if err != nil {
2641		return nil, err
2642	}
2643	defer googleapi.CloseBody(res)
2644	if err := googleapi.CheckResponse(res); err != nil {
2645		return nil, err
2646	}
2647	ret := &Operation{
2648		ServerResponse: googleapi.ServerResponse{
2649			Header:         res.Header,
2650			HTTPStatusCode: res.StatusCode,
2651		},
2652	}
2653	target := &ret
2654	if err := gensupport.DecodeResponse(target, res); err != nil {
2655		return nil, err
2656	}
2657	return ret, nil
2658	// {
2659	//   "description": "Removes an AD trust.",
2660	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:detachTrust",
2661	//   "httpMethod": "POST",
2662	//   "id": "managedidentities.projects.locations.global.domains.detachTrust",
2663	//   "parameterOrder": [
2664	//     "name"
2665	//   ],
2666	//   "parameters": {
2667	//     "name": {
2668	//       "description": "Required. The resource domain name, project name, and location using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
2669	//       "location": "path",
2670	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
2671	//       "required": true,
2672	//       "type": "string"
2673	//     }
2674	//   },
2675	//   "path": "v1/{+name}:detachTrust",
2676	//   "request": {
2677	//     "$ref": "DetachTrustRequest"
2678	//   },
2679	//   "response": {
2680	//     "$ref": "Operation"
2681	//   },
2682	//   "scopes": [
2683	//     "https://www.googleapis.com/auth/cloud-platform"
2684	//   ]
2685	// }
2686
2687}
2688
2689// method id "managedidentities.projects.locations.global.domains.get":
2690
2691type ProjectsLocationsGlobalDomainsGetCall struct {
2692	s            *Service
2693	name         string
2694	urlParams_   gensupport.URLParams
2695	ifNoneMatch_ string
2696	ctx_         context.Context
2697	header_      http.Header
2698}
2699
2700// Get: Gets information about a domain.
2701func (r *ProjectsLocationsGlobalDomainsService) Get(name string) *ProjectsLocationsGlobalDomainsGetCall {
2702	c := &ProjectsLocationsGlobalDomainsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2703	c.name = name
2704	return c
2705}
2706
2707// Fields allows partial responses to be retrieved. See
2708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2709// for more information.
2710func (c *ProjectsLocationsGlobalDomainsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsGetCall {
2711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2712	return c
2713}
2714
2715// IfNoneMatch sets the optional parameter which makes the operation
2716// fail if the object's ETag matches the given value. This is useful for
2717// getting updates only after the object has changed since the last
2718// request. Use googleapi.IsNotModified to check whether the response
2719// error from Do is the result of In-None-Match.
2720func (c *ProjectsLocationsGlobalDomainsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalDomainsGetCall {
2721	c.ifNoneMatch_ = entityTag
2722	return c
2723}
2724
2725// Context sets the context to be used in this call's Do method. Any
2726// pending HTTP request will be aborted if the provided context is
2727// canceled.
2728func (c *ProjectsLocationsGlobalDomainsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsGetCall {
2729	c.ctx_ = ctx
2730	return c
2731}
2732
2733// Header returns an http.Header that can be modified by the caller to
2734// add HTTP headers to the request.
2735func (c *ProjectsLocationsGlobalDomainsGetCall) Header() http.Header {
2736	if c.header_ == nil {
2737		c.header_ = make(http.Header)
2738	}
2739	return c.header_
2740}
2741
2742func (c *ProjectsLocationsGlobalDomainsGetCall) doRequest(alt string) (*http.Response, error) {
2743	reqHeaders := make(http.Header)
2744	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2745	for k, v := range c.header_ {
2746		reqHeaders[k] = v
2747	}
2748	reqHeaders.Set("User-Agent", c.s.userAgent())
2749	if c.ifNoneMatch_ != "" {
2750		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2751	}
2752	var body io.Reader = nil
2753	c.urlParams_.Set("alt", alt)
2754	c.urlParams_.Set("prettyPrint", "false")
2755	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
2756	urls += "?" + c.urlParams_.Encode()
2757	req, err := http.NewRequest("GET", urls, body)
2758	if err != nil {
2759		return nil, err
2760	}
2761	req.Header = reqHeaders
2762	googleapi.Expand(req.URL, map[string]string{
2763		"name": c.name,
2764	})
2765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2766}
2767
2768// Do executes the "managedidentities.projects.locations.global.domains.get" call.
2769// Exactly one of *Domain or error will be non-nil. Any non-2xx status
2770// code is an error. Response headers are in either
2771// *Domain.ServerResponse.Header or (if a response was returned at all)
2772// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2773// check whether the returned error was because http.StatusNotModified
2774// was returned.
2775func (c *ProjectsLocationsGlobalDomainsGetCall) Do(opts ...googleapi.CallOption) (*Domain, error) {
2776	gensupport.SetOptions(c.urlParams_, opts...)
2777	res, err := c.doRequest("json")
2778	if res != nil && res.StatusCode == http.StatusNotModified {
2779		if res.Body != nil {
2780			res.Body.Close()
2781		}
2782		return nil, &googleapi.Error{
2783			Code:   res.StatusCode,
2784			Header: res.Header,
2785		}
2786	}
2787	if err != nil {
2788		return nil, err
2789	}
2790	defer googleapi.CloseBody(res)
2791	if err := googleapi.CheckResponse(res); err != nil {
2792		return nil, err
2793	}
2794	ret := &Domain{
2795		ServerResponse: googleapi.ServerResponse{
2796			Header:         res.Header,
2797			HTTPStatusCode: res.StatusCode,
2798		},
2799	}
2800	target := &ret
2801	if err := gensupport.DecodeResponse(target, res); err != nil {
2802		return nil, err
2803	}
2804	return ret, nil
2805	// {
2806	//   "description": "Gets information about a domain.",
2807	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}",
2808	//   "httpMethod": "GET",
2809	//   "id": "managedidentities.projects.locations.global.domains.get",
2810	//   "parameterOrder": [
2811	//     "name"
2812	//   ],
2813	//   "parameters": {
2814	//     "name": {
2815	//       "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
2816	//       "location": "path",
2817	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
2818	//       "required": true,
2819	//       "type": "string"
2820	//     }
2821	//   },
2822	//   "path": "v1/{+name}",
2823	//   "response": {
2824	//     "$ref": "Domain"
2825	//   },
2826	//   "scopes": [
2827	//     "https://www.googleapis.com/auth/cloud-platform"
2828	//   ]
2829	// }
2830
2831}
2832
2833// method id "managedidentities.projects.locations.global.domains.getIamPolicy":
2834
2835type ProjectsLocationsGlobalDomainsGetIamPolicyCall struct {
2836	s            *Service
2837	resource     string
2838	urlParams_   gensupport.URLParams
2839	ifNoneMatch_ string
2840	ctx_         context.Context
2841	header_      http.Header
2842}
2843
2844// GetIamPolicy: Gets the access control policy for a resource. Returns
2845// an empty policy if the resource exists and does not have a policy
2846// set.
2847func (r *ProjectsLocationsGlobalDomainsService) GetIamPolicy(resource string) *ProjectsLocationsGlobalDomainsGetIamPolicyCall {
2848	c := &ProjectsLocationsGlobalDomainsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2849	c.resource = resource
2850	return c
2851}
2852
2853// OptionsRequestedPolicyVersion sets the optional parameter
2854// "options.requestedPolicyVersion": The policy format version to be
2855// returned. Valid values are 0, 1, and 3. Requests specifying an
2856// invalid value will be rejected. Requests for policies with any
2857// conditional bindings must specify version 3. Policies without any
2858// conditional bindings may specify any valid value or leave the field
2859// unset. To learn which resources support conditions in their IAM
2860// policies, see the [IAM
2861// documentation](https://cloud.google.com/iam/help/conditions/resource-p
2862// olicies).
2863func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsGlobalDomainsGetIamPolicyCall {
2864	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
2865	return c
2866}
2867
2868// Fields allows partial responses to be retrieved. See
2869// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2870// for more information.
2871func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsGetIamPolicyCall {
2872	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2873	return c
2874}
2875
2876// IfNoneMatch sets the optional parameter which makes the operation
2877// fail if the object's ETag matches the given value. This is useful for
2878// getting updates only after the object has changed since the last
2879// request. Use googleapi.IsNotModified to check whether the response
2880// error from Do is the result of In-None-Match.
2881func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalDomainsGetIamPolicyCall {
2882	c.ifNoneMatch_ = entityTag
2883	return c
2884}
2885
2886// Context sets the context to be used in this call's Do method. Any
2887// pending HTTP request will be aborted if the provided context is
2888// canceled.
2889func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsGetIamPolicyCall {
2890	c.ctx_ = ctx
2891	return c
2892}
2893
2894// Header returns an http.Header that can be modified by the caller to
2895// add HTTP headers to the request.
2896func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) Header() http.Header {
2897	if c.header_ == nil {
2898		c.header_ = make(http.Header)
2899	}
2900	return c.header_
2901}
2902
2903func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
2904	reqHeaders := make(http.Header)
2905	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
2906	for k, v := range c.header_ {
2907		reqHeaders[k] = v
2908	}
2909	reqHeaders.Set("User-Agent", c.s.userAgent())
2910	if c.ifNoneMatch_ != "" {
2911		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2912	}
2913	var body io.Reader = nil
2914	c.urlParams_.Set("alt", alt)
2915	c.urlParams_.Set("prettyPrint", "false")
2916	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
2917	urls += "?" + c.urlParams_.Encode()
2918	req, err := http.NewRequest("GET", urls, body)
2919	if err != nil {
2920		return nil, err
2921	}
2922	req.Header = reqHeaders
2923	googleapi.Expand(req.URL, map[string]string{
2924		"resource": c.resource,
2925	})
2926	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2927}
2928
2929// Do executes the "managedidentities.projects.locations.global.domains.getIamPolicy" call.
2930// Exactly one of *Policy or error will be non-nil. Any non-2xx status
2931// code is an error. Response headers are in either
2932// *Policy.ServerResponse.Header or (if a response was returned at all)
2933// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2934// check whether the returned error was because http.StatusNotModified
2935// was returned.
2936func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
2937	gensupport.SetOptions(c.urlParams_, opts...)
2938	res, err := c.doRequest("json")
2939	if res != nil && res.StatusCode == http.StatusNotModified {
2940		if res.Body != nil {
2941			res.Body.Close()
2942		}
2943		return nil, &googleapi.Error{
2944			Code:   res.StatusCode,
2945			Header: res.Header,
2946		}
2947	}
2948	if err != nil {
2949		return nil, err
2950	}
2951	defer googleapi.CloseBody(res)
2952	if err := googleapi.CheckResponse(res); err != nil {
2953		return nil, err
2954	}
2955	ret := &Policy{
2956		ServerResponse: googleapi.ServerResponse{
2957			Header:         res.Header,
2958			HTTPStatusCode: res.StatusCode,
2959		},
2960	}
2961	target := &ret
2962	if err := gensupport.DecodeResponse(target, res); err != nil {
2963		return nil, err
2964	}
2965	return ret, nil
2966	// {
2967	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
2968	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:getIamPolicy",
2969	//   "httpMethod": "GET",
2970	//   "id": "managedidentities.projects.locations.global.domains.getIamPolicy",
2971	//   "parameterOrder": [
2972	//     "resource"
2973	//   ],
2974	//   "parameters": {
2975	//     "options.requestedPolicyVersion": {
2976	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
2977	//       "format": "int32",
2978	//       "location": "query",
2979	//       "type": "integer"
2980	//     },
2981	//     "resource": {
2982	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
2983	//       "location": "path",
2984	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
2985	//       "required": true,
2986	//       "type": "string"
2987	//     }
2988	//   },
2989	//   "path": "v1/{+resource}:getIamPolicy",
2990	//   "response": {
2991	//     "$ref": "Policy"
2992	//   },
2993	//   "scopes": [
2994	//     "https://www.googleapis.com/auth/cloud-platform"
2995	//   ]
2996	// }
2997
2998}
2999
3000// method id "managedidentities.projects.locations.global.domains.list":
3001
3002type ProjectsLocationsGlobalDomainsListCall struct {
3003	s            *Service
3004	parent       string
3005	urlParams_   gensupport.URLParams
3006	ifNoneMatch_ string
3007	ctx_         context.Context
3008	header_      http.Header
3009}
3010
3011// List: Lists domains in a project.
3012func (r *ProjectsLocationsGlobalDomainsService) List(parent string) *ProjectsLocationsGlobalDomainsListCall {
3013	c := &ProjectsLocationsGlobalDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3014	c.parent = parent
3015	return c
3016}
3017
3018// Filter sets the optional parameter "filter": A filter specifying
3019// constraints of a list operation. For example,
3020// `Domain.fqdn="mydomain.myorginization".
3021func (c *ProjectsLocationsGlobalDomainsListCall) Filter(filter string) *ProjectsLocationsGlobalDomainsListCall {
3022	c.urlParams_.Set("filter", filter)
3023	return c
3024}
3025
3026// OrderBy sets the optional parameter "orderBy": Specifies the ordering
3027// of results. See [Sorting
3028// order](https://cloud.google.com/apis/design/design_patterns#sorting_or
3029// der) for more information.
3030func (c *ProjectsLocationsGlobalDomainsListCall) OrderBy(orderBy string) *ProjectsLocationsGlobalDomainsListCall {
3031	c.urlParams_.Set("orderBy", orderBy)
3032	return c
3033}
3034
3035// PageSize sets the optional parameter "pageSize": The maximum number
3036// of items to return. If not specified, a default value of 1000 will be
3037// used. Regardless of the page_size value, the response may include a
3038// partial list. Callers should rely on a response's next_page_token to
3039// determine if there are additional results to list.
3040func (c *ProjectsLocationsGlobalDomainsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalDomainsListCall {
3041	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3042	return c
3043}
3044
3045// PageToken sets the optional parameter "pageToken": The
3046// `next_page_token` value returned from a previous ListDomainsRequest
3047// request, if any.
3048func (c *ProjectsLocationsGlobalDomainsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalDomainsListCall {
3049	c.urlParams_.Set("pageToken", pageToken)
3050	return c
3051}
3052
3053// Fields allows partial responses to be retrieved. See
3054// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3055// for more information.
3056func (c *ProjectsLocationsGlobalDomainsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsListCall {
3057	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3058	return c
3059}
3060
3061// IfNoneMatch sets the optional parameter which makes the operation
3062// fail if the object's ETag matches the given value. This is useful for
3063// getting updates only after the object has changed since the last
3064// request. Use googleapi.IsNotModified to check whether the response
3065// error from Do is the result of In-None-Match.
3066func (c *ProjectsLocationsGlobalDomainsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalDomainsListCall {
3067	c.ifNoneMatch_ = entityTag
3068	return c
3069}
3070
3071// Context sets the context to be used in this call's Do method. Any
3072// pending HTTP request will be aborted if the provided context is
3073// canceled.
3074func (c *ProjectsLocationsGlobalDomainsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsListCall {
3075	c.ctx_ = ctx
3076	return c
3077}
3078
3079// Header returns an http.Header that can be modified by the caller to
3080// add HTTP headers to the request.
3081func (c *ProjectsLocationsGlobalDomainsListCall) Header() http.Header {
3082	if c.header_ == nil {
3083		c.header_ = make(http.Header)
3084	}
3085	return c.header_
3086}
3087
3088func (c *ProjectsLocationsGlobalDomainsListCall) doRequest(alt string) (*http.Response, error) {
3089	reqHeaders := make(http.Header)
3090	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3091	for k, v := range c.header_ {
3092		reqHeaders[k] = v
3093	}
3094	reqHeaders.Set("User-Agent", c.s.userAgent())
3095	if c.ifNoneMatch_ != "" {
3096		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3097	}
3098	var body io.Reader = nil
3099	c.urlParams_.Set("alt", alt)
3100	c.urlParams_.Set("prettyPrint", "false")
3101	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/domains")
3102	urls += "?" + c.urlParams_.Encode()
3103	req, err := http.NewRequest("GET", urls, body)
3104	if err != nil {
3105		return nil, err
3106	}
3107	req.Header = reqHeaders
3108	googleapi.Expand(req.URL, map[string]string{
3109		"parent": c.parent,
3110	})
3111	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3112}
3113
3114// Do executes the "managedidentities.projects.locations.global.domains.list" call.
3115// Exactly one of *ListDomainsResponse or error will be non-nil. Any
3116// non-2xx status code is an error. Response headers are in either
3117// *ListDomainsResponse.ServerResponse.Header or (if a response was
3118// returned at all) in error.(*googleapi.Error).Header. Use
3119// googleapi.IsNotModified to check whether the returned error was
3120// because http.StatusNotModified was returned.
3121func (c *ProjectsLocationsGlobalDomainsListCall) Do(opts ...googleapi.CallOption) (*ListDomainsResponse, error) {
3122	gensupport.SetOptions(c.urlParams_, opts...)
3123	res, err := c.doRequest("json")
3124	if res != nil && res.StatusCode == http.StatusNotModified {
3125		if res.Body != nil {
3126			res.Body.Close()
3127		}
3128		return nil, &googleapi.Error{
3129			Code:   res.StatusCode,
3130			Header: res.Header,
3131		}
3132	}
3133	if err != nil {
3134		return nil, err
3135	}
3136	defer googleapi.CloseBody(res)
3137	if err := googleapi.CheckResponse(res); err != nil {
3138		return nil, err
3139	}
3140	ret := &ListDomainsResponse{
3141		ServerResponse: googleapi.ServerResponse{
3142			Header:         res.Header,
3143			HTTPStatusCode: res.StatusCode,
3144		},
3145	}
3146	target := &ret
3147	if err := gensupport.DecodeResponse(target, res); err != nil {
3148		return nil, err
3149	}
3150	return ret, nil
3151	// {
3152	//   "description": "Lists domains in a project.",
3153	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains",
3154	//   "httpMethod": "GET",
3155	//   "id": "managedidentities.projects.locations.global.domains.list",
3156	//   "parameterOrder": [
3157	//     "parent"
3158	//   ],
3159	//   "parameters": {
3160	//     "filter": {
3161	//       "description": "Optional. A filter specifying constraints of a list operation. For example, `Domain.fqdn=\"mydomain.myorginization\"`.",
3162	//       "location": "query",
3163	//       "type": "string"
3164	//     },
3165	//     "orderBy": {
3166	//       "description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.",
3167	//       "location": "query",
3168	//       "type": "string"
3169	//     },
3170	//     "pageSize": {
3171	//       "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used. Regardless of the page_size value, the response may include a partial list. Callers should rely on a response's next_page_token to determine if there are additional results to list.",
3172	//       "format": "int32",
3173	//       "location": "query",
3174	//       "type": "integer"
3175	//     },
3176	//     "pageToken": {
3177	//       "description": "Optional. The `next_page_token` value returned from a previous ListDomainsRequest request, if any.",
3178	//       "location": "query",
3179	//       "type": "string"
3180	//     },
3181	//     "parent": {
3182	//       "description": "Required. The resource name of the domain location using the form: `projects/{project_id}/locations/global`",
3183	//       "location": "path",
3184	//       "pattern": "^projects/[^/]+/locations/global$",
3185	//       "required": true,
3186	//       "type": "string"
3187	//     }
3188	//   },
3189	//   "path": "v1/{+parent}/domains",
3190	//   "response": {
3191	//     "$ref": "ListDomainsResponse"
3192	//   },
3193	//   "scopes": [
3194	//     "https://www.googleapis.com/auth/cloud-platform"
3195	//   ]
3196	// }
3197
3198}
3199
3200// Pages invokes f for each page of results.
3201// A non-nil error returned from f will halt the iteration.
3202// The provided context supersedes any context provided to the Context method.
3203func (c *ProjectsLocationsGlobalDomainsListCall) Pages(ctx context.Context, f func(*ListDomainsResponse) error) error {
3204	c.ctx_ = ctx
3205	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3206	for {
3207		x, err := c.Do()
3208		if err != nil {
3209			return err
3210		}
3211		if err := f(x); err != nil {
3212			return err
3213		}
3214		if x.NextPageToken == "" {
3215			return nil
3216		}
3217		c.PageToken(x.NextPageToken)
3218	}
3219}
3220
3221// method id "managedidentities.projects.locations.global.domains.patch":
3222
3223type ProjectsLocationsGlobalDomainsPatchCall struct {
3224	s          *Service
3225	name       string
3226	domain     *Domain
3227	urlParams_ gensupport.URLParams
3228	ctx_       context.Context
3229	header_    http.Header
3230}
3231
3232// Patch: Updates the metadata and configuration of a domain.
3233func (r *ProjectsLocationsGlobalDomainsService) Patch(name string, domain *Domain) *ProjectsLocationsGlobalDomainsPatchCall {
3234	c := &ProjectsLocationsGlobalDomainsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3235	c.name = name
3236	c.domain = domain
3237	return c
3238}
3239
3240// UpdateMask sets the optional parameter "updateMask": Required. Mask
3241// of fields to update. At least one path must be supplied in this
3242// field. The elements of the repeated paths field may only include
3243// fields from Domain: * `labels` * `locations` * `authorized_networks`
3244func (c *ProjectsLocationsGlobalDomainsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsGlobalDomainsPatchCall {
3245	c.urlParams_.Set("updateMask", updateMask)
3246	return c
3247}
3248
3249// Fields allows partial responses to be retrieved. See
3250// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3251// for more information.
3252func (c *ProjectsLocationsGlobalDomainsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsPatchCall {
3253	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3254	return c
3255}
3256
3257// Context sets the context to be used in this call's Do method. Any
3258// pending HTTP request will be aborted if the provided context is
3259// canceled.
3260func (c *ProjectsLocationsGlobalDomainsPatchCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsPatchCall {
3261	c.ctx_ = ctx
3262	return c
3263}
3264
3265// Header returns an http.Header that can be modified by the caller to
3266// add HTTP headers to the request.
3267func (c *ProjectsLocationsGlobalDomainsPatchCall) Header() http.Header {
3268	if c.header_ == nil {
3269		c.header_ = make(http.Header)
3270	}
3271	return c.header_
3272}
3273
3274func (c *ProjectsLocationsGlobalDomainsPatchCall) doRequest(alt string) (*http.Response, error) {
3275	reqHeaders := make(http.Header)
3276	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3277	for k, v := range c.header_ {
3278		reqHeaders[k] = v
3279	}
3280	reqHeaders.Set("User-Agent", c.s.userAgent())
3281	var body io.Reader = nil
3282	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domain)
3283	if err != nil {
3284		return nil, err
3285	}
3286	reqHeaders.Set("Content-Type", "application/json")
3287	c.urlParams_.Set("alt", alt)
3288	c.urlParams_.Set("prettyPrint", "false")
3289	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
3290	urls += "?" + c.urlParams_.Encode()
3291	req, err := http.NewRequest("PATCH", urls, body)
3292	if err != nil {
3293		return nil, err
3294	}
3295	req.Header = reqHeaders
3296	googleapi.Expand(req.URL, map[string]string{
3297		"name": c.name,
3298	})
3299	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3300}
3301
3302// Do executes the "managedidentities.projects.locations.global.domains.patch" call.
3303// Exactly one of *Operation or error will be non-nil. Any non-2xx
3304// status code is an error. Response headers are in either
3305// *Operation.ServerResponse.Header or (if a response was returned at
3306// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3307// to check whether the returned error was because
3308// http.StatusNotModified was returned.
3309func (c *ProjectsLocationsGlobalDomainsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3310	gensupport.SetOptions(c.urlParams_, opts...)
3311	res, err := c.doRequest("json")
3312	if res != nil && res.StatusCode == http.StatusNotModified {
3313		if res.Body != nil {
3314			res.Body.Close()
3315		}
3316		return nil, &googleapi.Error{
3317			Code:   res.StatusCode,
3318			Header: res.Header,
3319		}
3320	}
3321	if err != nil {
3322		return nil, err
3323	}
3324	defer googleapi.CloseBody(res)
3325	if err := googleapi.CheckResponse(res); err != nil {
3326		return nil, err
3327	}
3328	ret := &Operation{
3329		ServerResponse: googleapi.ServerResponse{
3330			Header:         res.Header,
3331			HTTPStatusCode: res.StatusCode,
3332		},
3333	}
3334	target := &ret
3335	if err := gensupport.DecodeResponse(target, res); err != nil {
3336		return nil, err
3337	}
3338	return ret, nil
3339	// {
3340	//   "description": "Updates the metadata and configuration of a domain.",
3341	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}",
3342	//   "httpMethod": "PATCH",
3343	//   "id": "managedidentities.projects.locations.global.domains.patch",
3344	//   "parameterOrder": [
3345	//     "name"
3346	//   ],
3347	//   "parameters": {
3348	//     "name": {
3349	//       "description": "Required. The unique name of the domain using the form: `projects/{project_id}/locations/global/domains/{domain_name}`.",
3350	//       "location": "path",
3351	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
3352	//       "required": true,
3353	//       "type": "string"
3354	//     },
3355	//     "updateMask": {
3356	//       "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include fields from Domain: * `labels` * `locations` * `authorized_networks`",
3357	//       "format": "google-fieldmask",
3358	//       "location": "query",
3359	//       "type": "string"
3360	//     }
3361	//   },
3362	//   "path": "v1/{+name}",
3363	//   "request": {
3364	//     "$ref": "Domain"
3365	//   },
3366	//   "response": {
3367	//     "$ref": "Operation"
3368	//   },
3369	//   "scopes": [
3370	//     "https://www.googleapis.com/auth/cloud-platform"
3371	//   ]
3372	// }
3373
3374}
3375
3376// method id "managedidentities.projects.locations.global.domains.reconfigureTrust":
3377
3378type ProjectsLocationsGlobalDomainsReconfigureTrustCall struct {
3379	s                       *Service
3380	name                    string
3381	reconfiguretrustrequest *ReconfigureTrustRequest
3382	urlParams_              gensupport.URLParams
3383	ctx_                    context.Context
3384	header_                 http.Header
3385}
3386
3387// ReconfigureTrust: Updates the DNS conditional forwarder.
3388func (r *ProjectsLocationsGlobalDomainsService) ReconfigureTrust(name string, reconfiguretrustrequest *ReconfigureTrustRequest) *ProjectsLocationsGlobalDomainsReconfigureTrustCall {
3389	c := &ProjectsLocationsGlobalDomainsReconfigureTrustCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3390	c.name = name
3391	c.reconfiguretrustrequest = reconfiguretrustrequest
3392	return c
3393}
3394
3395// Fields allows partial responses to be retrieved. See
3396// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3397// for more information.
3398func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsReconfigureTrustCall {
3399	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3400	return c
3401}
3402
3403// Context sets the context to be used in this call's Do method. Any
3404// pending HTTP request will be aborted if the provided context is
3405// canceled.
3406func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsReconfigureTrustCall {
3407	c.ctx_ = ctx
3408	return c
3409}
3410
3411// Header returns an http.Header that can be modified by the caller to
3412// add HTTP headers to the request.
3413func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) Header() http.Header {
3414	if c.header_ == nil {
3415		c.header_ = make(http.Header)
3416	}
3417	return c.header_
3418}
3419
3420func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) doRequest(alt string) (*http.Response, error) {
3421	reqHeaders := make(http.Header)
3422	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3423	for k, v := range c.header_ {
3424		reqHeaders[k] = v
3425	}
3426	reqHeaders.Set("User-Agent", c.s.userAgent())
3427	var body io.Reader = nil
3428	body, err := googleapi.WithoutDataWrapper.JSONReader(c.reconfiguretrustrequest)
3429	if err != nil {
3430		return nil, err
3431	}
3432	reqHeaders.Set("Content-Type", "application/json")
3433	c.urlParams_.Set("alt", alt)
3434	c.urlParams_.Set("prettyPrint", "false")
3435	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reconfigureTrust")
3436	urls += "?" + c.urlParams_.Encode()
3437	req, err := http.NewRequest("POST", urls, body)
3438	if err != nil {
3439		return nil, err
3440	}
3441	req.Header = reqHeaders
3442	googleapi.Expand(req.URL, map[string]string{
3443		"name": c.name,
3444	})
3445	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3446}
3447
3448// Do executes the "managedidentities.projects.locations.global.domains.reconfigureTrust" call.
3449// Exactly one of *Operation or error will be non-nil. Any non-2xx
3450// status code is an error. Response headers are in either
3451// *Operation.ServerResponse.Header or (if a response was returned at
3452// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3453// to check whether the returned error was because
3454// http.StatusNotModified was returned.
3455func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3456	gensupport.SetOptions(c.urlParams_, opts...)
3457	res, err := c.doRequest("json")
3458	if res != nil && res.StatusCode == http.StatusNotModified {
3459		if res.Body != nil {
3460			res.Body.Close()
3461		}
3462		return nil, &googleapi.Error{
3463			Code:   res.StatusCode,
3464			Header: res.Header,
3465		}
3466	}
3467	if err != nil {
3468		return nil, err
3469	}
3470	defer googleapi.CloseBody(res)
3471	if err := googleapi.CheckResponse(res); err != nil {
3472		return nil, err
3473	}
3474	ret := &Operation{
3475		ServerResponse: googleapi.ServerResponse{
3476			Header:         res.Header,
3477			HTTPStatusCode: res.StatusCode,
3478		},
3479	}
3480	target := &ret
3481	if err := gensupport.DecodeResponse(target, res); err != nil {
3482		return nil, err
3483	}
3484	return ret, nil
3485	// {
3486	//   "description": "Updates the DNS conditional forwarder.",
3487	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:reconfigureTrust",
3488	//   "httpMethod": "POST",
3489	//   "id": "managedidentities.projects.locations.global.domains.reconfigureTrust",
3490	//   "parameterOrder": [
3491	//     "name"
3492	//   ],
3493	//   "parameters": {
3494	//     "name": {
3495	//       "description": "Required. The resource domain name, project name and location using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
3496	//       "location": "path",
3497	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
3498	//       "required": true,
3499	//       "type": "string"
3500	//     }
3501	//   },
3502	//   "path": "v1/{+name}:reconfigureTrust",
3503	//   "request": {
3504	//     "$ref": "ReconfigureTrustRequest"
3505	//   },
3506	//   "response": {
3507	//     "$ref": "Operation"
3508	//   },
3509	//   "scopes": [
3510	//     "https://www.googleapis.com/auth/cloud-platform"
3511	//   ]
3512	// }
3513
3514}
3515
3516// method id "managedidentities.projects.locations.global.domains.resetAdminPassword":
3517
3518type ProjectsLocationsGlobalDomainsResetAdminPasswordCall struct {
3519	s                         *Service
3520	name                      string
3521	resetadminpasswordrequest *ResetAdminPasswordRequest
3522	urlParams_                gensupport.URLParams
3523	ctx_                      context.Context
3524	header_                   http.Header
3525}
3526
3527// ResetAdminPassword: Resets a domain's administrator password.
3528func (r *ProjectsLocationsGlobalDomainsService) ResetAdminPassword(name string, resetadminpasswordrequest *ResetAdminPasswordRequest) *ProjectsLocationsGlobalDomainsResetAdminPasswordCall {
3529	c := &ProjectsLocationsGlobalDomainsResetAdminPasswordCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3530	c.name = name
3531	c.resetadminpasswordrequest = resetadminpasswordrequest
3532	return c
3533}
3534
3535// Fields allows partial responses to be retrieved. See
3536// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3537// for more information.
3538func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsResetAdminPasswordCall {
3539	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3540	return c
3541}
3542
3543// Context sets the context to be used in this call's Do method. Any
3544// pending HTTP request will be aborted if the provided context is
3545// canceled.
3546func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsResetAdminPasswordCall {
3547	c.ctx_ = ctx
3548	return c
3549}
3550
3551// Header returns an http.Header that can be modified by the caller to
3552// add HTTP headers to the request.
3553func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) Header() http.Header {
3554	if c.header_ == nil {
3555		c.header_ = make(http.Header)
3556	}
3557	return c.header_
3558}
3559
3560func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) doRequest(alt string) (*http.Response, error) {
3561	reqHeaders := make(http.Header)
3562	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3563	for k, v := range c.header_ {
3564		reqHeaders[k] = v
3565	}
3566	reqHeaders.Set("User-Agent", c.s.userAgent())
3567	var body io.Reader = nil
3568	body, err := googleapi.WithoutDataWrapper.JSONReader(c.resetadminpasswordrequest)
3569	if err != nil {
3570		return nil, err
3571	}
3572	reqHeaders.Set("Content-Type", "application/json")
3573	c.urlParams_.Set("alt", alt)
3574	c.urlParams_.Set("prettyPrint", "false")
3575	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resetAdminPassword")
3576	urls += "?" + c.urlParams_.Encode()
3577	req, err := http.NewRequest("POST", urls, body)
3578	if err != nil {
3579		return nil, err
3580	}
3581	req.Header = reqHeaders
3582	googleapi.Expand(req.URL, map[string]string{
3583		"name": c.name,
3584	})
3585	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3586}
3587
3588// Do executes the "managedidentities.projects.locations.global.domains.resetAdminPassword" call.
3589// Exactly one of *ResetAdminPasswordResponse or error will be non-nil.
3590// Any non-2xx status code is an error. Response headers are in either
3591// *ResetAdminPasswordResponse.ServerResponse.Header or (if a response
3592// was returned at all) in error.(*googleapi.Error).Header. Use
3593// googleapi.IsNotModified to check whether the returned error was
3594// because http.StatusNotModified was returned.
3595func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) Do(opts ...googleapi.CallOption) (*ResetAdminPasswordResponse, error) {
3596	gensupport.SetOptions(c.urlParams_, opts...)
3597	res, err := c.doRequest("json")
3598	if res != nil && res.StatusCode == http.StatusNotModified {
3599		if res.Body != nil {
3600			res.Body.Close()
3601		}
3602		return nil, &googleapi.Error{
3603			Code:   res.StatusCode,
3604			Header: res.Header,
3605		}
3606	}
3607	if err != nil {
3608		return nil, err
3609	}
3610	defer googleapi.CloseBody(res)
3611	if err := googleapi.CheckResponse(res); err != nil {
3612		return nil, err
3613	}
3614	ret := &ResetAdminPasswordResponse{
3615		ServerResponse: googleapi.ServerResponse{
3616			Header:         res.Header,
3617			HTTPStatusCode: res.StatusCode,
3618		},
3619	}
3620	target := &ret
3621	if err := gensupport.DecodeResponse(target, res); err != nil {
3622		return nil, err
3623	}
3624	return ret, nil
3625	// {
3626	//   "description": "Resets a domain's administrator password.",
3627	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:resetAdminPassword",
3628	//   "httpMethod": "POST",
3629	//   "id": "managedidentities.projects.locations.global.domains.resetAdminPassword",
3630	//   "parameterOrder": [
3631	//     "name"
3632	//   ],
3633	//   "parameters": {
3634	//     "name": {
3635	//       "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
3636	//       "location": "path",
3637	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
3638	//       "required": true,
3639	//       "type": "string"
3640	//     }
3641	//   },
3642	//   "path": "v1/{+name}:resetAdminPassword",
3643	//   "request": {
3644	//     "$ref": "ResetAdminPasswordRequest"
3645	//   },
3646	//   "response": {
3647	//     "$ref": "ResetAdminPasswordResponse"
3648	//   },
3649	//   "scopes": [
3650	//     "https://www.googleapis.com/auth/cloud-platform"
3651	//   ]
3652	// }
3653
3654}
3655
3656// method id "managedidentities.projects.locations.global.domains.setIamPolicy":
3657
3658type ProjectsLocationsGlobalDomainsSetIamPolicyCall struct {
3659	s                   *Service
3660	resource            string
3661	setiampolicyrequest *SetIamPolicyRequest
3662	urlParams_          gensupport.URLParams
3663	ctx_                context.Context
3664	header_             http.Header
3665}
3666
3667// SetIamPolicy: Sets the access control policy on the specified
3668// resource. Replaces any existing policy. Can return `NOT_FOUND`,
3669// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
3670func (r *ProjectsLocationsGlobalDomainsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsGlobalDomainsSetIamPolicyCall {
3671	c := &ProjectsLocationsGlobalDomainsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3672	c.resource = resource
3673	c.setiampolicyrequest = setiampolicyrequest
3674	return c
3675}
3676
3677// Fields allows partial responses to be retrieved. See
3678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3679// for more information.
3680func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsSetIamPolicyCall {
3681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3682	return c
3683}
3684
3685// Context sets the context to be used in this call's Do method. Any
3686// pending HTTP request will be aborted if the provided context is
3687// canceled.
3688func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsSetIamPolicyCall {
3689	c.ctx_ = ctx
3690	return c
3691}
3692
3693// Header returns an http.Header that can be modified by the caller to
3694// add HTTP headers to the request.
3695func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) Header() http.Header {
3696	if c.header_ == nil {
3697		c.header_ = make(http.Header)
3698	}
3699	return c.header_
3700}
3701
3702func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3703	reqHeaders := make(http.Header)
3704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3705	for k, v := range c.header_ {
3706		reqHeaders[k] = v
3707	}
3708	reqHeaders.Set("User-Agent", c.s.userAgent())
3709	var body io.Reader = nil
3710	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
3711	if err != nil {
3712		return nil, err
3713	}
3714	reqHeaders.Set("Content-Type", "application/json")
3715	c.urlParams_.Set("alt", alt)
3716	c.urlParams_.Set("prettyPrint", "false")
3717	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
3718	urls += "?" + c.urlParams_.Encode()
3719	req, err := http.NewRequest("POST", urls, body)
3720	if err != nil {
3721		return nil, err
3722	}
3723	req.Header = reqHeaders
3724	googleapi.Expand(req.URL, map[string]string{
3725		"resource": c.resource,
3726	})
3727	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3728}
3729
3730// Do executes the "managedidentities.projects.locations.global.domains.setIamPolicy" call.
3731// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3732// code is an error. Response headers are in either
3733// *Policy.ServerResponse.Header or (if a response was returned at all)
3734// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3735// check whether the returned error was because http.StatusNotModified
3736// was returned.
3737func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3738	gensupport.SetOptions(c.urlParams_, opts...)
3739	res, err := c.doRequest("json")
3740	if res != nil && res.StatusCode == http.StatusNotModified {
3741		if res.Body != nil {
3742			res.Body.Close()
3743		}
3744		return nil, &googleapi.Error{
3745			Code:   res.StatusCode,
3746			Header: res.Header,
3747		}
3748	}
3749	if err != nil {
3750		return nil, err
3751	}
3752	defer googleapi.CloseBody(res)
3753	if err := googleapi.CheckResponse(res); err != nil {
3754		return nil, err
3755	}
3756	ret := &Policy{
3757		ServerResponse: googleapi.ServerResponse{
3758			Header:         res.Header,
3759			HTTPStatusCode: res.StatusCode,
3760		},
3761	}
3762	target := &ret
3763	if err := gensupport.DecodeResponse(target, res); err != nil {
3764		return nil, err
3765	}
3766	return ret, nil
3767	// {
3768	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
3769	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy",
3770	//   "httpMethod": "POST",
3771	//   "id": "managedidentities.projects.locations.global.domains.setIamPolicy",
3772	//   "parameterOrder": [
3773	//     "resource"
3774	//   ],
3775	//   "parameters": {
3776	//     "resource": {
3777	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
3778	//       "location": "path",
3779	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
3780	//       "required": true,
3781	//       "type": "string"
3782	//     }
3783	//   },
3784	//   "path": "v1/{+resource}:setIamPolicy",
3785	//   "request": {
3786	//     "$ref": "SetIamPolicyRequest"
3787	//   },
3788	//   "response": {
3789	//     "$ref": "Policy"
3790	//   },
3791	//   "scopes": [
3792	//     "https://www.googleapis.com/auth/cloud-platform"
3793	//   ]
3794	// }
3795
3796}
3797
3798// method id "managedidentities.projects.locations.global.domains.testIamPermissions":
3799
3800type ProjectsLocationsGlobalDomainsTestIamPermissionsCall struct {
3801	s                         *Service
3802	resource                  string
3803	testiampermissionsrequest *TestIamPermissionsRequest
3804	urlParams_                gensupport.URLParams
3805	ctx_                      context.Context
3806	header_                   http.Header
3807}
3808
3809// TestIamPermissions: Returns permissions that a caller has on the
3810// specified resource. If the resource does not exist, this will return
3811// an empty set of permissions, not a `NOT_FOUND` error. Note: This
3812// operation is designed to be used for building permission-aware UIs
3813// and command-line tools, not for authorization checking. This
3814// operation may "fail open" without warning.
3815func (r *ProjectsLocationsGlobalDomainsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsGlobalDomainsTestIamPermissionsCall {
3816	c := &ProjectsLocationsGlobalDomainsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3817	c.resource = resource
3818	c.testiampermissionsrequest = testiampermissionsrequest
3819	return c
3820}
3821
3822// Fields allows partial responses to be retrieved. See
3823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3824// for more information.
3825func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsTestIamPermissionsCall {
3826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3827	return c
3828}
3829
3830// Context sets the context to be used in this call's Do method. Any
3831// pending HTTP request will be aborted if the provided context is
3832// canceled.
3833func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsTestIamPermissionsCall {
3834	c.ctx_ = ctx
3835	return c
3836}
3837
3838// Header returns an http.Header that can be modified by the caller to
3839// add HTTP headers to the request.
3840func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) Header() http.Header {
3841	if c.header_ == nil {
3842		c.header_ = make(http.Header)
3843	}
3844	return c.header_
3845}
3846
3847func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
3848	reqHeaders := make(http.Header)
3849	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3850	for k, v := range c.header_ {
3851		reqHeaders[k] = v
3852	}
3853	reqHeaders.Set("User-Agent", c.s.userAgent())
3854	var body io.Reader = nil
3855	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
3856	if err != nil {
3857		return nil, err
3858	}
3859	reqHeaders.Set("Content-Type", "application/json")
3860	c.urlParams_.Set("alt", alt)
3861	c.urlParams_.Set("prettyPrint", "false")
3862	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
3863	urls += "?" + c.urlParams_.Encode()
3864	req, err := http.NewRequest("POST", urls, body)
3865	if err != nil {
3866		return nil, err
3867	}
3868	req.Header = reqHeaders
3869	googleapi.Expand(req.URL, map[string]string{
3870		"resource": c.resource,
3871	})
3872	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3873}
3874
3875// Do executes the "managedidentities.projects.locations.global.domains.testIamPermissions" call.
3876// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
3877// Any non-2xx status code is an error. Response headers are in either
3878// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
3879// was returned at all) in error.(*googleapi.Error).Header. Use
3880// googleapi.IsNotModified to check whether the returned error was
3881// because http.StatusNotModified was returned.
3882func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
3883	gensupport.SetOptions(c.urlParams_, opts...)
3884	res, err := c.doRequest("json")
3885	if res != nil && res.StatusCode == http.StatusNotModified {
3886		if res.Body != nil {
3887			res.Body.Close()
3888		}
3889		return nil, &googleapi.Error{
3890			Code:   res.StatusCode,
3891			Header: res.Header,
3892		}
3893	}
3894	if err != nil {
3895		return nil, err
3896	}
3897	defer googleapi.CloseBody(res)
3898	if err := googleapi.CheckResponse(res); err != nil {
3899		return nil, err
3900	}
3901	ret := &TestIamPermissionsResponse{
3902		ServerResponse: googleapi.ServerResponse{
3903			Header:         res.Header,
3904			HTTPStatusCode: res.StatusCode,
3905		},
3906	}
3907	target := &ret
3908	if err := gensupport.DecodeResponse(target, res); err != nil {
3909		return nil, err
3910	}
3911	return ret, nil
3912	// {
3913	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
3914	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:testIamPermissions",
3915	//   "httpMethod": "POST",
3916	//   "id": "managedidentities.projects.locations.global.domains.testIamPermissions",
3917	//   "parameterOrder": [
3918	//     "resource"
3919	//   ],
3920	//   "parameters": {
3921	//     "resource": {
3922	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
3923	//       "location": "path",
3924	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
3925	//       "required": true,
3926	//       "type": "string"
3927	//     }
3928	//   },
3929	//   "path": "v1/{+resource}:testIamPermissions",
3930	//   "request": {
3931	//     "$ref": "TestIamPermissionsRequest"
3932	//   },
3933	//   "response": {
3934	//     "$ref": "TestIamPermissionsResponse"
3935	//   },
3936	//   "scopes": [
3937	//     "https://www.googleapis.com/auth/cloud-platform"
3938	//   ]
3939	// }
3940
3941}
3942
3943// method id "managedidentities.projects.locations.global.domains.validateTrust":
3944
3945type ProjectsLocationsGlobalDomainsValidateTrustCall struct {
3946	s                    *Service
3947	name                 string
3948	validatetrustrequest *ValidateTrustRequest
3949	urlParams_           gensupport.URLParams
3950	ctx_                 context.Context
3951	header_              http.Header
3952}
3953
3954// ValidateTrust: Validates a trust state, that the target domain is
3955// reachable, and that the target domain is able to accept incoming
3956// trust requests.
3957func (r *ProjectsLocationsGlobalDomainsService) ValidateTrust(name string, validatetrustrequest *ValidateTrustRequest) *ProjectsLocationsGlobalDomainsValidateTrustCall {
3958	c := &ProjectsLocationsGlobalDomainsValidateTrustCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3959	c.name = name
3960	c.validatetrustrequest = validatetrustrequest
3961	return c
3962}
3963
3964// Fields allows partial responses to be retrieved. See
3965// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3966// for more information.
3967func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalDomainsValidateTrustCall {
3968	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3969	return c
3970}
3971
3972// Context sets the context to be used in this call's Do method. Any
3973// pending HTTP request will be aborted if the provided context is
3974// canceled.
3975func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) Context(ctx context.Context) *ProjectsLocationsGlobalDomainsValidateTrustCall {
3976	c.ctx_ = ctx
3977	return c
3978}
3979
3980// Header returns an http.Header that can be modified by the caller to
3981// add HTTP headers to the request.
3982func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) Header() http.Header {
3983	if c.header_ == nil {
3984		c.header_ = make(http.Header)
3985	}
3986	return c.header_
3987}
3988
3989func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) doRequest(alt string) (*http.Response, error) {
3990	reqHeaders := make(http.Header)
3991	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
3992	for k, v := range c.header_ {
3993		reqHeaders[k] = v
3994	}
3995	reqHeaders.Set("User-Agent", c.s.userAgent())
3996	var body io.Reader = nil
3997	body, err := googleapi.WithoutDataWrapper.JSONReader(c.validatetrustrequest)
3998	if err != nil {
3999		return nil, err
4000	}
4001	reqHeaders.Set("Content-Type", "application/json")
4002	c.urlParams_.Set("alt", alt)
4003	c.urlParams_.Set("prettyPrint", "false")
4004	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:validateTrust")
4005	urls += "?" + c.urlParams_.Encode()
4006	req, err := http.NewRequest("POST", urls, body)
4007	if err != nil {
4008		return nil, err
4009	}
4010	req.Header = reqHeaders
4011	googleapi.Expand(req.URL, map[string]string{
4012		"name": c.name,
4013	})
4014	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4015}
4016
4017// Do executes the "managedidentities.projects.locations.global.domains.validateTrust" call.
4018// Exactly one of *Operation or error will be non-nil. Any non-2xx
4019// status code is an error. Response headers are in either
4020// *Operation.ServerResponse.Header or (if a response was returned at
4021// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4022// to check whether the returned error was because
4023// http.StatusNotModified was returned.
4024func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4025	gensupport.SetOptions(c.urlParams_, opts...)
4026	res, err := c.doRequest("json")
4027	if res != nil && res.StatusCode == http.StatusNotModified {
4028		if res.Body != nil {
4029			res.Body.Close()
4030		}
4031		return nil, &googleapi.Error{
4032			Code:   res.StatusCode,
4033			Header: res.Header,
4034		}
4035	}
4036	if err != nil {
4037		return nil, err
4038	}
4039	defer googleapi.CloseBody(res)
4040	if err := googleapi.CheckResponse(res); err != nil {
4041		return nil, err
4042	}
4043	ret := &Operation{
4044		ServerResponse: googleapi.ServerResponse{
4045			Header:         res.Header,
4046			HTTPStatusCode: res.StatusCode,
4047		},
4048	}
4049	target := &ret
4050	if err := gensupport.DecodeResponse(target, res); err != nil {
4051		return nil, err
4052	}
4053	return ret, nil
4054	// {
4055	//   "description": "Validates a trust state, that the target domain is reachable, and that the target domain is able to accept incoming trust requests.",
4056	//   "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust",
4057	//   "httpMethod": "POST",
4058	//   "id": "managedidentities.projects.locations.global.domains.validateTrust",
4059	//   "parameterOrder": [
4060	//     "name"
4061	//   ],
4062	//   "parameters": {
4063	//     "name": {
4064	//       "description": "Required. The resource domain name, project name, and location using the form: `projects/{project_id}/locations/global/domains/{domain_name}`",
4065	//       "location": "path",
4066	//       "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$",
4067	//       "required": true,
4068	//       "type": "string"
4069	//     }
4070	//   },
4071	//   "path": "v1/{+name}:validateTrust",
4072	//   "request": {
4073	//     "$ref": "ValidateTrustRequest"
4074	//   },
4075	//   "response": {
4076	//     "$ref": "Operation"
4077	//   },
4078	//   "scopes": [
4079	//     "https://www.googleapis.com/auth/cloud-platform"
4080	//   ]
4081	// }
4082
4083}
4084
4085// method id "managedidentities.projects.locations.global.operations.cancel":
4086
4087type ProjectsLocationsGlobalOperationsCancelCall struct {
4088	s                      *Service
4089	name                   string
4090	canceloperationrequest *CancelOperationRequest
4091	urlParams_             gensupport.URLParams
4092	ctx_                   context.Context
4093	header_                http.Header
4094}
4095
4096// Cancel: Starts asynchronous cancellation on a long-running operation.
4097// The server makes a best effort to cancel the operation, but success
4098// is not guaranteed. If the server doesn't support this method, it
4099// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
4100// Operations.GetOperation or other methods to check whether the
4101// cancellation succeeded or whether the operation completed despite
4102// cancellation. On successful cancellation, the operation is not
4103// deleted; instead, it becomes an operation with an Operation.error
4104// value with a google.rpc.Status.code of 1, corresponding to
4105// `Code.CANCELLED`.
4106func (r *ProjectsLocationsGlobalOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsGlobalOperationsCancelCall {
4107	c := &ProjectsLocationsGlobalOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4108	c.name = name
4109	c.canceloperationrequest = canceloperationrequest
4110	return c
4111}
4112
4113// Fields allows partial responses to be retrieved. See
4114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4115// for more information.
4116func (c *ProjectsLocationsGlobalOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalOperationsCancelCall {
4117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4118	return c
4119}
4120
4121// Context sets the context to be used in this call's Do method. Any
4122// pending HTTP request will be aborted if the provided context is
4123// canceled.
4124func (c *ProjectsLocationsGlobalOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsGlobalOperationsCancelCall {
4125	c.ctx_ = ctx
4126	return c
4127}
4128
4129// Header returns an http.Header that can be modified by the caller to
4130// add HTTP headers to the request.
4131func (c *ProjectsLocationsGlobalOperationsCancelCall) Header() http.Header {
4132	if c.header_ == nil {
4133		c.header_ = make(http.Header)
4134	}
4135	return c.header_
4136}
4137
4138func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
4139	reqHeaders := make(http.Header)
4140	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
4141	for k, v := range c.header_ {
4142		reqHeaders[k] = v
4143	}
4144	reqHeaders.Set("User-Agent", c.s.userAgent())
4145	var body io.Reader = nil
4146	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
4147	if err != nil {
4148		return nil, err
4149	}
4150	reqHeaders.Set("Content-Type", "application/json")
4151	c.urlParams_.Set("alt", alt)
4152	c.urlParams_.Set("prettyPrint", "false")
4153	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
4154	urls += "?" + c.urlParams_.Encode()
4155	req, err := http.NewRequest("POST", urls, body)
4156	if err != nil {
4157		return nil, err
4158	}
4159	req.Header = reqHeaders
4160	googleapi.Expand(req.URL, map[string]string{
4161		"name": c.name,
4162	})
4163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4164}
4165
4166// Do executes the "managedidentities.projects.locations.global.operations.cancel" call.
4167// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4168// code is an error. Response headers are in either
4169// *Empty.ServerResponse.Header or (if a response was returned at all)
4170// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4171// check whether the returned error was because http.StatusNotModified
4172// was returned.
4173func (c *ProjectsLocationsGlobalOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4174	gensupport.SetOptions(c.urlParams_, opts...)
4175	res, err := c.doRequest("json")
4176	if res != nil && res.StatusCode == http.StatusNotModified {
4177		if res.Body != nil {
4178			res.Body.Close()
4179		}
4180		return nil, &googleapi.Error{
4181			Code:   res.StatusCode,
4182			Header: res.Header,
4183		}
4184	}
4185	if err != nil {
4186		return nil, err
4187	}
4188	defer googleapi.CloseBody(res)
4189	if err := googleapi.CheckResponse(res); err != nil {
4190		return nil, err
4191	}
4192	ret := &Empty{
4193		ServerResponse: googleapi.ServerResponse{
4194			Header:         res.Header,
4195			HTTPStatusCode: res.StatusCode,
4196		},
4197	}
4198	target := &ret
4199	if err := gensupport.DecodeResponse(target, res); err != nil {
4200		return nil, err
4201	}
4202	return ret, nil
4203	// {
4204	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
4205	//   "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel",
4206	//   "httpMethod": "POST",
4207	//   "id": "managedidentities.projects.locations.global.operations.cancel",
4208	//   "parameterOrder": [
4209	//     "name"
4210	//   ],
4211	//   "parameters": {
4212	//     "name": {
4213	//       "description": "The name of the operation resource to be cancelled.",
4214	//       "location": "path",
4215	//       "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$",
4216	//       "required": true,
4217	//       "type": "string"
4218	//     }
4219	//   },
4220	//   "path": "v1/{+name}:cancel",
4221	//   "request": {
4222	//     "$ref": "CancelOperationRequest"
4223	//   },
4224	//   "response": {
4225	//     "$ref": "Empty"
4226	//   },
4227	//   "scopes": [
4228	//     "https://www.googleapis.com/auth/cloud-platform"
4229	//   ]
4230	// }
4231
4232}
4233
4234// method id "managedidentities.projects.locations.global.operations.delete":
4235
4236type ProjectsLocationsGlobalOperationsDeleteCall struct {
4237	s          *Service
4238	name       string
4239	urlParams_ gensupport.URLParams
4240	ctx_       context.Context
4241	header_    http.Header
4242}
4243
4244// Delete: Deletes a long-running operation. This method indicates that
4245// the client is no longer interested in the operation result. It does
4246// not cancel the operation. If the server doesn't support this method,
4247// it returns `google.rpc.Code.UNIMPLEMENTED`.
4248func (r *ProjectsLocationsGlobalOperationsService) Delete(name string) *ProjectsLocationsGlobalOperationsDeleteCall {
4249	c := &ProjectsLocationsGlobalOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4250	c.name = name
4251	return c
4252}
4253
4254// Fields allows partial responses to be retrieved. See
4255// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4256// for more information.
4257func (c *ProjectsLocationsGlobalOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalOperationsDeleteCall {
4258	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4259	return c
4260}
4261
4262// Context sets the context to be used in this call's Do method. Any
4263// pending HTTP request will be aborted if the provided context is
4264// canceled.
4265func (c *ProjectsLocationsGlobalOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGlobalOperationsDeleteCall {
4266	c.ctx_ = ctx
4267	return c
4268}
4269
4270// Header returns an http.Header that can be modified by the caller to
4271// add HTTP headers to the request.
4272func (c *ProjectsLocationsGlobalOperationsDeleteCall) Header() http.Header {
4273	if c.header_ == nil {
4274		c.header_ = make(http.Header)
4275	}
4276	return c.header_
4277}
4278
4279func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
4280	reqHeaders := make(http.Header)
4281	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
4282	for k, v := range c.header_ {
4283		reqHeaders[k] = v
4284	}
4285	reqHeaders.Set("User-Agent", c.s.userAgent())
4286	var body io.Reader = nil
4287	c.urlParams_.Set("alt", alt)
4288	c.urlParams_.Set("prettyPrint", "false")
4289	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
4290	urls += "?" + c.urlParams_.Encode()
4291	req, err := http.NewRequest("DELETE", urls, body)
4292	if err != nil {
4293		return nil, err
4294	}
4295	req.Header = reqHeaders
4296	googleapi.Expand(req.URL, map[string]string{
4297		"name": c.name,
4298	})
4299	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4300}
4301
4302// Do executes the "managedidentities.projects.locations.global.operations.delete" call.
4303// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4304// code is an error. Response headers are in either
4305// *Empty.ServerResponse.Header or (if a response was returned at all)
4306// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4307// check whether the returned error was because http.StatusNotModified
4308// was returned.
4309func (c *ProjectsLocationsGlobalOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4310	gensupport.SetOptions(c.urlParams_, opts...)
4311	res, err := c.doRequest("json")
4312	if res != nil && res.StatusCode == http.StatusNotModified {
4313		if res.Body != nil {
4314			res.Body.Close()
4315		}
4316		return nil, &googleapi.Error{
4317			Code:   res.StatusCode,
4318			Header: res.Header,
4319		}
4320	}
4321	if err != nil {
4322		return nil, err
4323	}
4324	defer googleapi.CloseBody(res)
4325	if err := googleapi.CheckResponse(res); err != nil {
4326		return nil, err
4327	}
4328	ret := &Empty{
4329		ServerResponse: googleapi.ServerResponse{
4330			Header:         res.Header,
4331			HTTPStatusCode: res.StatusCode,
4332		},
4333	}
4334	target := &ret
4335	if err := gensupport.DecodeResponse(target, res); err != nil {
4336		return nil, err
4337	}
4338	return ret, nil
4339	// {
4340	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
4341	//   "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}",
4342	//   "httpMethod": "DELETE",
4343	//   "id": "managedidentities.projects.locations.global.operations.delete",
4344	//   "parameterOrder": [
4345	//     "name"
4346	//   ],
4347	//   "parameters": {
4348	//     "name": {
4349	//       "description": "The name of the operation resource to be deleted.",
4350	//       "location": "path",
4351	//       "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$",
4352	//       "required": true,
4353	//       "type": "string"
4354	//     }
4355	//   },
4356	//   "path": "v1/{+name}",
4357	//   "response": {
4358	//     "$ref": "Empty"
4359	//   },
4360	//   "scopes": [
4361	//     "https://www.googleapis.com/auth/cloud-platform"
4362	//   ]
4363	// }
4364
4365}
4366
4367// method id "managedidentities.projects.locations.global.operations.get":
4368
4369type ProjectsLocationsGlobalOperationsGetCall struct {
4370	s            *Service
4371	name         string
4372	urlParams_   gensupport.URLParams
4373	ifNoneMatch_ string
4374	ctx_         context.Context
4375	header_      http.Header
4376}
4377
4378// Get: Gets the latest state of a long-running operation. Clients can
4379// use this method to poll the operation result at intervals as
4380// recommended by the API service.
4381func (r *ProjectsLocationsGlobalOperationsService) Get(name string) *ProjectsLocationsGlobalOperationsGetCall {
4382	c := &ProjectsLocationsGlobalOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4383	c.name = name
4384	return c
4385}
4386
4387// Fields allows partial responses to be retrieved. See
4388// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4389// for more information.
4390func (c *ProjectsLocationsGlobalOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalOperationsGetCall {
4391	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4392	return c
4393}
4394
4395// IfNoneMatch sets the optional parameter which makes the operation
4396// fail if the object's ETag matches the given value. This is useful for
4397// getting updates only after the object has changed since the last
4398// request. Use googleapi.IsNotModified to check whether the response
4399// error from Do is the result of In-None-Match.
4400func (c *ProjectsLocationsGlobalOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalOperationsGetCall {
4401	c.ifNoneMatch_ = entityTag
4402	return c
4403}
4404
4405// Context sets the context to be used in this call's Do method. Any
4406// pending HTTP request will be aborted if the provided context is
4407// canceled.
4408func (c *ProjectsLocationsGlobalOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalOperationsGetCall {
4409	c.ctx_ = ctx
4410	return c
4411}
4412
4413// Header returns an http.Header that can be modified by the caller to
4414// add HTTP headers to the request.
4415func (c *ProjectsLocationsGlobalOperationsGetCall) Header() http.Header {
4416	if c.header_ == nil {
4417		c.header_ = make(http.Header)
4418	}
4419	return c.header_
4420}
4421
4422func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
4423	reqHeaders := make(http.Header)
4424	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
4425	for k, v := range c.header_ {
4426		reqHeaders[k] = v
4427	}
4428	reqHeaders.Set("User-Agent", c.s.userAgent())
4429	if c.ifNoneMatch_ != "" {
4430		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4431	}
4432	var body io.Reader = nil
4433	c.urlParams_.Set("alt", alt)
4434	c.urlParams_.Set("prettyPrint", "false")
4435	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
4436	urls += "?" + c.urlParams_.Encode()
4437	req, err := http.NewRequest("GET", urls, body)
4438	if err != nil {
4439		return nil, err
4440	}
4441	req.Header = reqHeaders
4442	googleapi.Expand(req.URL, map[string]string{
4443		"name": c.name,
4444	})
4445	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4446}
4447
4448// Do executes the "managedidentities.projects.locations.global.operations.get" call.
4449// Exactly one of *Operation or error will be non-nil. Any non-2xx
4450// status code is an error. Response headers are in either
4451// *Operation.ServerResponse.Header or (if a response was returned at
4452// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4453// to check whether the returned error was because
4454// http.StatusNotModified was returned.
4455func (c *ProjectsLocationsGlobalOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4456	gensupport.SetOptions(c.urlParams_, opts...)
4457	res, err := c.doRequest("json")
4458	if res != nil && res.StatusCode == http.StatusNotModified {
4459		if res.Body != nil {
4460			res.Body.Close()
4461		}
4462		return nil, &googleapi.Error{
4463			Code:   res.StatusCode,
4464			Header: res.Header,
4465		}
4466	}
4467	if err != nil {
4468		return nil, err
4469	}
4470	defer googleapi.CloseBody(res)
4471	if err := googleapi.CheckResponse(res); err != nil {
4472		return nil, err
4473	}
4474	ret := &Operation{
4475		ServerResponse: googleapi.ServerResponse{
4476			Header:         res.Header,
4477			HTTPStatusCode: res.StatusCode,
4478		},
4479	}
4480	target := &ret
4481	if err := gensupport.DecodeResponse(target, res); err != nil {
4482		return nil, err
4483	}
4484	return ret, nil
4485	// {
4486	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
4487	//   "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}",
4488	//   "httpMethod": "GET",
4489	//   "id": "managedidentities.projects.locations.global.operations.get",
4490	//   "parameterOrder": [
4491	//     "name"
4492	//   ],
4493	//   "parameters": {
4494	//     "name": {
4495	//       "description": "The name of the operation resource.",
4496	//       "location": "path",
4497	//       "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$",
4498	//       "required": true,
4499	//       "type": "string"
4500	//     }
4501	//   },
4502	//   "path": "v1/{+name}",
4503	//   "response": {
4504	//     "$ref": "Operation"
4505	//   },
4506	//   "scopes": [
4507	//     "https://www.googleapis.com/auth/cloud-platform"
4508	//   ]
4509	// }
4510
4511}
4512
4513// method id "managedidentities.projects.locations.global.operations.list":
4514
4515type ProjectsLocationsGlobalOperationsListCall struct {
4516	s            *Service
4517	name         string
4518	urlParams_   gensupport.URLParams
4519	ifNoneMatch_ string
4520	ctx_         context.Context
4521	header_      http.Header
4522}
4523
4524// List: Lists operations that match the specified filter in the
4525// request. If the server doesn't support this method, it returns
4526// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
4527// override the binding to use different resource name schemes, such as
4528// `users/*/operations`. To override the binding, API services can add a
4529// binding such as "/v1/{name=users/*}/operations" to their service
4530// configuration. For backwards compatibility, the default name includes
4531// the operations collection id, however overriding users must ensure
4532// the name binding is the parent resource, without the operations
4533// collection id.
4534func (r *ProjectsLocationsGlobalOperationsService) List(name string) *ProjectsLocationsGlobalOperationsListCall {
4535	c := &ProjectsLocationsGlobalOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4536	c.name = name
4537	return c
4538}
4539
4540// Filter sets the optional parameter "filter": The standard list
4541// filter.
4542func (c *ProjectsLocationsGlobalOperationsListCall) Filter(filter string) *ProjectsLocationsGlobalOperationsListCall {
4543	c.urlParams_.Set("filter", filter)
4544	return c
4545}
4546
4547// PageSize sets the optional parameter "pageSize": The standard list
4548// page size.
4549func (c *ProjectsLocationsGlobalOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalOperationsListCall {
4550	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
4551	return c
4552}
4553
4554// PageToken sets the optional parameter "pageToken": The standard list
4555// page token.
4556func (c *ProjectsLocationsGlobalOperationsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalOperationsListCall {
4557	c.urlParams_.Set("pageToken", pageToken)
4558	return c
4559}
4560
4561// Fields allows partial responses to be retrieved. See
4562// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4563// for more information.
4564func (c *ProjectsLocationsGlobalOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalOperationsListCall {
4565	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4566	return c
4567}
4568
4569// IfNoneMatch sets the optional parameter which makes the operation
4570// fail if the object's ETag matches the given value. This is useful for
4571// getting updates only after the object has changed since the last
4572// request. Use googleapi.IsNotModified to check whether the response
4573// error from Do is the result of In-None-Match.
4574func (c *ProjectsLocationsGlobalOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalOperationsListCall {
4575	c.ifNoneMatch_ = entityTag
4576	return c
4577}
4578
4579// Context sets the context to be used in this call's Do method. Any
4580// pending HTTP request will be aborted if the provided context is
4581// canceled.
4582func (c *ProjectsLocationsGlobalOperationsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalOperationsListCall {
4583	c.ctx_ = ctx
4584	return c
4585}
4586
4587// Header returns an http.Header that can be modified by the caller to
4588// add HTTP headers to the request.
4589func (c *ProjectsLocationsGlobalOperationsListCall) Header() http.Header {
4590	if c.header_ == nil {
4591		c.header_ = make(http.Header)
4592	}
4593	return c.header_
4594}
4595
4596func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
4597	reqHeaders := make(http.Header)
4598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
4599	for k, v := range c.header_ {
4600		reqHeaders[k] = v
4601	}
4602	reqHeaders.Set("User-Agent", c.s.userAgent())
4603	if c.ifNoneMatch_ != "" {
4604		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4605	}
4606	var body io.Reader = nil
4607	c.urlParams_.Set("alt", alt)
4608	c.urlParams_.Set("prettyPrint", "false")
4609	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
4610	urls += "?" + c.urlParams_.Encode()
4611	req, err := http.NewRequest("GET", urls, body)
4612	if err != nil {
4613		return nil, err
4614	}
4615	req.Header = reqHeaders
4616	googleapi.Expand(req.URL, map[string]string{
4617		"name": c.name,
4618	})
4619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4620}
4621
4622// Do executes the "managedidentities.projects.locations.global.operations.list" call.
4623// Exactly one of *ListOperationsResponse or error will be non-nil. Any
4624// non-2xx status code is an error. Response headers are in either
4625// *ListOperationsResponse.ServerResponse.Header or (if a response was
4626// returned at all) in error.(*googleapi.Error).Header. Use
4627// googleapi.IsNotModified to check whether the returned error was
4628// because http.StatusNotModified was returned.
4629func (c *ProjectsLocationsGlobalOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
4630	gensupport.SetOptions(c.urlParams_, opts...)
4631	res, err := c.doRequest("json")
4632	if res != nil && res.StatusCode == http.StatusNotModified {
4633		if res.Body != nil {
4634			res.Body.Close()
4635		}
4636		return nil, &googleapi.Error{
4637			Code:   res.StatusCode,
4638			Header: res.Header,
4639		}
4640	}
4641	if err != nil {
4642		return nil, err
4643	}
4644	defer googleapi.CloseBody(res)
4645	if err := googleapi.CheckResponse(res); err != nil {
4646		return nil, err
4647	}
4648	ret := &ListOperationsResponse{
4649		ServerResponse: googleapi.ServerResponse{
4650			Header:         res.Header,
4651			HTTPStatusCode: res.StatusCode,
4652		},
4653	}
4654	target := &ret
4655	if err := gensupport.DecodeResponse(target, res); err != nil {
4656		return nil, err
4657	}
4658	return ret, nil
4659	// {
4660	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
4661	//   "flatPath": "v1/projects/{projectsId}/locations/global/operations",
4662	//   "httpMethod": "GET",
4663	//   "id": "managedidentities.projects.locations.global.operations.list",
4664	//   "parameterOrder": [
4665	//     "name"
4666	//   ],
4667	//   "parameters": {
4668	//     "filter": {
4669	//       "description": "The standard list filter.",
4670	//       "location": "query",
4671	//       "type": "string"
4672	//     },
4673	//     "name": {
4674	//       "description": "The name of the operation's parent resource.",
4675	//       "location": "path",
4676	//       "pattern": "^projects/[^/]+/locations/global/operations$",
4677	//       "required": true,
4678	//       "type": "string"
4679	//     },
4680	//     "pageSize": {
4681	//       "description": "The standard list page size.",
4682	//       "format": "int32",
4683	//       "location": "query",
4684	//       "type": "integer"
4685	//     },
4686	//     "pageToken": {
4687	//       "description": "The standard list page token.",
4688	//       "location": "query",
4689	//       "type": "string"
4690	//     }
4691	//   },
4692	//   "path": "v1/{+name}",
4693	//   "response": {
4694	//     "$ref": "ListOperationsResponse"
4695	//   },
4696	//   "scopes": [
4697	//     "https://www.googleapis.com/auth/cloud-platform"
4698	//   ]
4699	// }
4700
4701}
4702
4703// Pages invokes f for each page of results.
4704// A non-nil error returned from f will halt the iteration.
4705// The provided context supersedes any context provided to the Context method.
4706func (c *ProjectsLocationsGlobalOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
4707	c.ctx_ = ctx
4708	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4709	for {
4710		x, err := c.Do()
4711		if err != nil {
4712			return err
4713		}
4714		if err := f(x); err != nil {
4715			return err
4716		}
4717		if x.NextPageToken == "" {
4718			return nil
4719		}
4720		c.PageToken(x.NextPageToken)
4721	}
4722}
4723