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 servicebroker provides access to the Service Broker API.
8//
9// For product documentation, see: https://cloud.google.com/kubernetes-engine/docs/concepts/add-on/service-broker
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/servicebroker/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   servicebrokerService, err := servicebroker.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//   servicebrokerService, err := servicebroker.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//   servicebrokerService, err := servicebroker.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package servicebroker // import "google.golang.org/api/servicebroker/v1beta1"
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	htransport "google.golang.org/api/transport/http"
56)
57
58// Always reference these packages, just in case the auto-generated code
59// below doesn't.
60var _ = bytes.NewBuffer
61var _ = strconv.Itoa
62var _ = fmt.Sprintf
63var _ = json.NewDecoder
64var _ = io.Copy
65var _ = url.Parse
66var _ = gensupport.MarshalJSON
67var _ = googleapi.Version
68var _ = errors.New
69var _ = strings.Replace
70var _ = context.Canceled
71
72const apiId = "servicebroker:v1beta1"
73const apiName = "servicebroker"
74const apiVersion = "v1beta1"
75const basePath = "https://servicebroker.googleapis.com/"
76
77// OAuth2 scopes used by this API.
78const (
79	// View and manage your data across Google Cloud Platform services
80	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
81)
82
83// NewService creates a new Service.
84func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
85	scopesOption := option.WithScopes(
86		"https://www.googleapis.com/auth/cloud-platform",
87	)
88	// NOTE: prepend, so we don't override user-specified scopes.
89	opts = append([]option.ClientOption{scopesOption}, opts...)
90	client, endpoint, err := htransport.NewClient(ctx, opts...)
91	if err != nil {
92		return nil, err
93	}
94	s, err := New(client)
95	if err != nil {
96		return nil, err
97	}
98	if endpoint != "" {
99		s.BasePath = endpoint
100	}
101	return s, nil
102}
103
104// New creates a new Service. It uses the provided http.Client for requests.
105//
106// Deprecated: please use NewService instead.
107// To provide a custom HTTP client, use option.WithHTTPClient.
108// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
109func New(client *http.Client) (*Service, error) {
110	if client == nil {
111		return nil, errors.New("client is nil")
112	}
113	s := &Service{client: client, BasePath: basePath}
114	s.Projects = NewProjectsService(s)
115	s.V1beta1 = NewV1beta1Service(s)
116	return s, nil
117}
118
119type Service struct {
120	client    *http.Client
121	BasePath  string // API endpoint base URL
122	UserAgent string // optional additional User-Agent fragment
123
124	Projects *ProjectsService
125
126	V1beta1 *V1beta1Service
127}
128
129func (s *Service) userAgent() string {
130	if s.UserAgent == "" {
131		return googleapi.UserAgent
132	}
133	return googleapi.UserAgent + " " + s.UserAgent
134}
135
136func NewProjectsService(s *Service) *ProjectsService {
137	rs := &ProjectsService{s: s}
138	rs.Brokers = NewProjectsBrokersService(s)
139	return rs
140}
141
142type ProjectsService struct {
143	s *Service
144
145	Brokers *ProjectsBrokersService
146}
147
148func NewProjectsBrokersService(s *Service) *ProjectsBrokersService {
149	rs := &ProjectsBrokersService{s: s}
150	rs.Instances = NewProjectsBrokersInstancesService(s)
151	rs.V2 = NewProjectsBrokersV2Service(s)
152	return rs
153}
154
155type ProjectsBrokersService struct {
156	s *Service
157
158	Instances *ProjectsBrokersInstancesService
159
160	V2 *ProjectsBrokersV2Service
161}
162
163func NewProjectsBrokersInstancesService(s *Service) *ProjectsBrokersInstancesService {
164	rs := &ProjectsBrokersInstancesService{s: s}
165	rs.Bindings = NewProjectsBrokersInstancesBindingsService(s)
166	return rs
167}
168
169type ProjectsBrokersInstancesService struct {
170	s *Service
171
172	Bindings *ProjectsBrokersInstancesBindingsService
173}
174
175func NewProjectsBrokersInstancesBindingsService(s *Service) *ProjectsBrokersInstancesBindingsService {
176	rs := &ProjectsBrokersInstancesBindingsService{s: s}
177	return rs
178}
179
180type ProjectsBrokersInstancesBindingsService struct {
181	s *Service
182}
183
184func NewProjectsBrokersV2Service(s *Service) *ProjectsBrokersV2Service {
185	rs := &ProjectsBrokersV2Service{s: s}
186	rs.Catalog = NewProjectsBrokersV2CatalogService(s)
187	rs.ServiceInstances = NewProjectsBrokersV2ServiceInstancesService(s)
188	return rs
189}
190
191type ProjectsBrokersV2Service struct {
192	s *Service
193
194	Catalog *ProjectsBrokersV2CatalogService
195
196	ServiceInstances *ProjectsBrokersV2ServiceInstancesService
197}
198
199func NewProjectsBrokersV2CatalogService(s *Service) *ProjectsBrokersV2CatalogService {
200	rs := &ProjectsBrokersV2CatalogService{s: s}
201	return rs
202}
203
204type ProjectsBrokersV2CatalogService struct {
205	s *Service
206}
207
208func NewProjectsBrokersV2ServiceInstancesService(s *Service) *ProjectsBrokersV2ServiceInstancesService {
209	rs := &ProjectsBrokersV2ServiceInstancesService{s: s}
210	rs.ServiceBindings = NewProjectsBrokersV2ServiceInstancesServiceBindingsService(s)
211	return rs
212}
213
214type ProjectsBrokersV2ServiceInstancesService struct {
215	s *Service
216
217	ServiceBindings *ProjectsBrokersV2ServiceInstancesServiceBindingsService
218}
219
220func NewProjectsBrokersV2ServiceInstancesServiceBindingsService(s *Service) *ProjectsBrokersV2ServiceInstancesServiceBindingsService {
221	rs := &ProjectsBrokersV2ServiceInstancesServiceBindingsService{s: s}
222	return rs
223}
224
225type ProjectsBrokersV2ServiceInstancesServiceBindingsService struct {
226	s *Service
227}
228
229func NewV1beta1Service(s *Service) *V1beta1Service {
230	rs := &V1beta1Service{s: s}
231	return rs
232}
233
234type V1beta1Service struct {
235	s *Service
236}
237
238// GoogleCloudServicebrokerV1beta1__Binding: Describes the binding.
239type GoogleCloudServicebrokerV1beta1__Binding struct {
240	// BindResource: A JSON object that contains data for platform resources
241	// associated with
242	// the binding to be created.
243	BindResource googleapi.RawMessage `json:"bind_resource,omitempty"`
244
245	// BindingId: The id of the binding. Must be unique within GCP
246	// project.
247	// Maximum length is 64, GUID recommended.
248	// Required.
249	BindingId string `json:"binding_id,omitempty"`
250
251	// CreateTime: Output only. Timestamp for when the binding was created.
252	CreateTime string `json:"createTime,omitempty"`
253
254	// DeploymentName: Output only. String containing the Deployment Manager
255	// deployment name that was created
256	// for this binding,
257	DeploymentName string `json:"deploymentName,omitempty"`
258
259	// Parameters: Configuration options for the service binding.
260	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
261
262	// PlanId: The ID of the plan. See `Service` and `Plan` resources for
263	// details.
264	// Maximum length is 64, GUID recommended.
265	// Required.
266	PlanId string `json:"plan_id,omitempty"`
267
268	// ResourceName: Output only. The resource name of the binding,
269	// e.g.
270	// projects/project_id/brokers/broker_id/service_instances/instance_
271	// id/bindings/binding_id.
272	ResourceName string `json:"resourceName,omitempty"`
273
274	// ServiceId: The id of the service. Must be a valid identifier of a
275	// service
276	// contained in the list from a `ListServices()` call.
277	// Maximum length is 64, GUID recommended.
278	// Required.
279	ServiceId string `json:"service_id,omitempty"`
280
281	// ForceSendFields is a list of field names (e.g. "BindResource") to
282	// unconditionally include in API requests. By default, fields with
283	// empty values are omitted from API requests. However, any non-pointer,
284	// non-interface field appearing in ForceSendFields will be sent to the
285	// server regardless of whether the field is empty or not. This may be
286	// used to include empty fields in Patch requests.
287	ForceSendFields []string `json:"-"`
288
289	// NullFields is a list of field names (e.g. "BindResource") to include
290	// in API requests with the JSON null value. By default, fields with
291	// empty values are omitted from API requests. However, any field with
292	// an empty value appearing in NullFields will be sent to the server as
293	// null. It is an error if a field in this list has a non-empty value.
294	// This may be used to include null fields in Patch requests.
295	NullFields []string `json:"-"`
296}
297
298func (s *GoogleCloudServicebrokerV1beta1__Binding) MarshalJSON() ([]byte, error) {
299	type NoMethod GoogleCloudServicebrokerV1beta1__Binding
300	raw := NoMethod(*s)
301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
302}
303
304// GoogleCloudServicebrokerV1beta1__Broker: Broker represents a
305// consumable collection of Service Registry catalogs
306// exposed as an OSB Broker.
307type GoogleCloudServicebrokerV1beta1__Broker struct {
308	// CreateTime: Output only. Timestamp for when the broker was created.
309	CreateTime string `json:"createTime,omitempty"`
310
311	// Name: Name of the broker in the
312	// format:
313	// <projects>/<project-id>/brokers/<broker>.
314	// This allows for multiple brokers per project which can be used
315	// to
316	// enable having custom brokers per GKE cluster, for example.
317	Name string `json:"name,omitempty"`
318
319	// Title: User friendly title of the broker.
320	// Limited to 1024 characters. Requests with longer titles will be
321	// rejected.
322	Title string `json:"title,omitempty"`
323
324	// Url: Output only. URL of the broker OSB-compliant endpoint, for
325	// example:
326	// https://servicebroker.googleapis.com/projects/<project>/broke
327	// rs/<broker>
328	Url string `json:"url,omitempty"`
329
330	// ServerResponse contains the HTTP response code and headers from the
331	// server.
332	googleapi.ServerResponse `json:"-"`
333
334	// ForceSendFields is a list of field names (e.g. "CreateTime") to
335	// unconditionally include in API requests. By default, fields with
336	// empty values are omitted from API requests. However, any non-pointer,
337	// non-interface field appearing in ForceSendFields will be sent to the
338	// server regardless of whether the field is empty or not. This may be
339	// used to include empty fields in Patch requests.
340	ForceSendFields []string `json:"-"`
341
342	// NullFields is a list of field names (e.g. "CreateTime") to include in
343	// API requests with the JSON null value. By default, fields with empty
344	// values are omitted from API requests. However, any field with an
345	// empty value appearing in NullFields will be sent to the server as
346	// null. It is an error if a field in this list has a non-empty value.
347	// This may be used to include null fields in Patch requests.
348	NullFields []string `json:"-"`
349}
350
351func (s *GoogleCloudServicebrokerV1beta1__Broker) MarshalJSON() ([]byte, error) {
352	type NoMethod GoogleCloudServicebrokerV1beta1__Broker
353	raw := NoMethod(*s)
354	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
355}
356
357// GoogleCloudServicebrokerV1beta1__CreateBindingResponse: Response for
358// the `CreateBinding()` method.
359type GoogleCloudServicebrokerV1beta1__CreateBindingResponse struct {
360	// Credentials: Credentials to use the binding.
361	Credentials googleapi.RawMessage `json:"credentials,omitempty"`
362
363	// Description: Used to communicate description of the response. Usually
364	// for non-standard
365	// error
366	// codes.
367	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
368	// er/spec.md#service-broker-errors
369	Description string `json:"description,omitempty"`
370
371	// Operation: If broker executes operation asynchronously, this is the
372	// operation ID that
373	// can be polled to check the completion status of said operation.
374	// This broker always executes all create/delete operations
375	// asynchronously.
376	Operation string `json:"operation,omitempty"`
377
378	// RouteServiceUrl: A URL to which the platform may proxy requests for
379	// the address sent with
380	// bind_resource.route
381	RouteServiceUrl string `json:"route_service_url,omitempty"`
382
383	// SyslogDrainUrl: From where to read system logs.
384	SyslogDrainUrl string `json:"syslog_drain_url,omitempty"`
385
386	// VolumeMounts: An array of configuration for mounting volumes.
387	VolumeMounts []googleapi.RawMessage `json:"volume_mounts,omitempty"`
388
389	// ServerResponse contains the HTTP response code and headers from the
390	// server.
391	googleapi.ServerResponse `json:"-"`
392
393	// ForceSendFields is a list of field names (e.g. "Credentials") to
394	// unconditionally include in API requests. By default, fields with
395	// empty values are omitted from API requests. However, any non-pointer,
396	// non-interface field appearing in ForceSendFields will be sent to the
397	// server regardless of whether the field is empty or not. This may be
398	// used to include empty fields in Patch requests.
399	ForceSendFields []string `json:"-"`
400
401	// NullFields is a list of field names (e.g. "Credentials") to include
402	// in API requests with the JSON null value. By default, fields with
403	// empty values are omitted from API requests. However, any field with
404	// an empty value appearing in NullFields will be sent to the server as
405	// null. It is an error if a field in this list has a non-empty value.
406	// This may be used to include null fields in Patch requests.
407	NullFields []string `json:"-"`
408}
409
410func (s *GoogleCloudServicebrokerV1beta1__CreateBindingResponse) MarshalJSON() ([]byte, error) {
411	type NoMethod GoogleCloudServicebrokerV1beta1__CreateBindingResponse
412	raw := NoMethod(*s)
413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
414}
415
416// GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse:
417// Response for the `CreateServiceInstance()` method.
418type GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse struct {
419	// Description: Used to communicate description of the response. Usually
420	// for non-standard
421	// error
422	// codes.
423	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
424	// er/spec.md#service-broker-errors
425	Description string `json:"description,omitempty"`
426
427	// Operation: If broker executes operation asynchronously, this is the
428	// operation ID that
429	// can be polled to check the completion status of said operation.
430	// This broker always will return a non-empty operation on success.
431	Operation string `json:"operation,omitempty"`
432
433	// ServerResponse contains the HTTP response code and headers from the
434	// server.
435	googleapi.ServerResponse `json:"-"`
436
437	// ForceSendFields is a list of field names (e.g. "Description") to
438	// unconditionally include in API requests. By default, fields with
439	// empty values are omitted from API requests. However, any non-pointer,
440	// non-interface field appearing in ForceSendFields will be sent to the
441	// server regardless of whether the field is empty or not. This may be
442	// used to include empty fields in Patch requests.
443	ForceSendFields []string `json:"-"`
444
445	// NullFields is a list of field names (e.g. "Description") to include
446	// in API requests with the JSON null value. By default, fields with
447	// empty values are omitted from API requests. However, any field with
448	// an empty value appearing in NullFields will be sent to the server as
449	// null. It is an error if a field in this list has a non-empty value.
450	// This may be used to include null fields in Patch requests.
451	NullFields []string `json:"-"`
452}
453
454func (s *GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse) MarshalJSON() ([]byte, error) {
455	type NoMethod GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse
456	raw := NoMethod(*s)
457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
458}
459
460// GoogleCloudServicebrokerV1beta1__DashboardClient: Message containing
461// information required to activate Dashboard SSO feature.
462type GoogleCloudServicebrokerV1beta1__DashboardClient struct {
463	// Id: The id of the Oauth client that the dashboard will use.
464	Id string `json:"id,omitempty"`
465
466	// RedirectUri: A URI for the service dashboard.
467	// Validated by the OAuth token server when the dashboard requests a
468	// token.
469	RedirectUri string `json:"redirect_uri,omitempty"`
470
471	// Secret: A secret for the dashboard client.
472	Secret string `json:"secret,omitempty"`
473
474	// ForceSendFields is a list of field names (e.g. "Id") to
475	// unconditionally include in API requests. By default, fields with
476	// empty values are omitted from API requests. However, any non-pointer,
477	// non-interface field appearing in ForceSendFields will be sent to the
478	// server regardless of whether the field is empty or not. This may be
479	// used to include empty fields in Patch requests.
480	ForceSendFields []string `json:"-"`
481
482	// NullFields is a list of field names (e.g. "Id") to include in API
483	// requests with the JSON null value. By default, fields with empty
484	// values are omitted from API requests. However, any field with an
485	// empty value appearing in NullFields will be sent to the server as
486	// null. It is an error if a field in this list has a non-empty value.
487	// This may be used to include null fields in Patch requests.
488	NullFields []string `json:"-"`
489}
490
491func (s *GoogleCloudServicebrokerV1beta1__DashboardClient) MarshalJSON() ([]byte, error) {
492	type NoMethod GoogleCloudServicebrokerV1beta1__DashboardClient
493	raw := NoMethod(*s)
494	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
495}
496
497// GoogleCloudServicebrokerV1beta1__DeleteBindingResponse: Response for
498// the `DeleteBinding()` method.
499type GoogleCloudServicebrokerV1beta1__DeleteBindingResponse struct {
500	// Description: Used to communicate description of the response. Usually
501	// for non-standard
502	// error
503	// codes.
504	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
505	// er/spec.md#service-broker-errors
506	Description string `json:"description,omitempty"`
507
508	// Operation: If broker executes operation asynchronously, this is the
509	// operation ID that
510	// can be polled to check the completion status of said operation.
511	Operation string `json:"operation,omitempty"`
512
513	// ServerResponse contains the HTTP response code and headers from the
514	// server.
515	googleapi.ServerResponse `json:"-"`
516
517	// ForceSendFields is a list of field names (e.g. "Description") to
518	// unconditionally include in API requests. By default, fields with
519	// empty values are omitted from API requests. However, any non-pointer,
520	// non-interface field appearing in ForceSendFields will be sent to the
521	// server regardless of whether the field is empty or not. This may be
522	// used to include empty fields in Patch requests.
523	ForceSendFields []string `json:"-"`
524
525	// NullFields is a list of field names (e.g. "Description") to include
526	// in API requests with the JSON null value. By default, fields with
527	// empty values are omitted from API requests. However, any field with
528	// an empty value appearing in NullFields will be sent to the server as
529	// null. It is an error if a field in this list has a non-empty value.
530	// This may be used to include null fields in Patch requests.
531	NullFields []string `json:"-"`
532}
533
534func (s *GoogleCloudServicebrokerV1beta1__DeleteBindingResponse) MarshalJSON() ([]byte, error) {
535	type NoMethod GoogleCloudServicebrokerV1beta1__DeleteBindingResponse
536	raw := NoMethod(*s)
537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
538}
539
540// GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse:
541// Response for the `DeleteServiceInstance()` method.
542type GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse struct {
543	// Description: Used to communicate description of the response. Usually
544	// for non-standard
545	// error
546	// codes.
547	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
548	// er/spec.md#service-broker-errors
549	Description string `json:"description,omitempty"`
550
551	// Operation: If broker executes operation asynchronously, this is the
552	// operation ID that
553	// can be polled to check the completion status of said operation.
554	Operation string `json:"operation,omitempty"`
555
556	// ServerResponse contains the HTTP response code and headers from the
557	// server.
558	googleapi.ServerResponse `json:"-"`
559
560	// ForceSendFields is a list of field names (e.g. "Description") to
561	// unconditionally include in API requests. By default, fields with
562	// empty values are omitted from API requests. However, any non-pointer,
563	// non-interface field appearing in ForceSendFields will be sent to the
564	// server regardless of whether the field is empty or not. This may be
565	// used to include empty fields in Patch requests.
566	ForceSendFields []string `json:"-"`
567
568	// NullFields is a list of field names (e.g. "Description") to include
569	// in API requests with the JSON null value. By default, fields with
570	// empty values are omitted from API requests. However, any field with
571	// an empty value appearing in NullFields will be sent to the server as
572	// null. It is an error if a field in this list has a non-empty value.
573	// This may be used to include null fields in Patch requests.
574	NullFields []string `json:"-"`
575}
576
577func (s *GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse) MarshalJSON() ([]byte, error) {
578	type NoMethod GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse
579	raw := NoMethod(*s)
580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
581}
582
583// GoogleCloudServicebrokerV1beta1__GetBindingResponse: Response for the
584// `GetBinding()` method.
585type GoogleCloudServicebrokerV1beta1__GetBindingResponse struct {
586	// Credentials: Credentials to use the binding.
587	Credentials googleapi.RawMessage `json:"credentials,omitempty"`
588
589	// DeploymentName: String containing the Deployment Manager deployment
590	// name that was created
591	// for this binding,
592	DeploymentName string `json:"deploymentName,omitempty"`
593
594	// Description: Used to communicate description of the response. Usually
595	// for non-standard
596	// error
597	// codes.
598	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
599	// er/spec.md#service-broker-errors
600	Description string `json:"description,omitempty"`
601
602	// ResourceName: Output only. The resource name of the binding,
603	// e.g.
604	// projects/project_id/brokers/broker_id/service_instances/instance_
605	// id/bindings/binding_id.
606	ResourceName string `json:"resourceName,omitempty"`
607
608	// RouteServiceUrl: A URL to which the platform may proxy requests for
609	// the address sent with
610	// bind_resource.route
611	RouteServiceUrl string `json:"route_service_url,omitempty"`
612
613	// SyslogDrainUrl: From where to read system logs.
614	SyslogDrainUrl string `json:"syslog_drain_url,omitempty"`
615
616	// VolumeMounts: An array of configurations for mounting volumes.
617	VolumeMounts []googleapi.RawMessage `json:"volume_mounts,omitempty"`
618
619	// ServerResponse contains the HTTP response code and headers from the
620	// server.
621	googleapi.ServerResponse `json:"-"`
622
623	// ForceSendFields is a list of field names (e.g. "Credentials") to
624	// unconditionally include in API requests. By default, fields with
625	// empty values are omitted from API requests. However, any non-pointer,
626	// non-interface field appearing in ForceSendFields will be sent to the
627	// server regardless of whether the field is empty or not. This may be
628	// used to include empty fields in Patch requests.
629	ForceSendFields []string `json:"-"`
630
631	// NullFields is a list of field names (e.g. "Credentials") to include
632	// in API requests with the JSON null value. By default, fields with
633	// empty values are omitted from API requests. However, any field with
634	// an empty value appearing in NullFields will be sent to the server as
635	// null. It is an error if a field in this list has a non-empty value.
636	// This may be used to include null fields in Patch requests.
637	NullFields []string `json:"-"`
638}
639
640func (s *GoogleCloudServicebrokerV1beta1__GetBindingResponse) MarshalJSON() ([]byte, error) {
641	type NoMethod GoogleCloudServicebrokerV1beta1__GetBindingResponse
642	raw := NoMethod(*s)
643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
644}
645
646// GoogleCloudServicebrokerV1beta1__ListBindingsResponse: The response
647// for the `ListBindings()` method.
648type GoogleCloudServicebrokerV1beta1__ListBindingsResponse struct {
649	// Bindings: The list of bindings in the instance.
650	Bindings []*GoogleCloudServicebrokerV1beta1__Binding `json:"bindings,omitempty"`
651
652	// Description: Used to communicate description of the response. Usually
653	// for non-standard
654	// error
655	// codes.
656	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
657	// er/spec.md#service-broker-errors
658	Description string `json:"description,omitempty"`
659
660	// NextPageToken: This token allows you to get the next page of results
661	// for list requests.
662	// If the number of results is larger than `pageSize`, use the
663	// `nextPageToken`
664	// as a value for the query parameter `pageToken` in the next list
665	// request.
666	// Subsequent list requests will have their own `nextPageToken` to
667	// continue
668	// paging through the results
669	NextPageToken string `json:"nextPageToken,omitempty"`
670
671	// ServerResponse contains the HTTP response code and headers from the
672	// server.
673	googleapi.ServerResponse `json:"-"`
674
675	// ForceSendFields is a list of field names (e.g. "Bindings") to
676	// unconditionally include in API requests. By default, fields with
677	// empty values are omitted from API requests. However, any non-pointer,
678	// non-interface field appearing in ForceSendFields will be sent to the
679	// server regardless of whether the field is empty or not. This may be
680	// used to include empty fields in Patch requests.
681	ForceSendFields []string `json:"-"`
682
683	// NullFields is a list of field names (e.g. "Bindings") to include in
684	// API requests with the JSON null value. By default, fields with empty
685	// values are omitted from API requests. However, any field with an
686	// empty value appearing in NullFields will be sent to the server as
687	// null. It is an error if a field in this list has a non-empty value.
688	// This may be used to include null fields in Patch requests.
689	NullFields []string `json:"-"`
690}
691
692func (s *GoogleCloudServicebrokerV1beta1__ListBindingsResponse) MarshalJSON() ([]byte, error) {
693	type NoMethod GoogleCloudServicebrokerV1beta1__ListBindingsResponse
694	raw := NoMethod(*s)
695	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
696}
697
698// GoogleCloudServicebrokerV1beta1__ListBrokersResponse: The response
699// for the `ListBrokers()` method.
700type GoogleCloudServicebrokerV1beta1__ListBrokersResponse struct {
701	// Brokers: The list of brokers in the container.
702	Brokers []*GoogleCloudServicebrokerV1beta1__Broker `json:"brokers,omitempty"`
703
704	// NextPageToken: This token allows you to get the next page of results
705	// for list requests.
706	// If the number of results is larger than `pageSize`, use the
707	// `nextPageToken`
708	// as a value for the query parameter `pageToken` in the next list
709	// request.
710	// Subsequent list requests will have their own `nextPageToken` to
711	// continue
712	// paging through the results
713	NextPageToken string `json:"nextPageToken,omitempty"`
714
715	// ServerResponse contains the HTTP response code and headers from the
716	// server.
717	googleapi.ServerResponse `json:"-"`
718
719	// ForceSendFields is a list of field names (e.g. "Brokers") to
720	// unconditionally include in API requests. By default, fields with
721	// empty values are omitted from API requests. However, any non-pointer,
722	// non-interface field appearing in ForceSendFields will be sent to the
723	// server regardless of whether the field is empty or not. This may be
724	// used to include empty fields in Patch requests.
725	ForceSendFields []string `json:"-"`
726
727	// NullFields is a list of field names (e.g. "Brokers") to include in
728	// API requests with the JSON null value. By default, fields with empty
729	// values are omitted from API requests. However, any field with an
730	// empty value appearing in NullFields will be sent to the server as
731	// null. It is an error if a field in this list has a non-empty value.
732	// This may be used to include null fields in Patch requests.
733	NullFields []string `json:"-"`
734}
735
736func (s *GoogleCloudServicebrokerV1beta1__ListBrokersResponse) MarshalJSON() ([]byte, error) {
737	type NoMethod GoogleCloudServicebrokerV1beta1__ListBrokersResponse
738	raw := NoMethod(*s)
739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
740}
741
742// GoogleCloudServicebrokerV1beta1__ListCatalogResponse: Response
743// message for the `ListCatalog()` method.
744type GoogleCloudServicebrokerV1beta1__ListCatalogResponse struct {
745	// Description: Used to communicate description of the response. Usually
746	// for non-standard
747	// error
748	// codes.
749	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
750	// er/spec.md#service-broker-errors
751	Description string `json:"description,omitempty"`
752
753	// NextPageToken: This token allows you to get the next page of results
754	// for list requests.
755	// If the number of results is larger than `pageSize`, use the
756	// `nextPageToken`
757	// as a value for the query parameter `pageToken` in the next list
758	// request.
759	// Subsequent list requests will have their own `nextPageToken` to
760	// continue
761	// paging through the results
762	NextPageToken string `json:"nextPageToken,omitempty"`
763
764	// Services: The services available for the requested GCP project.
765	Services []*GoogleCloudServicebrokerV1beta1__Service `json:"services,omitempty"`
766
767	// ServerResponse contains the HTTP response code and headers from the
768	// server.
769	googleapi.ServerResponse `json:"-"`
770
771	// ForceSendFields is a list of field names (e.g. "Description") to
772	// unconditionally include in API requests. By default, fields with
773	// empty values are omitted from API requests. However, any non-pointer,
774	// non-interface field appearing in ForceSendFields will be sent to the
775	// server regardless of whether the field is empty or not. This may be
776	// used to include empty fields in Patch requests.
777	ForceSendFields []string `json:"-"`
778
779	// NullFields is a list of field names (e.g. "Description") to include
780	// in API requests with the JSON null value. By default, fields with
781	// empty values are omitted from API requests. However, any field with
782	// an empty value appearing in NullFields will be sent to the server as
783	// null. It is an error if a field in this list has a non-empty value.
784	// This may be used to include null fields in Patch requests.
785	NullFields []string `json:"-"`
786}
787
788func (s *GoogleCloudServicebrokerV1beta1__ListCatalogResponse) MarshalJSON() ([]byte, error) {
789	type NoMethod GoogleCloudServicebrokerV1beta1__ListCatalogResponse
790	raw := NoMethod(*s)
791	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
792}
793
794// GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse: The
795// response for the `ListServiceInstances()` method.
796type GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse struct {
797	// Description: Used to communicate description of the response. Usually
798	// for non-standard
799	// error
800	// codes.
801	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
802	// er/spec.md#service-broker-errors
803	Description string `json:"description,omitempty"`
804
805	// Instances: The list of instances in the broker.
806	Instances []*GoogleCloudServicebrokerV1beta1__ServiceInstance `json:"instances,omitempty"`
807
808	// NextPageToken: This token allows you to get the next page of results
809	// for list requests.
810	// If the number of results is larger than `pageSize`, use the
811	// `nextPageToken`
812	// as a value for the query parameter `pageToken` in the next list
813	// request.
814	// Subsequent list requests will have their own `nextPageToken` to
815	// continue
816	// paging through the results
817	NextPageToken string `json:"nextPageToken,omitempty"`
818
819	// ServerResponse contains the HTTP response code and headers from the
820	// server.
821	googleapi.ServerResponse `json:"-"`
822
823	// ForceSendFields is a list of field names (e.g. "Description") to
824	// unconditionally include in API requests. By default, fields with
825	// empty values are omitted from API requests. However, any non-pointer,
826	// non-interface field appearing in ForceSendFields will be sent to the
827	// server regardless of whether the field is empty or not. This may be
828	// used to include empty fields in Patch requests.
829	ForceSendFields []string `json:"-"`
830
831	// NullFields is a list of field names (e.g. "Description") to include
832	// in API requests with the JSON null value. By default, fields with
833	// empty values are omitted from API requests. However, any field with
834	// an empty value appearing in NullFields will be sent to the server as
835	// null. It is an error if a field in this list has a non-empty value.
836	// This may be used to include null fields in Patch requests.
837	NullFields []string `json:"-"`
838}
839
840func (s *GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse) MarshalJSON() ([]byte, error) {
841	type NoMethod GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse
842	raw := NoMethod(*s)
843	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
844}
845
846// GoogleCloudServicebrokerV1beta1__Operation: Describes a long running
847// operation, which conforms to OpenService API.
848type GoogleCloudServicebrokerV1beta1__Operation struct {
849	// Description: Optional description of the Operation state.
850	Description string `json:"description,omitempty"`
851
852	// State: The state of the operation.
853	// Valid values are: "in progress", "succeeded", and "failed".
854	State string `json:"state,omitempty"`
855
856	// ServerResponse contains the HTTP response code and headers from the
857	// server.
858	googleapi.ServerResponse `json:"-"`
859
860	// ForceSendFields is a list of field names (e.g. "Description") to
861	// unconditionally include in API requests. By default, fields with
862	// empty values are omitted from API requests. However, any non-pointer,
863	// non-interface field appearing in ForceSendFields will be sent to the
864	// server regardless of whether the field is empty or not. This may be
865	// used to include empty fields in Patch requests.
866	ForceSendFields []string `json:"-"`
867
868	// NullFields is a list of field names (e.g. "Description") to include
869	// in API requests with the JSON null value. By default, fields with
870	// empty values are omitted from API requests. However, any field with
871	// an empty value appearing in NullFields will be sent to the server as
872	// null. It is an error if a field in this list has a non-empty value.
873	// This may be used to include null fields in Patch requests.
874	NullFields []string `json:"-"`
875}
876
877func (s *GoogleCloudServicebrokerV1beta1__Operation) MarshalJSON() ([]byte, error) {
878	type NoMethod GoogleCloudServicebrokerV1beta1__Operation
879	raw := NoMethod(*s)
880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
881}
882
883// GoogleCloudServicebrokerV1beta1__Plan: Plan message describes a
884// Service Plan.
885type GoogleCloudServicebrokerV1beta1__Plan struct {
886	// Bindable: Specifies whether instances of the service can be bound to
887	// applications.
888	// If not specified, `Service.bindable` will be presumed.
889	Bindable bool `json:"bindable,omitempty"`
890
891	// Description: Textual description of the plan. Optional.
892	Description string `json:"description,omitempty"`
893
894	// Free: Whether the service is free.
895	Free bool `json:"free,omitempty"`
896
897	// Id: ID is a globally unique identifier used to uniquely identify the
898	// plan.
899	// User must make no presumption about the format of this field.
900	Id string `json:"id,omitempty"`
901
902	// Metadata: A list of metadata for a service offering.
903	// Metadata is an arbitrary JSON object.
904	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
905
906	// Name: User friendly name of the plan.
907	// The name must be globally unique within GCP project.
908	// Note, which is different from ("This must be globally unique within
909	// a
910	// platform marketplace").
911	Name string `json:"name,omitempty"`
912
913	// Schemas: Schema definitions for service instances and bindings for
914	// the plan.
915	Schemas googleapi.RawMessage `json:"schemas,omitempty"`
916
917	// ForceSendFields is a list of field names (e.g. "Bindable") to
918	// unconditionally include in API requests. By default, fields with
919	// empty values are omitted from API requests. However, any non-pointer,
920	// non-interface field appearing in ForceSendFields will be sent to the
921	// server regardless of whether the field is empty or not. This may be
922	// used to include empty fields in Patch requests.
923	ForceSendFields []string `json:"-"`
924
925	// NullFields is a list of field names (e.g. "Bindable") to include in
926	// API requests with the JSON null value. By default, fields with empty
927	// values are omitted from API requests. However, any field with an
928	// empty value appearing in NullFields will be sent to the server as
929	// null. It is an error if a field in this list has a non-empty value.
930	// This may be used to include null fields in Patch requests.
931	NullFields []string `json:"-"`
932}
933
934func (s *GoogleCloudServicebrokerV1beta1__Plan) MarshalJSON() ([]byte, error) {
935	type NoMethod GoogleCloudServicebrokerV1beta1__Plan
936	raw := NoMethod(*s)
937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
938}
939
940// GoogleCloudServicebrokerV1beta1__Service: The resource model mostly
941// follows the Open Service Broker API, as
942// described
943// here:
944// https://github.com/openservicebrokerapi/servicebroker/blob/maste
945// r/_spec.md
946// Though due to Google Specifics it has additional optional fields.
947type GoogleCloudServicebrokerV1beta1__Service struct {
948	// Bindable: Specifies whether instances of the service can be bound to
949	// applications.
950	// Required.
951	Bindable bool `json:"bindable,omitempty"`
952
953	// BindingRetrievable: Whether the service provides an endpoint to get
954	// service bindings.
955	BindingRetrievable bool `json:"binding_retrievable,omitempty"`
956
957	// BindingsRetrievable: Whether the service provides an endpoint to get
958	// service bindings.
959	BindingsRetrievable bool `json:"bindings_retrievable,omitempty"`
960
961	// DashboardClient: Information to activate Dashboard SSO feature.
962	DashboardClient *GoogleCloudServicebrokerV1beta1__DashboardClient `json:"dashboard_client,omitempty"`
963
964	// Description: Textual description of the service. Required.
965	Description string `json:"description,omitempty"`
966
967	// Id: ID is a globally unique identifier used to uniquely identify the
968	// service.
969	// ID is an opaque string.
970	Id string `json:"id,omitempty"`
971
972	// InstancesRetrievable: Whether the service provides an endpoint to get
973	// service instances.
974	InstancesRetrievable bool `json:"instances_retrievable,omitempty"`
975
976	// Metadata: A list of metadata for a service offering.
977	// Metadata is an arbitrary JSON object.
978	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
979
980	// Name: User friendly service name.
981	// Name must match [a-z0-9]+ regexp.
982	// The name must be globally unique within GCP project.
983	// Note, which is different from ("This must be globally unique within
984	// a
985	// platform marketplace").
986	// Required.
987	Name string `json:"name,omitempty"`
988
989	// PlanUpdateable: Whether the service supports upgrade/downgrade for
990	// some plans.
991	PlanUpdateable bool `json:"plan_updateable,omitempty"`
992
993	// Plans: A list of plans for this service.
994	// At least one plan is required.
995	Plans []*GoogleCloudServicebrokerV1beta1__Plan `json:"plans,omitempty"`
996
997	// Tags: Tags provide a flexible mechanism to expose a classification,
998	// attribute, or
999	// base technology of a service.
1000	Tags []string `json:"tags,omitempty"`
1001
1002	// ForceSendFields is a list of field names (e.g. "Bindable") to
1003	// unconditionally include in API requests. By default, fields with
1004	// empty values are omitted from API requests. However, any non-pointer,
1005	// non-interface field appearing in ForceSendFields will be sent to the
1006	// server regardless of whether the field is empty or not. This may be
1007	// used to include empty fields in Patch requests.
1008	ForceSendFields []string `json:"-"`
1009
1010	// NullFields is a list of field names (e.g. "Bindable") to include in
1011	// API requests with the JSON null value. By default, fields with empty
1012	// values are omitted from API requests. However, any field with an
1013	// empty value appearing in NullFields will be sent to the server as
1014	// null. It is an error if a field in this list has a non-empty value.
1015	// This may be used to include null fields in Patch requests.
1016	NullFields []string `json:"-"`
1017}
1018
1019func (s *GoogleCloudServicebrokerV1beta1__Service) MarshalJSON() ([]byte, error) {
1020	type NoMethod GoogleCloudServicebrokerV1beta1__Service
1021	raw := NoMethod(*s)
1022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1023}
1024
1025// GoogleCloudServicebrokerV1beta1__ServiceInstance: Message describing
1026// inputs to Provision and Update Service instance requests.
1027type GoogleCloudServicebrokerV1beta1__ServiceInstance struct {
1028	// Context: Platform specific contextual information under which the
1029	// service instance
1030	// is to be provisioned. This replaces organization_guid and
1031	// space_guid.
1032	// But can also contain anything.
1033	// Currently only used for logging context information.
1034	Context googleapi.RawMessage `json:"context,omitempty"`
1035
1036	// CreateTime: Output only. Timestamp for when the instance was created.
1037	CreateTime string `json:"createTime,omitempty"`
1038
1039	// DeploymentName: Output only. String containing the Deployment Manager
1040	// deployment name that was created
1041	// for this instance,
1042	DeploymentName string `json:"deploymentName,omitempty"`
1043
1044	// Description: To return errors when GetInstance call is done via HTTP
1045	// to be unified with
1046	// other methods.
1047	Description string `json:"description,omitempty"`
1048
1049	// InstanceId: The id of the service instance. Must be unique within GCP
1050	// project.
1051	// Maximum length is 64, GUID recommended.
1052	// Required.
1053	InstanceId string `json:"instance_id,omitempty"`
1054
1055	// OrganizationGuid: The platform GUID for the organization under which
1056	// the service is to be
1057	// provisioned.
1058	// Required.
1059	OrganizationGuid string `json:"organization_guid,omitempty"`
1060
1061	// Parameters: Configuration options for the service
1062	// instance.
1063	// Parameters is JSON object serialized to string.
1064	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
1065
1066	// PlanId: The ID of the plan. See `Service` and `Plan` resources for
1067	// details.
1068	// Maximum length is 64, GUID recommended.
1069	// Required.
1070	PlanId string `json:"plan_id,omitempty"`
1071
1072	// PreviousValues: Used only in UpdateServiceInstance request to
1073	// optionally specify previous
1074	// fields.
1075	PreviousValues googleapi.RawMessage `json:"previous_values,omitempty"`
1076
1077	// ResourceName: Output only. The resource name of the instance,
1078	// e.g.
1079	// projects/project_id/brokers/broker_id/service_instances/instance_
1080	// id
1081	ResourceName string `json:"resourceName,omitempty"`
1082
1083	// ServiceId: The id of the service. Must be a valid identifier of a
1084	// service
1085	// contained in the list from a `ListServices()` call.
1086	// Maximum length is 64, GUID recommended.
1087	// Required.
1088	ServiceId string `json:"service_id,omitempty"`
1089
1090	// SpaceGuid: The identifier for the project space within the platform
1091	// organization.
1092	// Required.
1093	SpaceGuid string `json:"space_guid,omitempty"`
1094
1095	// ServerResponse contains the HTTP response code and headers from the
1096	// server.
1097	googleapi.ServerResponse `json:"-"`
1098
1099	// ForceSendFields is a list of field names (e.g. "Context") to
1100	// unconditionally include in API requests. By default, fields with
1101	// empty values are omitted from API requests. However, any non-pointer,
1102	// non-interface field appearing in ForceSendFields will be sent to the
1103	// server regardless of whether the field is empty or not. This may be
1104	// used to include empty fields in Patch requests.
1105	ForceSendFields []string `json:"-"`
1106
1107	// NullFields is a list of field names (e.g. "Context") to include in
1108	// API requests with the JSON null value. By default, fields with empty
1109	// values are omitted from API requests. However, any field with an
1110	// empty value appearing in NullFields will be sent to the server as
1111	// null. It is an error if a field in this list has a non-empty value.
1112	// This may be used to include null fields in Patch requests.
1113	NullFields []string `json:"-"`
1114}
1115
1116func (s *GoogleCloudServicebrokerV1beta1__ServiceInstance) MarshalJSON() ([]byte, error) {
1117	type NoMethod GoogleCloudServicebrokerV1beta1__ServiceInstance
1118	raw := NoMethod(*s)
1119	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1120}
1121
1122// GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse:
1123// Response for the `UpdateServiceInstance()` method.
1124type GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse struct {
1125	// Description: Used to communicate description of the response. Usually
1126	// for non-standard
1127	// error
1128	// codes.
1129	// https://github.com/openservicebrokerapi/servicebroker/blob/mast
1130	// er/spec.md#service-broker-errors
1131	Description string `json:"description,omitempty"`
1132
1133	// Operation: If broker executes operation asynchronously, this is the
1134	// operation ID that
1135	// can be polled to check the completion status of said operation.
1136	Operation string `json:"operation,omitempty"`
1137
1138	// ServerResponse contains the HTTP response code and headers from the
1139	// server.
1140	googleapi.ServerResponse `json:"-"`
1141
1142	// ForceSendFields is a list of field names (e.g. "Description") to
1143	// unconditionally include in API requests. By default, fields with
1144	// empty values are omitted from API requests. However, any non-pointer,
1145	// non-interface field appearing in ForceSendFields will be sent to the
1146	// server regardless of whether the field is empty or not. This may be
1147	// used to include empty fields in Patch requests.
1148	ForceSendFields []string `json:"-"`
1149
1150	// NullFields is a list of field names (e.g. "Description") to include
1151	// in API requests with the JSON null value. By default, fields with
1152	// empty values are omitted from API requests. However, any field with
1153	// an empty value appearing in NullFields will be sent to the server as
1154	// null. It is an error if a field in this list has a non-empty value.
1155	// This may be used to include null fields in Patch requests.
1156	NullFields []string `json:"-"`
1157}
1158
1159func (s *GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse) MarshalJSON() ([]byte, error) {
1160	type NoMethod GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse
1161	raw := NoMethod(*s)
1162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1163}
1164
1165// GoogleIamV1__Binding: Associates `members` with a `role`.
1166type GoogleIamV1__Binding struct {
1167	// Condition: The condition that is associated with this binding.
1168	// NOTE: An unsatisfied condition will not allow user access via
1169	// current
1170	// binding. Different bindings, including their conditions, are
1171	// examined
1172	// independently.
1173	Condition *GoogleType__Expr `json:"condition,omitempty"`
1174
1175	// Members: Specifies the identities requesting access for a Cloud
1176	// Platform resource.
1177	// `members` can have the following values:
1178	//
1179	// * `allUsers`: A special identifier that represents anyone who is
1180	//    on the internet; with or without a Google account.
1181	//
1182	// * `allAuthenticatedUsers`: A special identifier that represents
1183	// anyone
1184	//    who is authenticated with a Google account or a service
1185	// account.
1186	//
1187	// * `user:{emailid}`: An email address that represents a specific
1188	// Google
1189	//    account. For example, `alice@example.com` .
1190	//
1191	//
1192	// * `serviceAccount:{emailid}`: An email address that represents a
1193	// service
1194	//    account. For example,
1195	// `my-other-app@appspot.gserviceaccount.com`.
1196	//
1197	// * `group:{emailid}`: An email address that represents a Google
1198	// group.
1199	//    For example, `admins@example.com`.
1200	//
1201	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
1202	// unique
1203	//    identifier) representing a user that has been recently deleted.
1204	// For
1205	//    example, `alice@example.com?uid=123456789012345678901`. If the
1206	// user is
1207	//    recovered, this value reverts to `user:{emailid}` and the
1208	// recovered user
1209	//    retains the role in the binding.
1210	//
1211	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
1212	// (plus
1213	//    unique identifier) representing a service account that has been
1214	// recently
1215	//    deleted. For example,
1216	//
1217	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1218	//
1219	//    If the service account is undeleted, this value reverts to
1220	//    `serviceAccount:{emailid}` and the undeleted service account
1221	// retains the
1222	//    role in the binding.
1223	//
1224	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
1225	// unique
1226	//    identifier) representing a Google group that has been recently
1227	//    deleted. For example,
1228	// `admins@example.com?uid=123456789012345678901`. If
1229	//    the group is recovered, this value reverts to `group:{emailid}`
1230	// and the
1231	//    recovered group retains the role in the binding.
1232	//
1233	//
1234	// * `domain:{domain}`: The G Suite domain (primary) that represents all
1235	// the
1236	//    users of that domain. For example, `google.com` or
1237	// `example.com`.
1238	//
1239	//
1240	Members []string `json:"members,omitempty"`
1241
1242	// Role: Role that is assigned to `members`.
1243	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1244	Role string `json:"role,omitempty"`
1245
1246	// ForceSendFields is a list of field names (e.g. "Condition") to
1247	// unconditionally include in API requests. By default, fields with
1248	// empty values are omitted from API requests. However, any non-pointer,
1249	// non-interface field appearing in ForceSendFields will be sent to the
1250	// server regardless of whether the field is empty or not. This may be
1251	// used to include empty fields in Patch requests.
1252	ForceSendFields []string `json:"-"`
1253
1254	// NullFields is a list of field names (e.g. "Condition") to include in
1255	// API requests with the JSON null value. By default, fields with empty
1256	// values are omitted from API requests. However, any field with an
1257	// empty value appearing in NullFields will be sent to the server as
1258	// null. It is an error if a field in this list has a non-empty value.
1259	// This may be used to include null fields in Patch requests.
1260	NullFields []string `json:"-"`
1261}
1262
1263func (s *GoogleIamV1__Binding) MarshalJSON() ([]byte, error) {
1264	type NoMethod GoogleIamV1__Binding
1265	raw := NoMethod(*s)
1266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1267}
1268
1269// GoogleIamV1__Policy: An Identity and Access Management (IAM) policy,
1270// which specifies access
1271// controls for Google Cloud resources.
1272//
1273//
1274// A `Policy` is a collection of `bindings`. A `binding` binds one or
1275// more
1276// `members` to a single `role`. Members can be user accounts, service
1277// accounts,
1278// Google groups, and domains (such as G Suite). A `role` is a named
1279// list of
1280// permissions; each `role` can be an IAM predefined role or a
1281// user-created
1282// custom role.
1283//
1284// Optionally, a `binding` can specify a `condition`, which is a
1285// logical
1286// expression that allows access to a resource only if the expression
1287// evaluates
1288// to `true`. A condition can add constraints based on attributes of
1289// the
1290// request, the resource, or both.
1291//
1292// **JSON example:**
1293//
1294//     {
1295//       "bindings": [
1296//         {
1297//           "role": "roles/resourcemanager.organizationAdmin",
1298//           "members": [
1299//             "user:mike@example.com",
1300//             "group:admins@example.com",
1301//             "domain:google.com",
1302//
1303// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1304//           ]
1305//         },
1306//         {
1307//           "role": "roles/resourcemanager.organizationViewer",
1308//           "members": ["user:eve@example.com"],
1309//           "condition": {
1310//             "title": "expirable access",
1311//             "description": "Does not grant access after Sep 2020",
1312//             "expression": "request.time <
1313// timestamp('2020-10-01T00:00:00.000Z')",
1314//           }
1315//         }
1316//       ],
1317//       "etag": "BwWWja0YfJA=",
1318//       "version": 3
1319//     }
1320//
1321// **YAML example:**
1322//
1323//     bindings:
1324//     - members:
1325//       - user:mike@example.com
1326//       - group:admins@example.com
1327//       - domain:google.com
1328//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
1329//       role: roles/resourcemanager.organizationAdmin
1330//     - members:
1331//       - user:eve@example.com
1332//       role: roles/resourcemanager.organizationViewer
1333//       condition:
1334//         title: expirable access
1335//         description: Does not grant access after Sep 2020
1336//         expression: request.time <
1337// timestamp('2020-10-01T00:00:00.000Z')
1338//     - etag: BwWWja0YfJA=
1339//     - version: 3
1340//
1341// For a description of IAM and its features, see the
1342// [IAM documentation](https://cloud.google.com/iam/docs/).
1343type GoogleIamV1__Policy struct {
1344	// Bindings: Associates a list of `members` to a `role`. Optionally, may
1345	// specify a
1346	// `condition` that determines how and when the `bindings` are applied.
1347	// Each
1348	// of the `bindings` must contain at least one member.
1349	Bindings []*GoogleIamV1__Binding `json:"bindings,omitempty"`
1350
1351	// Etag: `etag` is used for optimistic concurrency control as a way to
1352	// help
1353	// prevent simultaneous updates of a policy from overwriting each
1354	// other.
1355	// It is strongly suggested that systems make use of the `etag` in
1356	// the
1357	// read-modify-write cycle to perform policy updates in order to avoid
1358	// race
1359	// conditions: An `etag` is returned in the response to `getIamPolicy`,
1360	// and
1361	// systems are expected to put that etag in the request to
1362	// `setIamPolicy` to
1363	// ensure that their change will be applied to the same version of the
1364	// policy.
1365	//
1366	// **Important:** If you use IAM Conditions, you must include the `etag`
1367	// field
1368	// whenever you call `setIamPolicy`. If you omit this field, then IAM
1369	// allows
1370	// you to overwrite a version `3` policy with a version `1` policy, and
1371	// all of
1372	// the conditions in the version `3` policy are lost.
1373	Etag string `json:"etag,omitempty"`
1374
1375	// Version: Specifies the format of the policy.
1376	//
1377	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
1378	// value
1379	// are rejected.
1380	//
1381	// Any operation that affects conditional role bindings must specify
1382	// version
1383	// `3`. This requirement applies to the following operations:
1384	//
1385	// * Getting a policy that includes a conditional role binding
1386	// * Adding a conditional role binding to a policy
1387	// * Changing a conditional role binding in a policy
1388	// * Removing any role binding, with or without a condition, from a
1389	// policy
1390	//   that includes conditions
1391	//
1392	// **Important:** If you use IAM Conditions, you must include the `etag`
1393	// field
1394	// whenever you call `setIamPolicy`. If you omit this field, then IAM
1395	// allows
1396	// you to overwrite a version `3` policy with a version `1` policy, and
1397	// all of
1398	// the conditions in the version `3` policy are lost.
1399	//
1400	// If a policy does not include any conditions, operations on that
1401	// policy may
1402	// specify any valid version or leave the field unset.
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 *GoogleIamV1__Policy) MarshalJSON() ([]byte, error) {
1427	type NoMethod GoogleIamV1__Policy
1428	raw := NoMethod(*s)
1429	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1430}
1431
1432// GoogleIamV1__SetIamPolicyRequest: Request message for `SetIamPolicy`
1433// method.
1434type GoogleIamV1__SetIamPolicyRequest struct {
1435	// Policy: REQUIRED: The complete policy to be applied to the
1436	// `resource`. The size of
1437	// the policy is limited to a few 10s of KB. An empty policy is a
1438	// valid policy but certain Cloud Platform services (such as
1439	// Projects)
1440	// might reject them.
1441	Policy *GoogleIamV1__Policy `json:"policy,omitempty"`
1442
1443	// ForceSendFields is a list of field names (e.g. "Policy") to
1444	// unconditionally include in API requests. By default, fields with
1445	// empty values are omitted from API requests. However, any non-pointer,
1446	// non-interface field appearing in ForceSendFields will be sent to the
1447	// server regardless of whether the field is empty or not. This may be
1448	// used to include empty fields in Patch requests.
1449	ForceSendFields []string `json:"-"`
1450
1451	// NullFields is a list of field names (e.g. "Policy") to include in API
1452	// requests with the JSON null value. By default, fields with empty
1453	// values are omitted from API requests. However, any field with an
1454	// empty value appearing in NullFields will be sent to the server as
1455	// null. It is an error if a field in this list has a non-empty value.
1456	// This may be used to include null fields in Patch requests.
1457	NullFields []string `json:"-"`
1458}
1459
1460func (s *GoogleIamV1__SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
1461	type NoMethod GoogleIamV1__SetIamPolicyRequest
1462	raw := NoMethod(*s)
1463	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1464}
1465
1466// GoogleIamV1__TestIamPermissionsRequest: Request message for
1467// `TestIamPermissions` method.
1468type GoogleIamV1__TestIamPermissionsRequest struct {
1469	// Permissions: The set of permissions to check for the `resource`.
1470	// Permissions with
1471	// wildcards (such as '*' or 'storage.*') are not allowed. For
1472	// more
1473	// information see
1474	// [IAM
1475	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
1476	Permissions []string `json:"permissions,omitempty"`
1477
1478	// ForceSendFields is a list of field names (e.g. "Permissions") to
1479	// unconditionally include in API requests. By default, fields with
1480	// empty values are omitted from API requests. However, any non-pointer,
1481	// non-interface field appearing in ForceSendFields will be sent to the
1482	// server regardless of whether the field is empty or not. This may be
1483	// used to include empty fields in Patch requests.
1484	ForceSendFields []string `json:"-"`
1485
1486	// NullFields is a list of field names (e.g. "Permissions") to include
1487	// in API requests with the JSON null value. By default, fields with
1488	// empty values are omitted from API requests. However, any field with
1489	// an empty value appearing in NullFields will be sent to the server as
1490	// null. It is an error if a field in this list has a non-empty value.
1491	// This may be used to include null fields in Patch requests.
1492	NullFields []string `json:"-"`
1493}
1494
1495func (s *GoogleIamV1__TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
1496	type NoMethod GoogleIamV1__TestIamPermissionsRequest
1497	raw := NoMethod(*s)
1498	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1499}
1500
1501// GoogleIamV1__TestIamPermissionsResponse: Response message for
1502// `TestIamPermissions` method.
1503type GoogleIamV1__TestIamPermissionsResponse struct {
1504	// Permissions: A subset of `TestPermissionsRequest.permissions` that
1505	// the caller is
1506	// allowed.
1507	Permissions []string `json:"permissions,omitempty"`
1508
1509	// ServerResponse contains the HTTP response code and headers from the
1510	// server.
1511	googleapi.ServerResponse `json:"-"`
1512
1513	// ForceSendFields is a list of field names (e.g. "Permissions") to
1514	// unconditionally include in API requests. By default, fields with
1515	// empty values are omitted from API requests. However, any non-pointer,
1516	// non-interface field appearing in ForceSendFields will be sent to the
1517	// server regardless of whether the field is empty or not. This may be
1518	// used to include empty fields in Patch requests.
1519	ForceSendFields []string `json:"-"`
1520
1521	// NullFields is a list of field names (e.g. "Permissions") to include
1522	// in API requests with the JSON null value. By default, fields with
1523	// empty values are omitted from API requests. However, any field with
1524	// an empty value appearing in NullFields will be sent to the server as
1525	// null. It is an error if a field in this list has a non-empty value.
1526	// This may be used to include null fields in Patch requests.
1527	NullFields []string `json:"-"`
1528}
1529
1530func (s *GoogleIamV1__TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
1531	type NoMethod GoogleIamV1__TestIamPermissionsResponse
1532	raw := NoMethod(*s)
1533	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1534}
1535
1536// GoogleProtobuf__Empty: A generic empty message that you can re-use to
1537// avoid defining duplicated
1538// empty messages in your APIs. A typical example is to use it as the
1539// request
1540// or the response type of an API method. For instance:
1541//
1542//     service Foo {
1543//       rpc Bar(google.protobuf.Empty) returns
1544// (google.protobuf.Empty);
1545//     }
1546//
1547// The JSON representation for `Empty` is empty JSON object `{}`.
1548type GoogleProtobuf__Empty struct {
1549	// ServerResponse contains the HTTP response code and headers from the
1550	// server.
1551	googleapi.ServerResponse `json:"-"`
1552}
1553
1554// GoogleType__Expr: Represents an expression text. Example:
1555//
1556//     title: "User account presence"
1557//     description: "Determines whether the request has a user account"
1558//     expression: "size(request.user) > 0"
1559type GoogleType__Expr struct {
1560	// Description: An optional description of the expression. This is a
1561	// longer text which
1562	// describes the expression, e.g. when hovered over it in a UI.
1563	Description string `json:"description,omitempty"`
1564
1565	// Expression: Textual representation of an expression in
1566	// Common Expression Language syntax.
1567	//
1568	// The application context of the containing message determines
1569	// which
1570	// well-known feature set of CEL is supported.
1571	Expression string `json:"expression,omitempty"`
1572
1573	// Location: An optional string indicating the location of the
1574	// expression for error
1575	// reporting, e.g. a file name and a position in the file.
1576	Location string `json:"location,omitempty"`
1577
1578	// Title: An optional title for the expression, i.e. a short string
1579	// describing
1580	// its purpose. This can be used e.g. in UIs which allow to enter
1581	// the
1582	// expression.
1583	Title string `json:"title,omitempty"`
1584
1585	// ForceSendFields is a list of field names (e.g. "Description") to
1586	// unconditionally include in API requests. By default, fields with
1587	// empty values are omitted from API requests. However, any non-pointer,
1588	// non-interface field appearing in ForceSendFields will be sent to the
1589	// server regardless of whether the field is empty or not. This may be
1590	// used to include empty fields in Patch requests.
1591	ForceSendFields []string `json:"-"`
1592
1593	// NullFields is a list of field names (e.g. "Description") to include
1594	// in API requests with the JSON null value. By default, fields with
1595	// empty values are omitted from API requests. However, any field with
1596	// an empty value appearing in NullFields will be sent to the server as
1597	// null. It is an error if a field in this list has a non-empty value.
1598	// This may be used to include null fields in Patch requests.
1599	NullFields []string `json:"-"`
1600}
1601
1602func (s *GoogleType__Expr) MarshalJSON() ([]byte, error) {
1603	type NoMethod GoogleType__Expr
1604	raw := NoMethod(*s)
1605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1606}
1607
1608// method id "servicebroker.projects.brokers.create":
1609
1610type ProjectsBrokersCreateCall struct {
1611	s                                       *Service
1612	parent                                  string
1613	googlecloudservicebrokerv1beta1__broker *GoogleCloudServicebrokerV1beta1__Broker
1614	urlParams_                              gensupport.URLParams
1615	ctx_                                    context.Context
1616	header_                                 http.Header
1617}
1618
1619// Create: CreateBroker creates a Broker.
1620func (r *ProjectsBrokersService) Create(parent string, googlecloudservicebrokerv1beta1__broker *GoogleCloudServicebrokerV1beta1__Broker) *ProjectsBrokersCreateCall {
1621	c := &ProjectsBrokersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
1622	c.parent = parent
1623	c.googlecloudservicebrokerv1beta1__broker = googlecloudservicebrokerv1beta1__broker
1624	return c
1625}
1626
1627// Fields allows partial responses to be retrieved. See
1628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
1629// for more information.
1630func (c *ProjectsBrokersCreateCall) Fields(s ...googleapi.Field) *ProjectsBrokersCreateCall {
1631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
1632	return c
1633}
1634
1635// Context sets the context to be used in this call's Do method. Any
1636// pending HTTP request will be aborted if the provided context is
1637// canceled.
1638func (c *ProjectsBrokersCreateCall) Context(ctx context.Context) *ProjectsBrokersCreateCall {
1639	c.ctx_ = ctx
1640	return c
1641}
1642
1643// Header returns an http.Header that can be modified by the caller to
1644// add HTTP headers to the request.
1645func (c *ProjectsBrokersCreateCall) Header() http.Header {
1646	if c.header_ == nil {
1647		c.header_ = make(http.Header)
1648	}
1649	return c.header_
1650}
1651
1652func (c *ProjectsBrokersCreateCall) doRequest(alt string) (*http.Response, error) {
1653	reqHeaders := make(http.Header)
1654	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
1655	for k, v := range c.header_ {
1656		reqHeaders[k] = v
1657	}
1658	reqHeaders.Set("User-Agent", c.s.userAgent())
1659	var body io.Reader = nil
1660	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudservicebrokerv1beta1__broker)
1661	if err != nil {
1662		return nil, err
1663	}
1664	reqHeaders.Set("Content-Type", "application/json")
1665	c.urlParams_.Set("alt", alt)
1666	c.urlParams_.Set("prettyPrint", "false")
1667	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/brokers")
1668	urls += "?" + c.urlParams_.Encode()
1669	req, err := http.NewRequest("POST", urls, body)
1670	if err != nil {
1671		return nil, err
1672	}
1673	req.Header = reqHeaders
1674	googleapi.Expand(req.URL, map[string]string{
1675		"parent": c.parent,
1676	})
1677	return gensupport.SendRequest(c.ctx_, c.s.client, req)
1678}
1679
1680// Do executes the "servicebroker.projects.brokers.create" call.
1681// Exactly one of *GoogleCloudServicebrokerV1beta1__Broker or error will
1682// be non-nil. Any non-2xx status code is an error. Response headers are
1683// in either
1684// *GoogleCloudServicebrokerV1beta1__Broker.ServerResponse.Header or (if
1685// a response was returned at all) in error.(*googleapi.Error).Header.
1686// Use googleapi.IsNotModified to check whether the returned error was
1687// because http.StatusNotModified was returned.
1688func (c *ProjectsBrokersCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__Broker, error) {
1689	gensupport.SetOptions(c.urlParams_, opts...)
1690	res, err := c.doRequest("json")
1691	if res != nil && res.StatusCode == http.StatusNotModified {
1692		if res.Body != nil {
1693			res.Body.Close()
1694		}
1695		return nil, &googleapi.Error{
1696			Code:   res.StatusCode,
1697			Header: res.Header,
1698		}
1699	}
1700	if err != nil {
1701		return nil, err
1702	}
1703	defer googleapi.CloseBody(res)
1704	if err := googleapi.CheckResponse(res); err != nil {
1705		return nil, err
1706	}
1707	ret := &GoogleCloudServicebrokerV1beta1__Broker{
1708		ServerResponse: googleapi.ServerResponse{
1709			Header:         res.Header,
1710			HTTPStatusCode: res.StatusCode,
1711		},
1712	}
1713	target := &ret
1714	if err := gensupport.DecodeResponse(target, res); err != nil {
1715		return nil, err
1716	}
1717	return ret, nil
1718	// {
1719	//   "description": "CreateBroker creates a Broker.",
1720	//   "flatPath": "v1beta1/projects/{projectsId}/brokers",
1721	//   "httpMethod": "POST",
1722	//   "id": "servicebroker.projects.brokers.create",
1723	//   "parameterOrder": [
1724	//     "parent"
1725	//   ],
1726	//   "parameters": {
1727	//     "parent": {
1728	//       "description": "The project in which to create broker.",
1729	//       "location": "path",
1730	//       "pattern": "^projects/[^/]+$",
1731	//       "required": true,
1732	//       "type": "string"
1733	//     }
1734	//   },
1735	//   "path": "v1beta1/{+parent}/brokers",
1736	//   "request": {
1737	//     "$ref": "GoogleCloudServicebrokerV1beta1__Broker"
1738	//   },
1739	//   "response": {
1740	//     "$ref": "GoogleCloudServicebrokerV1beta1__Broker"
1741	//   },
1742	//   "scopes": [
1743	//     "https://www.googleapis.com/auth/cloud-platform"
1744	//   ]
1745	// }
1746
1747}
1748
1749// method id "servicebroker.projects.brokers.delete":
1750
1751type ProjectsBrokersDeleteCall struct {
1752	s          *Service
1753	name       string
1754	urlParams_ gensupport.URLParams
1755	ctx_       context.Context
1756	header_    http.Header
1757}
1758
1759// Delete: DeleteBroker deletes a Broker.
1760func (r *ProjectsBrokersService) Delete(name string) *ProjectsBrokersDeleteCall {
1761	c := &ProjectsBrokersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
1762	c.name = name
1763	return c
1764}
1765
1766// Fields allows partial responses to be retrieved. See
1767// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
1768// for more information.
1769func (c *ProjectsBrokersDeleteCall) Fields(s ...googleapi.Field) *ProjectsBrokersDeleteCall {
1770	c.urlParams_.Set("fields", googleapi.CombineFields(s))
1771	return c
1772}
1773
1774// Context sets the context to be used in this call's Do method. Any
1775// pending HTTP request will be aborted if the provided context is
1776// canceled.
1777func (c *ProjectsBrokersDeleteCall) Context(ctx context.Context) *ProjectsBrokersDeleteCall {
1778	c.ctx_ = ctx
1779	return c
1780}
1781
1782// Header returns an http.Header that can be modified by the caller to
1783// add HTTP headers to the request.
1784func (c *ProjectsBrokersDeleteCall) Header() http.Header {
1785	if c.header_ == nil {
1786		c.header_ = make(http.Header)
1787	}
1788	return c.header_
1789}
1790
1791func (c *ProjectsBrokersDeleteCall) doRequest(alt string) (*http.Response, error) {
1792	reqHeaders := make(http.Header)
1793	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
1794	for k, v := range c.header_ {
1795		reqHeaders[k] = v
1796	}
1797	reqHeaders.Set("User-Agent", c.s.userAgent())
1798	var body io.Reader = nil
1799	c.urlParams_.Set("alt", alt)
1800	c.urlParams_.Set("prettyPrint", "false")
1801	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
1802	urls += "?" + c.urlParams_.Encode()
1803	req, err := http.NewRequest("DELETE", urls, body)
1804	if err != nil {
1805		return nil, err
1806	}
1807	req.Header = reqHeaders
1808	googleapi.Expand(req.URL, map[string]string{
1809		"name": c.name,
1810	})
1811	return gensupport.SendRequest(c.ctx_, c.s.client, req)
1812}
1813
1814// Do executes the "servicebroker.projects.brokers.delete" call.
1815// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
1816// non-2xx status code is an error. Response headers are in either
1817// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
1818// returned at all) in error.(*googleapi.Error).Header. Use
1819// googleapi.IsNotModified to check whether the returned error was
1820// because http.StatusNotModified was returned.
1821func (c *ProjectsBrokersDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
1822	gensupport.SetOptions(c.urlParams_, opts...)
1823	res, err := c.doRequest("json")
1824	if res != nil && res.StatusCode == http.StatusNotModified {
1825		if res.Body != nil {
1826			res.Body.Close()
1827		}
1828		return nil, &googleapi.Error{
1829			Code:   res.StatusCode,
1830			Header: res.Header,
1831		}
1832	}
1833	if err != nil {
1834		return nil, err
1835	}
1836	defer googleapi.CloseBody(res)
1837	if err := googleapi.CheckResponse(res); err != nil {
1838		return nil, err
1839	}
1840	ret := &GoogleProtobuf__Empty{
1841		ServerResponse: googleapi.ServerResponse{
1842			Header:         res.Header,
1843			HTTPStatusCode: res.StatusCode,
1844		},
1845	}
1846	target := &ret
1847	if err := gensupport.DecodeResponse(target, res); err != nil {
1848		return nil, err
1849	}
1850	return ret, nil
1851	// {
1852	//   "description": "DeleteBroker deletes a Broker.",
1853	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}",
1854	//   "httpMethod": "DELETE",
1855	//   "id": "servicebroker.projects.brokers.delete",
1856	//   "parameterOrder": [
1857	//     "name"
1858	//   ],
1859	//   "parameters": {
1860	//     "name": {
1861	//       "description": "The broker to delete.",
1862	//       "location": "path",
1863	//       "pattern": "^projects/[^/]+/brokers/[^/]+$",
1864	//       "required": true,
1865	//       "type": "string"
1866	//     }
1867	//   },
1868	//   "path": "v1beta1/{+name}",
1869	//   "response": {
1870	//     "$ref": "GoogleProtobuf__Empty"
1871	//   },
1872	//   "scopes": [
1873	//     "https://www.googleapis.com/auth/cloud-platform"
1874	//   ]
1875	// }
1876
1877}
1878
1879// method id "servicebroker.projects.brokers.list":
1880
1881type ProjectsBrokersListCall struct {
1882	s            *Service
1883	parent       string
1884	urlParams_   gensupport.URLParams
1885	ifNoneMatch_ string
1886	ctx_         context.Context
1887	header_      http.Header
1888}
1889
1890// List: ListBrokers lists brokers.
1891func (r *ProjectsBrokersService) List(parent string) *ProjectsBrokersListCall {
1892	c := &ProjectsBrokersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
1893	c.parent = parent
1894	return c
1895}
1896
1897// PageSize sets the optional parameter "pageSize": Specifies the number
1898// of results to return per page. If there are fewer
1899// elements than the specified number, returns all elements.
1900//  Acceptable values are 0 to 200, inclusive. (Default: 100)
1901func (c *ProjectsBrokersListCall) PageSize(pageSize int64) *ProjectsBrokersListCall {
1902	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
1903	return c
1904}
1905
1906// PageToken sets the optional parameter "pageToken": Specifies a page
1907// token to use. Set `pageToken` to a `nextPageToken`
1908// returned by a previous list request to get the next page of results.
1909func (c *ProjectsBrokersListCall) PageToken(pageToken string) *ProjectsBrokersListCall {
1910	c.urlParams_.Set("pageToken", pageToken)
1911	return c
1912}
1913
1914// Fields allows partial responses to be retrieved. See
1915// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
1916// for more information.
1917func (c *ProjectsBrokersListCall) Fields(s ...googleapi.Field) *ProjectsBrokersListCall {
1918	c.urlParams_.Set("fields", googleapi.CombineFields(s))
1919	return c
1920}
1921
1922// IfNoneMatch sets the optional parameter which makes the operation
1923// fail if the object's ETag matches the given value. This is useful for
1924// getting updates only after the object has changed since the last
1925// request. Use googleapi.IsNotModified to check whether the response
1926// error from Do is the result of In-None-Match.
1927func (c *ProjectsBrokersListCall) IfNoneMatch(entityTag string) *ProjectsBrokersListCall {
1928	c.ifNoneMatch_ = entityTag
1929	return c
1930}
1931
1932// Context sets the context to be used in this call's Do method. Any
1933// pending HTTP request will be aborted if the provided context is
1934// canceled.
1935func (c *ProjectsBrokersListCall) Context(ctx context.Context) *ProjectsBrokersListCall {
1936	c.ctx_ = ctx
1937	return c
1938}
1939
1940// Header returns an http.Header that can be modified by the caller to
1941// add HTTP headers to the request.
1942func (c *ProjectsBrokersListCall) Header() http.Header {
1943	if c.header_ == nil {
1944		c.header_ = make(http.Header)
1945	}
1946	return c.header_
1947}
1948
1949func (c *ProjectsBrokersListCall) doRequest(alt string) (*http.Response, error) {
1950	reqHeaders := make(http.Header)
1951	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
1952	for k, v := range c.header_ {
1953		reqHeaders[k] = v
1954	}
1955	reqHeaders.Set("User-Agent", c.s.userAgent())
1956	if c.ifNoneMatch_ != "" {
1957		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
1958	}
1959	var body io.Reader = nil
1960	c.urlParams_.Set("alt", alt)
1961	c.urlParams_.Set("prettyPrint", "false")
1962	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/brokers")
1963	urls += "?" + c.urlParams_.Encode()
1964	req, err := http.NewRequest("GET", urls, body)
1965	if err != nil {
1966		return nil, err
1967	}
1968	req.Header = reqHeaders
1969	googleapi.Expand(req.URL, map[string]string{
1970		"parent": c.parent,
1971	})
1972	return gensupport.SendRequest(c.ctx_, c.s.client, req)
1973}
1974
1975// Do executes the "servicebroker.projects.brokers.list" call.
1976// Exactly one of *GoogleCloudServicebrokerV1beta1__ListBrokersResponse
1977// or error will be non-nil. Any non-2xx status code is an error.
1978// Response headers are in either
1979// *GoogleCloudServicebrokerV1beta1__ListBrokersResponse.ServerResponse.H
1980// eader or (if a response was returned at all) in
1981// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
1982// whether the returned error was because http.StatusNotModified was
1983// returned.
1984func (c *ProjectsBrokersListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ListBrokersResponse, error) {
1985	gensupport.SetOptions(c.urlParams_, opts...)
1986	res, err := c.doRequest("json")
1987	if res != nil && res.StatusCode == http.StatusNotModified {
1988		if res.Body != nil {
1989			res.Body.Close()
1990		}
1991		return nil, &googleapi.Error{
1992			Code:   res.StatusCode,
1993			Header: res.Header,
1994		}
1995	}
1996	if err != nil {
1997		return nil, err
1998	}
1999	defer googleapi.CloseBody(res)
2000	if err := googleapi.CheckResponse(res); err != nil {
2001		return nil, err
2002	}
2003	ret := &GoogleCloudServicebrokerV1beta1__ListBrokersResponse{
2004		ServerResponse: googleapi.ServerResponse{
2005			Header:         res.Header,
2006			HTTPStatusCode: res.StatusCode,
2007		},
2008	}
2009	target := &ret
2010	if err := gensupport.DecodeResponse(target, res); err != nil {
2011		return nil, err
2012	}
2013	return ret, nil
2014	// {
2015	//   "description": "ListBrokers lists brokers.",
2016	//   "flatPath": "v1beta1/projects/{projectsId}/brokers",
2017	//   "httpMethod": "GET",
2018	//   "id": "servicebroker.projects.brokers.list",
2019	//   "parameterOrder": [
2020	//     "parent"
2021	//   ],
2022	//   "parameters": {
2023	//     "pageSize": {
2024	//       "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.\nOptional. Acceptable values are 0 to 200, inclusive. (Default: 100)",
2025	//       "format": "int32",
2026	//       "location": "query",
2027	//       "type": "integer"
2028	//     },
2029	//     "pageToken": {
2030	//       "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
2031	//       "location": "query",
2032	//       "type": "string"
2033	//     },
2034	//     "parent": {
2035	//       "description": "Parent must match `projects/[PROJECT_ID]/brokers`.",
2036	//       "location": "path",
2037	//       "pattern": "^projects/[^/]+$",
2038	//       "required": true,
2039	//       "type": "string"
2040	//     }
2041	//   },
2042	//   "path": "v1beta1/{+parent}/brokers",
2043	//   "response": {
2044	//     "$ref": "GoogleCloudServicebrokerV1beta1__ListBrokersResponse"
2045	//   },
2046	//   "scopes": [
2047	//     "https://www.googleapis.com/auth/cloud-platform"
2048	//   ]
2049	// }
2050
2051}
2052
2053// Pages invokes f for each page of results.
2054// A non-nil error returned from f will halt the iteration.
2055// The provided context supersedes any context provided to the Context method.
2056func (c *ProjectsBrokersListCall) Pages(ctx context.Context, f func(*GoogleCloudServicebrokerV1beta1__ListBrokersResponse) error) error {
2057	c.ctx_ = ctx
2058	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
2059	for {
2060		x, err := c.Do()
2061		if err != nil {
2062			return err
2063		}
2064		if err := f(x); err != nil {
2065			return err
2066		}
2067		if x.NextPageToken == "" {
2068			return nil
2069		}
2070		c.PageToken(x.NextPageToken)
2071	}
2072}
2073
2074// method id "servicebroker.projects.brokers.instances.get":
2075
2076type ProjectsBrokersInstancesGetCall struct {
2077	s            *Service
2078	name         string
2079	urlParams_   gensupport.URLParams
2080	ifNoneMatch_ string
2081	ctx_         context.Context
2082	header_      http.Header
2083}
2084
2085// Get: Gets the given service instance from the system.
2086// The API call accepts both OSB style API and standard google style
2087// API
2088// resource path.
2089// i.e. both `projects/*/brokers/*/instances/*`
2090//  and `projects/*/brokers/*/v2/service_instances/*` are acceptable
2091// paths.
2092func (r *ProjectsBrokersInstancesService) Get(name string) *ProjectsBrokersInstancesGetCall {
2093	c := &ProjectsBrokersInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2094	c.name = name
2095	return c
2096}
2097
2098// Fields allows partial responses to be retrieved. See
2099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2100// for more information.
2101func (c *ProjectsBrokersInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsBrokersInstancesGetCall {
2102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2103	return c
2104}
2105
2106// IfNoneMatch sets the optional parameter which makes the operation
2107// fail if the object's ETag matches the given value. This is useful for
2108// getting updates only after the object has changed since the last
2109// request. Use googleapi.IsNotModified to check whether the response
2110// error from Do is the result of In-None-Match.
2111func (c *ProjectsBrokersInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsBrokersInstancesGetCall {
2112	c.ifNoneMatch_ = entityTag
2113	return c
2114}
2115
2116// Context sets the context to be used in this call's Do method. Any
2117// pending HTTP request will be aborted if the provided context is
2118// canceled.
2119func (c *ProjectsBrokersInstancesGetCall) Context(ctx context.Context) *ProjectsBrokersInstancesGetCall {
2120	c.ctx_ = ctx
2121	return c
2122}
2123
2124// Header returns an http.Header that can be modified by the caller to
2125// add HTTP headers to the request.
2126func (c *ProjectsBrokersInstancesGetCall) Header() http.Header {
2127	if c.header_ == nil {
2128		c.header_ = make(http.Header)
2129	}
2130	return c.header_
2131}
2132
2133func (c *ProjectsBrokersInstancesGetCall) doRequest(alt string) (*http.Response, error) {
2134	reqHeaders := make(http.Header)
2135	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
2136	for k, v := range c.header_ {
2137		reqHeaders[k] = v
2138	}
2139	reqHeaders.Set("User-Agent", c.s.userAgent())
2140	if c.ifNoneMatch_ != "" {
2141		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2142	}
2143	var body io.Reader = nil
2144	c.urlParams_.Set("alt", alt)
2145	c.urlParams_.Set("prettyPrint", "false")
2146	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
2147	urls += "?" + c.urlParams_.Encode()
2148	req, err := http.NewRequest("GET", urls, body)
2149	if err != nil {
2150		return nil, err
2151	}
2152	req.Header = reqHeaders
2153	googleapi.Expand(req.URL, map[string]string{
2154		"name": c.name,
2155	})
2156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2157}
2158
2159// Do executes the "servicebroker.projects.brokers.instances.get" call.
2160// Exactly one of *GoogleCloudServicebrokerV1beta1__ServiceInstance or
2161// error will be non-nil. Any non-2xx status code is an error. Response
2162// headers are in either
2163// *GoogleCloudServicebrokerV1beta1__ServiceInstance.ServerResponse.Heade
2164// r or (if a response was returned at all) in
2165// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2166// whether the returned error was because http.StatusNotModified was
2167// returned.
2168func (c *ProjectsBrokersInstancesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ServiceInstance, error) {
2169	gensupport.SetOptions(c.urlParams_, opts...)
2170	res, err := c.doRequest("json")
2171	if res != nil && res.StatusCode == http.StatusNotModified {
2172		if res.Body != nil {
2173			res.Body.Close()
2174		}
2175		return nil, &googleapi.Error{
2176			Code:   res.StatusCode,
2177			Header: res.Header,
2178		}
2179	}
2180	if err != nil {
2181		return nil, err
2182	}
2183	defer googleapi.CloseBody(res)
2184	if err := googleapi.CheckResponse(res); err != nil {
2185		return nil, err
2186	}
2187	ret := &GoogleCloudServicebrokerV1beta1__ServiceInstance{
2188		ServerResponse: googleapi.ServerResponse{
2189			Header:         res.Header,
2190			HTTPStatusCode: res.StatusCode,
2191		},
2192	}
2193	target := &ret
2194	if err := gensupport.DecodeResponse(target, res); err != nil {
2195		return nil, err
2196	}
2197	return ret, nil
2198	// {
2199	//   "description": "Gets the given service instance from the system.\nThe API call accepts both OSB style API and standard google style API\nresource path.\ni.e. both `projects/*/brokers/*/instances/*`\n and `projects/*/brokers/*/v2/service_instances/*` are acceptable paths.",
2200	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/instances/{instancesId}",
2201	//   "httpMethod": "GET",
2202	//   "id": "servicebroker.projects.brokers.instances.get",
2203	//   "parameterOrder": [
2204	//     "name"
2205	//   ],
2206	//   "parameters": {
2207	//     "name": {
2208	//       "description": "The resource name of the instance to return.\nName must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/` +\n`v2/service_instances/[INSTANCE_ID]`\nor\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`.",
2209	//       "location": "path",
2210	//       "pattern": "^projects/[^/]+/brokers/[^/]+/instances/[^/]+$",
2211	//       "required": true,
2212	//       "type": "string"
2213	//     }
2214	//   },
2215	//   "path": "v1beta1/{+name}",
2216	//   "response": {
2217	//     "$ref": "GoogleCloudServicebrokerV1beta1__ServiceInstance"
2218	//   },
2219	//   "scopes": [
2220	//     "https://www.googleapis.com/auth/cloud-platform"
2221	//   ]
2222	// }
2223
2224}
2225
2226// method id "servicebroker.projects.brokers.instances.getLast_operation":
2227
2228type ProjectsBrokersInstancesGetLastOperationCall struct {
2229	s            *Service
2230	name         string
2231	urlParams_   gensupport.URLParams
2232	ifNoneMatch_ string
2233	ctx_         context.Context
2234	header_      http.Header
2235}
2236
2237// GetLastOperation: Returns the state of the last operation for the
2238// service instance.
2239// Only last (or current) operation can be polled.
2240func (r *ProjectsBrokersInstancesService) GetLastOperation(name string) *ProjectsBrokersInstancesGetLastOperationCall {
2241	c := &ProjectsBrokersInstancesGetLastOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2242	c.name = name
2243	return c
2244}
2245
2246// Operation sets the optional parameter "operation": If `operation` was
2247// returned during mutation operation, this field must be
2248// populated with the provided value.
2249func (c *ProjectsBrokersInstancesGetLastOperationCall) Operation(operation string) *ProjectsBrokersInstancesGetLastOperationCall {
2250	c.urlParams_.Set("operation", operation)
2251	return c
2252}
2253
2254// PlanId sets the optional parameter "planId": Plan id.
2255func (c *ProjectsBrokersInstancesGetLastOperationCall) PlanId(planId string) *ProjectsBrokersInstancesGetLastOperationCall {
2256	c.urlParams_.Set("planId", planId)
2257	return c
2258}
2259
2260// ServiceId sets the optional parameter "serviceId": Service id.
2261func (c *ProjectsBrokersInstancesGetLastOperationCall) ServiceId(serviceId string) *ProjectsBrokersInstancesGetLastOperationCall {
2262	c.urlParams_.Set("serviceId", serviceId)
2263	return c
2264}
2265
2266// Fields allows partial responses to be retrieved. See
2267// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2268// for more information.
2269func (c *ProjectsBrokersInstancesGetLastOperationCall) Fields(s ...googleapi.Field) *ProjectsBrokersInstancesGetLastOperationCall {
2270	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2271	return c
2272}
2273
2274// IfNoneMatch sets the optional parameter which makes the operation
2275// fail if the object's ETag matches the given value. This is useful for
2276// getting updates only after the object has changed since the last
2277// request. Use googleapi.IsNotModified to check whether the response
2278// error from Do is the result of In-None-Match.
2279func (c *ProjectsBrokersInstancesGetLastOperationCall) IfNoneMatch(entityTag string) *ProjectsBrokersInstancesGetLastOperationCall {
2280	c.ifNoneMatch_ = entityTag
2281	return c
2282}
2283
2284// Context sets the context to be used in this call's Do method. Any
2285// pending HTTP request will be aborted if the provided context is
2286// canceled.
2287func (c *ProjectsBrokersInstancesGetLastOperationCall) Context(ctx context.Context) *ProjectsBrokersInstancesGetLastOperationCall {
2288	c.ctx_ = ctx
2289	return c
2290}
2291
2292// Header returns an http.Header that can be modified by the caller to
2293// add HTTP headers to the request.
2294func (c *ProjectsBrokersInstancesGetLastOperationCall) Header() http.Header {
2295	if c.header_ == nil {
2296		c.header_ = make(http.Header)
2297	}
2298	return c.header_
2299}
2300
2301func (c *ProjectsBrokersInstancesGetLastOperationCall) doRequest(alt string) (*http.Response, error) {
2302	reqHeaders := make(http.Header)
2303	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
2304	for k, v := range c.header_ {
2305		reqHeaders[k] = v
2306	}
2307	reqHeaders.Set("User-Agent", c.s.userAgent())
2308	if c.ifNoneMatch_ != "" {
2309		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2310	}
2311	var body io.Reader = nil
2312	c.urlParams_.Set("alt", alt)
2313	c.urlParams_.Set("prettyPrint", "false")
2314	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/last_operation")
2315	urls += "?" + c.urlParams_.Encode()
2316	req, err := http.NewRequest("GET", urls, body)
2317	if err != nil {
2318		return nil, err
2319	}
2320	req.Header = reqHeaders
2321	googleapi.Expand(req.URL, map[string]string{
2322		"name": c.name,
2323	})
2324	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2325}
2326
2327// Do executes the "servicebroker.projects.brokers.instances.getLast_operation" call.
2328// Exactly one of *GoogleCloudServicebrokerV1beta1__Operation or error
2329// will be non-nil. Any non-2xx status code is an error. Response
2330// headers are in either
2331// *GoogleCloudServicebrokerV1beta1__Operation.ServerResponse.Header or
2332// (if a response was returned at all) in
2333// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2334// whether the returned error was because http.StatusNotModified was
2335// returned.
2336func (c *ProjectsBrokersInstancesGetLastOperationCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__Operation, error) {
2337	gensupport.SetOptions(c.urlParams_, opts...)
2338	res, err := c.doRequest("json")
2339	if res != nil && res.StatusCode == http.StatusNotModified {
2340		if res.Body != nil {
2341			res.Body.Close()
2342		}
2343		return nil, &googleapi.Error{
2344			Code:   res.StatusCode,
2345			Header: res.Header,
2346		}
2347	}
2348	if err != nil {
2349		return nil, err
2350	}
2351	defer googleapi.CloseBody(res)
2352	if err := googleapi.CheckResponse(res); err != nil {
2353		return nil, err
2354	}
2355	ret := &GoogleCloudServicebrokerV1beta1__Operation{
2356		ServerResponse: googleapi.ServerResponse{
2357			Header:         res.Header,
2358			HTTPStatusCode: res.StatusCode,
2359		},
2360	}
2361	target := &ret
2362	if err := gensupport.DecodeResponse(target, res); err != nil {
2363		return nil, err
2364	}
2365	return ret, nil
2366	// {
2367	//   "description": "Returns the state of the last operation for the service instance.\nOnly last (or current) operation can be polled.",
2368	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/instances/{instancesId}/last_operation",
2369	//   "httpMethod": "GET",
2370	//   "id": "servicebroker.projects.brokers.instances.getLast_operation",
2371	//   "parameterOrder": [
2372	//     "name"
2373	//   ],
2374	//   "parameters": {
2375	//     "name": {
2376	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+\n   `service_instances/[INSTANCE_ID]`.",
2377	//       "location": "path",
2378	//       "pattern": "^projects/[^/]+/brokers/[^/]+/instances/[^/]+$",
2379	//       "required": true,
2380	//       "type": "string"
2381	//     },
2382	//     "operation": {
2383	//       "description": "If `operation` was returned during mutation operation, this field must be\npopulated with the provided value.",
2384	//       "location": "query",
2385	//       "type": "string"
2386	//     },
2387	//     "planId": {
2388	//       "description": "Plan id.",
2389	//       "location": "query",
2390	//       "type": "string"
2391	//     },
2392	//     "serviceId": {
2393	//       "description": "Service id.",
2394	//       "location": "query",
2395	//       "type": "string"
2396	//     }
2397	//   },
2398	//   "path": "v1beta1/{+name}/last_operation",
2399	//   "response": {
2400	//     "$ref": "GoogleCloudServicebrokerV1beta1__Operation"
2401	//   },
2402	//   "scopes": [
2403	//     "https://www.googleapis.com/auth/cloud-platform"
2404	//   ]
2405	// }
2406
2407}
2408
2409// method id "servicebroker.projects.brokers.instances.list":
2410
2411type ProjectsBrokersInstancesListCall struct {
2412	s            *Service
2413	parent       string
2414	urlParams_   gensupport.URLParams
2415	ifNoneMatch_ string
2416	ctx_         context.Context
2417	header_      http.Header
2418}
2419
2420// List: Lists all the instances in the brokers
2421// This API is an extension and not part of the OSB spec.
2422// Hence the path is a standard Google API URL.
2423func (r *ProjectsBrokersInstancesService) List(parent string) *ProjectsBrokersInstancesListCall {
2424	c := &ProjectsBrokersInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2425	c.parent = parent
2426	return c
2427}
2428
2429// PageSize sets the optional parameter "pageSize": Specifies the number
2430// of results to return per page. If there are fewer
2431// elements than the specified number, returns all elements.
2432//  Acceptable values are 0 to 200, inclusive. (Default: 100)
2433func (c *ProjectsBrokersInstancesListCall) PageSize(pageSize int64) *ProjectsBrokersInstancesListCall {
2434	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
2435	return c
2436}
2437
2438// PageToken sets the optional parameter "pageToken": Specifies a page
2439// token to use. Set `pageToken` to a `nextPageToken`
2440// returned by a previous list request to get the next page of results.
2441func (c *ProjectsBrokersInstancesListCall) PageToken(pageToken string) *ProjectsBrokersInstancesListCall {
2442	c.urlParams_.Set("pageToken", pageToken)
2443	return c
2444}
2445
2446// Fields allows partial responses to be retrieved. See
2447// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2448// for more information.
2449func (c *ProjectsBrokersInstancesListCall) Fields(s ...googleapi.Field) *ProjectsBrokersInstancesListCall {
2450	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2451	return c
2452}
2453
2454// IfNoneMatch sets the optional parameter which makes the operation
2455// fail if the object's ETag matches the given value. This is useful for
2456// getting updates only after the object has changed since the last
2457// request. Use googleapi.IsNotModified to check whether the response
2458// error from Do is the result of In-None-Match.
2459func (c *ProjectsBrokersInstancesListCall) IfNoneMatch(entityTag string) *ProjectsBrokersInstancesListCall {
2460	c.ifNoneMatch_ = entityTag
2461	return c
2462}
2463
2464// Context sets the context to be used in this call's Do method. Any
2465// pending HTTP request will be aborted if the provided context is
2466// canceled.
2467func (c *ProjectsBrokersInstancesListCall) Context(ctx context.Context) *ProjectsBrokersInstancesListCall {
2468	c.ctx_ = ctx
2469	return c
2470}
2471
2472// Header returns an http.Header that can be modified by the caller to
2473// add HTTP headers to the request.
2474func (c *ProjectsBrokersInstancesListCall) Header() http.Header {
2475	if c.header_ == nil {
2476		c.header_ = make(http.Header)
2477	}
2478	return c.header_
2479}
2480
2481func (c *ProjectsBrokersInstancesListCall) doRequest(alt string) (*http.Response, error) {
2482	reqHeaders := make(http.Header)
2483	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
2484	for k, v := range c.header_ {
2485		reqHeaders[k] = v
2486	}
2487	reqHeaders.Set("User-Agent", c.s.userAgent())
2488	if c.ifNoneMatch_ != "" {
2489		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2490	}
2491	var body io.Reader = nil
2492	c.urlParams_.Set("alt", alt)
2493	c.urlParams_.Set("prettyPrint", "false")
2494	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/instances")
2495	urls += "?" + c.urlParams_.Encode()
2496	req, err := http.NewRequest("GET", urls, body)
2497	if err != nil {
2498		return nil, err
2499	}
2500	req.Header = reqHeaders
2501	googleapi.Expand(req.URL, map[string]string{
2502		"parent": c.parent,
2503	})
2504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2505}
2506
2507// Do executes the "servicebroker.projects.brokers.instances.list" call.
2508// Exactly one of
2509// *GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse or
2510// error will be non-nil. Any non-2xx status code is an error. Response
2511// headers are in either
2512// *GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse.ServerR
2513// esponse.Header or (if a response was returned at all) in
2514// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2515// whether the returned error was because http.StatusNotModified was
2516// returned.
2517func (c *ProjectsBrokersInstancesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse, error) {
2518	gensupport.SetOptions(c.urlParams_, opts...)
2519	res, err := c.doRequest("json")
2520	if res != nil && res.StatusCode == http.StatusNotModified {
2521		if res.Body != nil {
2522			res.Body.Close()
2523		}
2524		return nil, &googleapi.Error{
2525			Code:   res.StatusCode,
2526			Header: res.Header,
2527		}
2528	}
2529	if err != nil {
2530		return nil, err
2531	}
2532	defer googleapi.CloseBody(res)
2533	if err := googleapi.CheckResponse(res); err != nil {
2534		return nil, err
2535	}
2536	ret := &GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse{
2537		ServerResponse: googleapi.ServerResponse{
2538			Header:         res.Header,
2539			HTTPStatusCode: res.StatusCode,
2540		},
2541	}
2542	target := &ret
2543	if err := gensupport.DecodeResponse(target, res); err != nil {
2544		return nil, err
2545	}
2546	return ret, nil
2547	// {
2548	//   "description": "Lists all the instances in the brokers\nThis API is an extension and not part of the OSB spec.\nHence the path is a standard Google API URL.",
2549	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/instances",
2550	//   "httpMethod": "GET",
2551	//   "id": "servicebroker.projects.brokers.instances.list",
2552	//   "parameterOrder": [
2553	//     "parent"
2554	//   ],
2555	//   "parameters": {
2556	//     "pageSize": {
2557	//       "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.\nOptional. Acceptable values are 0 to 200, inclusive. (Default: 100)",
2558	//       "format": "int32",
2559	//       "location": "query",
2560	//       "type": "integer"
2561	//     },
2562	//     "pageToken": {
2563	//       "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
2564	//       "location": "query",
2565	//       "type": "string"
2566	//     },
2567	//     "parent": {
2568	//       "description": "Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`.",
2569	//       "location": "path",
2570	//       "pattern": "^projects/[^/]+/brokers/[^/]+$",
2571	//       "required": true,
2572	//       "type": "string"
2573	//     }
2574	//   },
2575	//   "path": "v1beta1/{+parent}/instances",
2576	//   "response": {
2577	//     "$ref": "GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse"
2578	//   },
2579	//   "scopes": [
2580	//     "https://www.googleapis.com/auth/cloud-platform"
2581	//   ]
2582	// }
2583
2584}
2585
2586// Pages invokes f for each page of results.
2587// A non-nil error returned from f will halt the iteration.
2588// The provided context supersedes any context provided to the Context method.
2589func (c *ProjectsBrokersInstancesListCall) Pages(ctx context.Context, f func(*GoogleCloudServicebrokerV1beta1__ListServiceInstancesResponse) error) error {
2590	c.ctx_ = ctx
2591	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
2592	for {
2593		x, err := c.Do()
2594		if err != nil {
2595			return err
2596		}
2597		if err := f(x); err != nil {
2598			return err
2599		}
2600		if x.NextPageToken == "" {
2601			return nil
2602		}
2603		c.PageToken(x.NextPageToken)
2604	}
2605}
2606
2607// method id "servicebroker.projects.brokers.instances.bindings.getLast_operation":
2608
2609type ProjectsBrokersInstancesBindingsGetLastOperationCall struct {
2610	s            *Service
2611	name         string
2612	urlParams_   gensupport.URLParams
2613	ifNoneMatch_ string
2614	ctx_         context.Context
2615	header_      http.Header
2616}
2617
2618// GetLastOperation: Returns the state of the last operation for the
2619// binding.
2620// Only last (or current) operation can be polled.
2621func (r *ProjectsBrokersInstancesBindingsService) GetLastOperation(name string) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2622	c := &ProjectsBrokersInstancesBindingsGetLastOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2623	c.name = name
2624	return c
2625}
2626
2627// Operation sets the optional parameter "operation": If `operation` was
2628// returned during mutation operation, this field must be
2629// populated with the provided value.
2630func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) Operation(operation string) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2631	c.urlParams_.Set("operation", operation)
2632	return c
2633}
2634
2635// PlanId sets the optional parameter "planId": Plan id.
2636func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) PlanId(planId string) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2637	c.urlParams_.Set("planId", planId)
2638	return c
2639}
2640
2641// ServiceId sets the optional parameter "serviceId": Service id.
2642func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) ServiceId(serviceId string) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2643	c.urlParams_.Set("serviceId", serviceId)
2644	return c
2645}
2646
2647// Fields allows partial responses to be retrieved. See
2648// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2649// for more information.
2650func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) Fields(s ...googleapi.Field) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2651	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2652	return c
2653}
2654
2655// IfNoneMatch sets the optional parameter which makes the operation
2656// fail if the object's ETag matches the given value. This is useful for
2657// getting updates only after the object has changed since the last
2658// request. Use googleapi.IsNotModified to check whether the response
2659// error from Do is the result of In-None-Match.
2660func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) IfNoneMatch(entityTag string) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2661	c.ifNoneMatch_ = entityTag
2662	return c
2663}
2664
2665// Context sets the context to be used in this call's Do method. Any
2666// pending HTTP request will be aborted if the provided context is
2667// canceled.
2668func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) Context(ctx context.Context) *ProjectsBrokersInstancesBindingsGetLastOperationCall {
2669	c.ctx_ = ctx
2670	return c
2671}
2672
2673// Header returns an http.Header that can be modified by the caller to
2674// add HTTP headers to the request.
2675func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) Header() http.Header {
2676	if c.header_ == nil {
2677		c.header_ = make(http.Header)
2678	}
2679	return c.header_
2680}
2681
2682func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) doRequest(alt string) (*http.Response, error) {
2683	reqHeaders := make(http.Header)
2684	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
2685	for k, v := range c.header_ {
2686		reqHeaders[k] = v
2687	}
2688	reqHeaders.Set("User-Agent", c.s.userAgent())
2689	if c.ifNoneMatch_ != "" {
2690		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2691	}
2692	var body io.Reader = nil
2693	c.urlParams_.Set("alt", alt)
2694	c.urlParams_.Set("prettyPrint", "false")
2695	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/last_operation")
2696	urls += "?" + c.urlParams_.Encode()
2697	req, err := http.NewRequest("GET", urls, body)
2698	if err != nil {
2699		return nil, err
2700	}
2701	req.Header = reqHeaders
2702	googleapi.Expand(req.URL, map[string]string{
2703		"name": c.name,
2704	})
2705	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2706}
2707
2708// Do executes the "servicebroker.projects.brokers.instances.bindings.getLast_operation" call.
2709// Exactly one of *GoogleCloudServicebrokerV1beta1__Operation or error
2710// will be non-nil. Any non-2xx status code is an error. Response
2711// headers are in either
2712// *GoogleCloudServicebrokerV1beta1__Operation.ServerResponse.Header or
2713// (if a response was returned at all) in
2714// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2715// whether the returned error was because http.StatusNotModified was
2716// returned.
2717func (c *ProjectsBrokersInstancesBindingsGetLastOperationCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__Operation, error) {
2718	gensupport.SetOptions(c.urlParams_, opts...)
2719	res, err := c.doRequest("json")
2720	if res != nil && res.StatusCode == http.StatusNotModified {
2721		if res.Body != nil {
2722			res.Body.Close()
2723		}
2724		return nil, &googleapi.Error{
2725			Code:   res.StatusCode,
2726			Header: res.Header,
2727		}
2728	}
2729	if err != nil {
2730		return nil, err
2731	}
2732	defer googleapi.CloseBody(res)
2733	if err := googleapi.CheckResponse(res); err != nil {
2734		return nil, err
2735	}
2736	ret := &GoogleCloudServicebrokerV1beta1__Operation{
2737		ServerResponse: googleapi.ServerResponse{
2738			Header:         res.Header,
2739			HTTPStatusCode: res.StatusCode,
2740		},
2741	}
2742	target := &ret
2743	if err := gensupport.DecodeResponse(target, res); err != nil {
2744		return nil, err
2745	}
2746	return ret, nil
2747	// {
2748	//   "description": "Returns the state of the last operation for the binding.\nOnly last (or current) operation can be polled.",
2749	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/instances/{instancesId}/bindings/{bindingsId}/last_operation",
2750	//   "httpMethod": "GET",
2751	//   "id": "servicebroker.projects.brokers.instances.bindings.getLast_operation",
2752	//   "parameterOrder": [
2753	//     "name"
2754	//   ],
2755	//   "parameters": {
2756	//     "name": {
2757	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`.",
2758	//       "location": "path",
2759	//       "pattern": "^projects/[^/]+/brokers/[^/]+/instances/[^/]+/bindings/[^/]+$",
2760	//       "required": true,
2761	//       "type": "string"
2762	//     },
2763	//     "operation": {
2764	//       "description": "If `operation` was returned during mutation operation, this field must be\npopulated with the provided value.",
2765	//       "location": "query",
2766	//       "type": "string"
2767	//     },
2768	//     "planId": {
2769	//       "description": "Plan id.",
2770	//       "location": "query",
2771	//       "type": "string"
2772	//     },
2773	//     "serviceId": {
2774	//       "description": "Service id.",
2775	//       "location": "query",
2776	//       "type": "string"
2777	//     }
2778	//   },
2779	//   "path": "v1beta1/{+name}/last_operation",
2780	//   "response": {
2781	//     "$ref": "GoogleCloudServicebrokerV1beta1__Operation"
2782	//   },
2783	//   "scopes": [
2784	//     "https://www.googleapis.com/auth/cloud-platform"
2785	//   ]
2786	// }
2787
2788}
2789
2790// method id "servicebroker.projects.brokers.instances.bindings.list":
2791
2792type ProjectsBrokersInstancesBindingsListCall struct {
2793	s            *Service
2794	parent       string
2795	urlParams_   gensupport.URLParams
2796	ifNoneMatch_ string
2797	ctx_         context.Context
2798	header_      http.Header
2799}
2800
2801// List: Lists all the bindings in the instance.
2802func (r *ProjectsBrokersInstancesBindingsService) List(parent string) *ProjectsBrokersInstancesBindingsListCall {
2803	c := &ProjectsBrokersInstancesBindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2804	c.parent = parent
2805	return c
2806}
2807
2808// PageSize sets the optional parameter "pageSize": Specifies the number
2809// of results to return per page. If there are fewer
2810// elements than the specified number, returns all elements.
2811//  Acceptable values are 0 to 200, inclusive. (Default: 100)
2812func (c *ProjectsBrokersInstancesBindingsListCall) PageSize(pageSize int64) *ProjectsBrokersInstancesBindingsListCall {
2813	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
2814	return c
2815}
2816
2817// PageToken sets the optional parameter "pageToken": Specifies a page
2818// token to use. Set `pageToken` to a `nextPageToken`
2819// returned by a previous list request to get the next page of results.
2820func (c *ProjectsBrokersInstancesBindingsListCall) PageToken(pageToken string) *ProjectsBrokersInstancesBindingsListCall {
2821	c.urlParams_.Set("pageToken", pageToken)
2822	return c
2823}
2824
2825// Fields allows partial responses to be retrieved. See
2826// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2827// for more information.
2828func (c *ProjectsBrokersInstancesBindingsListCall) Fields(s ...googleapi.Field) *ProjectsBrokersInstancesBindingsListCall {
2829	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2830	return c
2831}
2832
2833// IfNoneMatch sets the optional parameter which makes the operation
2834// fail if the object's ETag matches the given value. This is useful for
2835// getting updates only after the object has changed since the last
2836// request. Use googleapi.IsNotModified to check whether the response
2837// error from Do is the result of In-None-Match.
2838func (c *ProjectsBrokersInstancesBindingsListCall) IfNoneMatch(entityTag string) *ProjectsBrokersInstancesBindingsListCall {
2839	c.ifNoneMatch_ = entityTag
2840	return c
2841}
2842
2843// Context sets the context to be used in this call's Do method. Any
2844// pending HTTP request will be aborted if the provided context is
2845// canceled.
2846func (c *ProjectsBrokersInstancesBindingsListCall) Context(ctx context.Context) *ProjectsBrokersInstancesBindingsListCall {
2847	c.ctx_ = ctx
2848	return c
2849}
2850
2851// Header returns an http.Header that can be modified by the caller to
2852// add HTTP headers to the request.
2853func (c *ProjectsBrokersInstancesBindingsListCall) Header() http.Header {
2854	if c.header_ == nil {
2855		c.header_ = make(http.Header)
2856	}
2857	return c.header_
2858}
2859
2860func (c *ProjectsBrokersInstancesBindingsListCall) doRequest(alt string) (*http.Response, error) {
2861	reqHeaders := make(http.Header)
2862	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
2863	for k, v := range c.header_ {
2864		reqHeaders[k] = v
2865	}
2866	reqHeaders.Set("User-Agent", c.s.userAgent())
2867	if c.ifNoneMatch_ != "" {
2868		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2869	}
2870	var body io.Reader = nil
2871	c.urlParams_.Set("alt", alt)
2872	c.urlParams_.Set("prettyPrint", "false")
2873	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/bindings")
2874	urls += "?" + c.urlParams_.Encode()
2875	req, err := http.NewRequest("GET", urls, body)
2876	if err != nil {
2877		return nil, err
2878	}
2879	req.Header = reqHeaders
2880	googleapi.Expand(req.URL, map[string]string{
2881		"parent": c.parent,
2882	})
2883	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2884}
2885
2886// Do executes the "servicebroker.projects.brokers.instances.bindings.list" call.
2887// Exactly one of *GoogleCloudServicebrokerV1beta1__ListBindingsResponse
2888// or error will be non-nil. Any non-2xx status code is an error.
2889// Response headers are in either
2890// *GoogleCloudServicebrokerV1beta1__ListBindingsResponse.ServerResponse.
2891// Header or (if a response was returned at all) in
2892// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2893// whether the returned error was because http.StatusNotModified was
2894// returned.
2895func (c *ProjectsBrokersInstancesBindingsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ListBindingsResponse, error) {
2896	gensupport.SetOptions(c.urlParams_, opts...)
2897	res, err := c.doRequest("json")
2898	if res != nil && res.StatusCode == http.StatusNotModified {
2899		if res.Body != nil {
2900			res.Body.Close()
2901		}
2902		return nil, &googleapi.Error{
2903			Code:   res.StatusCode,
2904			Header: res.Header,
2905		}
2906	}
2907	if err != nil {
2908		return nil, err
2909	}
2910	defer googleapi.CloseBody(res)
2911	if err := googleapi.CheckResponse(res); err != nil {
2912		return nil, err
2913	}
2914	ret := &GoogleCloudServicebrokerV1beta1__ListBindingsResponse{
2915		ServerResponse: googleapi.ServerResponse{
2916			Header:         res.Header,
2917			HTTPStatusCode: res.StatusCode,
2918		},
2919	}
2920	target := &ret
2921	if err := gensupport.DecodeResponse(target, res); err != nil {
2922		return nil, err
2923	}
2924	return ret, nil
2925	// {
2926	//   "description": "Lists all the bindings in the instance.",
2927	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/instances/{instancesId}/bindings",
2928	//   "httpMethod": "GET",
2929	//   "id": "servicebroker.projects.brokers.instances.bindings.list",
2930	//   "parameterOrder": [
2931	//     "parent"
2932	//   ],
2933	//   "parameters": {
2934	//     "pageSize": {
2935	//       "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.\nOptional. Acceptable values are 0 to 200, inclusive. (Default: 100)",
2936	//       "format": "int32",
2937	//       "location": "query",
2938	//       "type": "integer"
2939	//     },
2940	//     "pageToken": {
2941	//       "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
2942	//       "location": "query",
2943	//       "type": "string"
2944	//     },
2945	//     "parent": {
2946	//       "description": "Parent must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/` +\n`v2/service_instances/[INSTANCE_ID]`\nor\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`.",
2947	//       "location": "path",
2948	//       "pattern": "^projects/[^/]+/brokers/[^/]+/instances/[^/]+$",
2949	//       "required": true,
2950	//       "type": "string"
2951	//     }
2952	//   },
2953	//   "path": "v1beta1/{+parent}/bindings",
2954	//   "response": {
2955	//     "$ref": "GoogleCloudServicebrokerV1beta1__ListBindingsResponse"
2956	//   },
2957	//   "scopes": [
2958	//     "https://www.googleapis.com/auth/cloud-platform"
2959	//   ]
2960	// }
2961
2962}
2963
2964// Pages invokes f for each page of results.
2965// A non-nil error returned from f will halt the iteration.
2966// The provided context supersedes any context provided to the Context method.
2967func (c *ProjectsBrokersInstancesBindingsListCall) Pages(ctx context.Context, f func(*GoogleCloudServicebrokerV1beta1__ListBindingsResponse) error) error {
2968	c.ctx_ = ctx
2969	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
2970	for {
2971		x, err := c.Do()
2972		if err != nil {
2973			return err
2974		}
2975		if err := f(x); err != nil {
2976			return err
2977		}
2978		if x.NextPageToken == "" {
2979			return nil
2980		}
2981		c.PageToken(x.NextPageToken)
2982	}
2983}
2984
2985// method id "servicebroker.projects.brokers.v2.catalog.list":
2986
2987type ProjectsBrokersV2CatalogListCall struct {
2988	s            *Service
2989	parent       string
2990	urlParams_   gensupport.URLParams
2991	ifNoneMatch_ string
2992	ctx_         context.Context
2993	header_      http.Header
2994}
2995
2996// List: Lists all the Services registered with this broker for
2997// consumption for
2998// given service registry broker, which contains an set of
2999// services.
3000// Note, that Service producer API is separate from Broker API.
3001func (r *ProjectsBrokersV2CatalogService) List(parent string) *ProjectsBrokersV2CatalogListCall {
3002	c := &ProjectsBrokersV2CatalogListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3003	c.parent = parent
3004	return c
3005}
3006
3007// PageSize sets the optional parameter "pageSize": Specifies the number
3008// of results to return per page. If there are fewer
3009// elements than the specified number, returns all elements.
3010//  If unset or 0, all the results will be returned.
3011func (c *ProjectsBrokersV2CatalogListCall) PageSize(pageSize int64) *ProjectsBrokersV2CatalogListCall {
3012	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3013	return c
3014}
3015
3016// PageToken sets the optional parameter "pageToken": Specifies a page
3017// token to use. Set `pageToken` to a `nextPageToken`
3018// returned by a previous list request to get the next page of results.
3019func (c *ProjectsBrokersV2CatalogListCall) PageToken(pageToken string) *ProjectsBrokersV2CatalogListCall {
3020	c.urlParams_.Set("pageToken", pageToken)
3021	return c
3022}
3023
3024// Fields allows partial responses to be retrieved. See
3025// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3026// for more information.
3027func (c *ProjectsBrokersV2CatalogListCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2CatalogListCall {
3028	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3029	return c
3030}
3031
3032// IfNoneMatch sets the optional parameter which makes the operation
3033// fail if the object's ETag matches the given value. This is useful for
3034// getting updates only after the object has changed since the last
3035// request. Use googleapi.IsNotModified to check whether the response
3036// error from Do is the result of In-None-Match.
3037func (c *ProjectsBrokersV2CatalogListCall) IfNoneMatch(entityTag string) *ProjectsBrokersV2CatalogListCall {
3038	c.ifNoneMatch_ = entityTag
3039	return c
3040}
3041
3042// Context sets the context to be used in this call's Do method. Any
3043// pending HTTP request will be aborted if the provided context is
3044// canceled.
3045func (c *ProjectsBrokersV2CatalogListCall) Context(ctx context.Context) *ProjectsBrokersV2CatalogListCall {
3046	c.ctx_ = ctx
3047	return c
3048}
3049
3050// Header returns an http.Header that can be modified by the caller to
3051// add HTTP headers to the request.
3052func (c *ProjectsBrokersV2CatalogListCall) Header() http.Header {
3053	if c.header_ == nil {
3054		c.header_ = make(http.Header)
3055	}
3056	return c.header_
3057}
3058
3059func (c *ProjectsBrokersV2CatalogListCall) doRequest(alt string) (*http.Response, error) {
3060	reqHeaders := make(http.Header)
3061	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3062	for k, v := range c.header_ {
3063		reqHeaders[k] = v
3064	}
3065	reqHeaders.Set("User-Agent", c.s.userAgent())
3066	if c.ifNoneMatch_ != "" {
3067		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3068	}
3069	var body io.Reader = nil
3070	c.urlParams_.Set("alt", alt)
3071	c.urlParams_.Set("prettyPrint", "false")
3072	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/v2/catalog")
3073	urls += "?" + c.urlParams_.Encode()
3074	req, err := http.NewRequest("GET", urls, body)
3075	if err != nil {
3076		return nil, err
3077	}
3078	req.Header = reqHeaders
3079	googleapi.Expand(req.URL, map[string]string{
3080		"parent": c.parent,
3081	})
3082	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3083}
3084
3085// Do executes the "servicebroker.projects.brokers.v2.catalog.list" call.
3086// Exactly one of *GoogleCloudServicebrokerV1beta1__ListCatalogResponse
3087// or error will be non-nil. Any non-2xx status code is an error.
3088// Response headers are in either
3089// *GoogleCloudServicebrokerV1beta1__ListCatalogResponse.ServerResponse.H
3090// eader or (if a response was returned at all) in
3091// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3092// whether the returned error was because http.StatusNotModified was
3093// returned.
3094func (c *ProjectsBrokersV2CatalogListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ListCatalogResponse, error) {
3095	gensupport.SetOptions(c.urlParams_, opts...)
3096	res, err := c.doRequest("json")
3097	if res != nil && res.StatusCode == http.StatusNotModified {
3098		if res.Body != nil {
3099			res.Body.Close()
3100		}
3101		return nil, &googleapi.Error{
3102			Code:   res.StatusCode,
3103			Header: res.Header,
3104		}
3105	}
3106	if err != nil {
3107		return nil, err
3108	}
3109	defer googleapi.CloseBody(res)
3110	if err := googleapi.CheckResponse(res); err != nil {
3111		return nil, err
3112	}
3113	ret := &GoogleCloudServicebrokerV1beta1__ListCatalogResponse{
3114		ServerResponse: googleapi.ServerResponse{
3115			Header:         res.Header,
3116			HTTPStatusCode: res.StatusCode,
3117		},
3118	}
3119	target := &ret
3120	if err := gensupport.DecodeResponse(target, res); err != nil {
3121		return nil, err
3122	}
3123	return ret, nil
3124	// {
3125	//   "description": "Lists all the Services registered with this broker for consumption for\ngiven service registry broker, which contains an set of services.\nNote, that Service producer API is separate from Broker API.",
3126	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/catalog",
3127	//   "httpMethod": "GET",
3128	//   "id": "servicebroker.projects.brokers.v2.catalog.list",
3129	//   "parameterOrder": [
3130	//     "parent"
3131	//   ],
3132	//   "parameters": {
3133	//     "pageSize": {
3134	//       "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.\nOptional. If unset or 0, all the results will be returned.",
3135	//       "format": "int32",
3136	//       "location": "query",
3137	//       "type": "integer"
3138	//     },
3139	//     "pageToken": {
3140	//       "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
3141	//       "location": "query",
3142	//       "type": "string"
3143	//     },
3144	//     "parent": {
3145	//       "description": "Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`.",
3146	//       "location": "path",
3147	//       "pattern": "^projects/[^/]+/brokers/[^/]+$",
3148	//       "required": true,
3149	//       "type": "string"
3150	//     }
3151	//   },
3152	//   "path": "v1beta1/{+parent}/v2/catalog",
3153	//   "response": {
3154	//     "$ref": "GoogleCloudServicebrokerV1beta1__ListCatalogResponse"
3155	//   },
3156	//   "scopes": [
3157	//     "https://www.googleapis.com/auth/cloud-platform"
3158	//   ]
3159	// }
3160
3161}
3162
3163// Pages invokes f for each page of results.
3164// A non-nil error returned from f will halt the iteration.
3165// The provided context supersedes any context provided to the Context method.
3166func (c *ProjectsBrokersV2CatalogListCall) Pages(ctx context.Context, f func(*GoogleCloudServicebrokerV1beta1__ListCatalogResponse) error) error {
3167	c.ctx_ = ctx
3168	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3169	for {
3170		x, err := c.Do()
3171		if err != nil {
3172			return err
3173		}
3174		if err := f(x); err != nil {
3175			return err
3176		}
3177		if x.NextPageToken == "" {
3178			return nil
3179		}
3180		c.PageToken(x.NextPageToken)
3181	}
3182}
3183
3184// method id "servicebroker.projects.brokers.v2.service_instances.create":
3185
3186type ProjectsBrokersV2ServiceInstancesCreateCall struct {
3187	s                                                *Service
3188	parent                                           string
3189	instanceId                                       string
3190	googlecloudservicebrokerv1beta1__serviceinstance *GoogleCloudServicebrokerV1beta1__ServiceInstance
3191	urlParams_                                       gensupport.URLParams
3192	ctx_                                             context.Context
3193	header_                                          http.Header
3194}
3195
3196// Create: Provisions a service instance.
3197// If `request.accepts_incomplete` is false and Broker cannot execute
3198// request
3199// synchronously HTTP 422 error will be returned along
3200// with
3201// FAILED_PRECONDITION status.
3202// If `request.accepts_incomplete` is true and the Broker decides to
3203// execute
3204// resource asynchronously then HTTP 202 response code will be returned
3205// and a
3206// valid polling operation in the response will be included.
3207// If Broker executes the request synchronously and it succeeds HTTP
3208// 201
3209// response will be furnished.
3210// If identical instance exists, then HTTP 200 response will be
3211// returned.
3212// If an instance with identical ID but mismatching parameters exists,
3213// then
3214// HTTP 409 status code will be returned.
3215func (r *ProjectsBrokersV2ServiceInstancesService) Create(parent string, instanceId string, googlecloudservicebrokerv1beta1__serviceinstance *GoogleCloudServicebrokerV1beta1__ServiceInstance) *ProjectsBrokersV2ServiceInstancesCreateCall {
3216	c := &ProjectsBrokersV2ServiceInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3217	c.parent = parent
3218	c.instanceId = instanceId
3219	c.googlecloudservicebrokerv1beta1__serviceinstance = googlecloudservicebrokerv1beta1__serviceinstance
3220	return c
3221}
3222
3223// AcceptsIncomplete sets the optional parameter "acceptsIncomplete":
3224// Value indicating that API client supports asynchronous operations.
3225// If
3226// Broker cannot execute the request synchronously HTTP 422 code will
3227// be
3228// returned to HTTP clients along with FAILED_PRECONDITION error.
3229// If true and broker will execute request asynchronously 202 HTTP code
3230// will
3231// be returned.
3232// This broker always requires this to be true as all mutator operations
3233// are
3234// asynchronous.
3235func (c *ProjectsBrokersV2ServiceInstancesCreateCall) AcceptsIncomplete(acceptsIncomplete bool) *ProjectsBrokersV2ServiceInstancesCreateCall {
3236	c.urlParams_.Set("acceptsIncomplete", fmt.Sprint(acceptsIncomplete))
3237	return c
3238}
3239
3240// Fields allows partial responses to be retrieved. See
3241// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3242// for more information.
3243func (c *ProjectsBrokersV2ServiceInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesCreateCall {
3244	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3245	return c
3246}
3247
3248// Context sets the context to be used in this call's Do method. Any
3249// pending HTTP request will be aborted if the provided context is
3250// canceled.
3251func (c *ProjectsBrokersV2ServiceInstancesCreateCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesCreateCall {
3252	c.ctx_ = ctx
3253	return c
3254}
3255
3256// Header returns an http.Header that can be modified by the caller to
3257// add HTTP headers to the request.
3258func (c *ProjectsBrokersV2ServiceInstancesCreateCall) Header() http.Header {
3259	if c.header_ == nil {
3260		c.header_ = make(http.Header)
3261	}
3262	return c.header_
3263}
3264
3265func (c *ProjectsBrokersV2ServiceInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
3266	reqHeaders := make(http.Header)
3267	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3268	for k, v := range c.header_ {
3269		reqHeaders[k] = v
3270	}
3271	reqHeaders.Set("User-Agent", c.s.userAgent())
3272	var body io.Reader = nil
3273	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudservicebrokerv1beta1__serviceinstance)
3274	if err != nil {
3275		return nil, err
3276	}
3277	reqHeaders.Set("Content-Type", "application/json")
3278	c.urlParams_.Set("alt", alt)
3279	c.urlParams_.Set("prettyPrint", "false")
3280	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/v2/service_instances/{+instance_id}")
3281	urls += "?" + c.urlParams_.Encode()
3282	req, err := http.NewRequest("PUT", urls, body)
3283	if err != nil {
3284		return nil, err
3285	}
3286	req.Header = reqHeaders
3287	googleapi.Expand(req.URL, map[string]string{
3288		"parent":      c.parent,
3289		"instance_id": c.instanceId,
3290	})
3291	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3292}
3293
3294// Do executes the "servicebroker.projects.brokers.v2.service_instances.create" call.
3295// Exactly one of
3296// *GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse or
3297// error will be non-nil. Any non-2xx status code is an error. Response
3298// headers are in either
3299// *GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse.Server
3300// Response.Header or (if a response was returned at all) in
3301// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3302// whether the returned error was because http.StatusNotModified was
3303// returned.
3304func (c *ProjectsBrokersV2ServiceInstancesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse, error) {
3305	gensupport.SetOptions(c.urlParams_, opts...)
3306	res, err := c.doRequest("json")
3307	if res != nil && res.StatusCode == http.StatusNotModified {
3308		if res.Body != nil {
3309			res.Body.Close()
3310		}
3311		return nil, &googleapi.Error{
3312			Code:   res.StatusCode,
3313			Header: res.Header,
3314		}
3315	}
3316	if err != nil {
3317		return nil, err
3318	}
3319	defer googleapi.CloseBody(res)
3320	if err := googleapi.CheckResponse(res); err != nil {
3321		return nil, err
3322	}
3323	ret := &GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse{
3324		ServerResponse: googleapi.ServerResponse{
3325			Header:         res.Header,
3326			HTTPStatusCode: res.StatusCode,
3327		},
3328	}
3329	target := &ret
3330	if err := gensupport.DecodeResponse(target, res); err != nil {
3331		return nil, err
3332	}
3333	return ret, nil
3334	// {
3335	//   "description": "Provisions a service instance.\nIf `request.accepts_incomplete` is false and Broker cannot execute request\nsynchronously HTTP 422 error will be returned along with\nFAILED_PRECONDITION status.\nIf `request.accepts_incomplete` is true and the Broker decides to execute\nresource asynchronously then HTTP 202 response code will be returned and a\nvalid polling operation in the response will be included.\nIf Broker executes the request synchronously and it succeeds HTTP 201\nresponse will be furnished.\nIf identical instance exists, then HTTP 200 response will be returned.\nIf an instance with identical ID but mismatching parameters exists, then\nHTTP 409 status code will be returned.",
3336	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}",
3337	//   "httpMethod": "PUT",
3338	//   "id": "servicebroker.projects.brokers.v2.service_instances.create",
3339	//   "parameterOrder": [
3340	//     "parent",
3341	//     "instance_id"
3342	//   ],
3343	//   "parameters": {
3344	//     "acceptsIncomplete": {
3345	//       "description": "Value indicating that API client supports asynchronous operations. If\nBroker cannot execute the request synchronously HTTP 422 code will be\nreturned to HTTP clients along with FAILED_PRECONDITION error.\nIf true and broker will execute request asynchronously 202 HTTP code will\nbe returned.\nThis broker always requires this to be true as all mutator operations are\nasynchronous.",
3346	//       "location": "query",
3347	//       "type": "boolean"
3348	//     },
3349	//     "instance_id": {
3350	//       "description": "The id of the service instance. Must be unique within GCP project.\nMaximum length is 64, GUID recommended.\nRequired.",
3351	//       "location": "path",
3352	//       "pattern": "^[^/]+$",
3353	//       "required": true,
3354	//       "type": "string"
3355	//     },
3356	//     "parent": {
3357	//       "description": "Parent must match `projects/[PROJECT_ID]/brokers/[BROKER_ID]`.",
3358	//       "location": "path",
3359	//       "pattern": "^projects/[^/]+/brokers/[^/]+$",
3360	//       "required": true,
3361	//       "type": "string"
3362	//     }
3363	//   },
3364	//   "path": "v1beta1/{+parent}/v2/service_instances/{+instance_id}",
3365	//   "request": {
3366	//     "$ref": "GoogleCloudServicebrokerV1beta1__ServiceInstance"
3367	//   },
3368	//   "response": {
3369	//     "$ref": "GoogleCloudServicebrokerV1beta1__CreateServiceInstanceResponse"
3370	//   },
3371	//   "scopes": [
3372	//     "https://www.googleapis.com/auth/cloud-platform"
3373	//   ]
3374	// }
3375
3376}
3377
3378// method id "servicebroker.projects.brokers.v2.service_instances.delete":
3379
3380type ProjectsBrokersV2ServiceInstancesDeleteCall struct {
3381	s          *Service
3382	name       string
3383	urlParams_ gensupport.URLParams
3384	ctx_       context.Context
3385	header_    http.Header
3386}
3387
3388// Delete: Deprovisions a service instance.
3389// For synchronous/asynchronous request details see
3390// CreateServiceInstance
3391// method.
3392// If service instance does not exist HTTP 410 status will be returned.
3393func (r *ProjectsBrokersV2ServiceInstancesService) Delete(name string) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3394	c := &ProjectsBrokersV2ServiceInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3395	c.name = name
3396	return c
3397}
3398
3399// AcceptsIncomplete sets the optional parameter "acceptsIncomplete":
3400// See CreateServiceInstanceRequest for details.
3401func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) AcceptsIncomplete(acceptsIncomplete bool) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3402	c.urlParams_.Set("acceptsIncomplete", fmt.Sprint(acceptsIncomplete))
3403	return c
3404}
3405
3406// PlanId sets the optional parameter "planId": The plan id of the
3407// service instance.
3408func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) PlanId(planId string) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3409	c.urlParams_.Set("planId", planId)
3410	return c
3411}
3412
3413// ServiceId sets the optional parameter "serviceId": The service id of
3414// the service instance.
3415func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) ServiceId(serviceId string) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3416	c.urlParams_.Set("serviceId", serviceId)
3417	return c
3418}
3419
3420// Fields allows partial responses to be retrieved. See
3421// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3422// for more information.
3423func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3424	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3425	return c
3426}
3427
3428// Context sets the context to be used in this call's Do method. Any
3429// pending HTTP request will be aborted if the provided context is
3430// canceled.
3431func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesDeleteCall {
3432	c.ctx_ = ctx
3433	return c
3434}
3435
3436// Header returns an http.Header that can be modified by the caller to
3437// add HTTP headers to the request.
3438func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) Header() http.Header {
3439	if c.header_ == nil {
3440		c.header_ = make(http.Header)
3441	}
3442	return c.header_
3443}
3444
3445func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
3446	reqHeaders := make(http.Header)
3447	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3448	for k, v := range c.header_ {
3449		reqHeaders[k] = v
3450	}
3451	reqHeaders.Set("User-Agent", c.s.userAgent())
3452	var body io.Reader = nil
3453	c.urlParams_.Set("alt", alt)
3454	c.urlParams_.Set("prettyPrint", "false")
3455	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3456	urls += "?" + c.urlParams_.Encode()
3457	req, err := http.NewRequest("DELETE", urls, body)
3458	if err != nil {
3459		return nil, err
3460	}
3461	req.Header = reqHeaders
3462	googleapi.Expand(req.URL, map[string]string{
3463		"name": c.name,
3464	})
3465	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3466}
3467
3468// Do executes the "servicebroker.projects.brokers.v2.service_instances.delete" call.
3469// Exactly one of
3470// *GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse or
3471// error will be non-nil. Any non-2xx status code is an error. Response
3472// headers are in either
3473// *GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse.Server
3474// Response.Header or (if a response was returned at all) in
3475// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3476// whether the returned error was because http.StatusNotModified was
3477// returned.
3478func (c *ProjectsBrokersV2ServiceInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse, error) {
3479	gensupport.SetOptions(c.urlParams_, opts...)
3480	res, err := c.doRequest("json")
3481	if res != nil && res.StatusCode == http.StatusNotModified {
3482		if res.Body != nil {
3483			res.Body.Close()
3484		}
3485		return nil, &googleapi.Error{
3486			Code:   res.StatusCode,
3487			Header: res.Header,
3488		}
3489	}
3490	if err != nil {
3491		return nil, err
3492	}
3493	defer googleapi.CloseBody(res)
3494	if err := googleapi.CheckResponse(res); err != nil {
3495		return nil, err
3496	}
3497	ret := &GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse{
3498		ServerResponse: googleapi.ServerResponse{
3499			Header:         res.Header,
3500			HTTPStatusCode: res.StatusCode,
3501		},
3502	}
3503	target := &ret
3504	if err := gensupport.DecodeResponse(target, res); err != nil {
3505		return nil, err
3506	}
3507	return ret, nil
3508	// {
3509	//   "description": "Deprovisions a service instance.\nFor synchronous/asynchronous request details see CreateServiceInstance\nmethod.\nIf service instance does not exist HTTP 410 status will be returned.",
3510	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}",
3511	//   "httpMethod": "DELETE",
3512	//   "id": "servicebroker.projects.brokers.v2.service_instances.delete",
3513	//   "parameterOrder": [
3514	//     "name"
3515	//   ],
3516	//   "parameters": {
3517	//     "acceptsIncomplete": {
3518	//       "description": "See CreateServiceInstanceRequest for details.",
3519	//       "location": "query",
3520	//       "type": "boolean"
3521	//     },
3522	//     "name": {
3523	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/` +\n`v2/service_instances/[INSTANCE_ID]`\nor\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`.",
3524	//       "location": "path",
3525	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+$",
3526	//       "required": true,
3527	//       "type": "string"
3528	//     },
3529	//     "planId": {
3530	//       "description": "The plan id of the service instance.",
3531	//       "location": "query",
3532	//       "type": "string"
3533	//     },
3534	//     "serviceId": {
3535	//       "description": "The service id of the service instance.",
3536	//       "location": "query",
3537	//       "type": "string"
3538	//     }
3539	//   },
3540	//   "path": "v1beta1/{+name}",
3541	//   "response": {
3542	//     "$ref": "GoogleCloudServicebrokerV1beta1__DeleteServiceInstanceResponse"
3543	//   },
3544	//   "scopes": [
3545	//     "https://www.googleapis.com/auth/cloud-platform"
3546	//   ]
3547	// }
3548
3549}
3550
3551// method id "servicebroker.projects.brokers.v2.service_instances.get":
3552
3553type ProjectsBrokersV2ServiceInstancesGetCall struct {
3554	s            *Service
3555	name         string
3556	urlParams_   gensupport.URLParams
3557	ifNoneMatch_ string
3558	ctx_         context.Context
3559	header_      http.Header
3560}
3561
3562// Get: Gets the given service instance from the system.
3563// The API call accepts both OSB style API and standard google style
3564// API
3565// resource path.
3566// i.e. both `projects/*/brokers/*/instances/*`
3567//  and `projects/*/brokers/*/v2/service_instances/*` are acceptable
3568// paths.
3569func (r *ProjectsBrokersV2ServiceInstancesService) Get(name string) *ProjectsBrokersV2ServiceInstancesGetCall {
3570	c := &ProjectsBrokersV2ServiceInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3571	c.name = name
3572	return c
3573}
3574
3575// Fields allows partial responses to be retrieved. See
3576// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3577// for more information.
3578func (c *ProjectsBrokersV2ServiceInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesGetCall {
3579	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3580	return c
3581}
3582
3583// IfNoneMatch sets the optional parameter which makes the operation
3584// fail if the object's ETag matches the given value. This is useful for
3585// getting updates only after the object has changed since the last
3586// request. Use googleapi.IsNotModified to check whether the response
3587// error from Do is the result of In-None-Match.
3588func (c *ProjectsBrokersV2ServiceInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsBrokersV2ServiceInstancesGetCall {
3589	c.ifNoneMatch_ = entityTag
3590	return c
3591}
3592
3593// Context sets the context to be used in this call's Do method. Any
3594// pending HTTP request will be aborted if the provided context is
3595// canceled.
3596func (c *ProjectsBrokersV2ServiceInstancesGetCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesGetCall {
3597	c.ctx_ = ctx
3598	return c
3599}
3600
3601// Header returns an http.Header that can be modified by the caller to
3602// add HTTP headers to the request.
3603func (c *ProjectsBrokersV2ServiceInstancesGetCall) Header() http.Header {
3604	if c.header_ == nil {
3605		c.header_ = make(http.Header)
3606	}
3607	return c.header_
3608}
3609
3610func (c *ProjectsBrokersV2ServiceInstancesGetCall) doRequest(alt string) (*http.Response, error) {
3611	reqHeaders := make(http.Header)
3612	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3613	for k, v := range c.header_ {
3614		reqHeaders[k] = v
3615	}
3616	reqHeaders.Set("User-Agent", c.s.userAgent())
3617	if c.ifNoneMatch_ != "" {
3618		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3619	}
3620	var body io.Reader = nil
3621	c.urlParams_.Set("alt", alt)
3622	c.urlParams_.Set("prettyPrint", "false")
3623	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3624	urls += "?" + c.urlParams_.Encode()
3625	req, err := http.NewRequest("GET", urls, body)
3626	if err != nil {
3627		return nil, err
3628	}
3629	req.Header = reqHeaders
3630	googleapi.Expand(req.URL, map[string]string{
3631		"name": c.name,
3632	})
3633	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3634}
3635
3636// Do executes the "servicebroker.projects.brokers.v2.service_instances.get" call.
3637// Exactly one of *GoogleCloudServicebrokerV1beta1__ServiceInstance or
3638// error will be non-nil. Any non-2xx status code is an error. Response
3639// headers are in either
3640// *GoogleCloudServicebrokerV1beta1__ServiceInstance.ServerResponse.Heade
3641// r or (if a response was returned at all) in
3642// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3643// whether the returned error was because http.StatusNotModified was
3644// returned.
3645func (c *ProjectsBrokersV2ServiceInstancesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__ServiceInstance, error) {
3646	gensupport.SetOptions(c.urlParams_, opts...)
3647	res, err := c.doRequest("json")
3648	if res != nil && res.StatusCode == http.StatusNotModified {
3649		if res.Body != nil {
3650			res.Body.Close()
3651		}
3652		return nil, &googleapi.Error{
3653			Code:   res.StatusCode,
3654			Header: res.Header,
3655		}
3656	}
3657	if err != nil {
3658		return nil, err
3659	}
3660	defer googleapi.CloseBody(res)
3661	if err := googleapi.CheckResponse(res); err != nil {
3662		return nil, err
3663	}
3664	ret := &GoogleCloudServicebrokerV1beta1__ServiceInstance{
3665		ServerResponse: googleapi.ServerResponse{
3666			Header:         res.Header,
3667			HTTPStatusCode: res.StatusCode,
3668		},
3669	}
3670	target := &ret
3671	if err := gensupport.DecodeResponse(target, res); err != nil {
3672		return nil, err
3673	}
3674	return ret, nil
3675	// {
3676	//   "description": "Gets the given service instance from the system.\nThe API call accepts both OSB style API and standard google style API\nresource path.\ni.e. both `projects/*/brokers/*/instances/*`\n and `projects/*/brokers/*/v2/service_instances/*` are acceptable paths.",
3677	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}",
3678	//   "httpMethod": "GET",
3679	//   "id": "servicebroker.projects.brokers.v2.service_instances.get",
3680	//   "parameterOrder": [
3681	//     "name"
3682	//   ],
3683	//   "parameters": {
3684	//     "name": {
3685	//       "description": "The resource name of the instance to return.\nName must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/` +\n`v2/service_instances/[INSTANCE_ID]`\nor\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/instances/[INSTANCE_ID]`.",
3686	//       "location": "path",
3687	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+$",
3688	//       "required": true,
3689	//       "type": "string"
3690	//     }
3691	//   },
3692	//   "path": "v1beta1/{+name}",
3693	//   "response": {
3694	//     "$ref": "GoogleCloudServicebrokerV1beta1__ServiceInstance"
3695	//   },
3696	//   "scopes": [
3697	//     "https://www.googleapis.com/auth/cloud-platform"
3698	//   ]
3699	// }
3700
3701}
3702
3703// method id "servicebroker.projects.brokers.v2.service_instances.getLast_operation":
3704
3705type ProjectsBrokersV2ServiceInstancesGetLastOperationCall struct {
3706	s            *Service
3707	name         string
3708	urlParams_   gensupport.URLParams
3709	ifNoneMatch_ string
3710	ctx_         context.Context
3711	header_      http.Header
3712}
3713
3714// GetLastOperation: Returns the state of the last operation for the
3715// service instance.
3716// Only last (or current) operation can be polled.
3717func (r *ProjectsBrokersV2ServiceInstancesService) GetLastOperation(name string) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3718	c := &ProjectsBrokersV2ServiceInstancesGetLastOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3719	c.name = name
3720	return c
3721}
3722
3723// Operation sets the optional parameter "operation": If `operation` was
3724// returned during mutation operation, this field must be
3725// populated with the provided value.
3726func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) Operation(operation string) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3727	c.urlParams_.Set("operation", operation)
3728	return c
3729}
3730
3731// PlanId sets the optional parameter "planId": Plan id.
3732func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) PlanId(planId string) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3733	c.urlParams_.Set("planId", planId)
3734	return c
3735}
3736
3737// ServiceId sets the optional parameter "serviceId": Service id.
3738func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) ServiceId(serviceId string) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3739	c.urlParams_.Set("serviceId", serviceId)
3740	return c
3741}
3742
3743// Fields allows partial responses to be retrieved. See
3744// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3745// for more information.
3746func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3747	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3748	return c
3749}
3750
3751// IfNoneMatch sets the optional parameter which makes the operation
3752// fail if the object's ETag matches the given value. This is useful for
3753// getting updates only after the object has changed since the last
3754// request. Use googleapi.IsNotModified to check whether the response
3755// error from Do is the result of In-None-Match.
3756func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) IfNoneMatch(entityTag string) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3757	c.ifNoneMatch_ = entityTag
3758	return c
3759}
3760
3761// Context sets the context to be used in this call's Do method. Any
3762// pending HTTP request will be aborted if the provided context is
3763// canceled.
3764func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesGetLastOperationCall {
3765	c.ctx_ = ctx
3766	return c
3767}
3768
3769// Header returns an http.Header that can be modified by the caller to
3770// add HTTP headers to the request.
3771func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) Header() http.Header {
3772	if c.header_ == nil {
3773		c.header_ = make(http.Header)
3774	}
3775	return c.header_
3776}
3777
3778func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) doRequest(alt string) (*http.Response, error) {
3779	reqHeaders := make(http.Header)
3780	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3781	for k, v := range c.header_ {
3782		reqHeaders[k] = v
3783	}
3784	reqHeaders.Set("User-Agent", c.s.userAgent())
3785	if c.ifNoneMatch_ != "" {
3786		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3787	}
3788	var body io.Reader = nil
3789	c.urlParams_.Set("alt", alt)
3790	c.urlParams_.Set("prettyPrint", "false")
3791	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/last_operation")
3792	urls += "?" + c.urlParams_.Encode()
3793	req, err := http.NewRequest("GET", urls, body)
3794	if err != nil {
3795		return nil, err
3796	}
3797	req.Header = reqHeaders
3798	googleapi.Expand(req.URL, map[string]string{
3799		"name": c.name,
3800	})
3801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3802}
3803
3804// Do executes the "servicebroker.projects.brokers.v2.service_instances.getLast_operation" call.
3805// Exactly one of *GoogleCloudServicebrokerV1beta1__Operation or error
3806// will be non-nil. Any non-2xx status code is an error. Response
3807// headers are in either
3808// *GoogleCloudServicebrokerV1beta1__Operation.ServerResponse.Header or
3809// (if a response was returned at all) in
3810// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3811// whether the returned error was because http.StatusNotModified was
3812// returned.
3813func (c *ProjectsBrokersV2ServiceInstancesGetLastOperationCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__Operation, error) {
3814	gensupport.SetOptions(c.urlParams_, opts...)
3815	res, err := c.doRequest("json")
3816	if res != nil && res.StatusCode == http.StatusNotModified {
3817		if res.Body != nil {
3818			res.Body.Close()
3819		}
3820		return nil, &googleapi.Error{
3821			Code:   res.StatusCode,
3822			Header: res.Header,
3823		}
3824	}
3825	if err != nil {
3826		return nil, err
3827	}
3828	defer googleapi.CloseBody(res)
3829	if err := googleapi.CheckResponse(res); err != nil {
3830		return nil, err
3831	}
3832	ret := &GoogleCloudServicebrokerV1beta1__Operation{
3833		ServerResponse: googleapi.ServerResponse{
3834			Header:         res.Header,
3835			HTTPStatusCode: res.StatusCode,
3836		},
3837	}
3838	target := &ret
3839	if err := gensupport.DecodeResponse(target, res); err != nil {
3840		return nil, err
3841	}
3842	return ret, nil
3843	// {
3844	//   "description": "Returns the state of the last operation for the service instance.\nOnly last (or current) operation can be polled.",
3845	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}/last_operation",
3846	//   "httpMethod": "GET",
3847	//   "id": "servicebroker.projects.brokers.v2.service_instances.getLast_operation",
3848	//   "parameterOrder": [
3849	//     "name"
3850	//   ],
3851	//   "parameters": {
3852	//     "name": {
3853	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/`+\n   `service_instances/[INSTANCE_ID]`.",
3854	//       "location": "path",
3855	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+$",
3856	//       "required": true,
3857	//       "type": "string"
3858	//     },
3859	//     "operation": {
3860	//       "description": "If `operation` was returned during mutation operation, this field must be\npopulated with the provided value.",
3861	//       "location": "query",
3862	//       "type": "string"
3863	//     },
3864	//     "planId": {
3865	//       "description": "Plan id.",
3866	//       "location": "query",
3867	//       "type": "string"
3868	//     },
3869	//     "serviceId": {
3870	//       "description": "Service id.",
3871	//       "location": "query",
3872	//       "type": "string"
3873	//     }
3874	//   },
3875	//   "path": "v1beta1/{+name}/last_operation",
3876	//   "response": {
3877	//     "$ref": "GoogleCloudServicebrokerV1beta1__Operation"
3878	//   },
3879	//   "scopes": [
3880	//     "https://www.googleapis.com/auth/cloud-platform"
3881	//   ]
3882	// }
3883
3884}
3885
3886// method id "servicebroker.projects.brokers.v2.service_instances.patch":
3887
3888type ProjectsBrokersV2ServiceInstancesPatchCall struct {
3889	s                                                *Service
3890	name                                             string
3891	googlecloudservicebrokerv1beta1__serviceinstance *GoogleCloudServicebrokerV1beta1__ServiceInstance
3892	urlParams_                                       gensupport.URLParams
3893	ctx_                                             context.Context
3894	header_                                          http.Header
3895}
3896
3897// Patch: Updates an existing service instance.
3898// See CreateServiceInstance for possible response codes.
3899func (r *ProjectsBrokersV2ServiceInstancesService) Patch(name string, googlecloudservicebrokerv1beta1__serviceinstance *GoogleCloudServicebrokerV1beta1__ServiceInstance) *ProjectsBrokersV2ServiceInstancesPatchCall {
3900	c := &ProjectsBrokersV2ServiceInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3901	c.name = name
3902	c.googlecloudservicebrokerv1beta1__serviceinstance = googlecloudservicebrokerv1beta1__serviceinstance
3903	return c
3904}
3905
3906// AcceptsIncomplete sets the optional parameter "acceptsIncomplete":
3907// See CreateServiceInstanceRequest for details.
3908func (c *ProjectsBrokersV2ServiceInstancesPatchCall) AcceptsIncomplete(acceptsIncomplete bool) *ProjectsBrokersV2ServiceInstancesPatchCall {
3909	c.urlParams_.Set("acceptsIncomplete", fmt.Sprint(acceptsIncomplete))
3910	return c
3911}
3912
3913// Fields allows partial responses to be retrieved. See
3914// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3915// for more information.
3916func (c *ProjectsBrokersV2ServiceInstancesPatchCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesPatchCall {
3917	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3918	return c
3919}
3920
3921// Context sets the context to be used in this call's Do method. Any
3922// pending HTTP request will be aborted if the provided context is
3923// canceled.
3924func (c *ProjectsBrokersV2ServiceInstancesPatchCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesPatchCall {
3925	c.ctx_ = ctx
3926	return c
3927}
3928
3929// Header returns an http.Header that can be modified by the caller to
3930// add HTTP headers to the request.
3931func (c *ProjectsBrokersV2ServiceInstancesPatchCall) Header() http.Header {
3932	if c.header_ == nil {
3933		c.header_ = make(http.Header)
3934	}
3935	return c.header_
3936}
3937
3938func (c *ProjectsBrokersV2ServiceInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
3939	reqHeaders := make(http.Header)
3940	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
3941	for k, v := range c.header_ {
3942		reqHeaders[k] = v
3943	}
3944	reqHeaders.Set("User-Agent", c.s.userAgent())
3945	var body io.Reader = nil
3946	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudservicebrokerv1beta1__serviceinstance)
3947	if err != nil {
3948		return nil, err
3949	}
3950	reqHeaders.Set("Content-Type", "application/json")
3951	c.urlParams_.Set("alt", alt)
3952	c.urlParams_.Set("prettyPrint", "false")
3953	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3954	urls += "?" + c.urlParams_.Encode()
3955	req, err := http.NewRequest("PATCH", urls, body)
3956	if err != nil {
3957		return nil, err
3958	}
3959	req.Header = reqHeaders
3960	googleapi.Expand(req.URL, map[string]string{
3961		"name": c.name,
3962	})
3963	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3964}
3965
3966// Do executes the "servicebroker.projects.brokers.v2.service_instances.patch" call.
3967// Exactly one of
3968// *GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse or
3969// error will be non-nil. Any non-2xx status code is an error. Response
3970// headers are in either
3971// *GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse.Server
3972// Response.Header or (if a response was returned at all) in
3973// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3974// whether the returned error was because http.StatusNotModified was
3975// returned.
3976func (c *ProjectsBrokersV2ServiceInstancesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse, error) {
3977	gensupport.SetOptions(c.urlParams_, opts...)
3978	res, err := c.doRequest("json")
3979	if res != nil && res.StatusCode == http.StatusNotModified {
3980		if res.Body != nil {
3981			res.Body.Close()
3982		}
3983		return nil, &googleapi.Error{
3984			Code:   res.StatusCode,
3985			Header: res.Header,
3986		}
3987	}
3988	if err != nil {
3989		return nil, err
3990	}
3991	defer googleapi.CloseBody(res)
3992	if err := googleapi.CheckResponse(res); err != nil {
3993		return nil, err
3994	}
3995	ret := &GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse{
3996		ServerResponse: googleapi.ServerResponse{
3997			Header:         res.Header,
3998			HTTPStatusCode: res.StatusCode,
3999		},
4000	}
4001	target := &ret
4002	if err := gensupport.DecodeResponse(target, res); err != nil {
4003		return nil, err
4004	}
4005	return ret, nil
4006	// {
4007	//   "description": "Updates an existing service instance.\nSee CreateServiceInstance for possible response codes.",
4008	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}",
4009	//   "httpMethod": "PATCH",
4010	//   "id": "servicebroker.projects.brokers.v2.service_instances.patch",
4011	//   "parameterOrder": [
4012	//     "name"
4013	//   ],
4014	//   "parameters": {
4015	//     "acceptsIncomplete": {
4016	//       "description": "See CreateServiceInstanceRequest for details.",
4017	//       "location": "query",
4018	//       "type": "boolean"
4019	//     },
4020	//     "name": {
4021	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`.",
4022	//       "location": "path",
4023	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+$",
4024	//       "required": true,
4025	//       "type": "string"
4026	//     }
4027	//   },
4028	//   "path": "v1beta1/{+name}",
4029	//   "request": {
4030	//     "$ref": "GoogleCloudServicebrokerV1beta1__ServiceInstance"
4031	//   },
4032	//   "response": {
4033	//     "$ref": "GoogleCloudServicebrokerV1beta1__UpdateServiceInstanceResponse"
4034	//   },
4035	//   "scopes": [
4036	//     "https://www.googleapis.com/auth/cloud-platform"
4037	//   ]
4038	// }
4039
4040}
4041
4042// method id "servicebroker.projects.brokers.v2.service_instances.service_bindings.create":
4043
4044type ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall struct {
4045	s                                        *Service
4046	parent                                   string
4047	bindingId                                string
4048	googlecloudservicebrokerv1beta1__binding *GoogleCloudServicebrokerV1beta1__Binding
4049	urlParams_                               gensupport.URLParams
4050	ctx_                                     context.Context
4051	header_                                  http.Header
4052}
4053
4054// Create: CreateBinding generates a service binding to an existing
4055// service instance.
4056// See ProviServiceInstance for async operation details.
4057func (r *ProjectsBrokersV2ServiceInstancesServiceBindingsService) Create(parent string, bindingId string, googlecloudservicebrokerv1beta1__binding *GoogleCloudServicebrokerV1beta1__Binding) *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall {
4058	c := &ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4059	c.parent = parent
4060	c.bindingId = bindingId
4061	c.googlecloudservicebrokerv1beta1__binding = googlecloudservicebrokerv1beta1__binding
4062	return c
4063}
4064
4065// AcceptsIncomplete sets the optional parameter "acceptsIncomplete":
4066// See CreateServiceInstanceRequest for details.
4067func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) AcceptsIncomplete(acceptsIncomplete bool) *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall {
4068	c.urlParams_.Set("acceptsIncomplete", fmt.Sprint(acceptsIncomplete))
4069	return c
4070}
4071
4072// Fields allows partial responses to be retrieved. See
4073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4074// for more information.
4075func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall {
4076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4077	return c
4078}
4079
4080// Context sets the context to be used in this call's Do method. Any
4081// pending HTTP request will be aborted if the provided context is
4082// canceled.
4083func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall {
4084	c.ctx_ = ctx
4085	return c
4086}
4087
4088// Header returns an http.Header that can be modified by the caller to
4089// add HTTP headers to the request.
4090func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) Header() http.Header {
4091	if c.header_ == nil {
4092		c.header_ = make(http.Header)
4093	}
4094	return c.header_
4095}
4096
4097func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) doRequest(alt string) (*http.Response, error) {
4098	reqHeaders := make(http.Header)
4099	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4100	for k, v := range c.header_ {
4101		reqHeaders[k] = v
4102	}
4103	reqHeaders.Set("User-Agent", c.s.userAgent())
4104	var body io.Reader = nil
4105	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudservicebrokerv1beta1__binding)
4106	if err != nil {
4107		return nil, err
4108	}
4109	reqHeaders.Set("Content-Type", "application/json")
4110	c.urlParams_.Set("alt", alt)
4111	c.urlParams_.Set("prettyPrint", "false")
4112	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/service_bindings/{+binding_id}")
4113	urls += "?" + c.urlParams_.Encode()
4114	req, err := http.NewRequest("PUT", urls, body)
4115	if err != nil {
4116		return nil, err
4117	}
4118	req.Header = reqHeaders
4119	googleapi.Expand(req.URL, map[string]string{
4120		"parent":     c.parent,
4121		"binding_id": c.bindingId,
4122	})
4123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4124}
4125
4126// Do executes the "servicebroker.projects.brokers.v2.service_instances.service_bindings.create" call.
4127// Exactly one of
4128// *GoogleCloudServicebrokerV1beta1__CreateBindingResponse or error will
4129// be non-nil. Any non-2xx status code is an error. Response headers are
4130// in either
4131// *GoogleCloudServicebrokerV1beta1__CreateBindingResponse.ServerResponse
4132// .Header or (if a response was returned at all) in
4133// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4134// whether the returned error was because http.StatusNotModified was
4135// returned.
4136func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__CreateBindingResponse, error) {
4137	gensupport.SetOptions(c.urlParams_, opts...)
4138	res, err := c.doRequest("json")
4139	if res != nil && res.StatusCode == http.StatusNotModified {
4140		if res.Body != nil {
4141			res.Body.Close()
4142		}
4143		return nil, &googleapi.Error{
4144			Code:   res.StatusCode,
4145			Header: res.Header,
4146		}
4147	}
4148	if err != nil {
4149		return nil, err
4150	}
4151	defer googleapi.CloseBody(res)
4152	if err := googleapi.CheckResponse(res); err != nil {
4153		return nil, err
4154	}
4155	ret := &GoogleCloudServicebrokerV1beta1__CreateBindingResponse{
4156		ServerResponse: googleapi.ServerResponse{
4157			Header:         res.Header,
4158			HTTPStatusCode: res.StatusCode,
4159		},
4160	}
4161	target := &ret
4162	if err := gensupport.DecodeResponse(target, res); err != nil {
4163		return nil, err
4164	}
4165	return ret, nil
4166	// {
4167	//   "description": "CreateBinding generates a service binding to an existing service instance.\nSee ProviServiceInstance for async operation details.",
4168	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}/service_bindings/{service_bindingsId}",
4169	//   "httpMethod": "PUT",
4170	//   "id": "servicebroker.projects.brokers.v2.service_instances.service_bindings.create",
4171	//   "parameterOrder": [
4172	//     "parent",
4173	//     "binding_id"
4174	//   ],
4175	//   "parameters": {
4176	//     "acceptsIncomplete": {
4177	//       "description": "See CreateServiceInstanceRequest for details.",
4178	//       "location": "query",
4179	//       "type": "boolean"
4180	//     },
4181	//     "binding_id": {
4182	//       "description": "The id of the binding. Must be unique within GCP project.\nMaximum length is 64, GUID recommended.\nRequired.",
4183	//       "location": "path",
4184	//       "pattern": "^[^/]+$",
4185	//       "required": true,
4186	//       "type": "string"
4187	//     },
4188	//     "parent": {
4189	//       "description": "The GCP container.\nMust match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]`.",
4190	//       "location": "path",
4191	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+$",
4192	//       "required": true,
4193	//       "type": "string"
4194	//     }
4195	//   },
4196	//   "path": "v1beta1/{+parent}/service_bindings/{+binding_id}",
4197	//   "request": {
4198	//     "$ref": "GoogleCloudServicebrokerV1beta1__Binding"
4199	//   },
4200	//   "response": {
4201	//     "$ref": "GoogleCloudServicebrokerV1beta1__CreateBindingResponse"
4202	//   },
4203	//   "scopes": [
4204	//     "https://www.googleapis.com/auth/cloud-platform"
4205	//   ]
4206	// }
4207
4208}
4209
4210// method id "servicebroker.projects.brokers.v2.service_instances.service_bindings.delete":
4211
4212type ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall struct {
4213	s          *Service
4214	name       string
4215	urlParams_ gensupport.URLParams
4216	ctx_       context.Context
4217	header_    http.Header
4218}
4219
4220// Delete: Unbinds from a service instance.
4221// For synchronous/asynchronous request details see
4222// CreateServiceInstance
4223// method.
4224// If binding does not exist HTTP 410 status will be returned.
4225func (r *ProjectsBrokersV2ServiceInstancesServiceBindingsService) Delete(name string) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4226	c := &ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4227	c.name = name
4228	return c
4229}
4230
4231// AcceptsIncomplete sets the optional parameter "acceptsIncomplete":
4232// See CreateServiceInstanceRequest for details.
4233func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) AcceptsIncomplete(acceptsIncomplete bool) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4234	c.urlParams_.Set("acceptsIncomplete", fmt.Sprint(acceptsIncomplete))
4235	return c
4236}
4237
4238// PlanId sets the optional parameter "planId": The plan id of the
4239// service instance.
4240func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) PlanId(planId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4241	c.urlParams_.Set("planId", planId)
4242	return c
4243}
4244
4245// ServiceId sets the optional parameter "serviceId": Additional query
4246// parameter hints.
4247// The service id of the service instance.
4248func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) ServiceId(serviceId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4249	c.urlParams_.Set("serviceId", serviceId)
4250	return c
4251}
4252
4253// Fields allows partial responses to be retrieved. See
4254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4255// for more information.
4256func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4258	return c
4259}
4260
4261// Context sets the context to be used in this call's Do method. Any
4262// pending HTTP request will be aborted if the provided context is
4263// canceled.
4264func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall {
4265	c.ctx_ = ctx
4266	return c
4267}
4268
4269// Header returns an http.Header that can be modified by the caller to
4270// add HTTP headers to the request.
4271func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) Header() http.Header {
4272	if c.header_ == nil {
4273		c.header_ = make(http.Header)
4274	}
4275	return c.header_
4276}
4277
4278func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
4279	reqHeaders := make(http.Header)
4280	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4281	for k, v := range c.header_ {
4282		reqHeaders[k] = v
4283	}
4284	reqHeaders.Set("User-Agent", c.s.userAgent())
4285	var body io.Reader = nil
4286	c.urlParams_.Set("alt", alt)
4287	c.urlParams_.Set("prettyPrint", "false")
4288	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4289	urls += "?" + c.urlParams_.Encode()
4290	req, err := http.NewRequest("DELETE", urls, body)
4291	if err != nil {
4292		return nil, err
4293	}
4294	req.Header = reqHeaders
4295	googleapi.Expand(req.URL, map[string]string{
4296		"name": c.name,
4297	})
4298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4299}
4300
4301// Do executes the "servicebroker.projects.brokers.v2.service_instances.service_bindings.delete" call.
4302// Exactly one of
4303// *GoogleCloudServicebrokerV1beta1__DeleteBindingResponse or error will
4304// be non-nil. Any non-2xx status code is an error. Response headers are
4305// in either
4306// *GoogleCloudServicebrokerV1beta1__DeleteBindingResponse.ServerResponse
4307// .Header or (if a response was returned at all) in
4308// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4309// whether the returned error was because http.StatusNotModified was
4310// returned.
4311func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__DeleteBindingResponse, error) {
4312	gensupport.SetOptions(c.urlParams_, opts...)
4313	res, err := c.doRequest("json")
4314	if res != nil && res.StatusCode == http.StatusNotModified {
4315		if res.Body != nil {
4316			res.Body.Close()
4317		}
4318		return nil, &googleapi.Error{
4319			Code:   res.StatusCode,
4320			Header: res.Header,
4321		}
4322	}
4323	if err != nil {
4324		return nil, err
4325	}
4326	defer googleapi.CloseBody(res)
4327	if err := googleapi.CheckResponse(res); err != nil {
4328		return nil, err
4329	}
4330	ret := &GoogleCloudServicebrokerV1beta1__DeleteBindingResponse{
4331		ServerResponse: googleapi.ServerResponse{
4332			Header:         res.Header,
4333			HTTPStatusCode: res.StatusCode,
4334		},
4335	}
4336	target := &ret
4337	if err := gensupport.DecodeResponse(target, res); err != nil {
4338		return nil, err
4339	}
4340	return ret, nil
4341	// {
4342	//   "description": "Unbinds from a service instance.\nFor synchronous/asynchronous request details see CreateServiceInstance\nmethod.\nIf binding does not exist HTTP 410 status will be returned.",
4343	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}/service_bindings/{service_bindingsId}",
4344	//   "httpMethod": "DELETE",
4345	//   "id": "servicebroker.projects.brokers.v2.service_instances.service_bindings.delete",
4346	//   "parameterOrder": [
4347	//     "name"
4348	//   ],
4349	//   "parameters": {
4350	//     "acceptsIncomplete": {
4351	//       "description": "See CreateServiceInstanceRequest for details.",
4352	//       "location": "query",
4353	//       "type": "boolean"
4354	//     },
4355	//     "name": {
4356	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/`\n`v2/service_instances/[INSTANCE_ID]/service_bindings/[BINDING_ID]`\nor\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/`\n`/instances/[INSTANCE_ID]/bindings/[BINDING_ID]`.",
4357	//       "location": "path",
4358	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+/service_bindings/[^/]+$",
4359	//       "required": true,
4360	//       "type": "string"
4361	//     },
4362	//     "planId": {
4363	//       "description": "The plan id of the service instance.",
4364	//       "location": "query",
4365	//       "type": "string"
4366	//     },
4367	//     "serviceId": {
4368	//       "description": "Additional query parameter hints.\nThe service id of the service instance.",
4369	//       "location": "query",
4370	//       "type": "string"
4371	//     }
4372	//   },
4373	//   "path": "v1beta1/{+name}",
4374	//   "response": {
4375	//     "$ref": "GoogleCloudServicebrokerV1beta1__DeleteBindingResponse"
4376	//   },
4377	//   "scopes": [
4378	//     "https://www.googleapis.com/auth/cloud-platform"
4379	//   ]
4380	// }
4381
4382}
4383
4384// method id "servicebroker.projects.brokers.v2.service_instances.service_bindings.get":
4385
4386type ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall struct {
4387	s            *Service
4388	name         string
4389	urlParams_   gensupport.URLParams
4390	ifNoneMatch_ string
4391	ctx_         context.Context
4392	header_      http.Header
4393}
4394
4395// Get: GetBinding returns the binding information.
4396func (r *ProjectsBrokersV2ServiceInstancesServiceBindingsService) Get(name string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4397	c := &ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4398	c.name = name
4399	return c
4400}
4401
4402// PlanId sets the optional parameter "planId": Plan id.
4403func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) PlanId(planId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4404	c.urlParams_.Set("planId", planId)
4405	return c
4406}
4407
4408// ServiceId sets the optional parameter "serviceId": Service id.
4409func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) ServiceId(serviceId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4410	c.urlParams_.Set("serviceId", serviceId)
4411	return c
4412}
4413
4414// Fields allows partial responses to be retrieved. See
4415// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4416// for more information.
4417func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4418	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4419	return c
4420}
4421
4422// IfNoneMatch sets the optional parameter which makes the operation
4423// fail if the object's ETag matches the given value. This is useful for
4424// getting updates only after the object has changed since the last
4425// request. Use googleapi.IsNotModified to check whether the response
4426// error from Do is the result of In-None-Match.
4427func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) IfNoneMatch(entityTag string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4428	c.ifNoneMatch_ = entityTag
4429	return c
4430}
4431
4432// Context sets the context to be used in this call's Do method. Any
4433// pending HTTP request will be aborted if the provided context is
4434// canceled.
4435func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall {
4436	c.ctx_ = ctx
4437	return c
4438}
4439
4440// Header returns an http.Header that can be modified by the caller to
4441// add HTTP headers to the request.
4442func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) Header() http.Header {
4443	if c.header_ == nil {
4444		c.header_ = make(http.Header)
4445	}
4446	return c.header_
4447}
4448
4449func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) doRequest(alt string) (*http.Response, error) {
4450	reqHeaders := make(http.Header)
4451	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4452	for k, v := range c.header_ {
4453		reqHeaders[k] = v
4454	}
4455	reqHeaders.Set("User-Agent", c.s.userAgent())
4456	if c.ifNoneMatch_ != "" {
4457		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4458	}
4459	var body io.Reader = nil
4460	c.urlParams_.Set("alt", alt)
4461	c.urlParams_.Set("prettyPrint", "false")
4462	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4463	urls += "?" + c.urlParams_.Encode()
4464	req, err := http.NewRequest("GET", urls, body)
4465	if err != nil {
4466		return nil, err
4467	}
4468	req.Header = reqHeaders
4469	googleapi.Expand(req.URL, map[string]string{
4470		"name": c.name,
4471	})
4472	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4473}
4474
4475// Do executes the "servicebroker.projects.brokers.v2.service_instances.service_bindings.get" call.
4476// Exactly one of *GoogleCloudServicebrokerV1beta1__GetBindingResponse
4477// or error will be non-nil. Any non-2xx status code is an error.
4478// Response headers are in either
4479// *GoogleCloudServicebrokerV1beta1__GetBindingResponse.ServerResponse.He
4480// ader or (if a response was returned at all) in
4481// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4482// whether the returned error was because http.StatusNotModified was
4483// returned.
4484func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__GetBindingResponse, error) {
4485	gensupport.SetOptions(c.urlParams_, opts...)
4486	res, err := c.doRequest("json")
4487	if res != nil && res.StatusCode == http.StatusNotModified {
4488		if res.Body != nil {
4489			res.Body.Close()
4490		}
4491		return nil, &googleapi.Error{
4492			Code:   res.StatusCode,
4493			Header: res.Header,
4494		}
4495	}
4496	if err != nil {
4497		return nil, err
4498	}
4499	defer googleapi.CloseBody(res)
4500	if err := googleapi.CheckResponse(res); err != nil {
4501		return nil, err
4502	}
4503	ret := &GoogleCloudServicebrokerV1beta1__GetBindingResponse{
4504		ServerResponse: googleapi.ServerResponse{
4505			Header:         res.Header,
4506			HTTPStatusCode: res.StatusCode,
4507		},
4508	}
4509	target := &ret
4510	if err := gensupport.DecodeResponse(target, res); err != nil {
4511		return nil, err
4512	}
4513	return ret, nil
4514	// {
4515	//   "description": "GetBinding returns the binding information.",
4516	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}/service_bindings/{service_bindingsId}",
4517	//   "httpMethod": "GET",
4518	//   "id": "servicebroker.projects.brokers.v2.service_instances.service_bindings.get",
4519	//   "parameterOrder": [
4520	//     "name"
4521	//   ],
4522	//   "parameters": {
4523	//     "name": {
4524	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_bindings`.",
4525	//       "location": "path",
4526	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+/service_bindings/[^/]+$",
4527	//       "required": true,
4528	//       "type": "string"
4529	//     },
4530	//     "planId": {
4531	//       "description": "Plan id.",
4532	//       "location": "query",
4533	//       "type": "string"
4534	//     },
4535	//     "serviceId": {
4536	//       "description": "Service id.",
4537	//       "location": "query",
4538	//       "type": "string"
4539	//     }
4540	//   },
4541	//   "path": "v1beta1/{+name}",
4542	//   "response": {
4543	//     "$ref": "GoogleCloudServicebrokerV1beta1__GetBindingResponse"
4544	//   },
4545	//   "scopes": [
4546	//     "https://www.googleapis.com/auth/cloud-platform"
4547	//   ]
4548	// }
4549
4550}
4551
4552// method id "servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation":
4553
4554type ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall struct {
4555	s            *Service
4556	name         string
4557	urlParams_   gensupport.URLParams
4558	ifNoneMatch_ string
4559	ctx_         context.Context
4560	header_      http.Header
4561}
4562
4563// GetLastOperation: Returns the state of the last operation for the
4564// binding.
4565// Only last (or current) operation can be polled.
4566func (r *ProjectsBrokersV2ServiceInstancesServiceBindingsService) GetLastOperation(name string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4567	c := &ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4568	c.name = name
4569	return c
4570}
4571
4572// Operation sets the optional parameter "operation": If `operation` was
4573// returned during mutation operation, this field must be
4574// populated with the provided value.
4575func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) Operation(operation string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4576	c.urlParams_.Set("operation", operation)
4577	return c
4578}
4579
4580// PlanId sets the optional parameter "planId": Plan id.
4581func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) PlanId(planId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4582	c.urlParams_.Set("planId", planId)
4583	return c
4584}
4585
4586// ServiceId sets the optional parameter "serviceId": Service id.
4587func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) ServiceId(serviceId string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4588	c.urlParams_.Set("serviceId", serviceId)
4589	return c
4590}
4591
4592// Fields allows partial responses to be retrieved. See
4593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4594// for more information.
4595func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) Fields(s ...googleapi.Field) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4597	return c
4598}
4599
4600// IfNoneMatch sets the optional parameter which makes the operation
4601// fail if the object's ETag matches the given value. This is useful for
4602// getting updates only after the object has changed since the last
4603// request. Use googleapi.IsNotModified to check whether the response
4604// error from Do is the result of In-None-Match.
4605func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) IfNoneMatch(entityTag string) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4606	c.ifNoneMatch_ = entityTag
4607	return c
4608}
4609
4610// Context sets the context to be used in this call's Do method. Any
4611// pending HTTP request will be aborted if the provided context is
4612// canceled.
4613func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) Context(ctx context.Context) *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall {
4614	c.ctx_ = ctx
4615	return c
4616}
4617
4618// Header returns an http.Header that can be modified by the caller to
4619// add HTTP headers to the request.
4620func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) Header() http.Header {
4621	if c.header_ == nil {
4622		c.header_ = make(http.Header)
4623	}
4624	return c.header_
4625}
4626
4627func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) doRequest(alt string) (*http.Response, error) {
4628	reqHeaders := make(http.Header)
4629	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4630	for k, v := range c.header_ {
4631		reqHeaders[k] = v
4632	}
4633	reqHeaders.Set("User-Agent", c.s.userAgent())
4634	if c.ifNoneMatch_ != "" {
4635		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4636	}
4637	var body io.Reader = nil
4638	c.urlParams_.Set("alt", alt)
4639	c.urlParams_.Set("prettyPrint", "false")
4640	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/last_operation")
4641	urls += "?" + c.urlParams_.Encode()
4642	req, err := http.NewRequest("GET", urls, body)
4643	if err != nil {
4644		return nil, err
4645	}
4646	req.Header = reqHeaders
4647	googleapi.Expand(req.URL, map[string]string{
4648		"name": c.name,
4649	})
4650	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4651}
4652
4653// Do executes the "servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation" call.
4654// Exactly one of *GoogleCloudServicebrokerV1beta1__Operation or error
4655// will be non-nil. Any non-2xx status code is an error. Response
4656// headers are in either
4657// *GoogleCloudServicebrokerV1beta1__Operation.ServerResponse.Header or
4658// (if a response was returned at all) in
4659// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4660// whether the returned error was because http.StatusNotModified was
4661// returned.
4662func (c *ProjectsBrokersV2ServiceInstancesServiceBindingsGetLastOperationCall) Do(opts ...googleapi.CallOption) (*GoogleCloudServicebrokerV1beta1__Operation, error) {
4663	gensupport.SetOptions(c.urlParams_, opts...)
4664	res, err := c.doRequest("json")
4665	if res != nil && res.StatusCode == http.StatusNotModified {
4666		if res.Body != nil {
4667			res.Body.Close()
4668		}
4669		return nil, &googleapi.Error{
4670			Code:   res.StatusCode,
4671			Header: res.Header,
4672		}
4673	}
4674	if err != nil {
4675		return nil, err
4676	}
4677	defer googleapi.CloseBody(res)
4678	if err := googleapi.CheckResponse(res); err != nil {
4679		return nil, err
4680	}
4681	ret := &GoogleCloudServicebrokerV1beta1__Operation{
4682		ServerResponse: googleapi.ServerResponse{
4683			Header:         res.Header,
4684			HTTPStatusCode: res.StatusCode,
4685		},
4686	}
4687	target := &ret
4688	if err := gensupport.DecodeResponse(target, res); err != nil {
4689		return nil, err
4690	}
4691	return ret, nil
4692	// {
4693	//   "description": "Returns the state of the last operation for the binding.\nOnly last (or current) operation can be polled.",
4694	//   "flatPath": "v1beta1/projects/{projectsId}/brokers/{brokersId}/v2/service_instances/{service_instancesId}/service_bindings/{service_bindingsId}/last_operation",
4695	//   "httpMethod": "GET",
4696	//   "id": "servicebroker.projects.brokers.v2.service_instances.service_bindings.getLast_operation",
4697	//   "parameterOrder": [
4698	//     "name"
4699	//   ],
4700	//   "parameters": {
4701	//     "name": {
4702	//       "description": "Name must match\n`projects/[PROJECT_ID]/brokers/[BROKER_ID]/v2/service_instances/[INSTANCE_ID]/service_binding/[BINDING_ID]`.",
4703	//       "location": "path",
4704	//       "pattern": "^projects/[^/]+/brokers/[^/]+/v2/service_instances/[^/]+/service_bindings/[^/]+$",
4705	//       "required": true,
4706	//       "type": "string"
4707	//     },
4708	//     "operation": {
4709	//       "description": "If `operation` was returned during mutation operation, this field must be\npopulated with the provided value.",
4710	//       "location": "query",
4711	//       "type": "string"
4712	//     },
4713	//     "planId": {
4714	//       "description": "Plan id.",
4715	//       "location": "query",
4716	//       "type": "string"
4717	//     },
4718	//     "serviceId": {
4719	//       "description": "Service id.",
4720	//       "location": "query",
4721	//       "type": "string"
4722	//     }
4723	//   },
4724	//   "path": "v1beta1/{+name}/last_operation",
4725	//   "response": {
4726	//     "$ref": "GoogleCloudServicebrokerV1beta1__Operation"
4727	//   },
4728	//   "scopes": [
4729	//     "https://www.googleapis.com/auth/cloud-platform"
4730	//   ]
4731	// }
4732
4733}
4734
4735// method id "servicebroker.getIamPolicy":
4736
4737type V1beta1GetIamPolicyCall struct {
4738	s            *Service
4739	resource     string
4740	urlParams_   gensupport.URLParams
4741	ifNoneMatch_ string
4742	ctx_         context.Context
4743	header_      http.Header
4744}
4745
4746// GetIamPolicy: Gets the access control policy for a resource.
4747// Returns an empty policy if the resource exists and does not have a
4748// policy
4749// set.
4750func (r *V1beta1Service) GetIamPolicy(resource string) *V1beta1GetIamPolicyCall {
4751	c := &V1beta1GetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4752	c.resource = resource
4753	return c
4754}
4755
4756// OptionsRequestedPolicyVersion sets the optional parameter
4757// "options.requestedPolicyVersion": The policy format version to be
4758// returned.
4759//
4760// Valid values are 0, 1, and 3. Requests specifying an invalid value
4761// will be
4762// rejected.
4763//
4764// Requests for policies with any conditional bindings must specify
4765// version 3.
4766// Policies without any conditional bindings may specify any valid value
4767// or
4768// leave the field unset.
4769func (c *V1beta1GetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *V1beta1GetIamPolicyCall {
4770	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
4771	return c
4772}
4773
4774// Fields allows partial responses to be retrieved. See
4775// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4776// for more information.
4777func (c *V1beta1GetIamPolicyCall) Fields(s ...googleapi.Field) *V1beta1GetIamPolicyCall {
4778	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4779	return c
4780}
4781
4782// IfNoneMatch sets the optional parameter which makes the operation
4783// fail if the object's ETag matches the given value. This is useful for
4784// getting updates only after the object has changed since the last
4785// request. Use googleapi.IsNotModified to check whether the response
4786// error from Do is the result of In-None-Match.
4787func (c *V1beta1GetIamPolicyCall) IfNoneMatch(entityTag string) *V1beta1GetIamPolicyCall {
4788	c.ifNoneMatch_ = entityTag
4789	return c
4790}
4791
4792// Context sets the context to be used in this call's Do method. Any
4793// pending HTTP request will be aborted if the provided context is
4794// canceled.
4795func (c *V1beta1GetIamPolicyCall) Context(ctx context.Context) *V1beta1GetIamPolicyCall {
4796	c.ctx_ = ctx
4797	return c
4798}
4799
4800// Header returns an http.Header that can be modified by the caller to
4801// add HTTP headers to the request.
4802func (c *V1beta1GetIamPolicyCall) Header() http.Header {
4803	if c.header_ == nil {
4804		c.header_ = make(http.Header)
4805	}
4806	return c.header_
4807}
4808
4809func (c *V1beta1GetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4810	reqHeaders := make(http.Header)
4811	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4812	for k, v := range c.header_ {
4813		reqHeaders[k] = v
4814	}
4815	reqHeaders.Set("User-Agent", c.s.userAgent())
4816	if c.ifNoneMatch_ != "" {
4817		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4818	}
4819	var body io.Reader = nil
4820	c.urlParams_.Set("alt", alt)
4821	c.urlParams_.Set("prettyPrint", "false")
4822	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
4823	urls += "?" + c.urlParams_.Encode()
4824	req, err := http.NewRequest("GET", urls, body)
4825	if err != nil {
4826		return nil, err
4827	}
4828	req.Header = reqHeaders
4829	googleapi.Expand(req.URL, map[string]string{
4830		"resource": c.resource,
4831	})
4832	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4833}
4834
4835// Do executes the "servicebroker.getIamPolicy" call.
4836// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
4837// non-2xx status code is an error. Response headers are in either
4838// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
4839// returned at all) in error.(*googleapi.Error).Header. Use
4840// googleapi.IsNotModified to check whether the returned error was
4841// because http.StatusNotModified was returned.
4842func (c *V1beta1GetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
4843	gensupport.SetOptions(c.urlParams_, opts...)
4844	res, err := c.doRequest("json")
4845	if res != nil && res.StatusCode == http.StatusNotModified {
4846		if res.Body != nil {
4847			res.Body.Close()
4848		}
4849		return nil, &googleapi.Error{
4850			Code:   res.StatusCode,
4851			Header: res.Header,
4852		}
4853	}
4854	if err != nil {
4855		return nil, err
4856	}
4857	defer googleapi.CloseBody(res)
4858	if err := googleapi.CheckResponse(res); err != nil {
4859		return nil, err
4860	}
4861	ret := &GoogleIamV1__Policy{
4862		ServerResponse: googleapi.ServerResponse{
4863			Header:         res.Header,
4864			HTTPStatusCode: res.StatusCode,
4865		},
4866	}
4867	target := &ret
4868	if err := gensupport.DecodeResponse(target, res); err != nil {
4869		return nil, err
4870	}
4871	return ret, nil
4872	// {
4873	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
4874	//   "flatPath": "v1beta1/{v1beta1Id}:getIamPolicy",
4875	//   "httpMethod": "GET",
4876	//   "id": "servicebroker.getIamPolicy",
4877	//   "parameterOrder": [
4878	//     "resource"
4879	//   ],
4880	//   "parameters": {
4881	//     "options.requestedPolicyVersion": {
4882	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.",
4883	//       "format": "int32",
4884	//       "location": "query",
4885	//       "type": "integer"
4886	//     },
4887	//     "resource": {
4888	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
4889	//       "location": "path",
4890	//       "pattern": "^.+$",
4891	//       "required": true,
4892	//       "type": "string"
4893	//     }
4894	//   },
4895	//   "path": "v1beta1/{+resource}:getIamPolicy",
4896	//   "response": {
4897	//     "$ref": "GoogleIamV1__Policy"
4898	//   },
4899	//   "scopes": [
4900	//     "https://www.googleapis.com/auth/cloud-platform"
4901	//   ]
4902	// }
4903
4904}
4905
4906// method id "servicebroker.setIamPolicy":
4907
4908type V1beta1SetIamPolicyCall struct {
4909	s                                *Service
4910	resource                         string
4911	googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest
4912	urlParams_                       gensupport.URLParams
4913	ctx_                             context.Context
4914	header_                          http.Header
4915}
4916
4917// SetIamPolicy: Sets the access control policy on the specified
4918// resource. Replaces any
4919// existing policy.
4920//
4921// Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and
4922// PERMISSION_DENIED
4923func (r *V1beta1Service) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *V1beta1SetIamPolicyCall {
4924	c := &V1beta1SetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4925	c.resource = resource
4926	c.googleiamv1__setiampolicyrequest = googleiamv1__setiampolicyrequest
4927	return c
4928}
4929
4930// Fields allows partial responses to be retrieved. See
4931// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4932// for more information.
4933func (c *V1beta1SetIamPolicyCall) Fields(s ...googleapi.Field) *V1beta1SetIamPolicyCall {
4934	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4935	return c
4936}
4937
4938// Context sets the context to be used in this call's Do method. Any
4939// pending HTTP request will be aborted if the provided context is
4940// canceled.
4941func (c *V1beta1SetIamPolicyCall) Context(ctx context.Context) *V1beta1SetIamPolicyCall {
4942	c.ctx_ = ctx
4943	return c
4944}
4945
4946// Header returns an http.Header that can be modified by the caller to
4947// add HTTP headers to the request.
4948func (c *V1beta1SetIamPolicyCall) Header() http.Header {
4949	if c.header_ == nil {
4950		c.header_ = make(http.Header)
4951	}
4952	return c.header_
4953}
4954
4955func (c *V1beta1SetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4956	reqHeaders := make(http.Header)
4957	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
4958	for k, v := range c.header_ {
4959		reqHeaders[k] = v
4960	}
4961	reqHeaders.Set("User-Agent", c.s.userAgent())
4962	var body io.Reader = nil
4963	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__setiampolicyrequest)
4964	if err != nil {
4965		return nil, err
4966	}
4967	reqHeaders.Set("Content-Type", "application/json")
4968	c.urlParams_.Set("alt", alt)
4969	c.urlParams_.Set("prettyPrint", "false")
4970	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
4971	urls += "?" + c.urlParams_.Encode()
4972	req, err := http.NewRequest("POST", urls, body)
4973	if err != nil {
4974		return nil, err
4975	}
4976	req.Header = reqHeaders
4977	googleapi.Expand(req.URL, map[string]string{
4978		"resource": c.resource,
4979	})
4980	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4981}
4982
4983// Do executes the "servicebroker.setIamPolicy" call.
4984// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
4985// non-2xx status code is an error. Response headers are in either
4986// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
4987// returned at all) in error.(*googleapi.Error).Header. Use
4988// googleapi.IsNotModified to check whether the returned error was
4989// because http.StatusNotModified was returned.
4990func (c *V1beta1SetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
4991	gensupport.SetOptions(c.urlParams_, opts...)
4992	res, err := c.doRequest("json")
4993	if res != nil && res.StatusCode == http.StatusNotModified {
4994		if res.Body != nil {
4995			res.Body.Close()
4996		}
4997		return nil, &googleapi.Error{
4998			Code:   res.StatusCode,
4999			Header: res.Header,
5000		}
5001	}
5002	if err != nil {
5003		return nil, err
5004	}
5005	defer googleapi.CloseBody(res)
5006	if err := googleapi.CheckResponse(res); err != nil {
5007		return nil, err
5008	}
5009	ret := &GoogleIamV1__Policy{
5010		ServerResponse: googleapi.ServerResponse{
5011			Header:         res.Header,
5012			HTTPStatusCode: res.StatusCode,
5013		},
5014	}
5015	target := &ret
5016	if err := gensupport.DecodeResponse(target, res); err != nil {
5017		return nil, err
5018	}
5019	return ret, nil
5020	// {
5021	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED",
5022	//   "flatPath": "v1beta1/{v1beta1Id}:setIamPolicy",
5023	//   "httpMethod": "POST",
5024	//   "id": "servicebroker.setIamPolicy",
5025	//   "parameterOrder": [
5026	//     "resource"
5027	//   ],
5028	//   "parameters": {
5029	//     "resource": {
5030	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
5031	//       "location": "path",
5032	//       "pattern": "^.+$",
5033	//       "required": true,
5034	//       "type": "string"
5035	//     }
5036	//   },
5037	//   "path": "v1beta1/{+resource}:setIamPolicy",
5038	//   "request": {
5039	//     "$ref": "GoogleIamV1__SetIamPolicyRequest"
5040	//   },
5041	//   "response": {
5042	//     "$ref": "GoogleIamV1__Policy"
5043	//   },
5044	//   "scopes": [
5045	//     "https://www.googleapis.com/auth/cloud-platform"
5046	//   ]
5047	// }
5048
5049}
5050
5051// method id "servicebroker.testIamPermissions":
5052
5053type V1beta1TestIamPermissionsCall struct {
5054	s                                      *Service
5055	resource                               string
5056	googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest
5057	urlParams_                             gensupport.URLParams
5058	ctx_                                   context.Context
5059	header_                                http.Header
5060}
5061
5062// TestIamPermissions: Returns permissions that a caller has on the
5063// specified resource.
5064// If the resource does not exist, this will return an empty set
5065// of
5066// permissions, not a NOT_FOUND error.
5067//
5068// Note: This operation is designed to be used for building
5069// permission-aware
5070// UIs and command-line tools, not for authorization checking. This
5071// operation
5072// may "fail open" without warning.
5073func (r *V1beta1Service) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *V1beta1TestIamPermissionsCall {
5074	c := &V1beta1TestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5075	c.resource = resource
5076	c.googleiamv1__testiampermissionsrequest = googleiamv1__testiampermissionsrequest
5077	return c
5078}
5079
5080// Fields allows partial responses to be retrieved. See
5081// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5082// for more information.
5083func (c *V1beta1TestIamPermissionsCall) Fields(s ...googleapi.Field) *V1beta1TestIamPermissionsCall {
5084	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5085	return c
5086}
5087
5088// Context sets the context to be used in this call's Do method. Any
5089// pending HTTP request will be aborted if the provided context is
5090// canceled.
5091func (c *V1beta1TestIamPermissionsCall) Context(ctx context.Context) *V1beta1TestIamPermissionsCall {
5092	c.ctx_ = ctx
5093	return c
5094}
5095
5096// Header returns an http.Header that can be modified by the caller to
5097// add HTTP headers to the request.
5098func (c *V1beta1TestIamPermissionsCall) Header() http.Header {
5099	if c.header_ == nil {
5100		c.header_ = make(http.Header)
5101	}
5102	return c.header_
5103}
5104
5105func (c *V1beta1TestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5106	reqHeaders := make(http.Header)
5107	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
5108	for k, v := range c.header_ {
5109		reqHeaders[k] = v
5110	}
5111	reqHeaders.Set("User-Agent", c.s.userAgent())
5112	var body io.Reader = nil
5113	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__testiampermissionsrequest)
5114	if err != nil {
5115		return nil, err
5116	}
5117	reqHeaders.Set("Content-Type", "application/json")
5118	c.urlParams_.Set("alt", alt)
5119	c.urlParams_.Set("prettyPrint", "false")
5120	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
5121	urls += "?" + c.urlParams_.Encode()
5122	req, err := http.NewRequest("POST", urls, body)
5123	if err != nil {
5124		return nil, err
5125	}
5126	req.Header = reqHeaders
5127	googleapi.Expand(req.URL, map[string]string{
5128		"resource": c.resource,
5129	})
5130	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5131}
5132
5133// Do executes the "servicebroker.testIamPermissions" call.
5134// Exactly one of *GoogleIamV1__TestIamPermissionsResponse or error will
5135// be non-nil. Any non-2xx status code is an error. Response headers are
5136// in either
5137// *GoogleIamV1__TestIamPermissionsResponse.ServerResponse.Header or (if
5138// a response was returned at all) in error.(*googleapi.Error).Header.
5139// Use googleapi.IsNotModified to check whether the returned error was
5140// because http.StatusNotModified was returned.
5141func (c *V1beta1TestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__TestIamPermissionsResponse, error) {
5142	gensupport.SetOptions(c.urlParams_, opts...)
5143	res, err := c.doRequest("json")
5144	if res != nil && res.StatusCode == http.StatusNotModified {
5145		if res.Body != nil {
5146			res.Body.Close()
5147		}
5148		return nil, &googleapi.Error{
5149			Code:   res.StatusCode,
5150			Header: res.Header,
5151		}
5152	}
5153	if err != nil {
5154		return nil, err
5155	}
5156	defer googleapi.CloseBody(res)
5157	if err := googleapi.CheckResponse(res); err != nil {
5158		return nil, err
5159	}
5160	ret := &GoogleIamV1__TestIamPermissionsResponse{
5161		ServerResponse: googleapi.ServerResponse{
5162			Header:         res.Header,
5163			HTTPStatusCode: res.StatusCode,
5164		},
5165	}
5166	target := &ret
5167	if err := gensupport.DecodeResponse(target, res); err != nil {
5168		return nil, err
5169	}
5170	return ret, nil
5171	// {
5172	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
5173	//   "flatPath": "v1beta1/{v1beta1Id}:testIamPermissions",
5174	//   "httpMethod": "POST",
5175	//   "id": "servicebroker.testIamPermissions",
5176	//   "parameterOrder": [
5177	//     "resource"
5178	//   ],
5179	//   "parameters": {
5180	//     "resource": {
5181	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
5182	//       "location": "path",
5183	//       "pattern": "^.+$",
5184	//       "required": true,
5185	//       "type": "string"
5186	//     }
5187	//   },
5188	//   "path": "v1beta1/{+resource}:testIamPermissions",
5189	//   "request": {
5190	//     "$ref": "GoogleIamV1__TestIamPermissionsRequest"
5191	//   },
5192	//   "response": {
5193	//     "$ref": "GoogleIamV1__TestIamPermissionsResponse"
5194	//   },
5195	//   "scopes": [
5196	//     "https://www.googleapis.com/auth/cloud-platform"
5197	//   ]
5198	// }
5199
5200}
5201