1// Copyright 2021 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 healthcare provides access to the Cloud Healthcare API.
8//
9// For product documentation, see: https://cloud.google.com/healthcare
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/healthcare/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   healthcareService, err := healthcare.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//   healthcareService, err := healthcare.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//   healthcareService, err := healthcare.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package healthcare // import "google.golang.org/api/healthcare/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	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "healthcare:v1beta1"
75const apiName = "healthcare"
76const apiVersion = "v1beta1"
77const basePath = "https://healthcare.googleapis.com/"
78const mtlsBasePath = "https://healthcare.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// View and manage your data across Google Cloud Platform services
83	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/cloud-platform",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Projects = NewProjectsService(s)
120	return s, nil
121}
122
123type Service struct {
124	client    *http.Client
125	BasePath  string // API endpoint base URL
126	UserAgent string // optional additional User-Agent fragment
127
128	Projects *ProjectsService
129}
130
131func (s *Service) userAgent() string {
132	if s.UserAgent == "" {
133		return googleapi.UserAgent
134	}
135	return googleapi.UserAgent + " " + s.UserAgent
136}
137
138func NewProjectsService(s *Service) *ProjectsService {
139	rs := &ProjectsService{s: s}
140	rs.Locations = NewProjectsLocationsService(s)
141	return rs
142}
143
144type ProjectsService struct {
145	s *Service
146
147	Locations *ProjectsLocationsService
148}
149
150func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
151	rs := &ProjectsLocationsService{s: s}
152	rs.Datasets = NewProjectsLocationsDatasetsService(s)
153	rs.Services = NewProjectsLocationsServicesService(s)
154	return rs
155}
156
157type ProjectsLocationsService struct {
158	s *Service
159
160	Datasets *ProjectsLocationsDatasetsService
161
162	Services *ProjectsLocationsServicesService
163}
164
165func NewProjectsLocationsDatasetsService(s *Service) *ProjectsLocationsDatasetsService {
166	rs := &ProjectsLocationsDatasetsService{s: s}
167	rs.AnnotationStores = NewProjectsLocationsDatasetsAnnotationStoresService(s)
168	rs.ConsentStores = NewProjectsLocationsDatasetsConsentStoresService(s)
169	rs.DicomStores = NewProjectsLocationsDatasetsDicomStoresService(s)
170	rs.FhirStores = NewProjectsLocationsDatasetsFhirStoresService(s)
171	rs.Hl7V2Stores = NewProjectsLocationsDatasetsHl7V2StoresService(s)
172	rs.Operations = NewProjectsLocationsDatasetsOperationsService(s)
173	return rs
174}
175
176type ProjectsLocationsDatasetsService struct {
177	s *Service
178
179	AnnotationStores *ProjectsLocationsDatasetsAnnotationStoresService
180
181	ConsentStores *ProjectsLocationsDatasetsConsentStoresService
182
183	DicomStores *ProjectsLocationsDatasetsDicomStoresService
184
185	FhirStores *ProjectsLocationsDatasetsFhirStoresService
186
187	Hl7V2Stores *ProjectsLocationsDatasetsHl7V2StoresService
188
189	Operations *ProjectsLocationsDatasetsOperationsService
190}
191
192func NewProjectsLocationsDatasetsAnnotationStoresService(s *Service) *ProjectsLocationsDatasetsAnnotationStoresService {
193	rs := &ProjectsLocationsDatasetsAnnotationStoresService{s: s}
194	rs.Annotations = NewProjectsLocationsDatasetsAnnotationStoresAnnotationsService(s)
195	return rs
196}
197
198type ProjectsLocationsDatasetsAnnotationStoresService struct {
199	s *Service
200
201	Annotations *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService
202}
203
204func NewProjectsLocationsDatasetsAnnotationStoresAnnotationsService(s *Service) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService {
205	rs := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsService{s: s}
206	return rs
207}
208
209type ProjectsLocationsDatasetsAnnotationStoresAnnotationsService struct {
210	s *Service
211}
212
213func NewProjectsLocationsDatasetsConsentStoresService(s *Service) *ProjectsLocationsDatasetsConsentStoresService {
214	rs := &ProjectsLocationsDatasetsConsentStoresService{s: s}
215	rs.AttributeDefinitions = NewProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService(s)
216	rs.ConsentArtifacts = NewProjectsLocationsDatasetsConsentStoresConsentArtifactsService(s)
217	rs.Consents = NewProjectsLocationsDatasetsConsentStoresConsentsService(s)
218	rs.UserDataMappings = NewProjectsLocationsDatasetsConsentStoresUserDataMappingsService(s)
219	return rs
220}
221
222type ProjectsLocationsDatasetsConsentStoresService struct {
223	s *Service
224
225	AttributeDefinitions *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService
226
227	ConsentArtifacts *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService
228
229	Consents *ProjectsLocationsDatasetsConsentStoresConsentsService
230
231	UserDataMappings *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService
232}
233
234func NewProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService(s *Service) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService {
235	rs := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService{s: s}
236	return rs
237}
238
239type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService struct {
240	s *Service
241}
242
243func NewProjectsLocationsDatasetsConsentStoresConsentArtifactsService(s *Service) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService {
244	rs := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsService{s: s}
245	return rs
246}
247
248type ProjectsLocationsDatasetsConsentStoresConsentArtifactsService struct {
249	s *Service
250}
251
252func NewProjectsLocationsDatasetsConsentStoresConsentsService(s *Service) *ProjectsLocationsDatasetsConsentStoresConsentsService {
253	rs := &ProjectsLocationsDatasetsConsentStoresConsentsService{s: s}
254	return rs
255}
256
257type ProjectsLocationsDatasetsConsentStoresConsentsService struct {
258	s *Service
259}
260
261func NewProjectsLocationsDatasetsConsentStoresUserDataMappingsService(s *Service) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService {
262	rs := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsService{s: s}
263	return rs
264}
265
266type ProjectsLocationsDatasetsConsentStoresUserDataMappingsService struct {
267	s *Service
268}
269
270func NewProjectsLocationsDatasetsDicomStoresService(s *Service) *ProjectsLocationsDatasetsDicomStoresService {
271	rs := &ProjectsLocationsDatasetsDicomStoresService{s: s}
272	rs.Studies = NewProjectsLocationsDatasetsDicomStoresStudiesService(s)
273	return rs
274}
275
276type ProjectsLocationsDatasetsDicomStoresService struct {
277	s *Service
278
279	Studies *ProjectsLocationsDatasetsDicomStoresStudiesService
280}
281
282func NewProjectsLocationsDatasetsDicomStoresStudiesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesService {
283	rs := &ProjectsLocationsDatasetsDicomStoresStudiesService{s: s}
284	rs.Series = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesService(s)
285	return rs
286}
287
288type ProjectsLocationsDatasetsDicomStoresStudiesService struct {
289	s *Service
290
291	Series *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService
292}
293
294func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService {
295	rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesService{s: s}
296	rs.Instances = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(s)
297	return rs
298}
299
300type ProjectsLocationsDatasetsDicomStoresStudiesSeriesService struct {
301	s *Service
302
303	Instances *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService
304}
305
306func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService {
307	rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService{s: s}
308	rs.Frames = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(s)
309	return rs
310}
311
312type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService struct {
313	s *Service
314
315	Frames *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService
316}
317
318func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService {
319	rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService{s: s}
320	return rs
321}
322
323type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService struct {
324	s *Service
325}
326
327func NewProjectsLocationsDatasetsFhirStoresService(s *Service) *ProjectsLocationsDatasetsFhirStoresService {
328	rs := &ProjectsLocationsDatasetsFhirStoresService{s: s}
329	rs.Fhir = NewProjectsLocationsDatasetsFhirStoresFhirService(s)
330	return rs
331}
332
333type ProjectsLocationsDatasetsFhirStoresService struct {
334	s *Service
335
336	Fhir *ProjectsLocationsDatasetsFhirStoresFhirService
337}
338
339func NewProjectsLocationsDatasetsFhirStoresFhirService(s *Service) *ProjectsLocationsDatasetsFhirStoresFhirService {
340	rs := &ProjectsLocationsDatasetsFhirStoresFhirService{s: s}
341	return rs
342}
343
344type ProjectsLocationsDatasetsFhirStoresFhirService struct {
345	s *Service
346}
347
348func NewProjectsLocationsDatasetsHl7V2StoresService(s *Service) *ProjectsLocationsDatasetsHl7V2StoresService {
349	rs := &ProjectsLocationsDatasetsHl7V2StoresService{s: s}
350	rs.Messages = NewProjectsLocationsDatasetsHl7V2StoresMessagesService(s)
351	return rs
352}
353
354type ProjectsLocationsDatasetsHl7V2StoresService struct {
355	s *Service
356
357	Messages *ProjectsLocationsDatasetsHl7V2StoresMessagesService
358}
359
360func NewProjectsLocationsDatasetsHl7V2StoresMessagesService(s *Service) *ProjectsLocationsDatasetsHl7V2StoresMessagesService {
361	rs := &ProjectsLocationsDatasetsHl7V2StoresMessagesService{s: s}
362	return rs
363}
364
365type ProjectsLocationsDatasetsHl7V2StoresMessagesService struct {
366	s *Service
367}
368
369func NewProjectsLocationsDatasetsOperationsService(s *Service) *ProjectsLocationsDatasetsOperationsService {
370	rs := &ProjectsLocationsDatasetsOperationsService{s: s}
371	return rs
372}
373
374type ProjectsLocationsDatasetsOperationsService struct {
375	s *Service
376}
377
378func NewProjectsLocationsServicesService(s *Service) *ProjectsLocationsServicesService {
379	rs := &ProjectsLocationsServicesService{s: s}
380	rs.Nlp = NewProjectsLocationsServicesNlpService(s)
381	return rs
382}
383
384type ProjectsLocationsServicesService struct {
385	s *Service
386
387	Nlp *ProjectsLocationsServicesNlpService
388}
389
390func NewProjectsLocationsServicesNlpService(s *Service) *ProjectsLocationsServicesNlpService {
391	rs := &ProjectsLocationsServicesNlpService{s: s}
392	return rs
393}
394
395type ProjectsLocationsServicesNlpService struct {
396	s *Service
397}
398
399// ActivateConsentRequest: Activates the latest revision of the
400// specified Consent by committing a new revision with `state` updated
401// to `ACTIVE`. If the latest revision of the given Consent is in the
402// `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION
403// error occurs if the latest revision of the given consent is in the
404// `REJECTED` or `REVOKED` state.
405type ActivateConsentRequest struct {
406	// ConsentArtifact: Required. The resource name of the Consent artifact
407	// that contains documentation of the user's consent, of the form
408	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
409	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
410	// `. If the draft Consent had a Consent artifact, this Consent artifact
411	// overwrites it.
412	ConsentArtifact string `json:"consentArtifact,omitempty"`
413
414	// ExpireTime: Timestamp in UTC of when this Consent is considered
415	// expired.
416	ExpireTime string `json:"expireTime,omitempty"`
417
418	// Ttl: The time to live for this Consent from when it is marked as
419	// active.
420	Ttl string `json:"ttl,omitempty"`
421
422	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
423	// unconditionally include in API requests. By default, fields with
424	// empty values are omitted from API requests. However, any non-pointer,
425	// non-interface field appearing in ForceSendFields will be sent to the
426	// server regardless of whether the field is empty or not. This may be
427	// used to include empty fields in Patch requests.
428	ForceSendFields []string `json:"-"`
429
430	// NullFields is a list of field names (e.g. "ConsentArtifact") to
431	// include in API requests with the JSON null value. By default, fields
432	// with empty values are omitted from API requests. However, any field
433	// with an empty value appearing in NullFields will be sent to the
434	// server as null. It is an error if a field in this list has a
435	// non-empty value. This may be used to include null fields in Patch
436	// requests.
437	NullFields []string `json:"-"`
438}
439
440func (s *ActivateConsentRequest) MarshalJSON() ([]byte, error) {
441	type NoMethod ActivateConsentRequest
442	raw := NoMethod(*s)
443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
444}
445
446// AnalyzeEntitiesRequest: The request to analyze healthcare entities in
447// a document.
448type AnalyzeEntitiesRequest struct {
449	// DocumentContent: document_content is a document to be annotated.
450	DocumentContent string `json:"documentContent,omitempty"`
451
452	// ForceSendFields is a list of field names (e.g. "DocumentContent") to
453	// unconditionally include in API requests. By default, fields with
454	// empty values are omitted from API requests. However, any non-pointer,
455	// non-interface field appearing in ForceSendFields will be sent to the
456	// server regardless of whether the field is empty or not. This may be
457	// used to include empty fields in Patch requests.
458	ForceSendFields []string `json:"-"`
459
460	// NullFields is a list of field names (e.g. "DocumentContent") to
461	// include in API requests with the JSON null value. By default, fields
462	// with empty values are omitted from API requests. However, any field
463	// with an empty value appearing in NullFields will be sent to the
464	// server as null. It is an error if a field in this list has a
465	// non-empty value. This may be used to include null fields in Patch
466	// requests.
467	NullFields []string `json:"-"`
468}
469
470func (s *AnalyzeEntitiesRequest) MarshalJSON() ([]byte, error) {
471	type NoMethod AnalyzeEntitiesRequest
472	raw := NoMethod(*s)
473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
474}
475
476// AnalyzeEntitiesResponse: Includes recognized entity mentions and
477// relationships between them.
478type AnalyzeEntitiesResponse struct {
479	// Entities: The union of all the candidate entities that the
480	// entity_mentions in this response could link to. These are UMLS
481	// concepts or normalized mention content.
482	Entities []*Entity `json:"entities,omitempty"`
483
484	// EntityMentions: entity_mentions contains all the annotated medical
485	// entities that were mentioned in the provided document.
486	EntityMentions []*EntityMention `json:"entityMentions,omitempty"`
487
488	// Relationships: relationships contains all the binary relationships
489	// that were identified between entity mentions within the provided
490	// document.
491	Relationships []*EntityMentionRelationship `json:"relationships,omitempty"`
492
493	// ServerResponse contains the HTTP response code and headers from the
494	// server.
495	googleapi.ServerResponse `json:"-"`
496
497	// ForceSendFields is a list of field names (e.g. "Entities") to
498	// unconditionally include in API requests. By default, fields with
499	// empty values are omitted from API requests. However, any non-pointer,
500	// non-interface field appearing in ForceSendFields will be sent to the
501	// server regardless of whether the field is empty or not. This may be
502	// used to include empty fields in Patch requests.
503	ForceSendFields []string `json:"-"`
504
505	// NullFields is a list of field names (e.g. "Entities") to include in
506	// API requests with the JSON null value. By default, fields with empty
507	// values are omitted from API requests. However, any field with an
508	// empty value appearing in NullFields will be sent to the server as
509	// null. It is an error if a field in this list has a non-empty value.
510	// This may be used to include null fields in Patch requests.
511	NullFields []string `json:"-"`
512}
513
514func (s *AnalyzeEntitiesResponse) MarshalJSON() ([]byte, error) {
515	type NoMethod AnalyzeEntitiesResponse
516	raw := NoMethod(*s)
517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
518}
519
520// Annotation: An annotation record.
521type Annotation struct {
522	// AnnotationSource: Details of the source.
523	AnnotationSource *AnnotationSource `json:"annotationSource,omitempty"`
524
525	// CustomData: Additional information for this annotation record, such
526	// as annotator and verifier information or study campaign.
527	CustomData map[string]string `json:"customData,omitempty"`
528
529	// ImageAnnotation: Annotations for images. For example, bounding
530	// polygons.
531	ImageAnnotation *ImageAnnotation `json:"imageAnnotation,omitempty"`
532
533	// Name: Resource name of the Annotation, of the form
534	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
535	// nnotationStores/{annotation_store_id}/annotations/{annotation_id}`.
536	Name string `json:"name,omitempty"`
537
538	// ResourceAnnotation: Annotations for resource. For example,
539	// classification tags.
540	ResourceAnnotation *ResourceAnnotation `json:"resourceAnnotation,omitempty"`
541
542	// TextAnnotation: Annotations for sensitive texts. For example, a range
543	// that describes the location of sensitive text.
544	TextAnnotation *SensitiveTextAnnotation `json:"textAnnotation,omitempty"`
545
546	// ServerResponse contains the HTTP response code and headers from the
547	// server.
548	googleapi.ServerResponse `json:"-"`
549
550	// ForceSendFields is a list of field names (e.g. "AnnotationSource") to
551	// unconditionally include in API requests. By default, fields with
552	// empty values are omitted from API requests. However, any non-pointer,
553	// non-interface field appearing in ForceSendFields will be sent to the
554	// server regardless of whether the field is empty or not. This may be
555	// used to include empty fields in Patch requests.
556	ForceSendFields []string `json:"-"`
557
558	// NullFields is a list of field names (e.g. "AnnotationSource") to
559	// include in API requests with the JSON null value. By default, fields
560	// with empty values are omitted from API requests. However, any field
561	// with an empty value appearing in NullFields will be sent to the
562	// server as null. It is an error if a field in this list has a
563	// non-empty value. This may be used to include null fields in Patch
564	// requests.
565	NullFields []string `json:"-"`
566}
567
568func (s *Annotation) MarshalJSON() ([]byte, error) {
569	type NoMethod Annotation
570	raw := NoMethod(*s)
571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
572}
573
574// AnnotationConfig: Specifies how to store annotations during
575// de-identification operation.
576type AnnotationConfig struct {
577	// AnnotationStoreName: The name of the annotation store, in the form
578	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
579	// nnotationStores/{annotation_store_id}`). * The destination annotation
580	// store must be in the same project as the source data. De-identifying
581	// data across multiple projects is not supported. * The destination
582	// annotation store must exist when using DeidentifyDicomStore or
583	// DeidentifyFhirStore. DeidentifyDataset automatically creates the
584	// destination annotation store.
585	AnnotationStoreName string `json:"annotationStoreName,omitempty"`
586
587	// StoreQuote: If set to true, the sensitive texts are included in
588	// SensitiveTextAnnotation of Annotation.
589	StoreQuote bool `json:"storeQuote,omitempty"`
590
591	// ForceSendFields is a list of field names (e.g. "AnnotationStoreName")
592	// to unconditionally include in API requests. By default, fields with
593	// empty values are omitted from API requests. However, any non-pointer,
594	// non-interface field appearing in ForceSendFields will be sent to the
595	// server regardless of whether the field is empty or not. This may be
596	// used to include empty fields in Patch requests.
597	ForceSendFields []string `json:"-"`
598
599	// NullFields is a list of field names (e.g. "AnnotationStoreName") to
600	// include in API requests with the JSON null value. By default, fields
601	// with empty values are omitted from API requests. However, any field
602	// with an empty value appearing in NullFields will be sent to the
603	// server as null. It is an error if a field in this list has a
604	// non-empty value. This may be used to include null fields in Patch
605	// requests.
606	NullFields []string `json:"-"`
607}
608
609func (s *AnnotationConfig) MarshalJSON() ([]byte, error) {
610	type NoMethod AnnotationConfig
611	raw := NoMethod(*s)
612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
613}
614
615// AnnotationSource: AnnotationSource holds the source information of
616// the annotation.
617type AnnotationSource struct {
618	// CloudHealthcareSource: Cloud Healthcare API resource.
619	CloudHealthcareSource *CloudHealthcareSource `json:"cloudHealthcareSource,omitempty"`
620
621	// ForceSendFields is a list of field names (e.g.
622	// "CloudHealthcareSource") to unconditionally include in API requests.
623	// By default, fields with empty values are omitted from API requests.
624	// However, any non-pointer, non-interface field appearing in
625	// ForceSendFields will be sent to the server regardless of whether the
626	// field is empty or not. This may be used to include empty fields in
627	// Patch requests.
628	ForceSendFields []string `json:"-"`
629
630	// NullFields is a list of field names (e.g. "CloudHealthcareSource") to
631	// include in API requests with the JSON null value. By default, fields
632	// with empty values are omitted from API requests. However, any field
633	// with an empty value appearing in NullFields will be sent to the
634	// server as null. It is an error if a field in this list has a
635	// non-empty value. This may be used to include null fields in Patch
636	// requests.
637	NullFields []string `json:"-"`
638}
639
640func (s *AnnotationSource) MarshalJSON() ([]byte, error) {
641	type NoMethod AnnotationSource
642	raw := NoMethod(*s)
643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
644}
645
646// AnnotationStore: An Annotation store that can store annotation
647// resources such as labels and tags for text, image and audio.
648type AnnotationStore struct {
649	// Labels: Optional. User-supplied key-value pairs used to organize
650	// Annotation stores. Label keys must be between 1 and 63 characters
651	// long, have a UTF-8 encoding of maximum 128 bytes, and must conform to
652	// the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label
653	// values must be between 1 and 63 characters long, have a UTF-8
654	// encoding of maximum 128 bytes, and must conform to the following PCRE
655	// regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64
656	// labels can be associated with a given store.
657	Labels map[string]string `json:"labels,omitempty"`
658
659	// Name: Resource name of the Annotation store, of the form
660	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
661	// nnotationStores/{annotation_store_id}`.
662	Name string `json:"name,omitempty"`
663
664	// ServerResponse contains the HTTP response code and headers from the
665	// server.
666	googleapi.ServerResponse `json:"-"`
667
668	// ForceSendFields is a list of field names (e.g. "Labels") to
669	// unconditionally include in API requests. By default, fields with
670	// empty values are omitted from API requests. However, any non-pointer,
671	// non-interface field appearing in ForceSendFields will be sent to the
672	// server regardless of whether the field is empty or not. This may be
673	// used to include empty fields in Patch requests.
674	ForceSendFields []string `json:"-"`
675
676	// NullFields is a list of field names (e.g. "Labels") to include in API
677	// requests with the JSON null value. By default, fields with empty
678	// values are omitted from API requests. However, any field with an
679	// empty value appearing in NullFields will be sent to the server as
680	// null. It is an error if a field in this list has a non-empty value.
681	// This may be used to include null fields in Patch requests.
682	NullFields []string `json:"-"`
683}
684
685func (s *AnnotationStore) MarshalJSON() ([]byte, error) {
686	type NoMethod AnnotationStore
687	raw := NoMethod(*s)
688	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
689}
690
691// ArchiveUserDataMappingRequest: Archives the specified User data
692// mapping.
693type ArchiveUserDataMappingRequest struct {
694}
695
696// ArchiveUserDataMappingResponse: Archives the specified User data
697// mapping.
698type ArchiveUserDataMappingResponse struct {
699	// ServerResponse contains the HTTP response code and headers from the
700	// server.
701	googleapi.ServerResponse `json:"-"`
702}
703
704// Attribute: An attribute value for a Consent or User data mapping.
705// Each Attribute must have a corresponding AttributeDefinition in the
706// consent store that defines the default and allowed values.
707type Attribute struct {
708	// AttributeDefinitionId: Indicates the name of an attribute defined in
709	// the consent store.
710	AttributeDefinitionId string `json:"attributeDefinitionId,omitempty"`
711
712	// Values: The value of the attribute. Must be an acceptable value as
713	// defined in the consent store. For example, if the consent store
714	// defines "data type" with acceptable values "questionnaire" and
715	// "step-count", when the attribute name is data type, this field must
716	// contain one of those values.
717	Values []string `json:"values,omitempty"`
718
719	// ForceSendFields is a list of field names (e.g.
720	// "AttributeDefinitionId") to unconditionally include in API requests.
721	// By default, fields with empty values are omitted from API requests.
722	// However, any non-pointer, non-interface field appearing in
723	// ForceSendFields will be sent to the server regardless of whether the
724	// field is empty or not. This may be used to include empty fields in
725	// Patch requests.
726	ForceSendFields []string `json:"-"`
727
728	// NullFields is a list of field names (e.g. "AttributeDefinitionId") to
729	// include in API requests with the JSON null value. By default, fields
730	// with empty values are omitted from API requests. However, any field
731	// with an empty value appearing in NullFields will be sent to the
732	// server as null. It is an error if a field in this list has a
733	// non-empty value. This may be used to include null fields in Patch
734	// requests.
735	NullFields []string `json:"-"`
736}
737
738func (s *Attribute) MarshalJSON() ([]byte, error) {
739	type NoMethod Attribute
740	raw := NoMethod(*s)
741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
742}
743
744// AttributeDefinition: A client-defined consent attribute.
745type AttributeDefinition struct {
746	// AllowedValues: Required. Possible values for the attribute. The
747	// number of allowed values must not exceed 100. An empty list is
748	// invalid. The list can only be expanded after creation.
749	AllowedValues []string `json:"allowedValues,omitempty"`
750
751	// Category: Required. The category of the attribute. The value of this
752	// field cannot be changed after creation.
753	//
754	// Possible values:
755	//   "CATEGORY_UNSPECIFIED" - No category specified. This option is
756	// invalid.
757	//   "RESOURCE" - Specify this category when this attribute describes
758	// the properties of resources. For example, data anonymity or data
759	// type.
760	//   "REQUEST" - Specify this category when this attribute describes the
761	// properties of requests. For example, requester's role or requester's
762	// organization.
763	Category string `json:"category,omitempty"`
764
765	// ConsentDefaultValues: Optional. Default values of the attribute in
766	// Consents. If no default values are specified, it defaults to an empty
767	// value.
768	ConsentDefaultValues []string `json:"consentDefaultValues,omitempty"`
769
770	// DataMappingDefaultValue: Optional. Default value of the attribute in
771	// User data mappings. If no default value is specified, it defaults to
772	// an empty value. This field is only applicable to attributes of the
773	// category `RESOURCE`.
774	DataMappingDefaultValue string `json:"dataMappingDefaultValue,omitempty"`
775
776	// Description: Optional. A description of the attribute.
777	Description string `json:"description,omitempty"`
778
779	// Name: Resource name of the Attribute definition, of the form
780	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
781	// onsentStores/{consent_store_id}/attributeDefinitions/{attribute_defini
782	// tion_id}`. Cannot be changed after creation.
783	Name string `json:"name,omitempty"`
784
785	// ServerResponse contains the HTTP response code and headers from the
786	// server.
787	googleapi.ServerResponse `json:"-"`
788
789	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
790	// unconditionally include in API requests. By default, fields with
791	// empty values are omitted from API requests. However, any non-pointer,
792	// non-interface field appearing in ForceSendFields will be sent to the
793	// server regardless of whether the field is empty or not. This may be
794	// used to include empty fields in Patch requests.
795	ForceSendFields []string `json:"-"`
796
797	// NullFields is a list of field names (e.g. "AllowedValues") to include
798	// in API requests with the JSON null value. By default, fields with
799	// empty values are omitted from API requests. However, any field with
800	// an empty value appearing in NullFields will be sent to the server as
801	// null. It is an error if a field in this list has a non-empty value.
802	// This may be used to include null fields in Patch requests.
803	NullFields []string `json:"-"`
804}
805
806func (s *AttributeDefinition) MarshalJSON() ([]byte, error) {
807	type NoMethod AttributeDefinition
808	raw := NoMethod(*s)
809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
810}
811
812// AuditConfig: Specifies the audit configuration for a service. The
813// configuration determines which permission types are logged, and what
814// identities, if any, are exempted from logging. An AuditConfig must
815// have one or more AuditLogConfigs. If there are AuditConfigs for both
816// `allServices` and a specific service, the union of the two
817// AuditConfigs is used for that service: the log_types specified in
818// each AuditConfig are enabled, and the exempted_members in each
819// AuditLogConfig are exempted. Example Policy with multiple
820// AuditConfigs: { "audit_configs": [ { "service": "allServices",
821// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
822// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
823// "log_type": "ADMIN_READ" } ] }, { "service":
824// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
825// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
826// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
827// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
828// jose@example.com from DATA_READ logging, and aliya@example.com from
829// DATA_WRITE logging.
830type AuditConfig struct {
831	// AuditLogConfigs: The configuration for logging of each type of
832	// permission.
833	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
834
835	// Service: Specifies a service that will be enabled for audit logging.
836	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
837	// `allServices` is a special value that covers all services.
838	Service string `json:"service,omitempty"`
839
840	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
841	// unconditionally include in API requests. By default, fields with
842	// empty values are omitted from API requests. However, any non-pointer,
843	// non-interface field appearing in ForceSendFields will be sent to the
844	// server regardless of whether the field is empty or not. This may be
845	// used to include empty fields in Patch requests.
846	ForceSendFields []string `json:"-"`
847
848	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
849	// include in API requests with the JSON null value. By default, fields
850	// with empty values are omitted from API requests. However, any field
851	// with an empty value appearing in NullFields will be sent to the
852	// server as null. It is an error if a field in this list has a
853	// non-empty value. This may be used to include null fields in Patch
854	// requests.
855	NullFields []string `json:"-"`
856}
857
858func (s *AuditConfig) MarshalJSON() ([]byte, error) {
859	type NoMethod AuditConfig
860	raw := NoMethod(*s)
861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
862}
863
864// AuditLogConfig: Provides the configuration for logging a type of
865// permissions. Example: { "audit_log_configs": [ { "log_type":
866// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
867// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
868// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
869// logging.
870type AuditLogConfig struct {
871	// ExemptedMembers: Specifies the identities that do not cause logging
872	// for this type of permission. Follows the same format of
873	// Binding.members.
874	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
875
876	// LogType: The log type that this config enables.
877	//
878	// Possible values:
879	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
880	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
881	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
882	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
883	LogType string `json:"logType,omitempty"`
884
885	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
886	// unconditionally include in API requests. By default, fields with
887	// empty values are omitted from API requests. However, any non-pointer,
888	// non-interface field appearing in ForceSendFields will be sent to the
889	// server regardless of whether the field is empty or not. This may be
890	// used to include empty fields in Patch requests.
891	ForceSendFields []string `json:"-"`
892
893	// NullFields is a list of field names (e.g. "ExemptedMembers") to
894	// include in API requests with the JSON null value. By default, fields
895	// with empty values are omitted from API requests. However, any field
896	// with an empty value appearing in NullFields will be sent to the
897	// server as null. It is an error if a field in this list has a
898	// non-empty value. This may be used to include null fields in Patch
899	// requests.
900	NullFields []string `json:"-"`
901}
902
903func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
904	type NoMethod AuditLogConfig
905	raw := NoMethod(*s)
906	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
907}
908
909// BatchGetMessagesResponse: Gets multiple messages in a specified HL7v2
910// store.
911type BatchGetMessagesResponse struct {
912	// Messages: The returned Messages. See `MessageView` for populated
913	// fields.
914	Messages []*Message `json:"messages,omitempty"`
915
916	// ServerResponse contains the HTTP response code and headers from the
917	// server.
918	googleapi.ServerResponse `json:"-"`
919
920	// ForceSendFields is a list of field names (e.g. "Messages") to
921	// unconditionally include in API requests. By default, fields with
922	// empty values are omitted from API requests. However, any non-pointer,
923	// non-interface field appearing in ForceSendFields will be sent to the
924	// server regardless of whether the field is empty or not. This may be
925	// used to include empty fields in Patch requests.
926	ForceSendFields []string `json:"-"`
927
928	// NullFields is a list of field names (e.g. "Messages") to include in
929	// API requests with the JSON null value. By default, fields with empty
930	// values are omitted from API requests. However, any field with an
931	// empty value appearing in NullFields will be sent to the server as
932	// null. It is an error if a field in this list has a non-empty value.
933	// This may be used to include null fields in Patch requests.
934	NullFields []string `json:"-"`
935}
936
937func (s *BatchGetMessagesResponse) MarshalJSON() ([]byte, error) {
938	type NoMethod BatchGetMessagesResponse
939	raw := NoMethod(*s)
940	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
941}
942
943// Binding: Associates `members` with a `role`.
944type Binding struct {
945	// Condition: The condition that is associated with this binding. If the
946	// condition evaluates to `true`, then this binding applies to the
947	// current request. If the condition evaluates to `false`, then this
948	// binding does not apply to the current request. However, a different
949	// role binding might grant the same role to one or more of the members
950	// in this binding. To learn which resources support conditions in their
951	// IAM policies, see the IAM documentation
952	// (https://cloud.google.com/iam/help/conditions/resource-policies).
953	Condition *Expr `json:"condition,omitempty"`
954
955	// Members: Specifies the identities requesting access for a Cloud
956	// Platform resource. `members` can have the following values: *
957	// `allUsers`: A special identifier that represents anyone who is on the
958	// internet; with or without a Google account. *
959	// `allAuthenticatedUsers`: A special identifier that represents anyone
960	// who is authenticated with a Google account or a service account. *
961	// `user:{emailid}`: An email address that represents a specific Google
962	// account. For example, `alice@example.com` . *
963	// `serviceAccount:{emailid}`: An email address that represents a
964	// service account. For example,
965	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
966	// email address that represents a Google group. For example,
967	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
968	// email address (plus unique identifier) representing a user that has
969	// been recently deleted. For example,
970	// `alice@example.com?uid=123456789012345678901`. If the user is
971	// recovered, this value reverts to `user:{emailid}` and the recovered
972	// user retains the role in the binding. *
973	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
974	// (plus unique identifier) representing a service account that has been
975	// recently deleted. For example,
976	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
977	// If the service account is undeleted, this value reverts to
978	// `serviceAccount:{emailid}` and the undeleted service account retains
979	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
980	// An email address (plus unique identifier) representing a Google group
981	// that has been recently deleted. For example,
982	// `admins@example.com?uid=123456789012345678901`. If the group is
983	// recovered, this value reverts to `group:{emailid}` and the recovered
984	// group retains the role in the binding. * `domain:{domain}`: The G
985	// Suite domain (primary) that represents all the users of that domain.
986	// For example, `google.com` or `example.com`.
987	Members []string `json:"members,omitempty"`
988
989	// Role: Role that is assigned to `members`. For example,
990	// `roles/viewer`, `roles/editor`, or `roles/owner`.
991	Role string `json:"role,omitempty"`
992
993	// ForceSendFields is a list of field names (e.g. "Condition") to
994	// unconditionally include in API requests. By default, fields with
995	// empty values are omitted from API requests. However, any non-pointer,
996	// non-interface field appearing in ForceSendFields will be sent to the
997	// server regardless of whether the field is empty or not. This may be
998	// used to include empty fields in Patch requests.
999	ForceSendFields []string `json:"-"`
1000
1001	// NullFields is a list of field names (e.g. "Condition") to include in
1002	// API requests with the JSON null value. By default, fields with empty
1003	// values are omitted from API requests. However, any field with an
1004	// empty value appearing in NullFields will be sent to the server as
1005	// null. It is an error if a field in this list has a non-empty value.
1006	// This may be used to include null fields in Patch requests.
1007	NullFields []string `json:"-"`
1008}
1009
1010func (s *Binding) MarshalJSON() ([]byte, error) {
1011	type NoMethod Binding
1012	raw := NoMethod(*s)
1013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1014}
1015
1016// BoundingPoly: A bounding polygon for the detected image annotation.
1017type BoundingPoly struct {
1018	// Label: A description of this polygon.
1019	Label string `json:"label,omitempty"`
1020
1021	// Vertices: List of the vertices of this polygon.
1022	Vertices []*Vertex `json:"vertices,omitempty"`
1023
1024	// ForceSendFields is a list of field names (e.g. "Label") to
1025	// unconditionally include in API requests. By default, fields with
1026	// empty values are omitted from API requests. However, any non-pointer,
1027	// non-interface field appearing in ForceSendFields will be sent to the
1028	// server regardless of whether the field is empty or not. This may be
1029	// used to include empty fields in Patch requests.
1030	ForceSendFields []string `json:"-"`
1031
1032	// NullFields is a list of field names (e.g. "Label") to include in API
1033	// requests with the JSON null value. By default, fields with empty
1034	// values are omitted from API requests. However, any field with an
1035	// empty value appearing in NullFields will be sent to the server as
1036	// null. It is an error if a field in this list has a non-empty value.
1037	// This may be used to include null fields in Patch requests.
1038	NullFields []string `json:"-"`
1039}
1040
1041func (s *BoundingPoly) MarshalJSON() ([]byte, error) {
1042	type NoMethod BoundingPoly
1043	raw := NoMethod(*s)
1044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1045}
1046
1047// CancelOperationRequest: The request message for
1048// Operations.CancelOperation.
1049type CancelOperationRequest struct {
1050}
1051
1052// CharacterMaskConfig: Mask a string by replacing its characters with a
1053// fixed character.
1054type CharacterMaskConfig struct {
1055	// MaskingCharacter: Character to mask the sensitive values. If not
1056	// supplied, defaults to "*".
1057	MaskingCharacter string `json:"maskingCharacter,omitempty"`
1058
1059	// ForceSendFields is a list of field names (e.g. "MaskingCharacter") to
1060	// unconditionally include in API requests. By default, fields with
1061	// empty values are omitted from API requests. However, any non-pointer,
1062	// non-interface field appearing in ForceSendFields will be sent to the
1063	// server regardless of whether the field is empty or not. This may be
1064	// used to include empty fields in Patch requests.
1065	ForceSendFields []string `json:"-"`
1066
1067	// NullFields is a list of field names (e.g. "MaskingCharacter") to
1068	// include in API requests with the JSON null value. By default, fields
1069	// with empty values are omitted from API requests. However, any field
1070	// with an empty value appearing in NullFields will be sent to the
1071	// server as null. It is an error if a field in this list has a
1072	// non-empty value. This may be used to include null fields in Patch
1073	// requests.
1074	NullFields []string `json:"-"`
1075}
1076
1077func (s *CharacterMaskConfig) MarshalJSON() ([]byte, error) {
1078	type NoMethod CharacterMaskConfig
1079	raw := NoMethod(*s)
1080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1081}
1082
1083// CheckDataAccessRequest: Checks if a particular data_id of a User data
1084// mapping in the given consent store is consented for a given use.
1085type CheckDataAccessRequest struct {
1086	// ConsentList: Optional. Specific Consents to evaluate the access
1087	// request against. These Consents must have the same `user_id` as the
1088	// evaluated User data mapping, must exist in the current
1089	// `consent_store`, and have a `state` of either `ACTIVE` or `DRAFT`. A
1090	// maximum of 100 Consents can be provided here. If no selection is
1091	// specified, the access request is evaluated against all `ACTIVE`
1092	// unexpired Consents with the same `user_id` as the evaluated User data
1093	// mapping.
1094	ConsentList *ConsentList `json:"consentList,omitempty"`
1095
1096	// DataId: Required. The unique identifier of the resource to check
1097	// access for. This identifier must correspond to a User data mapping in
1098	// the given consent store.
1099	DataId string `json:"dataId,omitempty"`
1100
1101	// RequestAttributes: The values of request attributes associated with
1102	// this access request.
1103	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
1104
1105	// ResponseView: Optional. The view for CheckDataAccessResponse. If
1106	// unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or
1107	// `FALSE`.
1108	//
1109	// Possible values:
1110	//   "RESPONSE_VIEW_UNSPECIFIED" - No response view specified. The API
1111	// will default to the BASIC view.
1112	//   "BASIC" - Only the `consented` field is populated in
1113	// CheckDataAccessResponse.
1114	//   "FULL" - All fields within CheckDataAccessResponse are populated.
1115	// When set to `FULL`, all `ACTIVE` Consents are evaluated even if a
1116	// matching policy is found during evaluation.
1117	ResponseView string `json:"responseView,omitempty"`
1118
1119	// ForceSendFields is a list of field names (e.g. "ConsentList") to
1120	// unconditionally include in API requests. By default, fields with
1121	// empty values are omitted from API requests. However, any non-pointer,
1122	// non-interface field appearing in ForceSendFields will be sent to the
1123	// server regardless of whether the field is empty or not. This may be
1124	// used to include empty fields in Patch requests.
1125	ForceSendFields []string `json:"-"`
1126
1127	// NullFields is a list of field names (e.g. "ConsentList") to include
1128	// in API requests with the JSON null value. By default, fields with
1129	// empty values are omitted from API requests. However, any field with
1130	// an empty value appearing in NullFields will be sent to the server as
1131	// null. It is an error if a field in this list has a non-empty value.
1132	// This may be used to include null fields in Patch requests.
1133	NullFields []string `json:"-"`
1134}
1135
1136func (s *CheckDataAccessRequest) MarshalJSON() ([]byte, error) {
1137	type NoMethod CheckDataAccessRequest
1138	raw := NoMethod(*s)
1139	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1140}
1141
1142// CheckDataAccessResponse: Checks if a particular data_id of a User
1143// data mapping in the given consent store is consented for a given use.
1144type CheckDataAccessResponse struct {
1145	// ConsentDetails: The resource names of all evaluated Consents mapped
1146	// to their evaluation.
1147	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
1148
1149	// Consented: Whether the requested resource is consented for the given
1150	// use.
1151	Consented bool `json:"consented,omitempty"`
1152
1153	// ServerResponse contains the HTTP response code and headers from the
1154	// server.
1155	googleapi.ServerResponse `json:"-"`
1156
1157	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
1158	// unconditionally include in API requests. By default, fields with
1159	// empty values are omitted from API requests. However, any non-pointer,
1160	// non-interface field appearing in ForceSendFields will be sent to the
1161	// server regardless of whether the field is empty or not. This may be
1162	// used to include empty fields in Patch requests.
1163	ForceSendFields []string `json:"-"`
1164
1165	// NullFields is a list of field names (e.g. "ConsentDetails") to
1166	// include in API requests with the JSON null value. By default, fields
1167	// with empty values are omitted from API requests. However, any field
1168	// with an empty value appearing in NullFields will be sent to the
1169	// server as null. It is an error if a field in this list has a
1170	// non-empty value. This may be used to include null fields in Patch
1171	// requests.
1172	NullFields []string `json:"-"`
1173}
1174
1175func (s *CheckDataAccessResponse) MarshalJSON() ([]byte, error) {
1176	type NoMethod CheckDataAccessResponse
1177	raw := NoMethod(*s)
1178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1179}
1180
1181// CloudHealthcareSource: Cloud Healthcare API resource.
1182type CloudHealthcareSource struct {
1183	// Name: Full path of a Cloud Healthcare API resource.
1184	Name string `json:"name,omitempty"`
1185
1186	// ForceSendFields is a list of field names (e.g. "Name") to
1187	// unconditionally include in API requests. By default, fields with
1188	// empty values are omitted from API requests. However, any non-pointer,
1189	// non-interface field appearing in ForceSendFields will be sent to the
1190	// server regardless of whether the field is empty or not. This may be
1191	// used to include empty fields in Patch requests.
1192	ForceSendFields []string `json:"-"`
1193
1194	// NullFields is a list of field names (e.g. "Name") to include in API
1195	// requests with the JSON null value. By default, fields with empty
1196	// values are omitted from API requests. However, any field with an
1197	// empty value appearing in NullFields will be sent to the server as
1198	// null. It is an error if a field in this list has a non-empty value.
1199	// This may be used to include null fields in Patch requests.
1200	NullFields []string `json:"-"`
1201}
1202
1203func (s *CloudHealthcareSource) MarshalJSON() ([]byte, error) {
1204	type NoMethod CloudHealthcareSource
1205	raw := NoMethod(*s)
1206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1207}
1208
1209// Consent: Represents a user's consent.
1210type Consent struct {
1211	// ConsentArtifact: Required. The resource name of the Consent artifact
1212	// that contains proof of the end user's consent, of the form
1213	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1214	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
1215	// `.
1216	ConsentArtifact string `json:"consentArtifact,omitempty"`
1217
1218	// ExpireTime: Timestamp in UTC of when this Consent is considered
1219	// expired.
1220	ExpireTime string `json:"expireTime,omitempty"`
1221
1222	// Metadata: Optional. User-supplied key-value pairs used to organize
1223	// Consent resources. Metadata keys must: - be between 1 and 63
1224	// characters long - have a UTF-8 encoding of maximum 128 bytes - begin
1225	// with a letter - consist of up to 63 characters including lowercase
1226	// letters, numeric characters, underscores, and dashes Metadata values
1227	// must be: - be between 1 and 63 characters long - have a UTF-8
1228	// encoding of maximum 128 bytes - consist of up to 63 characters
1229	// including lowercase letters, numeric characters, underscores, and
1230	// dashes No more than 64 metadata entries can be associated with a
1231	// given consent.
1232	Metadata map[string]string `json:"metadata,omitempty"`
1233
1234	// Name: Resource name of the Consent, of the form
1235	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1236	// onsentStores/{consent_store_id}/consents/{consent_id}`. Cannot be
1237	// changed after creation.
1238	Name string `json:"name,omitempty"`
1239
1240	// Policies: Optional. Represents a user's consent in terms of the
1241	// resources that can be accessed and under what conditions.
1242	Policies []*GoogleCloudHealthcareV1beta1ConsentPolicy `json:"policies,omitempty"`
1243
1244	// RevisionCreateTime: Output only. The timestamp that the revision was
1245	// created.
1246	RevisionCreateTime string `json:"revisionCreateTime,omitempty"`
1247
1248	// RevisionId: Output only. The revision ID of the Consent. The format
1249	// is an 8-character hexadecimal string. Refer to a specific revision of
1250	// a Consent by appending `@{revision_id}` to the Consent's resource
1251	// name.
1252	RevisionId string `json:"revisionId,omitempty"`
1253
1254	// State: Required. Indicates the current state of this Consent.
1255	//
1256	// Possible values:
1257	//   "STATE_UNSPECIFIED" - No state specified.
1258	//   "ACTIVE" - The Consent is active and is considered when evaluating
1259	// a user's consent on resources.
1260	//   "ARCHIVED" - When a Consent is updated, the current version is
1261	// archived and a new one is created with its state set to the updated
1262	// Consent's previous state.
1263	//   "REVOKED" - A revoked Consent is not considered when evaluating a
1264	// user's consent on resources.
1265	//   "DRAFT" - A draft Consent is not considered when evaluating a
1266	// user's consent on resources unless explicitly specified.
1267	//   "REJECTED" - When a draft Consent is rejected by a user, it is set
1268	// to a rejected state. A rejected Consent is not considered when
1269	// evaluating a user's consent on resources.
1270	State string `json:"state,omitempty"`
1271
1272	// Ttl: Input only. The time to live for this Consent from when it is
1273	// created.
1274	Ttl string `json:"ttl,omitempty"`
1275
1276	// UserId: Required. User's UUID provided by the client.
1277	UserId string `json:"userId,omitempty"`
1278
1279	// ServerResponse contains the HTTP response code and headers from the
1280	// server.
1281	googleapi.ServerResponse `json:"-"`
1282
1283	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
1284	// unconditionally include in API requests. By default, fields with
1285	// empty values are omitted from API requests. However, any non-pointer,
1286	// non-interface field appearing in ForceSendFields will be sent to the
1287	// server regardless of whether the field is empty or not. This may be
1288	// used to include empty fields in Patch requests.
1289	ForceSendFields []string `json:"-"`
1290
1291	// NullFields is a list of field names (e.g. "ConsentArtifact") to
1292	// include in API requests with the JSON null value. By default, fields
1293	// with empty values are omitted from API requests. However, any field
1294	// with an empty value appearing in NullFields will be sent to the
1295	// server as null. It is an error if a field in this list has a
1296	// non-empty value. This may be used to include null fields in Patch
1297	// requests.
1298	NullFields []string `json:"-"`
1299}
1300
1301func (s *Consent) MarshalJSON() ([]byte, error) {
1302	type NoMethod Consent
1303	raw := NoMethod(*s)
1304	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1305}
1306
1307// ConsentArtifact: Documentation of a user's consent.
1308type ConsentArtifact struct {
1309	// ConsentContentScreenshots: Optional. Screenshots, PDFs, or other
1310	// binary information documenting the user's consent.
1311	ConsentContentScreenshots []*Image `json:"consentContentScreenshots,omitempty"`
1312
1313	// ConsentContentVersion: Optional. An string indicating the version of
1314	// the consent information shown to the user.
1315	ConsentContentVersion string `json:"consentContentVersion,omitempty"`
1316
1317	// GuardianSignature: Optional. A signature from a guardian.
1318	GuardianSignature *Signature `json:"guardianSignature,omitempty"`
1319
1320	// Metadata: Optional. Metadata associated with the Consent artifact.
1321	// For example, the consent locale or user agent version.
1322	Metadata map[string]string `json:"metadata,omitempty"`
1323
1324	// Name: Resource name of the Consent artifact, of the form
1325	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1326	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
1327	// `. Cannot be changed after creation.
1328	Name string `json:"name,omitempty"`
1329
1330	// UserId: Required. User's UUID provided by the client.
1331	UserId string `json:"userId,omitempty"`
1332
1333	// UserSignature: Optional. User's signature.
1334	UserSignature *Signature `json:"userSignature,omitempty"`
1335
1336	// WitnessSignature: Optional. A signature from a witness.
1337	WitnessSignature *Signature `json:"witnessSignature,omitempty"`
1338
1339	// ServerResponse contains the HTTP response code and headers from the
1340	// server.
1341	googleapi.ServerResponse `json:"-"`
1342
1343	// ForceSendFields is a list of field names (e.g.
1344	// "ConsentContentScreenshots") to unconditionally include in API
1345	// requests. By default, fields with empty values are omitted from API
1346	// requests. However, any non-pointer, non-interface field appearing in
1347	// ForceSendFields will be sent to the server regardless of whether the
1348	// field is empty or not. This may be used to include empty fields in
1349	// Patch requests.
1350	ForceSendFields []string `json:"-"`
1351
1352	// NullFields is a list of field names (e.g.
1353	// "ConsentContentScreenshots") to include in API requests with the JSON
1354	// null value. By default, fields with empty values are omitted from API
1355	// requests. However, any field with an empty value appearing in
1356	// NullFields will be sent to the server as null. It is an error if a
1357	// field in this list has a non-empty value. This may be used to include
1358	// null fields in Patch requests.
1359	NullFields []string `json:"-"`
1360}
1361
1362func (s *ConsentArtifact) MarshalJSON() ([]byte, error) {
1363	type NoMethod ConsentArtifact
1364	raw := NoMethod(*s)
1365	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1366}
1367
1368// ConsentEvaluation: The detailed evaluation of a particular Consent.
1369type ConsentEvaluation struct {
1370	// EvaluationResult: The evaluation result.
1371	//
1372	// Possible values:
1373	//   "EVALUATION_RESULT_UNSPECIFIED" - No evaluation result specified.
1374	// This option is invalid.
1375	//   "NOT_APPLICABLE" - The Consent is not applicable to the requested
1376	// access determination. For example, the Consent does not apply to the
1377	// user for which the access determination is requested, or it has a
1378	// `state` of `REVOKED`.
1379	//   "NO_MATCHING_POLICY" - The Consent does not have a policy that
1380	// matches the `resource_attributes` of the evaluated resource.
1381	//   "NO_SATISFIED_POLICY" - The Consent has at least one policy that
1382	// matches the `resource_attributes` of the evaluated resource, but no
1383	// `authorization_rule` was satisfied.
1384	//   "HAS_SATISFIED_POLICY" - The Consent has at least one policy that
1385	// matches the `resource_attributes` of the evaluated resource, and at
1386	// least one `authorization_rule` was satisfied.
1387	EvaluationResult string `json:"evaluationResult,omitempty"`
1388
1389	// ForceSendFields is a list of field names (e.g. "EvaluationResult") to
1390	// unconditionally include in API requests. By default, fields with
1391	// empty values are omitted from API requests. However, any non-pointer,
1392	// non-interface field appearing in ForceSendFields will be sent to the
1393	// server regardless of whether the field is empty or not. This may be
1394	// used to include empty fields in Patch requests.
1395	ForceSendFields []string `json:"-"`
1396
1397	// NullFields is a list of field names (e.g. "EvaluationResult") to
1398	// include in API requests with the JSON null value. By default, fields
1399	// with empty values are omitted from API requests. However, any field
1400	// with an empty value appearing in NullFields will be sent to the
1401	// server as null. It is an error if a field in this list has a
1402	// non-empty value. This may be used to include null fields in Patch
1403	// requests.
1404	NullFields []string `json:"-"`
1405}
1406
1407func (s *ConsentEvaluation) MarshalJSON() ([]byte, error) {
1408	type NoMethod ConsentEvaluation
1409	raw := NoMethod(*s)
1410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1411}
1412
1413// ConsentList: List of resource names of Consent resources.
1414type ConsentList struct {
1415	// Consents: The resource names of the Consents to evaluate against, of
1416	// the form
1417	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1418	// onsentStores/{consent_store_id}/consents/{consent_id}`.
1419	Consents []string `json:"consents,omitempty"`
1420
1421	// ForceSendFields is a list of field names (e.g. "Consents") to
1422	// unconditionally include in API requests. By default, fields with
1423	// empty values are omitted from API requests. However, any non-pointer,
1424	// non-interface field appearing in ForceSendFields will be sent to the
1425	// server regardless of whether the field is empty or not. This may be
1426	// used to include empty fields in Patch requests.
1427	ForceSendFields []string `json:"-"`
1428
1429	// NullFields is a list of field names (e.g. "Consents") to include in
1430	// API requests with the JSON null value. By default, fields with empty
1431	// values are omitted from API requests. However, any field with an
1432	// empty value appearing in NullFields will be sent to the server as
1433	// null. It is an error if a field in this list has a non-empty value.
1434	// This may be used to include null fields in Patch requests.
1435	NullFields []string `json:"-"`
1436}
1437
1438func (s *ConsentList) MarshalJSON() ([]byte, error) {
1439	type NoMethod ConsentList
1440	raw := NoMethod(*s)
1441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1442}
1443
1444// ConsentStore: Represents a consent store.
1445type ConsentStore struct {
1446	// DefaultConsentTtl: Optional. Default time to live for Consents
1447	// created in this store. Must be at least 24 hours. Updating this field
1448	// will not affect the expiration time of existing consents.
1449	DefaultConsentTtl string `json:"defaultConsentTtl,omitempty"`
1450
1451	// EnableConsentCreateOnUpdate: Optional. If `true`, UpdateConsent
1452	// creates the Consent if it does not already exist. If unspecified,
1453	// defaults to `false`.
1454	EnableConsentCreateOnUpdate bool `json:"enableConsentCreateOnUpdate,omitempty"`
1455
1456	// Labels: Optional. User-supplied key-value pairs used to organize
1457	// consent stores. Label keys must be between 1 and 63 characters long,
1458	// have a UTF-8 encoding of maximum 128 bytes, and must conform to the
1459	// following PCRE regular expression: \p{Ll}\p{Lo}{0,62}. Label values
1460	// must be between 1 and 63 characters long, have a UTF-8 encoding of
1461	// maximum 128 bytes, and must conform to the following PCRE regular
1462	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}. No more than 64 labels can
1463	// be associated with a given store. For more information:
1464	// https://cloud.google.com/healthcare/docs/how-tos/labeling-resources
1465	Labels map[string]string `json:"labels,omitempty"`
1466
1467	// Name: Resource name of the consent store, of the form
1468	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1469	// onsentStores/{consent_store_id}`. Cannot be changed after creation.
1470	Name string `json:"name,omitempty"`
1471
1472	// ServerResponse contains the HTTP response code and headers from the
1473	// server.
1474	googleapi.ServerResponse `json:"-"`
1475
1476	// ForceSendFields is a list of field names (e.g. "DefaultConsentTtl")
1477	// to unconditionally include in API requests. By default, fields with
1478	// empty values are omitted from API requests. However, any non-pointer,
1479	// non-interface field appearing in ForceSendFields will be sent to the
1480	// server regardless of whether the field is empty or not. This may be
1481	// used to include empty fields in Patch requests.
1482	ForceSendFields []string `json:"-"`
1483
1484	// NullFields is a list of field names (e.g. "DefaultConsentTtl") to
1485	// include in API requests with the JSON null value. By default, fields
1486	// with empty values are omitted from API requests. However, any field
1487	// with an empty value appearing in NullFields will be sent to the
1488	// server as null. It is an error if a field in this list has a
1489	// non-empty value. This may be used to include null fields in Patch
1490	// requests.
1491	NullFields []string `json:"-"`
1492}
1493
1494func (s *ConsentStore) MarshalJSON() ([]byte, error) {
1495	type NoMethod ConsentStore
1496	raw := NoMethod(*s)
1497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1498}
1499
1500// CreateMessageRequest: Creates a new message.
1501type CreateMessageRequest struct {
1502	// Message: HL7v2 message.
1503	Message *Message `json:"message,omitempty"`
1504
1505	// ForceSendFields is a list of field names (e.g. "Message") to
1506	// unconditionally include in API requests. By default, fields with
1507	// empty values are omitted from API requests. However, any non-pointer,
1508	// non-interface field appearing in ForceSendFields will be sent to the
1509	// server regardless of whether the field is empty or not. This may be
1510	// used to include empty fields in Patch requests.
1511	ForceSendFields []string `json:"-"`
1512
1513	// NullFields is a list of field names (e.g. "Message") to include in
1514	// API requests with the JSON null value. By default, fields with empty
1515	// values are omitted from API requests. However, any field with an
1516	// empty value appearing in NullFields will be sent to the server as
1517	// null. It is an error if a field in this list has a non-empty value.
1518	// This may be used to include null fields in Patch requests.
1519	NullFields []string `json:"-"`
1520}
1521
1522func (s *CreateMessageRequest) MarshalJSON() ([]byte, error) {
1523	type NoMethod CreateMessageRequest
1524	raw := NoMethod(*s)
1525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1526}
1527
1528// CryptoHashConfig: Pseudonymization method that generates surrogates
1529// via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded
1530// representation of the hashed output. For example,
1531// `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.
1532type CryptoHashConfig struct {
1533	// CryptoKey: An AES 128/192/256 bit key. Causes the hash to be computed
1534	// based on this key. A default key is generated for each Deidentify
1535	// operation and is used wherever crypto_key is not specified.
1536	CryptoKey string `json:"cryptoKey,omitempty"`
1537
1538	// ForceSendFields is a list of field names (e.g. "CryptoKey") to
1539	// unconditionally include in API requests. By default, fields with
1540	// empty values are omitted from API requests. However, any non-pointer,
1541	// non-interface field appearing in ForceSendFields will be sent to the
1542	// server regardless of whether the field is empty or not. This may be
1543	// used to include empty fields in Patch requests.
1544	ForceSendFields []string `json:"-"`
1545
1546	// NullFields is a list of field names (e.g. "CryptoKey") to include in
1547	// API requests with the JSON null value. By default, fields with empty
1548	// values are omitted from API requests. However, any field with an
1549	// empty value appearing in NullFields will be sent to the server as
1550	// null. It is an error if a field in this list has a non-empty value.
1551	// This may be used to include null fields in Patch requests.
1552	NullFields []string `json:"-"`
1553}
1554
1555func (s *CryptoHashConfig) MarshalJSON() ([]byte, error) {
1556	type NoMethod CryptoHashConfig
1557	raw := NoMethod(*s)
1558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1559}
1560
1561// Dataset: A message representing a health dataset. A health dataset
1562// represents a collection of healthcare data pertaining to one or more
1563// patients. This may include multiple modalities of healthcare data,
1564// such as electronic medical records or medical imaging data.
1565type Dataset struct {
1566	// Name: Resource name of the dataset, of the form
1567	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
1568	Name string `json:"name,omitempty"`
1569
1570	// TimeZone: The default timezone used by this dataset. Must be a either
1571	// a valid IANA time zone name such as "America/New_York" or empty,
1572	// which defaults to UTC. This is used for parsing times in resources,
1573	// such as HL7 messages, where no explicit timezone is specified.
1574	TimeZone string `json:"timeZone,omitempty"`
1575
1576	// ServerResponse contains the HTTP response code and headers from the
1577	// server.
1578	googleapi.ServerResponse `json:"-"`
1579
1580	// ForceSendFields is a list of field names (e.g. "Name") to
1581	// unconditionally include in API requests. By default, fields with
1582	// empty values are omitted from API requests. However, any non-pointer,
1583	// non-interface field appearing in ForceSendFields will be sent to the
1584	// server regardless of whether the field is empty or not. This may be
1585	// used to include empty fields in Patch requests.
1586	ForceSendFields []string `json:"-"`
1587
1588	// NullFields is a list of field names (e.g. "Name") to include in API
1589	// requests with the JSON null value. By default, fields with empty
1590	// values are omitted from API requests. However, any field with an
1591	// empty value appearing in NullFields will be sent to the server as
1592	// null. It is an error if a field in this list has a non-empty value.
1593	// This may be used to include null fields in Patch requests.
1594	NullFields []string `json:"-"`
1595}
1596
1597func (s *Dataset) MarshalJSON() ([]byte, error) {
1598	type NoMethod Dataset
1599	raw := NoMethod(*s)
1600	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1601}
1602
1603// DateShiftConfig: Shift a date forward or backward in time by a random
1604// amount which is consistent for a given patient and crypto key
1605// combination.
1606type DateShiftConfig struct {
1607	// CryptoKey: An AES 128/192/256 bit key. Causes the shift to be
1608	// computed based on this key and the patient ID. A default key is
1609	// generated for each Deidentify operation and is used wherever
1610	// crypto_key is not specified.
1611	CryptoKey string `json:"cryptoKey,omitempty"`
1612
1613	// ForceSendFields is a list of field names (e.g. "CryptoKey") to
1614	// unconditionally include in API requests. By default, fields with
1615	// empty values are omitted from API requests. However, any non-pointer,
1616	// non-interface field appearing in ForceSendFields will be sent to the
1617	// server regardless of whether the field is empty or not. This may be
1618	// used to include empty fields in Patch requests.
1619	ForceSendFields []string `json:"-"`
1620
1621	// NullFields is a list of field names (e.g. "CryptoKey") to include in
1622	// API requests with the JSON null value. By default, fields with empty
1623	// values are omitted from API requests. However, any field with an
1624	// empty value appearing in NullFields will be sent to the server as
1625	// null. It is an error if a field in this list has a non-empty value.
1626	// This may be used to include null fields in Patch requests.
1627	NullFields []string `json:"-"`
1628}
1629
1630func (s *DateShiftConfig) MarshalJSON() ([]byte, error) {
1631	type NoMethod DateShiftConfig
1632	raw := NoMethod(*s)
1633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1634}
1635
1636// DeidentifyConfig: Configures de-id options specific to different
1637// types of content. Each submessage customizes the handling of an
1638// https://tools.ietf.org/html/rfc6838 media type or subtype. Configs
1639// are applied in a nested manner at runtime.
1640type DeidentifyConfig struct {
1641	// Annotation: Configures how annotations, meaning that the location and
1642	// infoType of sensitive information findings, are created during
1643	// de-identification. If unspecified, no annotations are created.
1644	Annotation *AnnotationConfig `json:"annotation,omitempty"`
1645
1646	// Dicom: Configures de-id of application/DICOM content.
1647	Dicom *DicomConfig `json:"dicom,omitempty"`
1648
1649	// Fhir: Configures de-id of application/FHIR content.
1650	Fhir *FhirConfig `json:"fhir,omitempty"`
1651
1652	// Image: Configures de-identification of image pixels wherever they are
1653	// found in the source_dataset.
1654	Image *ImageConfig `json:"image,omitempty"`
1655
1656	// Text: Configures de-identification of text wherever it is found in
1657	// the source_dataset.
1658	Text *TextConfig `json:"text,omitempty"`
1659
1660	// ForceSendFields is a list of field names (e.g. "Annotation") to
1661	// unconditionally include in API requests. By default, fields with
1662	// empty values are omitted from API requests. However, any non-pointer,
1663	// non-interface field appearing in ForceSendFields will be sent to the
1664	// server regardless of whether the field is empty or not. This may be
1665	// used to include empty fields in Patch requests.
1666	ForceSendFields []string `json:"-"`
1667
1668	// NullFields is a list of field names (e.g. "Annotation") to include in
1669	// API requests with the JSON null value. By default, fields with empty
1670	// values are omitted from API requests. However, any field with an
1671	// empty value appearing in NullFields will be sent to the server as
1672	// null. It is an error if a field in this list has a non-empty value.
1673	// This may be used to include null fields in Patch requests.
1674	NullFields []string `json:"-"`
1675}
1676
1677func (s *DeidentifyConfig) MarshalJSON() ([]byte, error) {
1678	type NoMethod DeidentifyConfig
1679	raw := NoMethod(*s)
1680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1681}
1682
1683// DeidentifyDatasetRequest: Redacts identifying information from the
1684// specified dataset.
1685type DeidentifyDatasetRequest struct {
1686	// Config: Deidentify configuration.
1687	Config *DeidentifyConfig `json:"config,omitempty"`
1688
1689	// DestinationDataset: The name of the dataset resource to create and
1690	// write the redacted data to. * The destination dataset must not exist.
1691	// * The destination dataset must be in the same project and location as
1692	// the source dataset. De-identifying data across multiple projects or
1693	// locations is not supported.
1694	DestinationDataset string `json:"destinationDataset,omitempty"`
1695
1696	// ForceSendFields is a list of field names (e.g. "Config") to
1697	// unconditionally include in API requests. By default, fields with
1698	// empty values are omitted from API requests. However, any non-pointer,
1699	// non-interface field appearing in ForceSendFields will be sent to the
1700	// server regardless of whether the field is empty or not. This may be
1701	// used to include empty fields in Patch requests.
1702	ForceSendFields []string `json:"-"`
1703
1704	// NullFields is a list of field names (e.g. "Config") to include in API
1705	// requests with the JSON null value. By default, fields with empty
1706	// values are omitted from API requests. However, any field with an
1707	// empty value appearing in NullFields will be sent to the server as
1708	// null. It is an error if a field in this list has a non-empty value.
1709	// This may be used to include null fields in Patch requests.
1710	NullFields []string `json:"-"`
1711}
1712
1713func (s *DeidentifyDatasetRequest) MarshalJSON() ([]byte, error) {
1714	type NoMethod DeidentifyDatasetRequest
1715	raw := NoMethod(*s)
1716	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1717}
1718
1719// DeidentifyDicomStoreRequest: Creates a new DICOM store with sensitive
1720// information de-identified.
1721type DeidentifyDicomStoreRequest struct {
1722	// Config: De-identify configuration.
1723	Config *DeidentifyConfig `json:"config,omitempty"`
1724
1725	// DestinationStore: The name of the DICOM store to create and write the
1726	// redacted data to. For example,
1727	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
1728	// icomStores/{dicom_store_id}`. * The destination dataset must exist. *
1729	// The source dataset and destination dataset must both reside in the
1730	// same project. De-identifying data across multiple projects is not
1731	// supported. * The destination DICOM store must not exist. * The caller
1732	// must have the necessary permissions to create the destination DICOM
1733	// store.
1734	DestinationStore string `json:"destinationStore,omitempty"`
1735
1736	// FilterConfig: Filter configuration.
1737	FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"`
1738
1739	// ForceSendFields is a list of field names (e.g. "Config") to
1740	// unconditionally include in API requests. By default, fields with
1741	// empty values are omitted from API requests. However, any non-pointer,
1742	// non-interface field appearing in ForceSendFields will be sent to the
1743	// server regardless of whether the field is empty or not. This may be
1744	// used to include empty fields in Patch requests.
1745	ForceSendFields []string `json:"-"`
1746
1747	// NullFields is a list of field names (e.g. "Config") to include in API
1748	// requests with the JSON null value. By default, fields with empty
1749	// values are omitted from API requests. However, any field with an
1750	// empty value appearing in NullFields will be sent to the server as
1751	// null. It is an error if a field in this list has a non-empty value.
1752	// This may be used to include null fields in Patch requests.
1753	NullFields []string `json:"-"`
1754}
1755
1756func (s *DeidentifyDicomStoreRequest) MarshalJSON() ([]byte, error) {
1757	type NoMethod DeidentifyDicomStoreRequest
1758	raw := NoMethod(*s)
1759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1760}
1761
1762// DeidentifyFhirStoreRequest: Creates a new FHIR store with sensitive
1763// information de-identified.
1764type DeidentifyFhirStoreRequest struct {
1765	// Config: Deidentify configuration.
1766	Config *DeidentifyConfig `json:"config,omitempty"`
1767
1768	// DestinationStore: The name of the FHIR store to create and write the
1769	// redacted data to. For example,
1770	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/f
1771	// hirStores/{fhir_store_id}`. * The destination dataset must exist. *
1772	// The source dataset and destination dataset must both reside in the
1773	// same project. De-identifying data across multiple projects is not
1774	// supported. * The destination FHIR store must exist. * The caller must
1775	// have the healthcare.fhirResources.update permission to write to the
1776	// destination FHIR store.
1777	DestinationStore string `json:"destinationStore,omitempty"`
1778
1779	// ResourceFilter: A filter specifying the resources to include in the
1780	// output. If not specified, all resources are included in the output.
1781	ResourceFilter *FhirFilter `json:"resourceFilter,omitempty"`
1782
1783	// ForceSendFields is a list of field names (e.g. "Config") to
1784	// unconditionally include in API requests. By default, fields with
1785	// empty values are omitted from API requests. However, any non-pointer,
1786	// non-interface field appearing in ForceSendFields will be sent to the
1787	// server regardless of whether the field is empty or not. This may be
1788	// used to include empty fields in Patch requests.
1789	ForceSendFields []string `json:"-"`
1790
1791	// NullFields is a list of field names (e.g. "Config") to include in API
1792	// requests with the JSON null value. By default, fields with empty
1793	// values are omitted from API requests. However, any field with an
1794	// empty value appearing in NullFields will be sent to the server as
1795	// null. It is an error if a field in this list has a non-empty value.
1796	// This may be used to include null fields in Patch requests.
1797	NullFields []string `json:"-"`
1798}
1799
1800func (s *DeidentifyFhirStoreRequest) MarshalJSON() ([]byte, error) {
1801	type NoMethod DeidentifyFhirStoreRequest
1802	raw := NoMethod(*s)
1803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1804}
1805
1806// DeidentifySummary: Contains a detailed summary of the Deidentify
1807// operation.
1808type DeidentifySummary struct {
1809}
1810
1811// Detail: Contains multiple sensitive information findings for each
1812// resource slice.
1813type Detail struct {
1814	Findings []*Finding `json:"findings,omitempty"`
1815
1816	// ForceSendFields is a list of field names (e.g. "Findings") to
1817	// unconditionally include in API requests. By default, fields with
1818	// empty values are omitted from API requests. However, any non-pointer,
1819	// non-interface field appearing in ForceSendFields will be sent to the
1820	// server regardless of whether the field is empty or not. This may be
1821	// used to include empty fields in Patch requests.
1822	ForceSendFields []string `json:"-"`
1823
1824	// NullFields is a list of field names (e.g. "Findings") to include in
1825	// API requests with the JSON null value. By default, fields with empty
1826	// values are omitted from API requests. However, any field with an
1827	// empty value appearing in NullFields will be sent to the server as
1828	// null. It is an error if a field in this list has a non-empty value.
1829	// This may be used to include null fields in Patch requests.
1830	NullFields []string `json:"-"`
1831}
1832
1833func (s *Detail) MarshalJSON() ([]byte, error) {
1834	type NoMethod Detail
1835	raw := NoMethod(*s)
1836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1837}
1838
1839// DicomConfig: Specifies the parameters needed for de-identification of
1840// DICOM stores.
1841type DicomConfig struct {
1842	// FilterProfile: Tag filtering profile that determines which tags to
1843	// keep/remove.
1844	//
1845	// Possible values:
1846	//   "TAG_FILTER_PROFILE_UNSPECIFIED" - No tag filtration profile
1847	// provided. Same as KEEP_ALL_PROFILE.
1848	//   "MINIMAL_KEEP_LIST_PROFILE" - Keep only tags required to produce
1849	// valid DICOM.
1850	//   "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" - Remove tags based on
1851	// DICOM Standard's Attribute Confidentiality Basic Profile (DICOM
1852	// Standard Edition 2018e)
1853	// http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.
1854	//   "KEEP_ALL_PROFILE" - Keep all tags.
1855	//   "DEIDENTIFY_TAG_CONTENTS" - Inspects within tag contents and
1856	// replaces sensitive text. The process can be configured using the
1857	// TextConfig. Applies to all tags with the following Value
1858	// Representation names: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS
1859	FilterProfile string `json:"filterProfile,omitempty"`
1860
1861	// KeepList: List of tags to keep. Remove all other tags.
1862	KeepList *TagFilterList `json:"keepList,omitempty"`
1863
1864	// RemoveList: List of tags to remove. Keep all other tags.
1865	RemoveList *TagFilterList `json:"removeList,omitempty"`
1866
1867	// SkipIdRedaction: If true, skip replacing StudyInstanceUID,
1868	// SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and
1869	// leave them untouched. The Cloud Healthcare API regenerates these UIDs
1870	// by default based on the DICOM Standard's reasoning: "Whilst these
1871	// UIDs cannot be mapped directly to an individual out of context, given
1872	// access to the original images, or to a database of the original
1873	// images containing the UIDs, it would be possible to recover the
1874	// individual's identity."
1875	// http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html
1876	SkipIdRedaction bool `json:"skipIdRedaction,omitempty"`
1877
1878	// ForceSendFields is a list of field names (e.g. "FilterProfile") to
1879	// unconditionally include in API requests. By default, fields with
1880	// empty values are omitted from API requests. However, any non-pointer,
1881	// non-interface field appearing in ForceSendFields will be sent to the
1882	// server regardless of whether the field is empty or not. This may be
1883	// used to include empty fields in Patch requests.
1884	ForceSendFields []string `json:"-"`
1885
1886	// NullFields is a list of field names (e.g. "FilterProfile") to include
1887	// in API requests with the JSON null value. By default, fields with
1888	// empty values are omitted from API requests. However, any field with
1889	// an empty value appearing in NullFields will be sent to the server as
1890	// null. It is an error if a field in this list has a non-empty value.
1891	// This may be used to include null fields in Patch requests.
1892	NullFields []string `json:"-"`
1893}
1894
1895func (s *DicomConfig) MarshalJSON() ([]byte, error) {
1896	type NoMethod DicomConfig
1897	raw := NoMethod(*s)
1898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1899}
1900
1901// DicomFilterConfig: Specifies the filter configuration for DICOM
1902// resources.
1903type DicomFilterConfig struct {
1904	// ResourcePathsGcsUri: The Cloud Storage location of the filter
1905	// configuration file. The `gcs_uri` must be in the format
1906	// `gs://bucket/path/to/object`. The filter configuration file must
1907	// contain a list of resource paths separated by newline characters (\n
1908	// or \r\n). Each resource path must be in the format
1909	// "/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]"
1910	// The Cloud Healthcare API service account must have the
1911	// `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage
1912	// location.
1913	ResourcePathsGcsUri string `json:"resourcePathsGcsUri,omitempty"`
1914
1915	// ForceSendFields is a list of field names (e.g. "ResourcePathsGcsUri")
1916	// to unconditionally include in API requests. By default, fields with
1917	// empty values are omitted from API requests. However, any non-pointer,
1918	// non-interface field appearing in ForceSendFields will be sent to the
1919	// server regardless of whether the field is empty or not. This may be
1920	// used to include empty fields in Patch requests.
1921	ForceSendFields []string `json:"-"`
1922
1923	// NullFields is a list of field names (e.g. "ResourcePathsGcsUri") to
1924	// include in API requests with the JSON null value. By default, fields
1925	// with empty values are omitted from API requests. However, any field
1926	// with an empty value appearing in NullFields will be sent to the
1927	// server as null. It is an error if a field in this list has a
1928	// non-empty value. This may be used to include null fields in Patch
1929	// requests.
1930	NullFields []string `json:"-"`
1931}
1932
1933func (s *DicomFilterConfig) MarshalJSON() ([]byte, error) {
1934	type NoMethod DicomFilterConfig
1935	raw := NoMethod(*s)
1936	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1937}
1938
1939// DicomStore: Represents a DICOM store.
1940type DicomStore struct {
1941	// Labels: User-supplied key-value pairs used to organize DICOM stores.
1942	// Label keys must be between 1 and 63 characters long, have a UTF-8
1943	// encoding of maximum 128 bytes, and must conform to the following PCRE
1944	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
1945	// must be between 1 and 63 characters long, have a UTF-8 encoding of
1946	// maximum 128 bytes, and must conform to the following PCRE regular
1947	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
1948	// associated with a given store.
1949	Labels map[string]string `json:"labels,omitempty"`
1950
1951	// Name: Resource name of the DICOM store, of the form
1952	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
1953	// icomStores/{dicom_store_id}`.
1954	Name string `json:"name,omitempty"`
1955
1956	// NotificationConfig: Notification destination for new DICOM instances.
1957	// Supplied by the client.
1958	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
1959
1960	// StreamConfigs: A list of streaming configs used to configure the
1961	// destination of streaming exports for every DICOM instance insertion
1962	// in this DICOM store. After a new config is added to `stream_configs`,
1963	// DICOM instance insertions are streamed to the new destination. When a
1964	// config is removed from `stream_configs`, the server stops streaming
1965	// to that destination. Each config must contain a unique destination.
1966	StreamConfigs []*GoogleCloudHealthcareV1beta1DicomStreamConfig `json:"streamConfigs,omitempty"`
1967
1968	// ServerResponse contains the HTTP response code and headers from the
1969	// server.
1970	googleapi.ServerResponse `json:"-"`
1971
1972	// ForceSendFields is a list of field names (e.g. "Labels") to
1973	// unconditionally include in API requests. By default, fields with
1974	// empty values are omitted from API requests. However, any non-pointer,
1975	// non-interface field appearing in ForceSendFields will be sent to the
1976	// server regardless of whether the field is empty or not. This may be
1977	// used to include empty fields in Patch requests.
1978	ForceSendFields []string `json:"-"`
1979
1980	// NullFields is a list of field names (e.g. "Labels") to include in API
1981	// requests with the JSON null value. By default, fields with empty
1982	// values are omitted from API requests. However, any field with an
1983	// empty value appearing in NullFields will be sent to the server as
1984	// null. It is an error if a field in this list has a non-empty value.
1985	// This may be used to include null fields in Patch requests.
1986	NullFields []string `json:"-"`
1987}
1988
1989func (s *DicomStore) MarshalJSON() ([]byte, error) {
1990	type NoMethod DicomStore
1991	raw := NoMethod(*s)
1992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1993}
1994
1995// Empty: A generic empty message that you can re-use to avoid defining
1996// duplicated empty messages in your APIs. A typical example is to use
1997// it as the request or the response type of an API method. For
1998// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
1999// (google.protobuf.Empty); } The JSON representation for `Empty` is
2000// empty JSON object `{}`.
2001type Empty struct {
2002	// ServerResponse contains the HTTP response code and headers from the
2003	// server.
2004	googleapi.ServerResponse `json:"-"`
2005}
2006
2007// Entity: The candidate entities that an entity mention could link to.
2008type Entity struct {
2009	// EntityId: entity_id is a first class field entity_id uniquely
2010	// identifies this concept and its meta-vocabulary. For example,
2011	// "UMLS/C0000970".
2012	EntityId string `json:"entityId,omitempty"`
2013
2014	// PreferredTerm: preferred_term is the preferred term for this concept.
2015	// For example, "Acetaminophen". For ad hoc entities formed by
2016	// normalization, this is the most popular unnormalized string.
2017	PreferredTerm string `json:"preferredTerm,omitempty"`
2018
2019	// VocabularyCodes: Vocabulary codes are first-class fields and
2020	// differentiated from the concept unique identifier (entity_id).
2021	// vocabulary_codes contains the representation of this concept in
2022	// particular vocabularies, such as ICD-10, SNOMED-CT and RxNORM. These
2023	// are prefixed by the name of the vocabulary, followed by the unique
2024	// code within that vocabulary. For example, "RXNORM/A10334543".
2025	VocabularyCodes []string `json:"vocabularyCodes,omitempty"`
2026
2027	// ForceSendFields is a list of field names (e.g. "EntityId") to
2028	// unconditionally include in API requests. By default, fields with
2029	// empty values are omitted from API requests. However, any non-pointer,
2030	// non-interface field appearing in ForceSendFields will be sent to the
2031	// server regardless of whether the field is empty or not. This may be
2032	// used to include empty fields in Patch requests.
2033	ForceSendFields []string `json:"-"`
2034
2035	// NullFields is a list of field names (e.g. "EntityId") to include in
2036	// API requests with the JSON null value. By default, fields with empty
2037	// values are omitted from API requests. However, any field with an
2038	// empty value appearing in NullFields will be sent to the server as
2039	// null. It is an error if a field in this list has a non-empty value.
2040	// This may be used to include null fields in Patch requests.
2041	NullFields []string `json:"-"`
2042}
2043
2044func (s *Entity) MarshalJSON() ([]byte, error) {
2045	type NoMethod Entity
2046	raw := NoMethod(*s)
2047	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2048}
2049
2050// EntityMention: An entity mention in the document.
2051type EntityMention struct {
2052	// CertaintyAssessment: The certainty assessment of the entity mention.
2053	// Its value is one of: LIKELY, SOMEWHAT_LIKELY, UNCERTAIN,
2054	// SOMEWHAT_UNLIKELY, UNLIKELY, CONDITIONAL
2055	CertaintyAssessment *Feature `json:"certaintyAssessment,omitempty"`
2056
2057	// Confidence: The model's confidence in this entity mention annotation.
2058	// A number between 0 and 1.
2059	Confidence float64 `json:"confidence,omitempty"`
2060
2061	// LinkedEntities: linked_entities are candidate ontological concepts
2062	// that this entity mention may refer to. They are sorted by decreasing
2063	// confidence.it
2064	LinkedEntities []*LinkedEntity `json:"linkedEntities,omitempty"`
2065
2066	// MentionId: mention_id uniquely identifies each entity mention in a
2067	// single response.
2068	MentionId string `json:"mentionId,omitempty"`
2069
2070	// Subject: The subject this entity mention relates to. Its value is one
2071	// of: PATIENT, FAMILY_MEMBER, OTHER
2072	Subject *Feature `json:"subject,omitempty"`
2073
2074	// TemporalAssessment: How this entity mention relates to the subject
2075	// temporally. Its value is one of: CURRENT, CLINICAL_HISTORY,
2076	// FAMILY_HISTORY, UPCOMING, ALLERGY
2077	TemporalAssessment *Feature `json:"temporalAssessment,omitempty"`
2078
2079	// Text: text is the location of the entity mention in the document.
2080	Text *TextSpan `json:"text,omitempty"`
2081
2082	// Type: The semantic type of the entity: UNKNOWN_ENTITY_TYPE, ALONE,
2083	// ANATOMICAL_STRUCTURE, ASSISTED_LIVING, BF_RESULT, BM_RESULT, BM_UNIT,
2084	// BM_VALUE, BODY_FUNCTION, BODY_MEASUREMENT, COMPLIANT,
2085	// DOESNOT_FOLLOWUP, FAMILY, FOLLOWSUP, LABORATORY_DATA, LAB_RESULT,
2086	// LAB_UNIT, LAB_VALUE, MEDICAL_DEVICE, MEDICINE, MED_DOSE,
2087	// MED_DURATION, MED_FORM, MED_FREQUENCY, MED_ROUTE, MED_STATUS,
2088	// MED_STRENGTH, MED_TOTALDOSE, MED_UNIT, NON_COMPLIANT,
2089	// OTHER_LIVINGSTATUS, PROBLEM, PROCEDURE, PROCEDURE_RESULT,
2090	// PROC_METHOD, REASON_FOR_NONCOMPLIANCE, SEVERITY, SUBSTANCE_ABUSE,
2091	// UNCLEAR_FOLLOWUP.
2092	Type string `json:"type,omitempty"`
2093
2094	// ForceSendFields is a list of field names (e.g. "CertaintyAssessment")
2095	// to unconditionally include in API requests. By default, fields with
2096	// empty values are omitted from API requests. However, any non-pointer,
2097	// non-interface field appearing in ForceSendFields will be sent to the
2098	// server regardless of whether the field is empty or not. This may be
2099	// used to include empty fields in Patch requests.
2100	ForceSendFields []string `json:"-"`
2101
2102	// NullFields is a list of field names (e.g. "CertaintyAssessment") to
2103	// include in API requests with the JSON null value. By default, fields
2104	// with empty values are omitted from API requests. However, any field
2105	// with an empty value appearing in NullFields will be sent to the
2106	// server as null. It is an error if a field in this list has a
2107	// non-empty value. This may be used to include null fields in Patch
2108	// requests.
2109	NullFields []string `json:"-"`
2110}
2111
2112func (s *EntityMention) MarshalJSON() ([]byte, error) {
2113	type NoMethod EntityMention
2114	raw := NoMethod(*s)
2115	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2116}
2117
2118func (s *EntityMention) UnmarshalJSON(data []byte) error {
2119	type NoMethod EntityMention
2120	var s1 struct {
2121		Confidence gensupport.JSONFloat64 `json:"confidence"`
2122		*NoMethod
2123	}
2124	s1.NoMethod = (*NoMethod)(s)
2125	if err := json.Unmarshal(data, &s1); err != nil {
2126		return err
2127	}
2128	s.Confidence = float64(s1.Confidence)
2129	return nil
2130}
2131
2132// EntityMentionRelationship: Defines directed relationship from one
2133// entity mention to another.
2134type EntityMentionRelationship struct {
2135	// Confidence: The model's confidence in this annotation. A number
2136	// between 0 and 1.
2137	Confidence float64 `json:"confidence,omitempty"`
2138
2139	// ObjectId: object_id is the id of the object entity mention.
2140	ObjectId string `json:"objectId,omitempty"`
2141
2142	// SubjectId: subject_id is the id of the subject entity mention.
2143	SubjectId string `json:"subjectId,omitempty"`
2144
2145	// ForceSendFields is a list of field names (e.g. "Confidence") to
2146	// unconditionally include in API requests. By default, fields with
2147	// empty values are omitted from API requests. However, any non-pointer,
2148	// non-interface field appearing in ForceSendFields will be sent to the
2149	// server regardless of whether the field is empty or not. This may be
2150	// used to include empty fields in Patch requests.
2151	ForceSendFields []string `json:"-"`
2152
2153	// NullFields is a list of field names (e.g. "Confidence") to include in
2154	// API requests with the JSON null value. By default, fields with empty
2155	// values are omitted from API requests. However, any field with an
2156	// empty value appearing in NullFields will be sent to the server as
2157	// null. It is an error if a field in this list has a non-empty value.
2158	// This may be used to include null fields in Patch requests.
2159	NullFields []string `json:"-"`
2160}
2161
2162func (s *EntityMentionRelationship) MarshalJSON() ([]byte, error) {
2163	type NoMethod EntityMentionRelationship
2164	raw := NoMethod(*s)
2165	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2166}
2167
2168func (s *EntityMentionRelationship) UnmarshalJSON(data []byte) error {
2169	type NoMethod EntityMentionRelationship
2170	var s1 struct {
2171		Confidence gensupport.JSONFloat64 `json:"confidence"`
2172		*NoMethod
2173	}
2174	s1.NoMethod = (*NoMethod)(s)
2175	if err := json.Unmarshal(data, &s1); err != nil {
2176		return err
2177	}
2178	s.Confidence = float64(s1.Confidence)
2179	return nil
2180}
2181
2182// EvaluateAnnotationStoreRequest: Request to evaluate an Annotation
2183// store against a ground truth [Annotation store].
2184type EvaluateAnnotationStoreRequest struct {
2185	// BigqueryDestination: The BigQuery table where the server writes the
2186	// output. BigQueryDestination requires the `roles/bigquery.dataEditor`
2187	// and `roles/bigquery.jobUser` Cloud IAM roles.
2188	BigqueryDestination *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination `json:"bigqueryDestination,omitempty"`
2189
2190	// EvalInfoTypeMapping: Optional. InfoType mapping for `eval_store`.
2191	// Different resources can map to the same infoType. For example,
2192	// `PERSON_NAME`, `PERSON`, `NAME`, and `HUMAN` are different. To map
2193	// all of these into a single infoType (such as `PERSON_NAME`), specify
2194	// the following mapping: ``` info_type_mapping["PERSON"] =
2195	// "PERSON_NAME" info_type_mapping["NAME"] = "PERSON_NAME"
2196	// info_type_mapping["HUMAN"] = "PERSON_NAME" ``` Unmentioned infoTypes,
2197	// such as `DATE`, are treated as identity mapping. For example: ```
2198	// info_type_mapping["DATE"] = "DATE" ``` InfoTypes are
2199	// case-insensitive.
2200	EvalInfoTypeMapping map[string]string `json:"evalInfoTypeMapping,omitempty"`
2201
2202	// GoldenInfoTypeMapping: Optional. Similar to `eval_info_type_mapping`,
2203	// infoType mapping for `golden_store`.
2204	GoldenInfoTypeMapping map[string]string `json:"goldenInfoTypeMapping,omitempty"`
2205
2206	// GoldenStore: The Annotation store to use as ground truth, in the
2207	// format of
2208	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
2209	// nnotationStores/{annotation_store_id}`.
2210	GoldenStore string `json:"goldenStore,omitempty"`
2211
2212	InfoTypeConfig *InfoTypeConfig `json:"infoTypeConfig,omitempty"`
2213
2214	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2215	// to unconditionally include in API requests. By default, fields with
2216	// empty values are omitted from API requests. However, any non-pointer,
2217	// non-interface field appearing in ForceSendFields will be sent to the
2218	// server regardless of whether the field is empty or not. This may be
2219	// used to include empty fields in Patch requests.
2220	ForceSendFields []string `json:"-"`
2221
2222	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2223	// include in API requests with the JSON null value. By default, fields
2224	// with empty values are omitted from API requests. However, any field
2225	// with an empty value appearing in NullFields will be sent to the
2226	// server as null. It is an error if a field in this list has a
2227	// non-empty value. This may be used to include null fields in Patch
2228	// requests.
2229	NullFields []string `json:"-"`
2230}
2231
2232func (s *EvaluateAnnotationStoreRequest) MarshalJSON() ([]byte, error) {
2233	type NoMethod EvaluateAnnotationStoreRequest
2234	raw := NoMethod(*s)
2235	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2236}
2237
2238// EvaluateAnnotationStoreResponse: Response for successful Annotation
2239// store evaluation operations. This structure is included in the
2240// response upon operation completion.
2241type EvaluateAnnotationStoreResponse struct {
2242}
2243
2244// EvaluateUserConsentsRequest: Evaluate a user's Consents for all
2245// matching User data mappings. Note: User data mappings are indexed
2246// asynchronously, causing slight delays between the time mappings are
2247// created or updated and when they are included in EvaluateUserConsents
2248// results.
2249type EvaluateUserConsentsRequest struct {
2250	// ConsentList: Optional. Specific Consents to evaluate the access
2251	// request against. These Consents must have the same `user_id` as the
2252	// User data mappings being evalauted, must exist in the current
2253	// `consent_store`, and must have a `state` of either `ACTIVE` or
2254	// `DRAFT`. A maximum of 100 Consents can be provided here. If
2255	// unspecified, all `ACTIVE` unexpired Consents in the current
2256	// `consent_store` will be evaluated.
2257	ConsentList *ConsentList `json:"consentList,omitempty"`
2258
2259	// PageSize: Optional. Limit on the number of User data mappings to
2260	// return in a single response. If not specified, 100 is used. May not
2261	// be larger than 1000.
2262	PageSize int64 `json:"pageSize,omitempty"`
2263
2264	// PageToken: Optional. Token to retrieve the next page of results, or
2265	// empty to get the first page.
2266	PageToken string `json:"pageToken,omitempty"`
2267
2268	// RequestAttributes: Required. The values of request attributes
2269	// associated with this access request.
2270	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
2271
2272	// ResourceAttributes: Optional. The values of resource attributes
2273	// associated with the resources being requested. If no values are
2274	// specified, then all resources are queried.
2275	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
2276
2277	// ResponseView: Optional. The view for EvaluateUserConsentsResponse. If
2278	// unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or
2279	// `FALSE`.
2280	//
2281	// Possible values:
2282	//   "RESPONSE_VIEW_UNSPECIFIED" - No response view specified. The API
2283	// will default to the BASIC view.
2284	//   "BASIC" - Only the `data_id` and `consented` fields are populated
2285	// in the response.
2286	//   "FULL" - All fields within the response are populated. When set to
2287	// `FULL`, all `ACTIVE` Consents are evaluated even if a matching policy
2288	// is found during evaluation.
2289	ResponseView string `json:"responseView,omitempty"`
2290
2291	// UserId: Required. User ID to evaluate consents for.
2292	UserId string `json:"userId,omitempty"`
2293
2294	// ForceSendFields is a list of field names (e.g. "ConsentList") to
2295	// unconditionally include in API requests. By default, fields with
2296	// empty values are omitted from API requests. However, any non-pointer,
2297	// non-interface field appearing in ForceSendFields will be sent to the
2298	// server regardless of whether the field is empty or not. This may be
2299	// used to include empty fields in Patch requests.
2300	ForceSendFields []string `json:"-"`
2301
2302	// NullFields is a list of field names (e.g. "ConsentList") to include
2303	// in API requests with the JSON null value. By default, fields with
2304	// empty values are omitted from API requests. However, any field with
2305	// an empty value appearing in NullFields will be sent to the server as
2306	// null. It is an error if a field in this list has a non-empty value.
2307	// This may be used to include null fields in Patch requests.
2308	NullFields []string `json:"-"`
2309}
2310
2311func (s *EvaluateUserConsentsRequest) MarshalJSON() ([]byte, error) {
2312	type NoMethod EvaluateUserConsentsRequest
2313	raw := NoMethod(*s)
2314	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2315}
2316
2317type EvaluateUserConsentsResponse struct {
2318	// NextPageToken: Token to retrieve the next page of results, or empty
2319	// if there are no more results in the list. This token is valid for 72
2320	// hours after it is created.
2321	NextPageToken string `json:"nextPageToken,omitempty"`
2322
2323	// Results: The consent evaluation result for each `data_id`.
2324	Results []*Result `json:"results,omitempty"`
2325
2326	// ServerResponse contains the HTTP response code and headers from the
2327	// server.
2328	googleapi.ServerResponse `json:"-"`
2329
2330	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2331	// unconditionally include in API requests. By default, fields with
2332	// empty values are omitted from API requests. However, any non-pointer,
2333	// non-interface field appearing in ForceSendFields will be sent to the
2334	// server regardless of whether the field is empty or not. This may be
2335	// used to include empty fields in Patch requests.
2336	ForceSendFields []string `json:"-"`
2337
2338	// NullFields is a list of field names (e.g. "NextPageToken") to include
2339	// in API requests with the JSON null value. By default, fields with
2340	// empty values are omitted from API requests. However, any field with
2341	// an empty value appearing in NullFields will be sent to the server as
2342	// null. It is an error if a field in this list has a non-empty value.
2343	// This may be used to include null fields in Patch requests.
2344	NullFields []string `json:"-"`
2345}
2346
2347func (s *EvaluateUserConsentsResponse) MarshalJSON() ([]byte, error) {
2348	type NoMethod EvaluateUserConsentsResponse
2349	raw := NoMethod(*s)
2350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2351}
2352
2353// ExportAnnotationsRequest: Request to export Annotations. The export
2354// operation is not atomic. If a failure occurs, any annotations already
2355// exported are not removed.
2356type ExportAnnotationsRequest struct {
2357	// BigqueryDestination: The BigQuery output destination, which requires
2358	// two IAM roles: `roles/bigquery.dataEditor` and
2359	// `roles/bigquery.jobUser`.
2360	BigqueryDestination *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination `json:"bigqueryDestination,omitempty"`
2361
2362	// GcsDestination: The Cloud Storage destination, which requires the
2363	// `roles/storage.objectAdmin` Cloud IAM role.
2364	GcsDestination *GoogleCloudHealthcareV1beta1AnnotationGcsDestination `json:"gcsDestination,omitempty"`
2365
2366	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2367	// to unconditionally include in API requests. By default, fields with
2368	// empty values are omitted from API requests. However, any non-pointer,
2369	// non-interface field appearing in ForceSendFields will be sent to the
2370	// server regardless of whether the field is empty or not. This may be
2371	// used to include empty fields in Patch requests.
2372	ForceSendFields []string `json:"-"`
2373
2374	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2375	// include in API requests with the JSON null value. By default, fields
2376	// with empty values are omitted from API requests. However, any field
2377	// with an empty value appearing in NullFields will be sent to the
2378	// server as null. It is an error if a field in this list has a
2379	// non-empty value. This may be used to include null fields in Patch
2380	// requests.
2381	NullFields []string `json:"-"`
2382}
2383
2384func (s *ExportAnnotationsRequest) MarshalJSON() ([]byte, error) {
2385	type NoMethod ExportAnnotationsRequest
2386	raw := NoMethod(*s)
2387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2388}
2389
2390// ExportAnnotationsResponse: Response for successful annotation export
2391// operations. This structure is included in response upon operation
2392// completion.
2393type ExportAnnotationsResponse struct {
2394}
2395
2396// ExportDicomDataRequest: Exports data from the specified DICOM store.
2397// If a given resource, such as a DICOM object with the same SOPInstance
2398// UID, already exists in the output, it is overwritten with the version
2399// in the source dataset. Exported DICOM data persists when the DICOM
2400// store from which it was exported is deleted.
2401type ExportDicomDataRequest struct {
2402	// BigqueryDestination: The BigQuery output destination. You can only
2403	// export to a BigQuery dataset that's in the same project as the DICOM
2404	// store you're exporting from. The Cloud Healthcare Service Agent
2405	// requires two IAM roles on the BigQuery location:
2406	// `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
2407	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
2408
2409	// FilterConfig: Specifies the filter configuration.
2410	FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"`
2411
2412	// GcsDestination: The Cloud Storage output destination. The Cloud
2413	// Healthcare Service Agent requires the `roles/storage.objectAdmin`
2414	// Cloud IAM roles on the Cloud Storage location.
2415	GcsDestination *GoogleCloudHealthcareV1beta1DicomGcsDestination `json:"gcsDestination,omitempty"`
2416
2417	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2418	// to unconditionally include in API requests. By default, fields with
2419	// empty values are omitted from API requests. However, any non-pointer,
2420	// non-interface field appearing in ForceSendFields will be sent to the
2421	// server regardless of whether the field is empty or not. This may be
2422	// used to include empty fields in Patch requests.
2423	ForceSendFields []string `json:"-"`
2424
2425	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2426	// include in API requests with the JSON null value. By default, fields
2427	// with empty values are omitted from API requests. However, any field
2428	// with an empty value appearing in NullFields will be sent to the
2429	// server as null. It is an error if a field in this list has a
2430	// non-empty value. This may be used to include null fields in Patch
2431	// requests.
2432	NullFields []string `json:"-"`
2433}
2434
2435func (s *ExportDicomDataRequest) MarshalJSON() ([]byte, error) {
2436	type NoMethod ExportDicomDataRequest
2437	raw := NoMethod(*s)
2438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2439}
2440
2441// ExportDicomDataResponse: Returns additional information in regards to
2442// a completed DICOM store export.
2443type ExportDicomDataResponse struct {
2444}
2445
2446// ExportMessagesRequest: Request to schedule an export.
2447type ExportMessagesRequest struct {
2448	// EndTime: The end of the range in `send_time` (MSH.7,
2449	// https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm)
2450	// to process. If not specified, the time when the export is scheduled
2451	// is used. This value has to come after the `start_time` defined below.
2452	// Only messages whose `send_time` lies in the range `start_time`
2453	// (inclusive) to `end_time` (exclusive) are exported.
2454	EndTime string `json:"endTime,omitempty"`
2455
2456	// GcsDestination: Export to a Cloud Storage destination.
2457	GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
2458
2459	// StartTime: The start of the range in `send_time` (MSH.7,
2460	// https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm)
2461	// to process. If not specified, the UNIX epoch (1970-01-01T00:00:00Z)
2462	// is used. This value has to come before the `end_time` defined below.
2463	// Only messages whose `send_time` lies in the range `start_time`
2464	// (inclusive) to `end_time` (exclusive) are exported.
2465	StartTime string `json:"startTime,omitempty"`
2466
2467	// ForceSendFields is a list of field names (e.g. "EndTime") to
2468	// unconditionally include in API requests. By default, fields with
2469	// empty values are omitted from API requests. However, any non-pointer,
2470	// non-interface field appearing in ForceSendFields will be sent to the
2471	// server regardless of whether the field is empty or not. This may be
2472	// used to include empty fields in Patch requests.
2473	ForceSendFields []string `json:"-"`
2474
2475	// NullFields is a list of field names (e.g. "EndTime") to include in
2476	// API requests with the JSON null value. By default, fields with empty
2477	// values are omitted from API requests. However, any field with an
2478	// empty value appearing in NullFields will be sent to the server as
2479	// null. It is an error if a field in this list has a non-empty value.
2480	// This may be used to include null fields in Patch requests.
2481	NullFields []string `json:"-"`
2482}
2483
2484func (s *ExportMessagesRequest) MarshalJSON() ([]byte, error) {
2485	type NoMethod ExportMessagesRequest
2486	raw := NoMethod(*s)
2487	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2488}
2489
2490// ExportResourcesRequest: Request to export resources.
2491type ExportResourcesRequest struct {
2492	// Since: If provided, only resources updated after this time are
2493	// exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For
2494	// example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`.
2495	// The time must be specified to the second and include a time zone.
2496	Since string `json:"_since,omitempty"`
2497
2498	// Type: String of comma-delimited FHIR resource types. If provided,
2499	// only resources of the specified resource type(s) are exported.
2500	Type string `json:"_type,omitempty"`
2501
2502	// BigqueryDestination: The BigQuery output destination. The Cloud
2503	// Healthcare Service Agent requires two IAM roles on the BigQuery
2504	// location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
2505	// The output is one BigQuery table per resource type.
2506	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
2507
2508	// GcsDestination: The Cloud Storage output destination. The Cloud
2509	// Healthcare Service Agent requires the `roles/storage.objectAdmin`
2510	// Cloud IAM roles on the Cloud Storage location. The exported outputs
2511	// are organized by FHIR resource types. The server creates one object
2512	// per resource type. Each object contains newline delimited JSON, and
2513	// each line is a FHIR resource.
2514	GcsDestination *GoogleCloudHealthcareV1beta1FhirGcsDestination `json:"gcsDestination,omitempty"`
2515
2516	// ForceSendFields is a list of field names (e.g. "Since") to
2517	// unconditionally include in API requests. By default, fields with
2518	// empty values are omitted from API requests. However, any non-pointer,
2519	// non-interface field appearing in ForceSendFields will be sent to the
2520	// server regardless of whether the field is empty or not. This may be
2521	// used to include empty fields in Patch requests.
2522	ForceSendFields []string `json:"-"`
2523
2524	// NullFields is a list of field names (e.g. "Since") to include in API
2525	// requests with the JSON null value. By default, fields with empty
2526	// values are omitted from API requests. However, any field with an
2527	// empty value appearing in NullFields will be sent to the server as
2528	// null. It is an error if a field in this list has a non-empty value.
2529	// This may be used to include null fields in Patch requests.
2530	NullFields []string `json:"-"`
2531}
2532
2533func (s *ExportResourcesRequest) MarshalJSON() ([]byte, error) {
2534	type NoMethod ExportResourcesRequest
2535	raw := NoMethod(*s)
2536	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2537}
2538
2539// Expr: Represents a textual expression in the Common Expression
2540// Language (CEL) syntax. CEL is a C-like expression language. The
2541// syntax and semantics of CEL are documented at
2542// https://github.com/google/cel-spec. Example (Comparison): title:
2543// "Summary size limit" description: "Determines if a summary is less
2544// than 100 chars" expression: "document.summary.size() < 100" Example
2545// (Equality): title: "Requestor is owner" description: "Determines if
2546// requestor is the document owner" expression: "document.owner ==
2547// request.auth.claims.email" Example (Logic): title: "Public documents"
2548// description: "Determine whether the document should be publicly
2549// visible" expression: "document.type != 'private' && document.type !=
2550// 'internal'" Example (Data Manipulation): title: "Notification string"
2551// description: "Create a notification string with a timestamp."
2552// expression: "'New message received at ' +
2553// string(document.create_time)" The exact variables and functions that
2554// may be referenced within an expression are determined by the service
2555// that evaluates it. See the service documentation for additional
2556// information.
2557type Expr struct {
2558	// Description: Optional. Description of the expression. This is a
2559	// longer text which describes the expression, e.g. when hovered over it
2560	// in a UI.
2561	Description string `json:"description,omitempty"`
2562
2563	// Expression: Textual representation of an expression in Common
2564	// Expression Language syntax.
2565	Expression string `json:"expression,omitempty"`
2566
2567	// Location: Optional. String indicating the location of the expression
2568	// for error reporting, e.g. a file name and a position in the file.
2569	Location string `json:"location,omitempty"`
2570
2571	// Title: Optional. Title for the expression, i.e. a short string
2572	// describing its purpose. This can be used e.g. in UIs which allow to
2573	// enter the expression.
2574	Title string `json:"title,omitempty"`
2575
2576	// ForceSendFields is a list of field names (e.g. "Description") to
2577	// unconditionally include in API requests. By default, fields with
2578	// empty values are omitted from API requests. However, any non-pointer,
2579	// non-interface field appearing in ForceSendFields will be sent to the
2580	// server regardless of whether the field is empty or not. This may be
2581	// used to include empty fields in Patch requests.
2582	ForceSendFields []string `json:"-"`
2583
2584	// NullFields is a list of field names (e.g. "Description") to include
2585	// in API requests with the JSON null value. By default, fields with
2586	// empty values are omitted from API requests. However, any field with
2587	// an empty value appearing in NullFields will be sent to the server as
2588	// null. It is an error if a field in this list has a non-empty value.
2589	// This may be used to include null fields in Patch requests.
2590	NullFields []string `json:"-"`
2591}
2592
2593func (s *Expr) MarshalJSON() ([]byte, error) {
2594	type NoMethod Expr
2595	raw := NoMethod(*s)
2596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2597}
2598
2599// Feature: A feature of an entity mention.
2600type Feature struct {
2601	// Confidence: The model's confidence in this feature annotation. A
2602	// number between 0 and 1.
2603	Confidence float64 `json:"confidence,omitempty"`
2604
2605	// Value: The value of this feature annotation. Its range depends on the
2606	// type of the feature.
2607	Value string `json:"value,omitempty"`
2608
2609	// ForceSendFields is a list of field names (e.g. "Confidence") to
2610	// unconditionally include in API requests. By default, fields with
2611	// empty values are omitted from API requests. However, any non-pointer,
2612	// non-interface field appearing in ForceSendFields will be sent to the
2613	// server regardless of whether the field is empty or not. This may be
2614	// used to include empty fields in Patch requests.
2615	ForceSendFields []string `json:"-"`
2616
2617	// NullFields is a list of field names (e.g. "Confidence") to include in
2618	// API requests with the JSON null value. By default, fields with empty
2619	// values are omitted from API requests. However, any field with an
2620	// empty value appearing in NullFields will be sent to the server as
2621	// null. It is an error if a field in this list has a non-empty value.
2622	// This may be used to include null fields in Patch requests.
2623	NullFields []string `json:"-"`
2624}
2625
2626func (s *Feature) MarshalJSON() ([]byte, error) {
2627	type NoMethod Feature
2628	raw := NoMethod(*s)
2629	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2630}
2631
2632func (s *Feature) UnmarshalJSON(data []byte) error {
2633	type NoMethod Feature
2634	var s1 struct {
2635		Confidence gensupport.JSONFloat64 `json:"confidence"`
2636		*NoMethod
2637	}
2638	s1.NoMethod = (*NoMethod)(s)
2639	if err := json.Unmarshal(data, &s1); err != nil {
2640		return err
2641	}
2642	s.Confidence = float64(s1.Confidence)
2643	return nil
2644}
2645
2646// FhirConfig: Specifies how to handle de-identification of a FHIR
2647// store.
2648type FhirConfig struct {
2649	// FieldMetadataList: Specifies FHIR paths to match and how to transform
2650	// them. Any field that is not matched by a FieldMetadata is passed
2651	// through to the output dataset unmodified. All extensions are removed
2652	// in the output. If a field can be matched by more than one
2653	// FieldMetadata, the first FieldMetadata.Action is applied.
2654	FieldMetadataList []*FieldMetadata `json:"fieldMetadataList,omitempty"`
2655
2656	// ForceSendFields is a list of field names (e.g. "FieldMetadataList")
2657	// to unconditionally include in API requests. By default, fields with
2658	// empty values are omitted from API requests. However, any non-pointer,
2659	// non-interface field appearing in ForceSendFields will be sent to the
2660	// server regardless of whether the field is empty or not. This may be
2661	// used to include empty fields in Patch requests.
2662	ForceSendFields []string `json:"-"`
2663
2664	// NullFields is a list of field names (e.g. "FieldMetadataList") to
2665	// include in API requests with the JSON null value. By default, fields
2666	// with empty values are omitted from API requests. However, any field
2667	// with an empty value appearing in NullFields will be sent to the
2668	// server as null. It is an error if a field in this list has a
2669	// non-empty value. This may be used to include null fields in Patch
2670	// requests.
2671	NullFields []string `json:"-"`
2672}
2673
2674func (s *FhirConfig) MarshalJSON() ([]byte, error) {
2675	type NoMethod FhirConfig
2676	raw := NoMethod(*s)
2677	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2678}
2679
2680// FhirFilter: Filter configuration.
2681type FhirFilter struct {
2682	// Resources: List of resources to include in the output. If this list
2683	// is empty or not specified, all resources are included in the output.
2684	Resources *Resources `json:"resources,omitempty"`
2685
2686	// ForceSendFields is a list of field names (e.g. "Resources") to
2687	// unconditionally include in API requests. By default, fields with
2688	// empty values are omitted from API requests. However, any non-pointer,
2689	// non-interface field appearing in ForceSendFields will be sent to the
2690	// server regardless of whether the field is empty or not. This may be
2691	// used to include empty fields in Patch requests.
2692	ForceSendFields []string `json:"-"`
2693
2694	// NullFields is a list of field names (e.g. "Resources") to include in
2695	// API requests with the JSON null value. By default, fields with empty
2696	// values are omitted from API requests. However, any field with an
2697	// empty value appearing in NullFields will be sent to the server as
2698	// null. It is an error if a field in this list has a non-empty value.
2699	// This may be used to include null fields in Patch requests.
2700	NullFields []string `json:"-"`
2701}
2702
2703func (s *FhirFilter) MarshalJSON() ([]byte, error) {
2704	type NoMethod FhirFilter
2705	raw := NoMethod(*s)
2706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2707}
2708
2709// FhirStore: Represents a FHIR store.
2710type FhirStore struct {
2711	// DefaultSearchHandlingStrict: If true, overrides the default search
2712	// behavior for this FHIR store to `handling=strict` which returns an
2713	// error for unrecognized search parameters. If false, uses the FHIR
2714	// specification default `handling=lenient` which ignores unrecognized
2715	// search parameters. The handling can always be changed from the
2716	// default on an individual API call by setting the HTTP header `Prefer:
2717	// handling=strict` or `Prefer: handling=lenient`.
2718	DefaultSearchHandlingStrict bool `json:"defaultSearchHandlingStrict,omitempty"`
2719
2720	// DisableReferentialIntegrity: Immutable. Whether to disable
2721	// referential integrity in this FHIR store. This field is immutable
2722	// after FHIR store creation. The default value is false, meaning that
2723	// the API enforces referential integrity and fails the requests that
2724	// result in inconsistent state in the FHIR store. When this field is
2725	// set to true, the API skips referential integrity checks.
2726	// Consequently, operations that rely on references, such as
2727	// GetPatientEverything, do not return all the results if broken
2728	// references exist.
2729	DisableReferentialIntegrity bool `json:"disableReferentialIntegrity,omitempty"`
2730
2731	// DisableResourceVersioning: Immutable. Whether to disable resource
2732	// versioning for this FHIR store. This field can not be changed after
2733	// the creation of FHIR store. If set to false, which is the default
2734	// behavior, all write operations cause historical versions to be
2735	// recorded automatically. The historical versions can be fetched
2736	// through the history APIs, but cannot be updated. If set to true, no
2737	// historical versions are kept. The server sends errors for attempts to
2738	// read the historical versions.
2739	DisableResourceVersioning bool `json:"disableResourceVersioning,omitempty"`
2740
2741	// EnableUpdateCreate: Whether this FHIR store has the updateCreate
2742	// capability
2743	// (https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
2744	// This determines if the client can use an Update operation to create a
2745	// new resource with a client-specified ID. If false, all IDs are
2746	// server-assigned through the Create operation and attempts to update a
2747	// non-existent resource return errors. It is strongly advised not to
2748	// include or encode any sensitive data such as patient identifiers in
2749	// client-specified resource IDs. Those IDs are part of the FHIR
2750	// resource path recorded in Cloud audit logs and Cloud Pub/Sub
2751	// notifications. Those IDs can also be contained in reference fields
2752	// within other resources.
2753	EnableUpdateCreate bool `json:"enableUpdateCreate,omitempty"`
2754
2755	// Labels: User-supplied key-value pairs used to organize FHIR stores.
2756	// Label keys must be between 1 and 63 characters long, have a UTF-8
2757	// encoding of maximum 128 bytes, and must conform to the following PCRE
2758	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
2759	// must be between 1 and 63 characters long, have a UTF-8 encoding of
2760	// maximum 128 bytes, and must conform to the following PCRE regular
2761	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
2762	// associated with a given store.
2763	Labels map[string]string `json:"labels,omitempty"`
2764
2765	// Name: Output only. Resource name of the FHIR store, of the form
2766	// `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id
2767	// }`.
2768	Name string `json:"name,omitempty"`
2769
2770	// NotificationConfig: If non-empty, publish all resource modifications
2771	// of this FHIR store to this destination. The Cloud Pub/Sub message
2772	// attributes contain a map with a string describing the action that has
2773	// triggered the notification. For example, "action":"CreateResource".
2774	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
2775
2776	// StreamConfigs: A list of streaming configs that configure the
2777	// destinations of streaming export for every resource mutation in this
2778	// FHIR store. Each store is allowed to have up to 10 streaming configs.
2779	// After a new config is added, the next resource mutation is streamed
2780	// to the new location in addition to the existing ones. When a location
2781	// is removed from the list, the server stops streaming to that
2782	// location. Before adding a new config, you must add the required
2783	// `bigquery.dataEditor`
2784	// (https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
2785	// role to your project's **Cloud Healthcare Service Agent** service
2786	// account (https://cloud.google.com/iam/docs/service-accounts). Some
2787	// lag (typically on the order of dozens of seconds) is expected before
2788	// the results show up in the streaming destination.
2789	StreamConfigs []*StreamConfig `json:"streamConfigs,omitempty"`
2790
2791	// ValidationConfig: Configuration for how to validate incoming FHIR
2792	// resources against configured profiles.
2793	ValidationConfig *ValidationConfig `json:"validationConfig,omitempty"`
2794
2795	// Version: Immutable. The FHIR specification version that this FHIR
2796	// store supports natively. This field is immutable after store
2797	// creation. Requests are rejected if they contain FHIR resources of a
2798	// different version. Version is required for every FHIR store.
2799	//
2800	// Possible values:
2801	//   "VERSION_UNSPECIFIED" - VERSION_UNSPECIFIED is treated as STU3 to
2802	// accommodate the existing FHIR stores.
2803	//   "DSTU2" - Draft Standard for Trial Use, [Release
2804	// 2](https://www.hl7.org/fhir/DSTU2)
2805	//   "STU3" - Standard for Trial Use, [Release
2806	// 3](https://www.hl7.org/fhir/STU3)
2807	//   "R4" - [Release 4](https://www.hl7.org/fhir/R4)
2808	Version string `json:"version,omitempty"`
2809
2810	// ServerResponse contains the HTTP response code and headers from the
2811	// server.
2812	googleapi.ServerResponse `json:"-"`
2813
2814	// ForceSendFields is a list of field names (e.g.
2815	// "DefaultSearchHandlingStrict") to unconditionally include in API
2816	// requests. By default, fields with empty values are omitted from API
2817	// requests. However, any non-pointer, non-interface field appearing in
2818	// ForceSendFields will be sent to the server regardless of whether the
2819	// field is empty or not. This may be used to include empty fields in
2820	// Patch requests.
2821	ForceSendFields []string `json:"-"`
2822
2823	// NullFields is a list of field names (e.g.
2824	// "DefaultSearchHandlingStrict") to include in API requests with the
2825	// JSON null value. By default, fields with empty values are omitted
2826	// from API requests. However, any field with an empty value appearing
2827	// in NullFields will be sent to the server as null. It is an error if a
2828	// field in this list has a non-empty value. This may be used to include
2829	// null fields in Patch requests.
2830	NullFields []string `json:"-"`
2831}
2832
2833func (s *FhirStore) MarshalJSON() ([]byte, error) {
2834	type NoMethod FhirStore
2835	raw := NoMethod(*s)
2836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2837}
2838
2839// Field: A (sub) field of a type.
2840type Field struct {
2841	// MaxOccurs: The maximum number of times this field can be repeated. 0
2842	// or -1 means unbounded.
2843	MaxOccurs int64 `json:"maxOccurs,omitempty"`
2844
2845	// MinOccurs: The minimum number of times this field must be
2846	// present/repeated.
2847	MinOccurs int64 `json:"minOccurs,omitempty"`
2848
2849	// Name: The name of the field. For example, "PID-1" or just "1".
2850	Name string `json:"name,omitempty"`
2851
2852	// Table: The HL7v2 table this field refers to. For example, PID-15
2853	// (Patient's Primary Language) usually refers to table "0296".
2854	Table string `json:"table,omitempty"`
2855
2856	// Type: The type of this field. A Type with this name must be defined
2857	// in an Hl7TypesConfig.
2858	Type string `json:"type,omitempty"`
2859
2860	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
2861	// unconditionally include in API requests. By default, fields with
2862	// empty values are omitted from API requests. However, any non-pointer,
2863	// non-interface field appearing in ForceSendFields will be sent to the
2864	// server regardless of whether the field is empty or not. This may be
2865	// used to include empty fields in Patch requests.
2866	ForceSendFields []string `json:"-"`
2867
2868	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
2869	// API requests with the JSON null value. By default, fields with empty
2870	// values are omitted from API requests. However, any field with an
2871	// empty value appearing in NullFields will be sent to the server as
2872	// null. It is an error if a field in this list has a non-empty value.
2873	// This may be used to include null fields in Patch requests.
2874	NullFields []string `json:"-"`
2875}
2876
2877func (s *Field) MarshalJSON() ([]byte, error) {
2878	type NoMethod Field
2879	raw := NoMethod(*s)
2880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2881}
2882
2883// FieldMetadata: Specifies FHIR paths to match, and how to handle
2884// de-identification of matching fields.
2885type FieldMetadata struct {
2886	// Action: Deidentify action for one field.
2887	//
2888	// Possible values:
2889	//   "ACTION_UNSPECIFIED" - No action specified.
2890	//   "TRANSFORM" - Transform the entire field based on transformations
2891	// specified in TextConfig. When the specified transformation cannot be
2892	// applied to a field, RedactConfig is used. For example, a Crypto Hash
2893	// transformation can't be applied to a FHIR Date field.
2894	//   "INSPECT_AND_TRANSFORM" - Inspect and transform any found PHI. When
2895	// `AnnotationConfig` is provided, annotations of PHI will be generated,
2896	// except for Date and Datetime.
2897	//   "DO_NOT_TRANSFORM" - Do not transform.
2898	Action string `json:"action,omitempty"`
2899
2900	// Paths: List of paths to FHIR fields to redact. Each path is a
2901	// period-separated list where each component is either a field name or
2902	// FHIR type name. All types begin with an upper case letter. For
2903	// example, the resource field "Patient.Address.city", which uses a
2904	// string type, can be matched by "Patient.Address.String". Path also
2905	// supports partial matching. For example, "Patient.Address.city" can be
2906	// matched by "Address.city" (Patient omitted). Partial matching and
2907	// type matching can be combined. For example, "Patient.Address.city"
2908	// can be matched by "Address.String". For "choice" types (those defined
2909	// in the FHIR spec with the form: field[x]), use two separate
2910	// components. For example, "deceasedAge.unit" is matched by
2911	// "Deceased.Age.unit". Supported types are: AdministrativeGenderCode,
2912	// Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown,
2913	// Oid, String, Uri, Uuid, Xhtml. The sub-type for HumanName, such as
2914	// HumanName.given or HumanName.family, can be omitted.
2915	Paths []string `json:"paths,omitempty"`
2916
2917	// ForceSendFields is a list of field names (e.g. "Action") to
2918	// unconditionally include in API requests. By default, fields with
2919	// empty values are omitted from API requests. However, any non-pointer,
2920	// non-interface field appearing in ForceSendFields will be sent to the
2921	// server regardless of whether the field is empty or not. This may be
2922	// used to include empty fields in Patch requests.
2923	ForceSendFields []string `json:"-"`
2924
2925	// NullFields is a list of field names (e.g. "Action") to include in API
2926	// requests with the JSON null value. By default, fields with empty
2927	// values are omitted from API requests. However, any field with an
2928	// empty value appearing in NullFields will be sent to the server as
2929	// null. It is an error if a field in this list has a non-empty value.
2930	// This may be used to include null fields in Patch requests.
2931	NullFields []string `json:"-"`
2932}
2933
2934func (s *FieldMetadata) MarshalJSON() ([]byte, error) {
2935	type NoMethod FieldMetadata
2936	raw := NoMethod(*s)
2937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2938}
2939
2940// FilterList: List of infoTypes to be filtered.
2941type FilterList struct {
2942	// InfoTypes: These infoTypes are based on after the
2943	// `eval_info_type_mapping` and `golden_info_type_mapping`.
2944	InfoTypes []string `json:"infoTypes,omitempty"`
2945
2946	// ForceSendFields is a list of field names (e.g. "InfoTypes") to
2947	// unconditionally include in API requests. By default, fields with
2948	// empty values are omitted from API requests. However, any non-pointer,
2949	// non-interface field appearing in ForceSendFields will be sent to the
2950	// server regardless of whether the field is empty or not. This may be
2951	// used to include empty fields in Patch requests.
2952	ForceSendFields []string `json:"-"`
2953
2954	// NullFields is a list of field names (e.g. "InfoTypes") to include in
2955	// API requests with the JSON null value. By default, fields with empty
2956	// values are omitted from API requests. However, any field with an
2957	// empty value appearing in NullFields will be sent to the server as
2958	// null. It is an error if a field in this list has a non-empty value.
2959	// This may be used to include null fields in Patch requests.
2960	NullFields []string `json:"-"`
2961}
2962
2963func (s *FilterList) MarshalJSON() ([]byte, error) {
2964	type NoMethod FilterList
2965	raw := NoMethod(*s)
2966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2967}
2968
2969type Finding struct {
2970	// End: Zero-based ending index of the found text, exclusively.
2971	End int64 `json:"end,omitempty,string"`
2972
2973	// InfoType: The type of information stored in this text range. For
2974	// example, HumanName, BirthDate, or Address.
2975	InfoType string `json:"infoType,omitempty"`
2976
2977	// Quote: The snippet of the sensitive text. This field is only
2978	// populated during deidentification if `store_quote` is set to true in
2979	// DeidentifyConfig.
2980	Quote string `json:"quote,omitempty"`
2981
2982	// Start: Zero-based starting index of the found text, inclusively.
2983	Start int64 `json:"start,omitempty,string"`
2984
2985	// ForceSendFields is a list of field names (e.g. "End") to
2986	// unconditionally include in API requests. By default, fields with
2987	// empty values are omitted from API requests. However, any non-pointer,
2988	// non-interface field appearing in ForceSendFields will be sent to the
2989	// server regardless of whether the field is empty or not. This may be
2990	// used to include empty fields in Patch requests.
2991	ForceSendFields []string `json:"-"`
2992
2993	// NullFields is a list of field names (e.g. "End") to include in API
2994	// requests with the JSON null value. By default, fields with empty
2995	// values are omitted from API requests. However, any field with an
2996	// empty value appearing in NullFields will be sent to the server as
2997	// null. It is an error if a field in this list has a non-empty value.
2998	// This may be used to include null fields in Patch requests.
2999	NullFields []string `json:"-"`
3000}
3001
3002func (s *Finding) MarshalJSON() ([]byte, error) {
3003	type NoMethod Finding
3004	raw := NoMethod(*s)
3005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3006}
3007
3008// GcsDestination: The Cloud Storage output destination. The Cloud
3009// Healthcare Service Agent requires the `roles/storage.objectAdmin`
3010// Cloud IAM roles on the Cloud Storage location.
3011type GcsDestination struct {
3012	// ContentStructure: The format of the exported HL7v2 message files.
3013	//
3014	// Possible values:
3015	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
3016	// specified, the default value `MESSAGE_JSON` will be used.
3017	//   "MESSAGE_JSON" - Messages are printed using the JSON format
3018	// returned from the `GetMessage` API. Messages are delimited with
3019	// newlines.
3020	ContentStructure string `json:"contentStructure,omitempty"`
3021
3022	// MessageView: Specifies the parts of the Message resource to include
3023	// in the export. If not specified, FULL is used.
3024	//
3025	// Possible values:
3026	//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
3027	// getMessage, equivalent to BASIC for listMessages.
3028	//   "RAW_ONLY" - Server responses include all the message fields except
3029	// parsed_data, and schematized_data fields.
3030	//   "PARSED_ONLY" - Server responses include all the message fields
3031	// except data and schematized_data fields.
3032	//   "FULL" - Server responses include all the message fields.
3033	//   "SCHEMATIZED_ONLY" - Server responses include all the message
3034	// fields except data and parsed_data fields.
3035	//   "BASIC" - Server responses include only the name field.
3036	MessageView string `json:"messageView,omitempty"`
3037
3038	// UriPrefix: URI of an existing Cloud Storage directory where the
3039	// server writes result files, in the format
3040	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3041	// slash, the service appends one when composing the object path.
3042	UriPrefix string `json:"uriPrefix,omitempty"`
3043
3044	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "ContentStructure") to
3053	// include in API requests with the JSON null value. By default, fields
3054	// with empty values are omitted from API requests. However, any field
3055	// with an empty value appearing in NullFields will be sent to the
3056	// server as null. It is an error if a field in this list has a
3057	// non-empty value. This may be used to include null fields in Patch
3058	// requests.
3059	NullFields []string `json:"-"`
3060}
3061
3062func (s *GcsDestination) MarshalJSON() ([]byte, error) {
3063	type NoMethod GcsDestination
3064	raw := NoMethod(*s)
3065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3066}
3067
3068// GcsSource: Specifies the configuration for importing data from Cloud
3069// Storage.
3070type GcsSource struct {
3071	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3072	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3073	// The URI can include wildcards in `object_id` and thus identify
3074	// multiple files. Supported wildcards: * `*` to match 0 or more
3075	// non-separator characters * `**` to match 0 or more characters
3076	// (including separators). Must be used at the end of a path and with no
3077	// other wildcards in the path. Can also be used with a file extension
3078	// (such as .ndjson), which imports all files with the extension in the
3079	// specified directory and its sub-directories. For example,
3080	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3081	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3082	// `?` to match 1 character Files matching the wildcard are expected to
3083	// contain content only, no metadata.
3084	Uri string `json:"uri,omitempty"`
3085
3086	// ForceSendFields is a list of field names (e.g. "Uri") to
3087	// unconditionally include in API requests. By default, fields with
3088	// empty values are omitted from API requests. However, any non-pointer,
3089	// non-interface field appearing in ForceSendFields will be sent to the
3090	// server regardless of whether the field is empty or not. This may be
3091	// used to include empty fields in Patch requests.
3092	ForceSendFields []string `json:"-"`
3093
3094	// NullFields is a list of field names (e.g. "Uri") to include in API
3095	// requests with the JSON null value. By default, fields with empty
3096	// values are omitted from API requests. However, any field with an
3097	// empty value appearing in NullFields will be sent to the server as
3098	// null. It is an error if a field in this list has a non-empty value.
3099	// This may be used to include null fields in Patch requests.
3100	NullFields []string `json:"-"`
3101}
3102
3103func (s *GcsSource) MarshalJSON() ([]byte, error) {
3104	type NoMethod GcsSource
3105	raw := NoMethod(*s)
3106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3107}
3108
3109// GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination: The
3110// BigQuery table for export.
3111type GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination struct {
3112	// Force: Use `write_disposition` instead. If `write_disposition` is
3113	// specified, this parameter is ignored. force=false is equivalent to
3114	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3115	// write_disposition=WRITE_TRUNCATE.
3116	Force bool `json:"force,omitempty"`
3117
3118	// SchemaType: Specifies the schema format to export.
3119	//
3120	// Possible values:
3121	//   "SCHEMA_TYPE_UNSPECIFIED" - Same as SIMPLE.
3122	//   "SIMPLE" - A flatterned version of Annotation.
3123	SchemaType string `json:"schemaType,omitempty"`
3124
3125	// TableUri: BigQuery URI to a table, up to 2000 characters long, must
3126	// be of the form bq://projectId.bqDatasetId.tableId.
3127	TableUri string `json:"tableUri,omitempty"`
3128
3129	// WriteDisposition: Determines whether existing tables in the
3130	// destination dataset are overwritten or appended to. If a
3131	// write_disposition is specified, the `force` parameter is ignored.
3132	//
3133	// Possible values:
3134	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3135	// WRITE_EMPTY.
3136	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3137	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3138	// writing the instances.
3139	//   "WRITE_APPEND" - Append data to the existing table.
3140	WriteDisposition string `json:"writeDisposition,omitempty"`
3141
3142	// ForceSendFields is a list of field names (e.g. "Force") to
3143	// unconditionally include in API requests. By default, fields with
3144	// empty values are omitted from API requests. However, any non-pointer,
3145	// non-interface field appearing in ForceSendFields will be sent to the
3146	// server regardless of whether the field is empty or not. This may be
3147	// used to include empty fields in Patch requests.
3148	ForceSendFields []string `json:"-"`
3149
3150	// NullFields is a list of field names (e.g. "Force") to include in API
3151	// requests with the JSON null value. By default, fields with empty
3152	// values are omitted from API requests. However, any field with an
3153	// empty value appearing in NullFields will be sent to the server as
3154	// null. It is an error if a field in this list has a non-empty value.
3155	// This may be used to include null fields in Patch requests.
3156	NullFields []string `json:"-"`
3157}
3158
3159func (s *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination) MarshalJSON() ([]byte, error) {
3160	type NoMethod GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination
3161	raw := NoMethod(*s)
3162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3163}
3164
3165// GoogleCloudHealthcareV1beta1AnnotationGcsDestination: The Cloud
3166// Storage location for export.
3167type GoogleCloudHealthcareV1beta1AnnotationGcsDestination struct {
3168	// UriPrefix: The Cloud Storage destination to export to. URI for a
3169	// Cloud Storage directory where the server writes result files, in the
3170	// format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no
3171	// trailing slash, the service appends one when composing the object
3172	// path. The user is responsible for creating the Cloud Storage bucket
3173	// referenced in `uri_prefix`.
3174	UriPrefix string `json:"uriPrefix,omitempty"`
3175
3176	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3177	// unconditionally include in API requests. By default, fields with
3178	// empty values are omitted from API requests. However, any non-pointer,
3179	// non-interface field appearing in ForceSendFields will be sent to the
3180	// server regardless of whether the field is empty or not. This may be
3181	// used to include empty fields in Patch requests.
3182	ForceSendFields []string `json:"-"`
3183
3184	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3185	// API requests with the JSON null value. By default, fields with empty
3186	// values are omitted from API requests. However, any field with an
3187	// empty value appearing in NullFields will be sent to the server as
3188	// null. It is an error if a field in this list has a non-empty value.
3189	// This may be used to include null fields in Patch requests.
3190	NullFields []string `json:"-"`
3191}
3192
3193func (s *GoogleCloudHealthcareV1beta1AnnotationGcsDestination) MarshalJSON() ([]byte, error) {
3194	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsDestination
3195	raw := NoMethod(*s)
3196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3197}
3198
3199// GoogleCloudHealthcareV1beta1AnnotationGcsSource: Specifies the
3200// configuration for importing data from Cloud Storage.
3201type GoogleCloudHealthcareV1beta1AnnotationGcsSource struct {
3202	// Uri: Points to a Cloud Storage URI containing file(s) with content
3203	// only. The URI must be in the following format:
3204	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3205	// `object_id` and thus identify multiple files. Supported wildcards:
3206	// '*' to match 0 or more non-separator characters '**' to match 0 or
3207	// more characters (including separators). Must be used at the end of a
3208	// path and with no other wildcards in the path. Can also be used with a
3209	// file extension (such as .dcm), which imports all files with the
3210	// extension in the specified directory and its sub-directories. For
3211	// example, `gs://my-bucket/my-directory/**.json` imports all files with
3212	// .json extensions in `my-directory/` and its sub-directories. '?' to
3213	// match 1 character All other URI formats are invalid. Files matching
3214	// the wildcard are expected to contain content only, no metadata.
3215	Uri string `json:"uri,omitempty"`
3216
3217	// ForceSendFields is a list of field names (e.g. "Uri") to
3218	// unconditionally include in API requests. By default, fields with
3219	// empty values are omitted from API requests. However, any non-pointer,
3220	// non-interface field appearing in ForceSendFields will be sent to the
3221	// server regardless of whether the field is empty or not. This may be
3222	// used to include empty fields in Patch requests.
3223	ForceSendFields []string `json:"-"`
3224
3225	// NullFields is a list of field names (e.g. "Uri") to include in API
3226	// requests with the JSON null value. By default, fields with empty
3227	// values are omitted from API requests. However, any field with an
3228	// empty value appearing in NullFields will be sent to the server as
3229	// null. It is an error if a field in this list has a non-empty value.
3230	// This may be used to include null fields in Patch requests.
3231	NullFields []string `json:"-"`
3232}
3233
3234func (s *GoogleCloudHealthcareV1beta1AnnotationGcsSource) MarshalJSON() ([]byte, error) {
3235	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsSource
3236	raw := NoMethod(*s)
3237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3238}
3239
3240// GoogleCloudHealthcareV1beta1ConsentGcsDestination: The Cloud Storage
3241// location for export.
3242type GoogleCloudHealthcareV1beta1ConsentGcsDestination struct {
3243	// UriPrefix: URI for a Cloud Storage directory where the server writes
3244	// result files, in the format
3245	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3246	// slash, the service appends one when composing the object path. The
3247	// user is responsible for creating the Cloud Storage bucket and
3248	// directory referenced in `uri_prefix`.
3249	UriPrefix string `json:"uriPrefix,omitempty"`
3250
3251	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3252	// unconditionally include in API requests. By default, fields with
3253	// empty values are omitted from API requests. However, any non-pointer,
3254	// non-interface field appearing in ForceSendFields will be sent to the
3255	// server regardless of whether the field is empty or not. This may be
3256	// used to include empty fields in Patch requests.
3257	ForceSendFields []string `json:"-"`
3258
3259	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3260	// API requests with the JSON null value. By default, fields with empty
3261	// values are omitted from API requests. However, any field with an
3262	// empty value appearing in NullFields will be sent to the server as
3263	// null. It is an error if a field in this list has a non-empty value.
3264	// This may be used to include null fields in Patch requests.
3265	NullFields []string `json:"-"`
3266}
3267
3268func (s *GoogleCloudHealthcareV1beta1ConsentGcsDestination) MarshalJSON() ([]byte, error) {
3269	type NoMethod GoogleCloudHealthcareV1beta1ConsentGcsDestination
3270	raw := NoMethod(*s)
3271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3272}
3273
3274// GoogleCloudHealthcareV1beta1ConsentPolicy: Represents a user's
3275// consent in terms of the resources that can be accessed and under what
3276// conditions.
3277type GoogleCloudHealthcareV1beta1ConsentPolicy struct {
3278	// AuthorizationRule: Required. The request conditions to meet to grant
3279	// access. In addition to any supported comparison operators,
3280	// authorization rules may have `IN` operator as well as at most 10
3281	// logical operators that are limited to `AND` (`&&`), `OR` (`||`).
3282	AuthorizationRule *Expr `json:"authorizationRule,omitempty"`
3283
3284	// ResourceAttributes: The resources that this policy applies to. A
3285	// resource is a match if it matches all the attributes listed here. If
3286	// empty, this policy applies to all User data mappings for the given
3287	// user.
3288	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
3289
3290	// ForceSendFields is a list of field names (e.g. "AuthorizationRule")
3291	// to unconditionally include in API requests. By default, fields with
3292	// empty values are omitted from API requests. However, any non-pointer,
3293	// non-interface field appearing in ForceSendFields will be sent to the
3294	// server regardless of whether the field is empty or not. This may be
3295	// used to include empty fields in Patch requests.
3296	ForceSendFields []string `json:"-"`
3297
3298	// NullFields is a list of field names (e.g. "AuthorizationRule") to
3299	// include in API requests with the JSON null value. By default, fields
3300	// with empty values are omitted from API requests. However, any field
3301	// with an empty value appearing in NullFields will be sent to the
3302	// server as null. It is an error if a field in this list has a
3303	// non-empty value. This may be used to include null fields in Patch
3304	// requests.
3305	NullFields []string `json:"-"`
3306}
3307
3308func (s *GoogleCloudHealthcareV1beta1ConsentPolicy) MarshalJSON() ([]byte, error) {
3309	type NoMethod GoogleCloudHealthcareV1beta1ConsentPolicy
3310	raw := NoMethod(*s)
3311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3312}
3313
3314// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary:
3315// Contains a summary of the DeidentifyDicomStore operation.
3316type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary struct {
3317}
3318
3319// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary:
3320// Contains a summary of the DeidentifyFhirStore operation.
3321type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary struct {
3322}
3323
3324// GoogleCloudHealthcareV1beta1DicomBigQueryDestination: The BigQuery
3325// table where the server writes output.
3326type GoogleCloudHealthcareV1beta1DicomBigQueryDestination struct {
3327	// Force: Use `write_disposition` instead. If `write_disposition` is
3328	// specified, this parameter is ignored. force=false is equivalent to
3329	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3330	// write_disposition=WRITE_TRUNCATE.
3331	Force bool `json:"force,omitempty"`
3332
3333	// TableUri: BigQuery URI to a table, up to 2000 characters long, in the
3334	// format `bq://projectId.bqDatasetId.tableId`
3335	TableUri string `json:"tableUri,omitempty"`
3336
3337	// WriteDisposition: Determines whether the existing table in the
3338	// destination is to be overwritten or appended to. If a
3339	// write_disposition is specified, the `force` parameter is ignored.
3340	//
3341	// Possible values:
3342	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3343	// WRITE_EMPTY.
3344	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3345	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3346	// writing the instances.
3347	//   "WRITE_APPEND" - Append data to the existing table.
3348	WriteDisposition string `json:"writeDisposition,omitempty"`
3349
3350	// ForceSendFields is a list of field names (e.g. "Force") to
3351	// unconditionally include in API requests. By default, fields with
3352	// empty values are omitted from API requests. However, any non-pointer,
3353	// non-interface field appearing in ForceSendFields will be sent to the
3354	// server regardless of whether the field is empty or not. This may be
3355	// used to include empty fields in Patch requests.
3356	ForceSendFields []string `json:"-"`
3357
3358	// NullFields is a list of field names (e.g. "Force") to include in API
3359	// requests with the JSON null value. By default, fields with empty
3360	// values are omitted from API requests. However, any field with an
3361	// empty value appearing in NullFields will be sent to the server as
3362	// null. It is an error if a field in this list has a non-empty value.
3363	// This may be used to include null fields in Patch requests.
3364	NullFields []string `json:"-"`
3365}
3366
3367func (s *GoogleCloudHealthcareV1beta1DicomBigQueryDestination) MarshalJSON() ([]byte, error) {
3368	type NoMethod GoogleCloudHealthcareV1beta1DicomBigQueryDestination
3369	raw := NoMethod(*s)
3370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3371}
3372
3373// GoogleCloudHealthcareV1beta1DicomGcsDestination: The Cloud Storage
3374// location where the server writes the output and the export
3375// configuration.
3376type GoogleCloudHealthcareV1beta1DicomGcsDestination struct {
3377	// MimeType: MIME types supported by DICOM spec. Each file is written in
3378	// the following format:
3379	// `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}
3380	// ` The frame_number component exists only for multi-frame instances.
3381	// Supported MIME types are consistent with supported formats in
3382	// DICOMweb:
3383	// https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
3384	// Specifically, the following are supported: - application/dicom;
3385	// transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) -
3386	// application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with
3387	// embedded JPEG Baseline) - application/dicom;
3388	// transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000
3389	// Lossless Only) - application/dicom;
3390	// transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG
3391	// 2000)h - application/dicom; transfer-syntax=* (DICOM with no
3392	// transcoding) - application/octet-stream;
3393	// transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) -
3394	// application/octet-stream; transfer-syntax=* (raw PixelData in
3395	// whatever format it was uploaded in) - image/jpeg;
3396	// transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png
3397	// The following extensions are used for output files: -
3398	// application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png -
3399	// application/octet-stream -> no extension If unspecified, the
3400	// instances are exported in the original DICOM format they were
3401	// uploaded in.
3402	MimeType string `json:"mimeType,omitempty"`
3403
3404	// UriPrefix: The Cloud Storage destination to export to. URI for a
3405	// Cloud Storage directory where the server writes the result files, in
3406	// the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is
3407	// no trailing slash, the service appends one when composing the object
3408	// path. The user is responsible for creating the Cloud Storage bucket
3409	// referenced in `uri_prefix`.
3410	UriPrefix string `json:"uriPrefix,omitempty"`
3411
3412	// ForceSendFields is a list of field names (e.g. "MimeType") to
3413	// unconditionally include in API requests. By default, fields with
3414	// empty values are omitted from API requests. However, any non-pointer,
3415	// non-interface field appearing in ForceSendFields will be sent to the
3416	// server regardless of whether the field is empty or not. This may be
3417	// used to include empty fields in Patch requests.
3418	ForceSendFields []string `json:"-"`
3419
3420	// NullFields is a list of field names (e.g. "MimeType") to include in
3421	// API requests with the JSON null value. By default, fields with empty
3422	// values are omitted from API requests. However, any field with an
3423	// empty value appearing in NullFields will be sent to the server as
3424	// null. It is an error if a field in this list has a non-empty value.
3425	// This may be used to include null fields in Patch requests.
3426	NullFields []string `json:"-"`
3427}
3428
3429func (s *GoogleCloudHealthcareV1beta1DicomGcsDestination) MarshalJSON() ([]byte, error) {
3430	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsDestination
3431	raw := NoMethod(*s)
3432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3433}
3434
3435// GoogleCloudHealthcareV1beta1DicomGcsSource: Specifies the
3436// configuration for importing data from Cloud Storage.
3437type GoogleCloudHealthcareV1beta1DicomGcsSource struct {
3438	// Uri: Points to a Cloud Storage URI containing file(s) with content
3439	// only. The URI must be in the following format:
3440	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3441	// `object_id` and thus identify multiple files. Supported wildcards:
3442	// '*' to match 0 or more non-separator characters '**' to match 0 or
3443	// more characters (including separators). Must be used at the end of a
3444	// path and with no other wildcards in the path. Can also be used with a
3445	// file extension (such as .dcm), which imports all files with the
3446	// extension in the specified directory and its sub-directories. For
3447	// example, `gs://my-bucket/my-directory/**.dcm` imports all files with
3448	// .dcm extensions in `my-directory/` and its sub-directories. '?' to
3449	// match 1 character All other URI formats are invalid. Files matching
3450	// the wildcard are expected to contain content only, no metadata.
3451	Uri string `json:"uri,omitempty"`
3452
3453	// ForceSendFields is a list of field names (e.g. "Uri") to
3454	// unconditionally include in API requests. By default, fields with
3455	// empty values are omitted from API requests. However, any non-pointer,
3456	// non-interface field appearing in ForceSendFields will be sent to the
3457	// server regardless of whether the field is empty or not. This may be
3458	// used to include empty fields in Patch requests.
3459	ForceSendFields []string `json:"-"`
3460
3461	// NullFields is a list of field names (e.g. "Uri") to include in API
3462	// requests with the JSON null value. By default, fields with empty
3463	// values are omitted from API requests. However, any field with an
3464	// empty value appearing in NullFields will be sent to the server as
3465	// null. It is an error if a field in this list has a non-empty value.
3466	// This may be used to include null fields in Patch requests.
3467	NullFields []string `json:"-"`
3468}
3469
3470func (s *GoogleCloudHealthcareV1beta1DicomGcsSource) MarshalJSON() ([]byte, error) {
3471	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsSource
3472	raw := NoMethod(*s)
3473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3474}
3475
3476// GoogleCloudHealthcareV1beta1DicomStreamConfig: StreamConfig specifies
3477// configuration for a streaming DICOM export.
3478type GoogleCloudHealthcareV1beta1DicomStreamConfig struct {
3479	// BigqueryDestination: Results are appended to this table. The server
3480	// creates a new table in the given BigQuery dataset if the specified
3481	// table does not exist. To enable the Cloud Healthcare API to write to
3482	// your BigQuery table, you must give the Cloud Healthcare API service
3483	// account the bigquery.dataEditor role. The service account is:
3484	// `service-{PROJECT_NUMBER}@gcp-sa-healthcare.iam.gserviceaccount.com`.
3485	// The PROJECT_NUMBER identifies the project that the DICOM store
3486	// resides in. To get the project number, go to the Cloud Console
3487	// Dashboard. It is recommended to not have a custom schema in the
3488	// destination table which could conflict with the schema created by the
3489	// Cloud Healthcare API. Instance deletions are not applied to the
3490	// destination table. The destination's table schema will be
3491	// automatically updated in case a new instance's data is incompatible
3492	// with the current schema. The schema should not be updated manually as
3493	// this can cause incompatibilies that cannot be resolved automatically.
3494	// One resolution in this case is to delete the incompatible table and
3495	// let the server recreate one, though the newly created table only
3496	// contains data after the table recreation. BigQuery imposes a 1 MB
3497	// limit on streaming insert row size, therefore any instance that
3498	// generates more than 1 MB of BigQuery data will not be streamed. If an
3499	// instance cannot be streamed to BigQuery, errors will be logged to
3500	// Cloud Logging (see Viewing logs (/healthcare/docs/how- [Viewing
3501	// logs](/healthcare/docs/how-tos/logging)).
3502	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
3503
3504	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
3505	// to unconditionally include in API requests. By default, fields with
3506	// empty values are omitted from API requests. However, any non-pointer,
3507	// non-interface field appearing in ForceSendFields will be sent to the
3508	// server regardless of whether the field is empty or not. This may be
3509	// used to include empty fields in Patch requests.
3510	ForceSendFields []string `json:"-"`
3511
3512	// NullFields is a list of field names (e.g. "BigqueryDestination") to
3513	// include in API requests with the JSON null value. By default, fields
3514	// with empty values are omitted from API requests. However, any field
3515	// with an empty value appearing in NullFields will be sent to the
3516	// server as null. It is an error if a field in this list has a
3517	// non-empty value. This may be used to include null fields in Patch
3518	// requests.
3519	NullFields []string `json:"-"`
3520}
3521
3522func (s *GoogleCloudHealthcareV1beta1DicomStreamConfig) MarshalJSON() ([]byte, error) {
3523	type NoMethod GoogleCloudHealthcareV1beta1DicomStreamConfig
3524	raw := NoMethod(*s)
3525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3526}
3527
3528// GoogleCloudHealthcareV1beta1FhirBigQueryDestination: The
3529// configuration for exporting to BigQuery.
3530type GoogleCloudHealthcareV1beta1FhirBigQueryDestination struct {
3531	// DatasetUri: BigQuery URI to an existing dataset, up to 2000
3532	// characters long, in the format `bq://projectId.bqDatasetId`.
3533	DatasetUri string `json:"datasetUri,omitempty"`
3534
3535	// Force: Use `write_disposition` instead. If `write_disposition` is
3536	// specified, this parameter is ignored. force=false is equivalent to
3537	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3538	// write_disposition=WRITE_TRUNCATE.
3539	Force bool `json:"force,omitempty"`
3540
3541	// SchemaConfig: The configuration for the exported BigQuery schema.
3542	SchemaConfig *SchemaConfig `json:"schemaConfig,omitempty"`
3543
3544	// WriteDisposition: Determines whether existing tables in the
3545	// destination dataset are overwritten or appended to. If a
3546	// write_disposition is specified, the `force` parameter is ignored.
3547	//
3548	// Possible values:
3549	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3550	// WRITE_EMPTY.
3551	//   "WRITE_EMPTY" - Only export data if the destination tables are
3552	// empty.
3553	//   "WRITE_TRUNCATE" - Erase all existing data in the tables before
3554	// writing the instances.
3555	//   "WRITE_APPEND" - Append data to the existing tables.
3556	WriteDisposition string `json:"writeDisposition,omitempty"`
3557
3558	// ForceSendFields is a list of field names (e.g. "DatasetUri") to
3559	// unconditionally include in API requests. By default, fields with
3560	// empty values are omitted from API requests. However, any non-pointer,
3561	// non-interface field appearing in ForceSendFields will be sent to the
3562	// server regardless of whether the field is empty or not. This may be
3563	// used to include empty fields in Patch requests.
3564	ForceSendFields []string `json:"-"`
3565
3566	// NullFields is a list of field names (e.g. "DatasetUri") to include in
3567	// API requests with the JSON null value. By default, fields with empty
3568	// values are omitted from API requests. However, any field with an
3569	// empty value appearing in NullFields will be sent to the server as
3570	// null. It is an error if a field in this list has a non-empty value.
3571	// This may be used to include null fields in Patch requests.
3572	NullFields []string `json:"-"`
3573}
3574
3575func (s *GoogleCloudHealthcareV1beta1FhirBigQueryDestination) MarshalJSON() ([]byte, error) {
3576	type NoMethod GoogleCloudHealthcareV1beta1FhirBigQueryDestination
3577	raw := NoMethod(*s)
3578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3579}
3580
3581// GoogleCloudHealthcareV1beta1FhirExportResourcesResponse: Response
3582// when all resources export successfully. This structure is included in
3583// the response to describe the detailed outcome after the operation
3584// finishes successfully.
3585type GoogleCloudHealthcareV1beta1FhirExportResourcesResponse struct {
3586}
3587
3588// GoogleCloudHealthcareV1beta1FhirGcsDestination: The configuration for
3589// exporting to Cloud Storage.
3590type GoogleCloudHealthcareV1beta1FhirGcsDestination struct {
3591	// UriPrefix: URI for a Cloud Storage directory where result files
3592	// should be written (in the format
3593	// `gs://{bucket-id}/{path/to/destination/dir}`). If there is no
3594	// trailing slash, the service appends one when composing the object
3595	// path. The Cloud Storage bucket referenced in `uri_prefix` must exist
3596	// or an error occurs.
3597	UriPrefix string `json:"uriPrefix,omitempty"`
3598
3599	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3600	// unconditionally include in API requests. By default, fields with
3601	// empty values are omitted from API requests. However, any non-pointer,
3602	// non-interface field appearing in ForceSendFields will be sent to the
3603	// server regardless of whether the field is empty or not. This may be
3604	// used to include empty fields in Patch requests.
3605	ForceSendFields []string `json:"-"`
3606
3607	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3608	// API requests with the JSON null value. By default, fields with empty
3609	// values are omitted from API requests. However, any field with an
3610	// empty value appearing in NullFields will be sent to the server as
3611	// null. It is an error if a field in this list has a non-empty value.
3612	// This may be used to include null fields in Patch requests.
3613	NullFields []string `json:"-"`
3614}
3615
3616func (s *GoogleCloudHealthcareV1beta1FhirGcsDestination) MarshalJSON() ([]byte, error) {
3617	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsDestination
3618	raw := NoMethod(*s)
3619	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3620}
3621
3622// GoogleCloudHealthcareV1beta1FhirGcsSource: Specifies the
3623// configuration for importing data from Cloud Storage.
3624type GoogleCloudHealthcareV1beta1FhirGcsSource struct {
3625	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3626	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3627	// The URI can include wildcards in `object_id` and thus identify
3628	// multiple files. Supported wildcards: * `*` to match 0 or more
3629	// non-separator characters * `**` to match 0 or more characters
3630	// (including separators). Must be used at the end of a path and with no
3631	// other wildcards in the path. Can also be used with a file extension
3632	// (such as .ndjson), which imports all files with the extension in the
3633	// specified directory and its sub-directories. For example,
3634	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3635	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3636	// `?` to match 1 character Files matching the wildcard are expected to
3637	// contain content only, no metadata.
3638	Uri string `json:"uri,omitempty"`
3639
3640	// ForceSendFields is a list of field names (e.g. "Uri") to
3641	// unconditionally include in API requests. By default, fields with
3642	// empty values are omitted from API requests. However, any non-pointer,
3643	// non-interface field appearing in ForceSendFields will be sent to the
3644	// server regardless of whether the field is empty or not. This may be
3645	// used to include empty fields in Patch requests.
3646	ForceSendFields []string `json:"-"`
3647
3648	// NullFields is a list of field names (e.g. "Uri") to include in API
3649	// requests with the JSON null value. By default, fields with empty
3650	// values are omitted from API requests. However, any field with an
3651	// empty value appearing in NullFields will be sent to the server as
3652	// null. It is an error if a field in this list has a non-empty value.
3653	// This may be used to include null fields in Patch requests.
3654	NullFields []string `json:"-"`
3655}
3656
3657func (s *GoogleCloudHealthcareV1beta1FhirGcsSource) MarshalJSON() ([]byte, error) {
3658	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsSource
3659	raw := NoMethod(*s)
3660	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3661}
3662
3663// GoogleCloudHealthcareV1beta1FhirImportResourcesResponse: Final
3664// response of importing resources. This structure is included in the
3665// response to describe the detailed outcome after the operation
3666// finishes successfully.
3667type GoogleCloudHealthcareV1beta1FhirImportResourcesResponse struct {
3668}
3669
3670// GroupOrSegment: Construct representing a logical group or a segment.
3671type GroupOrSegment struct {
3672	Group *SchemaGroup `json:"group,omitempty"`
3673
3674	Segment *SchemaSegment `json:"segment,omitempty"`
3675
3676	// ForceSendFields is a list of field names (e.g. "Group") to
3677	// unconditionally include in API requests. By default, fields with
3678	// empty values are omitted from API requests. However, any non-pointer,
3679	// non-interface field appearing in ForceSendFields will be sent to the
3680	// server regardless of whether the field is empty or not. This may be
3681	// used to include empty fields in Patch requests.
3682	ForceSendFields []string `json:"-"`
3683
3684	// NullFields is a list of field names (e.g. "Group") to include in API
3685	// requests with the JSON null value. By default, fields with empty
3686	// values are omitted from API requests. However, any field with an
3687	// empty value appearing in NullFields will be sent to the server as
3688	// null. It is an error if a field in this list has a non-empty value.
3689	// This may be used to include null fields in Patch requests.
3690	NullFields []string `json:"-"`
3691}
3692
3693func (s *GroupOrSegment) MarshalJSON() ([]byte, error) {
3694	type NoMethod GroupOrSegment
3695	raw := NoMethod(*s)
3696	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3697}
3698
3699// Hl7SchemaConfig: Root config message for HL7v2 schema. This contains
3700// a schema structure of groups and segments, and filters that determine
3701// which messages to apply the schema structure to.
3702type Hl7SchemaConfig struct {
3703	// MessageSchemaConfigs: Map from each HL7v2 message type and trigger
3704	// event pair, such as ADT_A04, to its schema configuration root group.
3705	MessageSchemaConfigs map[string]SchemaGroup `json:"messageSchemaConfigs,omitempty"`
3706
3707	// Version: Each VersionSource is tested and only if they all match is
3708	// the schema used for the message.
3709	Version []*VersionSource `json:"version,omitempty"`
3710
3711	// ForceSendFields is a list of field names (e.g.
3712	// "MessageSchemaConfigs") to unconditionally include in API requests.
3713	// By default, fields with empty values are omitted from API requests.
3714	// However, any non-pointer, non-interface field appearing in
3715	// ForceSendFields will be sent to the server regardless of whether the
3716	// field is empty or not. This may be used to include empty fields in
3717	// Patch requests.
3718	ForceSendFields []string `json:"-"`
3719
3720	// NullFields is a list of field names (e.g. "MessageSchemaConfigs") to
3721	// include in API requests with the JSON null value. By default, fields
3722	// with empty values are omitted from API requests. However, any field
3723	// with an empty value appearing in NullFields will be sent to the
3724	// server as null. It is an error if a field in this list has a
3725	// non-empty value. This may be used to include null fields in Patch
3726	// requests.
3727	NullFields []string `json:"-"`
3728}
3729
3730func (s *Hl7SchemaConfig) MarshalJSON() ([]byte, error) {
3731	type NoMethod Hl7SchemaConfig
3732	raw := NoMethod(*s)
3733	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3734}
3735
3736// Hl7TypesConfig: Root config for HL7v2 datatype definitions for a
3737// specific HL7v2 version.
3738type Hl7TypesConfig struct {
3739	// Type: The HL7v2 type definitions.
3740	Type []*Type `json:"type,omitempty"`
3741
3742	// Version: The version selectors that this config applies to. A message
3743	// must match ALL version sources to apply.
3744	Version []*VersionSource `json:"version,omitempty"`
3745
3746	// ForceSendFields is a list of field names (e.g. "Type") to
3747	// unconditionally include in API requests. By default, fields with
3748	// empty values are omitted from API requests. However, any non-pointer,
3749	// non-interface field appearing in ForceSendFields will be sent to the
3750	// server regardless of whether the field is empty or not. This may be
3751	// used to include empty fields in Patch requests.
3752	ForceSendFields []string `json:"-"`
3753
3754	// NullFields is a list of field names (e.g. "Type") to include in API
3755	// requests with the JSON null value. By default, fields with empty
3756	// values are omitted from API requests. However, any field with an
3757	// empty value appearing in NullFields will be sent to the server as
3758	// null. It is an error if a field in this list has a non-empty value.
3759	// This may be used to include null fields in Patch requests.
3760	NullFields []string `json:"-"`
3761}
3762
3763func (s *Hl7TypesConfig) MarshalJSON() ([]byte, error) {
3764	type NoMethod Hl7TypesConfig
3765	raw := NoMethod(*s)
3766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3767}
3768
3769// Hl7V2NotificationConfig: Specifies where and whether to send
3770// notifications upon changes to a data store.
3771type Hl7V2NotificationConfig struct {
3772	// Filter: Restricts notifications sent for messages matching a filter.
3773	// If this is empty, all messages are matched. The following syntax is
3774	// available: * A string field value can be written as text inside
3775	// quotation marks, for example "query text". The only valid
3776	// relational operation for text fields is equality (`=`), where text is
3777	// searched within the field, rather than having the field be equal to
3778	// the text. For example, "Comment = great" returns messages with
3779	// `great` in the comment field. * A number field value can be written
3780	// as an integer, a decimal, or an exponential. The valid relational
3781	// operators for number fields are the equality operator (`=`), along
3782	// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
3783	// Note that there is no inequality (`!=`) operator. You can prepend the
3784	// `NOT` operator to an expression to negate it. * A date field value
3785	// must be written in `yyyy-mm-dd` form. Fields with date and time use
3786	// the RFC3339 time format. Leading zeros are required for one-digit
3787	// months and days. The valid relational operators for date fields are
3788	// the equality operator (`=`) , along with the less than/greater than
3789	// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
3790	// (`!=`) operator. You can prepend the `NOT` operator to an expression
3791	// to negate it. * Multiple field query expressions can be combined in
3792	// one query by adding `AND` or `OR` operators between the expressions.
3793	// If a boolean operator appears within a quoted string, it is not
3794	// treated as special, it's just another part of the character string to
3795	// be matched. You can prepend the `NOT` operator to an expression to
3796	// negate it. Fields/functions available for filtering are: *
3797	// `message_type`, from the MSH-9.1 field. For example, `NOT
3798	// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
3799	// date the message was sent in the dataset's time_zone, from the MSH-7
3800	// segment. For example, `send_date < "2017-01-02". * `send_time`, the
3801	// timestamp when the message was sent, using the RFC3339 time format
3802	// for comparisons, from the MSH-7 segment. For example, `send_time <
3803	// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
3804	// message was created in the HL7v2 store. Use the RFC3339 time format
3805	// for comparisons. For example, `create_time <
3806	// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
3807	// the message came from, from the MSH-4 segment. For example,
3808	// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
3809	// the message lists a patient having an ID of the given value and type
3810	// in the PID-2, PID-3, or PID-4 segments. For example,
3811	// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
3812	// label with key `x` as set using the Message.labels map. For example,
3813	// `labels."priority"="high". The operator `:*` can be used to assert
3814	// the existence of a label. For example, `labels."priority":*`.
3815	Filter string `json:"filter,omitempty"`
3816
3817	// PubsubTopic: The Cloud Pub/Sub
3818	// (https://cloud.google.com/pubsub/docs/) topic that notifications of
3819	// changes are published on. Supplied by the client. The notification is
3820	// a `PubsubMessage` with the following fields: * `PubsubMessage.Data`
3821	// contains the resource name. * `PubsubMessage.MessageId` is the ID of
3822	// this notification. It is guaranteed to be unique within the topic. *
3823	// `PubsubMessage.PublishTime` is the time when the message was
3824	// published. Note that notifications are only sent if the topic is
3825	// non-empty. Topic names
3826	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
3827	// to a project. Cloud Healthcare API service account must have
3828	// publisher permissions on the given Pub/Sub topic. Not having adequate
3829	// permissions causes the calls that send notifications to fail. If a
3830	// notification can't be published to Cloud Pub/Sub, errors are logged
3831	// to Cloud Logging. For more information, see Viewing error logs in
3832	// Cloud Logging (/healthcare/docs/how-tos/logging).
3833	PubsubTopic string `json:"pubsubTopic,omitempty"`
3834
3835	// ForceSendFields is a list of field names (e.g. "Filter") to
3836	// unconditionally include in API requests. By default, fields with
3837	// empty values are omitted from API requests. However, any non-pointer,
3838	// non-interface field appearing in ForceSendFields will be sent to the
3839	// server regardless of whether the field is empty or not. This may be
3840	// used to include empty fields in Patch requests.
3841	ForceSendFields []string `json:"-"`
3842
3843	// NullFields is a list of field names (e.g. "Filter") to include in API
3844	// requests with the JSON null value. By default, fields with empty
3845	// values are omitted from API requests. However, any field with an
3846	// empty value appearing in NullFields will be sent to the server as
3847	// null. It is an error if a field in this list has a non-empty value.
3848	// This may be used to include null fields in Patch requests.
3849	NullFields []string `json:"-"`
3850}
3851
3852func (s *Hl7V2NotificationConfig) MarshalJSON() ([]byte, error) {
3853	type NoMethod Hl7V2NotificationConfig
3854	raw := NoMethod(*s)
3855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3856}
3857
3858// Hl7V2Store: Represents an HL7v2 store.
3859type Hl7V2Store struct {
3860	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
3861	// Label keys must be between 1 and 63 characters long, have a UTF-8
3862	// encoding of maximum 128 bytes, and must conform to the following PCRE
3863	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
3864	// must be between 1 and 63 characters long, have a UTF-8 encoding of
3865	// maximum 128 bytes, and must conform to the following PCRE regular
3866	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
3867	// associated with a given store.
3868	Labels map[string]string `json:"labels,omitempty"`
3869
3870	// Name: Resource name of the HL7v2 store, of the form
3871	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_
3872	// id}`.
3873	Name string `json:"name,omitempty"`
3874
3875	// NotificationConfig: The notification destination all messages (both
3876	// Ingest & Create) are published on. Only the message name is sent as
3877	// part of the notification. If this is unset, no notifications are
3878	// sent. Supplied by the client.
3879	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
3880
3881	// NotificationConfigs: A list of notification configs. Each
3882	// configuration uses a filter to determine whether to publish a message
3883	// (both Ingest & Create) on the corresponding notification destination.
3884	// Only the message name is sent as part of the notification. Supplied
3885	// by the client.
3886	NotificationConfigs []*Hl7V2NotificationConfig `json:"notificationConfigs,omitempty"`
3887
3888	// ParserConfig: The configuration for the parser. It determines how the
3889	// server parses the messages.
3890	ParserConfig *ParserConfig `json:"parserConfig,omitempty"`
3891
3892	// RejectDuplicateMessage: Determines whether to reject duplicate
3893	// messages. A duplicate message is a message with the same raw bytes as
3894	// a message that has already been ingested/created in this HL7v2 store.
3895	// The default value is false, meaning that the store accepts the
3896	// duplicate messages and it also returns the same ACK message in the
3897	// IngestMessageResponse as has been returned previously. Note that only
3898	// one resource is created in the store. When this field is set to true,
3899	// CreateMessage/IngestMessage requests with a duplicate message will be
3900	// rejected by the store, and IngestMessageErrorDetail returns a NACK
3901	// message upon rejection.
3902	RejectDuplicateMessage bool `json:"rejectDuplicateMessage,omitempty"`
3903
3904	// ServerResponse contains the HTTP response code and headers from the
3905	// server.
3906	googleapi.ServerResponse `json:"-"`
3907
3908	// ForceSendFields is a list of field names (e.g. "Labels") to
3909	// unconditionally include in API requests. By default, fields with
3910	// empty values are omitted from API requests. However, any non-pointer,
3911	// non-interface field appearing in ForceSendFields will be sent to the
3912	// server regardless of whether the field is empty or not. This may be
3913	// used to include empty fields in Patch requests.
3914	ForceSendFields []string `json:"-"`
3915
3916	// NullFields is a list of field names (e.g. "Labels") to include in API
3917	// requests with the JSON null value. By default, fields with empty
3918	// values are omitted from API requests. However, any field with an
3919	// empty value appearing in NullFields will be sent to the server as
3920	// null. It is an error if a field in this list has a non-empty value.
3921	// This may be used to include null fields in Patch requests.
3922	NullFields []string `json:"-"`
3923}
3924
3925func (s *Hl7V2Store) MarshalJSON() ([]byte, error) {
3926	type NoMethod Hl7V2Store
3927	raw := NoMethod(*s)
3928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3929}
3930
3931// HttpBody: Message that represents an arbitrary HTTP body. It should
3932// only be used for payload formats that can't be represented as JSON,
3933// such as raw binary or an HTML page. This message can be used both in
3934// streaming and non-streaming API methods in the request as well as the
3935// response. It can be used as a top-level request field, which is
3936// convenient if one wants to extract parameters from either the URL or
3937// HTTP template into the request fields and also want access to the raw
3938// HTTP body. Example: message GetResourceRequest { // A unique request
3939// id. string request_id = 1; // The raw HTTP body is bound to this
3940// field. google.api.HttpBody http_body = 2; } service ResourceService {
3941// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
3942// rpc UpdateResource(google.api.HttpBody) returns
3943// (google.protobuf.Empty); } Example with streaming methods: service
3944// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns
3945// (stream google.api.HttpBody); rpc UpdateCalendar(stream
3946// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
3947// this type only changes how the request and response bodies are
3948// handled, all other features will continue to work unchanged.
3949type HttpBody struct {
3950	// ContentType: The HTTP Content-Type header value specifying the
3951	// content type of the body.
3952	ContentType string `json:"contentType,omitempty"`
3953
3954	// Data: The HTTP request/response body as raw binary.
3955	Data string `json:"data,omitempty"`
3956
3957	// Extensions: Application specific response metadata. Must be set in
3958	// the first response for streaming APIs.
3959	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
3960
3961	// ServerResponse contains the HTTP response code and headers from the
3962	// server.
3963	googleapi.ServerResponse `json:"-"`
3964
3965	// ForceSendFields is a list of field names (e.g. "ContentType") to
3966	// unconditionally include in API requests. By default, fields with
3967	// empty values are omitted from API requests. However, any non-pointer,
3968	// non-interface field appearing in ForceSendFields will be sent to the
3969	// server regardless of whether the field is empty or not. This may be
3970	// used to include empty fields in Patch requests.
3971	ForceSendFields []string `json:"-"`
3972
3973	// NullFields is a list of field names (e.g. "ContentType") to include
3974	// in API requests with the JSON null value. By default, fields with
3975	// empty values are omitted from API requests. However, any field with
3976	// an empty value appearing in NullFields will be sent to the server as
3977	// null. It is an error if a field in this list has a non-empty value.
3978	// This may be used to include null fields in Patch requests.
3979	NullFields []string `json:"-"`
3980}
3981
3982func (s *HttpBody) MarshalJSON() ([]byte, error) {
3983	type NoMethod HttpBody
3984	raw := NoMethod(*s)
3985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3986}
3987
3988// Image: Raw bytes representing consent artifact content.
3989type Image struct {
3990	// GcsUri: Input only. Points to a Cloud Storage URI containing the
3991	// consent artifact content. The URI must be in the following format:
3992	// `gs://{bucket_id}/{object_id}`. The Cloud Healthcare API service
3993	// account must have the `roles/storage.objectViewer` Cloud IAM role for
3994	// this Cloud Storage location. The consent artifact content at this URI
3995	// is copied to a Cloud Storage location managed by the Cloud Healthcare
3996	// API. Responses to fetching requests return the consent artifact
3997	// content in raw_bytes.
3998	GcsUri string `json:"gcsUri,omitempty"`
3999
4000	// RawBytes: Consent artifact content represented as a stream of bytes.
4001	// This field is populated when returned in GetConsentArtifact response,
4002	// but not included in CreateConsentArtifact and ListConsentArtifact
4003	// response.
4004	RawBytes string `json:"rawBytes,omitempty"`
4005
4006	// ForceSendFields is a list of field names (e.g. "GcsUri") to
4007	// unconditionally include in API requests. By default, fields with
4008	// empty values are omitted from API requests. However, any non-pointer,
4009	// non-interface field appearing in ForceSendFields will be sent to the
4010	// server regardless of whether the field is empty or not. This may be
4011	// used to include empty fields in Patch requests.
4012	ForceSendFields []string `json:"-"`
4013
4014	// NullFields is a list of field names (e.g. "GcsUri") to include in API
4015	// requests with the JSON null value. By default, fields with empty
4016	// values are omitted from API requests. However, any field with an
4017	// empty value appearing in NullFields will be sent to the server as
4018	// null. It is an error if a field in this list has a non-empty value.
4019	// This may be used to include null fields in Patch requests.
4020	NullFields []string `json:"-"`
4021}
4022
4023func (s *Image) MarshalJSON() ([]byte, error) {
4024	type NoMethod Image
4025	raw := NoMethod(*s)
4026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4027}
4028
4029// ImageAnnotation: Image annotation.
4030type ImageAnnotation struct {
4031	// BoundingPolys: The list of polygons outlining the sensitive regions
4032	// in the image.
4033	BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"`
4034
4035	// FrameIndex: 0-based index of the image frame. For example, an image
4036	// frame in a DICOM instance.
4037	FrameIndex int64 `json:"frameIndex,omitempty"`
4038
4039	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
4040	// unconditionally include in API requests. By default, fields with
4041	// empty values are omitted from API requests. However, any non-pointer,
4042	// non-interface field appearing in ForceSendFields will be sent to the
4043	// server regardless of whether the field is empty or not. This may be
4044	// used to include empty fields in Patch requests.
4045	ForceSendFields []string `json:"-"`
4046
4047	// NullFields is a list of field names (e.g. "BoundingPolys") to include
4048	// in API requests with the JSON null value. By default, fields with
4049	// empty values are omitted from API requests. However, any field with
4050	// an empty value appearing in NullFields will be sent to the server as
4051	// null. It is an error if a field in this list has a non-empty value.
4052	// This may be used to include null fields in Patch requests.
4053	NullFields []string `json:"-"`
4054}
4055
4056func (s *ImageAnnotation) MarshalJSON() ([]byte, error) {
4057	type NoMethod ImageAnnotation
4058	raw := NoMethod(*s)
4059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4060}
4061
4062// ImageConfig: Specifies how to handle de-identification of image
4063// pixels.
4064type ImageConfig struct {
4065	// TextRedactionMode: Determines how to redact text from image.
4066	//
4067	// Possible values:
4068	//   "TEXT_REDACTION_MODE_UNSPECIFIED" - No text redaction specified.
4069	// Same as REDACT_NO_TEXT.
4070	//   "REDACT_ALL_TEXT" - Redact all text.
4071	//   "REDACT_SENSITIVE_TEXT" - Redact sensitive text.
4072	//   "REDACT_NO_TEXT" - Do not redact text.
4073	TextRedactionMode string `json:"textRedactionMode,omitempty"`
4074
4075	// ForceSendFields is a list of field names (e.g. "TextRedactionMode")
4076	// to unconditionally include in API requests. By default, fields with
4077	// empty values are omitted from API requests. However, any non-pointer,
4078	// non-interface field appearing in ForceSendFields will be sent to the
4079	// server regardless of whether the field is empty or not. This may be
4080	// used to include empty fields in Patch requests.
4081	ForceSendFields []string `json:"-"`
4082
4083	// NullFields is a list of field names (e.g. "TextRedactionMode") to
4084	// include in API requests with the JSON null value. By default, fields
4085	// with empty values are omitted from API requests. However, any field
4086	// with an empty value appearing in NullFields will be sent to the
4087	// server as null. It is an error if a field in this list has a
4088	// non-empty value. This may be used to include null fields in Patch
4089	// requests.
4090	NullFields []string `json:"-"`
4091}
4092
4093func (s *ImageConfig) MarshalJSON() ([]byte, error) {
4094	type NoMethod ImageConfig
4095	raw := NoMethod(*s)
4096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4097}
4098
4099// ImportAnnotationsRequest: Request to import Annotations. The
4100// Annotations to be imported must have client-supplied resource names
4101// which indicate the annotation resource. The import operation is not
4102// atomic. If a failure occurs, any annotations already imported are not
4103// removed.
4104type ImportAnnotationsRequest struct {
4105	GcsSource *GoogleCloudHealthcareV1beta1AnnotationGcsSource `json:"gcsSource,omitempty"`
4106
4107	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4108	// unconditionally include in API requests. By default, fields with
4109	// empty values are omitted from API requests. However, any non-pointer,
4110	// non-interface field appearing in ForceSendFields will be sent to the
4111	// server regardless of whether the field is empty or not. This may be
4112	// used to include empty fields in Patch requests.
4113	ForceSendFields []string `json:"-"`
4114
4115	// NullFields is a list of field names (e.g. "GcsSource") to include in
4116	// API requests with the JSON null value. By default, fields with empty
4117	// values are omitted from API requests. However, any field with an
4118	// empty value appearing in NullFields will be sent to the server as
4119	// null. It is an error if a field in this list has a non-empty value.
4120	// This may be used to include null fields in Patch requests.
4121	NullFields []string `json:"-"`
4122}
4123
4124func (s *ImportAnnotationsRequest) MarshalJSON() ([]byte, error) {
4125	type NoMethod ImportAnnotationsRequest
4126	raw := NoMethod(*s)
4127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4128}
4129
4130// ImportAnnotationsResponse: Final response of importing Annotations in
4131// successful case. This structure is included in the response. It is
4132// only included when the operation finishes.
4133type ImportAnnotationsResponse struct {
4134}
4135
4136// ImportDicomDataRequest: Imports data into the specified DICOM store.
4137// Returns an error if any of the files to import are not DICOM files.
4138// This API accepts duplicate DICOM instances by ignoring the
4139// newly-pushed instance. It does not overwrite.
4140type ImportDicomDataRequest struct {
4141	// GcsSource: Cloud Storage source data location and import
4142	// configuration. The Cloud Healthcare Service Agent requires the
4143	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4144	// location.
4145	GcsSource *GoogleCloudHealthcareV1beta1DicomGcsSource `json:"gcsSource,omitempty"`
4146
4147	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4148	// unconditionally include in API requests. By default, fields with
4149	// empty values are omitted from API requests. However, any non-pointer,
4150	// non-interface field appearing in ForceSendFields will be sent to the
4151	// server regardless of whether the field is empty or not. This may be
4152	// used to include empty fields in Patch requests.
4153	ForceSendFields []string `json:"-"`
4154
4155	// NullFields is a list of field names (e.g. "GcsSource") to include in
4156	// API requests with the JSON null value. By default, fields with empty
4157	// values are omitted from API requests. However, any field with an
4158	// empty value appearing in NullFields will be sent to the server as
4159	// null. It is an error if a field in this list has a non-empty value.
4160	// This may be used to include null fields in Patch requests.
4161	NullFields []string `json:"-"`
4162}
4163
4164func (s *ImportDicomDataRequest) MarshalJSON() ([]byte, error) {
4165	type NoMethod ImportDicomDataRequest
4166	raw := NoMethod(*s)
4167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4168}
4169
4170// ImportDicomDataResponse: Returns additional information in regards to
4171// a completed DICOM store import.
4172type ImportDicomDataResponse struct {
4173}
4174
4175// ImportMessagesRequest: Request to import messages.
4176type ImportMessagesRequest struct {
4177	// GcsSource: Cloud Storage source data location and import
4178	// configuration. The Cloud Healthcare Service Agent requires the
4179	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4180	// location.
4181	GcsSource *GcsSource `json:"gcsSource,omitempty"`
4182
4183	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4184	// unconditionally include in API requests. By default, fields with
4185	// empty values are omitted from API requests. However, any non-pointer,
4186	// non-interface field appearing in ForceSendFields will be sent to the
4187	// server regardless of whether the field is empty or not. This may be
4188	// used to include empty fields in Patch requests.
4189	ForceSendFields []string `json:"-"`
4190
4191	// NullFields is a list of field names (e.g. "GcsSource") to include in
4192	// API requests with the JSON null value. By default, fields with empty
4193	// values are omitted from API requests. However, any field with an
4194	// empty value appearing in NullFields will be sent to the server as
4195	// null. It is an error if a field in this list has a non-empty value.
4196	// This may be used to include null fields in Patch requests.
4197	NullFields []string `json:"-"`
4198}
4199
4200func (s *ImportMessagesRequest) MarshalJSON() ([]byte, error) {
4201	type NoMethod ImportMessagesRequest
4202	raw := NoMethod(*s)
4203	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4204}
4205
4206// ImportMessagesResponse: Final response of importing messages. This
4207// structure is included in the response to describe the detailed
4208// outcome. It is only included when the operation finishes
4209// successfully.
4210type ImportMessagesResponse struct {
4211}
4212
4213// ImportResourcesRequest: Request to import resources.
4214type ImportResourcesRequest struct {
4215	// ContentStructure: The content structure in the source location. If
4216	// not specified, the server treats the input source files as BUNDLE.
4217	//
4218	// Possible values:
4219	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
4220	// specified, the default value `BUNDLE` is used.
4221	//   "BUNDLE" - The source file contains one or more lines of
4222	// newline-delimited JSON (ndjson). Each line is a bundle that contains
4223	// one or more resources.
4224	//   "RESOURCE" - The source file contains one or more lines of
4225	// newline-delimited JSON (ndjson). Each line is a single resource.
4226	//   "BUNDLE_PRETTY" - The entire file is one JSON bundle. The JSON can
4227	// span multiple lines.
4228	//   "RESOURCE_PRETTY" - The entire file is one JSON resource. The JSON
4229	// can span multiple lines.
4230	ContentStructure string `json:"contentStructure,omitempty"`
4231
4232	// GcsSource: Cloud Storage source data location and import
4233	// configuration. The Cloud Healthcare Service Agent requires the
4234	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4235	// location. The Healthcare Service Agent Each Cloud Storage object
4236	// should be a text file that contains the format specified in
4237	// ContentStructure.
4238	GcsSource *GoogleCloudHealthcareV1beta1FhirGcsSource `json:"gcsSource,omitempty"`
4239
4240	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
4241	// unconditionally include in API requests. By default, fields with
4242	// empty values are omitted from API requests. However, any non-pointer,
4243	// non-interface field appearing in ForceSendFields will be sent to the
4244	// server regardless of whether the field is empty or not. This may be
4245	// used to include empty fields in Patch requests.
4246	ForceSendFields []string `json:"-"`
4247
4248	// NullFields is a list of field names (e.g. "ContentStructure") to
4249	// include in API requests with the JSON null value. By default, fields
4250	// with empty values are omitted from API requests. However, any field
4251	// with an empty value appearing in NullFields will be sent to the
4252	// server as null. It is an error if a field in this list has a
4253	// non-empty value. This may be used to include null fields in Patch
4254	// requests.
4255	NullFields []string `json:"-"`
4256}
4257
4258func (s *ImportResourcesRequest) MarshalJSON() ([]byte, error) {
4259	type NoMethod ImportResourcesRequest
4260	raw := NoMethod(*s)
4261	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4262}
4263
4264// InfoTypeConfig: Specifies how to use infoTypes for evaluation. For
4265// example, a user might only want to evaluate `PERSON`, `LOCATION`, and
4266// `AGE`.
4267type InfoTypeConfig struct {
4268	EvaluateList *FilterList `json:"evaluateList,omitempty"`
4269
4270	IgnoreList *FilterList `json:"ignoreList,omitempty"`
4271
4272	// StrictMatching: If `TRUE`, infoTypes described by `filter` are used
4273	// for evaluation. Otherwise, infoTypes are not considered for
4274	// evaluation. For example: * Annotated text: "Toronto is a location" *
4275	// Finding 1: `{"infoType": "PERSON", "quote": "Toronto", "start": 0,
4276	// "end": 7}` * Finding 2: `{"infoType": "CITY", "quote": "Toronto",
4277	// "start": 0, "end": 7}` * Finding 3: `{}` * Ground truth:
4278	// `{"infoType": "LOCATION", "quote": "Toronto", "start": 0, "end": 7}`
4279	// When `strict_matching` is `TRUE`: * Finding 1: 1 false positive *
4280	// Finding 2: 1 false positive * Finding 3: 1 false negative When
4281	// `strict_matching` is `FALSE`: * Finding 1: 1 true positive * Finding
4282	// 2: 1 true positive * Finding 3: 1 false negative
4283	StrictMatching bool `json:"strictMatching,omitempty"`
4284
4285	// ForceSendFields is a list of field names (e.g. "EvaluateList") to
4286	// unconditionally include in API requests. By default, fields with
4287	// empty values are omitted from API requests. However, any non-pointer,
4288	// non-interface field appearing in ForceSendFields will be sent to the
4289	// server regardless of whether the field is empty or not. This may be
4290	// used to include empty fields in Patch requests.
4291	ForceSendFields []string `json:"-"`
4292
4293	// NullFields is a list of field names (e.g. "EvaluateList") to include
4294	// in API requests with the JSON null value. By default, fields with
4295	// empty values are omitted from API requests. However, any field with
4296	// an empty value appearing in NullFields will be sent to the server as
4297	// null. It is an error if a field in this list has a non-empty value.
4298	// This may be used to include null fields in Patch requests.
4299	NullFields []string `json:"-"`
4300}
4301
4302func (s *InfoTypeConfig) MarshalJSON() ([]byte, error) {
4303	type NoMethod InfoTypeConfig
4304	raw := NoMethod(*s)
4305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4306}
4307
4308// InfoTypeTransformation: A transformation to apply to text that is
4309// identified as a specific info_type.
4310type InfoTypeTransformation struct {
4311	// CharacterMaskConfig: Config for character mask.
4312	CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"`
4313
4314	// CryptoHashConfig: Config for crypto hash.
4315	CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"`
4316
4317	// DateShiftConfig: Config for date shift.
4318	DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"`
4319
4320	// InfoTypes: InfoTypes to apply this transformation to. If this is not
4321	// specified, this transformation becomes the default transformation,
4322	// and is used for any info_type that is not specified in another
4323	// transformation.
4324	InfoTypes []string `json:"infoTypes,omitempty"`
4325
4326	// RedactConfig: Config for text redaction.
4327	RedactConfig *RedactConfig `json:"redactConfig,omitempty"`
4328
4329	// ReplaceWithInfoTypeConfig: Config for replace with InfoType.
4330	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"`
4331
4332	// ForceSendFields is a list of field names (e.g. "CharacterMaskConfig")
4333	// to unconditionally include in API requests. By default, fields with
4334	// empty values are omitted from API requests. However, any non-pointer,
4335	// non-interface field appearing in ForceSendFields will be sent to the
4336	// server regardless of whether the field is empty or not. This may be
4337	// used to include empty fields in Patch requests.
4338	ForceSendFields []string `json:"-"`
4339
4340	// NullFields is a list of field names (e.g. "CharacterMaskConfig") to
4341	// include in API requests with the JSON null value. By default, fields
4342	// with empty values are omitted from API requests. However, any field
4343	// with an empty value appearing in NullFields will be sent to the
4344	// server as null. It is an error if a field in this list has a
4345	// non-empty value. This may be used to include null fields in Patch
4346	// requests.
4347	NullFields []string `json:"-"`
4348}
4349
4350func (s *InfoTypeTransformation) MarshalJSON() ([]byte, error) {
4351	type NoMethod InfoTypeTransformation
4352	raw := NoMethod(*s)
4353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4354}
4355
4356// IngestMessageRequest: Ingests a message into the specified HL7v2
4357// store.
4358type IngestMessageRequest struct {
4359	// Message: HL7v2 message to ingest.
4360	Message *Message `json:"message,omitempty"`
4361
4362	// ForceSendFields is a list of field names (e.g. "Message") to
4363	// unconditionally include in API requests. By default, fields with
4364	// empty values are omitted from API requests. However, any non-pointer,
4365	// non-interface field appearing in ForceSendFields will be sent to the
4366	// server regardless of whether the field is empty or not. This may be
4367	// used to include empty fields in Patch requests.
4368	ForceSendFields []string `json:"-"`
4369
4370	// NullFields is a list of field names (e.g. "Message") to include in
4371	// API requests with the JSON null value. By default, fields with empty
4372	// values are omitted from API requests. However, any field with an
4373	// empty value appearing in NullFields will be sent to the server as
4374	// null. It is an error if a field in this list has a non-empty value.
4375	// This may be used to include null fields in Patch requests.
4376	NullFields []string `json:"-"`
4377}
4378
4379func (s *IngestMessageRequest) MarshalJSON() ([]byte, error) {
4380	type NoMethod IngestMessageRequest
4381	raw := NoMethod(*s)
4382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4383}
4384
4385// IngestMessageResponse: Acknowledges that a message has been ingested
4386// into the specified HL7v2 store.
4387type IngestMessageResponse struct {
4388	// Hl7Ack: HL7v2 ACK message.
4389	Hl7Ack string `json:"hl7Ack,omitempty"`
4390
4391	// Message: Created message resource.
4392	Message *Message `json:"message,omitempty"`
4393
4394	// ServerResponse contains the HTTP response code and headers from the
4395	// server.
4396	googleapi.ServerResponse `json:"-"`
4397
4398	// ForceSendFields is a list of field names (e.g. "Hl7Ack") to
4399	// unconditionally include in API requests. By default, fields with
4400	// empty values are omitted from API requests. However, any non-pointer,
4401	// non-interface field appearing in ForceSendFields will be sent to the
4402	// server regardless of whether the field is empty or not. This may be
4403	// used to include empty fields in Patch requests.
4404	ForceSendFields []string `json:"-"`
4405
4406	// NullFields is a list of field names (e.g. "Hl7Ack") to include in API
4407	// requests with the JSON null value. By default, fields with empty
4408	// values are omitted from API requests. However, any field with an
4409	// empty value appearing in NullFields will be sent to the server as
4410	// null. It is an error if a field in this list has a non-empty value.
4411	// This may be used to include null fields in Patch requests.
4412	NullFields []string `json:"-"`
4413}
4414
4415func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) {
4416	type NoMethod IngestMessageResponse
4417	raw := NoMethod(*s)
4418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4419}
4420
4421// LinkedEntity: EntityMentions can be linked to multiple entities using
4422// a LinkedEntity message lets us add other fields, e.g. confidence.
4423type LinkedEntity struct {
4424	// EntityId: entity_id is a concept unique identifier. These are
4425	// prefixed by a string that identifies the entity coding system,
4426	// followed by the unique identifier within that system. For example,
4427	// "UMLS/C0000970". This also supports ad hoc entities, which are formed
4428	// by normalizing entity mention content.
4429	EntityId string `json:"entityId,omitempty"`
4430
4431	// ForceSendFields is a list of field names (e.g. "EntityId") to
4432	// unconditionally include in API requests. By default, fields with
4433	// empty values are omitted from API requests. However, any non-pointer,
4434	// non-interface field appearing in ForceSendFields will be sent to the
4435	// server regardless of whether the field is empty or not. This may be
4436	// used to include empty fields in Patch requests.
4437	ForceSendFields []string `json:"-"`
4438
4439	// NullFields is a list of field names (e.g. "EntityId") to include in
4440	// API requests with the JSON null value. By default, fields with empty
4441	// values are omitted from API requests. However, any field with an
4442	// empty value appearing in NullFields will be sent to the server as
4443	// null. It is an error if a field in this list has a non-empty value.
4444	// This may be used to include null fields in Patch requests.
4445	NullFields []string `json:"-"`
4446}
4447
4448func (s *LinkedEntity) MarshalJSON() ([]byte, error) {
4449	type NoMethod LinkedEntity
4450	raw := NoMethod(*s)
4451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4452}
4453
4454// ListAnnotationStoresResponse: Lists the Annotation stores in the
4455// given dataset.
4456type ListAnnotationStoresResponse struct {
4457	// AnnotationStores: The returned Annotation stores. Won't be more
4458	// Annotation stores than the value of page_size in the request.
4459	AnnotationStores []*AnnotationStore `json:"annotationStores,omitempty"`
4460
4461	// NextPageToken: Token to retrieve the next page of results or empty if
4462	// there are no more results in the list.
4463	NextPageToken string `json:"nextPageToken,omitempty"`
4464
4465	// ServerResponse contains the HTTP response code and headers from the
4466	// server.
4467	googleapi.ServerResponse `json:"-"`
4468
4469	// ForceSendFields is a list of field names (e.g. "AnnotationStores") to
4470	// unconditionally include in API requests. By default, fields with
4471	// empty values are omitted from API requests. However, any non-pointer,
4472	// non-interface field appearing in ForceSendFields will be sent to the
4473	// server regardless of whether the field is empty or not. This may be
4474	// used to include empty fields in Patch requests.
4475	ForceSendFields []string `json:"-"`
4476
4477	// NullFields is a list of field names (e.g. "AnnotationStores") to
4478	// include in API requests with the JSON null value. By default, fields
4479	// with empty values are omitted from API requests. However, any field
4480	// with an empty value appearing in NullFields will be sent to the
4481	// server as null. It is an error if a field in this list has a
4482	// non-empty value. This may be used to include null fields in Patch
4483	// requests.
4484	NullFields []string `json:"-"`
4485}
4486
4487func (s *ListAnnotationStoresResponse) MarshalJSON() ([]byte, error) {
4488	type NoMethod ListAnnotationStoresResponse
4489	raw := NoMethod(*s)
4490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4491}
4492
4493// ListAnnotationsResponse: Lists the Annotations in the specified
4494// Annotation store.
4495type ListAnnotationsResponse struct {
4496	// Annotations: The returned Annotations. Won't be more values than the
4497	// value of page_size in the request. See `AnnotationView` in the
4498	// request for populated fields.
4499	Annotations []*Annotation `json:"annotations,omitempty"`
4500
4501	// NextPageToken: Token to retrieve the next page of results or empty if
4502	// there are no more results in the list.
4503	NextPageToken string `json:"nextPageToken,omitempty"`
4504
4505	// ServerResponse contains the HTTP response code and headers from the
4506	// server.
4507	googleapi.ServerResponse `json:"-"`
4508
4509	// ForceSendFields is a list of field names (e.g. "Annotations") to
4510	// unconditionally include in API requests. By default, fields with
4511	// empty values are omitted from API requests. However, any non-pointer,
4512	// non-interface field appearing in ForceSendFields will be sent to the
4513	// server regardless of whether the field is empty or not. This may be
4514	// used to include empty fields in Patch requests.
4515	ForceSendFields []string `json:"-"`
4516
4517	// NullFields is a list of field names (e.g. "Annotations") to include
4518	// in API requests with the JSON null value. By default, fields with
4519	// empty values are omitted from API requests. However, any field with
4520	// an empty value appearing in NullFields will be sent to the server as
4521	// null. It is an error if a field in this list has a non-empty value.
4522	// This may be used to include null fields in Patch requests.
4523	NullFields []string `json:"-"`
4524}
4525
4526func (s *ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
4527	type NoMethod ListAnnotationsResponse
4528	raw := NoMethod(*s)
4529	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4530}
4531
4532type ListAttributeDefinitionsResponse struct {
4533	// AttributeDefinitions: The returned Attribute definitions. The maximum
4534	// number of attributes returned is determined by the value of page_size
4535	// in the ListAttributeDefinitionsRequest.
4536	AttributeDefinitions []*AttributeDefinition `json:"attributeDefinitions,omitempty"`
4537
4538	// NextPageToken: Token to retrieve the next page of results, or empty
4539	// if there are no more results in the list.
4540	NextPageToken string `json:"nextPageToken,omitempty"`
4541
4542	// ServerResponse contains the HTTP response code and headers from the
4543	// server.
4544	googleapi.ServerResponse `json:"-"`
4545
4546	// ForceSendFields is a list of field names (e.g.
4547	// "AttributeDefinitions") to unconditionally include in API requests.
4548	// By default, fields with empty values are omitted from API requests.
4549	// However, any non-pointer, non-interface field appearing in
4550	// ForceSendFields will be sent to the server regardless of whether the
4551	// field is empty or not. This may be used to include empty fields in
4552	// Patch requests.
4553	ForceSendFields []string `json:"-"`
4554
4555	// NullFields is a list of field names (e.g. "AttributeDefinitions") to
4556	// include in API requests with the JSON null value. By default, fields
4557	// with empty values are omitted from API requests. However, any field
4558	// with an empty value appearing in NullFields will be sent to the
4559	// server as null. It is an error if a field in this list has a
4560	// non-empty value. This may be used to include null fields in Patch
4561	// requests.
4562	NullFields []string `json:"-"`
4563}
4564
4565func (s *ListAttributeDefinitionsResponse) MarshalJSON() ([]byte, error) {
4566	type NoMethod ListAttributeDefinitionsResponse
4567	raw := NoMethod(*s)
4568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4569}
4570
4571type ListConsentArtifactsResponse struct {
4572	// ConsentArtifacts: The returned Consent artifacts. The maximum number
4573	// of artifacts returned is determined by the value of page_size in the
4574	// ListConsentArtifactsRequest.
4575	ConsentArtifacts []*ConsentArtifact `json:"consentArtifacts,omitempty"`
4576
4577	// NextPageToken: Token to retrieve the next page of results, or empty
4578	// if there are no more results in the list.
4579	NextPageToken string `json:"nextPageToken,omitempty"`
4580
4581	// ServerResponse contains the HTTP response code and headers from the
4582	// server.
4583	googleapi.ServerResponse `json:"-"`
4584
4585	// ForceSendFields is a list of field names (e.g. "ConsentArtifacts") to
4586	// unconditionally include in API requests. By default, fields with
4587	// empty values are omitted from API requests. However, any non-pointer,
4588	// non-interface field appearing in ForceSendFields will be sent to the
4589	// server regardless of whether the field is empty or not. This may be
4590	// used to include empty fields in Patch requests.
4591	ForceSendFields []string `json:"-"`
4592
4593	// NullFields is a list of field names (e.g. "ConsentArtifacts") to
4594	// include in API requests with the JSON null value. By default, fields
4595	// with empty values are omitted from API requests. However, any field
4596	// with an empty value appearing in NullFields will be sent to the
4597	// server as null. It is an error if a field in this list has a
4598	// non-empty value. This may be used to include null fields in Patch
4599	// requests.
4600	NullFields []string `json:"-"`
4601}
4602
4603func (s *ListConsentArtifactsResponse) MarshalJSON() ([]byte, error) {
4604	type NoMethod ListConsentArtifactsResponse
4605	raw := NoMethod(*s)
4606	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4607}
4608
4609type ListConsentRevisionsResponse struct {
4610	// Consents: The returned Consent revisions. The maximum number of
4611	// revisions returned is determined by the value of `page_size` in the
4612	// ListConsentRevisionsRequest.
4613	Consents []*Consent `json:"consents,omitempty"`
4614
4615	// NextPageToken: Token to retrieve the next page of results, or empty
4616	// if there are no more results in the list.
4617	NextPageToken string `json:"nextPageToken,omitempty"`
4618
4619	// ServerResponse contains the HTTP response code and headers from the
4620	// server.
4621	googleapi.ServerResponse `json:"-"`
4622
4623	// ForceSendFields is a list of field names (e.g. "Consents") to
4624	// unconditionally include in API requests. By default, fields with
4625	// empty values are omitted from API requests. However, any non-pointer,
4626	// non-interface field appearing in ForceSendFields will be sent to the
4627	// server regardless of whether the field is empty or not. This may be
4628	// used to include empty fields in Patch requests.
4629	ForceSendFields []string `json:"-"`
4630
4631	// NullFields is a list of field names (e.g. "Consents") to include in
4632	// API requests with the JSON null value. By default, fields with empty
4633	// values are omitted from API requests. However, any field with an
4634	// empty value appearing in NullFields will be sent to the server as
4635	// null. It is an error if a field in this list has a non-empty value.
4636	// This may be used to include null fields in Patch requests.
4637	NullFields []string `json:"-"`
4638}
4639
4640func (s *ListConsentRevisionsResponse) MarshalJSON() ([]byte, error) {
4641	type NoMethod ListConsentRevisionsResponse
4642	raw := NoMethod(*s)
4643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4644}
4645
4646type ListConsentStoresResponse struct {
4647	// ConsentStores: The returned consent stores. The maximum number of
4648	// stores returned is determined by the value of page_size in the
4649	// ListConsentStoresRequest.
4650	ConsentStores []*ConsentStore `json:"consentStores,omitempty"`
4651
4652	// NextPageToken: Token to retrieve the next page of results, or empty
4653	// if there are no more results in the list.
4654	NextPageToken string `json:"nextPageToken,omitempty"`
4655
4656	// ServerResponse contains the HTTP response code and headers from the
4657	// server.
4658	googleapi.ServerResponse `json:"-"`
4659
4660	// ForceSendFields is a list of field names (e.g. "ConsentStores") to
4661	// unconditionally include in API requests. By default, fields with
4662	// empty values are omitted from API requests. However, any non-pointer,
4663	// non-interface field appearing in ForceSendFields will be sent to the
4664	// server regardless of whether the field is empty or not. This may be
4665	// used to include empty fields in Patch requests.
4666	ForceSendFields []string `json:"-"`
4667
4668	// NullFields is a list of field names (e.g. "ConsentStores") to include
4669	// in API requests with the JSON null value. By default, fields with
4670	// empty values are omitted from API requests. However, any field with
4671	// an empty value appearing in NullFields will be sent to the server as
4672	// null. It is an error if a field in this list has a non-empty value.
4673	// This may be used to include null fields in Patch requests.
4674	NullFields []string `json:"-"`
4675}
4676
4677func (s *ListConsentStoresResponse) MarshalJSON() ([]byte, error) {
4678	type NoMethod ListConsentStoresResponse
4679	raw := NoMethod(*s)
4680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4681}
4682
4683type ListConsentsResponse struct {
4684	// Consents: The returned Consents. The maximum number of Consents
4685	// returned is determined by the value of page_size in the
4686	// ListConsentsRequest.
4687	Consents []*Consent `json:"consents,omitempty"`
4688
4689	// NextPageToken: Token to retrieve the next page of results, or empty
4690	// if there are no more results in the list.
4691	NextPageToken string `json:"nextPageToken,omitempty"`
4692
4693	// ServerResponse contains the HTTP response code and headers from the
4694	// server.
4695	googleapi.ServerResponse `json:"-"`
4696
4697	// ForceSendFields is a list of field names (e.g. "Consents") to
4698	// unconditionally include in API requests. By default, fields with
4699	// empty values are omitted from API requests. However, any non-pointer,
4700	// non-interface field appearing in ForceSendFields will be sent to the
4701	// server regardless of whether the field is empty or not. This may be
4702	// used to include empty fields in Patch requests.
4703	ForceSendFields []string `json:"-"`
4704
4705	// NullFields is a list of field names (e.g. "Consents") to include in
4706	// API requests with the JSON null value. By default, fields with empty
4707	// values are omitted from API requests. However, any field with an
4708	// empty value appearing in NullFields will be sent to the server as
4709	// null. It is an error if a field in this list has a non-empty value.
4710	// This may be used to include null fields in Patch requests.
4711	NullFields []string `json:"-"`
4712}
4713
4714func (s *ListConsentsResponse) MarshalJSON() ([]byte, error) {
4715	type NoMethod ListConsentsResponse
4716	raw := NoMethod(*s)
4717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4718}
4719
4720// ListDatasetsResponse: Lists the available datasets.
4721type ListDatasetsResponse struct {
4722	// Datasets: The first page of datasets.
4723	Datasets []*Dataset `json:"datasets,omitempty"`
4724
4725	// NextPageToken: Token to retrieve the next page of results, or empty
4726	// if there are no more results in the list.
4727	NextPageToken string `json:"nextPageToken,omitempty"`
4728
4729	// ServerResponse contains the HTTP response code and headers from the
4730	// server.
4731	googleapi.ServerResponse `json:"-"`
4732
4733	// ForceSendFields is a list of field names (e.g. "Datasets") to
4734	// unconditionally include in API requests. By default, fields with
4735	// empty values are omitted from API requests. However, any non-pointer,
4736	// non-interface field appearing in ForceSendFields will be sent to the
4737	// server regardless of whether the field is empty or not. This may be
4738	// used to include empty fields in Patch requests.
4739	ForceSendFields []string `json:"-"`
4740
4741	// NullFields is a list of field names (e.g. "Datasets") to include in
4742	// API requests with the JSON null value. By default, fields with empty
4743	// values are omitted from API requests. However, any field with an
4744	// empty value appearing in NullFields will be sent to the server as
4745	// null. It is an error if a field in this list has a non-empty value.
4746	// This may be used to include null fields in Patch requests.
4747	NullFields []string `json:"-"`
4748}
4749
4750func (s *ListDatasetsResponse) MarshalJSON() ([]byte, error) {
4751	type NoMethod ListDatasetsResponse
4752	raw := NoMethod(*s)
4753	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4754}
4755
4756// ListDicomStoresResponse: Lists the DICOM stores in the given dataset.
4757type ListDicomStoresResponse struct {
4758	// DicomStores: The returned DICOM stores. Won't be more DICOM stores
4759	// than the value of page_size in the request.
4760	DicomStores []*DicomStore `json:"dicomStores,omitempty"`
4761
4762	// NextPageToken: Token to retrieve the next page of results or empty if
4763	// there are no more results in the list.
4764	NextPageToken string `json:"nextPageToken,omitempty"`
4765
4766	// ServerResponse contains the HTTP response code and headers from the
4767	// server.
4768	googleapi.ServerResponse `json:"-"`
4769
4770	// ForceSendFields is a list of field names (e.g. "DicomStores") to
4771	// unconditionally include in API requests. By default, fields with
4772	// empty values are omitted from API requests. However, any non-pointer,
4773	// non-interface field appearing in ForceSendFields will be sent to the
4774	// server regardless of whether the field is empty or not. This may be
4775	// used to include empty fields in Patch requests.
4776	ForceSendFields []string `json:"-"`
4777
4778	// NullFields is a list of field names (e.g. "DicomStores") to include
4779	// in API requests with the JSON null value. By default, fields with
4780	// empty values are omitted from API requests. However, any field with
4781	// an empty value appearing in NullFields will be sent to the server as
4782	// null. It is an error if a field in this list has a non-empty value.
4783	// This may be used to include null fields in Patch requests.
4784	NullFields []string `json:"-"`
4785}
4786
4787func (s *ListDicomStoresResponse) MarshalJSON() ([]byte, error) {
4788	type NoMethod ListDicomStoresResponse
4789	raw := NoMethod(*s)
4790	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4791}
4792
4793// ListFhirStoresResponse: Lists the FHIR stores in the given dataset.
4794type ListFhirStoresResponse struct {
4795	// FhirStores: The returned FHIR stores. Won't be more FHIR stores than
4796	// the value of page_size in the request.
4797	FhirStores []*FhirStore `json:"fhirStores,omitempty"`
4798
4799	// NextPageToken: Token to retrieve the next page of results or empty if
4800	// there are no more results in the list.
4801	NextPageToken string `json:"nextPageToken,omitempty"`
4802
4803	// ServerResponse contains the HTTP response code and headers from the
4804	// server.
4805	googleapi.ServerResponse `json:"-"`
4806
4807	// ForceSendFields is a list of field names (e.g. "FhirStores") to
4808	// unconditionally include in API requests. By default, fields with
4809	// empty values are omitted from API requests. However, any non-pointer,
4810	// non-interface field appearing in ForceSendFields will be sent to the
4811	// server regardless of whether the field is empty or not. This may be
4812	// used to include empty fields in Patch requests.
4813	ForceSendFields []string `json:"-"`
4814
4815	// NullFields is a list of field names (e.g. "FhirStores") to include in
4816	// API requests with the JSON null value. By default, fields with empty
4817	// values are omitted from API requests. However, any field with an
4818	// empty value appearing in NullFields will be sent to the server as
4819	// null. It is an error if a field in this list has a non-empty value.
4820	// This may be used to include null fields in Patch requests.
4821	NullFields []string `json:"-"`
4822}
4823
4824func (s *ListFhirStoresResponse) MarshalJSON() ([]byte, error) {
4825	type NoMethod ListFhirStoresResponse
4826	raw := NoMethod(*s)
4827	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4828}
4829
4830// ListHl7V2StoresResponse: Lists the HL7v2 stores in the given dataset.
4831type ListHl7V2StoresResponse struct {
4832	// Hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores
4833	// than the value of page_size in the request.
4834	Hl7V2Stores []*Hl7V2Store `json:"hl7V2Stores,omitempty"`
4835
4836	// NextPageToken: Token to retrieve the next page of results or empty if
4837	// there are no more results in the list.
4838	NextPageToken string `json:"nextPageToken,omitempty"`
4839
4840	// ServerResponse contains the HTTP response code and headers from the
4841	// server.
4842	googleapi.ServerResponse `json:"-"`
4843
4844	// ForceSendFields is a list of field names (e.g. "Hl7V2Stores") to
4845	// unconditionally include in API requests. By default, fields with
4846	// empty values are omitted from API requests. However, any non-pointer,
4847	// non-interface field appearing in ForceSendFields will be sent to the
4848	// server regardless of whether the field is empty or not. This may be
4849	// used to include empty fields in Patch requests.
4850	ForceSendFields []string `json:"-"`
4851
4852	// NullFields is a list of field names (e.g. "Hl7V2Stores") to include
4853	// in API requests with the JSON null value. By default, fields with
4854	// empty values are omitted from API requests. However, any field with
4855	// an empty value appearing in NullFields will be sent to the server as
4856	// null. It is an error if a field in this list has a non-empty value.
4857	// This may be used to include null fields in Patch requests.
4858	NullFields []string `json:"-"`
4859}
4860
4861func (s *ListHl7V2StoresResponse) MarshalJSON() ([]byte, error) {
4862	type NoMethod ListHl7V2StoresResponse
4863	raw := NoMethod(*s)
4864	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4865}
4866
4867// ListLocationsResponse: The response message for
4868// Locations.ListLocations.
4869type ListLocationsResponse struct {
4870	// Locations: A list of locations that matches the specified filter in
4871	// the request.
4872	Locations []*Location `json:"locations,omitempty"`
4873
4874	// NextPageToken: The standard List next-page token.
4875	NextPageToken string `json:"nextPageToken,omitempty"`
4876
4877	// ServerResponse contains the HTTP response code and headers from the
4878	// server.
4879	googleapi.ServerResponse `json:"-"`
4880
4881	// ForceSendFields is a list of field names (e.g. "Locations") to
4882	// unconditionally include in API requests. By default, fields with
4883	// empty values are omitted from API requests. However, any non-pointer,
4884	// non-interface field appearing in ForceSendFields will be sent to the
4885	// server regardless of whether the field is empty or not. This may be
4886	// used to include empty fields in Patch requests.
4887	ForceSendFields []string `json:"-"`
4888
4889	// NullFields is a list of field names (e.g. "Locations") to include in
4890	// API requests with the JSON null value. By default, fields with empty
4891	// values are omitted from API requests. However, any field with an
4892	// empty value appearing in NullFields will be sent to the server as
4893	// null. It is an error if a field in this list has a non-empty value.
4894	// This may be used to include null fields in Patch requests.
4895	NullFields []string `json:"-"`
4896}
4897
4898func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
4899	type NoMethod ListLocationsResponse
4900	raw := NoMethod(*s)
4901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4902}
4903
4904// ListMessagesResponse: Lists the messages in the specified HL7v2
4905// store.
4906type ListMessagesResponse struct {
4907	// Hl7V2Messages: The returned Messages. Won't be more Messages than the
4908	// value of page_size in the request. See view for populated fields.
4909	Hl7V2Messages []*Message `json:"hl7V2Messages,omitempty"`
4910
4911	// NextPageToken: Token to retrieve the next page of results or empty if
4912	// there are no more results in the list.
4913	NextPageToken string `json:"nextPageToken,omitempty"`
4914
4915	// ServerResponse contains the HTTP response code and headers from the
4916	// server.
4917	googleapi.ServerResponse `json:"-"`
4918
4919	// ForceSendFields is a list of field names (e.g. "Hl7V2Messages") to
4920	// unconditionally include in API requests. By default, fields with
4921	// empty values are omitted from API requests. However, any non-pointer,
4922	// non-interface field appearing in ForceSendFields will be sent to the
4923	// server regardless of whether the field is empty or not. This may be
4924	// used to include empty fields in Patch requests.
4925	ForceSendFields []string `json:"-"`
4926
4927	// NullFields is a list of field names (e.g. "Hl7V2Messages") to include
4928	// in API requests with the JSON null value. By default, fields with
4929	// empty values are omitted from API requests. However, any field with
4930	// an empty value appearing in NullFields will be sent to the server as
4931	// null. It is an error if a field in this list has a non-empty value.
4932	// This may be used to include null fields in Patch requests.
4933	NullFields []string `json:"-"`
4934}
4935
4936func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) {
4937	type NoMethod ListMessagesResponse
4938	raw := NoMethod(*s)
4939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4940}
4941
4942// ListOperationsResponse: The response message for
4943// Operations.ListOperations.
4944type ListOperationsResponse struct {
4945	// NextPageToken: The standard List next-page token.
4946	NextPageToken string `json:"nextPageToken,omitempty"`
4947
4948	// Operations: A list of operations that matches the specified filter in
4949	// the request.
4950	Operations []*Operation `json:"operations,omitempty"`
4951
4952	// ServerResponse contains the HTTP response code and headers from the
4953	// server.
4954	googleapi.ServerResponse `json:"-"`
4955
4956	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4957	// unconditionally include in API requests. By default, fields with
4958	// empty values are omitted from API requests. However, any non-pointer,
4959	// non-interface field appearing in ForceSendFields will be sent to the
4960	// server regardless of whether the field is empty or not. This may be
4961	// used to include empty fields in Patch requests.
4962	ForceSendFields []string `json:"-"`
4963
4964	// NullFields is a list of field names (e.g. "NextPageToken") to include
4965	// in API requests with the JSON null value. By default, fields with
4966	// empty values are omitted from API requests. However, any field with
4967	// an empty value appearing in NullFields will be sent to the server as
4968	// null. It is an error if a field in this list has a non-empty value.
4969	// This may be used to include null fields in Patch requests.
4970	NullFields []string `json:"-"`
4971}
4972
4973func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
4974	type NoMethod ListOperationsResponse
4975	raw := NoMethod(*s)
4976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4977}
4978
4979type ListUserDataMappingsResponse struct {
4980	// NextPageToken: Token to retrieve the next page of results, or empty
4981	// if there are no more results in the list.
4982	NextPageToken string `json:"nextPageToken,omitempty"`
4983
4984	// UserDataMappings: The returned User data mappings. The maximum number
4985	// of User data mappings returned is determined by the value of
4986	// page_size in the ListUserDataMappingsRequest.
4987	UserDataMappings []*UserDataMapping `json:"userDataMappings,omitempty"`
4988
4989	// ServerResponse contains the HTTP response code and headers from the
4990	// server.
4991	googleapi.ServerResponse `json:"-"`
4992
4993	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4994	// unconditionally include in API requests. By default, fields with
4995	// empty values are omitted from API requests. However, any non-pointer,
4996	// non-interface field appearing in ForceSendFields will be sent to the
4997	// server regardless of whether the field is empty or not. This may be
4998	// used to include empty fields in Patch requests.
4999	ForceSendFields []string `json:"-"`
5000
5001	// NullFields is a list of field names (e.g. "NextPageToken") to include
5002	// in API requests with the JSON null value. By default, fields with
5003	// empty values are omitted from API requests. However, any field with
5004	// an empty value appearing in NullFields will be sent to the server as
5005	// null. It is an error if a field in this list has a non-empty value.
5006	// This may be used to include null fields in Patch requests.
5007	NullFields []string `json:"-"`
5008}
5009
5010func (s *ListUserDataMappingsResponse) MarshalJSON() ([]byte, error) {
5011	type NoMethod ListUserDataMappingsResponse
5012	raw := NoMethod(*s)
5013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5014}
5015
5016// Location: A resource that represents Google Cloud Platform location.
5017type Location struct {
5018	// DisplayName: The friendly name for this location, typically a nearby
5019	// city name. For example, "Tokyo".
5020	DisplayName string `json:"displayName,omitempty"`
5021
5022	// Labels: Cross-service attributes for the location. For example
5023	// {"cloud.googleapis.com/region": "us-east1"}
5024	Labels map[string]string `json:"labels,omitempty"`
5025
5026	// LocationId: The canonical id for this location. For example:
5027	// "us-east1".
5028	LocationId string `json:"locationId,omitempty"`
5029
5030	// Metadata: Service-specific metadata. For example the available
5031	// capacity at the given location.
5032	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5033
5034	// Name: Resource name for the location, which may vary between
5035	// implementations. For example:
5036	// "projects/example-project/locations/us-east1"
5037	Name string `json:"name,omitempty"`
5038
5039	// ServerResponse contains the HTTP response code and headers from the
5040	// server.
5041	googleapi.ServerResponse `json:"-"`
5042
5043	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5044	// unconditionally include in API requests. By default, fields with
5045	// empty values are omitted from API requests. However, any non-pointer,
5046	// non-interface field appearing in ForceSendFields will be sent to the
5047	// server regardless of whether the field is empty or not. This may be
5048	// used to include empty fields in Patch requests.
5049	ForceSendFields []string `json:"-"`
5050
5051	// NullFields is a list of field names (e.g. "DisplayName") to include
5052	// in API requests with the JSON null value. By default, fields with
5053	// empty values are omitted from API requests. However, any field with
5054	// an empty value appearing in NullFields will be sent to the server as
5055	// null. It is an error if a field in this list has a non-empty value.
5056	// This may be used to include null fields in Patch requests.
5057	NullFields []string `json:"-"`
5058}
5059
5060func (s *Location) MarshalJSON() ([]byte, error) {
5061	type NoMethod Location
5062	raw := NoMethod(*s)
5063	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5064}
5065
5066// Message: A complete HL7v2 message. See [Introduction to HL7
5067// Standards]
5068// (https://www.hl7.org/implement/standards/index.cfm?ref=common) for
5069// details on the standard.
5070type Message struct {
5071	// CreateTime: Output only. The datetime when the message was created.
5072	// Set by the server.
5073	CreateTime string `json:"createTime,omitempty"`
5074
5075	// Data: Raw message bytes.
5076	Data string `json:"data,omitempty"`
5077
5078	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
5079	// Label keys must be between 1 and 63 characters long, have a UTF-8
5080	// encoding of maximum 128 bytes, and must conform to the following PCRE
5081	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
5082	// must be between 1 and 63 characters long, have a UTF-8 encoding of
5083	// maximum 128 bytes, and must conform to the following PCRE regular
5084	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
5085	// associated with a given store.
5086	Labels map[string]string `json:"labels,omitempty"`
5087
5088	// MessageType: The message type for this message. MSH-9.1.
5089	MessageType string `json:"messageType,omitempty"`
5090
5091	// Name: Resource name of the Message, of the form
5092	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store
5093	// _id}/messages/{message_id}`. Assigned by the server.
5094	Name string `json:"name,omitempty"`
5095
5096	// ParsedData: Output only. The parsed version of the raw message data.
5097	ParsedData *ParsedData `json:"parsedData,omitempty"`
5098
5099	// PatientIds: All patient IDs listed in the PID-2, PID-3, and PID-4
5100	// segments of this message.
5101	PatientIds []*PatientId `json:"patientIds,omitempty"`
5102
5103	// SchematizedData: The parsed version of the raw message data
5104	// schematized according to this store's schemas and type definitions.
5105	SchematizedData *SchematizedData `json:"schematizedData,omitempty"`
5106
5107	// SendFacility: The hospital that this message came from. MSH-4.
5108	SendFacility string `json:"sendFacility,omitempty"`
5109
5110	// SendTime: The datetime the sending application sent this message.
5111	// MSH-7.
5112	SendTime string `json:"sendTime,omitempty"`
5113
5114	// ServerResponse contains the HTTP response code and headers from the
5115	// server.
5116	googleapi.ServerResponse `json:"-"`
5117
5118	// ForceSendFields is a list of field names (e.g. "CreateTime") to
5119	// unconditionally include in API requests. By default, fields with
5120	// empty values are omitted from API requests. However, any non-pointer,
5121	// non-interface field appearing in ForceSendFields will be sent to the
5122	// server regardless of whether the field is empty or not. This may be
5123	// used to include empty fields in Patch requests.
5124	ForceSendFields []string `json:"-"`
5125
5126	// NullFields is a list of field names (e.g. "CreateTime") to include in
5127	// API requests with the JSON null value. By default, fields with empty
5128	// values are omitted from API requests. However, any field with an
5129	// empty value appearing in NullFields will be sent to the server as
5130	// null. It is an error if a field in this list has a non-empty value.
5131	// This may be used to include null fields in Patch requests.
5132	NullFields []string `json:"-"`
5133}
5134
5135func (s *Message) MarshalJSON() ([]byte, error) {
5136	type NoMethod Message
5137	raw := NoMethod(*s)
5138	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5139}
5140
5141// NotificationConfig: Specifies where to send notifications upon
5142// changes to a data store.
5143type NotificationConfig struct {
5144	// PubsubTopic: The Cloud Pub/Sub
5145	// (https://cloud.google.com/pubsub/docs/) topic that notifications of
5146	// changes are published on. Supplied by the client. PubsubMessage.Data
5147	// contains the resource name. PubsubMessage.MessageId is the ID of this
5148	// message. It is guaranteed to be unique within the topic.
5149	// PubsubMessage.PublishTime is the time at which the message was
5150	// published. Notifications are only sent if the topic is non-empty.
5151	// Topic names (https://cloud.google.com/pubsub/docs/overview#names)
5152	// must be scoped to a project. Cloud Healthcare API service account
5153	// must have publisher permissions on the given Cloud Pub/Sub topic. Not
5154	// having adequate permissions causes the calls that send notifications
5155	// to fail. If a notification can't be published to Cloud Pub/Sub,
5156	// errors are logged to Cloud Logging (see Viewing logs
5157	// (/healthcare/docs/how-tos/logging)). If the number of errors exceeds
5158	// a certain rate, some aren't submitted. Note that not all operations
5159	// trigger notifications, see Configuring Pub/Sub notifications
5160	// (https://cloud.google.com/healthcare/docs/how-tos/pubsub) for
5161	// specific details.
5162	PubsubTopic string `json:"pubsubTopic,omitempty"`
5163
5164	// ForceSendFields is a list of field names (e.g. "PubsubTopic") to
5165	// unconditionally include in API requests. By default, fields with
5166	// empty values are omitted from API requests. However, any non-pointer,
5167	// non-interface field appearing in ForceSendFields will be sent to the
5168	// server regardless of whether the field is empty or not. This may be
5169	// used to include empty fields in Patch requests.
5170	ForceSendFields []string `json:"-"`
5171
5172	// NullFields is a list of field names (e.g. "PubsubTopic") to include
5173	// in API requests with the JSON null value. By default, fields with
5174	// empty values are omitted from API requests. However, any field with
5175	// an empty value appearing in NullFields will be sent to the server as
5176	// null. It is an error if a field in this list has a non-empty value.
5177	// This may be used to include null fields in Patch requests.
5178	NullFields []string `json:"-"`
5179}
5180
5181func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
5182	type NoMethod NotificationConfig
5183	raw := NoMethod(*s)
5184	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5185}
5186
5187// Operation: This resource represents a long-running operation that is
5188// the result of a network API call.
5189type Operation struct {
5190	// Done: If the value is `false`, it means the operation is still in
5191	// progress. If `true`, the operation is completed, and either `error`
5192	// or `response` is available.
5193	Done bool `json:"done,omitempty"`
5194
5195	// Error: The error result of the operation in case of failure or
5196	// cancellation.
5197	Error *Status `json:"error,omitempty"`
5198
5199	// Metadata: Service-specific metadata associated with the operation. It
5200	// typically contains progress information and common metadata such as
5201	// create time. Some services might not provide such metadata. Any
5202	// method that returns a long-running operation should document the
5203	// metadata type, if any.
5204	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5205
5206	// Name: The server-assigned name, which is only unique within the same
5207	// service that originally returns it. If you use the default HTTP
5208	// mapping, the `name` should be a resource name ending with
5209	// `operations/{unique_id}`.
5210	Name string `json:"name,omitempty"`
5211
5212	// Response: The normal response of the operation in case of success. If
5213	// the original method returns no data on success, such as `Delete`, the
5214	// response is `google.protobuf.Empty`. If the original method is
5215	// standard `Get`/`Create`/`Update`, the response should be the
5216	// resource. For other methods, the response should have the type
5217	// `XxxResponse`, where `Xxx` is the original method name. For example,
5218	// if the original method name is `TakeSnapshot()`, the inferred
5219	// response type is `TakeSnapshotResponse`.
5220	Response googleapi.RawMessage `json:"response,omitempty"`
5221
5222	// ServerResponse contains the HTTP response code and headers from the
5223	// server.
5224	googleapi.ServerResponse `json:"-"`
5225
5226	// ForceSendFields is a list of field names (e.g. "Done") to
5227	// unconditionally include in API requests. By default, fields with
5228	// empty values are omitted from API requests. However, any non-pointer,
5229	// non-interface field appearing in ForceSendFields will be sent to the
5230	// server regardless of whether the field is empty or not. This may be
5231	// used to include empty fields in Patch requests.
5232	ForceSendFields []string `json:"-"`
5233
5234	// NullFields is a list of field names (e.g. "Done") to include in API
5235	// requests with the JSON null value. By default, fields with empty
5236	// values are omitted from API requests. However, any field with an
5237	// empty value appearing in NullFields will be sent to the server as
5238	// null. It is an error if a field in this list has a non-empty value.
5239	// This may be used to include null fields in Patch requests.
5240	NullFields []string `json:"-"`
5241}
5242
5243func (s *Operation) MarshalJSON() ([]byte, error) {
5244	type NoMethod Operation
5245	raw := NoMethod(*s)
5246	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5247}
5248
5249// OperationMetadata: OperationMetadata provides information about the
5250// operation execution. Returned in the long-running operation's
5251// metadata field.
5252type OperationMetadata struct {
5253	// ApiMethodName: The name of the API method that initiated the
5254	// operation.
5255	ApiMethodName string `json:"apiMethodName,omitempty"`
5256
5257	// CancelRequested: Specifies if cancellation was requested for the
5258	// operation.
5259	CancelRequested bool `json:"cancelRequested,omitempty"`
5260
5261	Counter *ProgressCounter `json:"counter,omitempty"`
5262
5263	// CreateTime: The time at which the operation was created by the API.
5264	CreateTime string `json:"createTime,omitempty"`
5265
5266	// EndTime: The time at which execution was completed.
5267	EndTime string `json:"endTime,omitempty"`
5268
5269	// LogsUrl: A link to audit and error logs in the log viewer. Error logs
5270	// are generated only by some operations, listed at Viewing logs
5271	// (/healthcare/docs/how-tos/logging).
5272	LogsUrl string `json:"logsUrl,omitempty"`
5273
5274	// ForceSendFields is a list of field names (e.g. "ApiMethodName") to
5275	// unconditionally include in API requests. By default, fields with
5276	// empty values are omitted from API requests. However, any non-pointer,
5277	// non-interface field appearing in ForceSendFields will be sent to the
5278	// server regardless of whether the field is empty or not. This may be
5279	// used to include empty fields in Patch requests.
5280	ForceSendFields []string `json:"-"`
5281
5282	// NullFields is a list of field names (e.g. "ApiMethodName") to include
5283	// in API requests with the JSON null value. By default, fields with
5284	// empty values are omitted from API requests. However, any field with
5285	// an empty value appearing in NullFields will be sent to the server as
5286	// null. It is an error if a field in this list has a non-empty value.
5287	// This may be used to include null fields in Patch requests.
5288	NullFields []string `json:"-"`
5289}
5290
5291func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
5292	type NoMethod OperationMetadata
5293	raw := NoMethod(*s)
5294	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5295}
5296
5297// ParsedData: The content of an HL7v2 message in a structured format.
5298type ParsedData struct {
5299	Segments []*Segment `json:"segments,omitempty"`
5300
5301	// ForceSendFields is a list of field names (e.g. "Segments") to
5302	// unconditionally include in API requests. By default, fields with
5303	// empty values are omitted from API requests. However, any non-pointer,
5304	// non-interface field appearing in ForceSendFields will be sent to the
5305	// server regardless of whether the field is empty or not. This may be
5306	// used to include empty fields in Patch requests.
5307	ForceSendFields []string `json:"-"`
5308
5309	// NullFields is a list of field names (e.g. "Segments") to include in
5310	// API requests with the JSON null value. By default, fields with empty
5311	// values are omitted from API requests. However, any field with an
5312	// empty value appearing in NullFields will be sent to the server as
5313	// null. It is an error if a field in this list has a non-empty value.
5314	// This may be used to include null fields in Patch requests.
5315	NullFields []string `json:"-"`
5316}
5317
5318func (s *ParsedData) MarshalJSON() ([]byte, error) {
5319	type NoMethod ParsedData
5320	raw := NoMethod(*s)
5321	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5322}
5323
5324// ParserConfig: The configuration for the parser. It determines how the
5325// server parses the messages.
5326type ParserConfig struct {
5327	// AllowNullHeader: Determines whether messages with no header are
5328	// allowed.
5329	AllowNullHeader bool `json:"allowNullHeader,omitempty"`
5330
5331	// Schema: Schemas used to parse messages in this store, if schematized
5332	// parsing is desired.
5333	Schema *SchemaPackage `json:"schema,omitempty"`
5334
5335	// SegmentTerminator: Byte(s) to use as the segment terminator. If this
5336	// is unset, '\r' is used as segment terminator, matching the HL7
5337	// version 2 specification.
5338	SegmentTerminator string `json:"segmentTerminator,omitempty"`
5339
5340	// Version: Immutable. Determines the version of the unschematized
5341	// parser to be used when `schema` is not given. This field is immutable
5342	// after store creation.
5343	//
5344	// Possible values:
5345	//   "PARSER_VERSION_UNSPECIFIED" - Unspecified parser version,
5346	// equivalent to V1.
5347	//   "V1" - The `parsed_data` includes every given non-empty message
5348	// field except the Field Separator (MSH-1) field. As a result, the
5349	// parsed MSH segment starts with the MSH-2 field and the field numbers
5350	// are off-by-one with respect to the HL7 standard.
5351	//   "V2" - The `parsed_data` includes every given non-empty message
5352	// field.
5353	Version string `json:"version,omitempty"`
5354
5355	// ForceSendFields is a list of field names (e.g. "AllowNullHeader") to
5356	// unconditionally include in API requests. By default, fields with
5357	// empty values are omitted from API requests. However, any non-pointer,
5358	// non-interface field appearing in ForceSendFields will be sent to the
5359	// server regardless of whether the field is empty or not. This may be
5360	// used to include empty fields in Patch requests.
5361	ForceSendFields []string `json:"-"`
5362
5363	// NullFields is a list of field names (e.g. "AllowNullHeader") to
5364	// include in API requests with the JSON null value. By default, fields
5365	// with empty values are omitted from API requests. However, any field
5366	// with an empty value appearing in NullFields will be sent to the
5367	// server as null. It is an error if a field in this list has a
5368	// non-empty value. This may be used to include null fields in Patch
5369	// requests.
5370	NullFields []string `json:"-"`
5371}
5372
5373func (s *ParserConfig) MarshalJSON() ([]byte, error) {
5374	type NoMethod ParserConfig
5375	raw := NoMethod(*s)
5376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5377}
5378
5379// PatientId: A patient identifier and associated type.
5380type PatientId struct {
5381	// Type: ID type. For example, MRN or NHS.
5382	Type string `json:"type,omitempty"`
5383
5384	// Value: The patient's unique identifier.
5385	Value string `json:"value,omitempty"`
5386
5387	// ForceSendFields is a list of field names (e.g. "Type") to
5388	// unconditionally include in API requests. By default, fields with
5389	// empty values are omitted from API requests. However, any non-pointer,
5390	// non-interface field appearing in ForceSendFields will be sent to the
5391	// server regardless of whether the field is empty or not. This may be
5392	// used to include empty fields in Patch requests.
5393	ForceSendFields []string `json:"-"`
5394
5395	// NullFields is a list of field names (e.g. "Type") to include in API
5396	// requests with the JSON null value. By default, fields with empty
5397	// values are omitted from API requests. However, any field with an
5398	// empty value appearing in NullFields will be sent to the server as
5399	// null. It is an error if a field in this list has a non-empty value.
5400	// This may be used to include null fields in Patch requests.
5401	NullFields []string `json:"-"`
5402}
5403
5404func (s *PatientId) MarshalJSON() ([]byte, error) {
5405	type NoMethod PatientId
5406	raw := NoMethod(*s)
5407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5408}
5409
5410// Policy: An Identity and Access Management (IAM) policy, which
5411// specifies access controls for Google Cloud resources. A `Policy` is a
5412// collection of `bindings`. A `binding` binds one or more `members` to
5413// a single `role`. Members can be user accounts, service accounts,
5414// Google groups, and domains (such as G Suite). A `role` is a named
5415// list of permissions; each `role` can be an IAM predefined role or a
5416// user-created custom role. For some types of Google Cloud resources, a
5417// `binding` can also specify a `condition`, which is a logical
5418// expression that allows access to a resource only if the expression
5419// evaluates to `true`. A condition can add constraints based on
5420// attributes of the request, the resource, or both. To learn which
5421// resources support conditions in their IAM policies, see the IAM
5422// documentation
5423// (https://cloud.google.com/iam/help/conditions/resource-policies).
5424// **JSON example:** { "bindings": [ { "role":
5425// "roles/resourcemanager.organizationAdmin", "members": [
5426// "user:mike@example.com", "group:admins@example.com",
5427// "domain:google.com",
5428// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
5429// "role": "roles/resourcemanager.organizationViewer", "members": [
5430// "user:eve@example.com" ], "condition": { "title": "expirable access",
5431// "description": "Does not grant access after Sep 2020", "expression":
5432// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
5433// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
5434// members: - user:mike@example.com - group:admins@example.com -
5435// domain:google.com -
5436// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
5437// roles/resourcemanager.organizationAdmin - members: -
5438// user:eve@example.com role: roles/resourcemanager.organizationViewer
5439// condition: title: expirable access description: Does not grant access
5440// after Sep 2020 expression: request.time <
5441// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
5442// 3 For a description of IAM and its features, see the IAM
5443// documentation (https://cloud.google.com/iam/docs/).
5444type Policy struct {
5445	// AuditConfigs: Specifies cloud audit logging configuration for this
5446	// policy.
5447	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
5448
5449	// Bindings: Associates a list of `members` to a `role`. Optionally, may
5450	// specify a `condition` that determines how and when the `bindings` are
5451	// applied. Each of the `bindings` must contain at least one member.
5452	Bindings []*Binding `json:"bindings,omitempty"`
5453
5454	// Etag: `etag` is used for optimistic concurrency control as a way to
5455	// help prevent simultaneous updates of a policy from overwriting each
5456	// other. It is strongly suggested that systems make use of the `etag`
5457	// in the read-modify-write cycle to perform policy updates in order to
5458	// avoid race conditions: An `etag` is returned in the response to
5459	// `getIamPolicy`, and systems are expected to put that etag in the
5460	// request to `setIamPolicy` to ensure that their change will be applied
5461	// to the same version of the policy. **Important:** If you use IAM
5462	// Conditions, you must include the `etag` field whenever you call
5463	// `setIamPolicy`. If you omit this field, then IAM allows you to
5464	// overwrite a version `3` policy with a version `1` policy, and all of
5465	// the conditions in the version `3` policy are lost.
5466	Etag string `json:"etag,omitempty"`
5467
5468	// Version: Specifies the format of the policy. Valid values are `0`,
5469	// `1`, and `3`. Requests that specify an invalid value are rejected.
5470	// Any operation that affects conditional role bindings must specify
5471	// version `3`. This requirement applies to the following operations: *
5472	// Getting a policy that includes a conditional role binding * Adding a
5473	// conditional role binding to a policy * Changing a conditional role
5474	// binding in a policy * Removing any role binding, with or without a
5475	// condition, from a policy that includes conditions **Important:** If
5476	// you use IAM Conditions, you must include the `etag` field whenever
5477	// you call `setIamPolicy`. If you omit this field, then IAM allows you
5478	// to overwrite a version `3` policy with a version `1` policy, and all
5479	// of the conditions in the version `3` policy are lost. If a policy
5480	// does not include any conditions, operations on that policy may
5481	// specify any valid version or leave the field unset. To learn which
5482	// resources support conditions in their IAM policies, see the IAM
5483	// documentation
5484	// (https://cloud.google.com/iam/help/conditions/resource-policies).
5485	Version int64 `json:"version,omitempty"`
5486
5487	// ServerResponse contains the HTTP response code and headers from the
5488	// server.
5489	googleapi.ServerResponse `json:"-"`
5490
5491	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
5492	// unconditionally include in API requests. By default, fields with
5493	// empty values are omitted from API requests. However, any non-pointer,
5494	// non-interface field appearing in ForceSendFields will be sent to the
5495	// server regardless of whether the field is empty or not. This may be
5496	// used to include empty fields in Patch requests.
5497	ForceSendFields []string `json:"-"`
5498
5499	// NullFields is a list of field names (e.g. "AuditConfigs") to include
5500	// in API requests with the JSON null value. By default, fields with
5501	// empty values are omitted from API requests. However, any field with
5502	// an empty value appearing in NullFields will be sent to the server as
5503	// null. It is an error if a field in this list has a non-empty value.
5504	// This may be used to include null fields in Patch requests.
5505	NullFields []string `json:"-"`
5506}
5507
5508func (s *Policy) MarshalJSON() ([]byte, error) {
5509	type NoMethod Policy
5510	raw := NoMethod(*s)
5511	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5512}
5513
5514// ProgressCounter: ProgressCounter provides counters to describe an
5515// operation's progress.
5516type ProgressCounter struct {
5517	// Failure: The number of units that failed in the operation.
5518	Failure int64 `json:"failure,omitempty,string"`
5519
5520	// Pending: The number of units that are pending in the operation.
5521	Pending int64 `json:"pending,omitempty,string"`
5522
5523	// Success: The number of units that succeeded in the operation.
5524	Success int64 `json:"success,omitempty,string"`
5525
5526	// ForceSendFields is a list of field names (e.g. "Failure") to
5527	// unconditionally include in API requests. By default, fields with
5528	// empty values are omitted from API requests. However, any non-pointer,
5529	// non-interface field appearing in ForceSendFields will be sent to the
5530	// server regardless of whether the field is empty or not. This may be
5531	// used to include empty fields in Patch requests.
5532	ForceSendFields []string `json:"-"`
5533
5534	// NullFields is a list of field names (e.g. "Failure") to include in
5535	// API requests with the JSON null value. By default, fields with empty
5536	// values are omitted from API requests. However, any field with an
5537	// empty value appearing in NullFields will be sent to the server as
5538	// null. It is an error if a field in this list has a non-empty value.
5539	// This may be used to include null fields in Patch requests.
5540	NullFields []string `json:"-"`
5541}
5542
5543func (s *ProgressCounter) MarshalJSON() ([]byte, error) {
5544	type NoMethod ProgressCounter
5545	raw := NoMethod(*s)
5546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5547}
5548
5549// QueryAccessibleDataRequest: Queries all data_ids that are consented
5550// for a given use in the given consent store and writes them to a
5551// specified destination. The returned Operation includes a progress
5552// counter for the number of User data mappings processed. Errors are
5553// logged to Cloud Logging (see [Viewing logs]
5554// (/healthcare/docs/how-tos/logging) and [QueryAccessibleData] for a
5555// sample log entry).
5556type QueryAccessibleDataRequest struct {
5557	// GcsDestination: The Cloud Storage destination. The Cloud Healthcare
5558	// API service account must have the `roles/storage.objectAdmin` Cloud
5559	// IAM role for this Cloud Storage location.
5560	GcsDestination *GoogleCloudHealthcareV1beta1ConsentGcsDestination `json:"gcsDestination,omitempty"`
5561
5562	// RequestAttributes: The values of request attributes associated with
5563	// this access request.
5564	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
5565
5566	// ResourceAttributes: Optional. The values of resource attributes
5567	// associated with the type of resources being requested. If no values
5568	// are specified, then all resource types are included in the output.
5569	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
5570
5571	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
5572	// unconditionally include in API requests. By default, fields with
5573	// empty values are omitted from API requests. However, any non-pointer,
5574	// non-interface field appearing in ForceSendFields will be sent to the
5575	// server regardless of whether the field is empty or not. This may be
5576	// used to include empty fields in Patch requests.
5577	ForceSendFields []string `json:"-"`
5578
5579	// NullFields is a list of field names (e.g. "GcsDestination") to
5580	// include in API requests with the JSON null value. By default, fields
5581	// with empty values are omitted from API requests. However, any field
5582	// with an empty value appearing in NullFields will be sent to the
5583	// server as null. It is an error if a field in this list has a
5584	// non-empty value. This may be used to include null fields in Patch
5585	// requests.
5586	NullFields []string `json:"-"`
5587}
5588
5589func (s *QueryAccessibleDataRequest) MarshalJSON() ([]byte, error) {
5590	type NoMethod QueryAccessibleDataRequest
5591	raw := NoMethod(*s)
5592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5593}
5594
5595// RedactConfig: Define how to redact sensitive values. Default
5596// behaviour is erase. For example, "My name is Jane." becomes "My name
5597// is ."
5598type RedactConfig struct {
5599}
5600
5601// RejectConsentRequest: Rejects the latest revision of the specified
5602// Consent by committing a new revision with `state` updated to
5603// `REJECTED`. If the latest revision of the given Consent is in the
5604// `REJECTED` state, no new revision is committed.
5605type RejectConsentRequest struct {
5606	// ConsentArtifact: Optional. The resource name of the Consent artifact
5607	// that contains documentation of the user's rejection of the draft
5608	// Consent, of the form
5609	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5610	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5611	// `. If the draft Consent had a Consent artifact, this Consent artifact
5612	// overwrites it.
5613	ConsentArtifact string `json:"consentArtifact,omitempty"`
5614
5615	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5616	// unconditionally include in API requests. By default, fields with
5617	// empty values are omitted from API requests. However, any non-pointer,
5618	// non-interface field appearing in ForceSendFields will be sent to the
5619	// server regardless of whether the field is empty or not. This may be
5620	// used to include empty fields in Patch requests.
5621	ForceSendFields []string `json:"-"`
5622
5623	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5624	// include in API requests with the JSON null value. By default, fields
5625	// with empty values are omitted from API requests. However, any field
5626	// with an empty value appearing in NullFields will be sent to the
5627	// server as null. It is an error if a field in this list has a
5628	// non-empty value. This may be used to include null fields in Patch
5629	// requests.
5630	NullFields []string `json:"-"`
5631}
5632
5633func (s *RejectConsentRequest) MarshalJSON() ([]byte, error) {
5634	type NoMethod RejectConsentRequest
5635	raw := NoMethod(*s)
5636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5637}
5638
5639// ReplaceWithInfoTypeConfig: When using the INSPECT_AND_TRANSFORM
5640// action, each match is replaced with the name of the info_type. For
5641// example, "My name is Jane" becomes "My name is [PERSON_NAME]." The
5642// TRANSFORM action is equivalent to redacting.
5643type ReplaceWithInfoTypeConfig struct {
5644}
5645
5646// ResourceAnnotation: Resource level annotation.
5647type ResourceAnnotation struct {
5648	// Label: A description of the annotation record.
5649	Label string `json:"label,omitempty"`
5650
5651	// ForceSendFields is a list of field names (e.g. "Label") to
5652	// unconditionally include in API requests. By default, fields with
5653	// empty values are omitted from API requests. However, any non-pointer,
5654	// non-interface field appearing in ForceSendFields will be sent to the
5655	// server regardless of whether the field is empty or not. This may be
5656	// used to include empty fields in Patch requests.
5657	ForceSendFields []string `json:"-"`
5658
5659	// NullFields is a list of field names (e.g. "Label") to include in API
5660	// requests with the JSON null value. By default, fields with empty
5661	// values are omitted from API requests. However, any field with an
5662	// empty value appearing in NullFields will be sent to the server as
5663	// null. It is an error if a field in this list has a non-empty value.
5664	// This may be used to include null fields in Patch requests.
5665	NullFields []string `json:"-"`
5666}
5667
5668func (s *ResourceAnnotation) MarshalJSON() ([]byte, error) {
5669	type NoMethod ResourceAnnotation
5670	raw := NoMethod(*s)
5671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5672}
5673
5674// Resources: A list of FHIR resources.
5675type Resources struct {
5676	// Resources: List of resources IDs. For example, "Patient/1234".
5677	Resources []string `json:"resources,omitempty"`
5678
5679	// ForceSendFields is a list of field names (e.g. "Resources") to
5680	// unconditionally include in API requests. By default, fields with
5681	// empty values are omitted from API requests. However, any non-pointer,
5682	// non-interface field appearing in ForceSendFields will be sent to the
5683	// server regardless of whether the field is empty or not. This may be
5684	// used to include empty fields in Patch requests.
5685	ForceSendFields []string `json:"-"`
5686
5687	// NullFields is a list of field names (e.g. "Resources") to include in
5688	// API requests with the JSON null value. By default, fields with empty
5689	// values are omitted from API requests. However, any field with an
5690	// empty value appearing in NullFields will be sent to the server as
5691	// null. It is an error if a field in this list has a non-empty value.
5692	// This may be used to include null fields in Patch requests.
5693	NullFields []string `json:"-"`
5694}
5695
5696func (s *Resources) MarshalJSON() ([]byte, error) {
5697	type NoMethod Resources
5698	raw := NoMethod(*s)
5699	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5700}
5701
5702// Result: The consent evaluation result for a single `data_id`.
5703type Result struct {
5704	// ConsentDetails: The resource names of all evaluated Consents mapped
5705	// to their evaluation.
5706	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
5707
5708	// Consented: Whether the resource is consented for the given use.
5709	Consented bool `json:"consented,omitempty"`
5710
5711	// DataId: The unique identifier of the evaluated resource.
5712	DataId string `json:"dataId,omitempty"`
5713
5714	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
5715	// unconditionally include in API requests. By default, fields with
5716	// empty values are omitted from API requests. However, any non-pointer,
5717	// non-interface field appearing in ForceSendFields will be sent to the
5718	// server regardless of whether the field is empty or not. This may be
5719	// used to include empty fields in Patch requests.
5720	ForceSendFields []string `json:"-"`
5721
5722	// NullFields is a list of field names (e.g. "ConsentDetails") to
5723	// include in API requests with the JSON null value. By default, fields
5724	// with empty values are omitted from API requests. However, any field
5725	// with an empty value appearing in NullFields will be sent to the
5726	// server as null. It is an error if a field in this list has a
5727	// non-empty value. This may be used to include null fields in Patch
5728	// requests.
5729	NullFields []string `json:"-"`
5730}
5731
5732func (s *Result) MarshalJSON() ([]byte, error) {
5733	type NoMethod Result
5734	raw := NoMethod(*s)
5735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5736}
5737
5738// RevokeConsentRequest: Revokes the latest revision of the specified
5739// Consent by committing a new revision with `state` updated to
5740// `REVOKED`. If the latest revision of the given Consent is in the
5741// `REVOKED` state, no new revision is committed.
5742type RevokeConsentRequest struct {
5743	// ConsentArtifact: Optional. The resource name of the Consent artifact
5744	// that contains proof of the user's revocation of the Consent, of the
5745	// form
5746	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5747	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5748	// `.
5749	ConsentArtifact string `json:"consentArtifact,omitempty"`
5750
5751	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5752	// unconditionally include in API requests. By default, fields with
5753	// empty values are omitted from API requests. However, any non-pointer,
5754	// non-interface field appearing in ForceSendFields will be sent to the
5755	// server regardless of whether the field is empty or not. This may be
5756	// used to include empty fields in Patch requests.
5757	ForceSendFields []string `json:"-"`
5758
5759	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5760	// include in API requests with the JSON null value. By default, fields
5761	// with empty values are omitted from API requests. However, any field
5762	// with an empty value appearing in NullFields will be sent to the
5763	// server as null. It is an error if a field in this list has a
5764	// non-empty value. This may be used to include null fields in Patch
5765	// requests.
5766	NullFields []string `json:"-"`
5767}
5768
5769func (s *RevokeConsentRequest) MarshalJSON() ([]byte, error) {
5770	type NoMethod RevokeConsentRequest
5771	raw := NoMethod(*s)
5772	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5773}
5774
5775// SchemaConfig: Configuration for the FHIR BigQuery schema. Determines
5776// how the server generates the schema.
5777type SchemaConfig struct {
5778	// RecursiveStructureDepth: The depth for all recursive structures in
5779	// the output analytics schema. For example, `concept` in the CodeSystem
5780	// resource is a recursive structure; when the depth is 2, the
5781	// CodeSystem table will have a column called `concept.concept` but not
5782	// `concept.concept.concept`. If not specified or set to 0, the server
5783	// will use the default value 2. The maximum depth allowed is 5.
5784	RecursiveStructureDepth int64 `json:"recursiveStructureDepth,omitempty,string"`
5785
5786	// SchemaType: Specifies the output schema type. Schema type is
5787	// required.
5788	//
5789	// Possible values:
5790	//   "SCHEMA_TYPE_UNSPECIFIED" - No schema type specified. This type is
5791	// unsupported.
5792	//   "LOSSLESS" - A data-driven schema generated from the fields present
5793	// in the FHIR data being exported, with no additional simplification.
5794	//   "ANALYTICS" - Analytics schema defined by the FHIR community. See
5795	// https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
5796	// BigQuery only allows a maximum of 10,000 columns per table. Due to
5797	// this limitation, the server will not generate schemas for fields of
5798	// type `Resource`, which can hold any resource type. The affected
5799	// fields are `Parameters.parameter.resource`, `Bundle.entry.resource`,
5800	// and `Bundle.entry.response.outcome`.
5801	SchemaType string `json:"schemaType,omitempty"`
5802
5803	// ForceSendFields is a list of field names (e.g.
5804	// "RecursiveStructureDepth") to unconditionally include in API
5805	// requests. By default, fields with empty values are omitted from API
5806	// requests. However, any non-pointer, non-interface field appearing in
5807	// ForceSendFields will be sent to the server regardless of whether the
5808	// field is empty or not. This may be used to include empty fields in
5809	// Patch requests.
5810	ForceSendFields []string `json:"-"`
5811
5812	// NullFields is a list of field names (e.g. "RecursiveStructureDepth")
5813	// to include in API requests with the JSON null value. By default,
5814	// fields with empty values are omitted from API requests. However, any
5815	// field with an empty value appearing in NullFields will be sent to the
5816	// server as null. It is an error if a field in this list has a
5817	// non-empty value. This may be used to include null fields in Patch
5818	// requests.
5819	NullFields []string `json:"-"`
5820}
5821
5822func (s *SchemaConfig) MarshalJSON() ([]byte, error) {
5823	type NoMethod SchemaConfig
5824	raw := NoMethod(*s)
5825	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5826}
5827
5828// SchemaGroup: An HL7v2 logical group construct.
5829type SchemaGroup struct {
5830	// Choice: True indicates that this is a choice group, meaning that only
5831	// one of its segments can exist in a given message.
5832	Choice bool `json:"choice,omitempty"`
5833
5834	// MaxOccurs: The maximum number of times this group can be repeated. 0
5835	// or -1 means unbounded.
5836	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5837
5838	// Members: Nested groups and/or segments.
5839	Members []*GroupOrSegment `json:"members,omitempty"`
5840
5841	// MinOccurs: The minimum number of times this group must be
5842	// present/repeated.
5843	MinOccurs int64 `json:"minOccurs,omitempty"`
5844
5845	// Name: The name of this group. For example, "ORDER_DETAIL".
5846	Name string `json:"name,omitempty"`
5847
5848	// ForceSendFields is a list of field names (e.g. "Choice") to
5849	// unconditionally include in API requests. By default, fields with
5850	// empty values are omitted from API requests. However, any non-pointer,
5851	// non-interface field appearing in ForceSendFields will be sent to the
5852	// server regardless of whether the field is empty or not. This may be
5853	// used to include empty fields in Patch requests.
5854	ForceSendFields []string `json:"-"`
5855
5856	// NullFields is a list of field names (e.g. "Choice") to include in API
5857	// requests with the JSON null value. By default, fields with empty
5858	// values are omitted from API requests. However, any field with an
5859	// empty value appearing in NullFields will be sent to the server as
5860	// null. It is an error if a field in this list has a non-empty value.
5861	// This may be used to include null fields in Patch requests.
5862	NullFields []string `json:"-"`
5863}
5864
5865func (s *SchemaGroup) MarshalJSON() ([]byte, error) {
5866	type NoMethod SchemaGroup
5867	raw := NoMethod(*s)
5868	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5869}
5870
5871// SchemaPackage: A schema package contains a set of schemas and type
5872// definitions.
5873type SchemaPackage struct {
5874	// IgnoreMinOccurs: Flag to ignore all min_occurs restrictions in the
5875	// schema. This means that incoming messages can omit any group,
5876	// segment, field, component, or subcomponent.
5877	IgnoreMinOccurs bool `json:"ignoreMinOccurs,omitempty"`
5878
5879	// Schemas: Schema configs that are layered based on their
5880	// VersionSources that match the incoming message. Schema configs
5881	// present in higher indices override those in lower indices with the
5882	// same message type and trigger event if their VersionSources all match
5883	// an incoming message.
5884	Schemas []*Hl7SchemaConfig `json:"schemas,omitempty"`
5885
5886	// SchematizedParsingType: Determines how messages that fail to parse
5887	// are handled.
5888	//
5889	// Possible values:
5890	//   "SCHEMATIZED_PARSING_TYPE_UNSPECIFIED" - Unspecified schematized
5891	// parsing type, equivalent to `SOFT_FAIL`.
5892	//   "SOFT_FAIL" - Messages that fail to parse are still stored and
5893	// ACKed but a parser error is stored in place of the schematized data.
5894	//   "HARD_FAIL" - Messages that fail to parse are rejected from
5895	// ingestion/insertion and return an error code.
5896	SchematizedParsingType string `json:"schematizedParsingType,omitempty"`
5897
5898	// Types: Schema type definitions that are layered based on their
5899	// VersionSources that match the incoming message. Type definitions
5900	// present in higher indices override those in lower indices with the
5901	// same type name if their VersionSources all match an incoming message.
5902	Types []*Hl7TypesConfig `json:"types,omitempty"`
5903
5904	// UnexpectedSegmentHandling: Determines how unexpected segments
5905	// (segments not matched to the schema) are handled.
5906	//
5907	// Possible values:
5908	//   "UNEXPECTED_SEGMENT_HANDLING_MODE_UNSPECIFIED" - Unspecified
5909	// handling mode, equivalent to FAIL.
5910	//   "FAIL" - Unexpected segments fail to parse and return an error.
5911	//   "SKIP" - Unexpected segments do not fail, but are omitted from the
5912	// output.
5913	//   "PARSE" - Unexpected segments do not fail, but are parsed in place
5914	// and added to the current group. If a segment has a type definition,
5915	// it is used, otherwise it is parsed as VARIES.
5916	UnexpectedSegmentHandling string `json:"unexpectedSegmentHandling,omitempty"`
5917
5918	// ForceSendFields is a list of field names (e.g. "IgnoreMinOccurs") to
5919	// unconditionally include in API requests. By default, fields with
5920	// empty values are omitted from API requests. However, any non-pointer,
5921	// non-interface field appearing in ForceSendFields will be sent to the
5922	// server regardless of whether the field is empty or not. This may be
5923	// used to include empty fields in Patch requests.
5924	ForceSendFields []string `json:"-"`
5925
5926	// NullFields is a list of field names (e.g. "IgnoreMinOccurs") to
5927	// include in API requests with the JSON null value. By default, fields
5928	// with empty values are omitted from API requests. However, any field
5929	// with an empty value appearing in NullFields will be sent to the
5930	// server as null. It is an error if a field in this list has a
5931	// non-empty value. This may be used to include null fields in Patch
5932	// requests.
5933	NullFields []string `json:"-"`
5934}
5935
5936func (s *SchemaPackage) MarshalJSON() ([]byte, error) {
5937	type NoMethod SchemaPackage
5938	raw := NoMethod(*s)
5939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5940}
5941
5942// SchemaSegment: An HL7v2 Segment.
5943type SchemaSegment struct {
5944	// MaxOccurs: The maximum number of times this segment can be present in
5945	// this group. 0 or -1 means unbounded.
5946	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5947
5948	// MinOccurs: The minimum number of times this segment can be present in
5949	// this group.
5950	MinOccurs int64 `json:"minOccurs,omitempty"`
5951
5952	// Type: The Segment type. For example, "PID".
5953	Type string `json:"type,omitempty"`
5954
5955	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
5956	// unconditionally include in API requests. By default, fields with
5957	// empty values are omitted from API requests. However, any non-pointer,
5958	// non-interface field appearing in ForceSendFields will be sent to the
5959	// server regardless of whether the field is empty or not. This may be
5960	// used to include empty fields in Patch requests.
5961	ForceSendFields []string `json:"-"`
5962
5963	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
5964	// API requests with the JSON null value. By default, fields with empty
5965	// values are omitted from API requests. However, any field with an
5966	// empty value appearing in NullFields will be sent to the server as
5967	// null. It is an error if a field in this list has a non-empty value.
5968	// This may be used to include null fields in Patch requests.
5969	NullFields []string `json:"-"`
5970}
5971
5972func (s *SchemaSegment) MarshalJSON() ([]byte, error) {
5973	type NoMethod SchemaSegment
5974	raw := NoMethod(*s)
5975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5976}
5977
5978// SchematizedData: The content of an HL7v2 message in a structured
5979// format as specified by a schema.
5980type SchematizedData struct {
5981	// Data: JSON output of the parser.
5982	Data string `json:"data,omitempty"`
5983
5984	// Error: The error output of the parser.
5985	Error string `json:"error,omitempty"`
5986
5987	// ForceSendFields is a list of field names (e.g. "Data") to
5988	// unconditionally include in API requests. By default, fields with
5989	// empty values are omitted from API requests. However, any non-pointer,
5990	// non-interface field appearing in ForceSendFields will be sent to the
5991	// server regardless of whether the field is empty or not. This may be
5992	// used to include empty fields in Patch requests.
5993	ForceSendFields []string `json:"-"`
5994
5995	// NullFields is a list of field names (e.g. "Data") to include in API
5996	// requests with the JSON null value. By default, fields with empty
5997	// values are omitted from API requests. However, any field with an
5998	// empty value appearing in NullFields will be sent to the server as
5999	// null. It is an error if a field in this list has a non-empty value.
6000	// This may be used to include null fields in Patch requests.
6001	NullFields []string `json:"-"`
6002}
6003
6004func (s *SchematizedData) MarshalJSON() ([]byte, error) {
6005	type NoMethod SchematizedData
6006	raw := NoMethod(*s)
6007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6008}
6009
6010// SearchResourcesRequest: Request to search the resources in the
6011// specified FHIR store.
6012type SearchResourcesRequest struct {
6013	// ResourceType: The FHIR resource type to search, such as Patient or
6014	// Observation. For a complete list, see the FHIR Resource Index (DSTU2
6015	// (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
6016	// STU3
6017	// (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), R4
6018	// (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
6019	ResourceType string `json:"resourceType,omitempty"`
6020
6021	// ForceSendFields is a list of field names (e.g. "ResourceType") to
6022	// unconditionally include in API requests. By default, fields with
6023	// empty values are omitted from API requests. However, any non-pointer,
6024	// non-interface field appearing in ForceSendFields will be sent to the
6025	// server regardless of whether the field is empty or not. This may be
6026	// used to include empty fields in Patch requests.
6027	ForceSendFields []string `json:"-"`
6028
6029	// NullFields is a list of field names (e.g. "ResourceType") to include
6030	// in API requests with the JSON null value. By default, fields with
6031	// empty values are omitted from API requests. However, any field with
6032	// an empty value appearing in NullFields will be sent to the server as
6033	// null. It is an error if a field in this list has a non-empty value.
6034	// This may be used to include null fields in Patch requests.
6035	NullFields []string `json:"-"`
6036}
6037
6038func (s *SearchResourcesRequest) MarshalJSON() ([]byte, error) {
6039	type NoMethod SearchResourcesRequest
6040	raw := NoMethod(*s)
6041	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6042}
6043
6044// Segment: A segment in a structured format.
6045type Segment struct {
6046	// Fields: A mapping from the positional location to the value. The key
6047	// string uses zero-based indexes separated by dots to identify Fields,
6048	// components and sub-components. A bracket notation is also used to
6049	// identify different instances of a repeated field. Regex for key:
6050	// (\d+)(\[\d+\])?(.\d+)?(.\d+)? Examples of (key, value) pairs: * (0.1,
6051	// "hemoglobin") denotes that the first component of Field 0 has the
6052	// value "hemoglobin". * (1.1.2, "CBC") denotes that the second
6053	// sub-component of the first component of Field 1 has the value "CBC".
6054	// * (1[0].1, "HbA1c") denotes that the first component of the first
6055	// Instance of Field 1, which is repeated, has the value "HbA1c".
6056	Fields map[string]string `json:"fields,omitempty"`
6057
6058	// SegmentId: A string that indicates the type of segment. For example,
6059	// EVN or PID.
6060	SegmentId string `json:"segmentId,omitempty"`
6061
6062	// SetId: Set ID for segments that can be in a set. This can be empty if
6063	// it's missing or isn't applicable.
6064	SetId string `json:"setId,omitempty"`
6065
6066	// ForceSendFields is a list of field names (e.g. "Fields") to
6067	// unconditionally include in API requests. By default, fields with
6068	// empty values are omitted from API requests. However, any non-pointer,
6069	// non-interface field appearing in ForceSendFields will be sent to the
6070	// server regardless of whether the field is empty or not. This may be
6071	// used to include empty fields in Patch requests.
6072	ForceSendFields []string `json:"-"`
6073
6074	// NullFields is a list of field names (e.g. "Fields") to include in API
6075	// requests with the JSON null value. By default, fields with empty
6076	// values are omitted from API requests. However, any field with an
6077	// empty value appearing in NullFields will be sent to the server as
6078	// null. It is an error if a field in this list has a non-empty value.
6079	// This may be used to include null fields in Patch requests.
6080	NullFields []string `json:"-"`
6081}
6082
6083func (s *Segment) MarshalJSON() ([]byte, error) {
6084	type NoMethod Segment
6085	raw := NoMethod(*s)
6086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6087}
6088
6089// SensitiveTextAnnotation: A TextAnnotation specifies a text range that
6090// includes sensitive information.
6091type SensitiveTextAnnotation struct {
6092	// Details: Maps from a resource slice. For example, FHIR resource field
6093	// path to a set of sensitive text findings. For example,
6094	// Appointment.Narrative text1 --> {findings_1, findings_2, findings_3}
6095	Details map[string]Detail `json:"details,omitempty"`
6096
6097	// ForceSendFields is a list of field names (e.g. "Details") to
6098	// unconditionally include in API requests. By default, fields with
6099	// empty values are omitted from API requests. However, any non-pointer,
6100	// non-interface field appearing in ForceSendFields will be sent to the
6101	// server regardless of whether the field is empty or not. This may be
6102	// used to include empty fields in Patch requests.
6103	ForceSendFields []string `json:"-"`
6104
6105	// NullFields is a list of field names (e.g. "Details") to include in
6106	// API requests with the JSON null value. By default, fields with empty
6107	// values are omitted from API requests. However, any field with an
6108	// empty value appearing in NullFields will be sent to the server as
6109	// null. It is an error if a field in this list has a non-empty value.
6110	// This may be used to include null fields in Patch requests.
6111	NullFields []string `json:"-"`
6112}
6113
6114func (s *SensitiveTextAnnotation) MarshalJSON() ([]byte, error) {
6115	type NoMethod SensitiveTextAnnotation
6116	raw := NoMethod(*s)
6117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6118}
6119
6120// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
6121type SetIamPolicyRequest struct {
6122	// Policy: REQUIRED: The complete policy to be applied to the
6123	// `resource`. The size of the policy is limited to a few 10s of KB. An
6124	// empty policy is a valid policy but certain Cloud Platform services
6125	// (such as Projects) might reject them.
6126	Policy *Policy `json:"policy,omitempty"`
6127
6128	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
6129	// policy to modify. Only the fields in the mask will be modified. If no
6130	// mask is provided, the following default mask is used: `paths:
6131	// "bindings, etag"
6132	UpdateMask string `json:"updateMask,omitempty"`
6133
6134	// ForceSendFields is a list of field names (e.g. "Policy") to
6135	// unconditionally include in API requests. By default, fields with
6136	// empty values are omitted from API requests. However, any non-pointer,
6137	// non-interface field appearing in ForceSendFields will be sent to the
6138	// server regardless of whether the field is empty or not. This may be
6139	// used to include empty fields in Patch requests.
6140	ForceSendFields []string `json:"-"`
6141
6142	// NullFields is a list of field names (e.g. "Policy") to include in API
6143	// requests with the JSON null value. By default, fields with empty
6144	// values are omitted from API requests. However, any field with an
6145	// empty value appearing in NullFields will be sent to the server as
6146	// null. It is an error if a field in this list has a non-empty value.
6147	// This may be used to include null fields in Patch requests.
6148	NullFields []string `json:"-"`
6149}
6150
6151func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
6152	type NoMethod SetIamPolicyRequest
6153	raw := NoMethod(*s)
6154	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6155}
6156
6157// Signature: User signature.
6158type Signature struct {
6159	// Image: Optional. An image of the user's signature.
6160	Image *Image `json:"image,omitempty"`
6161
6162	// Metadata: Optional. Metadata associated with the user's signature.
6163	// For example, the user's name or the user's title.
6164	Metadata map[string]string `json:"metadata,omitempty"`
6165
6166	// SignatureTime: Optional. Timestamp of the signature.
6167	SignatureTime string `json:"signatureTime,omitempty"`
6168
6169	// UserId: Required. User's UUID provided by the client.
6170	UserId string `json:"userId,omitempty"`
6171
6172	// ForceSendFields is a list of field names (e.g. "Image") to
6173	// unconditionally include in API requests. By default, fields with
6174	// empty values are omitted from API requests. However, any non-pointer,
6175	// non-interface field appearing in ForceSendFields will be sent to the
6176	// server regardless of whether the field is empty or not. This may be
6177	// used to include empty fields in Patch requests.
6178	ForceSendFields []string `json:"-"`
6179
6180	// NullFields is a list of field names (e.g. "Image") to include in API
6181	// requests with the JSON null value. By default, fields with empty
6182	// values are omitted from API requests. However, any field with an
6183	// empty value appearing in NullFields will be sent to the server as
6184	// null. It is an error if a field in this list has a non-empty value.
6185	// This may be used to include null fields in Patch requests.
6186	NullFields []string `json:"-"`
6187}
6188
6189func (s *Signature) MarshalJSON() ([]byte, error) {
6190	type NoMethod Signature
6191	raw := NoMethod(*s)
6192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6193}
6194
6195// Status: The `Status` type defines a logical error model that is
6196// suitable for different programming environments, including REST APIs
6197// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
6198// `Status` message contains three pieces of data: error code, error
6199// message, and error details. You can find out more about this error
6200// model and how to work with it in the API Design Guide
6201// (https://cloud.google.com/apis/design/errors).
6202type Status struct {
6203	// Code: The status code, which should be an enum value of
6204	// google.rpc.Code.
6205	Code int64 `json:"code,omitempty"`
6206
6207	// Details: A list of messages that carry the error details. There is a
6208	// common set of message types for APIs to use.
6209	Details []googleapi.RawMessage `json:"details,omitempty"`
6210
6211	// Message: A developer-facing error message, which should be in
6212	// English. Any user-facing error message should be localized and sent
6213	// in the google.rpc.Status.details field, or localized by the client.
6214	Message string `json:"message,omitempty"`
6215
6216	// ForceSendFields is a list of field names (e.g. "Code") to
6217	// unconditionally include in API requests. By default, fields with
6218	// empty values are omitted from API requests. However, any non-pointer,
6219	// non-interface field appearing in ForceSendFields will be sent to the
6220	// server regardless of whether the field is empty or not. This may be
6221	// used to include empty fields in Patch requests.
6222	ForceSendFields []string `json:"-"`
6223
6224	// NullFields is a list of field names (e.g. "Code") to include in API
6225	// requests with the JSON null value. By default, fields with empty
6226	// values are omitted from API requests. However, any field with an
6227	// empty value appearing in NullFields will be sent to the server as
6228	// null. It is an error if a field in this list has a non-empty value.
6229	// This may be used to include null fields in Patch requests.
6230	NullFields []string `json:"-"`
6231}
6232
6233func (s *Status) MarshalJSON() ([]byte, error) {
6234	type NoMethod Status
6235	raw := NoMethod(*s)
6236	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6237}
6238
6239// StreamConfig: Contains configuration for streaming FHIR export.
6240type StreamConfig struct {
6241	// BigqueryDestination: The destination BigQuery structure that contains
6242	// both the dataset location and corresponding schema config. The output
6243	// is organized in one table per resource type. The server reuses the
6244	// existing tables (if any) that are named after the resource types,
6245	// e.g. "Patient", "Observation". When there is no existing table for a
6246	// given resource type, the server attempts to create one. When a table
6247	// schema doesn't align with the schema config, either because of
6248	// existing incompatible schema or out of band incompatible
6249	// modification, the server does not stream in new data. One resolution
6250	// in this case is to delete the incompatible table and let the server
6251	// recreate one, though the newly created table only contains data after
6252	// the table recreation. BigQuery imposes a 1 MB limit on streaming
6253	// insert row size, therefore any resource mutation that generates more
6254	// than 1 MB of BigQuery data will not be streamed. Results are appended
6255	// to the corresponding BigQuery tables. Different versions of the same
6256	// resource are distinguishable by the meta.versionId and
6257	// meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that
6258	// results in the new version is recorded in the meta.tag. The tables
6259	// contain all historical resource versions since streaming was enabled.
6260	// For query convenience, the server also creates one view per table of
6261	// the same name containing only the current resource version. The
6262	// streamed data in the BigQuery dataset is not guaranteed to be
6263	// completely unique. The combination of the id and meta.versionId
6264	// columns should ideally identify a single unique row. But in rare
6265	// cases, duplicates may exist. At query time, users may use the SQL
6266	// select statement to keep only one of the duplicate rows given an id
6267	// and meta.versionId pair. Alternatively, the server created view
6268	// mentioned above also filters out duplicates. If a resource mutation
6269	// cannot be streamed to BigQuery, errors will be logged to Cloud
6270	// Logging (see Viewing error logs in Cloud Logging
6271	// (/healthcare/docs/how-tos/logging)).
6272	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
6273
6274	// ResourceTypes: Supply a FHIR resource type (such as "Patient" or
6275	// "Observation"). See
6276	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of
6277	// all FHIR resource types. The server treats an empty list as an intent
6278	// to stream all the supported resource types in this FHIR store.
6279	ResourceTypes []string `json:"resourceTypes,omitempty"`
6280
6281	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
6282	// to unconditionally include in API requests. By default, fields with
6283	// empty values are omitted from API requests. However, any non-pointer,
6284	// non-interface field appearing in ForceSendFields will be sent to the
6285	// server regardless of whether the field is empty or not. This may be
6286	// used to include empty fields in Patch requests.
6287	ForceSendFields []string `json:"-"`
6288
6289	// NullFields is a list of field names (e.g. "BigqueryDestination") to
6290	// include in API requests with the JSON null value. By default, fields
6291	// with empty values are omitted from API requests. However, any field
6292	// with an empty value appearing in NullFields will be sent to the
6293	// server as null. It is an error if a field in this list has a
6294	// non-empty value. This may be used to include null fields in Patch
6295	// requests.
6296	NullFields []string `json:"-"`
6297}
6298
6299func (s *StreamConfig) MarshalJSON() ([]byte, error) {
6300	type NoMethod StreamConfig
6301	raw := NoMethod(*s)
6302	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6303}
6304
6305// TagFilterList: List of tags to be filtered.
6306type TagFilterList struct {
6307	// Tags: Tags to be filtered. Tags must be DICOM Data Elements, File
6308	// Meta Elements, or Directory Structuring Elements, as defined at:
6309	// http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.
6310	// They may be provided by "Keyword" or "Tag". For example, "PatientID",
6311	// "00100010".
6312	Tags []string `json:"tags,omitempty"`
6313
6314	// ForceSendFields is a list of field names (e.g. "Tags") to
6315	// unconditionally include in API requests. By default, fields with
6316	// empty values are omitted from API requests. However, any non-pointer,
6317	// non-interface field appearing in ForceSendFields will be sent to the
6318	// server regardless of whether the field is empty or not. This may be
6319	// used to include empty fields in Patch requests.
6320	ForceSendFields []string `json:"-"`
6321
6322	// NullFields is a list of field names (e.g. "Tags") to include in API
6323	// requests with the JSON null value. By default, fields with empty
6324	// values are omitted from API requests. However, any field with an
6325	// empty value appearing in NullFields will be sent to the server as
6326	// null. It is an error if a field in this list has a non-empty value.
6327	// This may be used to include null fields in Patch requests.
6328	NullFields []string `json:"-"`
6329}
6330
6331func (s *TagFilterList) MarshalJSON() ([]byte, error) {
6332	type NoMethod TagFilterList
6333	raw := NoMethod(*s)
6334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6335}
6336
6337// TestIamPermissionsRequest: Request message for `TestIamPermissions`
6338// method.
6339type TestIamPermissionsRequest struct {
6340	// Permissions: The set of permissions to check for the `resource`.
6341	// Permissions with wildcards (such as '*' or 'storage.*') are not
6342	// allowed. For more information see IAM Overview
6343	// (https://cloud.google.com/iam/docs/overview#permissions).
6344	Permissions []string `json:"permissions,omitempty"`
6345
6346	// ForceSendFields is a list of field names (e.g. "Permissions") to
6347	// unconditionally include in API requests. By default, fields with
6348	// empty values are omitted from API requests. However, any non-pointer,
6349	// non-interface field appearing in ForceSendFields will be sent to the
6350	// server regardless of whether the field is empty or not. This may be
6351	// used to include empty fields in Patch requests.
6352	ForceSendFields []string `json:"-"`
6353
6354	// NullFields is a list of field names (e.g. "Permissions") to include
6355	// in API requests with the JSON null value. By default, fields with
6356	// empty values are omitted from API requests. However, any field with
6357	// an empty value appearing in NullFields will be sent to the server as
6358	// null. It is an error if a field in this list has a non-empty value.
6359	// This may be used to include null fields in Patch requests.
6360	NullFields []string `json:"-"`
6361}
6362
6363func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
6364	type NoMethod TestIamPermissionsRequest
6365	raw := NoMethod(*s)
6366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6367}
6368
6369// TestIamPermissionsResponse: Response message for `TestIamPermissions`
6370// method.
6371type TestIamPermissionsResponse struct {
6372	// Permissions: A subset of `TestPermissionsRequest.permissions` that
6373	// the caller is allowed.
6374	Permissions []string `json:"permissions,omitempty"`
6375
6376	// ServerResponse contains the HTTP response code and headers from the
6377	// server.
6378	googleapi.ServerResponse `json:"-"`
6379
6380	// ForceSendFields is a list of field names (e.g. "Permissions") to
6381	// unconditionally include in API requests. By default, fields with
6382	// empty values are omitted from API requests. However, any non-pointer,
6383	// non-interface field appearing in ForceSendFields will be sent to the
6384	// server regardless of whether the field is empty or not. This may be
6385	// used to include empty fields in Patch requests.
6386	ForceSendFields []string `json:"-"`
6387
6388	// NullFields is a list of field names (e.g. "Permissions") to include
6389	// in API requests with the JSON null value. By default, fields with
6390	// empty values are omitted from API requests. However, any field with
6391	// an empty value appearing in NullFields will be sent to the server as
6392	// null. It is an error if a field in this list has a non-empty value.
6393	// This may be used to include null fields in Patch requests.
6394	NullFields []string `json:"-"`
6395}
6396
6397func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
6398	type NoMethod TestIamPermissionsResponse
6399	raw := NoMethod(*s)
6400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6401}
6402
6403type TextConfig struct {
6404	// Transformations: The transformations to apply to the detected data.
6405	Transformations []*InfoTypeTransformation `json:"transformations,omitempty"`
6406
6407	// ForceSendFields is a list of field names (e.g. "Transformations") to
6408	// unconditionally include in API requests. By default, fields with
6409	// empty values are omitted from API requests. However, any non-pointer,
6410	// non-interface field appearing in ForceSendFields will be sent to the
6411	// server regardless of whether the field is empty or not. This may be
6412	// used to include empty fields in Patch requests.
6413	ForceSendFields []string `json:"-"`
6414
6415	// NullFields is a list of field names (e.g. "Transformations") to
6416	// include in API requests with the JSON null value. By default, fields
6417	// with empty values are omitted from API requests. However, any field
6418	// with an empty value appearing in NullFields will be sent to the
6419	// server as null. It is an error if a field in this list has a
6420	// non-empty value. This may be used to include null fields in Patch
6421	// requests.
6422	NullFields []string `json:"-"`
6423}
6424
6425func (s *TextConfig) MarshalJSON() ([]byte, error) {
6426	type NoMethod TextConfig
6427	raw := NoMethod(*s)
6428	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6429}
6430
6431// TextSpan: A span of text in the provided document.
6432type TextSpan struct {
6433	// BeginOffset: The unicode codepoint index of the beginning of this
6434	// span.
6435	BeginOffset int64 `json:"beginOffset,omitempty"`
6436
6437	// Content: The original text contained in this span.
6438	Content string `json:"content,omitempty"`
6439
6440	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
6441	// unconditionally include in API requests. By default, fields with
6442	// empty values are omitted from API requests. However, any non-pointer,
6443	// non-interface field appearing in ForceSendFields will be sent to the
6444	// server regardless of whether the field is empty or not. This may be
6445	// used to include empty fields in Patch requests.
6446	ForceSendFields []string `json:"-"`
6447
6448	// NullFields is a list of field names (e.g. "BeginOffset") to include
6449	// in API requests with the JSON null value. By default, fields with
6450	// empty values are omitted from API requests. However, any field with
6451	// an empty value appearing in NullFields will be sent to the server as
6452	// null. It is an error if a field in this list has a non-empty value.
6453	// This may be used to include null fields in Patch requests.
6454	NullFields []string `json:"-"`
6455}
6456
6457func (s *TextSpan) MarshalJSON() ([]byte, error) {
6458	type NoMethod TextSpan
6459	raw := NoMethod(*s)
6460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6461}
6462
6463// Type: A type definition for some HL7v2 type (incl. Segments and
6464// Datatypes).
6465type Type struct {
6466	// Fields: The (sub) fields this type has (if not primitive).
6467	Fields []*Field `json:"fields,omitempty"`
6468
6469	// Name: The name of this type. This would be the segment or datatype
6470	// name. For example, "PID" or "XPN".
6471	Name string `json:"name,omitempty"`
6472
6473	// Primitive: If this is a primitive type then this field is the type of
6474	// the primitive For example, STRING. Leave unspecified for composite
6475	// types.
6476	//
6477	// Possible values:
6478	//   "PRIMITIVE_UNSPECIFIED" - Not a primitive.
6479	//   "STRING" - String primitive.
6480	//   "VARIES" - Element that can have unschematized children.
6481	//   "UNESCAPED_STRING" - Like STRING, but all delimiters below this
6482	// element are ignored.
6483	Primitive string `json:"primitive,omitempty"`
6484
6485	// ForceSendFields is a list of field names (e.g. "Fields") to
6486	// unconditionally include in API requests. By default, fields with
6487	// empty values are omitted from API requests. However, any non-pointer,
6488	// non-interface field appearing in ForceSendFields will be sent to the
6489	// server regardless of whether the field is empty or not. This may be
6490	// used to include empty fields in Patch requests.
6491	ForceSendFields []string `json:"-"`
6492
6493	// NullFields is a list of field names (e.g. "Fields") to include in API
6494	// requests with the JSON null value. By default, fields with empty
6495	// values are omitted from API requests. However, any field with an
6496	// empty value appearing in NullFields will be sent to the server as
6497	// null. It is an error if a field in this list has a non-empty value.
6498	// This may be used to include null fields in Patch requests.
6499	NullFields []string `json:"-"`
6500}
6501
6502func (s *Type) MarshalJSON() ([]byte, error) {
6503	type NoMethod Type
6504	raw := NoMethod(*s)
6505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6506}
6507
6508// UserDataMapping: Maps a resource to the associated user and
6509// Attributes.
6510type UserDataMapping struct {
6511	// ArchiveTime: Output only. Indicates the time when this mapping was
6512	// archived.
6513	ArchiveTime string `json:"archiveTime,omitempty"`
6514
6515	// Archived: Output only. Indicates whether this mapping is archived.
6516	Archived bool `json:"archived,omitempty"`
6517
6518	// DataId: Required. A unique identifier for the mapped resource.
6519	DataId string `json:"dataId,omitempty"`
6520
6521	// Name: Resource name of the User data mapping, of the form
6522	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
6523	// onsentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id
6524	// }`.
6525	Name string `json:"name,omitempty"`
6526
6527	// ResourceAttributes: Attributes of the resource. Only explicitly set
6528	// attributes are displayed here. Attribute definitions with defaults
6529	// set implicitly apply to these User data mappings. Attributes listed
6530	// here must be single valued, that is, exactly one value is specified
6531	// for the field "values" in each Attribute.
6532	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
6533
6534	// UserId: Required. User's UUID provided by the client.
6535	UserId string `json:"userId,omitempty"`
6536
6537	// ServerResponse contains the HTTP response code and headers from the
6538	// server.
6539	googleapi.ServerResponse `json:"-"`
6540
6541	// ForceSendFields is a list of field names (e.g. "ArchiveTime") to
6542	// unconditionally include in API requests. By default, fields with
6543	// empty values are omitted from API requests. However, any non-pointer,
6544	// non-interface field appearing in ForceSendFields will be sent to the
6545	// server regardless of whether the field is empty or not. This may be
6546	// used to include empty fields in Patch requests.
6547	ForceSendFields []string `json:"-"`
6548
6549	// NullFields is a list of field names (e.g. "ArchiveTime") to include
6550	// in API requests with the JSON null value. By default, fields with
6551	// empty values are omitted from API requests. However, any field with
6552	// an empty value appearing in NullFields will be sent to the server as
6553	// null. It is an error if a field in this list has a non-empty value.
6554	// This may be used to include null fields in Patch requests.
6555	NullFields []string `json:"-"`
6556}
6557
6558func (s *UserDataMapping) MarshalJSON() ([]byte, error) {
6559	type NoMethod UserDataMapping
6560	raw := NoMethod(*s)
6561	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6562}
6563
6564// ValidationConfig: Contains the configuration for FHIR profiles and
6565// validation.
6566type ValidationConfig struct {
6567	// DisableProfileValidation: Whether to disable profile validation for
6568	// this FHIR store. Set this to true to disable checking incoming
6569	// resources for conformance against StructureDefinitions in this FHIR
6570	// store.
6571	DisableProfileValidation bool `json:"disableProfileValidation,omitempty"`
6572
6573	// EnabledImplementationGuides: A list of ImplementationGuide URLs in
6574	// this FHIR store that are used to configure the profiles to use for
6575	// validation. For example, to use the US Core profiles for validation,
6576	// set `enabled_implementation_guides` to
6577	// `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If
6578	// `enabled_implementation_guides` is empty or omitted, then incoming
6579	// resources are only required to conform to the base FHIR profiles.
6580	// Otherwise, a resource must conform to at least one profile listed in
6581	// the `global` property of one of the enabled ImplementationGuides. The
6582	// Cloud Healthcare API does not currently enforce all of the rules in a
6583	// StructureDefinition. The following rules are supported: - min/max -
6584	// minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on
6585	// simple types - slicing, when using "value" as the discriminator type
6586	// When a URL cannot be resolved (for example, in a type assertion), the
6587	// server does not return an error.
6588	EnabledImplementationGuides []string `json:"enabledImplementationGuides,omitempty"`
6589
6590	// ForceSendFields is a list of field names (e.g.
6591	// "DisableProfileValidation") to unconditionally include in API
6592	// requests. By default, fields with empty values are omitted from API
6593	// requests. However, any non-pointer, non-interface field appearing in
6594	// ForceSendFields will be sent to the server regardless of whether the
6595	// field is empty or not. This may be used to include empty fields in
6596	// Patch requests.
6597	ForceSendFields []string `json:"-"`
6598
6599	// NullFields is a list of field names (e.g. "DisableProfileValidation")
6600	// to include in API requests with the JSON null value. By default,
6601	// fields with empty values are omitted from API requests. However, any
6602	// field with an empty value appearing in NullFields will be sent to the
6603	// server as null. It is an error if a field in this list has a
6604	// non-empty value. This may be used to include null fields in Patch
6605	// requests.
6606	NullFields []string `json:"-"`
6607}
6608
6609func (s *ValidationConfig) MarshalJSON() ([]byte, error) {
6610	type NoMethod ValidationConfig
6611	raw := NoMethod(*s)
6612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6613}
6614
6615// VersionSource: Describes a selector for extracting and matching an
6616// MSH field to a value.
6617type VersionSource struct {
6618	// MshField: The field to extract from the MSH segment. For example,
6619	// "3.1" or "18[1].1".
6620	MshField string `json:"mshField,omitempty"`
6621
6622	// Value: The value to match with the field. For example, "My
6623	// Application Name" or "2.3".
6624	Value string `json:"value,omitempty"`
6625
6626	// ForceSendFields is a list of field names (e.g. "MshField") to
6627	// unconditionally include in API requests. By default, fields with
6628	// empty values are omitted from API requests. However, any non-pointer,
6629	// non-interface field appearing in ForceSendFields will be sent to the
6630	// server regardless of whether the field is empty or not. This may be
6631	// used to include empty fields in Patch requests.
6632	ForceSendFields []string `json:"-"`
6633
6634	// NullFields is a list of field names (e.g. "MshField") to include in
6635	// API requests with the JSON null value. By default, fields with empty
6636	// values are omitted from API requests. However, any field with an
6637	// empty value appearing in NullFields will be sent to the server as
6638	// null. It is an error if a field in this list has a non-empty value.
6639	// This may be used to include null fields in Patch requests.
6640	NullFields []string `json:"-"`
6641}
6642
6643func (s *VersionSource) MarshalJSON() ([]byte, error) {
6644	type NoMethod VersionSource
6645	raw := NoMethod(*s)
6646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6647}
6648
6649// Vertex: A 2D coordinate in an image. The origin is the top-left.
6650type Vertex struct {
6651	// X: X coordinate.
6652	X float64 `json:"x,omitempty"`
6653
6654	// Y: Y coordinate.
6655	Y float64 `json:"y,omitempty"`
6656
6657	// ForceSendFields is a list of field names (e.g. "X") to
6658	// unconditionally include in API requests. By default, fields with
6659	// empty values are omitted from API requests. However, any non-pointer,
6660	// non-interface field appearing in ForceSendFields will be sent to the
6661	// server regardless of whether the field is empty or not. This may be
6662	// used to include empty fields in Patch requests.
6663	ForceSendFields []string `json:"-"`
6664
6665	// NullFields is a list of field names (e.g. "X") to include in API
6666	// requests with the JSON null value. By default, fields with empty
6667	// values are omitted from API requests. However, any field with an
6668	// empty value appearing in NullFields will be sent to the server as
6669	// null. It is an error if a field in this list has a non-empty value.
6670	// This may be used to include null fields in Patch requests.
6671	NullFields []string `json:"-"`
6672}
6673
6674func (s *Vertex) MarshalJSON() ([]byte, error) {
6675	type NoMethod Vertex
6676	raw := NoMethod(*s)
6677	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6678}
6679
6680func (s *Vertex) UnmarshalJSON(data []byte) error {
6681	type NoMethod Vertex
6682	var s1 struct {
6683		X gensupport.JSONFloat64 `json:"x"`
6684		Y gensupport.JSONFloat64 `json:"y"`
6685		*NoMethod
6686	}
6687	s1.NoMethod = (*NoMethod)(s)
6688	if err := json.Unmarshal(data, &s1); err != nil {
6689		return err
6690	}
6691	s.X = float64(s1.X)
6692	s.Y = float64(s1.Y)
6693	return nil
6694}
6695
6696// method id "healthcare.projects.locations.get":
6697
6698type ProjectsLocationsGetCall struct {
6699	s            *Service
6700	name         string
6701	urlParams_   gensupport.URLParams
6702	ifNoneMatch_ string
6703	ctx_         context.Context
6704	header_      http.Header
6705}
6706
6707// Get: Gets information about a location.
6708func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
6709	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6710	c.name = name
6711	return c
6712}
6713
6714// Fields allows partial responses to be retrieved. See
6715// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6716// for more information.
6717func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
6718	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6719	return c
6720}
6721
6722// IfNoneMatch sets the optional parameter which makes the operation
6723// fail if the object's ETag matches the given value. This is useful for
6724// getting updates only after the object has changed since the last
6725// request. Use googleapi.IsNotModified to check whether the response
6726// error from Do is the result of In-None-Match.
6727func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
6728	c.ifNoneMatch_ = entityTag
6729	return c
6730}
6731
6732// Context sets the context to be used in this call's Do method. Any
6733// pending HTTP request will be aborted if the provided context is
6734// canceled.
6735func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
6736	c.ctx_ = ctx
6737	return c
6738}
6739
6740// Header returns an http.Header that can be modified by the caller to
6741// add HTTP headers to the request.
6742func (c *ProjectsLocationsGetCall) Header() http.Header {
6743	if c.header_ == nil {
6744		c.header_ = make(http.Header)
6745	}
6746	return c.header_
6747}
6748
6749func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
6750	reqHeaders := make(http.Header)
6751	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
6752	for k, v := range c.header_ {
6753		reqHeaders[k] = v
6754	}
6755	reqHeaders.Set("User-Agent", c.s.userAgent())
6756	if c.ifNoneMatch_ != "" {
6757		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6758	}
6759	var body io.Reader = nil
6760	c.urlParams_.Set("alt", alt)
6761	c.urlParams_.Set("prettyPrint", "false")
6762	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6763	urls += "?" + c.urlParams_.Encode()
6764	req, err := http.NewRequest("GET", urls, body)
6765	if err != nil {
6766		return nil, err
6767	}
6768	req.Header = reqHeaders
6769	googleapi.Expand(req.URL, map[string]string{
6770		"name": c.name,
6771	})
6772	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6773}
6774
6775// Do executes the "healthcare.projects.locations.get" call.
6776// Exactly one of *Location or error will be non-nil. Any non-2xx status
6777// code is an error. Response headers are in either
6778// *Location.ServerResponse.Header or (if a response was returned at
6779// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6780// to check whether the returned error was because
6781// http.StatusNotModified was returned.
6782func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
6783	gensupport.SetOptions(c.urlParams_, opts...)
6784	res, err := c.doRequest("json")
6785	if res != nil && res.StatusCode == http.StatusNotModified {
6786		if res.Body != nil {
6787			res.Body.Close()
6788		}
6789		return nil, &googleapi.Error{
6790			Code:   res.StatusCode,
6791			Header: res.Header,
6792		}
6793	}
6794	if err != nil {
6795		return nil, err
6796	}
6797	defer googleapi.CloseBody(res)
6798	if err := googleapi.CheckResponse(res); err != nil {
6799		return nil, err
6800	}
6801	ret := &Location{
6802		ServerResponse: googleapi.ServerResponse{
6803			Header:         res.Header,
6804			HTTPStatusCode: res.StatusCode,
6805		},
6806	}
6807	target := &ret
6808	if err := gensupport.DecodeResponse(target, res); err != nil {
6809		return nil, err
6810	}
6811	return ret, nil
6812	// {
6813	//   "description": "Gets information about a location.",
6814	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}",
6815	//   "httpMethod": "GET",
6816	//   "id": "healthcare.projects.locations.get",
6817	//   "parameterOrder": [
6818	//     "name"
6819	//   ],
6820	//   "parameters": {
6821	//     "name": {
6822	//       "description": "Resource name for the location.",
6823	//       "location": "path",
6824	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6825	//       "required": true,
6826	//       "type": "string"
6827	//     }
6828	//   },
6829	//   "path": "v1beta1/{+name}",
6830	//   "response": {
6831	//     "$ref": "Location"
6832	//   },
6833	//   "scopes": [
6834	//     "https://www.googleapis.com/auth/cloud-platform"
6835	//   ]
6836	// }
6837
6838}
6839
6840// method id "healthcare.projects.locations.list":
6841
6842type ProjectsLocationsListCall struct {
6843	s            *Service
6844	name         string
6845	urlParams_   gensupport.URLParams
6846	ifNoneMatch_ string
6847	ctx_         context.Context
6848	header_      http.Header
6849}
6850
6851// List: Lists information about the supported locations for this
6852// service.
6853func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
6854	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6855	c.name = name
6856	return c
6857}
6858
6859// Filter sets the optional parameter "filter": The standard list
6860// filter.
6861func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
6862	c.urlParams_.Set("filter", filter)
6863	return c
6864}
6865
6866// PageSize sets the optional parameter "pageSize": The standard list
6867// page size.
6868func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
6869	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6870	return c
6871}
6872
6873// PageToken sets the optional parameter "pageToken": The standard list
6874// page token.
6875func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
6876	c.urlParams_.Set("pageToken", pageToken)
6877	return c
6878}
6879
6880// Fields allows partial responses to be retrieved. See
6881// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6882// for more information.
6883func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
6884	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6885	return c
6886}
6887
6888// IfNoneMatch sets the optional parameter which makes the operation
6889// fail if the object's ETag matches the given value. This is useful for
6890// getting updates only after the object has changed since the last
6891// request. Use googleapi.IsNotModified to check whether the response
6892// error from Do is the result of In-None-Match.
6893func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
6894	c.ifNoneMatch_ = entityTag
6895	return c
6896}
6897
6898// Context sets the context to be used in this call's Do method. Any
6899// pending HTTP request will be aborted if the provided context is
6900// canceled.
6901func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
6902	c.ctx_ = ctx
6903	return c
6904}
6905
6906// Header returns an http.Header that can be modified by the caller to
6907// add HTTP headers to the request.
6908func (c *ProjectsLocationsListCall) Header() http.Header {
6909	if c.header_ == nil {
6910		c.header_ = make(http.Header)
6911	}
6912	return c.header_
6913}
6914
6915func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
6916	reqHeaders := make(http.Header)
6917	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
6918	for k, v := range c.header_ {
6919		reqHeaders[k] = v
6920	}
6921	reqHeaders.Set("User-Agent", c.s.userAgent())
6922	if c.ifNoneMatch_ != "" {
6923		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6924	}
6925	var body io.Reader = nil
6926	c.urlParams_.Set("alt", alt)
6927	c.urlParams_.Set("prettyPrint", "false")
6928	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/locations")
6929	urls += "?" + c.urlParams_.Encode()
6930	req, err := http.NewRequest("GET", urls, body)
6931	if err != nil {
6932		return nil, err
6933	}
6934	req.Header = reqHeaders
6935	googleapi.Expand(req.URL, map[string]string{
6936		"name": c.name,
6937	})
6938	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6939}
6940
6941// Do executes the "healthcare.projects.locations.list" call.
6942// Exactly one of *ListLocationsResponse or error will be non-nil. Any
6943// non-2xx status code is an error. Response headers are in either
6944// *ListLocationsResponse.ServerResponse.Header or (if a response was
6945// returned at all) in error.(*googleapi.Error).Header. Use
6946// googleapi.IsNotModified to check whether the returned error was
6947// because http.StatusNotModified was returned.
6948func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
6949	gensupport.SetOptions(c.urlParams_, opts...)
6950	res, err := c.doRequest("json")
6951	if res != nil && res.StatusCode == http.StatusNotModified {
6952		if res.Body != nil {
6953			res.Body.Close()
6954		}
6955		return nil, &googleapi.Error{
6956			Code:   res.StatusCode,
6957			Header: res.Header,
6958		}
6959	}
6960	if err != nil {
6961		return nil, err
6962	}
6963	defer googleapi.CloseBody(res)
6964	if err := googleapi.CheckResponse(res); err != nil {
6965		return nil, err
6966	}
6967	ret := &ListLocationsResponse{
6968		ServerResponse: googleapi.ServerResponse{
6969			Header:         res.Header,
6970			HTTPStatusCode: res.StatusCode,
6971		},
6972	}
6973	target := &ret
6974	if err := gensupport.DecodeResponse(target, res); err != nil {
6975		return nil, err
6976	}
6977	return ret, nil
6978	// {
6979	//   "description": "Lists information about the supported locations for this service.",
6980	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
6981	//   "httpMethod": "GET",
6982	//   "id": "healthcare.projects.locations.list",
6983	//   "parameterOrder": [
6984	//     "name"
6985	//   ],
6986	//   "parameters": {
6987	//     "filter": {
6988	//       "description": "The standard list filter.",
6989	//       "location": "query",
6990	//       "type": "string"
6991	//     },
6992	//     "name": {
6993	//       "description": "The resource that owns the locations collection, if applicable.",
6994	//       "location": "path",
6995	//       "pattern": "^projects/[^/]+$",
6996	//       "required": true,
6997	//       "type": "string"
6998	//     },
6999	//     "pageSize": {
7000	//       "description": "The standard list page size.",
7001	//       "format": "int32",
7002	//       "location": "query",
7003	//       "type": "integer"
7004	//     },
7005	//     "pageToken": {
7006	//       "description": "The standard list page token.",
7007	//       "location": "query",
7008	//       "type": "string"
7009	//     }
7010	//   },
7011	//   "path": "v1beta1/{+name}/locations",
7012	//   "response": {
7013	//     "$ref": "ListLocationsResponse"
7014	//   },
7015	//   "scopes": [
7016	//     "https://www.googleapis.com/auth/cloud-platform"
7017	//   ]
7018	// }
7019
7020}
7021
7022// Pages invokes f for each page of results.
7023// A non-nil error returned from f will halt the iteration.
7024// The provided context supersedes any context provided to the Context method.
7025func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
7026	c.ctx_ = ctx
7027	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7028	for {
7029		x, err := c.Do()
7030		if err != nil {
7031			return err
7032		}
7033		if err := f(x); err != nil {
7034			return err
7035		}
7036		if x.NextPageToken == "" {
7037			return nil
7038		}
7039		c.PageToken(x.NextPageToken)
7040	}
7041}
7042
7043// method id "healthcare.projects.locations.datasets.create":
7044
7045type ProjectsLocationsDatasetsCreateCall struct {
7046	s          *Service
7047	parent     string
7048	dataset    *Dataset
7049	urlParams_ gensupport.URLParams
7050	ctx_       context.Context
7051	header_    http.Header
7052}
7053
7054// Create: Creates a new health dataset. Results are returned through
7055// the Operation interface which returns either an `Operation.response`
7056// which contains a Dataset or `Operation.error`. The metadata field
7057// type is OperationMetadata.
7058func (r *ProjectsLocationsDatasetsService) Create(parent string, dataset *Dataset) *ProjectsLocationsDatasetsCreateCall {
7059	c := &ProjectsLocationsDatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7060	c.parent = parent
7061	c.dataset = dataset
7062	return c
7063}
7064
7065// DatasetId sets the optional parameter "datasetId": The ID of the
7066// dataset that is being created. The string must match the following
7067// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
7068func (c *ProjectsLocationsDatasetsCreateCall) DatasetId(datasetId string) *ProjectsLocationsDatasetsCreateCall {
7069	c.urlParams_.Set("datasetId", datasetId)
7070	return c
7071}
7072
7073// Fields allows partial responses to be retrieved. See
7074// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7075// for more information.
7076func (c *ProjectsLocationsDatasetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsCreateCall {
7077	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7078	return c
7079}
7080
7081// Context sets the context to be used in this call's Do method. Any
7082// pending HTTP request will be aborted if the provided context is
7083// canceled.
7084func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
7085	c.ctx_ = ctx
7086	return c
7087}
7088
7089// Header returns an http.Header that can be modified by the caller to
7090// add HTTP headers to the request.
7091func (c *ProjectsLocationsDatasetsCreateCall) Header() http.Header {
7092	if c.header_ == nil {
7093		c.header_ = make(http.Header)
7094	}
7095	return c.header_
7096}
7097
7098func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
7099	reqHeaders := make(http.Header)
7100	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7101	for k, v := range c.header_ {
7102		reqHeaders[k] = v
7103	}
7104	reqHeaders.Set("User-Agent", c.s.userAgent())
7105	var body io.Reader = nil
7106	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
7107	if err != nil {
7108		return nil, err
7109	}
7110	reqHeaders.Set("Content-Type", "application/json")
7111	c.urlParams_.Set("alt", alt)
7112	c.urlParams_.Set("prettyPrint", "false")
7113	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7114	urls += "?" + c.urlParams_.Encode()
7115	req, err := http.NewRequest("POST", urls, body)
7116	if err != nil {
7117		return nil, err
7118	}
7119	req.Header = reqHeaders
7120	googleapi.Expand(req.URL, map[string]string{
7121		"parent": c.parent,
7122	})
7123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7124}
7125
7126// Do executes the "healthcare.projects.locations.datasets.create" call.
7127// Exactly one of *Operation or error will be non-nil. Any non-2xx
7128// status code is an error. Response headers are in either
7129// *Operation.ServerResponse.Header or (if a response was returned at
7130// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7131// to check whether the returned error was because
7132// http.StatusNotModified was returned.
7133func (c *ProjectsLocationsDatasetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7134	gensupport.SetOptions(c.urlParams_, opts...)
7135	res, err := c.doRequest("json")
7136	if res != nil && res.StatusCode == http.StatusNotModified {
7137		if res.Body != nil {
7138			res.Body.Close()
7139		}
7140		return nil, &googleapi.Error{
7141			Code:   res.StatusCode,
7142			Header: res.Header,
7143		}
7144	}
7145	if err != nil {
7146		return nil, err
7147	}
7148	defer googleapi.CloseBody(res)
7149	if err := googleapi.CheckResponse(res); err != nil {
7150		return nil, err
7151	}
7152	ret := &Operation{
7153		ServerResponse: googleapi.ServerResponse{
7154			Header:         res.Header,
7155			HTTPStatusCode: res.StatusCode,
7156		},
7157	}
7158	target := &ret
7159	if err := gensupport.DecodeResponse(target, res); err != nil {
7160		return nil, err
7161	}
7162	return ret, nil
7163	// {
7164	//   "description": "Creates a new health dataset. Results are returned through the Operation interface which returns either an `Operation.response` which contains a Dataset or `Operation.error`. The metadata field type is OperationMetadata.",
7165	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7166	//   "httpMethod": "POST",
7167	//   "id": "healthcare.projects.locations.datasets.create",
7168	//   "parameterOrder": [
7169	//     "parent"
7170	//   ],
7171	//   "parameters": {
7172	//     "datasetId": {
7173	//       "description": "The ID of the dataset that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
7174	//       "location": "query",
7175	//       "type": "string"
7176	//     },
7177	//     "parent": {
7178	//       "description": "The name of the project where the server creates the dataset. For example, `projects/{project_id}/locations/{location_id}`.",
7179	//       "location": "path",
7180	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7181	//       "required": true,
7182	//       "type": "string"
7183	//     }
7184	//   },
7185	//   "path": "v1beta1/{+parent}/datasets",
7186	//   "request": {
7187	//     "$ref": "Dataset"
7188	//   },
7189	//   "response": {
7190	//     "$ref": "Operation"
7191	//   },
7192	//   "scopes": [
7193	//     "https://www.googleapis.com/auth/cloud-platform"
7194	//   ]
7195	// }
7196
7197}
7198
7199// method id "healthcare.projects.locations.datasets.deidentify":
7200
7201type ProjectsLocationsDatasetsDeidentifyCall struct {
7202	s                        *Service
7203	sourceDataset            string
7204	deidentifydatasetrequest *DeidentifyDatasetRequest
7205	urlParams_               gensupport.URLParams
7206	ctx_                     context.Context
7207	header_                  http.Header
7208}
7209
7210// Deidentify: Creates a new dataset containing de-identified data from
7211// the source dataset. The metadata field type is OperationMetadata. If
7212// the request is successful, the response field type is
7213// DeidentifySummary. The LRO result may still be successful if
7214// de-identification fails for some resources. The new de-identified
7215// dataset will not contain these failed resources. The number of
7216// resources processed are tracked in Operation.metadata. Error details
7217// are logged to Cloud Logging. For more information, see Viewing logs
7218// (/healthcare/docs/how-tos/logging).
7219func (r *ProjectsLocationsDatasetsService) Deidentify(sourceDataset string, deidentifydatasetrequest *DeidentifyDatasetRequest) *ProjectsLocationsDatasetsDeidentifyCall {
7220	c := &ProjectsLocationsDatasetsDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7221	c.sourceDataset = sourceDataset
7222	c.deidentifydatasetrequest = deidentifydatasetrequest
7223	return c
7224}
7225
7226// Fields allows partial responses to be retrieved. See
7227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7228// for more information.
7229func (c *ProjectsLocationsDatasetsDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeidentifyCall {
7230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7231	return c
7232}
7233
7234// Context sets the context to be used in this call's Do method. Any
7235// pending HTTP request will be aborted if the provided context is
7236// canceled.
7237func (c *ProjectsLocationsDatasetsDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeidentifyCall {
7238	c.ctx_ = ctx
7239	return c
7240}
7241
7242// Header returns an http.Header that can be modified by the caller to
7243// add HTTP headers to the request.
7244func (c *ProjectsLocationsDatasetsDeidentifyCall) Header() http.Header {
7245	if c.header_ == nil {
7246		c.header_ = make(http.Header)
7247	}
7248	return c.header_
7249}
7250
7251func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
7252	reqHeaders := make(http.Header)
7253	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7254	for k, v := range c.header_ {
7255		reqHeaders[k] = v
7256	}
7257	reqHeaders.Set("User-Agent", c.s.userAgent())
7258	var body io.Reader = nil
7259	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydatasetrequest)
7260	if err != nil {
7261		return nil, err
7262	}
7263	reqHeaders.Set("Content-Type", "application/json")
7264	c.urlParams_.Set("alt", alt)
7265	c.urlParams_.Set("prettyPrint", "false")
7266	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceDataset}:deidentify")
7267	urls += "?" + c.urlParams_.Encode()
7268	req, err := http.NewRequest("POST", urls, body)
7269	if err != nil {
7270		return nil, err
7271	}
7272	req.Header = reqHeaders
7273	googleapi.Expand(req.URL, map[string]string{
7274		"sourceDataset": c.sourceDataset,
7275	})
7276	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7277}
7278
7279// Do executes the "healthcare.projects.locations.datasets.deidentify" call.
7280// Exactly one of *Operation or error will be non-nil. Any non-2xx
7281// status code is an error. Response headers are in either
7282// *Operation.ServerResponse.Header or (if a response was returned at
7283// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7284// to check whether the returned error was because
7285// http.StatusNotModified was returned.
7286func (c *ProjectsLocationsDatasetsDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7287	gensupport.SetOptions(c.urlParams_, opts...)
7288	res, err := c.doRequest("json")
7289	if res != nil && res.StatusCode == http.StatusNotModified {
7290		if res.Body != nil {
7291			res.Body.Close()
7292		}
7293		return nil, &googleapi.Error{
7294			Code:   res.StatusCode,
7295			Header: res.Header,
7296		}
7297	}
7298	if err != nil {
7299		return nil, err
7300	}
7301	defer googleapi.CloseBody(res)
7302	if err := googleapi.CheckResponse(res); err != nil {
7303		return nil, err
7304	}
7305	ret := &Operation{
7306		ServerResponse: googleapi.ServerResponse{
7307			Header:         res.Header,
7308			HTTPStatusCode: res.StatusCode,
7309		},
7310	}
7311	target := &ret
7312	if err := gensupport.DecodeResponse(target, res); err != nil {
7313		return nil, err
7314	}
7315	return ret, nil
7316	// {
7317	//   "description": "Creates a new dataset containing de-identified data from the source dataset. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifySummary. The LRO result may still be successful if de-identification fails for some resources. The new de-identified dataset will not contain these failed resources. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging).",
7318	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify",
7319	//   "httpMethod": "POST",
7320	//   "id": "healthcare.projects.locations.datasets.deidentify",
7321	//   "parameterOrder": [
7322	//     "sourceDataset"
7323	//   ],
7324	//   "parameters": {
7325	//     "sourceDataset": {
7326	//       "description": "Source dataset resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7327	//       "location": "path",
7328	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7329	//       "required": true,
7330	//       "type": "string"
7331	//     }
7332	//   },
7333	//   "path": "v1beta1/{+sourceDataset}:deidentify",
7334	//   "request": {
7335	//     "$ref": "DeidentifyDatasetRequest"
7336	//   },
7337	//   "response": {
7338	//     "$ref": "Operation"
7339	//   },
7340	//   "scopes": [
7341	//     "https://www.googleapis.com/auth/cloud-platform"
7342	//   ]
7343	// }
7344
7345}
7346
7347// method id "healthcare.projects.locations.datasets.delete":
7348
7349type ProjectsLocationsDatasetsDeleteCall struct {
7350	s          *Service
7351	name       string
7352	urlParams_ gensupport.URLParams
7353	ctx_       context.Context
7354	header_    http.Header
7355}
7356
7357// Delete: Deletes the specified health dataset and all data contained
7358// in the dataset. Deleting a dataset does not affect the sources from
7359// which the dataset was imported (if any).
7360func (r *ProjectsLocationsDatasetsService) Delete(name string) *ProjectsLocationsDatasetsDeleteCall {
7361	c := &ProjectsLocationsDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7362	c.name = name
7363	return c
7364}
7365
7366// Fields allows partial responses to be retrieved. See
7367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7368// for more information.
7369func (c *ProjectsLocationsDatasetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeleteCall {
7370	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7371	return c
7372}
7373
7374// Context sets the context to be used in this call's Do method. Any
7375// pending HTTP request will be aborted if the provided context is
7376// canceled.
7377func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
7378	c.ctx_ = ctx
7379	return c
7380}
7381
7382// Header returns an http.Header that can be modified by the caller to
7383// add HTTP headers to the request.
7384func (c *ProjectsLocationsDatasetsDeleteCall) Header() http.Header {
7385	if c.header_ == nil {
7386		c.header_ = make(http.Header)
7387	}
7388	return c.header_
7389}
7390
7391func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
7392	reqHeaders := make(http.Header)
7393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7394	for k, v := range c.header_ {
7395		reqHeaders[k] = v
7396	}
7397	reqHeaders.Set("User-Agent", c.s.userAgent())
7398	var body io.Reader = nil
7399	c.urlParams_.Set("alt", alt)
7400	c.urlParams_.Set("prettyPrint", "false")
7401	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7402	urls += "?" + c.urlParams_.Encode()
7403	req, err := http.NewRequest("DELETE", urls, body)
7404	if err != nil {
7405		return nil, err
7406	}
7407	req.Header = reqHeaders
7408	googleapi.Expand(req.URL, map[string]string{
7409		"name": c.name,
7410	})
7411	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7412}
7413
7414// Do executes the "healthcare.projects.locations.datasets.delete" call.
7415// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7416// code is an error. Response headers are in either
7417// *Empty.ServerResponse.Header or (if a response was returned at all)
7418// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7419// check whether the returned error was because http.StatusNotModified
7420// was returned.
7421func (c *ProjectsLocationsDatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7422	gensupport.SetOptions(c.urlParams_, opts...)
7423	res, err := c.doRequest("json")
7424	if res != nil && res.StatusCode == http.StatusNotModified {
7425		if res.Body != nil {
7426			res.Body.Close()
7427		}
7428		return nil, &googleapi.Error{
7429			Code:   res.StatusCode,
7430			Header: res.Header,
7431		}
7432	}
7433	if err != nil {
7434		return nil, err
7435	}
7436	defer googleapi.CloseBody(res)
7437	if err := googleapi.CheckResponse(res); err != nil {
7438		return nil, err
7439	}
7440	ret := &Empty{
7441		ServerResponse: googleapi.ServerResponse{
7442			Header:         res.Header,
7443			HTTPStatusCode: res.StatusCode,
7444		},
7445	}
7446	target := &ret
7447	if err := gensupport.DecodeResponse(target, res); err != nil {
7448		return nil, err
7449	}
7450	return ret, nil
7451	// {
7452	//   "description": "Deletes the specified health dataset and all data contained in the dataset. Deleting a dataset does not affect the sources from which the dataset was imported (if any).",
7453	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7454	//   "httpMethod": "DELETE",
7455	//   "id": "healthcare.projects.locations.datasets.delete",
7456	//   "parameterOrder": [
7457	//     "name"
7458	//   ],
7459	//   "parameters": {
7460	//     "name": {
7461	//       "description": "The name of the dataset to delete. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7462	//       "location": "path",
7463	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7464	//       "required": true,
7465	//       "type": "string"
7466	//     }
7467	//   },
7468	//   "path": "v1beta1/{+name}",
7469	//   "response": {
7470	//     "$ref": "Empty"
7471	//   },
7472	//   "scopes": [
7473	//     "https://www.googleapis.com/auth/cloud-platform"
7474	//   ]
7475	// }
7476
7477}
7478
7479// method id "healthcare.projects.locations.datasets.get":
7480
7481type ProjectsLocationsDatasetsGetCall struct {
7482	s            *Service
7483	name         string
7484	urlParams_   gensupport.URLParams
7485	ifNoneMatch_ string
7486	ctx_         context.Context
7487	header_      http.Header
7488}
7489
7490// Get: Gets any metadata associated with a dataset.
7491func (r *ProjectsLocationsDatasetsService) Get(name string) *ProjectsLocationsDatasetsGetCall {
7492	c := &ProjectsLocationsDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7493	c.name = name
7494	return c
7495}
7496
7497// Fields allows partial responses to be retrieved. See
7498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7499// for more information.
7500func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
7501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7502	return c
7503}
7504
7505// IfNoneMatch sets the optional parameter which makes the operation
7506// fail if the object's ETag matches the given value. This is useful for
7507// getting updates only after the object has changed since the last
7508// request. Use googleapi.IsNotModified to check whether the response
7509// error from Do is the result of In-None-Match.
7510func (c *ProjectsLocationsDatasetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetCall {
7511	c.ifNoneMatch_ = entityTag
7512	return c
7513}
7514
7515// Context sets the context to be used in this call's Do method. Any
7516// pending HTTP request will be aborted if the provided context is
7517// canceled.
7518func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
7519	c.ctx_ = ctx
7520	return c
7521}
7522
7523// Header returns an http.Header that can be modified by the caller to
7524// add HTTP headers to the request.
7525func (c *ProjectsLocationsDatasetsGetCall) Header() http.Header {
7526	if c.header_ == nil {
7527		c.header_ = make(http.Header)
7528	}
7529	return c.header_
7530}
7531
7532func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
7533	reqHeaders := make(http.Header)
7534	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7535	for k, v := range c.header_ {
7536		reqHeaders[k] = v
7537	}
7538	reqHeaders.Set("User-Agent", c.s.userAgent())
7539	if c.ifNoneMatch_ != "" {
7540		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7541	}
7542	var body io.Reader = nil
7543	c.urlParams_.Set("alt", alt)
7544	c.urlParams_.Set("prettyPrint", "false")
7545	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7546	urls += "?" + c.urlParams_.Encode()
7547	req, err := http.NewRequest("GET", urls, body)
7548	if err != nil {
7549		return nil, err
7550	}
7551	req.Header = reqHeaders
7552	googleapi.Expand(req.URL, map[string]string{
7553		"name": c.name,
7554	})
7555	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7556}
7557
7558// Do executes the "healthcare.projects.locations.datasets.get" call.
7559// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
7560// code is an error. Response headers are in either
7561// *Dataset.ServerResponse.Header or (if a response was returned at all)
7562// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7563// check whether the returned error was because http.StatusNotModified
7564// was returned.
7565func (c *ProjectsLocationsDatasetsGetCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
7566	gensupport.SetOptions(c.urlParams_, opts...)
7567	res, err := c.doRequest("json")
7568	if res != nil && res.StatusCode == http.StatusNotModified {
7569		if res.Body != nil {
7570			res.Body.Close()
7571		}
7572		return nil, &googleapi.Error{
7573			Code:   res.StatusCode,
7574			Header: res.Header,
7575		}
7576	}
7577	if err != nil {
7578		return nil, err
7579	}
7580	defer googleapi.CloseBody(res)
7581	if err := googleapi.CheckResponse(res); err != nil {
7582		return nil, err
7583	}
7584	ret := &Dataset{
7585		ServerResponse: googleapi.ServerResponse{
7586			Header:         res.Header,
7587			HTTPStatusCode: res.StatusCode,
7588		},
7589	}
7590	target := &ret
7591	if err := gensupport.DecodeResponse(target, res); err != nil {
7592		return nil, err
7593	}
7594	return ret, nil
7595	// {
7596	//   "description": "Gets any metadata associated with a dataset.",
7597	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7598	//   "httpMethod": "GET",
7599	//   "id": "healthcare.projects.locations.datasets.get",
7600	//   "parameterOrder": [
7601	//     "name"
7602	//   ],
7603	//   "parameters": {
7604	//     "name": {
7605	//       "description": "The name of the dataset to read. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7606	//       "location": "path",
7607	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7608	//       "required": true,
7609	//       "type": "string"
7610	//     }
7611	//   },
7612	//   "path": "v1beta1/{+name}",
7613	//   "response": {
7614	//     "$ref": "Dataset"
7615	//   },
7616	//   "scopes": [
7617	//     "https://www.googleapis.com/auth/cloud-platform"
7618	//   ]
7619	// }
7620
7621}
7622
7623// method id "healthcare.projects.locations.datasets.getIamPolicy":
7624
7625type ProjectsLocationsDatasetsGetIamPolicyCall struct {
7626	s            *Service
7627	resource     string
7628	urlParams_   gensupport.URLParams
7629	ifNoneMatch_ string
7630	ctx_         context.Context
7631	header_      http.Header
7632}
7633
7634// GetIamPolicy: Gets the access control policy for a resource. Returns
7635// an empty policy if the resource exists and does not have a policy
7636// set.
7637func (r *ProjectsLocationsDatasetsService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7638	c := &ProjectsLocationsDatasetsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7639	c.resource = resource
7640	return c
7641}
7642
7643// OptionsRequestedPolicyVersion sets the optional parameter
7644// "options.requestedPolicyVersion": The policy format version to be
7645// returned. Valid values are 0, 1, and 3. Requests specifying an
7646// invalid value will be rejected. Requests for policies with any
7647// conditional bindings must specify version 3. Policies without any
7648// conditional bindings may specify any valid value or leave the field
7649// unset. To learn which resources support conditions in their IAM
7650// policies, see the IAM documentation
7651// (https://cloud.google.com/iam/help/conditions/resource-policies).
7652func (c *ProjectsLocationsDatasetsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsGetIamPolicyCall {
7653	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
7654	return c
7655}
7656
7657// Fields allows partial responses to be retrieved. See
7658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7659// for more information.
7660func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetIamPolicyCall {
7661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7662	return c
7663}
7664
7665// IfNoneMatch sets the optional parameter which makes the operation
7666// fail if the object's ETag matches the given value. This is useful for
7667// getting updates only after the object has changed since the last
7668// request. Use googleapi.IsNotModified to check whether the response
7669// error from Do is the result of In-None-Match.
7670func (c *ProjectsLocationsDatasetsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7671	c.ifNoneMatch_ = entityTag
7672	return c
7673}
7674
7675// Context sets the context to be used in this call's Do method. Any
7676// pending HTTP request will be aborted if the provided context is
7677// canceled.
7678func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetIamPolicyCall {
7679	c.ctx_ = ctx
7680	return c
7681}
7682
7683// Header returns an http.Header that can be modified by the caller to
7684// add HTTP headers to the request.
7685func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Header() http.Header {
7686	if c.header_ == nil {
7687		c.header_ = make(http.Header)
7688	}
7689	return c.header_
7690}
7691
7692func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7693	reqHeaders := make(http.Header)
7694	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7695	for k, v := range c.header_ {
7696		reqHeaders[k] = v
7697	}
7698	reqHeaders.Set("User-Agent", c.s.userAgent())
7699	if c.ifNoneMatch_ != "" {
7700		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7701	}
7702	var body io.Reader = nil
7703	c.urlParams_.Set("alt", alt)
7704	c.urlParams_.Set("prettyPrint", "false")
7705	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7706	urls += "?" + c.urlParams_.Encode()
7707	req, err := http.NewRequest("GET", urls, body)
7708	if err != nil {
7709		return nil, err
7710	}
7711	req.Header = reqHeaders
7712	googleapi.Expand(req.URL, map[string]string{
7713		"resource": c.resource,
7714	})
7715	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7716}
7717
7718// Do executes the "healthcare.projects.locations.datasets.getIamPolicy" call.
7719// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7720// code is an error. Response headers are in either
7721// *Policy.ServerResponse.Header or (if a response was returned at all)
7722// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7723// check whether the returned error was because http.StatusNotModified
7724// was returned.
7725func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7726	gensupport.SetOptions(c.urlParams_, opts...)
7727	res, err := c.doRequest("json")
7728	if res != nil && res.StatusCode == http.StatusNotModified {
7729		if res.Body != nil {
7730			res.Body.Close()
7731		}
7732		return nil, &googleapi.Error{
7733			Code:   res.StatusCode,
7734			Header: res.Header,
7735		}
7736	}
7737	if err != nil {
7738		return nil, err
7739	}
7740	defer googleapi.CloseBody(res)
7741	if err := googleapi.CheckResponse(res); err != nil {
7742		return nil, err
7743	}
7744	ret := &Policy{
7745		ServerResponse: googleapi.ServerResponse{
7746			Header:         res.Header,
7747			HTTPStatusCode: res.StatusCode,
7748		},
7749	}
7750	target := &ret
7751	if err := gensupport.DecodeResponse(target, res); err != nil {
7752		return nil, err
7753	}
7754	return ret, nil
7755	// {
7756	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
7757	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy",
7758	//   "httpMethod": "GET",
7759	//   "id": "healthcare.projects.locations.datasets.getIamPolicy",
7760	//   "parameterOrder": [
7761	//     "resource"
7762	//   ],
7763	//   "parameters": {
7764	//     "options.requestedPolicyVersion": {
7765	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
7766	//       "format": "int32",
7767	//       "location": "query",
7768	//       "type": "integer"
7769	//     },
7770	//     "resource": {
7771	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7772	//       "location": "path",
7773	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7774	//       "required": true,
7775	//       "type": "string"
7776	//     }
7777	//   },
7778	//   "path": "v1beta1/{+resource}:getIamPolicy",
7779	//   "response": {
7780	//     "$ref": "Policy"
7781	//   },
7782	//   "scopes": [
7783	//     "https://www.googleapis.com/auth/cloud-platform"
7784	//   ]
7785	// }
7786
7787}
7788
7789// method id "healthcare.projects.locations.datasets.list":
7790
7791type ProjectsLocationsDatasetsListCall struct {
7792	s            *Service
7793	parent       string
7794	urlParams_   gensupport.URLParams
7795	ifNoneMatch_ string
7796	ctx_         context.Context
7797	header_      http.Header
7798}
7799
7800// List: Lists the health datasets in the current project.
7801func (r *ProjectsLocationsDatasetsService) List(parent string) *ProjectsLocationsDatasetsListCall {
7802	c := &ProjectsLocationsDatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7803	c.parent = parent
7804	return c
7805}
7806
7807// PageSize sets the optional parameter "pageSize": The maximum number
7808// of items to return. If not specified, 100 is used. May not be larger
7809// than 1000.
7810func (c *ProjectsLocationsDatasetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsListCall {
7811	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7812	return c
7813}
7814
7815// PageToken sets the optional parameter "pageToken": The
7816// next_page_token value returned from a previous List request, if any.
7817func (c *ProjectsLocationsDatasetsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsListCall {
7818	c.urlParams_.Set("pageToken", pageToken)
7819	return c
7820}
7821
7822// Fields allows partial responses to be retrieved. See
7823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7824// for more information.
7825func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
7826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7827	return c
7828}
7829
7830// IfNoneMatch sets the optional parameter which makes the operation
7831// fail if the object's ETag matches the given value. This is useful for
7832// getting updates only after the object has changed since the last
7833// request. Use googleapi.IsNotModified to check whether the response
7834// error from Do is the result of In-None-Match.
7835func (c *ProjectsLocationsDatasetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsListCall {
7836	c.ifNoneMatch_ = entityTag
7837	return c
7838}
7839
7840// Context sets the context to be used in this call's Do method. Any
7841// pending HTTP request will be aborted if the provided context is
7842// canceled.
7843func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
7844	c.ctx_ = ctx
7845	return c
7846}
7847
7848// Header returns an http.Header that can be modified by the caller to
7849// add HTTP headers to the request.
7850func (c *ProjectsLocationsDatasetsListCall) Header() http.Header {
7851	if c.header_ == nil {
7852		c.header_ = make(http.Header)
7853	}
7854	return c.header_
7855}
7856
7857func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
7858	reqHeaders := make(http.Header)
7859	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
7860	for k, v := range c.header_ {
7861		reqHeaders[k] = v
7862	}
7863	reqHeaders.Set("User-Agent", c.s.userAgent())
7864	if c.ifNoneMatch_ != "" {
7865		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7866	}
7867	var body io.Reader = nil
7868	c.urlParams_.Set("alt", alt)
7869	c.urlParams_.Set("prettyPrint", "false")
7870	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7871	urls += "?" + c.urlParams_.Encode()
7872	req, err := http.NewRequest("GET", urls, body)
7873	if err != nil {
7874		return nil, err
7875	}
7876	req.Header = reqHeaders
7877	googleapi.Expand(req.URL, map[string]string{
7878		"parent": c.parent,
7879	})
7880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7881}
7882
7883// Do executes the "healthcare.projects.locations.datasets.list" call.
7884// Exactly one of *ListDatasetsResponse or error will be non-nil. Any
7885// non-2xx status code is an error. Response headers are in either
7886// *ListDatasetsResponse.ServerResponse.Header or (if a response was
7887// returned at all) in error.(*googleapi.Error).Header. Use
7888// googleapi.IsNotModified to check whether the returned error was
7889// because http.StatusNotModified was returned.
7890func (c *ProjectsLocationsDatasetsListCall) Do(opts ...googleapi.CallOption) (*ListDatasetsResponse, error) {
7891	gensupport.SetOptions(c.urlParams_, opts...)
7892	res, err := c.doRequest("json")
7893	if res != nil && res.StatusCode == http.StatusNotModified {
7894		if res.Body != nil {
7895			res.Body.Close()
7896		}
7897		return nil, &googleapi.Error{
7898			Code:   res.StatusCode,
7899			Header: res.Header,
7900		}
7901	}
7902	if err != nil {
7903		return nil, err
7904	}
7905	defer googleapi.CloseBody(res)
7906	if err := googleapi.CheckResponse(res); err != nil {
7907		return nil, err
7908	}
7909	ret := &ListDatasetsResponse{
7910		ServerResponse: googleapi.ServerResponse{
7911			Header:         res.Header,
7912			HTTPStatusCode: res.StatusCode,
7913		},
7914	}
7915	target := &ret
7916	if err := gensupport.DecodeResponse(target, res); err != nil {
7917		return nil, err
7918	}
7919	return ret, nil
7920	// {
7921	//   "description": "Lists the health datasets in the current project.",
7922	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7923	//   "httpMethod": "GET",
7924	//   "id": "healthcare.projects.locations.datasets.list",
7925	//   "parameterOrder": [
7926	//     "parent"
7927	//   ],
7928	//   "parameters": {
7929	//     "pageSize": {
7930	//       "description": "The maximum number of items to return. If not specified, 100 is used. May not be larger than 1000.",
7931	//       "format": "int32",
7932	//       "location": "query",
7933	//       "type": "integer"
7934	//     },
7935	//     "pageToken": {
7936	//       "description": "The next_page_token value returned from a previous List request, if any.",
7937	//       "location": "query",
7938	//       "type": "string"
7939	//     },
7940	//     "parent": {
7941	//       "description": "The name of the project whose datasets should be listed. For example, `projects/{project_id}/locations/{location_id}`.",
7942	//       "location": "path",
7943	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7944	//       "required": true,
7945	//       "type": "string"
7946	//     }
7947	//   },
7948	//   "path": "v1beta1/{+parent}/datasets",
7949	//   "response": {
7950	//     "$ref": "ListDatasetsResponse"
7951	//   },
7952	//   "scopes": [
7953	//     "https://www.googleapis.com/auth/cloud-platform"
7954	//   ]
7955	// }
7956
7957}
7958
7959// Pages invokes f for each page of results.
7960// A non-nil error returned from f will halt the iteration.
7961// The provided context supersedes any context provided to the Context method.
7962func (c *ProjectsLocationsDatasetsListCall) Pages(ctx context.Context, f func(*ListDatasetsResponse) error) error {
7963	c.ctx_ = ctx
7964	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7965	for {
7966		x, err := c.Do()
7967		if err != nil {
7968			return err
7969		}
7970		if err := f(x); err != nil {
7971			return err
7972		}
7973		if x.NextPageToken == "" {
7974			return nil
7975		}
7976		c.PageToken(x.NextPageToken)
7977	}
7978}
7979
7980// method id "healthcare.projects.locations.datasets.patch":
7981
7982type ProjectsLocationsDatasetsPatchCall struct {
7983	s          *Service
7984	name       string
7985	dataset    *Dataset
7986	urlParams_ gensupport.URLParams
7987	ctx_       context.Context
7988	header_    http.Header
7989}
7990
7991// Patch: Updates dataset metadata.
7992func (r *ProjectsLocationsDatasetsService) Patch(name string, dataset *Dataset) *ProjectsLocationsDatasetsPatchCall {
7993	c := &ProjectsLocationsDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7994	c.name = name
7995	c.dataset = dataset
7996	return c
7997}
7998
7999// UpdateMask sets the optional parameter "updateMask": The update mask
8000// applies to the resource. For the `FieldMask` definition, see
8001// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
8002func (c *ProjectsLocationsDatasetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsPatchCall {
8003	c.urlParams_.Set("updateMask", updateMask)
8004	return c
8005}
8006
8007// Fields allows partial responses to be retrieved. See
8008// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8009// for more information.
8010func (c *ProjectsLocationsDatasetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsPatchCall {
8011	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8012	return c
8013}
8014
8015// Context sets the context to be used in this call's Do method. Any
8016// pending HTTP request will be aborted if the provided context is
8017// canceled.
8018func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
8019	c.ctx_ = ctx
8020	return c
8021}
8022
8023// Header returns an http.Header that can be modified by the caller to
8024// add HTTP headers to the request.
8025func (c *ProjectsLocationsDatasetsPatchCall) Header() http.Header {
8026	if c.header_ == nil {
8027		c.header_ = make(http.Header)
8028	}
8029	return c.header_
8030}
8031
8032func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
8033	reqHeaders := make(http.Header)
8034	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8035	for k, v := range c.header_ {
8036		reqHeaders[k] = v
8037	}
8038	reqHeaders.Set("User-Agent", c.s.userAgent())
8039	var body io.Reader = nil
8040	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
8041	if err != nil {
8042		return nil, err
8043	}
8044	reqHeaders.Set("Content-Type", "application/json")
8045	c.urlParams_.Set("alt", alt)
8046	c.urlParams_.Set("prettyPrint", "false")
8047	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8048	urls += "?" + c.urlParams_.Encode()
8049	req, err := http.NewRequest("PATCH", urls, body)
8050	if err != nil {
8051		return nil, err
8052	}
8053	req.Header = reqHeaders
8054	googleapi.Expand(req.URL, map[string]string{
8055		"name": c.name,
8056	})
8057	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8058}
8059
8060// Do executes the "healthcare.projects.locations.datasets.patch" call.
8061// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
8062// code is an error. Response headers are in either
8063// *Dataset.ServerResponse.Header or (if a response was returned at all)
8064// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8065// check whether the returned error was because http.StatusNotModified
8066// was returned.
8067func (c *ProjectsLocationsDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
8068	gensupport.SetOptions(c.urlParams_, opts...)
8069	res, err := c.doRequest("json")
8070	if res != nil && res.StatusCode == http.StatusNotModified {
8071		if res.Body != nil {
8072			res.Body.Close()
8073		}
8074		return nil, &googleapi.Error{
8075			Code:   res.StatusCode,
8076			Header: res.Header,
8077		}
8078	}
8079	if err != nil {
8080		return nil, err
8081	}
8082	defer googleapi.CloseBody(res)
8083	if err := googleapi.CheckResponse(res); err != nil {
8084		return nil, err
8085	}
8086	ret := &Dataset{
8087		ServerResponse: googleapi.ServerResponse{
8088			Header:         res.Header,
8089			HTTPStatusCode: res.StatusCode,
8090		},
8091	}
8092	target := &ret
8093	if err := gensupport.DecodeResponse(target, res); err != nil {
8094		return nil, err
8095	}
8096	return ret, nil
8097	// {
8098	//   "description": "Updates dataset metadata.",
8099	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
8100	//   "httpMethod": "PATCH",
8101	//   "id": "healthcare.projects.locations.datasets.patch",
8102	//   "parameterOrder": [
8103	//     "name"
8104	//   ],
8105	//   "parameters": {
8106	//     "name": {
8107	//       "description": "Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
8108	//       "location": "path",
8109	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8110	//       "required": true,
8111	//       "type": "string"
8112	//     },
8113	//     "updateMask": {
8114	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
8115	//       "format": "google-fieldmask",
8116	//       "location": "query",
8117	//       "type": "string"
8118	//     }
8119	//   },
8120	//   "path": "v1beta1/{+name}",
8121	//   "request": {
8122	//     "$ref": "Dataset"
8123	//   },
8124	//   "response": {
8125	//     "$ref": "Dataset"
8126	//   },
8127	//   "scopes": [
8128	//     "https://www.googleapis.com/auth/cloud-platform"
8129	//   ]
8130	// }
8131
8132}
8133
8134// method id "healthcare.projects.locations.datasets.setIamPolicy":
8135
8136type ProjectsLocationsDatasetsSetIamPolicyCall struct {
8137	s                   *Service
8138	resource            string
8139	setiampolicyrequest *SetIamPolicyRequest
8140	urlParams_          gensupport.URLParams
8141	ctx_                context.Context
8142	header_             http.Header
8143}
8144
8145// SetIamPolicy: Sets the access control policy on the specified
8146// resource. Replaces any existing policy. Can return `NOT_FOUND`,
8147// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
8148func (r *ProjectsLocationsDatasetsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsSetIamPolicyCall {
8149	c := &ProjectsLocationsDatasetsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8150	c.resource = resource
8151	c.setiampolicyrequest = setiampolicyrequest
8152	return c
8153}
8154
8155// Fields allows partial responses to be retrieved. See
8156// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8157// for more information.
8158func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSetIamPolicyCall {
8159	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8160	return c
8161}
8162
8163// Context sets the context to be used in this call's Do method. Any
8164// pending HTTP request will be aborted if the provided context is
8165// canceled.
8166func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSetIamPolicyCall {
8167	c.ctx_ = ctx
8168	return c
8169}
8170
8171// Header returns an http.Header that can be modified by the caller to
8172// add HTTP headers to the request.
8173func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Header() http.Header {
8174	if c.header_ == nil {
8175		c.header_ = make(http.Header)
8176	}
8177	return c.header_
8178}
8179
8180func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
8181	reqHeaders := make(http.Header)
8182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8183	for k, v := range c.header_ {
8184		reqHeaders[k] = v
8185	}
8186	reqHeaders.Set("User-Agent", c.s.userAgent())
8187	var body io.Reader = nil
8188	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
8189	if err != nil {
8190		return nil, err
8191	}
8192	reqHeaders.Set("Content-Type", "application/json")
8193	c.urlParams_.Set("alt", alt)
8194	c.urlParams_.Set("prettyPrint", "false")
8195	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
8196	urls += "?" + c.urlParams_.Encode()
8197	req, err := http.NewRequest("POST", urls, body)
8198	if err != nil {
8199		return nil, err
8200	}
8201	req.Header = reqHeaders
8202	googleapi.Expand(req.URL, map[string]string{
8203		"resource": c.resource,
8204	})
8205	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8206}
8207
8208// Do executes the "healthcare.projects.locations.datasets.setIamPolicy" call.
8209// Exactly one of *Policy or error will be non-nil. Any non-2xx status
8210// code is an error. Response headers are in either
8211// *Policy.ServerResponse.Header or (if a response was returned at all)
8212// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8213// check whether the returned error was because http.StatusNotModified
8214// was returned.
8215func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
8216	gensupport.SetOptions(c.urlParams_, opts...)
8217	res, err := c.doRequest("json")
8218	if res != nil && res.StatusCode == http.StatusNotModified {
8219		if res.Body != nil {
8220			res.Body.Close()
8221		}
8222		return nil, &googleapi.Error{
8223			Code:   res.StatusCode,
8224			Header: res.Header,
8225		}
8226	}
8227	if err != nil {
8228		return nil, err
8229	}
8230	defer googleapi.CloseBody(res)
8231	if err := googleapi.CheckResponse(res); err != nil {
8232		return nil, err
8233	}
8234	ret := &Policy{
8235		ServerResponse: googleapi.ServerResponse{
8236			Header:         res.Header,
8237			HTTPStatusCode: res.StatusCode,
8238		},
8239	}
8240	target := &ret
8241	if err := gensupport.DecodeResponse(target, res); err != nil {
8242		return nil, err
8243	}
8244	return ret, nil
8245	// {
8246	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
8247	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy",
8248	//   "httpMethod": "POST",
8249	//   "id": "healthcare.projects.locations.datasets.setIamPolicy",
8250	//   "parameterOrder": [
8251	//     "resource"
8252	//   ],
8253	//   "parameters": {
8254	//     "resource": {
8255	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
8256	//       "location": "path",
8257	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8258	//       "required": true,
8259	//       "type": "string"
8260	//     }
8261	//   },
8262	//   "path": "v1beta1/{+resource}:setIamPolicy",
8263	//   "request": {
8264	//     "$ref": "SetIamPolicyRequest"
8265	//   },
8266	//   "response": {
8267	//     "$ref": "Policy"
8268	//   },
8269	//   "scopes": [
8270	//     "https://www.googleapis.com/auth/cloud-platform"
8271	//   ]
8272	// }
8273
8274}
8275
8276// method id "healthcare.projects.locations.datasets.testIamPermissions":
8277
8278type ProjectsLocationsDatasetsTestIamPermissionsCall struct {
8279	s                         *Service
8280	resource                  string
8281	testiampermissionsrequest *TestIamPermissionsRequest
8282	urlParams_                gensupport.URLParams
8283	ctx_                      context.Context
8284	header_                   http.Header
8285}
8286
8287// TestIamPermissions: Returns permissions that a caller has on the
8288// specified resource. If the resource does not exist, this will return
8289// an empty set of permissions, not a `NOT_FOUND` error. Note: This
8290// operation is designed to be used for building permission-aware UIs
8291// and command-line tools, not for authorization checking. This
8292// operation may "fail open" without warning.
8293func (r *ProjectsLocationsDatasetsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8294	c := &ProjectsLocationsDatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8295	c.resource = resource
8296	c.testiampermissionsrequest = testiampermissionsrequest
8297	return c
8298}
8299
8300// Fields allows partial responses to be retrieved. See
8301// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8302// for more information.
8303func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8304	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8305	return c
8306}
8307
8308// Context sets the context to be used in this call's Do method. Any
8309// pending HTTP request will be aborted if the provided context is
8310// canceled.
8311func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8312	c.ctx_ = ctx
8313	return c
8314}
8315
8316// Header returns an http.Header that can be modified by the caller to
8317// add HTTP headers to the request.
8318func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Header() http.Header {
8319	if c.header_ == nil {
8320		c.header_ = make(http.Header)
8321	}
8322	return c.header_
8323}
8324
8325func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
8326	reqHeaders := make(http.Header)
8327	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8328	for k, v := range c.header_ {
8329		reqHeaders[k] = v
8330	}
8331	reqHeaders.Set("User-Agent", c.s.userAgent())
8332	var body io.Reader = nil
8333	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
8334	if err != nil {
8335		return nil, err
8336	}
8337	reqHeaders.Set("Content-Type", "application/json")
8338	c.urlParams_.Set("alt", alt)
8339	c.urlParams_.Set("prettyPrint", "false")
8340	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
8341	urls += "?" + c.urlParams_.Encode()
8342	req, err := http.NewRequest("POST", urls, body)
8343	if err != nil {
8344		return nil, err
8345	}
8346	req.Header = reqHeaders
8347	googleapi.Expand(req.URL, map[string]string{
8348		"resource": c.resource,
8349	})
8350	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8351}
8352
8353// Do executes the "healthcare.projects.locations.datasets.testIamPermissions" call.
8354// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
8355// Any non-2xx status code is an error. Response headers are in either
8356// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
8357// was returned at all) in error.(*googleapi.Error).Header. Use
8358// googleapi.IsNotModified to check whether the returned error was
8359// because http.StatusNotModified was returned.
8360func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
8361	gensupport.SetOptions(c.urlParams_, opts...)
8362	res, err := c.doRequest("json")
8363	if res != nil && res.StatusCode == http.StatusNotModified {
8364		if res.Body != nil {
8365			res.Body.Close()
8366		}
8367		return nil, &googleapi.Error{
8368			Code:   res.StatusCode,
8369			Header: res.Header,
8370		}
8371	}
8372	if err != nil {
8373		return nil, err
8374	}
8375	defer googleapi.CloseBody(res)
8376	if err := googleapi.CheckResponse(res); err != nil {
8377		return nil, err
8378	}
8379	ret := &TestIamPermissionsResponse{
8380		ServerResponse: googleapi.ServerResponse{
8381			Header:         res.Header,
8382			HTTPStatusCode: res.StatusCode,
8383		},
8384	}
8385	target := &ret
8386	if err := gensupport.DecodeResponse(target, res); err != nil {
8387		return nil, err
8388	}
8389	return ret, nil
8390	// {
8391	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
8392	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions",
8393	//   "httpMethod": "POST",
8394	//   "id": "healthcare.projects.locations.datasets.testIamPermissions",
8395	//   "parameterOrder": [
8396	//     "resource"
8397	//   ],
8398	//   "parameters": {
8399	//     "resource": {
8400	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
8401	//       "location": "path",
8402	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8403	//       "required": true,
8404	//       "type": "string"
8405	//     }
8406	//   },
8407	//   "path": "v1beta1/{+resource}:testIamPermissions",
8408	//   "request": {
8409	//     "$ref": "TestIamPermissionsRequest"
8410	//   },
8411	//   "response": {
8412	//     "$ref": "TestIamPermissionsResponse"
8413	//   },
8414	//   "scopes": [
8415	//     "https://www.googleapis.com/auth/cloud-platform"
8416	//   ]
8417	// }
8418
8419}
8420
8421// method id "healthcare.projects.locations.datasets.annotationStores.create":
8422
8423type ProjectsLocationsDatasetsAnnotationStoresCreateCall struct {
8424	s               *Service
8425	parent          string
8426	annotationstore *AnnotationStore
8427	urlParams_      gensupport.URLParams
8428	ctx_            context.Context
8429	header_         http.Header
8430}
8431
8432// Create: Creates a new Annotation store within the parent dataset.
8433func (r *ProjectsLocationsDatasetsAnnotationStoresService) Create(parent string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8434	c := &ProjectsLocationsDatasetsAnnotationStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8435	c.parent = parent
8436	c.annotationstore = annotationstore
8437	return c
8438}
8439
8440// AnnotationStoreId sets the optional parameter "annotationStoreId":
8441// The ID of the Annotation store that is being created. The string must
8442// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
8443func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) AnnotationStoreId(annotationStoreId string) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8444	c.urlParams_.Set("annotationStoreId", annotationStoreId)
8445	return c
8446}
8447
8448// Fields allows partial responses to be retrieved. See
8449// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8450// for more information.
8451func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8452	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8453	return c
8454}
8455
8456// Context sets the context to be used in this call's Do method. Any
8457// pending HTTP request will be aborted if the provided context is
8458// canceled.
8459func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8460	c.ctx_ = ctx
8461	return c
8462}
8463
8464// Header returns an http.Header that can be modified by the caller to
8465// add HTTP headers to the request.
8466func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Header() http.Header {
8467	if c.header_ == nil {
8468		c.header_ = make(http.Header)
8469	}
8470	return c.header_
8471}
8472
8473func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) doRequest(alt string) (*http.Response, error) {
8474	reqHeaders := make(http.Header)
8475	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8476	for k, v := range c.header_ {
8477		reqHeaders[k] = v
8478	}
8479	reqHeaders.Set("User-Agent", c.s.userAgent())
8480	var body io.Reader = nil
8481	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
8482	if err != nil {
8483		return nil, err
8484	}
8485	reqHeaders.Set("Content-Type", "application/json")
8486	c.urlParams_.Set("alt", alt)
8487	c.urlParams_.Set("prettyPrint", "false")
8488	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
8489	urls += "?" + c.urlParams_.Encode()
8490	req, err := http.NewRequest("POST", urls, body)
8491	if err != nil {
8492		return nil, err
8493	}
8494	req.Header = reqHeaders
8495	googleapi.Expand(req.URL, map[string]string{
8496		"parent": c.parent,
8497	})
8498	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8499}
8500
8501// Do executes the "healthcare.projects.locations.datasets.annotationStores.create" call.
8502// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
8503// status code is an error. Response headers are in either
8504// *AnnotationStore.ServerResponse.Header or (if a response was returned
8505// at all) in error.(*googleapi.Error).Header. Use
8506// googleapi.IsNotModified to check whether the returned error was
8507// because http.StatusNotModified was returned.
8508func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
8509	gensupport.SetOptions(c.urlParams_, opts...)
8510	res, err := c.doRequest("json")
8511	if res != nil && res.StatusCode == http.StatusNotModified {
8512		if res.Body != nil {
8513			res.Body.Close()
8514		}
8515		return nil, &googleapi.Error{
8516			Code:   res.StatusCode,
8517			Header: res.Header,
8518		}
8519	}
8520	if err != nil {
8521		return nil, err
8522	}
8523	defer googleapi.CloseBody(res)
8524	if err := googleapi.CheckResponse(res); err != nil {
8525		return nil, err
8526	}
8527	ret := &AnnotationStore{
8528		ServerResponse: googleapi.ServerResponse{
8529			Header:         res.Header,
8530			HTTPStatusCode: res.StatusCode,
8531		},
8532	}
8533	target := &ret
8534	if err := gensupport.DecodeResponse(target, res); err != nil {
8535		return nil, err
8536	}
8537	return ret, nil
8538	// {
8539	//   "description": "Creates a new Annotation store within the parent dataset.",
8540	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
8541	//   "httpMethod": "POST",
8542	//   "id": "healthcare.projects.locations.datasets.annotationStores.create",
8543	//   "parameterOrder": [
8544	//     "parent"
8545	//   ],
8546	//   "parameters": {
8547	//     "annotationStoreId": {
8548	//       "description": "The ID of the Annotation store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
8549	//       "location": "query",
8550	//       "type": "string"
8551	//     },
8552	//     "parent": {
8553	//       "description": "The name of the dataset this Annotation store belongs to.",
8554	//       "location": "path",
8555	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8556	//       "required": true,
8557	//       "type": "string"
8558	//     }
8559	//   },
8560	//   "path": "v1beta1/{+parent}/annotationStores",
8561	//   "request": {
8562	//     "$ref": "AnnotationStore"
8563	//   },
8564	//   "response": {
8565	//     "$ref": "AnnotationStore"
8566	//   },
8567	//   "scopes": [
8568	//     "https://www.googleapis.com/auth/cloud-platform"
8569	//   ]
8570	// }
8571
8572}
8573
8574// method id "healthcare.projects.locations.datasets.annotationStores.delete":
8575
8576type ProjectsLocationsDatasetsAnnotationStoresDeleteCall struct {
8577	s          *Service
8578	name       string
8579	urlParams_ gensupport.URLParams
8580	ctx_       context.Context
8581	header_    http.Header
8582}
8583
8584// Delete: Deletes the specified Annotation store and removes all
8585// annotations that are contained within it.
8586func (r *ProjectsLocationsDatasetsAnnotationStoresService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8587	c := &ProjectsLocationsDatasetsAnnotationStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8588	c.name = name
8589	return c
8590}
8591
8592// Fields allows partial responses to be retrieved. See
8593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8594// for more information.
8595func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8597	return c
8598}
8599
8600// Context sets the context to be used in this call's Do method. Any
8601// pending HTTP request will be aborted if the provided context is
8602// canceled.
8603func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8604	c.ctx_ = ctx
8605	return c
8606}
8607
8608// Header returns an http.Header that can be modified by the caller to
8609// add HTTP headers to the request.
8610func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Header() http.Header {
8611	if c.header_ == nil {
8612		c.header_ = make(http.Header)
8613	}
8614	return c.header_
8615}
8616
8617func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
8618	reqHeaders := make(http.Header)
8619	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8620	for k, v := range c.header_ {
8621		reqHeaders[k] = v
8622	}
8623	reqHeaders.Set("User-Agent", c.s.userAgent())
8624	var body io.Reader = nil
8625	c.urlParams_.Set("alt", alt)
8626	c.urlParams_.Set("prettyPrint", "false")
8627	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8628	urls += "?" + c.urlParams_.Encode()
8629	req, err := http.NewRequest("DELETE", urls, body)
8630	if err != nil {
8631		return nil, err
8632	}
8633	req.Header = reqHeaders
8634	googleapi.Expand(req.URL, map[string]string{
8635		"name": c.name,
8636	})
8637	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8638}
8639
8640// Do executes the "healthcare.projects.locations.datasets.annotationStores.delete" call.
8641// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8642// code is an error. Response headers are in either
8643// *Empty.ServerResponse.Header or (if a response was returned at all)
8644// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8645// check whether the returned error was because http.StatusNotModified
8646// was returned.
8647func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8648	gensupport.SetOptions(c.urlParams_, opts...)
8649	res, err := c.doRequest("json")
8650	if res != nil && res.StatusCode == http.StatusNotModified {
8651		if res.Body != nil {
8652			res.Body.Close()
8653		}
8654		return nil, &googleapi.Error{
8655			Code:   res.StatusCode,
8656			Header: res.Header,
8657		}
8658	}
8659	if err != nil {
8660		return nil, err
8661	}
8662	defer googleapi.CloseBody(res)
8663	if err := googleapi.CheckResponse(res); err != nil {
8664		return nil, err
8665	}
8666	ret := &Empty{
8667		ServerResponse: googleapi.ServerResponse{
8668			Header:         res.Header,
8669			HTTPStatusCode: res.StatusCode,
8670		},
8671	}
8672	target := &ret
8673	if err := gensupport.DecodeResponse(target, res); err != nil {
8674		return nil, err
8675	}
8676	return ret, nil
8677	// {
8678	//   "description": "Deletes the specified Annotation store and removes all annotations that are contained within it.",
8679	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
8680	//   "httpMethod": "DELETE",
8681	//   "id": "healthcare.projects.locations.datasets.annotationStores.delete",
8682	//   "parameterOrder": [
8683	//     "name"
8684	//   ],
8685	//   "parameters": {
8686	//     "name": {
8687	//       "description": "The resource name of the Annotation store to delete.",
8688	//       "location": "path",
8689	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8690	//       "required": true,
8691	//       "type": "string"
8692	//     }
8693	//   },
8694	//   "path": "v1beta1/{+name}",
8695	//   "response": {
8696	//     "$ref": "Empty"
8697	//   },
8698	//   "scopes": [
8699	//     "https://www.googleapis.com/auth/cloud-platform"
8700	//   ]
8701	// }
8702
8703}
8704
8705// method id "healthcare.projects.locations.datasets.annotationStores.evaluate":
8706
8707type ProjectsLocationsDatasetsAnnotationStoresEvaluateCall struct {
8708	s                              *Service
8709	name                           string
8710	evaluateannotationstorerequest *EvaluateAnnotationStoreRequest
8711	urlParams_                     gensupport.URLParams
8712	ctx_                           context.Context
8713	header_                        http.Header
8714}
8715
8716// Evaluate: Evaluate an Annotation store against a ground truth
8717// Annotation store. When the operation finishes successfully, a
8718// detailed response is returned of type
8719// EvaluateAnnotationStoreResponse, contained in the response. The
8720// metadata field type is OperationMetadata. Errors are logged to Cloud
8721// Logging (see Viewing logs (/healthcare/docs/how-tos/logging)).
8722func (r *ProjectsLocationsDatasetsAnnotationStoresService) Evaluate(name string, evaluateannotationstorerequest *EvaluateAnnotationStoreRequest) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8723	c := &ProjectsLocationsDatasetsAnnotationStoresEvaluateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8724	c.name = name
8725	c.evaluateannotationstorerequest = evaluateannotationstorerequest
8726	return c
8727}
8728
8729// Fields allows partial responses to be retrieved. See
8730// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8731// for more information.
8732func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8733	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8734	return c
8735}
8736
8737// Context sets the context to be used in this call's Do method. Any
8738// pending HTTP request will be aborted if the provided context is
8739// canceled.
8740func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8741	c.ctx_ = ctx
8742	return c
8743}
8744
8745// Header returns an http.Header that can be modified by the caller to
8746// add HTTP headers to the request.
8747func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Header() http.Header {
8748	if c.header_ == nil {
8749		c.header_ = make(http.Header)
8750	}
8751	return c.header_
8752}
8753
8754func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) doRequest(alt string) (*http.Response, error) {
8755	reqHeaders := make(http.Header)
8756	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8757	for k, v := range c.header_ {
8758		reqHeaders[k] = v
8759	}
8760	reqHeaders.Set("User-Agent", c.s.userAgent())
8761	var body io.Reader = nil
8762	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateannotationstorerequest)
8763	if err != nil {
8764		return nil, err
8765	}
8766	reqHeaders.Set("Content-Type", "application/json")
8767	c.urlParams_.Set("alt", alt)
8768	c.urlParams_.Set("prettyPrint", "false")
8769	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:evaluate")
8770	urls += "?" + c.urlParams_.Encode()
8771	req, err := http.NewRequest("POST", urls, body)
8772	if err != nil {
8773		return nil, err
8774	}
8775	req.Header = reqHeaders
8776	googleapi.Expand(req.URL, map[string]string{
8777		"name": c.name,
8778	})
8779	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8780}
8781
8782// Do executes the "healthcare.projects.locations.datasets.annotationStores.evaluate" call.
8783// Exactly one of *Operation or error will be non-nil. Any non-2xx
8784// status code is an error. Response headers are in either
8785// *Operation.ServerResponse.Header or (if a response was returned at
8786// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8787// to check whether the returned error was because
8788// http.StatusNotModified was returned.
8789func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8790	gensupport.SetOptions(c.urlParams_, opts...)
8791	res, err := c.doRequest("json")
8792	if res != nil && res.StatusCode == http.StatusNotModified {
8793		if res.Body != nil {
8794			res.Body.Close()
8795		}
8796		return nil, &googleapi.Error{
8797			Code:   res.StatusCode,
8798			Header: res.Header,
8799		}
8800	}
8801	if err != nil {
8802		return nil, err
8803	}
8804	defer googleapi.CloseBody(res)
8805	if err := googleapi.CheckResponse(res); err != nil {
8806		return nil, err
8807	}
8808	ret := &Operation{
8809		ServerResponse: googleapi.ServerResponse{
8810			Header:         res.Header,
8811			HTTPStatusCode: res.StatusCode,
8812		},
8813	}
8814	target := &ret
8815	if err := gensupport.DecodeResponse(target, res); err != nil {
8816		return nil, err
8817	}
8818	return ret, nil
8819	// {
8820	//   "description": "Evaluate an Annotation store against a ground truth Annotation store. When the operation finishes successfully, a detailed response is returned of type EvaluateAnnotationStoreResponse, contained in the response. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)).",
8821	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate",
8822	//   "httpMethod": "POST",
8823	//   "id": "healthcare.projects.locations.datasets.annotationStores.evaluate",
8824	//   "parameterOrder": [
8825	//     "name"
8826	//   ],
8827	//   "parameters": {
8828	//     "name": {
8829	//       "description": "The Annotation store to compare against `golden_store`, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
8830	//       "location": "path",
8831	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8832	//       "required": true,
8833	//       "type": "string"
8834	//     }
8835	//   },
8836	//   "path": "v1beta1/{+name}:evaluate",
8837	//   "request": {
8838	//     "$ref": "EvaluateAnnotationStoreRequest"
8839	//   },
8840	//   "response": {
8841	//     "$ref": "Operation"
8842	//   },
8843	//   "scopes": [
8844	//     "https://www.googleapis.com/auth/cloud-platform"
8845	//   ]
8846	// }
8847
8848}
8849
8850// method id "healthcare.projects.locations.datasets.annotationStores.export":
8851
8852type ProjectsLocationsDatasetsAnnotationStoresExportCall struct {
8853	s                        *Service
8854	name                     string
8855	exportannotationsrequest *ExportAnnotationsRequest
8856	urlParams_               gensupport.URLParams
8857	ctx_                     context.Context
8858	header_                  http.Header
8859}
8860
8861// Export: Export Annotations from the Annotation store. If the request
8862// is successful, a detailed response is returned of type
8863// ExportAnnotationsResponse, contained in the response field when the
8864// operation finishes. The metadata field type is OperationMetadata.
8865// Errors are logged to Cloud Logging (see Viewing logs
8866// (/healthcare/docs/how-tos/logging)).
8867func (r *ProjectsLocationsDatasetsAnnotationStoresService) Export(name string, exportannotationsrequest *ExportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8868	c := &ProjectsLocationsDatasetsAnnotationStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8869	c.name = name
8870	c.exportannotationsrequest = exportannotationsrequest
8871	return c
8872}
8873
8874// Fields allows partial responses to be retrieved. See
8875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8876// for more information.
8877func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8879	return c
8880}
8881
8882// Context sets the context to be used in this call's Do method. Any
8883// pending HTTP request will be aborted if the provided context is
8884// canceled.
8885func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8886	c.ctx_ = ctx
8887	return c
8888}
8889
8890// Header returns an http.Header that can be modified by the caller to
8891// add HTTP headers to the request.
8892func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Header() http.Header {
8893	if c.header_ == nil {
8894		c.header_ = make(http.Header)
8895	}
8896	return c.header_
8897}
8898
8899func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) doRequest(alt string) (*http.Response, error) {
8900	reqHeaders := make(http.Header)
8901	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
8902	for k, v := range c.header_ {
8903		reqHeaders[k] = v
8904	}
8905	reqHeaders.Set("User-Agent", c.s.userAgent())
8906	var body io.Reader = nil
8907	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportannotationsrequest)
8908	if err != nil {
8909		return nil, err
8910	}
8911	reqHeaders.Set("Content-Type", "application/json")
8912	c.urlParams_.Set("alt", alt)
8913	c.urlParams_.Set("prettyPrint", "false")
8914	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
8915	urls += "?" + c.urlParams_.Encode()
8916	req, err := http.NewRequest("POST", urls, body)
8917	if err != nil {
8918		return nil, err
8919	}
8920	req.Header = reqHeaders
8921	googleapi.Expand(req.URL, map[string]string{
8922		"name": c.name,
8923	})
8924	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8925}
8926
8927// Do executes the "healthcare.projects.locations.datasets.annotationStores.export" call.
8928// Exactly one of *Operation or error will be non-nil. Any non-2xx
8929// status code is an error. Response headers are in either
8930// *Operation.ServerResponse.Header or (if a response was returned at
8931// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8932// to check whether the returned error was because
8933// http.StatusNotModified was returned.
8934func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8935	gensupport.SetOptions(c.urlParams_, opts...)
8936	res, err := c.doRequest("json")
8937	if res != nil && res.StatusCode == http.StatusNotModified {
8938		if res.Body != nil {
8939			res.Body.Close()
8940		}
8941		return nil, &googleapi.Error{
8942			Code:   res.StatusCode,
8943			Header: res.Header,
8944		}
8945	}
8946	if err != nil {
8947		return nil, err
8948	}
8949	defer googleapi.CloseBody(res)
8950	if err := googleapi.CheckResponse(res); err != nil {
8951		return nil, err
8952	}
8953	ret := &Operation{
8954		ServerResponse: googleapi.ServerResponse{
8955			Header:         res.Header,
8956			HTTPStatusCode: res.StatusCode,
8957		},
8958	}
8959	target := &ret
8960	if err := gensupport.DecodeResponse(target, res); err != nil {
8961		return nil, err
8962	}
8963	return ret, nil
8964	// {
8965	//   "description": "Export Annotations from the Annotation store. If the request is successful, a detailed response is returned of type ExportAnnotationsResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)).",
8966	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export",
8967	//   "httpMethod": "POST",
8968	//   "id": "healthcare.projects.locations.datasets.annotationStores.export",
8969	//   "parameterOrder": [
8970	//     "name"
8971	//   ],
8972	//   "parameters": {
8973	//     "name": {
8974	//       "description": "The name of the Annotation store to export annotations to, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
8975	//       "location": "path",
8976	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8977	//       "required": true,
8978	//       "type": "string"
8979	//     }
8980	//   },
8981	//   "path": "v1beta1/{+name}:export",
8982	//   "request": {
8983	//     "$ref": "ExportAnnotationsRequest"
8984	//   },
8985	//   "response": {
8986	//     "$ref": "Operation"
8987	//   },
8988	//   "scopes": [
8989	//     "https://www.googleapis.com/auth/cloud-platform"
8990	//   ]
8991	// }
8992
8993}
8994
8995// method id "healthcare.projects.locations.datasets.annotationStores.get":
8996
8997type ProjectsLocationsDatasetsAnnotationStoresGetCall struct {
8998	s            *Service
8999	name         string
9000	urlParams_   gensupport.URLParams
9001	ifNoneMatch_ string
9002	ctx_         context.Context
9003	header_      http.Header
9004}
9005
9006// Get: Gets the specified Annotation store or returns NOT_FOUND if it
9007// does not exist.
9008func (r *ProjectsLocationsDatasetsAnnotationStoresService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9009	c := &ProjectsLocationsDatasetsAnnotationStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9010	c.name = name
9011	return c
9012}
9013
9014// Fields allows partial responses to be retrieved. See
9015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9016// for more information.
9017func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9019	return c
9020}
9021
9022// IfNoneMatch sets the optional parameter which makes the operation
9023// fail if the object's ETag matches the given value. This is useful for
9024// getting updates only after the object has changed since the last
9025// request. Use googleapi.IsNotModified to check whether the response
9026// error from Do is the result of In-None-Match.
9027func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9028	c.ifNoneMatch_ = entityTag
9029	return c
9030}
9031
9032// Context sets the context to be used in this call's Do method. Any
9033// pending HTTP request will be aborted if the provided context is
9034// canceled.
9035func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9036	c.ctx_ = ctx
9037	return c
9038}
9039
9040// Header returns an http.Header that can be modified by the caller to
9041// add HTTP headers to the request.
9042func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Header() http.Header {
9043	if c.header_ == nil {
9044		c.header_ = make(http.Header)
9045	}
9046	return c.header_
9047}
9048
9049func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) doRequest(alt string) (*http.Response, error) {
9050	reqHeaders := make(http.Header)
9051	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9052	for k, v := range c.header_ {
9053		reqHeaders[k] = v
9054	}
9055	reqHeaders.Set("User-Agent", c.s.userAgent())
9056	if c.ifNoneMatch_ != "" {
9057		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9058	}
9059	var body io.Reader = nil
9060	c.urlParams_.Set("alt", alt)
9061	c.urlParams_.Set("prettyPrint", "false")
9062	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9063	urls += "?" + c.urlParams_.Encode()
9064	req, err := http.NewRequest("GET", urls, body)
9065	if err != nil {
9066		return nil, err
9067	}
9068	req.Header = reqHeaders
9069	googleapi.Expand(req.URL, map[string]string{
9070		"name": c.name,
9071	})
9072	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9073}
9074
9075// Do executes the "healthcare.projects.locations.datasets.annotationStores.get" call.
9076// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9077// status code is an error. Response headers are in either
9078// *AnnotationStore.ServerResponse.Header or (if a response was returned
9079// at all) in error.(*googleapi.Error).Header. Use
9080// googleapi.IsNotModified to check whether the returned error was
9081// because http.StatusNotModified was returned.
9082func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9083	gensupport.SetOptions(c.urlParams_, opts...)
9084	res, err := c.doRequest("json")
9085	if res != nil && res.StatusCode == http.StatusNotModified {
9086		if res.Body != nil {
9087			res.Body.Close()
9088		}
9089		return nil, &googleapi.Error{
9090			Code:   res.StatusCode,
9091			Header: res.Header,
9092		}
9093	}
9094	if err != nil {
9095		return nil, err
9096	}
9097	defer googleapi.CloseBody(res)
9098	if err := googleapi.CheckResponse(res); err != nil {
9099		return nil, err
9100	}
9101	ret := &AnnotationStore{
9102		ServerResponse: googleapi.ServerResponse{
9103			Header:         res.Header,
9104			HTTPStatusCode: res.StatusCode,
9105		},
9106	}
9107	target := &ret
9108	if err := gensupport.DecodeResponse(target, res); err != nil {
9109		return nil, err
9110	}
9111	return ret, nil
9112	// {
9113	//   "description": "Gets the specified Annotation store or returns NOT_FOUND if it does not exist.",
9114	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9115	//   "httpMethod": "GET",
9116	//   "id": "healthcare.projects.locations.datasets.annotationStores.get",
9117	//   "parameterOrder": [
9118	//     "name"
9119	//   ],
9120	//   "parameters": {
9121	//     "name": {
9122	//       "description": "The resource name of the Annotation store to get.",
9123	//       "location": "path",
9124	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9125	//       "required": true,
9126	//       "type": "string"
9127	//     }
9128	//   },
9129	//   "path": "v1beta1/{+name}",
9130	//   "response": {
9131	//     "$ref": "AnnotationStore"
9132	//   },
9133	//   "scopes": [
9134	//     "https://www.googleapis.com/auth/cloud-platform"
9135	//   ]
9136	// }
9137
9138}
9139
9140// method id "healthcare.projects.locations.datasets.annotationStores.getIamPolicy":
9141
9142type ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall struct {
9143	s            *Service
9144	resource     string
9145	urlParams_   gensupport.URLParams
9146	ifNoneMatch_ string
9147	ctx_         context.Context
9148	header_      http.Header
9149}
9150
9151// GetIamPolicy: Gets the access control policy for a resource. Returns
9152// an empty policy if the resource exists and does not have a policy
9153// set.
9154func (r *ProjectsLocationsDatasetsAnnotationStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9155	c := &ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9156	c.resource = resource
9157	return c
9158}
9159
9160// OptionsRequestedPolicyVersion sets the optional parameter
9161// "options.requestedPolicyVersion": The policy format version to be
9162// returned. Valid values are 0, 1, and 3. Requests specifying an
9163// invalid value will be rejected. Requests for policies with any
9164// conditional bindings must specify version 3. Policies without any
9165// conditional bindings may specify any valid value or leave the field
9166// unset. To learn which resources support conditions in their IAM
9167// policies, see the IAM documentation
9168// (https://cloud.google.com/iam/help/conditions/resource-policies).
9169func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9170	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
9171	return c
9172}
9173
9174// Fields allows partial responses to be retrieved. See
9175// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9176// for more information.
9177func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9178	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9179	return c
9180}
9181
9182// IfNoneMatch sets the optional parameter which makes the operation
9183// fail if the object's ETag matches the given value. This is useful for
9184// getting updates only after the object has changed since the last
9185// request. Use googleapi.IsNotModified to check whether the response
9186// error from Do is the result of In-None-Match.
9187func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9188	c.ifNoneMatch_ = entityTag
9189	return c
9190}
9191
9192// Context sets the context to be used in this call's Do method. Any
9193// pending HTTP request will be aborted if the provided context is
9194// canceled.
9195func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9196	c.ctx_ = ctx
9197	return c
9198}
9199
9200// Header returns an http.Header that can be modified by the caller to
9201// add HTTP headers to the request.
9202func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Header() http.Header {
9203	if c.header_ == nil {
9204		c.header_ = make(http.Header)
9205	}
9206	return c.header_
9207}
9208
9209func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9210	reqHeaders := make(http.Header)
9211	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9212	for k, v := range c.header_ {
9213		reqHeaders[k] = v
9214	}
9215	reqHeaders.Set("User-Agent", c.s.userAgent())
9216	if c.ifNoneMatch_ != "" {
9217		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9218	}
9219	var body io.Reader = nil
9220	c.urlParams_.Set("alt", alt)
9221	c.urlParams_.Set("prettyPrint", "false")
9222	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9223	urls += "?" + c.urlParams_.Encode()
9224	req, err := http.NewRequest("GET", urls, body)
9225	if err != nil {
9226		return nil, err
9227	}
9228	req.Header = reqHeaders
9229	googleapi.Expand(req.URL, map[string]string{
9230		"resource": c.resource,
9231	})
9232	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9233}
9234
9235// Do executes the "healthcare.projects.locations.datasets.annotationStores.getIamPolicy" call.
9236// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9237// code is an error. Response headers are in either
9238// *Policy.ServerResponse.Header or (if a response was returned at all)
9239// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9240// check whether the returned error was because http.StatusNotModified
9241// was returned.
9242func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9243	gensupport.SetOptions(c.urlParams_, opts...)
9244	res, err := c.doRequest("json")
9245	if res != nil && res.StatusCode == http.StatusNotModified {
9246		if res.Body != nil {
9247			res.Body.Close()
9248		}
9249		return nil, &googleapi.Error{
9250			Code:   res.StatusCode,
9251			Header: res.Header,
9252		}
9253	}
9254	if err != nil {
9255		return nil, err
9256	}
9257	defer googleapi.CloseBody(res)
9258	if err := googleapi.CheckResponse(res); err != nil {
9259		return nil, err
9260	}
9261	ret := &Policy{
9262		ServerResponse: googleapi.ServerResponse{
9263			Header:         res.Header,
9264			HTTPStatusCode: res.StatusCode,
9265		},
9266	}
9267	target := &ret
9268	if err := gensupport.DecodeResponse(target, res); err != nil {
9269		return nil, err
9270	}
9271	return ret, nil
9272	// {
9273	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
9274	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy",
9275	//   "httpMethod": "GET",
9276	//   "id": "healthcare.projects.locations.datasets.annotationStores.getIamPolicy",
9277	//   "parameterOrder": [
9278	//     "resource"
9279	//   ],
9280	//   "parameters": {
9281	//     "options.requestedPolicyVersion": {
9282	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
9283	//       "format": "int32",
9284	//       "location": "query",
9285	//       "type": "integer"
9286	//     },
9287	//     "resource": {
9288	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9289	//       "location": "path",
9290	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9291	//       "required": true,
9292	//       "type": "string"
9293	//     }
9294	//   },
9295	//   "path": "v1beta1/{+resource}:getIamPolicy",
9296	//   "response": {
9297	//     "$ref": "Policy"
9298	//   },
9299	//   "scopes": [
9300	//     "https://www.googleapis.com/auth/cloud-platform"
9301	//   ]
9302	// }
9303
9304}
9305
9306// method id "healthcare.projects.locations.datasets.annotationStores.import":
9307
9308type ProjectsLocationsDatasetsAnnotationStoresImportCall struct {
9309	s                        *Service
9310	name                     string
9311	importannotationsrequest *ImportAnnotationsRequest
9312	urlParams_               gensupport.URLParams
9313	ctx_                     context.Context
9314	header_                  http.Header
9315}
9316
9317// Import: Import Annotations to the Annotation store by loading data
9318// from the specified sources. If the request is successful, a detailed
9319// response is returned as of type ImportAnnotationsResponse, contained
9320// in the response field when the operation finishes. The metadata field
9321// type is OperationMetadata. Errors are logged to Cloud Logging (see
9322// Viewing logs (/healthcare/docs/how-tos/logging)).
9323func (r *ProjectsLocationsDatasetsAnnotationStoresService) Import(name string, importannotationsrequest *ImportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9324	c := &ProjectsLocationsDatasetsAnnotationStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9325	c.name = name
9326	c.importannotationsrequest = importannotationsrequest
9327	return c
9328}
9329
9330// Fields allows partial responses to be retrieved. See
9331// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9332// for more information.
9333func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9334	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9335	return c
9336}
9337
9338// Context sets the context to be used in this call's Do method. Any
9339// pending HTTP request will be aborted if the provided context is
9340// canceled.
9341func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9342	c.ctx_ = ctx
9343	return c
9344}
9345
9346// Header returns an http.Header that can be modified by the caller to
9347// add HTTP headers to the request.
9348func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Header() http.Header {
9349	if c.header_ == nil {
9350		c.header_ = make(http.Header)
9351	}
9352	return c.header_
9353}
9354
9355func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) doRequest(alt string) (*http.Response, error) {
9356	reqHeaders := make(http.Header)
9357	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9358	for k, v := range c.header_ {
9359		reqHeaders[k] = v
9360	}
9361	reqHeaders.Set("User-Agent", c.s.userAgent())
9362	var body io.Reader = nil
9363	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importannotationsrequest)
9364	if err != nil {
9365		return nil, err
9366	}
9367	reqHeaders.Set("Content-Type", "application/json")
9368	c.urlParams_.Set("alt", alt)
9369	c.urlParams_.Set("prettyPrint", "false")
9370	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
9371	urls += "?" + c.urlParams_.Encode()
9372	req, err := http.NewRequest("POST", urls, body)
9373	if err != nil {
9374		return nil, err
9375	}
9376	req.Header = reqHeaders
9377	googleapi.Expand(req.URL, map[string]string{
9378		"name": c.name,
9379	})
9380	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9381}
9382
9383// Do executes the "healthcare.projects.locations.datasets.annotationStores.import" call.
9384// Exactly one of *Operation or error will be non-nil. Any non-2xx
9385// status code is an error. Response headers are in either
9386// *Operation.ServerResponse.Header or (if a response was returned at
9387// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9388// to check whether the returned error was because
9389// http.StatusNotModified was returned.
9390func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9391	gensupport.SetOptions(c.urlParams_, opts...)
9392	res, err := c.doRequest("json")
9393	if res != nil && res.StatusCode == http.StatusNotModified {
9394		if res.Body != nil {
9395			res.Body.Close()
9396		}
9397		return nil, &googleapi.Error{
9398			Code:   res.StatusCode,
9399			Header: res.Header,
9400		}
9401	}
9402	if err != nil {
9403		return nil, err
9404	}
9405	defer googleapi.CloseBody(res)
9406	if err := googleapi.CheckResponse(res); err != nil {
9407		return nil, err
9408	}
9409	ret := &Operation{
9410		ServerResponse: googleapi.ServerResponse{
9411			Header:         res.Header,
9412			HTTPStatusCode: res.StatusCode,
9413		},
9414	}
9415	target := &ret
9416	if err := gensupport.DecodeResponse(target, res); err != nil {
9417		return nil, err
9418	}
9419	return ret, nil
9420	// {
9421	//   "description": "Import Annotations to the Annotation store by loading data from the specified sources. If the request is successful, a detailed response is returned as of type ImportAnnotationsResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)).",
9422	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import",
9423	//   "httpMethod": "POST",
9424	//   "id": "healthcare.projects.locations.datasets.annotationStores.import",
9425	//   "parameterOrder": [
9426	//     "name"
9427	//   ],
9428	//   "parameters": {
9429	//     "name": {
9430	//       "description": "The name of the Annotation store to which the server imports annotations, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
9431	//       "location": "path",
9432	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9433	//       "required": true,
9434	//       "type": "string"
9435	//     }
9436	//   },
9437	//   "path": "v1beta1/{+name}:import",
9438	//   "request": {
9439	//     "$ref": "ImportAnnotationsRequest"
9440	//   },
9441	//   "response": {
9442	//     "$ref": "Operation"
9443	//   },
9444	//   "scopes": [
9445	//     "https://www.googleapis.com/auth/cloud-platform"
9446	//   ]
9447	// }
9448
9449}
9450
9451// method id "healthcare.projects.locations.datasets.annotationStores.list":
9452
9453type ProjectsLocationsDatasetsAnnotationStoresListCall struct {
9454	s            *Service
9455	parent       string
9456	urlParams_   gensupport.URLParams
9457	ifNoneMatch_ string
9458	ctx_         context.Context
9459	header_      http.Header
9460}
9461
9462// List: Lists the Annotation stores in the given dataset for a source
9463// store.
9464func (r *ProjectsLocationsDatasetsAnnotationStoresService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9465	c := &ProjectsLocationsDatasetsAnnotationStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9466	c.parent = parent
9467	return c
9468}
9469
9470// Filter sets the optional parameter "filter": Restricts stores
9471// returned to those matching a filter. The following syntax is
9472// available: * A string field value can be written as text inside
9473// quotation marks, for example "query text". The only valid
9474// relational operation for text fields is equality (`=`), where text is
9475// searched within the field, rather than having the field be equal to
9476// the text. For example, "Comment = great" returns messages with
9477// `great` in the comment field. * A number field value can be written
9478// as an integer, a decimal, or an exponential. The valid relational
9479// operators for number fields are the equality operator (`=`), along
9480// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
9481// Note that there is no inequality (`!=`) operator. You can prepend the
9482// `NOT` operator to an expression to negate it. * A date field value
9483// must be written in `yyyy-mm-dd` form. Fields with date and time use
9484// the RFC3339 time format. Leading zeros are required for one-digit
9485// months and days. The valid relational operators for date fields are
9486// the equality operator (`=`) , along with the less than/greater than
9487// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
9488// (`!=`) operator. You can prepend the `NOT` operator to an expression
9489// to negate it. * Multiple field query expressions can be combined in
9490// one query by adding `AND` or `OR` operators between the expressions.
9491// If a boolean operator appears within a quoted string, it is not
9492// treated as special, it's just another part of the character string to
9493// be matched. You can prepend the `NOT` operator to an expression to
9494// negate it. Only filtering on labels is supported, for example
9495// `labels.key=value`.
9496func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9497	c.urlParams_.Set("filter", filter)
9498	return c
9499}
9500
9501// PageSize sets the optional parameter "pageSize": Limit on the number
9502// of Annotation stores to return in a single response. If not
9503// specified, 100 is used. May not be larger than 1000.
9504func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9505	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9506	return c
9507}
9508
9509// PageToken sets the optional parameter "pageToken": The
9510// next_page_token value returned from the previous List request, if
9511// any.
9512func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9513	c.urlParams_.Set("pageToken", pageToken)
9514	return c
9515}
9516
9517// Fields allows partial responses to be retrieved. See
9518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9519// for more information.
9520func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9522	return c
9523}
9524
9525// IfNoneMatch sets the optional parameter which makes the operation
9526// fail if the object's ETag matches the given value. This is useful for
9527// getting updates only after the object has changed since the last
9528// request. Use googleapi.IsNotModified to check whether the response
9529// error from Do is the result of In-None-Match.
9530func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9531	c.ifNoneMatch_ = entityTag
9532	return c
9533}
9534
9535// Context sets the context to be used in this call's Do method. Any
9536// pending HTTP request will be aborted if the provided context is
9537// canceled.
9538func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9539	c.ctx_ = ctx
9540	return c
9541}
9542
9543// Header returns an http.Header that can be modified by the caller to
9544// add HTTP headers to the request.
9545func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Header() http.Header {
9546	if c.header_ == nil {
9547		c.header_ = make(http.Header)
9548	}
9549	return c.header_
9550}
9551
9552func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) doRequest(alt string) (*http.Response, error) {
9553	reqHeaders := make(http.Header)
9554	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9555	for k, v := range c.header_ {
9556		reqHeaders[k] = v
9557	}
9558	reqHeaders.Set("User-Agent", c.s.userAgent())
9559	if c.ifNoneMatch_ != "" {
9560		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9561	}
9562	var body io.Reader = nil
9563	c.urlParams_.Set("alt", alt)
9564	c.urlParams_.Set("prettyPrint", "false")
9565	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
9566	urls += "?" + c.urlParams_.Encode()
9567	req, err := http.NewRequest("GET", urls, body)
9568	if err != nil {
9569		return nil, err
9570	}
9571	req.Header = reqHeaders
9572	googleapi.Expand(req.URL, map[string]string{
9573		"parent": c.parent,
9574	})
9575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9576}
9577
9578// Do executes the "healthcare.projects.locations.datasets.annotationStores.list" call.
9579// Exactly one of *ListAnnotationStoresResponse or error will be
9580// non-nil. Any non-2xx status code is an error. Response headers are in
9581// either *ListAnnotationStoresResponse.ServerResponse.Header or (if a
9582// response was returned at all) in error.(*googleapi.Error).Header. Use
9583// googleapi.IsNotModified to check whether the returned error was
9584// because http.StatusNotModified was returned.
9585func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationStoresResponse, error) {
9586	gensupport.SetOptions(c.urlParams_, opts...)
9587	res, err := c.doRequest("json")
9588	if res != nil && res.StatusCode == http.StatusNotModified {
9589		if res.Body != nil {
9590			res.Body.Close()
9591		}
9592		return nil, &googleapi.Error{
9593			Code:   res.StatusCode,
9594			Header: res.Header,
9595		}
9596	}
9597	if err != nil {
9598		return nil, err
9599	}
9600	defer googleapi.CloseBody(res)
9601	if err := googleapi.CheckResponse(res); err != nil {
9602		return nil, err
9603	}
9604	ret := &ListAnnotationStoresResponse{
9605		ServerResponse: googleapi.ServerResponse{
9606			Header:         res.Header,
9607			HTTPStatusCode: res.StatusCode,
9608		},
9609	}
9610	target := &ret
9611	if err := gensupport.DecodeResponse(target, res); err != nil {
9612		return nil, err
9613	}
9614	return ret, nil
9615	// {
9616	//   "description": "Lists the Annotation stores in the given dataset for a source store.",
9617	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
9618	//   "httpMethod": "GET",
9619	//   "id": "healthcare.projects.locations.datasets.annotationStores.list",
9620	//   "parameterOrder": [
9621	//     "parent"
9622	//   ],
9623	//   "parameters": {
9624	//     "filter": {
9625	//       "description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported, for example `labels.key=value`.",
9626	//       "location": "query",
9627	//       "type": "string"
9628	//     },
9629	//     "pageSize": {
9630	//       "description": "Limit on the number of Annotation stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
9631	//       "format": "int32",
9632	//       "location": "query",
9633	//       "type": "integer"
9634	//     },
9635	//     "pageToken": {
9636	//       "description": "The next_page_token value returned from the previous List request, if any.",
9637	//       "location": "query",
9638	//       "type": "string"
9639	//     },
9640	//     "parent": {
9641	//       "description": "Name of the dataset.",
9642	//       "location": "path",
9643	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
9644	//       "required": true,
9645	//       "type": "string"
9646	//     }
9647	//   },
9648	//   "path": "v1beta1/{+parent}/annotationStores",
9649	//   "response": {
9650	//     "$ref": "ListAnnotationStoresResponse"
9651	//   },
9652	//   "scopes": [
9653	//     "https://www.googleapis.com/auth/cloud-platform"
9654	//   ]
9655	// }
9656
9657}
9658
9659// Pages invokes f for each page of results.
9660// A non-nil error returned from f will halt the iteration.
9661// The provided context supersedes any context provided to the Context method.
9662func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Pages(ctx context.Context, f func(*ListAnnotationStoresResponse) error) error {
9663	c.ctx_ = ctx
9664	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9665	for {
9666		x, err := c.Do()
9667		if err != nil {
9668			return err
9669		}
9670		if err := f(x); err != nil {
9671			return err
9672		}
9673		if x.NextPageToken == "" {
9674			return nil
9675		}
9676		c.PageToken(x.NextPageToken)
9677	}
9678}
9679
9680// method id "healthcare.projects.locations.datasets.annotationStores.patch":
9681
9682type ProjectsLocationsDatasetsAnnotationStoresPatchCall struct {
9683	s               *Service
9684	name            string
9685	annotationstore *AnnotationStore
9686	urlParams_      gensupport.URLParams
9687	ctx_            context.Context
9688	header_         http.Header
9689}
9690
9691// Patch: Updates the specified Annotation store.
9692func (r *ProjectsLocationsDatasetsAnnotationStoresService) Patch(name string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9693	c := &ProjectsLocationsDatasetsAnnotationStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9694	c.name = name
9695	c.annotationstore = annotationstore
9696	return c
9697}
9698
9699// UpdateMask sets the optional parameter "updateMask": The update mask
9700// applies to the resource. For the `FieldMask` definition, see
9701// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9702func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9703	c.urlParams_.Set("updateMask", updateMask)
9704	return c
9705}
9706
9707// Fields allows partial responses to be retrieved. See
9708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9709// for more information.
9710func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9712	return c
9713}
9714
9715// Context sets the context to be used in this call's Do method. Any
9716// pending HTTP request will be aborted if the provided context is
9717// canceled.
9718func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9719	c.ctx_ = ctx
9720	return c
9721}
9722
9723// Header returns an http.Header that can be modified by the caller to
9724// add HTTP headers to the request.
9725func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Header() http.Header {
9726	if c.header_ == nil {
9727		c.header_ = make(http.Header)
9728	}
9729	return c.header_
9730}
9731
9732func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) doRequest(alt string) (*http.Response, error) {
9733	reqHeaders := make(http.Header)
9734	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9735	for k, v := range c.header_ {
9736		reqHeaders[k] = v
9737	}
9738	reqHeaders.Set("User-Agent", c.s.userAgent())
9739	var body io.Reader = nil
9740	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
9741	if err != nil {
9742		return nil, err
9743	}
9744	reqHeaders.Set("Content-Type", "application/json")
9745	c.urlParams_.Set("alt", alt)
9746	c.urlParams_.Set("prettyPrint", "false")
9747	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9748	urls += "?" + c.urlParams_.Encode()
9749	req, err := http.NewRequest("PATCH", urls, body)
9750	if err != nil {
9751		return nil, err
9752	}
9753	req.Header = reqHeaders
9754	googleapi.Expand(req.URL, map[string]string{
9755		"name": c.name,
9756	})
9757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9758}
9759
9760// Do executes the "healthcare.projects.locations.datasets.annotationStores.patch" call.
9761// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9762// status code is an error. Response headers are in either
9763// *AnnotationStore.ServerResponse.Header or (if a response was returned
9764// at all) in error.(*googleapi.Error).Header. Use
9765// googleapi.IsNotModified to check whether the returned error was
9766// because http.StatusNotModified was returned.
9767func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9768	gensupport.SetOptions(c.urlParams_, opts...)
9769	res, err := c.doRequest("json")
9770	if res != nil && res.StatusCode == http.StatusNotModified {
9771		if res.Body != nil {
9772			res.Body.Close()
9773		}
9774		return nil, &googleapi.Error{
9775			Code:   res.StatusCode,
9776			Header: res.Header,
9777		}
9778	}
9779	if err != nil {
9780		return nil, err
9781	}
9782	defer googleapi.CloseBody(res)
9783	if err := googleapi.CheckResponse(res); err != nil {
9784		return nil, err
9785	}
9786	ret := &AnnotationStore{
9787		ServerResponse: googleapi.ServerResponse{
9788			Header:         res.Header,
9789			HTTPStatusCode: res.StatusCode,
9790		},
9791	}
9792	target := &ret
9793	if err := gensupport.DecodeResponse(target, res); err != nil {
9794		return nil, err
9795	}
9796	return ret, nil
9797	// {
9798	//   "description": "Updates the specified Annotation store.",
9799	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9800	//   "httpMethod": "PATCH",
9801	//   "id": "healthcare.projects.locations.datasets.annotationStores.patch",
9802	//   "parameterOrder": [
9803	//     "name"
9804	//   ],
9805	//   "parameters": {
9806	//     "name": {
9807	//       "description": "Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
9808	//       "location": "path",
9809	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9810	//       "required": true,
9811	//       "type": "string"
9812	//     },
9813	//     "updateMask": {
9814	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
9815	//       "format": "google-fieldmask",
9816	//       "location": "query",
9817	//       "type": "string"
9818	//     }
9819	//   },
9820	//   "path": "v1beta1/{+name}",
9821	//   "request": {
9822	//     "$ref": "AnnotationStore"
9823	//   },
9824	//   "response": {
9825	//     "$ref": "AnnotationStore"
9826	//   },
9827	//   "scopes": [
9828	//     "https://www.googleapis.com/auth/cloud-platform"
9829	//   ]
9830	// }
9831
9832}
9833
9834// method id "healthcare.projects.locations.datasets.annotationStores.setIamPolicy":
9835
9836type ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall struct {
9837	s                   *Service
9838	resource            string
9839	setiampolicyrequest *SetIamPolicyRequest
9840	urlParams_          gensupport.URLParams
9841	ctx_                context.Context
9842	header_             http.Header
9843}
9844
9845// SetIamPolicy: Sets the access control policy on the specified
9846// resource. Replaces any existing policy. Can return `NOT_FOUND`,
9847// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
9848func (r *ProjectsLocationsDatasetsAnnotationStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9849	c := &ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9850	c.resource = resource
9851	c.setiampolicyrequest = setiampolicyrequest
9852	return c
9853}
9854
9855// Fields allows partial responses to be retrieved. See
9856// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9857// for more information.
9858func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9859	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9860	return c
9861}
9862
9863// Context sets the context to be used in this call's Do method. Any
9864// pending HTTP request will be aborted if the provided context is
9865// canceled.
9866func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9867	c.ctx_ = ctx
9868	return c
9869}
9870
9871// Header returns an http.Header that can be modified by the caller to
9872// add HTTP headers to the request.
9873func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Header() http.Header {
9874	if c.header_ == nil {
9875		c.header_ = make(http.Header)
9876	}
9877	return c.header_
9878}
9879
9880func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9881	reqHeaders := make(http.Header)
9882	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
9883	for k, v := range c.header_ {
9884		reqHeaders[k] = v
9885	}
9886	reqHeaders.Set("User-Agent", c.s.userAgent())
9887	var body io.Reader = nil
9888	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
9889	if err != nil {
9890		return nil, err
9891	}
9892	reqHeaders.Set("Content-Type", "application/json")
9893	c.urlParams_.Set("alt", alt)
9894	c.urlParams_.Set("prettyPrint", "false")
9895	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
9896	urls += "?" + c.urlParams_.Encode()
9897	req, err := http.NewRequest("POST", urls, body)
9898	if err != nil {
9899		return nil, err
9900	}
9901	req.Header = reqHeaders
9902	googleapi.Expand(req.URL, map[string]string{
9903		"resource": c.resource,
9904	})
9905	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9906}
9907
9908// Do executes the "healthcare.projects.locations.datasets.annotationStores.setIamPolicy" call.
9909// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9910// code is an error. Response headers are in either
9911// *Policy.ServerResponse.Header or (if a response was returned at all)
9912// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9913// check whether the returned error was because http.StatusNotModified
9914// was returned.
9915func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9916	gensupport.SetOptions(c.urlParams_, opts...)
9917	res, err := c.doRequest("json")
9918	if res != nil && res.StatusCode == http.StatusNotModified {
9919		if res.Body != nil {
9920			res.Body.Close()
9921		}
9922		return nil, &googleapi.Error{
9923			Code:   res.StatusCode,
9924			Header: res.Header,
9925		}
9926	}
9927	if err != nil {
9928		return nil, err
9929	}
9930	defer googleapi.CloseBody(res)
9931	if err := googleapi.CheckResponse(res); err != nil {
9932		return nil, err
9933	}
9934	ret := &Policy{
9935		ServerResponse: googleapi.ServerResponse{
9936			Header:         res.Header,
9937			HTTPStatusCode: res.StatusCode,
9938		},
9939	}
9940	target := &ret
9941	if err := gensupport.DecodeResponse(target, res); err != nil {
9942		return nil, err
9943	}
9944	return ret, nil
9945	// {
9946	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
9947	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy",
9948	//   "httpMethod": "POST",
9949	//   "id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy",
9950	//   "parameterOrder": [
9951	//     "resource"
9952	//   ],
9953	//   "parameters": {
9954	//     "resource": {
9955	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
9956	//       "location": "path",
9957	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9958	//       "required": true,
9959	//       "type": "string"
9960	//     }
9961	//   },
9962	//   "path": "v1beta1/{+resource}:setIamPolicy",
9963	//   "request": {
9964	//     "$ref": "SetIamPolicyRequest"
9965	//   },
9966	//   "response": {
9967	//     "$ref": "Policy"
9968	//   },
9969	//   "scopes": [
9970	//     "https://www.googleapis.com/auth/cloud-platform"
9971	//   ]
9972	// }
9973
9974}
9975
9976// method id "healthcare.projects.locations.datasets.annotationStores.testIamPermissions":
9977
9978type ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall struct {
9979	s                         *Service
9980	resource                  string
9981	testiampermissionsrequest *TestIamPermissionsRequest
9982	urlParams_                gensupport.URLParams
9983	ctx_                      context.Context
9984	header_                   http.Header
9985}
9986
9987// TestIamPermissions: Returns permissions that a caller has on the
9988// specified resource. If the resource does not exist, this will return
9989// an empty set of permissions, not a `NOT_FOUND` error. Note: This
9990// operation is designed to be used for building permission-aware UIs
9991// and command-line tools, not for authorization checking. This
9992// operation may "fail open" without warning.
9993func (r *ProjectsLocationsDatasetsAnnotationStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
9994	c := &ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9995	c.resource = resource
9996	c.testiampermissionsrequest = testiampermissionsrequest
9997	return c
9998}
9999
10000// Fields allows partial responses to be retrieved. See
10001// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10002// for more information.
10003func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10004	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10005	return c
10006}
10007
10008// Context sets the context to be used in this call's Do method. Any
10009// pending HTTP request will be aborted if the provided context is
10010// canceled.
10011func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10012	c.ctx_ = ctx
10013	return c
10014}
10015
10016// Header returns an http.Header that can be modified by the caller to
10017// add HTTP headers to the request.
10018func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Header() http.Header {
10019	if c.header_ == nil {
10020		c.header_ = make(http.Header)
10021	}
10022	return c.header_
10023}
10024
10025func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10026	reqHeaders := make(http.Header)
10027	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10028	for k, v := range c.header_ {
10029		reqHeaders[k] = v
10030	}
10031	reqHeaders.Set("User-Agent", c.s.userAgent())
10032	var body io.Reader = nil
10033	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
10034	if err != nil {
10035		return nil, err
10036	}
10037	reqHeaders.Set("Content-Type", "application/json")
10038	c.urlParams_.Set("alt", alt)
10039	c.urlParams_.Set("prettyPrint", "false")
10040	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
10041	urls += "?" + c.urlParams_.Encode()
10042	req, err := http.NewRequest("POST", urls, body)
10043	if err != nil {
10044		return nil, err
10045	}
10046	req.Header = reqHeaders
10047	googleapi.Expand(req.URL, map[string]string{
10048		"resource": c.resource,
10049	})
10050	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10051}
10052
10053// Do executes the "healthcare.projects.locations.datasets.annotationStores.testIamPermissions" call.
10054// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
10055// Any non-2xx status code is an error. Response headers are in either
10056// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
10057// was returned at all) in error.(*googleapi.Error).Header. Use
10058// googleapi.IsNotModified to check whether the returned error was
10059// because http.StatusNotModified was returned.
10060func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
10061	gensupport.SetOptions(c.urlParams_, opts...)
10062	res, err := c.doRequest("json")
10063	if res != nil && res.StatusCode == http.StatusNotModified {
10064		if res.Body != nil {
10065			res.Body.Close()
10066		}
10067		return nil, &googleapi.Error{
10068			Code:   res.StatusCode,
10069			Header: res.Header,
10070		}
10071	}
10072	if err != nil {
10073		return nil, err
10074	}
10075	defer googleapi.CloseBody(res)
10076	if err := googleapi.CheckResponse(res); err != nil {
10077		return nil, err
10078	}
10079	ret := &TestIamPermissionsResponse{
10080		ServerResponse: googleapi.ServerResponse{
10081			Header:         res.Header,
10082			HTTPStatusCode: res.StatusCode,
10083		},
10084	}
10085	target := &ret
10086	if err := gensupport.DecodeResponse(target, res); err != nil {
10087		return nil, err
10088	}
10089	return ret, nil
10090	// {
10091	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
10092	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions",
10093	//   "httpMethod": "POST",
10094	//   "id": "healthcare.projects.locations.datasets.annotationStores.testIamPermissions",
10095	//   "parameterOrder": [
10096	//     "resource"
10097	//   ],
10098	//   "parameters": {
10099	//     "resource": {
10100	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10101	//       "location": "path",
10102	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10103	//       "required": true,
10104	//       "type": "string"
10105	//     }
10106	//   },
10107	//   "path": "v1beta1/{+resource}:testIamPermissions",
10108	//   "request": {
10109	//     "$ref": "TestIamPermissionsRequest"
10110	//   },
10111	//   "response": {
10112	//     "$ref": "TestIamPermissionsResponse"
10113	//   },
10114	//   "scopes": [
10115	//     "https://www.googleapis.com/auth/cloud-platform"
10116	//   ]
10117	// }
10118
10119}
10120
10121// method id "healthcare.projects.locations.datasets.annotationStores.annotations.create":
10122
10123type ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall struct {
10124	s          *Service
10125	parent     string
10126	annotation *Annotation
10127	urlParams_ gensupport.URLParams
10128	ctx_       context.Context
10129	header_    http.Header
10130}
10131
10132// Create: Creates a new Annotation record. It is valid to create
10133// Annotation objects for the same source more than once since a unique
10134// ID is assigned to each record by this service.
10135func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Create(parent string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10136	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10137	c.parent = parent
10138	c.annotation = annotation
10139	return c
10140}
10141
10142// Fields allows partial responses to be retrieved. See
10143// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10144// for more information.
10145func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10146	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10147	return c
10148}
10149
10150// Context sets the context to be used in this call's Do method. Any
10151// pending HTTP request will be aborted if the provided context is
10152// canceled.
10153func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10154	c.ctx_ = ctx
10155	return c
10156}
10157
10158// Header returns an http.Header that can be modified by the caller to
10159// add HTTP headers to the request.
10160func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Header() http.Header {
10161	if c.header_ == nil {
10162		c.header_ = make(http.Header)
10163	}
10164	return c.header_
10165}
10166
10167func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) doRequest(alt string) (*http.Response, error) {
10168	reqHeaders := make(http.Header)
10169	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10170	for k, v := range c.header_ {
10171		reqHeaders[k] = v
10172	}
10173	reqHeaders.Set("User-Agent", c.s.userAgent())
10174	var body io.Reader = nil
10175	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10176	if err != nil {
10177		return nil, err
10178	}
10179	reqHeaders.Set("Content-Type", "application/json")
10180	c.urlParams_.Set("alt", alt)
10181	c.urlParams_.Set("prettyPrint", "false")
10182	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10183	urls += "?" + c.urlParams_.Encode()
10184	req, err := http.NewRequest("POST", urls, body)
10185	if err != nil {
10186		return nil, err
10187	}
10188	req.Header = reqHeaders
10189	googleapi.Expand(req.URL, map[string]string{
10190		"parent": c.parent,
10191	})
10192	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10193}
10194
10195// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.create" call.
10196// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10197// status code is an error. Response headers are in either
10198// *Annotation.ServerResponse.Header or (if a response was returned at
10199// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10200// to check whether the returned error was because
10201// http.StatusNotModified was returned.
10202func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10203	gensupport.SetOptions(c.urlParams_, opts...)
10204	res, err := c.doRequest("json")
10205	if res != nil && res.StatusCode == http.StatusNotModified {
10206		if res.Body != nil {
10207			res.Body.Close()
10208		}
10209		return nil, &googleapi.Error{
10210			Code:   res.StatusCode,
10211			Header: res.Header,
10212		}
10213	}
10214	if err != nil {
10215		return nil, err
10216	}
10217	defer googleapi.CloseBody(res)
10218	if err := googleapi.CheckResponse(res); err != nil {
10219		return nil, err
10220	}
10221	ret := &Annotation{
10222		ServerResponse: googleapi.ServerResponse{
10223			Header:         res.Header,
10224			HTTPStatusCode: res.StatusCode,
10225		},
10226	}
10227	target := &ret
10228	if err := gensupport.DecodeResponse(target, res); err != nil {
10229		return nil, err
10230	}
10231	return ret, nil
10232	// {
10233	//   "description": "Creates a new Annotation record. It is valid to create Annotation objects for the same source more than once since a unique ID is assigned to each record by this service.",
10234	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10235	//   "httpMethod": "POST",
10236	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.create",
10237	//   "parameterOrder": [
10238	//     "parent"
10239	//   ],
10240	//   "parameters": {
10241	//     "parent": {
10242	//       "description": "The name of the Annotation store this annotation belongs to. For example, `projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.",
10243	//       "location": "path",
10244	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10245	//       "required": true,
10246	//       "type": "string"
10247	//     }
10248	//   },
10249	//   "path": "v1beta1/{+parent}/annotations",
10250	//   "request": {
10251	//     "$ref": "Annotation"
10252	//   },
10253	//   "response": {
10254	//     "$ref": "Annotation"
10255	//   },
10256	//   "scopes": [
10257	//     "https://www.googleapis.com/auth/cloud-platform"
10258	//   ]
10259	// }
10260
10261}
10262
10263// method id "healthcare.projects.locations.datasets.annotationStores.annotations.delete":
10264
10265type ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall struct {
10266	s          *Service
10267	name       string
10268	urlParams_ gensupport.URLParams
10269	ctx_       context.Context
10270	header_    http.Header
10271}
10272
10273// Delete: Deletes an Annotation or returns NOT_FOUND if it does not
10274// exist.
10275func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10276	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10277	c.name = name
10278	return c
10279}
10280
10281// Fields allows partial responses to be retrieved. See
10282// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10283// for more information.
10284func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10285	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10286	return c
10287}
10288
10289// Context sets the context to be used in this call's Do method. Any
10290// pending HTTP request will be aborted if the provided context is
10291// canceled.
10292func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10293	c.ctx_ = ctx
10294	return c
10295}
10296
10297// Header returns an http.Header that can be modified by the caller to
10298// add HTTP headers to the request.
10299func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Header() http.Header {
10300	if c.header_ == nil {
10301		c.header_ = make(http.Header)
10302	}
10303	return c.header_
10304}
10305
10306func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
10307	reqHeaders := make(http.Header)
10308	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10309	for k, v := range c.header_ {
10310		reqHeaders[k] = v
10311	}
10312	reqHeaders.Set("User-Agent", c.s.userAgent())
10313	var body io.Reader = nil
10314	c.urlParams_.Set("alt", alt)
10315	c.urlParams_.Set("prettyPrint", "false")
10316	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10317	urls += "?" + c.urlParams_.Encode()
10318	req, err := http.NewRequest("DELETE", urls, body)
10319	if err != nil {
10320		return nil, err
10321	}
10322	req.Header = reqHeaders
10323	googleapi.Expand(req.URL, map[string]string{
10324		"name": c.name,
10325	})
10326	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10327}
10328
10329// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.delete" call.
10330// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10331// code is an error. Response headers are in either
10332// *Empty.ServerResponse.Header or (if a response was returned at all)
10333// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10334// check whether the returned error was because http.StatusNotModified
10335// was returned.
10336func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10337	gensupport.SetOptions(c.urlParams_, opts...)
10338	res, err := c.doRequest("json")
10339	if res != nil && res.StatusCode == http.StatusNotModified {
10340		if res.Body != nil {
10341			res.Body.Close()
10342		}
10343		return nil, &googleapi.Error{
10344			Code:   res.StatusCode,
10345			Header: res.Header,
10346		}
10347	}
10348	if err != nil {
10349		return nil, err
10350	}
10351	defer googleapi.CloseBody(res)
10352	if err := googleapi.CheckResponse(res); err != nil {
10353		return nil, err
10354	}
10355	ret := &Empty{
10356		ServerResponse: googleapi.ServerResponse{
10357			Header:         res.Header,
10358			HTTPStatusCode: res.StatusCode,
10359		},
10360	}
10361	target := &ret
10362	if err := gensupport.DecodeResponse(target, res); err != nil {
10363		return nil, err
10364	}
10365	return ret, nil
10366	// {
10367	//   "description": "Deletes an Annotation or returns NOT_FOUND if it does not exist.",
10368	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10369	//   "httpMethod": "DELETE",
10370	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete",
10371	//   "parameterOrder": [
10372	//     "name"
10373	//   ],
10374	//   "parameters": {
10375	//     "name": {
10376	//       "description": "The resource name of the Annotation to delete.",
10377	//       "location": "path",
10378	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10379	//       "required": true,
10380	//       "type": "string"
10381	//     }
10382	//   },
10383	//   "path": "v1beta1/{+name}",
10384	//   "response": {
10385	//     "$ref": "Empty"
10386	//   },
10387	//   "scopes": [
10388	//     "https://www.googleapis.com/auth/cloud-platform"
10389	//   ]
10390	// }
10391
10392}
10393
10394// method id "healthcare.projects.locations.datasets.annotationStores.annotations.get":
10395
10396type ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall struct {
10397	s            *Service
10398	name         string
10399	urlParams_   gensupport.URLParams
10400	ifNoneMatch_ string
10401	ctx_         context.Context
10402	header_      http.Header
10403}
10404
10405// Get: Gets an Annotation.
10406func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10407	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10408	c.name = name
10409	return c
10410}
10411
10412// Fields allows partial responses to be retrieved. See
10413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10414// for more information.
10415func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10417	return c
10418}
10419
10420// IfNoneMatch sets the optional parameter which makes the operation
10421// fail if the object's ETag matches the given value. This is useful for
10422// getting updates only after the object has changed since the last
10423// request. Use googleapi.IsNotModified to check whether the response
10424// error from Do is the result of In-None-Match.
10425func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10426	c.ifNoneMatch_ = entityTag
10427	return c
10428}
10429
10430// Context sets the context to be used in this call's Do method. Any
10431// pending HTTP request will be aborted if the provided context is
10432// canceled.
10433func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10434	c.ctx_ = ctx
10435	return c
10436}
10437
10438// Header returns an http.Header that can be modified by the caller to
10439// add HTTP headers to the request.
10440func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Header() http.Header {
10441	if c.header_ == nil {
10442		c.header_ = make(http.Header)
10443	}
10444	return c.header_
10445}
10446
10447func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
10448	reqHeaders := make(http.Header)
10449	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10450	for k, v := range c.header_ {
10451		reqHeaders[k] = v
10452	}
10453	reqHeaders.Set("User-Agent", c.s.userAgent())
10454	if c.ifNoneMatch_ != "" {
10455		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10456	}
10457	var body io.Reader = nil
10458	c.urlParams_.Set("alt", alt)
10459	c.urlParams_.Set("prettyPrint", "false")
10460	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10461	urls += "?" + c.urlParams_.Encode()
10462	req, err := http.NewRequest("GET", urls, body)
10463	if err != nil {
10464		return nil, err
10465	}
10466	req.Header = reqHeaders
10467	googleapi.Expand(req.URL, map[string]string{
10468		"name": c.name,
10469	})
10470	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10471}
10472
10473// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.get" call.
10474// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10475// status code is an error. Response headers are in either
10476// *Annotation.ServerResponse.Header or (if a response was returned at
10477// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10478// to check whether the returned error was because
10479// http.StatusNotModified was returned.
10480func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10481	gensupport.SetOptions(c.urlParams_, opts...)
10482	res, err := c.doRequest("json")
10483	if res != nil && res.StatusCode == http.StatusNotModified {
10484		if res.Body != nil {
10485			res.Body.Close()
10486		}
10487		return nil, &googleapi.Error{
10488			Code:   res.StatusCode,
10489			Header: res.Header,
10490		}
10491	}
10492	if err != nil {
10493		return nil, err
10494	}
10495	defer googleapi.CloseBody(res)
10496	if err := googleapi.CheckResponse(res); err != nil {
10497		return nil, err
10498	}
10499	ret := &Annotation{
10500		ServerResponse: googleapi.ServerResponse{
10501			Header:         res.Header,
10502			HTTPStatusCode: res.StatusCode,
10503		},
10504	}
10505	target := &ret
10506	if err := gensupport.DecodeResponse(target, res); err != nil {
10507		return nil, err
10508	}
10509	return ret, nil
10510	// {
10511	//   "description": "Gets an Annotation.",
10512	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10513	//   "httpMethod": "GET",
10514	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.get",
10515	//   "parameterOrder": [
10516	//     "name"
10517	//   ],
10518	//   "parameters": {
10519	//     "name": {
10520	//       "description": "The resource name of the Annotation to retrieve.",
10521	//       "location": "path",
10522	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10523	//       "required": true,
10524	//       "type": "string"
10525	//     }
10526	//   },
10527	//   "path": "v1beta1/{+name}",
10528	//   "response": {
10529	//     "$ref": "Annotation"
10530	//   },
10531	//   "scopes": [
10532	//     "https://www.googleapis.com/auth/cloud-platform"
10533	//   ]
10534	// }
10535
10536}
10537
10538// method id "healthcare.projects.locations.datasets.annotationStores.annotations.list":
10539
10540type ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall struct {
10541	s            *Service
10542	parent       string
10543	urlParams_   gensupport.URLParams
10544	ifNoneMatch_ string
10545	ctx_         context.Context
10546	header_      http.Header
10547}
10548
10549// List: Lists the Annotations in the given Annotation store for a
10550// source resource.
10551func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10552	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10553	c.parent = parent
10554	return c
10555}
10556
10557// Filter sets the optional parameter "filter": Restricts Annotations
10558// returned to those matching a filter. Functions available for
10559// filtering are: -
10560// `matches("annotation_source.cloud_healthcare_source.name",
10561// substring)`. Filter on `cloud_healthcare_source.name`. For example:
10562// `matches("annotation_source.cloud_healthcare_source.name", "some
10563// source")`. - `matches("annotation", substring)`. Filter on all fields
10564// of annotation. For example: `matches("annotation", "some-content")`.
10565// - `type("text")`, `type("image")`, `type("resource")`. Filter on the
10566// type of annotation `data`.
10567func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10568	c.urlParams_.Set("filter", filter)
10569	return c
10570}
10571
10572// PageSize sets the optional parameter "pageSize": Limit on the number
10573// of Annotations to return in a single response. If not specified, 100
10574// is used. May not be larger than 1000.
10575func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10576	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10577	return c
10578}
10579
10580// PageToken sets the optional parameter "pageToken": The
10581// next_page_token value returned from the previous List request, if
10582// any.
10583func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10584	c.urlParams_.Set("pageToken", pageToken)
10585	return c
10586}
10587
10588// View sets the optional parameter "view": Controls which fields are
10589// populated in the response.
10590//
10591// Possible values:
10592//   "ANNOTATION_VIEW_UNSPECIFIED" - Same as BASIC.
10593//   "ANNOTATION_VIEW_BASIC" - Only `name`, `annotation_source` and
10594// `custom_data` fields are populated.
10595//   "ANNOTATION_VIEW_FULL" - All fields are populated.
10596func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) View(view string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10597	c.urlParams_.Set("view", view)
10598	return c
10599}
10600
10601// Fields allows partial responses to be retrieved. See
10602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10603// for more information.
10604func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10606	return c
10607}
10608
10609// IfNoneMatch sets the optional parameter which makes the operation
10610// fail if the object's ETag matches the given value. This is useful for
10611// getting updates only after the object has changed since the last
10612// request. Use googleapi.IsNotModified to check whether the response
10613// error from Do is the result of In-None-Match.
10614func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10615	c.ifNoneMatch_ = entityTag
10616	return c
10617}
10618
10619// Context sets the context to be used in this call's Do method. Any
10620// pending HTTP request will be aborted if the provided context is
10621// canceled.
10622func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10623	c.ctx_ = ctx
10624	return c
10625}
10626
10627// Header returns an http.Header that can be modified by the caller to
10628// add HTTP headers to the request.
10629func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Header() http.Header {
10630	if c.header_ == nil {
10631		c.header_ = make(http.Header)
10632	}
10633	return c.header_
10634}
10635
10636func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
10637	reqHeaders := make(http.Header)
10638	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10639	for k, v := range c.header_ {
10640		reqHeaders[k] = v
10641	}
10642	reqHeaders.Set("User-Agent", c.s.userAgent())
10643	if c.ifNoneMatch_ != "" {
10644		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10645	}
10646	var body io.Reader = nil
10647	c.urlParams_.Set("alt", alt)
10648	c.urlParams_.Set("prettyPrint", "false")
10649	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10650	urls += "?" + c.urlParams_.Encode()
10651	req, err := http.NewRequest("GET", urls, body)
10652	if err != nil {
10653		return nil, err
10654	}
10655	req.Header = reqHeaders
10656	googleapi.Expand(req.URL, map[string]string{
10657		"parent": c.parent,
10658	})
10659	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10660}
10661
10662// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.list" call.
10663// Exactly one of *ListAnnotationsResponse or error will be non-nil. Any
10664// non-2xx status code is an error. Response headers are in either
10665// *ListAnnotationsResponse.ServerResponse.Header or (if a response was
10666// returned at all) in error.(*googleapi.Error).Header. Use
10667// googleapi.IsNotModified to check whether the returned error was
10668// because http.StatusNotModified was returned.
10669func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationsResponse, error) {
10670	gensupport.SetOptions(c.urlParams_, opts...)
10671	res, err := c.doRequest("json")
10672	if res != nil && res.StatusCode == http.StatusNotModified {
10673		if res.Body != nil {
10674			res.Body.Close()
10675		}
10676		return nil, &googleapi.Error{
10677			Code:   res.StatusCode,
10678			Header: res.Header,
10679		}
10680	}
10681	if err != nil {
10682		return nil, err
10683	}
10684	defer googleapi.CloseBody(res)
10685	if err := googleapi.CheckResponse(res); err != nil {
10686		return nil, err
10687	}
10688	ret := &ListAnnotationsResponse{
10689		ServerResponse: googleapi.ServerResponse{
10690			Header:         res.Header,
10691			HTTPStatusCode: res.StatusCode,
10692		},
10693	}
10694	target := &ret
10695	if err := gensupport.DecodeResponse(target, res); err != nil {
10696		return nil, err
10697	}
10698	return ret, nil
10699	// {
10700	//   "description": "Lists the Annotations in the given Annotation store for a source resource.",
10701	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10702	//   "httpMethod": "GET",
10703	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.list",
10704	//   "parameterOrder": [
10705	//     "parent"
10706	//   ],
10707	//   "parameters": {
10708	//     "filter": {
10709	//       "description": "Restricts Annotations returned to those matching a filter. Functions available for filtering are: - `matches(\"annotation_source.cloud_healthcare_source.name\", substring)`. Filter on `cloud_healthcare_source.name`. For example: `matches(\"annotation_source.cloud_healthcare_source.name\", \"some source\")`. - `matches(\"annotation\", substring)`. Filter on all fields of annotation. For example: `matches(\"annotation\", \"some-content\")`. - `type(\"text\")`, `type(\"image\")`, `type(\"resource\")`. Filter on the type of annotation `data`.",
10710	//       "location": "query",
10711	//       "type": "string"
10712	//     },
10713	//     "pageSize": {
10714	//       "description": "Limit on the number of Annotations to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
10715	//       "format": "int32",
10716	//       "location": "query",
10717	//       "type": "integer"
10718	//     },
10719	//     "pageToken": {
10720	//       "description": "The next_page_token value returned from the previous List request, if any.",
10721	//       "location": "query",
10722	//       "type": "string"
10723	//     },
10724	//     "parent": {
10725	//       "description": "Name of the Annotation store to retrieve Annotations from.",
10726	//       "location": "path",
10727	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10728	//       "required": true,
10729	//       "type": "string"
10730	//     },
10731	//     "view": {
10732	//       "description": "Controls which fields are populated in the response.",
10733	//       "enum": [
10734	//         "ANNOTATION_VIEW_UNSPECIFIED",
10735	//         "ANNOTATION_VIEW_BASIC",
10736	//         "ANNOTATION_VIEW_FULL"
10737	//       ],
10738	//       "enumDescriptions": [
10739	//         "Same as BASIC.",
10740	//         "Only `name`, `annotation_source` and `custom_data` fields are populated.",
10741	//         "All fields are populated."
10742	//       ],
10743	//       "location": "query",
10744	//       "type": "string"
10745	//     }
10746	//   },
10747	//   "path": "v1beta1/{+parent}/annotations",
10748	//   "response": {
10749	//     "$ref": "ListAnnotationsResponse"
10750	//   },
10751	//   "scopes": [
10752	//     "https://www.googleapis.com/auth/cloud-platform"
10753	//   ]
10754	// }
10755
10756}
10757
10758// Pages invokes f for each page of results.
10759// A non-nil error returned from f will halt the iteration.
10760// The provided context supersedes any context provided to the Context method.
10761func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Pages(ctx context.Context, f func(*ListAnnotationsResponse) error) error {
10762	c.ctx_ = ctx
10763	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10764	for {
10765		x, err := c.Do()
10766		if err != nil {
10767			return err
10768		}
10769		if err := f(x); err != nil {
10770			return err
10771		}
10772		if x.NextPageToken == "" {
10773			return nil
10774		}
10775		c.PageToken(x.NextPageToken)
10776	}
10777}
10778
10779// method id "healthcare.projects.locations.datasets.annotationStores.annotations.patch":
10780
10781type ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall struct {
10782	s          *Service
10783	name       string
10784	annotation *Annotation
10785	urlParams_ gensupport.URLParams
10786	ctx_       context.Context
10787	header_    http.Header
10788}
10789
10790// Patch: Updates the Annotation.
10791func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Patch(name string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10792	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10793	c.name = name
10794	c.annotation = annotation
10795	return c
10796}
10797
10798// UpdateMask sets the optional parameter "updateMask": The update mask
10799// applies to the resource. For the `FieldMask` definition, see
10800// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
10801func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10802	c.urlParams_.Set("updateMask", updateMask)
10803	return c
10804}
10805
10806// Fields allows partial responses to be retrieved. See
10807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10808// for more information.
10809func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10811	return c
10812}
10813
10814// Context sets the context to be used in this call's Do method. Any
10815// pending HTTP request will be aborted if the provided context is
10816// canceled.
10817func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10818	c.ctx_ = ctx
10819	return c
10820}
10821
10822// Header returns an http.Header that can be modified by the caller to
10823// add HTTP headers to the request.
10824func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Header() http.Header {
10825	if c.header_ == nil {
10826		c.header_ = make(http.Header)
10827	}
10828	return c.header_
10829}
10830
10831func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) doRequest(alt string) (*http.Response, error) {
10832	reqHeaders := make(http.Header)
10833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10834	for k, v := range c.header_ {
10835		reqHeaders[k] = v
10836	}
10837	reqHeaders.Set("User-Agent", c.s.userAgent())
10838	var body io.Reader = nil
10839	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10840	if err != nil {
10841		return nil, err
10842	}
10843	reqHeaders.Set("Content-Type", "application/json")
10844	c.urlParams_.Set("alt", alt)
10845	c.urlParams_.Set("prettyPrint", "false")
10846	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10847	urls += "?" + c.urlParams_.Encode()
10848	req, err := http.NewRequest("PATCH", urls, body)
10849	if err != nil {
10850		return nil, err
10851	}
10852	req.Header = reqHeaders
10853	googleapi.Expand(req.URL, map[string]string{
10854		"name": c.name,
10855	})
10856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10857}
10858
10859// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.patch" call.
10860// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10861// status code is an error. Response headers are in either
10862// *Annotation.ServerResponse.Header or (if a response was returned at
10863// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10864// to check whether the returned error was because
10865// http.StatusNotModified was returned.
10866func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10867	gensupport.SetOptions(c.urlParams_, opts...)
10868	res, err := c.doRequest("json")
10869	if res != nil && res.StatusCode == http.StatusNotModified {
10870		if res.Body != nil {
10871			res.Body.Close()
10872		}
10873		return nil, &googleapi.Error{
10874			Code:   res.StatusCode,
10875			Header: res.Header,
10876		}
10877	}
10878	if err != nil {
10879		return nil, err
10880	}
10881	defer googleapi.CloseBody(res)
10882	if err := googleapi.CheckResponse(res); err != nil {
10883		return nil, err
10884	}
10885	ret := &Annotation{
10886		ServerResponse: googleapi.ServerResponse{
10887			Header:         res.Header,
10888			HTTPStatusCode: res.StatusCode,
10889		},
10890	}
10891	target := &ret
10892	if err := gensupport.DecodeResponse(target, res); err != nil {
10893		return nil, err
10894	}
10895	return ret, nil
10896	// {
10897	//   "description": "Updates the Annotation.",
10898	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10899	//   "httpMethod": "PATCH",
10900	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch",
10901	//   "parameterOrder": [
10902	//     "name"
10903	//   ],
10904	//   "parameters": {
10905	//     "name": {
10906	//       "description": "Resource name of the Annotation, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}/annotations/{annotation_id}`.",
10907	//       "location": "path",
10908	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10909	//       "required": true,
10910	//       "type": "string"
10911	//     },
10912	//     "updateMask": {
10913	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
10914	//       "format": "google-fieldmask",
10915	//       "location": "query",
10916	//       "type": "string"
10917	//     }
10918	//   },
10919	//   "path": "v1beta1/{+name}",
10920	//   "request": {
10921	//     "$ref": "Annotation"
10922	//   },
10923	//   "response": {
10924	//     "$ref": "Annotation"
10925	//   },
10926	//   "scopes": [
10927	//     "https://www.googleapis.com/auth/cloud-platform"
10928	//   ]
10929	// }
10930
10931}
10932
10933// method id "healthcare.projects.locations.datasets.consentStores.checkDataAccess":
10934
10935type ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall struct {
10936	s                      *Service
10937	consentStore           string
10938	checkdataaccessrequest *CheckDataAccessRequest
10939	urlParams_             gensupport.URLParams
10940	ctx_                   context.Context
10941	header_                http.Header
10942}
10943
10944// CheckDataAccess: Checks if a particular data_id of a User data
10945// mapping in the specified consent store is consented for the specified
10946// use.
10947func (r *ProjectsLocationsDatasetsConsentStoresService) CheckDataAccess(consentStore string, checkdataaccessrequest *CheckDataAccessRequest) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
10948	c := &ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10949	c.consentStore = consentStore
10950	c.checkdataaccessrequest = checkdataaccessrequest
10951	return c
10952}
10953
10954// Fields allows partial responses to be retrieved. See
10955// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10956// for more information.
10957func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
10958	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10959	return c
10960}
10961
10962// Context sets the context to be used in this call's Do method. Any
10963// pending HTTP request will be aborted if the provided context is
10964// canceled.
10965func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
10966	c.ctx_ = ctx
10967	return c
10968}
10969
10970// Header returns an http.Header that can be modified by the caller to
10971// add HTTP headers to the request.
10972func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Header() http.Header {
10973	if c.header_ == nil {
10974		c.header_ = make(http.Header)
10975	}
10976	return c.header_
10977}
10978
10979func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) doRequest(alt string) (*http.Response, error) {
10980	reqHeaders := make(http.Header)
10981	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
10982	for k, v := range c.header_ {
10983		reqHeaders[k] = v
10984	}
10985	reqHeaders.Set("User-Agent", c.s.userAgent())
10986	var body io.Reader = nil
10987	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkdataaccessrequest)
10988	if err != nil {
10989		return nil, err
10990	}
10991	reqHeaders.Set("Content-Type", "application/json")
10992	c.urlParams_.Set("alt", alt)
10993	c.urlParams_.Set("prettyPrint", "false")
10994	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:checkDataAccess")
10995	urls += "?" + c.urlParams_.Encode()
10996	req, err := http.NewRequest("POST", urls, body)
10997	if err != nil {
10998		return nil, err
10999	}
11000	req.Header = reqHeaders
11001	googleapi.Expand(req.URL, map[string]string{
11002		"consentStore": c.consentStore,
11003	})
11004	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11005}
11006
11007// Do executes the "healthcare.projects.locations.datasets.consentStores.checkDataAccess" call.
11008// Exactly one of *CheckDataAccessResponse or error will be non-nil. Any
11009// non-2xx status code is an error. Response headers are in either
11010// *CheckDataAccessResponse.ServerResponse.Header or (if a response was
11011// returned at all) in error.(*googleapi.Error).Header. Use
11012// googleapi.IsNotModified to check whether the returned error was
11013// because http.StatusNotModified was returned.
11014func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Do(opts ...googleapi.CallOption) (*CheckDataAccessResponse, error) {
11015	gensupport.SetOptions(c.urlParams_, opts...)
11016	res, err := c.doRequest("json")
11017	if res != nil && res.StatusCode == http.StatusNotModified {
11018		if res.Body != nil {
11019			res.Body.Close()
11020		}
11021		return nil, &googleapi.Error{
11022			Code:   res.StatusCode,
11023			Header: res.Header,
11024		}
11025	}
11026	if err != nil {
11027		return nil, err
11028	}
11029	defer googleapi.CloseBody(res)
11030	if err := googleapi.CheckResponse(res); err != nil {
11031		return nil, err
11032	}
11033	ret := &CheckDataAccessResponse{
11034		ServerResponse: googleapi.ServerResponse{
11035			Header:         res.Header,
11036			HTTPStatusCode: res.StatusCode,
11037		},
11038	}
11039	target := &ret
11040	if err := gensupport.DecodeResponse(target, res); err != nil {
11041		return nil, err
11042	}
11043	return ret, nil
11044	// {
11045	//   "description": "Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.",
11046	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess",
11047	//   "httpMethod": "POST",
11048	//   "id": "healthcare.projects.locations.datasets.consentStores.checkDataAccess",
11049	//   "parameterOrder": [
11050	//     "consentStore"
11051	//   ],
11052	//   "parameters": {
11053	//     "consentStore": {
11054	//       "description": "Required. Name of the consent store where the requested data_id is stored, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`.",
11055	//       "location": "path",
11056	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11057	//       "required": true,
11058	//       "type": "string"
11059	//     }
11060	//   },
11061	//   "path": "v1beta1/{+consentStore}:checkDataAccess",
11062	//   "request": {
11063	//     "$ref": "CheckDataAccessRequest"
11064	//   },
11065	//   "response": {
11066	//     "$ref": "CheckDataAccessResponse"
11067	//   },
11068	//   "scopes": [
11069	//     "https://www.googleapis.com/auth/cloud-platform"
11070	//   ]
11071	// }
11072
11073}
11074
11075// method id "healthcare.projects.locations.datasets.consentStores.create":
11076
11077type ProjectsLocationsDatasetsConsentStoresCreateCall struct {
11078	s            *Service
11079	parent       string
11080	consentstore *ConsentStore
11081	urlParams_   gensupport.URLParams
11082	ctx_         context.Context
11083	header_      http.Header
11084}
11085
11086// Create: Creates a new consent store in the parent dataset. Attempting
11087// to create a consent store with the same ID as an existing store fails
11088// with an ALREADY_EXISTS error.
11089func (r *ProjectsLocationsDatasetsConsentStoresService) Create(parent string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11090	c := &ProjectsLocationsDatasetsConsentStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11091	c.parent = parent
11092	c.consentstore = consentstore
11093	return c
11094}
11095
11096// ConsentStoreId sets the optional parameter "consentStoreId":
11097// Required. The ID of the consent store to create. The string must
11098// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`. Cannot be
11099// changed after creation.
11100func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) ConsentStoreId(consentStoreId string) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11101	c.urlParams_.Set("consentStoreId", consentStoreId)
11102	return c
11103}
11104
11105// Fields allows partial responses to be retrieved. See
11106// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11107// for more information.
11108func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11109	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11110	return c
11111}
11112
11113// Context sets the context to be used in this call's Do method. Any
11114// pending HTTP request will be aborted if the provided context is
11115// canceled.
11116func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11117	c.ctx_ = ctx
11118	return c
11119}
11120
11121// Header returns an http.Header that can be modified by the caller to
11122// add HTTP headers to the request.
11123func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Header() http.Header {
11124	if c.header_ == nil {
11125		c.header_ = make(http.Header)
11126	}
11127	return c.header_
11128}
11129
11130func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) doRequest(alt string) (*http.Response, error) {
11131	reqHeaders := make(http.Header)
11132	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11133	for k, v := range c.header_ {
11134		reqHeaders[k] = v
11135	}
11136	reqHeaders.Set("User-Agent", c.s.userAgent())
11137	var body io.Reader = nil
11138	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
11139	if err != nil {
11140		return nil, err
11141	}
11142	reqHeaders.Set("Content-Type", "application/json")
11143	c.urlParams_.Set("alt", alt)
11144	c.urlParams_.Set("prettyPrint", "false")
11145	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
11146	urls += "?" + c.urlParams_.Encode()
11147	req, err := http.NewRequest("POST", urls, body)
11148	if err != nil {
11149		return nil, err
11150	}
11151	req.Header = reqHeaders
11152	googleapi.Expand(req.URL, map[string]string{
11153		"parent": c.parent,
11154	})
11155	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11156}
11157
11158// Do executes the "healthcare.projects.locations.datasets.consentStores.create" call.
11159// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11160// status code is an error. Response headers are in either
11161// *ConsentStore.ServerResponse.Header or (if a response was returned at
11162// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11163// to check whether the returned error was because
11164// http.StatusNotModified was returned.
11165func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11166	gensupport.SetOptions(c.urlParams_, opts...)
11167	res, err := c.doRequest("json")
11168	if res != nil && res.StatusCode == http.StatusNotModified {
11169		if res.Body != nil {
11170			res.Body.Close()
11171		}
11172		return nil, &googleapi.Error{
11173			Code:   res.StatusCode,
11174			Header: res.Header,
11175		}
11176	}
11177	if err != nil {
11178		return nil, err
11179	}
11180	defer googleapi.CloseBody(res)
11181	if err := googleapi.CheckResponse(res); err != nil {
11182		return nil, err
11183	}
11184	ret := &ConsentStore{
11185		ServerResponse: googleapi.ServerResponse{
11186			Header:         res.Header,
11187			HTTPStatusCode: res.StatusCode,
11188		},
11189	}
11190	target := &ret
11191	if err := gensupport.DecodeResponse(target, res); err != nil {
11192		return nil, err
11193	}
11194	return ret, nil
11195	// {
11196	//   "description": "Creates a new consent store in the parent dataset. Attempting to create a consent store with the same ID as an existing store fails with an ALREADY_EXISTS error.",
11197	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
11198	//   "httpMethod": "POST",
11199	//   "id": "healthcare.projects.locations.datasets.consentStores.create",
11200	//   "parameterOrder": [
11201	//     "parent"
11202	//   ],
11203	//   "parameters": {
11204	//     "consentStoreId": {
11205	//       "description": "Required. The ID of the consent store to create. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`. Cannot be changed after creation.",
11206	//       "location": "query",
11207	//       "type": "string"
11208	//     },
11209	//     "parent": {
11210	//       "description": "Required. The name of the dataset this consent store belongs to.",
11211	//       "location": "path",
11212	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
11213	//       "required": true,
11214	//       "type": "string"
11215	//     }
11216	//   },
11217	//   "path": "v1beta1/{+parent}/consentStores",
11218	//   "request": {
11219	//     "$ref": "ConsentStore"
11220	//   },
11221	//   "response": {
11222	//     "$ref": "ConsentStore"
11223	//   },
11224	//   "scopes": [
11225	//     "https://www.googleapis.com/auth/cloud-platform"
11226	//   ]
11227	// }
11228
11229}
11230
11231// method id "healthcare.projects.locations.datasets.consentStores.delete":
11232
11233type ProjectsLocationsDatasetsConsentStoresDeleteCall struct {
11234	s          *Service
11235	name       string
11236	urlParams_ gensupport.URLParams
11237	ctx_       context.Context
11238	header_    http.Header
11239}
11240
11241// Delete: Deletes the specified consent store and removes all the
11242// consent store's data.
11243func (r *ProjectsLocationsDatasetsConsentStoresService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11244	c := &ProjectsLocationsDatasetsConsentStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11245	c.name = name
11246	return c
11247}
11248
11249// Fields allows partial responses to be retrieved. See
11250// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11251// for more information.
11252func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11253	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11254	return c
11255}
11256
11257// Context sets the context to be used in this call's Do method. Any
11258// pending HTTP request will be aborted if the provided context is
11259// canceled.
11260func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11261	c.ctx_ = ctx
11262	return c
11263}
11264
11265// Header returns an http.Header that can be modified by the caller to
11266// add HTTP headers to the request.
11267func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Header() http.Header {
11268	if c.header_ == nil {
11269		c.header_ = make(http.Header)
11270	}
11271	return c.header_
11272}
11273
11274func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
11275	reqHeaders := make(http.Header)
11276	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11277	for k, v := range c.header_ {
11278		reqHeaders[k] = v
11279	}
11280	reqHeaders.Set("User-Agent", c.s.userAgent())
11281	var body io.Reader = nil
11282	c.urlParams_.Set("alt", alt)
11283	c.urlParams_.Set("prettyPrint", "false")
11284	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11285	urls += "?" + c.urlParams_.Encode()
11286	req, err := http.NewRequest("DELETE", urls, body)
11287	if err != nil {
11288		return nil, err
11289	}
11290	req.Header = reqHeaders
11291	googleapi.Expand(req.URL, map[string]string{
11292		"name": c.name,
11293	})
11294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11295}
11296
11297// Do executes the "healthcare.projects.locations.datasets.consentStores.delete" call.
11298// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11299// code is an error. Response headers are in either
11300// *Empty.ServerResponse.Header or (if a response was returned at all)
11301// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11302// check whether the returned error was because http.StatusNotModified
11303// was returned.
11304func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11305	gensupport.SetOptions(c.urlParams_, opts...)
11306	res, err := c.doRequest("json")
11307	if res != nil && res.StatusCode == http.StatusNotModified {
11308		if res.Body != nil {
11309			res.Body.Close()
11310		}
11311		return nil, &googleapi.Error{
11312			Code:   res.StatusCode,
11313			Header: res.Header,
11314		}
11315	}
11316	if err != nil {
11317		return nil, err
11318	}
11319	defer googleapi.CloseBody(res)
11320	if err := googleapi.CheckResponse(res); err != nil {
11321		return nil, err
11322	}
11323	ret := &Empty{
11324		ServerResponse: googleapi.ServerResponse{
11325			Header:         res.Header,
11326			HTTPStatusCode: res.StatusCode,
11327		},
11328	}
11329	target := &ret
11330	if err := gensupport.DecodeResponse(target, res); err != nil {
11331		return nil, err
11332	}
11333	return ret, nil
11334	// {
11335	//   "description": "Deletes the specified consent store and removes all the consent store's data.",
11336	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11337	//   "httpMethod": "DELETE",
11338	//   "id": "healthcare.projects.locations.datasets.consentStores.delete",
11339	//   "parameterOrder": [
11340	//     "name"
11341	//   ],
11342	//   "parameters": {
11343	//     "name": {
11344	//       "description": "Required. The resource name of the consent store to delete.",
11345	//       "location": "path",
11346	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11347	//       "required": true,
11348	//       "type": "string"
11349	//     }
11350	//   },
11351	//   "path": "v1beta1/{+name}",
11352	//   "response": {
11353	//     "$ref": "Empty"
11354	//   },
11355	//   "scopes": [
11356	//     "https://www.googleapis.com/auth/cloud-platform"
11357	//   ]
11358	// }
11359
11360}
11361
11362// method id "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents":
11363
11364type ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall struct {
11365	s                           *Service
11366	consentStore                string
11367	evaluateuserconsentsrequest *EvaluateUserConsentsRequest
11368	urlParams_                  gensupport.URLParams
11369	ctx_                        context.Context
11370	header_                     http.Header
11371}
11372
11373// EvaluateUserConsents: Evaluates the user's Consents for all matching
11374// User data mappings. Note: User data mappings are indexed
11375// asynchronously, which can cause a slight delay between the time
11376// mappings are created or updated and when they are included in
11377// EvaluateUserConsents results.
11378func (r *ProjectsLocationsDatasetsConsentStoresService) EvaluateUserConsents(consentStore string, evaluateuserconsentsrequest *EvaluateUserConsentsRequest) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11379	c := &ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11380	c.consentStore = consentStore
11381	c.evaluateuserconsentsrequest = evaluateuserconsentsrequest
11382	return c
11383}
11384
11385// Fields allows partial responses to be retrieved. See
11386// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11387// for more information.
11388func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11389	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11390	return c
11391}
11392
11393// Context sets the context to be used in this call's Do method. Any
11394// pending HTTP request will be aborted if the provided context is
11395// canceled.
11396func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11397	c.ctx_ = ctx
11398	return c
11399}
11400
11401// Header returns an http.Header that can be modified by the caller to
11402// add HTTP headers to the request.
11403func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Header() http.Header {
11404	if c.header_ == nil {
11405		c.header_ = make(http.Header)
11406	}
11407	return c.header_
11408}
11409
11410func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) doRequest(alt string) (*http.Response, error) {
11411	reqHeaders := make(http.Header)
11412	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11413	for k, v := range c.header_ {
11414		reqHeaders[k] = v
11415	}
11416	reqHeaders.Set("User-Agent", c.s.userAgent())
11417	var body io.Reader = nil
11418	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateuserconsentsrequest)
11419	if err != nil {
11420		return nil, err
11421	}
11422	reqHeaders.Set("Content-Type", "application/json")
11423	c.urlParams_.Set("alt", alt)
11424	c.urlParams_.Set("prettyPrint", "false")
11425	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:evaluateUserConsents")
11426	urls += "?" + c.urlParams_.Encode()
11427	req, err := http.NewRequest("POST", urls, body)
11428	if err != nil {
11429		return nil, err
11430	}
11431	req.Header = reqHeaders
11432	googleapi.Expand(req.URL, map[string]string{
11433		"consentStore": c.consentStore,
11434	})
11435	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11436}
11437
11438// Do executes the "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents" call.
11439// Exactly one of *EvaluateUserConsentsResponse or error will be
11440// non-nil. Any non-2xx status code is an error. Response headers are in
11441// either *EvaluateUserConsentsResponse.ServerResponse.Header or (if a
11442// response was returned at all) in error.(*googleapi.Error).Header. Use
11443// googleapi.IsNotModified to check whether the returned error was
11444// because http.StatusNotModified was returned.
11445func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Do(opts ...googleapi.CallOption) (*EvaluateUserConsentsResponse, error) {
11446	gensupport.SetOptions(c.urlParams_, opts...)
11447	res, err := c.doRequest("json")
11448	if res != nil && res.StatusCode == http.StatusNotModified {
11449		if res.Body != nil {
11450			res.Body.Close()
11451		}
11452		return nil, &googleapi.Error{
11453			Code:   res.StatusCode,
11454			Header: res.Header,
11455		}
11456	}
11457	if err != nil {
11458		return nil, err
11459	}
11460	defer googleapi.CloseBody(res)
11461	if err := googleapi.CheckResponse(res); err != nil {
11462		return nil, err
11463	}
11464	ret := &EvaluateUserConsentsResponse{
11465		ServerResponse: googleapi.ServerResponse{
11466			Header:         res.Header,
11467			HTTPStatusCode: res.StatusCode,
11468		},
11469	}
11470	target := &ret
11471	if err := gensupport.DecodeResponse(target, res); err != nil {
11472		return nil, err
11473	}
11474	return ret, nil
11475	// {
11476	//   "description": "Evaluates the user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, which can cause a slight delay between the time mappings are created or updated and when they are included in EvaluateUserConsents results.",
11477	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents",
11478	//   "httpMethod": "POST",
11479	//   "id": "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents",
11480	//   "parameterOrder": [
11481	//     "consentStore"
11482	//   ],
11483	//   "parameters": {
11484	//     "consentStore": {
11485	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
11486	//       "location": "path",
11487	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11488	//       "required": true,
11489	//       "type": "string"
11490	//     }
11491	//   },
11492	//   "path": "v1beta1/{+consentStore}:evaluateUserConsents",
11493	//   "request": {
11494	//     "$ref": "EvaluateUserConsentsRequest"
11495	//   },
11496	//   "response": {
11497	//     "$ref": "EvaluateUserConsentsResponse"
11498	//   },
11499	//   "scopes": [
11500	//     "https://www.googleapis.com/auth/cloud-platform"
11501	//   ]
11502	// }
11503
11504}
11505
11506// Pages invokes f for each page of results.
11507// A non-nil error returned from f will halt the iteration.
11508// The provided context supersedes any context provided to the Context method.
11509func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Pages(ctx context.Context, f func(*EvaluateUserConsentsResponse) error) error {
11510	c.ctx_ = ctx
11511	defer func(pt string) { c.evaluateuserconsentsrequest.PageToken = pt }(c.evaluateuserconsentsrequest.PageToken) // reset paging to original point
11512	for {
11513		x, err := c.Do()
11514		if err != nil {
11515			return err
11516		}
11517		if err := f(x); err != nil {
11518			return err
11519		}
11520		if x.NextPageToken == "" {
11521			return nil
11522		}
11523		c.evaluateuserconsentsrequest.PageToken = x.NextPageToken
11524	}
11525}
11526
11527// method id "healthcare.projects.locations.datasets.consentStores.get":
11528
11529type ProjectsLocationsDatasetsConsentStoresGetCall struct {
11530	s            *Service
11531	name         string
11532	urlParams_   gensupport.URLParams
11533	ifNoneMatch_ string
11534	ctx_         context.Context
11535	header_      http.Header
11536}
11537
11538// Get: Gets the specified consent store.
11539func (r *ProjectsLocationsDatasetsConsentStoresService) Get(name string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11540	c := &ProjectsLocationsDatasetsConsentStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11541	c.name = name
11542	return c
11543}
11544
11545// Fields allows partial responses to be retrieved. See
11546// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11547// for more information.
11548func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetCall {
11549	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11550	return c
11551}
11552
11553// IfNoneMatch sets the optional parameter which makes the operation
11554// fail if the object's ETag matches the given value. This is useful for
11555// getting updates only after the object has changed since the last
11556// request. Use googleapi.IsNotModified to check whether the response
11557// error from Do is the result of In-None-Match.
11558func (c *ProjectsLocationsDatasetsConsentStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11559	c.ifNoneMatch_ = entityTag
11560	return c
11561}
11562
11563// Context sets the context to be used in this call's Do method. Any
11564// pending HTTP request will be aborted if the provided context is
11565// canceled.
11566func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetCall {
11567	c.ctx_ = ctx
11568	return c
11569}
11570
11571// Header returns an http.Header that can be modified by the caller to
11572// add HTTP headers to the request.
11573func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Header() http.Header {
11574	if c.header_ == nil {
11575		c.header_ = make(http.Header)
11576	}
11577	return c.header_
11578}
11579
11580func (c *ProjectsLocationsDatasetsConsentStoresGetCall) doRequest(alt string) (*http.Response, error) {
11581	reqHeaders := make(http.Header)
11582	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11583	for k, v := range c.header_ {
11584		reqHeaders[k] = v
11585	}
11586	reqHeaders.Set("User-Agent", c.s.userAgent())
11587	if c.ifNoneMatch_ != "" {
11588		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11589	}
11590	var body io.Reader = nil
11591	c.urlParams_.Set("alt", alt)
11592	c.urlParams_.Set("prettyPrint", "false")
11593	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11594	urls += "?" + c.urlParams_.Encode()
11595	req, err := http.NewRequest("GET", urls, body)
11596	if err != nil {
11597		return nil, err
11598	}
11599	req.Header = reqHeaders
11600	googleapi.Expand(req.URL, map[string]string{
11601		"name": c.name,
11602	})
11603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11604}
11605
11606// Do executes the "healthcare.projects.locations.datasets.consentStores.get" call.
11607// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11608// status code is an error. Response headers are in either
11609// *ConsentStore.ServerResponse.Header or (if a response was returned at
11610// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11611// to check whether the returned error was because
11612// http.StatusNotModified was returned.
11613func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11614	gensupport.SetOptions(c.urlParams_, opts...)
11615	res, err := c.doRequest("json")
11616	if res != nil && res.StatusCode == http.StatusNotModified {
11617		if res.Body != nil {
11618			res.Body.Close()
11619		}
11620		return nil, &googleapi.Error{
11621			Code:   res.StatusCode,
11622			Header: res.Header,
11623		}
11624	}
11625	if err != nil {
11626		return nil, err
11627	}
11628	defer googleapi.CloseBody(res)
11629	if err := googleapi.CheckResponse(res); err != nil {
11630		return nil, err
11631	}
11632	ret := &ConsentStore{
11633		ServerResponse: googleapi.ServerResponse{
11634			Header:         res.Header,
11635			HTTPStatusCode: res.StatusCode,
11636		},
11637	}
11638	target := &ret
11639	if err := gensupport.DecodeResponse(target, res); err != nil {
11640		return nil, err
11641	}
11642	return ret, nil
11643	// {
11644	//   "description": "Gets the specified consent store.",
11645	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11646	//   "httpMethod": "GET",
11647	//   "id": "healthcare.projects.locations.datasets.consentStores.get",
11648	//   "parameterOrder": [
11649	//     "name"
11650	//   ],
11651	//   "parameters": {
11652	//     "name": {
11653	//       "description": "Required. The resource name of the consent store to get.",
11654	//       "location": "path",
11655	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11656	//       "required": true,
11657	//       "type": "string"
11658	//     }
11659	//   },
11660	//   "path": "v1beta1/{+name}",
11661	//   "response": {
11662	//     "$ref": "ConsentStore"
11663	//   },
11664	//   "scopes": [
11665	//     "https://www.googleapis.com/auth/cloud-platform"
11666	//   ]
11667	// }
11668
11669}
11670
11671// method id "healthcare.projects.locations.datasets.consentStores.getIamPolicy":
11672
11673type ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall struct {
11674	s            *Service
11675	resource     string
11676	urlParams_   gensupport.URLParams
11677	ifNoneMatch_ string
11678	ctx_         context.Context
11679	header_      http.Header
11680}
11681
11682// GetIamPolicy: Gets the access control policy for a resource. Returns
11683// an empty policy if the resource exists and does not have a policy
11684// set.
11685func (r *ProjectsLocationsDatasetsConsentStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11686	c := &ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11687	c.resource = resource
11688	return c
11689}
11690
11691// OptionsRequestedPolicyVersion sets the optional parameter
11692// "options.requestedPolicyVersion": The policy format version to be
11693// returned. Valid values are 0, 1, and 3. Requests specifying an
11694// invalid value will be rejected. Requests for policies with any
11695// conditional bindings must specify version 3. Policies without any
11696// conditional bindings may specify any valid value or leave the field
11697// unset. To learn which resources support conditions in their IAM
11698// policies, see the IAM documentation
11699// (https://cloud.google.com/iam/help/conditions/resource-policies).
11700func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11701	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
11702	return c
11703}
11704
11705// Fields allows partial responses to be retrieved. See
11706// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11707// for more information.
11708func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11709	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11710	return c
11711}
11712
11713// IfNoneMatch sets the optional parameter which makes the operation
11714// fail if the object's ETag matches the given value. This is useful for
11715// getting updates only after the object has changed since the last
11716// request. Use googleapi.IsNotModified to check whether the response
11717// error from Do is the result of In-None-Match.
11718func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11719	c.ifNoneMatch_ = entityTag
11720	return c
11721}
11722
11723// Context sets the context to be used in this call's Do method. Any
11724// pending HTTP request will be aborted if the provided context is
11725// canceled.
11726func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11727	c.ctx_ = ctx
11728	return c
11729}
11730
11731// Header returns an http.Header that can be modified by the caller to
11732// add HTTP headers to the request.
11733func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Header() http.Header {
11734	if c.header_ == nil {
11735		c.header_ = make(http.Header)
11736	}
11737	return c.header_
11738}
11739
11740func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
11741	reqHeaders := make(http.Header)
11742	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11743	for k, v := range c.header_ {
11744		reqHeaders[k] = v
11745	}
11746	reqHeaders.Set("User-Agent", c.s.userAgent())
11747	if c.ifNoneMatch_ != "" {
11748		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11749	}
11750	var body io.Reader = nil
11751	c.urlParams_.Set("alt", alt)
11752	c.urlParams_.Set("prettyPrint", "false")
11753	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
11754	urls += "?" + c.urlParams_.Encode()
11755	req, err := http.NewRequest("GET", urls, body)
11756	if err != nil {
11757		return nil, err
11758	}
11759	req.Header = reqHeaders
11760	googleapi.Expand(req.URL, map[string]string{
11761		"resource": c.resource,
11762	})
11763	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11764}
11765
11766// Do executes the "healthcare.projects.locations.datasets.consentStores.getIamPolicy" call.
11767// Exactly one of *Policy or error will be non-nil. Any non-2xx status
11768// code is an error. Response headers are in either
11769// *Policy.ServerResponse.Header or (if a response was returned at all)
11770// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11771// check whether the returned error was because http.StatusNotModified
11772// was returned.
11773func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
11774	gensupport.SetOptions(c.urlParams_, opts...)
11775	res, err := c.doRequest("json")
11776	if res != nil && res.StatusCode == http.StatusNotModified {
11777		if res.Body != nil {
11778			res.Body.Close()
11779		}
11780		return nil, &googleapi.Error{
11781			Code:   res.StatusCode,
11782			Header: res.Header,
11783		}
11784	}
11785	if err != nil {
11786		return nil, err
11787	}
11788	defer googleapi.CloseBody(res)
11789	if err := googleapi.CheckResponse(res); err != nil {
11790		return nil, err
11791	}
11792	ret := &Policy{
11793		ServerResponse: googleapi.ServerResponse{
11794			Header:         res.Header,
11795			HTTPStatusCode: res.StatusCode,
11796		},
11797	}
11798	target := &ret
11799	if err := gensupport.DecodeResponse(target, res); err != nil {
11800		return nil, err
11801	}
11802	return ret, nil
11803	// {
11804	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
11805	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy",
11806	//   "httpMethod": "GET",
11807	//   "id": "healthcare.projects.locations.datasets.consentStores.getIamPolicy",
11808	//   "parameterOrder": [
11809	//     "resource"
11810	//   ],
11811	//   "parameters": {
11812	//     "options.requestedPolicyVersion": {
11813	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
11814	//       "format": "int32",
11815	//       "location": "query",
11816	//       "type": "integer"
11817	//     },
11818	//     "resource": {
11819	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
11820	//       "location": "path",
11821	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11822	//       "required": true,
11823	//       "type": "string"
11824	//     }
11825	//   },
11826	//   "path": "v1beta1/{+resource}:getIamPolicy",
11827	//   "response": {
11828	//     "$ref": "Policy"
11829	//   },
11830	//   "scopes": [
11831	//     "https://www.googleapis.com/auth/cloud-platform"
11832	//   ]
11833	// }
11834
11835}
11836
11837// method id "healthcare.projects.locations.datasets.consentStores.list":
11838
11839type ProjectsLocationsDatasetsConsentStoresListCall struct {
11840	s            *Service
11841	parent       string
11842	urlParams_   gensupport.URLParams
11843	ifNoneMatch_ string
11844	ctx_         context.Context
11845	header_      http.Header
11846}
11847
11848// List: Lists the consent stores in the specified dataset.
11849func (r *ProjectsLocationsDatasetsConsentStoresService) List(parent string) *ProjectsLocationsDatasetsConsentStoresListCall {
11850	c := &ProjectsLocationsDatasetsConsentStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11851	c.parent = parent
11852	return c
11853}
11854
11855// Filter sets the optional parameter "filter": Restricts the stores
11856// returned to those matching a filter. The following syntax is
11857// available: * A string field value can be written as text inside
11858// quotation marks, for example "query text". The only valid
11859// relational operation for text fields is equality (`=`), where text is
11860// searched within the field, rather than having the field be equal to
11861// the text. For example, "Comment = great" returns messages with
11862// `great` in the comment field. * A number field value can be written
11863// as an integer, a decimal, or an exponential. The valid relational
11864// operators for number fields are the equality operator (`=`), along
11865// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
11866// Note that there is no inequality (`!=`) operator. You can prepend the
11867// `NOT` operator to an expression to negate it. * A date field value
11868// must be written in `yyyy-mm-dd` form. Fields with date and time use
11869// the RFC3339 time format. Leading zeros are required for one-digit
11870// months and days. The valid relational operators for date fields are
11871// the equality operator (`=`) , along with the less than/greater than
11872// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
11873// (`!=`) operator. You can prepend the `NOT` operator to an expression
11874// to negate it. * Multiple field query expressions can be combined in
11875// one query by adding `AND` or `OR` operators between the expressions.
11876// If a boolean operator appears within a quoted string, it is not
11877// treated as special, it's just another part of the character string to
11878// be matched. You can prepend the `NOT` operator to an expression to
11879// negate it. Only filtering on labels is supported. For example,
11880// `filter=labels.key=value`.
11881func (c *ProjectsLocationsDatasetsConsentStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresListCall {
11882	c.urlParams_.Set("filter", filter)
11883	return c
11884}
11885
11886// PageSize sets the optional parameter "pageSize": Limit on the number
11887// of consent stores to return in a single response. If not specified,
11888// 100 is used. May not be larger than 1000.
11889func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresListCall {
11890	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
11891	return c
11892}
11893
11894// PageToken sets the optional parameter "pageToken": Token to retrieve
11895// the next page of results, or empty to get the first page.
11896func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresListCall {
11897	c.urlParams_.Set("pageToken", pageToken)
11898	return c
11899}
11900
11901// Fields allows partial responses to be retrieved. See
11902// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11903// for more information.
11904func (c *ProjectsLocationsDatasetsConsentStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresListCall {
11905	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11906	return c
11907}
11908
11909// IfNoneMatch sets the optional parameter which makes the operation
11910// fail if the object's ETag matches the given value. This is useful for
11911// getting updates only after the object has changed since the last
11912// request. Use googleapi.IsNotModified to check whether the response
11913// error from Do is the result of In-None-Match.
11914func (c *ProjectsLocationsDatasetsConsentStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresListCall {
11915	c.ifNoneMatch_ = entityTag
11916	return c
11917}
11918
11919// Context sets the context to be used in this call's Do method. Any
11920// pending HTTP request will be aborted if the provided context is
11921// canceled.
11922func (c *ProjectsLocationsDatasetsConsentStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresListCall {
11923	c.ctx_ = ctx
11924	return c
11925}
11926
11927// Header returns an http.Header that can be modified by the caller to
11928// add HTTP headers to the request.
11929func (c *ProjectsLocationsDatasetsConsentStoresListCall) Header() http.Header {
11930	if c.header_ == nil {
11931		c.header_ = make(http.Header)
11932	}
11933	return c.header_
11934}
11935
11936func (c *ProjectsLocationsDatasetsConsentStoresListCall) doRequest(alt string) (*http.Response, error) {
11937	reqHeaders := make(http.Header)
11938	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
11939	for k, v := range c.header_ {
11940		reqHeaders[k] = v
11941	}
11942	reqHeaders.Set("User-Agent", c.s.userAgent())
11943	if c.ifNoneMatch_ != "" {
11944		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11945	}
11946	var body io.Reader = nil
11947	c.urlParams_.Set("alt", alt)
11948	c.urlParams_.Set("prettyPrint", "false")
11949	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
11950	urls += "?" + c.urlParams_.Encode()
11951	req, err := http.NewRequest("GET", urls, body)
11952	if err != nil {
11953		return nil, err
11954	}
11955	req.Header = reqHeaders
11956	googleapi.Expand(req.URL, map[string]string{
11957		"parent": c.parent,
11958	})
11959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11960}
11961
11962// Do executes the "healthcare.projects.locations.datasets.consentStores.list" call.
11963// Exactly one of *ListConsentStoresResponse or error will be non-nil.
11964// Any non-2xx status code is an error. Response headers are in either
11965// *ListConsentStoresResponse.ServerResponse.Header or (if a response
11966// was returned at all) in error.(*googleapi.Error).Header. Use
11967// googleapi.IsNotModified to check whether the returned error was
11968// because http.StatusNotModified was returned.
11969func (c *ProjectsLocationsDatasetsConsentStoresListCall) Do(opts ...googleapi.CallOption) (*ListConsentStoresResponse, error) {
11970	gensupport.SetOptions(c.urlParams_, opts...)
11971	res, err := c.doRequest("json")
11972	if res != nil && res.StatusCode == http.StatusNotModified {
11973		if res.Body != nil {
11974			res.Body.Close()
11975		}
11976		return nil, &googleapi.Error{
11977			Code:   res.StatusCode,
11978			Header: res.Header,
11979		}
11980	}
11981	if err != nil {
11982		return nil, err
11983	}
11984	defer googleapi.CloseBody(res)
11985	if err := googleapi.CheckResponse(res); err != nil {
11986		return nil, err
11987	}
11988	ret := &ListConsentStoresResponse{
11989		ServerResponse: googleapi.ServerResponse{
11990			Header:         res.Header,
11991			HTTPStatusCode: res.StatusCode,
11992		},
11993	}
11994	target := &ret
11995	if err := gensupport.DecodeResponse(target, res); err != nil {
11996		return nil, err
11997	}
11998	return ret, nil
11999	// {
12000	//   "description": "Lists the consent stores in the specified dataset.",
12001	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
12002	//   "httpMethod": "GET",
12003	//   "id": "healthcare.projects.locations.datasets.consentStores.list",
12004	//   "parameterOrder": [
12005	//     "parent"
12006	//   ],
12007	//   "parameters": {
12008	//     "filter": {
12009	//       "description": "Optional. Restricts the stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `filter=labels.key=value`.",
12010	//       "location": "query",
12011	//       "type": "string"
12012	//     },
12013	//     "pageSize": {
12014	//       "description": "Optional. Limit on the number of consent stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
12015	//       "format": "int32",
12016	//       "location": "query",
12017	//       "type": "integer"
12018	//     },
12019	//     "pageToken": {
12020	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
12021	//       "location": "query",
12022	//       "type": "string"
12023	//     },
12024	//     "parent": {
12025	//       "description": "Required. Name of the dataset.",
12026	//       "location": "path",
12027	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
12028	//       "required": true,
12029	//       "type": "string"
12030	//     }
12031	//   },
12032	//   "path": "v1beta1/{+parent}/consentStores",
12033	//   "response": {
12034	//     "$ref": "ListConsentStoresResponse"
12035	//   },
12036	//   "scopes": [
12037	//     "https://www.googleapis.com/auth/cloud-platform"
12038	//   ]
12039	// }
12040
12041}
12042
12043// Pages invokes f for each page of results.
12044// A non-nil error returned from f will halt the iteration.
12045// The provided context supersedes any context provided to the Context method.
12046func (c *ProjectsLocationsDatasetsConsentStoresListCall) Pages(ctx context.Context, f func(*ListConsentStoresResponse) error) error {
12047	c.ctx_ = ctx
12048	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
12049	for {
12050		x, err := c.Do()
12051		if err != nil {
12052			return err
12053		}
12054		if err := f(x); err != nil {
12055			return err
12056		}
12057		if x.NextPageToken == "" {
12058			return nil
12059		}
12060		c.PageToken(x.NextPageToken)
12061	}
12062}
12063
12064// method id "healthcare.projects.locations.datasets.consentStores.patch":
12065
12066type ProjectsLocationsDatasetsConsentStoresPatchCall struct {
12067	s            *Service
12068	name         string
12069	consentstore *ConsentStore
12070	urlParams_   gensupport.URLParams
12071	ctx_         context.Context
12072	header_      http.Header
12073}
12074
12075// Patch: Updates the specified consent store.
12076func (r *ProjectsLocationsDatasetsConsentStoresService) Patch(name string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12077	c := &ProjectsLocationsDatasetsConsentStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12078	c.name = name
12079	c.consentstore = consentstore
12080	return c
12081}
12082
12083// UpdateMask sets the optional parameter "updateMask": Required. The
12084// update mask that applies to the resource. For the `FieldMask`
12085// definition, see
12086// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
12087// Only the `labels`, `default_consent_ttl`, and
12088// `enable_consent_create_on_update` fields are allowed to be updated.
12089func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12090	c.urlParams_.Set("updateMask", updateMask)
12091	return c
12092}
12093
12094// Fields allows partial responses to be retrieved. See
12095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12096// for more information.
12097func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12099	return c
12100}
12101
12102// Context sets the context to be used in this call's Do method. Any
12103// pending HTTP request will be aborted if the provided context is
12104// canceled.
12105func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12106	c.ctx_ = ctx
12107	return c
12108}
12109
12110// Header returns an http.Header that can be modified by the caller to
12111// add HTTP headers to the request.
12112func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Header() http.Header {
12113	if c.header_ == nil {
12114		c.header_ = make(http.Header)
12115	}
12116	return c.header_
12117}
12118
12119func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) doRequest(alt string) (*http.Response, error) {
12120	reqHeaders := make(http.Header)
12121	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12122	for k, v := range c.header_ {
12123		reqHeaders[k] = v
12124	}
12125	reqHeaders.Set("User-Agent", c.s.userAgent())
12126	var body io.Reader = nil
12127	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
12128	if err != nil {
12129		return nil, err
12130	}
12131	reqHeaders.Set("Content-Type", "application/json")
12132	c.urlParams_.Set("alt", alt)
12133	c.urlParams_.Set("prettyPrint", "false")
12134	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
12135	urls += "?" + c.urlParams_.Encode()
12136	req, err := http.NewRequest("PATCH", urls, body)
12137	if err != nil {
12138		return nil, err
12139	}
12140	req.Header = reqHeaders
12141	googleapi.Expand(req.URL, map[string]string{
12142		"name": c.name,
12143	})
12144	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12145}
12146
12147// Do executes the "healthcare.projects.locations.datasets.consentStores.patch" call.
12148// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
12149// status code is an error. Response headers are in either
12150// *ConsentStore.ServerResponse.Header or (if a response was returned at
12151// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12152// to check whether the returned error was because
12153// http.StatusNotModified was returned.
12154func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
12155	gensupport.SetOptions(c.urlParams_, opts...)
12156	res, err := c.doRequest("json")
12157	if res != nil && res.StatusCode == http.StatusNotModified {
12158		if res.Body != nil {
12159			res.Body.Close()
12160		}
12161		return nil, &googleapi.Error{
12162			Code:   res.StatusCode,
12163			Header: res.Header,
12164		}
12165	}
12166	if err != nil {
12167		return nil, err
12168	}
12169	defer googleapi.CloseBody(res)
12170	if err := googleapi.CheckResponse(res); err != nil {
12171		return nil, err
12172	}
12173	ret := &ConsentStore{
12174		ServerResponse: googleapi.ServerResponse{
12175			Header:         res.Header,
12176			HTTPStatusCode: res.StatusCode,
12177		},
12178	}
12179	target := &ret
12180	if err := gensupport.DecodeResponse(target, res); err != nil {
12181		return nil, err
12182	}
12183	return ret, nil
12184	// {
12185	//   "description": "Updates the specified consent store.",
12186	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
12187	//   "httpMethod": "PATCH",
12188	//   "id": "healthcare.projects.locations.datasets.consentStores.patch",
12189	//   "parameterOrder": [
12190	//     "name"
12191	//   ],
12192	//   "parameters": {
12193	//     "name": {
12194	//       "description": "Resource name of the consent store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. Cannot be changed after creation.",
12195	//       "location": "path",
12196	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12197	//       "required": true,
12198	//       "type": "string"
12199	//     },
12200	//     "updateMask": {
12201	//       "description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `labels`, `default_consent_ttl`, and `enable_consent_create_on_update` fields are allowed to be updated.",
12202	//       "format": "google-fieldmask",
12203	//       "location": "query",
12204	//       "type": "string"
12205	//     }
12206	//   },
12207	//   "path": "v1beta1/{+name}",
12208	//   "request": {
12209	//     "$ref": "ConsentStore"
12210	//   },
12211	//   "response": {
12212	//     "$ref": "ConsentStore"
12213	//   },
12214	//   "scopes": [
12215	//     "https://www.googleapis.com/auth/cloud-platform"
12216	//   ]
12217	// }
12218
12219}
12220
12221// method id "healthcare.projects.locations.datasets.consentStores.queryAccessibleData":
12222
12223type ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall struct {
12224	s                          *Service
12225	consentStore               string
12226	queryaccessibledatarequest *QueryAccessibleDataRequest
12227	urlParams_                 gensupport.URLParams
12228	ctx_                       context.Context
12229	header_                    http.Header
12230}
12231
12232// QueryAccessibleData: Queries all data_ids that are consented for a
12233// specified use in the given consent store and writes them to a
12234// specified destination. The returned Operation includes a progress
12235// counter for the number of User data mappings processed. Errors are
12236// logged to Cloud Logging (see [Viewing logs]
12237// (cloud.google.com/healthcare/docs/how-tos/logging)). For example, the
12238// following sample log entry shows a `failed to evaluate consent
12239// policy` error that occurred during a QueryAccessibleData call to
12240// consent store
12241// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12242// onsentStores/{consent_store_id}`. ```json jsonPayload: { @type:
12243// "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDa
12244// taLogEntry" error: { code: 9 message: "failed to evaluate consent
12245// policy" } resourceName:
12246// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12247// onsentStores/{consent_store_id}/consents/{consent_id}" } logName:
12248// "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessib
12249// le_data" operation: { id:
12250// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/o
12251// perations/{operation_id}" producer:
12252// "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp:
12253// "TIMESTAMP" resource: { labels: { consent_store_id:
12254// "{consent_store_id}" dataset_id: "{dataset_id}" location:
12255// "{location_id}" project_id: "{project_id}" } type:
12256// "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP"
12257// ```
12258func (r *ProjectsLocationsDatasetsConsentStoresService) QueryAccessibleData(consentStore string, queryaccessibledatarequest *QueryAccessibleDataRequest) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12259	c := &ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12260	c.consentStore = consentStore
12261	c.queryaccessibledatarequest = queryaccessibledatarequest
12262	return c
12263}
12264
12265// Fields allows partial responses to be retrieved. See
12266// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12267// for more information.
12268func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12269	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12270	return c
12271}
12272
12273// Context sets the context to be used in this call's Do method. Any
12274// pending HTTP request will be aborted if the provided context is
12275// canceled.
12276func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12277	c.ctx_ = ctx
12278	return c
12279}
12280
12281// Header returns an http.Header that can be modified by the caller to
12282// add HTTP headers to the request.
12283func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Header() http.Header {
12284	if c.header_ == nil {
12285		c.header_ = make(http.Header)
12286	}
12287	return c.header_
12288}
12289
12290func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) doRequest(alt string) (*http.Response, error) {
12291	reqHeaders := make(http.Header)
12292	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12293	for k, v := range c.header_ {
12294		reqHeaders[k] = v
12295	}
12296	reqHeaders.Set("User-Agent", c.s.userAgent())
12297	var body io.Reader = nil
12298	body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryaccessibledatarequest)
12299	if err != nil {
12300		return nil, err
12301	}
12302	reqHeaders.Set("Content-Type", "application/json")
12303	c.urlParams_.Set("alt", alt)
12304	c.urlParams_.Set("prettyPrint", "false")
12305	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:queryAccessibleData")
12306	urls += "?" + c.urlParams_.Encode()
12307	req, err := http.NewRequest("POST", urls, body)
12308	if err != nil {
12309		return nil, err
12310	}
12311	req.Header = reqHeaders
12312	googleapi.Expand(req.URL, map[string]string{
12313		"consentStore": c.consentStore,
12314	})
12315	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12316}
12317
12318// Do executes the "healthcare.projects.locations.datasets.consentStores.queryAccessibleData" call.
12319// Exactly one of *Operation or error will be non-nil. Any non-2xx
12320// status code is an error. Response headers are in either
12321// *Operation.ServerResponse.Header or (if a response was returned at
12322// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12323// to check whether the returned error was because
12324// http.StatusNotModified was returned.
12325func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12326	gensupport.SetOptions(c.urlParams_, opts...)
12327	res, err := c.doRequest("json")
12328	if res != nil && res.StatusCode == http.StatusNotModified {
12329		if res.Body != nil {
12330			res.Body.Close()
12331		}
12332		return nil, &googleapi.Error{
12333			Code:   res.StatusCode,
12334			Header: res.Header,
12335		}
12336	}
12337	if err != nil {
12338		return nil, err
12339	}
12340	defer googleapi.CloseBody(res)
12341	if err := googleapi.CheckResponse(res); err != nil {
12342		return nil, err
12343	}
12344	ret := &Operation{
12345		ServerResponse: googleapi.ServerResponse{
12346			Header:         res.Header,
12347			HTTPStatusCode: res.StatusCode,
12348		},
12349	}
12350	target := &ret
12351	if err := gensupport.DecodeResponse(target, res); err != nil {
12352		return nil, err
12353	}
12354	return ret, nil
12355	// {
12356	//   "description": "Queries all data_ids that are consented for a specified use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. Errors are logged to Cloud Logging (see [Viewing logs] (cloud.google.com/healthcare/docs/how-tos/logging)). For example, the following sample log entry shows a `failed to evaluate consent policy` error that occurred during a QueryAccessibleData call to consent store `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. ```json jsonPayload: { @type: \"type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDataLogEntry\" error: { code: 9 message: \"failed to evaluate consent policy\" } resourceName: \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}\" } logName: \"projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessible_data\" operation: { id: \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/operations/{operation_id}\" producer: \"healthcare.googleapis.com/QueryAccessibleData\" } receiveTimestamp: \"TIMESTAMP\" resource: { labels: { consent_store_id: \"{consent_store_id}\" dataset_id: \"{dataset_id}\" location: \"{location_id}\" project_id: \"{project_id}\" } type: \"healthcare_consent_store\" } severity: \"ERROR\" timestamp: \"TIMESTAMP\" ```",
12357	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData",
12358	//   "httpMethod": "POST",
12359	//   "id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData",
12360	//   "parameterOrder": [
12361	//     "consentStore"
12362	//   ],
12363	//   "parameters": {
12364	//     "consentStore": {
12365	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
12366	//       "location": "path",
12367	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12368	//       "required": true,
12369	//       "type": "string"
12370	//     }
12371	//   },
12372	//   "path": "v1beta1/{+consentStore}:queryAccessibleData",
12373	//   "request": {
12374	//     "$ref": "QueryAccessibleDataRequest"
12375	//   },
12376	//   "response": {
12377	//     "$ref": "Operation"
12378	//   },
12379	//   "scopes": [
12380	//     "https://www.googleapis.com/auth/cloud-platform"
12381	//   ]
12382	// }
12383
12384}
12385
12386// method id "healthcare.projects.locations.datasets.consentStores.setIamPolicy":
12387
12388type ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall struct {
12389	s                   *Service
12390	resource            string
12391	setiampolicyrequest *SetIamPolicyRequest
12392	urlParams_          gensupport.URLParams
12393	ctx_                context.Context
12394	header_             http.Header
12395}
12396
12397// SetIamPolicy: Sets the access control policy on the specified
12398// resource. Replaces any existing policy. Can return `NOT_FOUND`,
12399// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
12400func (r *ProjectsLocationsDatasetsConsentStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12401	c := &ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12402	c.resource = resource
12403	c.setiampolicyrequest = setiampolicyrequest
12404	return c
12405}
12406
12407// Fields allows partial responses to be retrieved. See
12408// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12409// for more information.
12410func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12411	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12412	return c
12413}
12414
12415// Context sets the context to be used in this call's Do method. Any
12416// pending HTTP request will be aborted if the provided context is
12417// canceled.
12418func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12419	c.ctx_ = ctx
12420	return c
12421}
12422
12423// Header returns an http.Header that can be modified by the caller to
12424// add HTTP headers to the request.
12425func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Header() http.Header {
12426	if c.header_ == nil {
12427		c.header_ = make(http.Header)
12428	}
12429	return c.header_
12430}
12431
12432func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
12433	reqHeaders := make(http.Header)
12434	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12435	for k, v := range c.header_ {
12436		reqHeaders[k] = v
12437	}
12438	reqHeaders.Set("User-Agent", c.s.userAgent())
12439	var body io.Reader = nil
12440	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
12441	if err != nil {
12442		return nil, err
12443	}
12444	reqHeaders.Set("Content-Type", "application/json")
12445	c.urlParams_.Set("alt", alt)
12446	c.urlParams_.Set("prettyPrint", "false")
12447	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
12448	urls += "?" + c.urlParams_.Encode()
12449	req, err := http.NewRequest("POST", urls, body)
12450	if err != nil {
12451		return nil, err
12452	}
12453	req.Header = reqHeaders
12454	googleapi.Expand(req.URL, map[string]string{
12455		"resource": c.resource,
12456	})
12457	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12458}
12459
12460// Do executes the "healthcare.projects.locations.datasets.consentStores.setIamPolicy" call.
12461// Exactly one of *Policy or error will be non-nil. Any non-2xx status
12462// code is an error. Response headers are in either
12463// *Policy.ServerResponse.Header or (if a response was returned at all)
12464// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12465// check whether the returned error was because http.StatusNotModified
12466// was returned.
12467func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
12468	gensupport.SetOptions(c.urlParams_, opts...)
12469	res, err := c.doRequest("json")
12470	if res != nil && res.StatusCode == http.StatusNotModified {
12471		if res.Body != nil {
12472			res.Body.Close()
12473		}
12474		return nil, &googleapi.Error{
12475			Code:   res.StatusCode,
12476			Header: res.Header,
12477		}
12478	}
12479	if err != nil {
12480		return nil, err
12481	}
12482	defer googleapi.CloseBody(res)
12483	if err := googleapi.CheckResponse(res); err != nil {
12484		return nil, err
12485	}
12486	ret := &Policy{
12487		ServerResponse: googleapi.ServerResponse{
12488			Header:         res.Header,
12489			HTTPStatusCode: res.StatusCode,
12490		},
12491	}
12492	target := &ret
12493	if err := gensupport.DecodeResponse(target, res); err != nil {
12494		return nil, err
12495	}
12496	return ret, nil
12497	// {
12498	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
12499	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy",
12500	//   "httpMethod": "POST",
12501	//   "id": "healthcare.projects.locations.datasets.consentStores.setIamPolicy",
12502	//   "parameterOrder": [
12503	//     "resource"
12504	//   ],
12505	//   "parameters": {
12506	//     "resource": {
12507	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
12508	//       "location": "path",
12509	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12510	//       "required": true,
12511	//       "type": "string"
12512	//     }
12513	//   },
12514	//   "path": "v1beta1/{+resource}:setIamPolicy",
12515	//   "request": {
12516	//     "$ref": "SetIamPolicyRequest"
12517	//   },
12518	//   "response": {
12519	//     "$ref": "Policy"
12520	//   },
12521	//   "scopes": [
12522	//     "https://www.googleapis.com/auth/cloud-platform"
12523	//   ]
12524	// }
12525
12526}
12527
12528// method id "healthcare.projects.locations.datasets.consentStores.testIamPermissions":
12529
12530type ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall struct {
12531	s                         *Service
12532	resource                  string
12533	testiampermissionsrequest *TestIamPermissionsRequest
12534	urlParams_                gensupport.URLParams
12535	ctx_                      context.Context
12536	header_                   http.Header
12537}
12538
12539// TestIamPermissions: Returns permissions that a caller has on the
12540// specified resource. If the resource does not exist, this will return
12541// an empty set of permissions, not a `NOT_FOUND` error. Note: This
12542// operation is designed to be used for building permission-aware UIs
12543// and command-line tools, not for authorization checking. This
12544// operation may "fail open" without warning.
12545func (r *ProjectsLocationsDatasetsConsentStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12546	c := &ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12547	c.resource = resource
12548	c.testiampermissionsrequest = testiampermissionsrequest
12549	return c
12550}
12551
12552// Fields allows partial responses to be retrieved. See
12553// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12554// for more information.
12555func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12556	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12557	return c
12558}
12559
12560// Context sets the context to be used in this call's Do method. Any
12561// pending HTTP request will be aborted if the provided context is
12562// canceled.
12563func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12564	c.ctx_ = ctx
12565	return c
12566}
12567
12568// Header returns an http.Header that can be modified by the caller to
12569// add HTTP headers to the request.
12570func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Header() http.Header {
12571	if c.header_ == nil {
12572		c.header_ = make(http.Header)
12573	}
12574	return c.header_
12575}
12576
12577func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
12578	reqHeaders := make(http.Header)
12579	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12580	for k, v := range c.header_ {
12581		reqHeaders[k] = v
12582	}
12583	reqHeaders.Set("User-Agent", c.s.userAgent())
12584	var body io.Reader = nil
12585	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
12586	if err != nil {
12587		return nil, err
12588	}
12589	reqHeaders.Set("Content-Type", "application/json")
12590	c.urlParams_.Set("alt", alt)
12591	c.urlParams_.Set("prettyPrint", "false")
12592	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
12593	urls += "?" + c.urlParams_.Encode()
12594	req, err := http.NewRequest("POST", urls, body)
12595	if err != nil {
12596		return nil, err
12597	}
12598	req.Header = reqHeaders
12599	googleapi.Expand(req.URL, map[string]string{
12600		"resource": c.resource,
12601	})
12602	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12603}
12604
12605// Do executes the "healthcare.projects.locations.datasets.consentStores.testIamPermissions" call.
12606// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
12607// Any non-2xx status code is an error. Response headers are in either
12608// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
12609// was returned at all) in error.(*googleapi.Error).Header. Use
12610// googleapi.IsNotModified to check whether the returned error was
12611// because http.StatusNotModified was returned.
12612func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
12613	gensupport.SetOptions(c.urlParams_, opts...)
12614	res, err := c.doRequest("json")
12615	if res != nil && res.StatusCode == http.StatusNotModified {
12616		if res.Body != nil {
12617			res.Body.Close()
12618		}
12619		return nil, &googleapi.Error{
12620			Code:   res.StatusCode,
12621			Header: res.Header,
12622		}
12623	}
12624	if err != nil {
12625		return nil, err
12626	}
12627	defer googleapi.CloseBody(res)
12628	if err := googleapi.CheckResponse(res); err != nil {
12629		return nil, err
12630	}
12631	ret := &TestIamPermissionsResponse{
12632		ServerResponse: googleapi.ServerResponse{
12633			Header:         res.Header,
12634			HTTPStatusCode: res.StatusCode,
12635		},
12636	}
12637	target := &ret
12638	if err := gensupport.DecodeResponse(target, res); err != nil {
12639		return nil, err
12640	}
12641	return ret, nil
12642	// {
12643	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
12644	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions",
12645	//   "httpMethod": "POST",
12646	//   "id": "healthcare.projects.locations.datasets.consentStores.testIamPermissions",
12647	//   "parameterOrder": [
12648	//     "resource"
12649	//   ],
12650	//   "parameters": {
12651	//     "resource": {
12652	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
12653	//       "location": "path",
12654	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12655	//       "required": true,
12656	//       "type": "string"
12657	//     }
12658	//   },
12659	//   "path": "v1beta1/{+resource}:testIamPermissions",
12660	//   "request": {
12661	//     "$ref": "TestIamPermissionsRequest"
12662	//   },
12663	//   "response": {
12664	//     "$ref": "TestIamPermissionsResponse"
12665	//   },
12666	//   "scopes": [
12667	//     "https://www.googleapis.com/auth/cloud-platform"
12668	//   ]
12669	// }
12670
12671}
12672
12673// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create":
12674
12675type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall struct {
12676	s                   *Service
12677	parent              string
12678	attributedefinition *AttributeDefinition
12679	urlParams_          gensupport.URLParams
12680	ctx_                context.Context
12681	header_             http.Header
12682}
12683
12684// Create: Creates a new Attribute definition in the parent consent
12685// store.
12686func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Create(parent string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12687	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12688	c.parent = parent
12689	c.attributedefinition = attributedefinition
12690	return c
12691}
12692
12693// AttributeDefinitionId sets the optional parameter
12694// "attributeDefinitionId": Required. The ID of the Attribute definition
12695// to create. The string must match the following regex:
12696// `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common
12697// Expression Language as listed on
12698// https://github.com/google/cel-spec/blob/master/doc/langdef.md.
12699func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) AttributeDefinitionId(attributeDefinitionId string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12700	c.urlParams_.Set("attributeDefinitionId", attributeDefinitionId)
12701	return c
12702}
12703
12704// Fields allows partial responses to be retrieved. See
12705// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12706// for more information.
12707func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12708	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12709	return c
12710}
12711
12712// Context sets the context to be used in this call's Do method. Any
12713// pending HTTP request will be aborted if the provided context is
12714// canceled.
12715func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12716	c.ctx_ = ctx
12717	return c
12718}
12719
12720// Header returns an http.Header that can be modified by the caller to
12721// add HTTP headers to the request.
12722func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Header() http.Header {
12723	if c.header_ == nil {
12724		c.header_ = make(http.Header)
12725	}
12726	return c.header_
12727}
12728
12729func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) doRequest(alt string) (*http.Response, error) {
12730	reqHeaders := make(http.Header)
12731	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12732	for k, v := range c.header_ {
12733		reqHeaders[k] = v
12734	}
12735	reqHeaders.Set("User-Agent", c.s.userAgent())
12736	var body io.Reader = nil
12737	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
12738	if err != nil {
12739		return nil, err
12740	}
12741	reqHeaders.Set("Content-Type", "application/json")
12742	c.urlParams_.Set("alt", alt)
12743	c.urlParams_.Set("prettyPrint", "false")
12744	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
12745	urls += "?" + c.urlParams_.Encode()
12746	req, err := http.NewRequest("POST", urls, body)
12747	if err != nil {
12748		return nil, err
12749	}
12750	req.Header = reqHeaders
12751	googleapi.Expand(req.URL, map[string]string{
12752		"parent": c.parent,
12753	})
12754	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12755}
12756
12757// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create" call.
12758// Exactly one of *AttributeDefinition or error will be non-nil. Any
12759// non-2xx status code is an error. Response headers are in either
12760// *AttributeDefinition.ServerResponse.Header or (if a response was
12761// returned at all) in error.(*googleapi.Error).Header. Use
12762// googleapi.IsNotModified to check whether the returned error was
12763// because http.StatusNotModified was returned.
12764func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
12765	gensupport.SetOptions(c.urlParams_, opts...)
12766	res, err := c.doRequest("json")
12767	if res != nil && res.StatusCode == http.StatusNotModified {
12768		if res.Body != nil {
12769			res.Body.Close()
12770		}
12771		return nil, &googleapi.Error{
12772			Code:   res.StatusCode,
12773			Header: res.Header,
12774		}
12775	}
12776	if err != nil {
12777		return nil, err
12778	}
12779	defer googleapi.CloseBody(res)
12780	if err := googleapi.CheckResponse(res); err != nil {
12781		return nil, err
12782	}
12783	ret := &AttributeDefinition{
12784		ServerResponse: googleapi.ServerResponse{
12785			Header:         res.Header,
12786			HTTPStatusCode: res.StatusCode,
12787		},
12788	}
12789	target := &ret
12790	if err := gensupport.DecodeResponse(target, res); err != nil {
12791		return nil, err
12792	}
12793	return ret, nil
12794	// {
12795	//   "description": "Creates a new Attribute definition in the parent consent store.",
12796	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
12797	//   "httpMethod": "POST",
12798	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create",
12799	//   "parameterOrder": [
12800	//     "parent"
12801	//   ],
12802	//   "parameters": {
12803	//     "attributeDefinitionId": {
12804	//       "description": "Required. The ID of the Attribute definition to create. The string must match the following regex: `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common Expression Language as listed on https://github.com/google/cel-spec/blob/master/doc/langdef.md.",
12805	//       "location": "query",
12806	//       "type": "string"
12807	//     },
12808	//     "parent": {
12809	//       "description": "Required. The name of the consent store that this Attribute definition belongs to.",
12810	//       "location": "path",
12811	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12812	//       "required": true,
12813	//       "type": "string"
12814	//     }
12815	//   },
12816	//   "path": "v1beta1/{+parent}/attributeDefinitions",
12817	//   "request": {
12818	//     "$ref": "AttributeDefinition"
12819	//   },
12820	//   "response": {
12821	//     "$ref": "AttributeDefinition"
12822	//   },
12823	//   "scopes": [
12824	//     "https://www.googleapis.com/auth/cloud-platform"
12825	//   ]
12826	// }
12827
12828}
12829
12830// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete":
12831
12832type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall struct {
12833	s          *Service
12834	name       string
12835	urlParams_ gensupport.URLParams
12836	ctx_       context.Context
12837	header_    http.Header
12838}
12839
12840// Delete: Deletes the specified Attribute definition. Fails if the
12841// Attribute definition is referenced by any User data mapping, or the
12842// latest revision of any Consent.
12843func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
12844	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12845	c.name = name
12846	return c
12847}
12848
12849// Fields allows partial responses to be retrieved. See
12850// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12851// for more information.
12852func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
12853	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12854	return c
12855}
12856
12857// Context sets the context to be used in this call's Do method. Any
12858// pending HTTP request will be aborted if the provided context is
12859// canceled.
12860func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
12861	c.ctx_ = ctx
12862	return c
12863}
12864
12865// Header returns an http.Header that can be modified by the caller to
12866// add HTTP headers to the request.
12867func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Header() http.Header {
12868	if c.header_ == nil {
12869		c.header_ = make(http.Header)
12870	}
12871	return c.header_
12872}
12873
12874func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) doRequest(alt string) (*http.Response, error) {
12875	reqHeaders := make(http.Header)
12876	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
12877	for k, v := range c.header_ {
12878		reqHeaders[k] = v
12879	}
12880	reqHeaders.Set("User-Agent", c.s.userAgent())
12881	var body io.Reader = nil
12882	c.urlParams_.Set("alt", alt)
12883	c.urlParams_.Set("prettyPrint", "false")
12884	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
12885	urls += "?" + c.urlParams_.Encode()
12886	req, err := http.NewRequest("DELETE", urls, body)
12887	if err != nil {
12888		return nil, err
12889	}
12890	req.Header = reqHeaders
12891	googleapi.Expand(req.URL, map[string]string{
12892		"name": c.name,
12893	})
12894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12895}
12896
12897// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete" call.
12898// Exactly one of *Empty or error will be non-nil. Any non-2xx status
12899// code is an error. Response headers are in either
12900// *Empty.ServerResponse.Header or (if a response was returned at all)
12901// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12902// check whether the returned error was because http.StatusNotModified
12903// was returned.
12904func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
12905	gensupport.SetOptions(c.urlParams_, opts...)
12906	res, err := c.doRequest("json")
12907	if res != nil && res.StatusCode == http.StatusNotModified {
12908		if res.Body != nil {
12909			res.Body.Close()
12910		}
12911		return nil, &googleapi.Error{
12912			Code:   res.StatusCode,
12913			Header: res.Header,
12914		}
12915	}
12916	if err != nil {
12917		return nil, err
12918	}
12919	defer googleapi.CloseBody(res)
12920	if err := googleapi.CheckResponse(res); err != nil {
12921		return nil, err
12922	}
12923	ret := &Empty{
12924		ServerResponse: googleapi.ServerResponse{
12925			Header:         res.Header,
12926			HTTPStatusCode: res.StatusCode,
12927		},
12928	}
12929	target := &ret
12930	if err := gensupport.DecodeResponse(target, res); err != nil {
12931		return nil, err
12932	}
12933	return ret, nil
12934	// {
12935	//   "description": "Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent.",
12936	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
12937	//   "httpMethod": "DELETE",
12938	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete",
12939	//   "parameterOrder": [
12940	//     "name"
12941	//   ],
12942	//   "parameters": {
12943	//     "name": {
12944	//       "description": "Required. The resource name of the Attribute definition to delete. To preserve referential integrity, Attribute definitions referenced by a User data mapping or the latest revision of a Consent cannot be deleted.",
12945	//       "location": "path",
12946	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
12947	//       "required": true,
12948	//       "type": "string"
12949	//     }
12950	//   },
12951	//   "path": "v1beta1/{+name}",
12952	//   "response": {
12953	//     "$ref": "Empty"
12954	//   },
12955	//   "scopes": [
12956	//     "https://www.googleapis.com/auth/cloud-platform"
12957	//   ]
12958	// }
12959
12960}
12961
12962// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get":
12963
12964type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall struct {
12965	s            *Service
12966	name         string
12967	urlParams_   gensupport.URLParams
12968	ifNoneMatch_ string
12969	ctx_         context.Context
12970	header_      http.Header
12971}
12972
12973// Get: Gets the specified Attribute definition.
12974func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
12975	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12976	c.name = name
12977	return c
12978}
12979
12980// Fields allows partial responses to be retrieved. See
12981// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12982// for more information.
12983func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
12984	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12985	return c
12986}
12987
12988// IfNoneMatch sets the optional parameter which makes the operation
12989// fail if the object's ETag matches the given value. This is useful for
12990// getting updates only after the object has changed since the last
12991// request. Use googleapi.IsNotModified to check whether the response
12992// error from Do is the result of In-None-Match.
12993func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
12994	c.ifNoneMatch_ = entityTag
12995	return c
12996}
12997
12998// Context sets the context to be used in this call's Do method. Any
12999// pending HTTP request will be aborted if the provided context is
13000// canceled.
13001func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13002	c.ctx_ = ctx
13003	return c
13004}
13005
13006// Header returns an http.Header that can be modified by the caller to
13007// add HTTP headers to the request.
13008func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Header() http.Header {
13009	if c.header_ == nil {
13010		c.header_ = make(http.Header)
13011	}
13012	return c.header_
13013}
13014
13015func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
13016	reqHeaders := make(http.Header)
13017	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13018	for k, v := range c.header_ {
13019		reqHeaders[k] = v
13020	}
13021	reqHeaders.Set("User-Agent", c.s.userAgent())
13022	if c.ifNoneMatch_ != "" {
13023		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13024	}
13025	var body io.Reader = nil
13026	c.urlParams_.Set("alt", alt)
13027	c.urlParams_.Set("prettyPrint", "false")
13028	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13029	urls += "?" + c.urlParams_.Encode()
13030	req, err := http.NewRequest("GET", urls, body)
13031	if err != nil {
13032		return nil, err
13033	}
13034	req.Header = reqHeaders
13035	googleapi.Expand(req.URL, map[string]string{
13036		"name": c.name,
13037	})
13038	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13039}
13040
13041// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get" call.
13042// Exactly one of *AttributeDefinition or error will be non-nil. Any
13043// non-2xx status code is an error. Response headers are in either
13044// *AttributeDefinition.ServerResponse.Header or (if a response was
13045// returned at all) in error.(*googleapi.Error).Header. Use
13046// googleapi.IsNotModified to check whether the returned error was
13047// because http.StatusNotModified was returned.
13048func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13049	gensupport.SetOptions(c.urlParams_, opts...)
13050	res, err := c.doRequest("json")
13051	if res != nil && res.StatusCode == http.StatusNotModified {
13052		if res.Body != nil {
13053			res.Body.Close()
13054		}
13055		return nil, &googleapi.Error{
13056			Code:   res.StatusCode,
13057			Header: res.Header,
13058		}
13059	}
13060	if err != nil {
13061		return nil, err
13062	}
13063	defer googleapi.CloseBody(res)
13064	if err := googleapi.CheckResponse(res); err != nil {
13065		return nil, err
13066	}
13067	ret := &AttributeDefinition{
13068		ServerResponse: googleapi.ServerResponse{
13069			Header:         res.Header,
13070			HTTPStatusCode: res.StatusCode,
13071		},
13072	}
13073	target := &ret
13074	if err := gensupport.DecodeResponse(target, res); err != nil {
13075		return nil, err
13076	}
13077	return ret, nil
13078	// {
13079	//   "description": "Gets the specified Attribute definition.",
13080	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13081	//   "httpMethod": "GET",
13082	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get",
13083	//   "parameterOrder": [
13084	//     "name"
13085	//   ],
13086	//   "parameters": {
13087	//     "name": {
13088	//       "description": "Required. The resource name of the Attribute definition to get.",
13089	//       "location": "path",
13090	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13091	//       "required": true,
13092	//       "type": "string"
13093	//     }
13094	//   },
13095	//   "path": "v1beta1/{+name}",
13096	//   "response": {
13097	//     "$ref": "AttributeDefinition"
13098	//   },
13099	//   "scopes": [
13100	//     "https://www.googleapis.com/auth/cloud-platform"
13101	//   ]
13102	// }
13103
13104}
13105
13106// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list":
13107
13108type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall struct {
13109	s            *Service
13110	parent       string
13111	urlParams_   gensupport.URLParams
13112	ifNoneMatch_ string
13113	ctx_         context.Context
13114	header_      http.Header
13115}
13116
13117// List: Lists the Attribute definitions in the specified consent store.
13118func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13119	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13120	c.parent = parent
13121	return c
13122}
13123
13124// Filter sets the optional parameter "filter": Restricts the attributes
13125// returned to those matching a filter. The following syntax is
13126// available: * A string field value can be written as text inside
13127// quotation marks, for example "query text". The only valid
13128// relational operation for text fields is equality (`=`), where text is
13129// searched within the field, rather than having the field be equal to
13130// the text. For example, "Comment = great" returns messages with
13131// `great` in the comment field. * A number field value can be written
13132// as an integer, a decimal, or an exponential. The valid relational
13133// operators for number fields are the equality operator (`=`), along
13134// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
13135// Note that there is no inequality (`!=`) operator. You can prepend the
13136// `NOT` operator to an expression to negate it. * A date field value
13137// must be written in `yyyy-mm-dd` form. Fields with date and time use
13138// the RFC3339 time format. Leading zeros are required for one-digit
13139// months and days. The valid relational operators for date fields are
13140// the equality operator (`=`) , along with the less than/greater than
13141// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
13142// (`!=`) operator. You can prepend the `NOT` operator to an expression
13143// to negate it. * Multiple field query expressions can be combined in
13144// one query by adding `AND` or `OR` operators between the expressions.
13145// If a boolean operator appears within a quoted string, it is not
13146// treated as special, it's just another part of the character string to
13147// be matched. You can prepend the `NOT` operator to an expression to
13148// negate it. The only field available for filtering is `category`. For
13149// example, `filter=category=\"REQUEST\".
13150func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13151	c.urlParams_.Set("filter", filter)
13152	return c
13153}
13154
13155// PageSize sets the optional parameter "pageSize": Limit on the number
13156// of Attribute definitions to return in a single response. If not
13157// specified, 100 is used. May not be larger than 1000.
13158func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13159	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13160	return c
13161}
13162
13163// PageToken sets the optional parameter "pageToken": Token to retrieve
13164// the next page of results or empty to get the first page.
13165func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13166	c.urlParams_.Set("pageToken", pageToken)
13167	return c
13168}
13169
13170// Fields allows partial responses to be retrieved. See
13171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13172// for more information.
13173func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13175	return c
13176}
13177
13178// IfNoneMatch sets the optional parameter which makes the operation
13179// fail if the object's ETag matches the given value. This is useful for
13180// getting updates only after the object has changed since the last
13181// request. Use googleapi.IsNotModified to check whether the response
13182// error from Do is the result of In-None-Match.
13183func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13184	c.ifNoneMatch_ = entityTag
13185	return c
13186}
13187
13188// Context sets the context to be used in this call's Do method. Any
13189// pending HTTP request will be aborted if the provided context is
13190// canceled.
13191func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13192	c.ctx_ = ctx
13193	return c
13194}
13195
13196// Header returns an http.Header that can be modified by the caller to
13197// add HTTP headers to the request.
13198func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Header() http.Header {
13199	if c.header_ == nil {
13200		c.header_ = make(http.Header)
13201	}
13202	return c.header_
13203}
13204
13205func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
13206	reqHeaders := make(http.Header)
13207	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13208	for k, v := range c.header_ {
13209		reqHeaders[k] = v
13210	}
13211	reqHeaders.Set("User-Agent", c.s.userAgent())
13212	if c.ifNoneMatch_ != "" {
13213		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13214	}
13215	var body io.Reader = nil
13216	c.urlParams_.Set("alt", alt)
13217	c.urlParams_.Set("prettyPrint", "false")
13218	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
13219	urls += "?" + c.urlParams_.Encode()
13220	req, err := http.NewRequest("GET", urls, body)
13221	if err != nil {
13222		return nil, err
13223	}
13224	req.Header = reqHeaders
13225	googleapi.Expand(req.URL, map[string]string{
13226		"parent": c.parent,
13227	})
13228	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13229}
13230
13231// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list" call.
13232// Exactly one of *ListAttributeDefinitionsResponse or error will be
13233// non-nil. Any non-2xx status code is an error. Response headers are in
13234// either *ListAttributeDefinitionsResponse.ServerResponse.Header or (if
13235// a response was returned at all) in error.(*googleapi.Error).Header.
13236// Use googleapi.IsNotModified to check whether the returned error was
13237// because http.StatusNotModified was returned.
13238func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Do(opts ...googleapi.CallOption) (*ListAttributeDefinitionsResponse, error) {
13239	gensupport.SetOptions(c.urlParams_, opts...)
13240	res, err := c.doRequest("json")
13241	if res != nil && res.StatusCode == http.StatusNotModified {
13242		if res.Body != nil {
13243			res.Body.Close()
13244		}
13245		return nil, &googleapi.Error{
13246			Code:   res.StatusCode,
13247			Header: res.Header,
13248		}
13249	}
13250	if err != nil {
13251		return nil, err
13252	}
13253	defer googleapi.CloseBody(res)
13254	if err := googleapi.CheckResponse(res); err != nil {
13255		return nil, err
13256	}
13257	ret := &ListAttributeDefinitionsResponse{
13258		ServerResponse: googleapi.ServerResponse{
13259			Header:         res.Header,
13260			HTTPStatusCode: res.StatusCode,
13261		},
13262	}
13263	target := &ret
13264	if err := gensupport.DecodeResponse(target, res); err != nil {
13265		return nil, err
13266	}
13267	return ret, nil
13268	// {
13269	//   "description": "Lists the Attribute definitions in the specified consent store.",
13270	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
13271	//   "httpMethod": "GET",
13272	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list",
13273	//   "parameterOrder": [
13274	//     "parent"
13275	//   ],
13276	//   "parameters": {
13277	//     "filter": {
13278	//       "description": "Optional. Restricts the attributes returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The only field available for filtering is `category`. For example, `filter=category=\\\"REQUEST\\\"`.",
13279	//       "location": "query",
13280	//       "type": "string"
13281	//     },
13282	//     "pageSize": {
13283	//       "description": "Optional. Limit on the number of Attribute definitions to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
13284	//       "format": "int32",
13285	//       "location": "query",
13286	//       "type": "integer"
13287	//     },
13288	//     "pageToken": {
13289	//       "description": "Optional. Token to retrieve the next page of results or empty to get the first page.",
13290	//       "location": "query",
13291	//       "type": "string"
13292	//     },
13293	//     "parent": {
13294	//       "description": "Required. Name of the consent store to retrieve Attribute definitions from.",
13295	//       "location": "path",
13296	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13297	//       "required": true,
13298	//       "type": "string"
13299	//     }
13300	//   },
13301	//   "path": "v1beta1/{+parent}/attributeDefinitions",
13302	//   "response": {
13303	//     "$ref": "ListAttributeDefinitionsResponse"
13304	//   },
13305	//   "scopes": [
13306	//     "https://www.googleapis.com/auth/cloud-platform"
13307	//   ]
13308	// }
13309
13310}
13311
13312// Pages invokes f for each page of results.
13313// A non-nil error returned from f will halt the iteration.
13314// The provided context supersedes any context provided to the Context method.
13315func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Pages(ctx context.Context, f func(*ListAttributeDefinitionsResponse) error) error {
13316	c.ctx_ = ctx
13317	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13318	for {
13319		x, err := c.Do()
13320		if err != nil {
13321			return err
13322		}
13323		if err := f(x); err != nil {
13324			return err
13325		}
13326		if x.NextPageToken == "" {
13327			return nil
13328		}
13329		c.PageToken(x.NextPageToken)
13330	}
13331}
13332
13333// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch":
13334
13335type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall struct {
13336	s                   *Service
13337	name                string
13338	attributedefinition *AttributeDefinition
13339	urlParams_          gensupport.URLParams
13340	ctx_                context.Context
13341	header_             http.Header
13342}
13343
13344// Patch: Updates the specified Attribute definition.
13345func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Patch(name string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13346	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13347	c.name = name
13348	c.attributedefinition = attributedefinition
13349	return c
13350}
13351
13352// UpdateMask sets the optional parameter "updateMask": Required. The
13353// update mask that applies to the resource. For the `FieldMask`
13354// definition, see
13355// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
13356// Only the `description`, `allowed_values`, `consent_default_values`
13357// and `data_mapping_default_value` fields can be updated. The updated
13358// `allowed_values` must contain all values from the previous
13359// `allowed_values`.
13360func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13361	c.urlParams_.Set("updateMask", updateMask)
13362	return c
13363}
13364
13365// Fields allows partial responses to be retrieved. See
13366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13367// for more information.
13368func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13370	return c
13371}
13372
13373// Context sets the context to be used in this call's Do method. Any
13374// pending HTTP request will be aborted if the provided context is
13375// canceled.
13376func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13377	c.ctx_ = ctx
13378	return c
13379}
13380
13381// Header returns an http.Header that can be modified by the caller to
13382// add HTTP headers to the request.
13383func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Header() http.Header {
13384	if c.header_ == nil {
13385		c.header_ = make(http.Header)
13386	}
13387	return c.header_
13388}
13389
13390func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) doRequest(alt string) (*http.Response, error) {
13391	reqHeaders := make(http.Header)
13392	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13393	for k, v := range c.header_ {
13394		reqHeaders[k] = v
13395	}
13396	reqHeaders.Set("User-Agent", c.s.userAgent())
13397	var body io.Reader = nil
13398	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
13399	if err != nil {
13400		return nil, err
13401	}
13402	reqHeaders.Set("Content-Type", "application/json")
13403	c.urlParams_.Set("alt", alt)
13404	c.urlParams_.Set("prettyPrint", "false")
13405	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13406	urls += "?" + c.urlParams_.Encode()
13407	req, err := http.NewRequest("PATCH", urls, body)
13408	if err != nil {
13409		return nil, err
13410	}
13411	req.Header = reqHeaders
13412	googleapi.Expand(req.URL, map[string]string{
13413		"name": c.name,
13414	})
13415	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13416}
13417
13418// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch" call.
13419// Exactly one of *AttributeDefinition or error will be non-nil. Any
13420// non-2xx status code is an error. Response headers are in either
13421// *AttributeDefinition.ServerResponse.Header or (if a response was
13422// returned at all) in error.(*googleapi.Error).Header. Use
13423// googleapi.IsNotModified to check whether the returned error was
13424// because http.StatusNotModified was returned.
13425func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13426	gensupport.SetOptions(c.urlParams_, opts...)
13427	res, err := c.doRequest("json")
13428	if res != nil && res.StatusCode == http.StatusNotModified {
13429		if res.Body != nil {
13430			res.Body.Close()
13431		}
13432		return nil, &googleapi.Error{
13433			Code:   res.StatusCode,
13434			Header: res.Header,
13435		}
13436	}
13437	if err != nil {
13438		return nil, err
13439	}
13440	defer googleapi.CloseBody(res)
13441	if err := googleapi.CheckResponse(res); err != nil {
13442		return nil, err
13443	}
13444	ret := &AttributeDefinition{
13445		ServerResponse: googleapi.ServerResponse{
13446			Header:         res.Header,
13447			HTTPStatusCode: res.StatusCode,
13448		},
13449	}
13450	target := &ret
13451	if err := gensupport.DecodeResponse(target, res); err != nil {
13452		return nil, err
13453	}
13454	return ret, nil
13455	// {
13456	//   "description": "Updates the specified Attribute definition.",
13457	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13458	//   "httpMethod": "PATCH",
13459	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch",
13460	//   "parameterOrder": [
13461	//     "name"
13462	//   ],
13463	//   "parameters": {
13464	//     "name": {
13465	//       "description": "Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.",
13466	//       "location": "path",
13467	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13468	//       "required": true,
13469	//       "type": "string"
13470	//     },
13471	//     "updateMask": {
13472	//       "description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `description`, `allowed_values`, `consent_default_values` and `data_mapping_default_value` fields can be updated. The updated `allowed_values` must contain all values from the previous `allowed_values`.",
13473	//       "format": "google-fieldmask",
13474	//       "location": "query",
13475	//       "type": "string"
13476	//     }
13477	//   },
13478	//   "path": "v1beta1/{+name}",
13479	//   "request": {
13480	//     "$ref": "AttributeDefinition"
13481	//   },
13482	//   "response": {
13483	//     "$ref": "AttributeDefinition"
13484	//   },
13485	//   "scopes": [
13486	//     "https://www.googleapis.com/auth/cloud-platform"
13487	//   ]
13488	// }
13489
13490}
13491
13492// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create":
13493
13494type ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall struct {
13495	s               *Service
13496	parent          string
13497	consentartifact *ConsentArtifact
13498	urlParams_      gensupport.URLParams
13499	ctx_            context.Context
13500	header_         http.Header
13501}
13502
13503// Create: Creates a new Consent artifact in the parent consent store.
13504func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Create(parent string, consentartifact *ConsentArtifact) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13505	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13506	c.parent = parent
13507	c.consentartifact = consentartifact
13508	return c
13509}
13510
13511// Fields allows partial responses to be retrieved. See
13512// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13513// for more information.
13514func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13515	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13516	return c
13517}
13518
13519// Context sets the context to be used in this call's Do method. Any
13520// pending HTTP request will be aborted if the provided context is
13521// canceled.
13522func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13523	c.ctx_ = ctx
13524	return c
13525}
13526
13527// Header returns an http.Header that can be modified by the caller to
13528// add HTTP headers to the request.
13529func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Header() http.Header {
13530	if c.header_ == nil {
13531		c.header_ = make(http.Header)
13532	}
13533	return c.header_
13534}
13535
13536func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) doRequest(alt string) (*http.Response, error) {
13537	reqHeaders := make(http.Header)
13538	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13539	for k, v := range c.header_ {
13540		reqHeaders[k] = v
13541	}
13542	reqHeaders.Set("User-Agent", c.s.userAgent())
13543	var body io.Reader = nil
13544	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentartifact)
13545	if err != nil {
13546		return nil, err
13547	}
13548	reqHeaders.Set("Content-Type", "application/json")
13549	c.urlParams_.Set("alt", alt)
13550	c.urlParams_.Set("prettyPrint", "false")
13551	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
13552	urls += "?" + c.urlParams_.Encode()
13553	req, err := http.NewRequest("POST", urls, body)
13554	if err != nil {
13555		return nil, err
13556	}
13557	req.Header = reqHeaders
13558	googleapi.Expand(req.URL, map[string]string{
13559		"parent": c.parent,
13560	})
13561	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13562}
13563
13564// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create" call.
13565// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
13566// status code is an error. Response headers are in either
13567// *ConsentArtifact.ServerResponse.Header or (if a response was returned
13568// at all) in error.(*googleapi.Error).Header. Use
13569// googleapi.IsNotModified to check whether the returned error was
13570// because http.StatusNotModified was returned.
13571func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
13572	gensupport.SetOptions(c.urlParams_, opts...)
13573	res, err := c.doRequest("json")
13574	if res != nil && res.StatusCode == http.StatusNotModified {
13575		if res.Body != nil {
13576			res.Body.Close()
13577		}
13578		return nil, &googleapi.Error{
13579			Code:   res.StatusCode,
13580			Header: res.Header,
13581		}
13582	}
13583	if err != nil {
13584		return nil, err
13585	}
13586	defer googleapi.CloseBody(res)
13587	if err := googleapi.CheckResponse(res); err != nil {
13588		return nil, err
13589	}
13590	ret := &ConsentArtifact{
13591		ServerResponse: googleapi.ServerResponse{
13592			Header:         res.Header,
13593			HTTPStatusCode: res.StatusCode,
13594		},
13595	}
13596	target := &ret
13597	if err := gensupport.DecodeResponse(target, res); err != nil {
13598		return nil, err
13599	}
13600	return ret, nil
13601	// {
13602	//   "description": "Creates a new Consent artifact in the parent consent store.",
13603	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
13604	//   "httpMethod": "POST",
13605	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create",
13606	//   "parameterOrder": [
13607	//     "parent"
13608	//   ],
13609	//   "parameters": {
13610	//     "parent": {
13611	//       "description": "Required. The name of the consent store this Consent artifact belongs to.",
13612	//       "location": "path",
13613	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13614	//       "required": true,
13615	//       "type": "string"
13616	//     }
13617	//   },
13618	//   "path": "v1beta1/{+parent}/consentArtifacts",
13619	//   "request": {
13620	//     "$ref": "ConsentArtifact"
13621	//   },
13622	//   "response": {
13623	//     "$ref": "ConsentArtifact"
13624	//   },
13625	//   "scopes": [
13626	//     "https://www.googleapis.com/auth/cloud-platform"
13627	//   ]
13628	// }
13629
13630}
13631
13632// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete":
13633
13634type ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall struct {
13635	s          *Service
13636	name       string
13637	urlParams_ gensupport.URLParams
13638	ctx_       context.Context
13639	header_    http.Header
13640}
13641
13642// Delete: Deletes the specified Consent artifact. Fails if the artifact
13643// is referenced by the latest revision of any Consent.
13644func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13645	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13646	c.name = name
13647	return c
13648}
13649
13650// Fields allows partial responses to be retrieved. See
13651// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13652// for more information.
13653func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13654	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13655	return c
13656}
13657
13658// Context sets the context to be used in this call's Do method. Any
13659// pending HTTP request will be aborted if the provided context is
13660// canceled.
13661func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13662	c.ctx_ = ctx
13663	return c
13664}
13665
13666// Header returns an http.Header that can be modified by the caller to
13667// add HTTP headers to the request.
13668func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Header() http.Header {
13669	if c.header_ == nil {
13670		c.header_ = make(http.Header)
13671	}
13672	return c.header_
13673}
13674
13675func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) doRequest(alt string) (*http.Response, error) {
13676	reqHeaders := make(http.Header)
13677	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13678	for k, v := range c.header_ {
13679		reqHeaders[k] = v
13680	}
13681	reqHeaders.Set("User-Agent", c.s.userAgent())
13682	var body io.Reader = nil
13683	c.urlParams_.Set("alt", alt)
13684	c.urlParams_.Set("prettyPrint", "false")
13685	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13686	urls += "?" + c.urlParams_.Encode()
13687	req, err := http.NewRequest("DELETE", urls, body)
13688	if err != nil {
13689		return nil, err
13690	}
13691	req.Header = reqHeaders
13692	googleapi.Expand(req.URL, map[string]string{
13693		"name": c.name,
13694	})
13695	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13696}
13697
13698// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete" call.
13699// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13700// code is an error. Response headers are in either
13701// *Empty.ServerResponse.Header or (if a response was returned at all)
13702// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13703// check whether the returned error was because http.StatusNotModified
13704// was returned.
13705func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13706	gensupport.SetOptions(c.urlParams_, opts...)
13707	res, err := c.doRequest("json")
13708	if res != nil && res.StatusCode == http.StatusNotModified {
13709		if res.Body != nil {
13710			res.Body.Close()
13711		}
13712		return nil, &googleapi.Error{
13713			Code:   res.StatusCode,
13714			Header: res.Header,
13715		}
13716	}
13717	if err != nil {
13718		return nil, err
13719	}
13720	defer googleapi.CloseBody(res)
13721	if err := googleapi.CheckResponse(res); err != nil {
13722		return nil, err
13723	}
13724	ret := &Empty{
13725		ServerResponse: googleapi.ServerResponse{
13726			Header:         res.Header,
13727			HTTPStatusCode: res.StatusCode,
13728		},
13729	}
13730	target := &ret
13731	if err := gensupport.DecodeResponse(target, res); err != nil {
13732		return nil, err
13733	}
13734	return ret, nil
13735	// {
13736	//   "description": "Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.",
13737	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
13738	//   "httpMethod": "DELETE",
13739	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete",
13740	//   "parameterOrder": [
13741	//     "name"
13742	//   ],
13743	//   "parameters": {
13744	//     "name": {
13745	//       "description": "Required. The resource name of the Consent artifact to delete. To preserve referential integrity, Consent artifacts referenced by the latest revision of a Consent cannot be deleted.",
13746	//       "location": "path",
13747	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
13748	//       "required": true,
13749	//       "type": "string"
13750	//     }
13751	//   },
13752	//   "path": "v1beta1/{+name}",
13753	//   "response": {
13754	//     "$ref": "Empty"
13755	//   },
13756	//   "scopes": [
13757	//     "https://www.googleapis.com/auth/cloud-platform"
13758	//   ]
13759	// }
13760
13761}
13762
13763// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get":
13764
13765type ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall struct {
13766	s            *Service
13767	name         string
13768	urlParams_   gensupport.URLParams
13769	ifNoneMatch_ string
13770	ctx_         context.Context
13771	header_      http.Header
13772}
13773
13774// Get: Gets the specified Consent artifact.
13775func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13776	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13777	c.name = name
13778	return c
13779}
13780
13781// Fields allows partial responses to be retrieved. See
13782// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13783// for more information.
13784func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13785	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13786	return c
13787}
13788
13789// IfNoneMatch sets the optional parameter which makes the operation
13790// fail if the object's ETag matches the given value. This is useful for
13791// getting updates only after the object has changed since the last
13792// request. Use googleapi.IsNotModified to check whether the response
13793// error from Do is the result of In-None-Match.
13794func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13795	c.ifNoneMatch_ = entityTag
13796	return c
13797}
13798
13799// Context sets the context to be used in this call's Do method. Any
13800// pending HTTP request will be aborted if the provided context is
13801// canceled.
13802func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13803	c.ctx_ = ctx
13804	return c
13805}
13806
13807// Header returns an http.Header that can be modified by the caller to
13808// add HTTP headers to the request.
13809func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Header() http.Header {
13810	if c.header_ == nil {
13811		c.header_ = make(http.Header)
13812	}
13813	return c.header_
13814}
13815
13816func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) doRequest(alt string) (*http.Response, error) {
13817	reqHeaders := make(http.Header)
13818	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
13819	for k, v := range c.header_ {
13820		reqHeaders[k] = v
13821	}
13822	reqHeaders.Set("User-Agent", c.s.userAgent())
13823	if c.ifNoneMatch_ != "" {
13824		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13825	}
13826	var body io.Reader = nil
13827	c.urlParams_.Set("alt", alt)
13828	c.urlParams_.Set("prettyPrint", "false")
13829	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13830	urls += "?" + c.urlParams_.Encode()
13831	req, err := http.NewRequest("GET", urls, body)
13832	if err != nil {
13833		return nil, err
13834	}
13835	req.Header = reqHeaders
13836	googleapi.Expand(req.URL, map[string]string{
13837		"name": c.name,
13838	})
13839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13840}
13841
13842// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get" call.
13843// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
13844// status code is an error. Response headers are in either
13845// *ConsentArtifact.ServerResponse.Header or (if a response was returned
13846// at all) in error.(*googleapi.Error).Header. Use
13847// googleapi.IsNotModified to check whether the returned error was
13848// because http.StatusNotModified was returned.
13849func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
13850	gensupport.SetOptions(c.urlParams_, opts...)
13851	res, err := c.doRequest("json")
13852	if res != nil && res.StatusCode == http.StatusNotModified {
13853		if res.Body != nil {
13854			res.Body.Close()
13855		}
13856		return nil, &googleapi.Error{
13857			Code:   res.StatusCode,
13858			Header: res.Header,
13859		}
13860	}
13861	if err != nil {
13862		return nil, err
13863	}
13864	defer googleapi.CloseBody(res)
13865	if err := googleapi.CheckResponse(res); err != nil {
13866		return nil, err
13867	}
13868	ret := &ConsentArtifact{
13869		ServerResponse: googleapi.ServerResponse{
13870			Header:         res.Header,
13871			HTTPStatusCode: res.StatusCode,
13872		},
13873	}
13874	target := &ret
13875	if err := gensupport.DecodeResponse(target, res); err != nil {
13876		return nil, err
13877	}
13878	return ret, nil
13879	// {
13880	//   "description": "Gets the specified Consent artifact.",
13881	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
13882	//   "httpMethod": "GET",
13883	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get",
13884	//   "parameterOrder": [
13885	//     "name"
13886	//   ],
13887	//   "parameters": {
13888	//     "name": {
13889	//       "description": "Required. The resource name of the Consent artifact to retrieve.",
13890	//       "location": "path",
13891	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
13892	//       "required": true,
13893	//       "type": "string"
13894	//     }
13895	//   },
13896	//   "path": "v1beta1/{+name}",
13897	//   "response": {
13898	//     "$ref": "ConsentArtifact"
13899	//   },
13900	//   "scopes": [
13901	//     "https://www.googleapis.com/auth/cloud-platform"
13902	//   ]
13903	// }
13904
13905}
13906
13907// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list":
13908
13909type ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall struct {
13910	s            *Service
13911	parent       string
13912	urlParams_   gensupport.URLParams
13913	ifNoneMatch_ string
13914	ctx_         context.Context
13915	header_      http.Header
13916}
13917
13918// List: Lists the Consent artifacts in the specified consent store.
13919func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13920	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13921	c.parent = parent
13922	return c
13923}
13924
13925// Filter sets the optional parameter "filter": Restricts the artifacts
13926// returned to those matching a filter. The following syntax is
13927// available: * A string field value can be written as text inside
13928// quotation marks, for example "query text". The only valid
13929// relational operation for text fields is equality (`=`), where text is
13930// searched within the field, rather than having the field be equal to
13931// the text. For example, "Comment = great" returns messages with
13932// `great` in the comment field. * A number field value can be written
13933// as an integer, a decimal, or an exponential. The valid relational
13934// operators for number fields are the equality operator (`=`), along
13935// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
13936// Note that there is no inequality (`!=`) operator. You can prepend the
13937// `NOT` operator to an expression to negate it. * A date field value
13938// must be written in `yyyy-mm-dd` form. Fields with date and time use
13939// the RFC3339 time format. Leading zeros are required for one-digit
13940// months and days. The valid relational operators for date fields are
13941// the equality operator (`=`) , along with the less than/greater than
13942// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
13943// (`!=`) operator. You can prepend the `NOT` operator to an expression
13944// to negate it. * Multiple field query expressions can be combined in
13945// one query by adding `AND` or `OR` operators between the expressions.
13946// If a boolean operator appears within a quoted string, it is not
13947// treated as special, it's just another part of the character string to
13948// be matched. You can prepend the `NOT` operator to an expression to
13949// negate it. The fields available for filtering are: - user_id. For
13950// example, `filter=user_id=\"user123\". - consent_content_version -
13951// metadata. For example, `filter=Metadata(\"testkey\")=\"value\" or
13952// `filter=HasMetadata(\"testkey\")`.
13953func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13954	c.urlParams_.Set("filter", filter)
13955	return c
13956}
13957
13958// PageSize sets the optional parameter "pageSize": Limit on the number
13959// of consent artifacts to return in a single response. If not
13960// specified, 100 is used. May not be larger than 1000.
13961func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13962	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13963	return c
13964}
13965
13966// PageToken sets the optional parameter "pageToken": The
13967// next_page_token value returned from the previous List request, if
13968// any.
13969func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13970	c.urlParams_.Set("pageToken", pageToken)
13971	return c
13972}
13973
13974// Fields allows partial responses to be retrieved. See
13975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13976// for more information.
13977func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13979	return c
13980}
13981
13982// IfNoneMatch sets the optional parameter which makes the operation
13983// fail if the object's ETag matches the given value. This is useful for
13984// getting updates only after the object has changed since the last
13985// request. Use googleapi.IsNotModified to check whether the response
13986// error from Do is the result of In-None-Match.
13987func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13988	c.ifNoneMatch_ = entityTag
13989	return c
13990}
13991
13992// Context sets the context to be used in this call's Do method. Any
13993// pending HTTP request will be aborted if the provided context is
13994// canceled.
13995func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
13996	c.ctx_ = ctx
13997	return c
13998}
13999
14000// Header returns an http.Header that can be modified by the caller to
14001// add HTTP headers to the request.
14002func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Header() http.Header {
14003	if c.header_ == nil {
14004		c.header_ = make(http.Header)
14005	}
14006	return c.header_
14007}
14008
14009func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) doRequest(alt string) (*http.Response, error) {
14010	reqHeaders := make(http.Header)
14011	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14012	for k, v := range c.header_ {
14013		reqHeaders[k] = v
14014	}
14015	reqHeaders.Set("User-Agent", c.s.userAgent())
14016	if c.ifNoneMatch_ != "" {
14017		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14018	}
14019	var body io.Reader = nil
14020	c.urlParams_.Set("alt", alt)
14021	c.urlParams_.Set("prettyPrint", "false")
14022	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
14023	urls += "?" + c.urlParams_.Encode()
14024	req, err := http.NewRequest("GET", urls, body)
14025	if err != nil {
14026		return nil, err
14027	}
14028	req.Header = reqHeaders
14029	googleapi.Expand(req.URL, map[string]string{
14030		"parent": c.parent,
14031	})
14032	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14033}
14034
14035// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list" call.
14036// Exactly one of *ListConsentArtifactsResponse or error will be
14037// non-nil. Any non-2xx status code is an error. Response headers are in
14038// either *ListConsentArtifactsResponse.ServerResponse.Header or (if a
14039// response was returned at all) in error.(*googleapi.Error).Header. Use
14040// googleapi.IsNotModified to check whether the returned error was
14041// because http.StatusNotModified was returned.
14042func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Do(opts ...googleapi.CallOption) (*ListConsentArtifactsResponse, error) {
14043	gensupport.SetOptions(c.urlParams_, opts...)
14044	res, err := c.doRequest("json")
14045	if res != nil && res.StatusCode == http.StatusNotModified {
14046		if res.Body != nil {
14047			res.Body.Close()
14048		}
14049		return nil, &googleapi.Error{
14050			Code:   res.StatusCode,
14051			Header: res.Header,
14052		}
14053	}
14054	if err != nil {
14055		return nil, err
14056	}
14057	defer googleapi.CloseBody(res)
14058	if err := googleapi.CheckResponse(res); err != nil {
14059		return nil, err
14060	}
14061	ret := &ListConsentArtifactsResponse{
14062		ServerResponse: googleapi.ServerResponse{
14063			Header:         res.Header,
14064			HTTPStatusCode: res.StatusCode,
14065		},
14066	}
14067	target := &ret
14068	if err := gensupport.DecodeResponse(target, res); err != nil {
14069		return nil, err
14070	}
14071	return ret, nil
14072	// {
14073	//   "description": "Lists the Consent artifacts in the specified consent store.",
14074	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
14075	//   "httpMethod": "GET",
14076	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list",
14077	//   "parameterOrder": [
14078	//     "parent"
14079	//   ],
14080	//   "parameters": {
14081	//     "filter": {
14082	//       "description": "Optional. Restricts the artifacts returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - user_id. For example, `filter=user_id=\\\"user123\\\"`. - consent_content_version - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.",
14083	//       "location": "query",
14084	//       "type": "string"
14085	//     },
14086	//     "pageSize": {
14087	//       "description": "Optional. Limit on the number of consent artifacts to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
14088	//       "format": "int32",
14089	//       "location": "query",
14090	//       "type": "integer"
14091	//     },
14092	//     "pageToken": {
14093	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
14094	//       "location": "query",
14095	//       "type": "string"
14096	//     },
14097	//     "parent": {
14098	//       "description": "Required. Name of the consent store to retrieve consent artifacts from.",
14099	//       "location": "path",
14100	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14101	//       "required": true,
14102	//       "type": "string"
14103	//     }
14104	//   },
14105	//   "path": "v1beta1/{+parent}/consentArtifacts",
14106	//   "response": {
14107	//     "$ref": "ListConsentArtifactsResponse"
14108	//   },
14109	//   "scopes": [
14110	//     "https://www.googleapis.com/auth/cloud-platform"
14111	//   ]
14112	// }
14113
14114}
14115
14116// Pages invokes f for each page of results.
14117// A non-nil error returned from f will halt the iteration.
14118// The provided context supersedes any context provided to the Context method.
14119func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Pages(ctx context.Context, f func(*ListConsentArtifactsResponse) error) error {
14120	c.ctx_ = ctx
14121	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14122	for {
14123		x, err := c.Do()
14124		if err != nil {
14125			return err
14126		}
14127		if err := f(x); err != nil {
14128			return err
14129		}
14130		if x.NextPageToken == "" {
14131			return nil
14132		}
14133		c.PageToken(x.NextPageToken)
14134	}
14135}
14136
14137// method id "healthcare.projects.locations.datasets.consentStores.consents.activate":
14138
14139type ProjectsLocationsDatasetsConsentStoresConsentsActivateCall struct {
14140	s                      *Service
14141	name                   string
14142	activateconsentrequest *ActivateConsentRequest
14143	urlParams_             gensupport.URLParams
14144	ctx_                   context.Context
14145	header_                http.Header
14146}
14147
14148// Activate: Activates the latest revision of the specified Consent by
14149// committing a new revision with `state` updated to `ACTIVE`. If the
14150// latest revision of the specified Consent is in the `ACTIVE` state, no
14151// new revision is committed. A FAILED_PRECONDITION error occurs if the
14152// latest revision of the specified consent is in the `REJECTED` or
14153// `REVOKED` state.
14154func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Activate(name string, activateconsentrequest *ActivateConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14155	c := &ProjectsLocationsDatasetsConsentStoresConsentsActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14156	c.name = name
14157	c.activateconsentrequest = activateconsentrequest
14158	return c
14159}
14160
14161// Fields allows partial responses to be retrieved. See
14162// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14163// for more information.
14164func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14165	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14166	return c
14167}
14168
14169// Context sets the context to be used in this call's Do method. Any
14170// pending HTTP request will be aborted if the provided context is
14171// canceled.
14172func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14173	c.ctx_ = ctx
14174	return c
14175}
14176
14177// Header returns an http.Header that can be modified by the caller to
14178// add HTTP headers to the request.
14179func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Header() http.Header {
14180	if c.header_ == nil {
14181		c.header_ = make(http.Header)
14182	}
14183	return c.header_
14184}
14185
14186func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) doRequest(alt string) (*http.Response, error) {
14187	reqHeaders := make(http.Header)
14188	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14189	for k, v := range c.header_ {
14190		reqHeaders[k] = v
14191	}
14192	reqHeaders.Set("User-Agent", c.s.userAgent())
14193	var body io.Reader = nil
14194	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activateconsentrequest)
14195	if err != nil {
14196		return nil, err
14197	}
14198	reqHeaders.Set("Content-Type", "application/json")
14199	c.urlParams_.Set("alt", alt)
14200	c.urlParams_.Set("prettyPrint", "false")
14201	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:activate")
14202	urls += "?" + c.urlParams_.Encode()
14203	req, err := http.NewRequest("POST", urls, body)
14204	if err != nil {
14205		return nil, err
14206	}
14207	req.Header = reqHeaders
14208	googleapi.Expand(req.URL, map[string]string{
14209		"name": c.name,
14210	})
14211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14212}
14213
14214// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.activate" call.
14215// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14216// code is an error. Response headers are in either
14217// *Consent.ServerResponse.Header or (if a response was returned at all)
14218// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14219// check whether the returned error was because http.StatusNotModified
14220// was returned.
14221func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14222	gensupport.SetOptions(c.urlParams_, opts...)
14223	res, err := c.doRequest("json")
14224	if res != nil && res.StatusCode == http.StatusNotModified {
14225		if res.Body != nil {
14226			res.Body.Close()
14227		}
14228		return nil, &googleapi.Error{
14229			Code:   res.StatusCode,
14230			Header: res.Header,
14231		}
14232	}
14233	if err != nil {
14234		return nil, err
14235	}
14236	defer googleapi.CloseBody(res)
14237	if err := googleapi.CheckResponse(res); err != nil {
14238		return nil, err
14239	}
14240	ret := &Consent{
14241		ServerResponse: googleapi.ServerResponse{
14242			Header:         res.Header,
14243			HTTPStatusCode: res.StatusCode,
14244		},
14245	}
14246	target := &ret
14247	if err := gensupport.DecodeResponse(target, res); err != nil {
14248		return nil, err
14249	}
14250	return ret, nil
14251	// {
14252	//   "description": "Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the specified Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified consent is in the `REJECTED` or `REVOKED` state.",
14253	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate",
14254	//   "httpMethod": "POST",
14255	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.activate",
14256	//   "parameterOrder": [
14257	//     "name"
14258	//   ],
14259	//   "parameters": {
14260	//     "name": {
14261	//       "description": "Required. The resource name of the Consent to activate, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.",
14262	//       "location": "path",
14263	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14264	//       "required": true,
14265	//       "type": "string"
14266	//     }
14267	//   },
14268	//   "path": "v1beta1/{+name}:activate",
14269	//   "request": {
14270	//     "$ref": "ActivateConsentRequest"
14271	//   },
14272	//   "response": {
14273	//     "$ref": "Consent"
14274	//   },
14275	//   "scopes": [
14276	//     "https://www.googleapis.com/auth/cloud-platform"
14277	//   ]
14278	// }
14279
14280}
14281
14282// method id "healthcare.projects.locations.datasets.consentStores.consents.create":
14283
14284type ProjectsLocationsDatasetsConsentStoresConsentsCreateCall struct {
14285	s          *Service
14286	parent     string
14287	consent    *Consent
14288	urlParams_ gensupport.URLParams
14289	ctx_       context.Context
14290	header_    http.Header
14291}
14292
14293// Create: Creates a new Consent in the parent consent store.
14294func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Create(parent string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14295	c := &ProjectsLocationsDatasetsConsentStoresConsentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14296	c.parent = parent
14297	c.consent = consent
14298	return c
14299}
14300
14301// Fields allows partial responses to be retrieved. See
14302// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14303// for more information.
14304func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14305	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14306	return c
14307}
14308
14309// Context sets the context to be used in this call's Do method. Any
14310// pending HTTP request will be aborted if the provided context is
14311// canceled.
14312func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14313	c.ctx_ = ctx
14314	return c
14315}
14316
14317// Header returns an http.Header that can be modified by the caller to
14318// add HTTP headers to the request.
14319func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Header() http.Header {
14320	if c.header_ == nil {
14321		c.header_ = make(http.Header)
14322	}
14323	return c.header_
14324}
14325
14326func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) doRequest(alt string) (*http.Response, error) {
14327	reqHeaders := make(http.Header)
14328	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14329	for k, v := range c.header_ {
14330		reqHeaders[k] = v
14331	}
14332	reqHeaders.Set("User-Agent", c.s.userAgent())
14333	var body io.Reader = nil
14334	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
14335	if err != nil {
14336		return nil, err
14337	}
14338	reqHeaders.Set("Content-Type", "application/json")
14339	c.urlParams_.Set("alt", alt)
14340	c.urlParams_.Set("prettyPrint", "false")
14341	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
14342	urls += "?" + c.urlParams_.Encode()
14343	req, err := http.NewRequest("POST", urls, body)
14344	if err != nil {
14345		return nil, err
14346	}
14347	req.Header = reqHeaders
14348	googleapi.Expand(req.URL, map[string]string{
14349		"parent": c.parent,
14350	})
14351	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14352}
14353
14354// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.create" call.
14355// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14356// code is an error. Response headers are in either
14357// *Consent.ServerResponse.Header or (if a response was returned at all)
14358// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14359// check whether the returned error was because http.StatusNotModified
14360// was returned.
14361func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14362	gensupport.SetOptions(c.urlParams_, opts...)
14363	res, err := c.doRequest("json")
14364	if res != nil && res.StatusCode == http.StatusNotModified {
14365		if res.Body != nil {
14366			res.Body.Close()
14367		}
14368		return nil, &googleapi.Error{
14369			Code:   res.StatusCode,
14370			Header: res.Header,
14371		}
14372	}
14373	if err != nil {
14374		return nil, err
14375	}
14376	defer googleapi.CloseBody(res)
14377	if err := googleapi.CheckResponse(res); err != nil {
14378		return nil, err
14379	}
14380	ret := &Consent{
14381		ServerResponse: googleapi.ServerResponse{
14382			Header:         res.Header,
14383			HTTPStatusCode: res.StatusCode,
14384		},
14385	}
14386	target := &ret
14387	if err := gensupport.DecodeResponse(target, res); err != nil {
14388		return nil, err
14389	}
14390	return ret, nil
14391	// {
14392	//   "description": "Creates a new Consent in the parent consent store.",
14393	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
14394	//   "httpMethod": "POST",
14395	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.create",
14396	//   "parameterOrder": [
14397	//     "parent"
14398	//   ],
14399	//   "parameters": {
14400	//     "parent": {
14401	//       "description": "Required. Name of the consent store.",
14402	//       "location": "path",
14403	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14404	//       "required": true,
14405	//       "type": "string"
14406	//     }
14407	//   },
14408	//   "path": "v1beta1/{+parent}/consents",
14409	//   "request": {
14410	//     "$ref": "Consent"
14411	//   },
14412	//   "response": {
14413	//     "$ref": "Consent"
14414	//   },
14415	//   "scopes": [
14416	//     "https://www.googleapis.com/auth/cloud-platform"
14417	//   ]
14418	// }
14419
14420}
14421
14422// method id "healthcare.projects.locations.datasets.consentStores.consents.delete":
14423
14424type ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall struct {
14425	s          *Service
14426	name       string
14427	urlParams_ gensupport.URLParams
14428	ctx_       context.Context
14429	header_    http.Header
14430}
14431
14432// Delete: Deletes the Consent and its revisions. To keep a record of
14433// the Consent but mark it inactive, see [RevokeConsent]. To delete a
14434// revision of a Consent, see [DeleteConsentRevision]. This operation
14435// does not delete the related Consent artifact.
14436func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14437	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14438	c.name = name
14439	return c
14440}
14441
14442// Fields allows partial responses to be retrieved. See
14443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14444// for more information.
14445func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14446	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14447	return c
14448}
14449
14450// Context sets the context to be used in this call's Do method. Any
14451// pending HTTP request will be aborted if the provided context is
14452// canceled.
14453func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14454	c.ctx_ = ctx
14455	return c
14456}
14457
14458// Header returns an http.Header that can be modified by the caller to
14459// add HTTP headers to the request.
14460func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Header() http.Header {
14461	if c.header_ == nil {
14462		c.header_ = make(http.Header)
14463	}
14464	return c.header_
14465}
14466
14467func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) doRequest(alt string) (*http.Response, error) {
14468	reqHeaders := make(http.Header)
14469	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14470	for k, v := range c.header_ {
14471		reqHeaders[k] = v
14472	}
14473	reqHeaders.Set("User-Agent", c.s.userAgent())
14474	var body io.Reader = nil
14475	c.urlParams_.Set("alt", alt)
14476	c.urlParams_.Set("prettyPrint", "false")
14477	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14478	urls += "?" + c.urlParams_.Encode()
14479	req, err := http.NewRequest("DELETE", urls, body)
14480	if err != nil {
14481		return nil, err
14482	}
14483	req.Header = reqHeaders
14484	googleapi.Expand(req.URL, map[string]string{
14485		"name": c.name,
14486	})
14487	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14488}
14489
14490// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.delete" call.
14491// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14492// code is an error. Response headers are in either
14493// *Empty.ServerResponse.Header or (if a response was returned at all)
14494// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14495// check whether the returned error was because http.StatusNotModified
14496// was returned.
14497func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14498	gensupport.SetOptions(c.urlParams_, opts...)
14499	res, err := c.doRequest("json")
14500	if res != nil && res.StatusCode == http.StatusNotModified {
14501		if res.Body != nil {
14502			res.Body.Close()
14503		}
14504		return nil, &googleapi.Error{
14505			Code:   res.StatusCode,
14506			Header: res.Header,
14507		}
14508	}
14509	if err != nil {
14510		return nil, err
14511	}
14512	defer googleapi.CloseBody(res)
14513	if err := googleapi.CheckResponse(res); err != nil {
14514		return nil, err
14515	}
14516	ret := &Empty{
14517		ServerResponse: googleapi.ServerResponse{
14518			Header:         res.Header,
14519			HTTPStatusCode: res.StatusCode,
14520		},
14521	}
14522	target := &ret
14523	if err := gensupport.DecodeResponse(target, res); err != nil {
14524		return nil, err
14525	}
14526	return ret, nil
14527	// {
14528	//   "description": "Deletes the Consent and its revisions. To keep a record of the Consent but mark it inactive, see [RevokeConsent]. To delete a revision of a Consent, see [DeleteConsentRevision]. This operation does not delete the related Consent artifact.",
14529	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
14530	//   "httpMethod": "DELETE",
14531	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.delete",
14532	//   "parameterOrder": [
14533	//     "name"
14534	//   ],
14535	//   "parameters": {
14536	//     "name": {
14537	//       "description": "Required. The resource name of the Consent to delete, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.",
14538	//       "location": "path",
14539	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14540	//       "required": true,
14541	//       "type": "string"
14542	//     }
14543	//   },
14544	//   "path": "v1beta1/{+name}",
14545	//   "response": {
14546	//     "$ref": "Empty"
14547	//   },
14548	//   "scopes": [
14549	//     "https://www.googleapis.com/auth/cloud-platform"
14550	//   ]
14551	// }
14552
14553}
14554
14555// method id "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision":
14556
14557type ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall struct {
14558	s          *Service
14559	name       string
14560	urlParams_ gensupport.URLParams
14561	ctx_       context.Context
14562	header_    http.Header
14563}
14564
14565// DeleteRevision: Deletes the specified revision of a Consent. An
14566// INVALID_ARGUMENT error occurs if the specified revision is the latest
14567// revision.
14568func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) DeleteRevision(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14569	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14570	c.name = name
14571	return c
14572}
14573
14574// Fields allows partial responses to be retrieved. See
14575// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14576// for more information.
14577func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14578	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14579	return c
14580}
14581
14582// Context sets the context to be used in this call's Do method. Any
14583// pending HTTP request will be aborted if the provided context is
14584// canceled.
14585func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14586	c.ctx_ = ctx
14587	return c
14588}
14589
14590// Header returns an http.Header that can be modified by the caller to
14591// add HTTP headers to the request.
14592func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Header() http.Header {
14593	if c.header_ == nil {
14594		c.header_ = make(http.Header)
14595	}
14596	return c.header_
14597}
14598
14599func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) doRequest(alt string) (*http.Response, error) {
14600	reqHeaders := make(http.Header)
14601	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14602	for k, v := range c.header_ {
14603		reqHeaders[k] = v
14604	}
14605	reqHeaders.Set("User-Agent", c.s.userAgent())
14606	var body io.Reader = nil
14607	c.urlParams_.Set("alt", alt)
14608	c.urlParams_.Set("prettyPrint", "false")
14609	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:deleteRevision")
14610	urls += "?" + c.urlParams_.Encode()
14611	req, err := http.NewRequest("DELETE", urls, body)
14612	if err != nil {
14613		return nil, err
14614	}
14615	req.Header = reqHeaders
14616	googleapi.Expand(req.URL, map[string]string{
14617		"name": c.name,
14618	})
14619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14620}
14621
14622// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision" call.
14623// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14624// code is an error. Response headers are in either
14625// *Empty.ServerResponse.Header or (if a response was returned at all)
14626// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14627// check whether the returned error was because http.StatusNotModified
14628// was returned.
14629func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14630	gensupport.SetOptions(c.urlParams_, opts...)
14631	res, err := c.doRequest("json")
14632	if res != nil && res.StatusCode == http.StatusNotModified {
14633		if res.Body != nil {
14634			res.Body.Close()
14635		}
14636		return nil, &googleapi.Error{
14637			Code:   res.StatusCode,
14638			Header: res.Header,
14639		}
14640	}
14641	if err != nil {
14642		return nil, err
14643	}
14644	defer googleapi.CloseBody(res)
14645	if err := googleapi.CheckResponse(res); err != nil {
14646		return nil, err
14647	}
14648	ret := &Empty{
14649		ServerResponse: googleapi.ServerResponse{
14650			Header:         res.Header,
14651			HTTPStatusCode: res.StatusCode,
14652		},
14653	}
14654	target := &ret
14655	if err := gensupport.DecodeResponse(target, res); err != nil {
14656		return nil, err
14657	}
14658	return ret, nil
14659	// {
14660	//   "description": "Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.",
14661	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision",
14662	//   "httpMethod": "DELETE",
14663	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision",
14664	//   "parameterOrder": [
14665	//     "name"
14666	//   ],
14667	//   "parameters": {
14668	//     "name": {
14669	//       "description": "Required. The resource name of the Consent revision to delete, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}@{revision_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is not specified in the name.",
14670	//       "location": "path",
14671	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14672	//       "required": true,
14673	//       "type": "string"
14674	//     }
14675	//   },
14676	//   "path": "v1beta1/{+name}:deleteRevision",
14677	//   "response": {
14678	//     "$ref": "Empty"
14679	//   },
14680	//   "scopes": [
14681	//     "https://www.googleapis.com/auth/cloud-platform"
14682	//   ]
14683	// }
14684
14685}
14686
14687// method id "healthcare.projects.locations.datasets.consentStores.consents.get":
14688
14689type ProjectsLocationsDatasetsConsentStoresConsentsGetCall struct {
14690	s            *Service
14691	name         string
14692	urlParams_   gensupport.URLParams
14693	ifNoneMatch_ string
14694	ctx_         context.Context
14695	header_      http.Header
14696}
14697
14698// Get: Gets the specified revision of a Consent, or the latest revision
14699// if `revision_id` is not specified in the resource name.
14700func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14701	c := &ProjectsLocationsDatasetsConsentStoresConsentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14702	c.name = name
14703	return c
14704}
14705
14706// Fields allows partial responses to be retrieved. See
14707// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14708// for more information.
14709func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14710	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14711	return c
14712}
14713
14714// IfNoneMatch sets the optional parameter which makes the operation
14715// fail if the object's ETag matches the given value. This is useful for
14716// getting updates only after the object has changed since the last
14717// request. Use googleapi.IsNotModified to check whether the response
14718// error from Do is the result of In-None-Match.
14719func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14720	c.ifNoneMatch_ = entityTag
14721	return c
14722}
14723
14724// Context sets the context to be used in this call's Do method. Any
14725// pending HTTP request will be aborted if the provided context is
14726// canceled.
14727func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14728	c.ctx_ = ctx
14729	return c
14730}
14731
14732// Header returns an http.Header that can be modified by the caller to
14733// add HTTP headers to the request.
14734func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Header() http.Header {
14735	if c.header_ == nil {
14736		c.header_ = make(http.Header)
14737	}
14738	return c.header_
14739}
14740
14741func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) doRequest(alt string) (*http.Response, error) {
14742	reqHeaders := make(http.Header)
14743	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14744	for k, v := range c.header_ {
14745		reqHeaders[k] = v
14746	}
14747	reqHeaders.Set("User-Agent", c.s.userAgent())
14748	if c.ifNoneMatch_ != "" {
14749		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14750	}
14751	var body io.Reader = nil
14752	c.urlParams_.Set("alt", alt)
14753	c.urlParams_.Set("prettyPrint", "false")
14754	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14755	urls += "?" + c.urlParams_.Encode()
14756	req, err := http.NewRequest("GET", urls, body)
14757	if err != nil {
14758		return nil, err
14759	}
14760	req.Header = reqHeaders
14761	googleapi.Expand(req.URL, map[string]string{
14762		"name": c.name,
14763	})
14764	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14765}
14766
14767// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.get" call.
14768// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14769// code is an error. Response headers are in either
14770// *Consent.ServerResponse.Header or (if a response was returned at all)
14771// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14772// check whether the returned error was because http.StatusNotModified
14773// was returned.
14774func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14775	gensupport.SetOptions(c.urlParams_, opts...)
14776	res, err := c.doRequest("json")
14777	if res != nil && res.StatusCode == http.StatusNotModified {
14778		if res.Body != nil {
14779			res.Body.Close()
14780		}
14781		return nil, &googleapi.Error{
14782			Code:   res.StatusCode,
14783			Header: res.Header,
14784		}
14785	}
14786	if err != nil {
14787		return nil, err
14788	}
14789	defer googleapi.CloseBody(res)
14790	if err := googleapi.CheckResponse(res); err != nil {
14791		return nil, err
14792	}
14793	ret := &Consent{
14794		ServerResponse: googleapi.ServerResponse{
14795			Header:         res.Header,
14796			HTTPStatusCode: res.StatusCode,
14797		},
14798	}
14799	target := &ret
14800	if err := gensupport.DecodeResponse(target, res); err != nil {
14801		return nil, err
14802	}
14803	return ret, nil
14804	// {
14805	//   "description": "Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.",
14806	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
14807	//   "httpMethod": "GET",
14808	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.get",
14809	//   "parameterOrder": [
14810	//     "name"
14811	//   ],
14812	//   "parameters": {
14813	//     "name": {
14814	//       "description": "Required. The resource name of the Consent to retrieve, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. In order to retrieve a previous revision of the Consent, also provide the revision ID: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}@{revision_id}`",
14815	//       "location": "path",
14816	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14817	//       "required": true,
14818	//       "type": "string"
14819	//     }
14820	//   },
14821	//   "path": "v1beta1/{+name}",
14822	//   "response": {
14823	//     "$ref": "Consent"
14824	//   },
14825	//   "scopes": [
14826	//     "https://www.googleapis.com/auth/cloud-platform"
14827	//   ]
14828	// }
14829
14830}
14831
14832// method id "healthcare.projects.locations.datasets.consentStores.consents.list":
14833
14834type ProjectsLocationsDatasetsConsentStoresConsentsListCall struct {
14835	s            *Service
14836	parent       string
14837	urlParams_   gensupport.URLParams
14838	ifNoneMatch_ string
14839	ctx_         context.Context
14840	header_      http.Header
14841}
14842
14843// List: Lists the Consent in the given consent store, returning each
14844// Consent's latest revision.
14845func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14846	c := &ProjectsLocationsDatasetsConsentStoresConsentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14847	c.parent = parent
14848	return c
14849}
14850
14851// Filter sets the optional parameter "filter": Restricts the consents
14852// returned to those matching a filter. The following syntax is
14853// available: * A string field value can be written as text inside
14854// quotation marks, for example "query text". The only valid
14855// relational operation for text fields is equality (`=`), where text is
14856// searched within the field, rather than having the field be equal to
14857// the text. For example, "Comment = great" returns messages with
14858// `great` in the comment field. * A number field value can be written
14859// as an integer, a decimal, or an exponential. The valid relational
14860// operators for number fields are the equality operator (`=`), along
14861// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
14862// Note that there is no inequality (`!=`) operator. You can prepend the
14863// `NOT` operator to an expression to negate it. * A date field value
14864// must be written in `yyyy-mm-dd` form. Fields with date and time use
14865// the RFC3339 time format. Leading zeros are required for one-digit
14866// months and days. The valid relational operators for date fields are
14867// the equality operator (`=`) , along with the less than/greater than
14868// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
14869// (`!=`) operator. You can prepend the `NOT` operator to an expression
14870// to negate it. * Multiple field query expressions can be combined in
14871// one query by adding `AND` or `OR` operators between the expressions.
14872// If a boolean operator appears within a quoted string, it is not
14873// treated as special, it's just another part of the character string to
14874// be matched. You can prepend the `NOT` operator to an expression to
14875// negate it. The fields available for filtering are: - user_id. For
14876// example, `filter='user_id="user123"'`. - consent_artifact - state -
14877// revision_create_time - metadata. For example,
14878// `filter=Metadata(\"testkey\")=\"value\" or
14879// `filter=HasMetadata(\"testkey\")`.
14880func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14881	c.urlParams_.Set("filter", filter)
14882	return c
14883}
14884
14885// PageSize sets the optional parameter "pageSize": Limit on the number
14886// of Consents to return in a single response. If not specified, 100 is
14887// used. May not be larger than 1000.
14888func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14889	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14890	return c
14891}
14892
14893// PageToken sets the optional parameter "pageToken": The
14894// next_page_token value returned from the previous List request, if
14895// any.
14896func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14897	c.urlParams_.Set("pageToken", pageToken)
14898	return c
14899}
14900
14901// Fields allows partial responses to be retrieved. See
14902// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14903// for more information.
14904func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14905	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14906	return c
14907}
14908
14909// IfNoneMatch sets the optional parameter which makes the operation
14910// fail if the object's ETag matches the given value. This is useful for
14911// getting updates only after the object has changed since the last
14912// request. Use googleapi.IsNotModified to check whether the response
14913// error from Do is the result of In-None-Match.
14914func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14915	c.ifNoneMatch_ = entityTag
14916	return c
14917}
14918
14919// Context sets the context to be used in this call's Do method. Any
14920// pending HTTP request will be aborted if the provided context is
14921// canceled.
14922func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
14923	c.ctx_ = ctx
14924	return c
14925}
14926
14927// Header returns an http.Header that can be modified by the caller to
14928// add HTTP headers to the request.
14929func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Header() http.Header {
14930	if c.header_ == nil {
14931		c.header_ = make(http.Header)
14932	}
14933	return c.header_
14934}
14935
14936func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) doRequest(alt string) (*http.Response, error) {
14937	reqHeaders := make(http.Header)
14938	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
14939	for k, v := range c.header_ {
14940		reqHeaders[k] = v
14941	}
14942	reqHeaders.Set("User-Agent", c.s.userAgent())
14943	if c.ifNoneMatch_ != "" {
14944		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14945	}
14946	var body io.Reader = nil
14947	c.urlParams_.Set("alt", alt)
14948	c.urlParams_.Set("prettyPrint", "false")
14949	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
14950	urls += "?" + c.urlParams_.Encode()
14951	req, err := http.NewRequest("GET", urls, body)
14952	if err != nil {
14953		return nil, err
14954	}
14955	req.Header = reqHeaders
14956	googleapi.Expand(req.URL, map[string]string{
14957		"parent": c.parent,
14958	})
14959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14960}
14961
14962// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.list" call.
14963// Exactly one of *ListConsentsResponse or error will be non-nil. Any
14964// non-2xx status code is an error. Response headers are in either
14965// *ListConsentsResponse.ServerResponse.Header or (if a response was
14966// returned at all) in error.(*googleapi.Error).Header. Use
14967// googleapi.IsNotModified to check whether the returned error was
14968// because http.StatusNotModified was returned.
14969func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Do(opts ...googleapi.CallOption) (*ListConsentsResponse, error) {
14970	gensupport.SetOptions(c.urlParams_, opts...)
14971	res, err := c.doRequest("json")
14972	if res != nil && res.StatusCode == http.StatusNotModified {
14973		if res.Body != nil {
14974			res.Body.Close()
14975		}
14976		return nil, &googleapi.Error{
14977			Code:   res.StatusCode,
14978			Header: res.Header,
14979		}
14980	}
14981	if err != nil {
14982		return nil, err
14983	}
14984	defer googleapi.CloseBody(res)
14985	if err := googleapi.CheckResponse(res); err != nil {
14986		return nil, err
14987	}
14988	ret := &ListConsentsResponse{
14989		ServerResponse: googleapi.ServerResponse{
14990			Header:         res.Header,
14991			HTTPStatusCode: res.StatusCode,
14992		},
14993	}
14994	target := &ret
14995	if err := gensupport.DecodeResponse(target, res); err != nil {
14996		return nil, err
14997	}
14998	return ret, nil
14999	// {
15000	//   "description": "Lists the Consent in the given consent store, returning each Consent's latest revision.",
15001	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
15002	//   "httpMethod": "GET",
15003	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.list",
15004	//   "parameterOrder": [
15005	//     "parent"
15006	//   ],
15007	//   "parameters": {
15008	//     "filter": {
15009	//       "description": "Optional. Restricts the consents returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - user_id. For example, `filter='user_id=\"user123\"'`. - consent_artifact - state - revision_create_time - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.",
15010	//       "location": "query",
15011	//       "type": "string"
15012	//     },
15013	//     "pageSize": {
15014	//       "description": "Optional. Limit on the number of Consents to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
15015	//       "format": "int32",
15016	//       "location": "query",
15017	//       "type": "integer"
15018	//     },
15019	//     "pageToken": {
15020	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
15021	//       "location": "query",
15022	//       "type": "string"
15023	//     },
15024	//     "parent": {
15025	//       "description": "Required. Name of the consent store to retrieve Consents from.",
15026	//       "location": "path",
15027	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
15028	//       "required": true,
15029	//       "type": "string"
15030	//     }
15031	//   },
15032	//   "path": "v1beta1/{+parent}/consents",
15033	//   "response": {
15034	//     "$ref": "ListConsentsResponse"
15035	//   },
15036	//   "scopes": [
15037	//     "https://www.googleapis.com/auth/cloud-platform"
15038	//   ]
15039	// }
15040
15041}
15042
15043// Pages invokes f for each page of results.
15044// A non-nil error returned from f will halt the iteration.
15045// The provided context supersedes any context provided to the Context method.
15046func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Pages(ctx context.Context, f func(*ListConsentsResponse) error) error {
15047	c.ctx_ = ctx
15048	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15049	for {
15050		x, err := c.Do()
15051		if err != nil {
15052			return err
15053		}
15054		if err := f(x); err != nil {
15055			return err
15056		}
15057		if x.NextPageToken == "" {
15058			return nil
15059		}
15060		c.PageToken(x.NextPageToken)
15061	}
15062}
15063
15064// method id "healthcare.projects.locations.datasets.consentStores.consents.listRevisions":
15065
15066type ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall struct {
15067	s            *Service
15068	name         string
15069	urlParams_   gensupport.URLParams
15070	ifNoneMatch_ string
15071	ctx_         context.Context
15072	header_      http.Header
15073}
15074
15075// ListRevisions: Lists the revisions of the specified Consent in
15076// reverse chronological order.
15077func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) ListRevisions(name string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15078	c := &ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15079	c.name = name
15080	return c
15081}
15082
15083// Filter sets the optional parameter "filter": Restricts the revisions
15084// returned to those matching a filter. The following syntax is
15085// available: * A string field value can be written as text inside
15086// quotation marks, for example "query text". The only valid
15087// relational operation for text fields is equality (`=`), where text is
15088// searched within the field, rather than having the field be equal to
15089// the text. For example, "Comment = great" returns messages with
15090// `great` in the comment field. * A number field value can be written
15091// as an integer, a decimal, or an exponential. The valid relational
15092// operators for number fields are the equality operator (`=`), along
15093// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15094// Note that there is no inequality (`!=`) operator. You can prepend the
15095// `NOT` operator to an expression to negate it. * A date field value
15096// must be written in `yyyy-mm-dd` form. Fields with date and time use
15097// the RFC3339 time format. Leading zeros are required for one-digit
15098// months and days. The valid relational operators for date fields are
15099// the equality operator (`=`) , along with the less than/greater than
15100// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15101// (`!=`) operator. You can prepend the `NOT` operator to an expression
15102// to negate it. * Multiple field query expressions can be combined in
15103// one query by adding `AND` or `OR` operators between the expressions.
15104// If a boolean operator appears within a quoted string, it is not
15105// treated as special, it's just another part of the character string to
15106// be matched. You can prepend the `NOT` operator to an expression to
15107// negate it. Fields/functions available for filtering are: - user_id.
15108// For example, `filter='user_id="user123"'`. - consent_artifact - state
15109// - revision_create_time - metadata. For example,
15110// `filter=Metadata(\"testkey\")=\"value\" or
15111// `filter=HasMetadata(\"testkey\")`.
15112func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15113	c.urlParams_.Set("filter", filter)
15114	return c
15115}
15116
15117// PageSize sets the optional parameter "pageSize": Limit on the number
15118// of revisions to return in a single response. If not specified, 100 is
15119// used. May not be larger than 1000.
15120func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15121	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15122	return c
15123}
15124
15125// PageToken sets the optional parameter "pageToken": Token to retrieve
15126// the next page of results or empty if there are no more results in the
15127// list.
15128func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15129	c.urlParams_.Set("pageToken", pageToken)
15130	return c
15131}
15132
15133// Fields allows partial responses to be retrieved. See
15134// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15135// for more information.
15136func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15137	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15138	return c
15139}
15140
15141// IfNoneMatch sets the optional parameter which makes the operation
15142// fail if the object's ETag matches the given value. This is useful for
15143// getting updates only after the object has changed since the last
15144// request. Use googleapi.IsNotModified to check whether the response
15145// error from Do is the result of In-None-Match.
15146func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15147	c.ifNoneMatch_ = entityTag
15148	return c
15149}
15150
15151// Context sets the context to be used in this call's Do method. Any
15152// pending HTTP request will be aborted if the provided context is
15153// canceled.
15154func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15155	c.ctx_ = ctx
15156	return c
15157}
15158
15159// Header returns an http.Header that can be modified by the caller to
15160// add HTTP headers to the request.
15161func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Header() http.Header {
15162	if c.header_ == nil {
15163		c.header_ = make(http.Header)
15164	}
15165	return c.header_
15166}
15167
15168func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) doRequest(alt string) (*http.Response, error) {
15169	reqHeaders := make(http.Header)
15170	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15171	for k, v := range c.header_ {
15172		reqHeaders[k] = v
15173	}
15174	reqHeaders.Set("User-Agent", c.s.userAgent())
15175	if c.ifNoneMatch_ != "" {
15176		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15177	}
15178	var body io.Reader = nil
15179	c.urlParams_.Set("alt", alt)
15180	c.urlParams_.Set("prettyPrint", "false")
15181	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:listRevisions")
15182	urls += "?" + c.urlParams_.Encode()
15183	req, err := http.NewRequest("GET", urls, body)
15184	if err != nil {
15185		return nil, err
15186	}
15187	req.Header = reqHeaders
15188	googleapi.Expand(req.URL, map[string]string{
15189		"name": c.name,
15190	})
15191	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15192}
15193
15194// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.listRevisions" call.
15195// Exactly one of *ListConsentRevisionsResponse or error will be
15196// non-nil. Any non-2xx status code is an error. Response headers are in
15197// either *ListConsentRevisionsResponse.ServerResponse.Header or (if a
15198// response was returned at all) in error.(*googleapi.Error).Header. Use
15199// googleapi.IsNotModified to check whether the returned error was
15200// because http.StatusNotModified was returned.
15201func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Do(opts ...googleapi.CallOption) (*ListConsentRevisionsResponse, error) {
15202	gensupport.SetOptions(c.urlParams_, opts...)
15203	res, err := c.doRequest("json")
15204	if res != nil && res.StatusCode == http.StatusNotModified {
15205		if res.Body != nil {
15206			res.Body.Close()
15207		}
15208		return nil, &googleapi.Error{
15209			Code:   res.StatusCode,
15210			Header: res.Header,
15211		}
15212	}
15213	if err != nil {
15214		return nil, err
15215	}
15216	defer googleapi.CloseBody(res)
15217	if err := googleapi.CheckResponse(res); err != nil {
15218		return nil, err
15219	}
15220	ret := &ListConsentRevisionsResponse{
15221		ServerResponse: googleapi.ServerResponse{
15222			Header:         res.Header,
15223			HTTPStatusCode: res.StatusCode,
15224		},
15225	}
15226	target := &ret
15227	if err := gensupport.DecodeResponse(target, res); err != nil {
15228		return nil, err
15229	}
15230	return ret, nil
15231	// {
15232	//   "description": "Lists the revisions of the specified Consent in reverse chronological order.",
15233	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions",
15234	//   "httpMethod": "GET",
15235	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.listRevisions",
15236	//   "parameterOrder": [
15237	//     "name"
15238	//   ],
15239	//   "parameters": {
15240	//     "filter": {
15241	//       "description": "Optional. Restricts the revisions returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Fields/functions available for filtering are: - user_id. For example, `filter='user_id=\"user123\"'`. - consent_artifact - state - revision_create_time - metadata. For example, `filter=Metadata(\\\"testkey\\\")=\\\"value\\\"` or `filter=HasMetadata(\\\"testkey\\\")`.",
15242	//       "location": "query",
15243	//       "type": "string"
15244	//     },
15245	//     "name": {
15246	//       "description": "Required. The resource name of the Consent to retrieve revisions for.",
15247	//       "location": "path",
15248	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15249	//       "required": true,
15250	//       "type": "string"
15251	//     },
15252	//     "pageSize": {
15253	//       "description": "Optional. Limit on the number of revisions to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
15254	//       "format": "int32",
15255	//       "location": "query",
15256	//       "type": "integer"
15257	//     },
15258	//     "pageToken": {
15259	//       "description": "Optional. Token to retrieve the next page of results or empty if there are no more results in the list.",
15260	//       "location": "query",
15261	//       "type": "string"
15262	//     }
15263	//   },
15264	//   "path": "v1beta1/{+name}:listRevisions",
15265	//   "response": {
15266	//     "$ref": "ListConsentRevisionsResponse"
15267	//   },
15268	//   "scopes": [
15269	//     "https://www.googleapis.com/auth/cloud-platform"
15270	//   ]
15271	// }
15272
15273}
15274
15275// Pages invokes f for each page of results.
15276// A non-nil error returned from f will halt the iteration.
15277// The provided context supersedes any context provided to the Context method.
15278func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Pages(ctx context.Context, f func(*ListConsentRevisionsResponse) error) error {
15279	c.ctx_ = ctx
15280	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15281	for {
15282		x, err := c.Do()
15283		if err != nil {
15284			return err
15285		}
15286		if err := f(x); err != nil {
15287			return err
15288		}
15289		if x.NextPageToken == "" {
15290			return nil
15291		}
15292		c.PageToken(x.NextPageToken)
15293	}
15294}
15295
15296// method id "healthcare.projects.locations.datasets.consentStores.consents.patch":
15297
15298type ProjectsLocationsDatasetsConsentStoresConsentsPatchCall struct {
15299	s          *Service
15300	name       string
15301	consent    *Consent
15302	urlParams_ gensupport.URLParams
15303	ctx_       context.Context
15304	header_    http.Header
15305}
15306
15307// Patch: Updates the latest revision of the specified Consent by
15308// committing a new revision with the changes. A FAILED_PRECONDITION
15309// error occurs if the latest revision of the specified Consent is in
15310// the `REJECTED` or `REVOKED` state.
15311func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Patch(name string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15312	c := &ProjectsLocationsDatasetsConsentStoresConsentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15313	c.name = name
15314	c.consent = consent
15315	return c
15316}
15317
15318// UpdateMask sets the optional parameter "updateMask": Required. The
15319// update mask to apply to the resource. For the `FieldMask` definition,
15320// see
15321// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
15322// Only the `user_id`, `policies`, `consent_artifact`, and `metadata`
15323// fields can be updated.
15324func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15325	c.urlParams_.Set("updateMask", updateMask)
15326	return c
15327}
15328
15329// Fields allows partial responses to be retrieved. See
15330// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15331// for more information.
15332func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15333	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15334	return c
15335}
15336
15337// Context sets the context to be used in this call's Do method. Any
15338// pending HTTP request will be aborted if the provided context is
15339// canceled.
15340func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15341	c.ctx_ = ctx
15342	return c
15343}
15344
15345// Header returns an http.Header that can be modified by the caller to
15346// add HTTP headers to the request.
15347func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Header() http.Header {
15348	if c.header_ == nil {
15349		c.header_ = make(http.Header)
15350	}
15351	return c.header_
15352}
15353
15354func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) doRequest(alt string) (*http.Response, error) {
15355	reqHeaders := make(http.Header)
15356	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15357	for k, v := range c.header_ {
15358		reqHeaders[k] = v
15359	}
15360	reqHeaders.Set("User-Agent", c.s.userAgent())
15361	var body io.Reader = nil
15362	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
15363	if err != nil {
15364		return nil, err
15365	}
15366	reqHeaders.Set("Content-Type", "application/json")
15367	c.urlParams_.Set("alt", alt)
15368	c.urlParams_.Set("prettyPrint", "false")
15369	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
15370	urls += "?" + c.urlParams_.Encode()
15371	req, err := http.NewRequest("PATCH", urls, body)
15372	if err != nil {
15373		return nil, err
15374	}
15375	req.Header = reqHeaders
15376	googleapi.Expand(req.URL, map[string]string{
15377		"name": c.name,
15378	})
15379	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15380}
15381
15382// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.patch" call.
15383// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15384// code is an error. Response headers are in either
15385// *Consent.ServerResponse.Header or (if a response was returned at all)
15386// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15387// check whether the returned error was because http.StatusNotModified
15388// was returned.
15389func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15390	gensupport.SetOptions(c.urlParams_, opts...)
15391	res, err := c.doRequest("json")
15392	if res != nil && res.StatusCode == http.StatusNotModified {
15393		if res.Body != nil {
15394			res.Body.Close()
15395		}
15396		return nil, &googleapi.Error{
15397			Code:   res.StatusCode,
15398			Header: res.Header,
15399		}
15400	}
15401	if err != nil {
15402		return nil, err
15403	}
15404	defer googleapi.CloseBody(res)
15405	if err := googleapi.CheckResponse(res); err != nil {
15406		return nil, err
15407	}
15408	ret := &Consent{
15409		ServerResponse: googleapi.ServerResponse{
15410			Header:         res.Header,
15411			HTTPStatusCode: res.StatusCode,
15412		},
15413	}
15414	target := &ret
15415	if err := gensupport.DecodeResponse(target, res); err != nil {
15416		return nil, err
15417	}
15418	return ret, nil
15419	// {
15420	//   "description": "Updates the latest revision of the specified Consent by committing a new revision with the changes. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state.",
15421	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15422	//   "httpMethod": "PATCH",
15423	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.patch",
15424	//   "parameterOrder": [
15425	//     "name"
15426	//   ],
15427	//   "parameters": {
15428	//     "name": {
15429	//       "description": "Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation.",
15430	//       "location": "path",
15431	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15432	//       "required": true,
15433	//       "type": "string"
15434	//     },
15435	//     "updateMask": {
15436	//       "description": "Required. The update mask to apply to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `user_id`, `policies`, `consent_artifact`, and `metadata` fields can be updated.",
15437	//       "format": "google-fieldmask",
15438	//       "location": "query",
15439	//       "type": "string"
15440	//     }
15441	//   },
15442	//   "path": "v1beta1/{+name}",
15443	//   "request": {
15444	//     "$ref": "Consent"
15445	//   },
15446	//   "response": {
15447	//     "$ref": "Consent"
15448	//   },
15449	//   "scopes": [
15450	//     "https://www.googleapis.com/auth/cloud-platform"
15451	//   ]
15452	// }
15453
15454}
15455
15456// method id "healthcare.projects.locations.datasets.consentStores.consents.reject":
15457
15458type ProjectsLocationsDatasetsConsentStoresConsentsRejectCall struct {
15459	s                    *Service
15460	name                 string
15461	rejectconsentrequest *RejectConsentRequest
15462	urlParams_           gensupport.URLParams
15463	ctx_                 context.Context
15464	header_              http.Header
15465}
15466
15467// Reject: Rejects the latest revision of the specified Consent by
15468// committing a new revision with `state` updated to `REJECTED`. If the
15469// latest revision of the specified Consent is in the `REJECTED` state,
15470// no new revision is committed. A FAILED_PRECONDITION error occurs if
15471// the latest revision of the specified Consent is in the `ACTIVE` or
15472// `REVOKED` state.
15473func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Reject(name string, rejectconsentrequest *RejectConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15474	c := &ProjectsLocationsDatasetsConsentStoresConsentsRejectCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15475	c.name = name
15476	c.rejectconsentrequest = rejectconsentrequest
15477	return c
15478}
15479
15480// Fields allows partial responses to be retrieved. See
15481// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15482// for more information.
15483func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15484	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15485	return c
15486}
15487
15488// Context sets the context to be used in this call's Do method. Any
15489// pending HTTP request will be aborted if the provided context is
15490// canceled.
15491func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15492	c.ctx_ = ctx
15493	return c
15494}
15495
15496// Header returns an http.Header that can be modified by the caller to
15497// add HTTP headers to the request.
15498func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Header() http.Header {
15499	if c.header_ == nil {
15500		c.header_ = make(http.Header)
15501	}
15502	return c.header_
15503}
15504
15505func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) doRequest(alt string) (*http.Response, error) {
15506	reqHeaders := make(http.Header)
15507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15508	for k, v := range c.header_ {
15509		reqHeaders[k] = v
15510	}
15511	reqHeaders.Set("User-Agent", c.s.userAgent())
15512	var body io.Reader = nil
15513	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rejectconsentrequest)
15514	if err != nil {
15515		return nil, err
15516	}
15517	reqHeaders.Set("Content-Type", "application/json")
15518	c.urlParams_.Set("alt", alt)
15519	c.urlParams_.Set("prettyPrint", "false")
15520	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:reject")
15521	urls += "?" + c.urlParams_.Encode()
15522	req, err := http.NewRequest("POST", urls, body)
15523	if err != nil {
15524		return nil, err
15525	}
15526	req.Header = reqHeaders
15527	googleapi.Expand(req.URL, map[string]string{
15528		"name": c.name,
15529	})
15530	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15531}
15532
15533// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.reject" call.
15534// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15535// code is an error. Response headers are in either
15536// *Consent.ServerResponse.Header or (if a response was returned at all)
15537// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15538// check whether the returned error was because http.StatusNotModified
15539// was returned.
15540func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15541	gensupport.SetOptions(c.urlParams_, opts...)
15542	res, err := c.doRequest("json")
15543	if res != nil && res.StatusCode == http.StatusNotModified {
15544		if res.Body != nil {
15545			res.Body.Close()
15546		}
15547		return nil, &googleapi.Error{
15548			Code:   res.StatusCode,
15549			Header: res.Header,
15550		}
15551	}
15552	if err != nil {
15553		return nil, err
15554	}
15555	defer googleapi.CloseBody(res)
15556	if err := googleapi.CheckResponse(res); err != nil {
15557		return nil, err
15558	}
15559	ret := &Consent{
15560		ServerResponse: googleapi.ServerResponse{
15561			Header:         res.Header,
15562			HTTPStatusCode: res.StatusCode,
15563		},
15564	}
15565	target := &ret
15566	if err := gensupport.DecodeResponse(target, res); err != nil {
15567		return nil, err
15568	}
15569	return ret, nil
15570	// {
15571	//   "description": "Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the specified Consent is in the `REJECTED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `ACTIVE` or `REVOKED` state.",
15572	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject",
15573	//   "httpMethod": "POST",
15574	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.reject",
15575	//   "parameterOrder": [
15576	//     "name"
15577	//   ],
15578	//   "parameters": {
15579	//     "name": {
15580	//       "description": "Required. The resource name of the Consent to reject, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.",
15581	//       "location": "path",
15582	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15583	//       "required": true,
15584	//       "type": "string"
15585	//     }
15586	//   },
15587	//   "path": "v1beta1/{+name}:reject",
15588	//   "request": {
15589	//     "$ref": "RejectConsentRequest"
15590	//   },
15591	//   "response": {
15592	//     "$ref": "Consent"
15593	//   },
15594	//   "scopes": [
15595	//     "https://www.googleapis.com/auth/cloud-platform"
15596	//   ]
15597	// }
15598
15599}
15600
15601// method id "healthcare.projects.locations.datasets.consentStores.consents.revoke":
15602
15603type ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall struct {
15604	s                    *Service
15605	name                 string
15606	revokeconsentrequest *RevokeConsentRequest
15607	urlParams_           gensupport.URLParams
15608	ctx_                 context.Context
15609	header_              http.Header
15610}
15611
15612// Revoke: Revokes the latest revision of the specified Consent by
15613// committing a new revision with `state` updated to `REVOKED`. If the
15614// latest revision of the specified Consent is in the `REVOKED` state,
15615// no new revision is committed. A FAILED_PRECONDITION error occurs if
15616// the latest revision of the given consent is in `DRAFT` or `REJECTED`
15617// state.
15618func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Revoke(name string, revokeconsentrequest *RevokeConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15619	c := &ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15620	c.name = name
15621	c.revokeconsentrequest = revokeconsentrequest
15622	return c
15623}
15624
15625// Fields allows partial responses to be retrieved. See
15626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15627// for more information.
15628func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15630	return c
15631}
15632
15633// Context sets the context to be used in this call's Do method. Any
15634// pending HTTP request will be aborted if the provided context is
15635// canceled.
15636func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15637	c.ctx_ = ctx
15638	return c
15639}
15640
15641// Header returns an http.Header that can be modified by the caller to
15642// add HTTP headers to the request.
15643func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Header() http.Header {
15644	if c.header_ == nil {
15645		c.header_ = make(http.Header)
15646	}
15647	return c.header_
15648}
15649
15650func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) doRequest(alt string) (*http.Response, error) {
15651	reqHeaders := make(http.Header)
15652	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15653	for k, v := range c.header_ {
15654		reqHeaders[k] = v
15655	}
15656	reqHeaders.Set("User-Agent", c.s.userAgent())
15657	var body io.Reader = nil
15658	body, err := googleapi.WithoutDataWrapper.JSONReader(c.revokeconsentrequest)
15659	if err != nil {
15660		return nil, err
15661	}
15662	reqHeaders.Set("Content-Type", "application/json")
15663	c.urlParams_.Set("alt", alt)
15664	c.urlParams_.Set("prettyPrint", "false")
15665	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:revoke")
15666	urls += "?" + c.urlParams_.Encode()
15667	req, err := http.NewRequest("POST", urls, body)
15668	if err != nil {
15669		return nil, err
15670	}
15671	req.Header = reqHeaders
15672	googleapi.Expand(req.URL, map[string]string{
15673		"name": c.name,
15674	})
15675	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15676}
15677
15678// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.revoke" call.
15679// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15680// code is an error. Response headers are in either
15681// *Consent.ServerResponse.Header or (if a response was returned at all)
15682// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15683// check whether the returned error was because http.StatusNotModified
15684// was returned.
15685func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15686	gensupport.SetOptions(c.urlParams_, opts...)
15687	res, err := c.doRequest("json")
15688	if res != nil && res.StatusCode == http.StatusNotModified {
15689		if res.Body != nil {
15690			res.Body.Close()
15691		}
15692		return nil, &googleapi.Error{
15693			Code:   res.StatusCode,
15694			Header: res.Header,
15695		}
15696	}
15697	if err != nil {
15698		return nil, err
15699	}
15700	defer googleapi.CloseBody(res)
15701	if err := googleapi.CheckResponse(res); err != nil {
15702		return nil, err
15703	}
15704	ret := &Consent{
15705		ServerResponse: googleapi.ServerResponse{
15706			Header:         res.Header,
15707			HTTPStatusCode: res.StatusCode,
15708		},
15709	}
15710	target := &ret
15711	if err := gensupport.DecodeResponse(target, res); err != nil {
15712		return nil, err
15713	}
15714	return ret, nil
15715	// {
15716	//   "description": "Revokes the latest revision of the specified Consent by committing a new revision with `state` updated to `REVOKED`. If the latest revision of the specified Consent is in the `REVOKED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in `DRAFT` or `REJECTED` state.",
15717	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke",
15718	//   "httpMethod": "POST",
15719	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.revoke",
15720	//   "parameterOrder": [
15721	//     "name"
15722	//   ],
15723	//   "parameters": {
15724	//     "name": {
15725	//       "description": "Required. The resource name of the Consent to revoke, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. An INVALID_ARGUMENT error occurs if `revision_id` is specified in the name.",
15726	//       "location": "path",
15727	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15728	//       "required": true,
15729	//       "type": "string"
15730	//     }
15731	//   },
15732	//   "path": "v1beta1/{+name}:revoke",
15733	//   "request": {
15734	//     "$ref": "RevokeConsentRequest"
15735	//   },
15736	//   "response": {
15737	//     "$ref": "Consent"
15738	//   },
15739	//   "scopes": [
15740	//     "https://www.googleapis.com/auth/cloud-platform"
15741	//   ]
15742	// }
15743
15744}
15745
15746// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive":
15747
15748type ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall struct {
15749	s                             *Service
15750	name                          string
15751	archiveuserdatamappingrequest *ArchiveUserDataMappingRequest
15752	urlParams_                    gensupport.URLParams
15753	ctx_                          context.Context
15754	header_                       http.Header
15755}
15756
15757// Archive: Archives the specified User data mapping.
15758func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Archive(name string, archiveuserdatamappingrequest *ArchiveUserDataMappingRequest) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15759	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15760	c.name = name
15761	c.archiveuserdatamappingrequest = archiveuserdatamappingrequest
15762	return c
15763}
15764
15765// Fields allows partial responses to be retrieved. See
15766// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15767// for more information.
15768func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15769	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15770	return c
15771}
15772
15773// Context sets the context to be used in this call's Do method. Any
15774// pending HTTP request will be aborted if the provided context is
15775// canceled.
15776func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15777	c.ctx_ = ctx
15778	return c
15779}
15780
15781// Header returns an http.Header that can be modified by the caller to
15782// add HTTP headers to the request.
15783func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Header() http.Header {
15784	if c.header_ == nil {
15785		c.header_ = make(http.Header)
15786	}
15787	return c.header_
15788}
15789
15790func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) doRequest(alt string) (*http.Response, error) {
15791	reqHeaders := make(http.Header)
15792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15793	for k, v := range c.header_ {
15794		reqHeaders[k] = v
15795	}
15796	reqHeaders.Set("User-Agent", c.s.userAgent())
15797	var body io.Reader = nil
15798	body, err := googleapi.WithoutDataWrapper.JSONReader(c.archiveuserdatamappingrequest)
15799	if err != nil {
15800		return nil, err
15801	}
15802	reqHeaders.Set("Content-Type", "application/json")
15803	c.urlParams_.Set("alt", alt)
15804	c.urlParams_.Set("prettyPrint", "false")
15805	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:archive")
15806	urls += "?" + c.urlParams_.Encode()
15807	req, err := http.NewRequest("POST", urls, body)
15808	if err != nil {
15809		return nil, err
15810	}
15811	req.Header = reqHeaders
15812	googleapi.Expand(req.URL, map[string]string{
15813		"name": c.name,
15814	})
15815	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15816}
15817
15818// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive" call.
15819// Exactly one of *ArchiveUserDataMappingResponse or error will be
15820// non-nil. Any non-2xx status code is an error. Response headers are in
15821// either *ArchiveUserDataMappingResponse.ServerResponse.Header or (if a
15822// response was returned at all) in error.(*googleapi.Error).Header. Use
15823// googleapi.IsNotModified to check whether the returned error was
15824// because http.StatusNotModified was returned.
15825func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Do(opts ...googleapi.CallOption) (*ArchiveUserDataMappingResponse, error) {
15826	gensupport.SetOptions(c.urlParams_, opts...)
15827	res, err := c.doRequest("json")
15828	if res != nil && res.StatusCode == http.StatusNotModified {
15829		if res.Body != nil {
15830			res.Body.Close()
15831		}
15832		return nil, &googleapi.Error{
15833			Code:   res.StatusCode,
15834			Header: res.Header,
15835		}
15836	}
15837	if err != nil {
15838		return nil, err
15839	}
15840	defer googleapi.CloseBody(res)
15841	if err := googleapi.CheckResponse(res); err != nil {
15842		return nil, err
15843	}
15844	ret := &ArchiveUserDataMappingResponse{
15845		ServerResponse: googleapi.ServerResponse{
15846			Header:         res.Header,
15847			HTTPStatusCode: res.StatusCode,
15848		},
15849	}
15850	target := &ret
15851	if err := gensupport.DecodeResponse(target, res); err != nil {
15852		return nil, err
15853	}
15854	return ret, nil
15855	// {
15856	//   "description": "Archives the specified User data mapping.",
15857	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive",
15858	//   "httpMethod": "POST",
15859	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive",
15860	//   "parameterOrder": [
15861	//     "name"
15862	//   ],
15863	//   "parameters": {
15864	//     "name": {
15865	//       "description": "Required. The resource name of the User data mapping to archive.",
15866	//       "location": "path",
15867	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
15868	//       "required": true,
15869	//       "type": "string"
15870	//     }
15871	//   },
15872	//   "path": "v1beta1/{+name}:archive",
15873	//   "request": {
15874	//     "$ref": "ArchiveUserDataMappingRequest"
15875	//   },
15876	//   "response": {
15877	//     "$ref": "ArchiveUserDataMappingResponse"
15878	//   },
15879	//   "scopes": [
15880	//     "https://www.googleapis.com/auth/cloud-platform"
15881	//   ]
15882	// }
15883
15884}
15885
15886// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.create":
15887
15888type ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall struct {
15889	s               *Service
15890	parent          string
15891	userdatamapping *UserDataMapping
15892	urlParams_      gensupport.URLParams
15893	ctx_            context.Context
15894	header_         http.Header
15895}
15896
15897// Create: Creates a new User data mapping in the parent consent store.
15898func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Create(parent string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
15899	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15900	c.parent = parent
15901	c.userdatamapping = userdatamapping
15902	return c
15903}
15904
15905// Fields allows partial responses to be retrieved. See
15906// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15907// for more information.
15908func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
15909	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15910	return c
15911}
15912
15913// Context sets the context to be used in this call's Do method. Any
15914// pending HTTP request will be aborted if the provided context is
15915// canceled.
15916func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
15917	c.ctx_ = ctx
15918	return c
15919}
15920
15921// Header returns an http.Header that can be modified by the caller to
15922// add HTTP headers to the request.
15923func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Header() http.Header {
15924	if c.header_ == nil {
15925		c.header_ = make(http.Header)
15926	}
15927	return c.header_
15928}
15929
15930func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
15931	reqHeaders := make(http.Header)
15932	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
15933	for k, v := range c.header_ {
15934		reqHeaders[k] = v
15935	}
15936	reqHeaders.Set("User-Agent", c.s.userAgent())
15937	var body io.Reader = nil
15938	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
15939	if err != nil {
15940		return nil, err
15941	}
15942	reqHeaders.Set("Content-Type", "application/json")
15943	c.urlParams_.Set("alt", alt)
15944	c.urlParams_.Set("prettyPrint", "false")
15945	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
15946	urls += "?" + c.urlParams_.Encode()
15947	req, err := http.NewRequest("POST", urls, body)
15948	if err != nil {
15949		return nil, err
15950	}
15951	req.Header = reqHeaders
15952	googleapi.Expand(req.URL, map[string]string{
15953		"parent": c.parent,
15954	})
15955	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15956}
15957
15958// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.create" call.
15959// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
15960// status code is an error. Response headers are in either
15961// *UserDataMapping.ServerResponse.Header or (if a response was returned
15962// at all) in error.(*googleapi.Error).Header. Use
15963// googleapi.IsNotModified to check whether the returned error was
15964// because http.StatusNotModified was returned.
15965func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
15966	gensupport.SetOptions(c.urlParams_, opts...)
15967	res, err := c.doRequest("json")
15968	if res != nil && res.StatusCode == http.StatusNotModified {
15969		if res.Body != nil {
15970			res.Body.Close()
15971		}
15972		return nil, &googleapi.Error{
15973			Code:   res.StatusCode,
15974			Header: res.Header,
15975		}
15976	}
15977	if err != nil {
15978		return nil, err
15979	}
15980	defer googleapi.CloseBody(res)
15981	if err := googleapi.CheckResponse(res); err != nil {
15982		return nil, err
15983	}
15984	ret := &UserDataMapping{
15985		ServerResponse: googleapi.ServerResponse{
15986			Header:         res.Header,
15987			HTTPStatusCode: res.StatusCode,
15988		},
15989	}
15990	target := &ret
15991	if err := gensupport.DecodeResponse(target, res); err != nil {
15992		return nil, err
15993	}
15994	return ret, nil
15995	// {
15996	//   "description": "Creates a new User data mapping in the parent consent store.",
15997	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
15998	//   "httpMethod": "POST",
15999	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.create",
16000	//   "parameterOrder": [
16001	//     "parent"
16002	//   ],
16003	//   "parameters": {
16004	//     "parent": {
16005	//       "description": "Required. Name of the consent store.",
16006	//       "location": "path",
16007	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16008	//       "required": true,
16009	//       "type": "string"
16010	//     }
16011	//   },
16012	//   "path": "v1beta1/{+parent}/userDataMappings",
16013	//   "request": {
16014	//     "$ref": "UserDataMapping"
16015	//   },
16016	//   "response": {
16017	//     "$ref": "UserDataMapping"
16018	//   },
16019	//   "scopes": [
16020	//     "https://www.googleapis.com/auth/cloud-platform"
16021	//   ]
16022	// }
16023
16024}
16025
16026// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete":
16027
16028type ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall struct {
16029	s          *Service
16030	name       string
16031	urlParams_ gensupport.URLParams
16032	ctx_       context.Context
16033	header_    http.Header
16034}
16035
16036// Delete: Deletes the specified User data mapping.
16037func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16038	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16039	c.name = name
16040	return c
16041}
16042
16043// Fields allows partial responses to be retrieved. See
16044// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16045// for more information.
16046func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16047	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16048	return c
16049}
16050
16051// Context sets the context to be used in this call's Do method. Any
16052// pending HTTP request will be aborted if the provided context is
16053// canceled.
16054func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16055	c.ctx_ = ctx
16056	return c
16057}
16058
16059// Header returns an http.Header that can be modified by the caller to
16060// add HTTP headers to the request.
16061func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Header() http.Header {
16062	if c.header_ == nil {
16063		c.header_ = make(http.Header)
16064	}
16065	return c.header_
16066}
16067
16068func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
16069	reqHeaders := make(http.Header)
16070	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16071	for k, v := range c.header_ {
16072		reqHeaders[k] = v
16073	}
16074	reqHeaders.Set("User-Agent", c.s.userAgent())
16075	var body io.Reader = nil
16076	c.urlParams_.Set("alt", alt)
16077	c.urlParams_.Set("prettyPrint", "false")
16078	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16079	urls += "?" + c.urlParams_.Encode()
16080	req, err := http.NewRequest("DELETE", urls, body)
16081	if err != nil {
16082		return nil, err
16083	}
16084	req.Header = reqHeaders
16085	googleapi.Expand(req.URL, map[string]string{
16086		"name": c.name,
16087	})
16088	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16089}
16090
16091// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete" call.
16092// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16093// code is an error. Response headers are in either
16094// *Empty.ServerResponse.Header or (if a response was returned at all)
16095// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16096// check whether the returned error was because http.StatusNotModified
16097// was returned.
16098func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16099	gensupport.SetOptions(c.urlParams_, opts...)
16100	res, err := c.doRequest("json")
16101	if res != nil && res.StatusCode == http.StatusNotModified {
16102		if res.Body != nil {
16103			res.Body.Close()
16104		}
16105		return nil, &googleapi.Error{
16106			Code:   res.StatusCode,
16107			Header: res.Header,
16108		}
16109	}
16110	if err != nil {
16111		return nil, err
16112	}
16113	defer googleapi.CloseBody(res)
16114	if err := googleapi.CheckResponse(res); err != nil {
16115		return nil, err
16116	}
16117	ret := &Empty{
16118		ServerResponse: googleapi.ServerResponse{
16119			Header:         res.Header,
16120			HTTPStatusCode: res.StatusCode,
16121		},
16122	}
16123	target := &ret
16124	if err := gensupport.DecodeResponse(target, res); err != nil {
16125		return nil, err
16126	}
16127	return ret, nil
16128	// {
16129	//   "description": "Deletes the specified User data mapping.",
16130	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16131	//   "httpMethod": "DELETE",
16132	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete",
16133	//   "parameterOrder": [
16134	//     "name"
16135	//   ],
16136	//   "parameters": {
16137	//     "name": {
16138	//       "description": "Required. The resource name of the User data mapping to delete.",
16139	//       "location": "path",
16140	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16141	//       "required": true,
16142	//       "type": "string"
16143	//     }
16144	//   },
16145	//   "path": "v1beta1/{+name}",
16146	//   "response": {
16147	//     "$ref": "Empty"
16148	//   },
16149	//   "scopes": [
16150	//     "https://www.googleapis.com/auth/cloud-platform"
16151	//   ]
16152	// }
16153
16154}
16155
16156// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.get":
16157
16158type ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall struct {
16159	s            *Service
16160	name         string
16161	urlParams_   gensupport.URLParams
16162	ifNoneMatch_ string
16163	ctx_         context.Context
16164	header_      http.Header
16165}
16166
16167// Get: Gets the specified User data mapping.
16168func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16169	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16170	c.name = name
16171	return c
16172}
16173
16174// Fields allows partial responses to be retrieved. See
16175// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16176// for more information.
16177func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16178	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16179	return c
16180}
16181
16182// IfNoneMatch sets the optional parameter which makes the operation
16183// fail if the object's ETag matches the given value. This is useful for
16184// getting updates only after the object has changed since the last
16185// request. Use googleapi.IsNotModified to check whether the response
16186// error from Do is the result of In-None-Match.
16187func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16188	c.ifNoneMatch_ = entityTag
16189	return c
16190}
16191
16192// Context sets the context to be used in this call's Do method. Any
16193// pending HTTP request will be aborted if the provided context is
16194// canceled.
16195func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16196	c.ctx_ = ctx
16197	return c
16198}
16199
16200// Header returns an http.Header that can be modified by the caller to
16201// add HTTP headers to the request.
16202func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Header() http.Header {
16203	if c.header_ == nil {
16204		c.header_ = make(http.Header)
16205	}
16206	return c.header_
16207}
16208
16209func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) doRequest(alt string) (*http.Response, error) {
16210	reqHeaders := make(http.Header)
16211	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16212	for k, v := range c.header_ {
16213		reqHeaders[k] = v
16214	}
16215	reqHeaders.Set("User-Agent", c.s.userAgent())
16216	if c.ifNoneMatch_ != "" {
16217		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16218	}
16219	var body io.Reader = nil
16220	c.urlParams_.Set("alt", alt)
16221	c.urlParams_.Set("prettyPrint", "false")
16222	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16223	urls += "?" + c.urlParams_.Encode()
16224	req, err := http.NewRequest("GET", urls, body)
16225	if err != nil {
16226		return nil, err
16227	}
16228	req.Header = reqHeaders
16229	googleapi.Expand(req.URL, map[string]string{
16230		"name": c.name,
16231	})
16232	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16233}
16234
16235// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.get" call.
16236// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16237// status code is an error. Response headers are in either
16238// *UserDataMapping.ServerResponse.Header or (if a response was returned
16239// at all) in error.(*googleapi.Error).Header. Use
16240// googleapi.IsNotModified to check whether the returned error was
16241// because http.StatusNotModified was returned.
16242func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16243	gensupport.SetOptions(c.urlParams_, opts...)
16244	res, err := c.doRequest("json")
16245	if res != nil && res.StatusCode == http.StatusNotModified {
16246		if res.Body != nil {
16247			res.Body.Close()
16248		}
16249		return nil, &googleapi.Error{
16250			Code:   res.StatusCode,
16251			Header: res.Header,
16252		}
16253	}
16254	if err != nil {
16255		return nil, err
16256	}
16257	defer googleapi.CloseBody(res)
16258	if err := googleapi.CheckResponse(res); err != nil {
16259		return nil, err
16260	}
16261	ret := &UserDataMapping{
16262		ServerResponse: googleapi.ServerResponse{
16263			Header:         res.Header,
16264			HTTPStatusCode: res.StatusCode,
16265		},
16266	}
16267	target := &ret
16268	if err := gensupport.DecodeResponse(target, res); err != nil {
16269		return nil, err
16270	}
16271	return ret, nil
16272	// {
16273	//   "description": "Gets the specified User data mapping.",
16274	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16275	//   "httpMethod": "GET",
16276	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.get",
16277	//   "parameterOrder": [
16278	//     "name"
16279	//   ],
16280	//   "parameters": {
16281	//     "name": {
16282	//       "description": "Required. The resource name of the User data mapping to retrieve.",
16283	//       "location": "path",
16284	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16285	//       "required": true,
16286	//       "type": "string"
16287	//     }
16288	//   },
16289	//   "path": "v1beta1/{+name}",
16290	//   "response": {
16291	//     "$ref": "UserDataMapping"
16292	//   },
16293	//   "scopes": [
16294	//     "https://www.googleapis.com/auth/cloud-platform"
16295	//   ]
16296	// }
16297
16298}
16299
16300// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.list":
16301
16302type ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall struct {
16303	s            *Service
16304	parent       string
16305	urlParams_   gensupport.URLParams
16306	ifNoneMatch_ string
16307	ctx_         context.Context
16308	header_      http.Header
16309}
16310
16311// List: Lists the User data mappings in the specified consent store.
16312func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16313	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16314	c.parent = parent
16315	return c
16316}
16317
16318// Filter sets the optional parameter "filter": Restricts the user data
16319// mappings returned to those matching a filter. The following syntax is
16320// available: * A string field value can be written as text inside
16321// quotation marks, for example "query text". The only valid
16322// relational operation for text fields is equality (`=`), where text is
16323// searched within the field, rather than having the field be equal to
16324// the text. For example, "Comment = great" returns messages with
16325// `great` in the comment field. * A number field value can be written
16326// as an integer, a decimal, or an exponential. The valid relational
16327// operators for number fields are the equality operator (`=`), along
16328// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
16329// Note that there is no inequality (`!=`) operator. You can prepend the
16330// `NOT` operator to an expression to negate it. * A date field value
16331// must be written in `yyyy-mm-dd` form. Fields with date and time use
16332// the RFC3339 time format. Leading zeros are required for one-digit
16333// months and days. The valid relational operators for date fields are
16334// the equality operator (`=`) , along with the less than/greater than
16335// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
16336// (`!=`) operator. You can prepend the `NOT` operator to an expression
16337// to negate it. * Multiple field query expressions can be combined in
16338// one query by adding `AND` or `OR` operators between the expressions.
16339// If a boolean operator appears within a quoted string, it is not
16340// treated as special, it's just another part of the character string to
16341// be matched. You can prepend the `NOT` operator to an expression to
16342// negate it. The fields available for filtering are: - data_id -
16343// user_id. For example, `filter=user_id=\"user123\". - archived -
16344// archive_time
16345func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16346	c.urlParams_.Set("filter", filter)
16347	return c
16348}
16349
16350// PageSize sets the optional parameter "pageSize": Limit on the number
16351// of User data mappings to return in a single response. If not
16352// specified, 100 is used. May not be larger than 1000.
16353func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16354	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16355	return c
16356}
16357
16358// PageToken sets the optional parameter "pageToken": Token to retrieve
16359// the next page of results, or empty to get the first page.
16360func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16361	c.urlParams_.Set("pageToken", pageToken)
16362	return c
16363}
16364
16365// Fields allows partial responses to be retrieved. See
16366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16367// for more information.
16368func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16370	return c
16371}
16372
16373// IfNoneMatch sets the optional parameter which makes the operation
16374// fail if the object's ETag matches the given value. This is useful for
16375// getting updates only after the object has changed since the last
16376// request. Use googleapi.IsNotModified to check whether the response
16377// error from Do is the result of In-None-Match.
16378func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16379	c.ifNoneMatch_ = entityTag
16380	return c
16381}
16382
16383// Context sets the context to be used in this call's Do method. Any
16384// pending HTTP request will be aborted if the provided context is
16385// canceled.
16386func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16387	c.ctx_ = ctx
16388	return c
16389}
16390
16391// Header returns an http.Header that can be modified by the caller to
16392// add HTTP headers to the request.
16393func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Header() http.Header {
16394	if c.header_ == nil {
16395		c.header_ = make(http.Header)
16396	}
16397	return c.header_
16398}
16399
16400func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) doRequest(alt string) (*http.Response, error) {
16401	reqHeaders := make(http.Header)
16402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16403	for k, v := range c.header_ {
16404		reqHeaders[k] = v
16405	}
16406	reqHeaders.Set("User-Agent", c.s.userAgent())
16407	if c.ifNoneMatch_ != "" {
16408		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16409	}
16410	var body io.Reader = nil
16411	c.urlParams_.Set("alt", alt)
16412	c.urlParams_.Set("prettyPrint", "false")
16413	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16414	urls += "?" + c.urlParams_.Encode()
16415	req, err := http.NewRequest("GET", urls, body)
16416	if err != nil {
16417		return nil, err
16418	}
16419	req.Header = reqHeaders
16420	googleapi.Expand(req.URL, map[string]string{
16421		"parent": c.parent,
16422	})
16423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16424}
16425
16426// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.list" call.
16427// Exactly one of *ListUserDataMappingsResponse or error will be
16428// non-nil. Any non-2xx status code is an error. Response headers are in
16429// either *ListUserDataMappingsResponse.ServerResponse.Header or (if a
16430// response was returned at all) in error.(*googleapi.Error).Header. Use
16431// googleapi.IsNotModified to check whether the returned error was
16432// because http.StatusNotModified was returned.
16433func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Do(opts ...googleapi.CallOption) (*ListUserDataMappingsResponse, error) {
16434	gensupport.SetOptions(c.urlParams_, opts...)
16435	res, err := c.doRequest("json")
16436	if res != nil && res.StatusCode == http.StatusNotModified {
16437		if res.Body != nil {
16438			res.Body.Close()
16439		}
16440		return nil, &googleapi.Error{
16441			Code:   res.StatusCode,
16442			Header: res.Header,
16443		}
16444	}
16445	if err != nil {
16446		return nil, err
16447	}
16448	defer googleapi.CloseBody(res)
16449	if err := googleapi.CheckResponse(res); err != nil {
16450		return nil, err
16451	}
16452	ret := &ListUserDataMappingsResponse{
16453		ServerResponse: googleapi.ServerResponse{
16454			Header:         res.Header,
16455			HTTPStatusCode: res.StatusCode,
16456		},
16457	}
16458	target := &ret
16459	if err := gensupport.DecodeResponse(target, res); err != nil {
16460		return nil, err
16461	}
16462	return ret, nil
16463	// {
16464	//   "description": "Lists the User data mappings in the specified consent store.",
16465	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16466	//   "httpMethod": "GET",
16467	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.list",
16468	//   "parameterOrder": [
16469	//     "parent"
16470	//   ],
16471	//   "parameters": {
16472	//     "filter": {
16473	//       "description": "Optional. Restricts the user data mappings returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The fields available for filtering are: - data_id - user_id. For example, `filter=user_id=\\\"user123\\\"`. - archived - archive_time",
16474	//       "location": "query",
16475	//       "type": "string"
16476	//     },
16477	//     "pageSize": {
16478	//       "description": "Optional. Limit on the number of User data mappings to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
16479	//       "format": "int32",
16480	//       "location": "query",
16481	//       "type": "integer"
16482	//     },
16483	//     "pageToken": {
16484	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
16485	//       "location": "query",
16486	//       "type": "string"
16487	//     },
16488	//     "parent": {
16489	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
16490	//       "location": "path",
16491	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16492	//       "required": true,
16493	//       "type": "string"
16494	//     }
16495	//   },
16496	//   "path": "v1beta1/{+parent}/userDataMappings",
16497	//   "response": {
16498	//     "$ref": "ListUserDataMappingsResponse"
16499	//   },
16500	//   "scopes": [
16501	//     "https://www.googleapis.com/auth/cloud-platform"
16502	//   ]
16503	// }
16504
16505}
16506
16507// Pages invokes f for each page of results.
16508// A non-nil error returned from f will halt the iteration.
16509// The provided context supersedes any context provided to the Context method.
16510func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Pages(ctx context.Context, f func(*ListUserDataMappingsResponse) error) error {
16511	c.ctx_ = ctx
16512	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16513	for {
16514		x, err := c.Do()
16515		if err != nil {
16516			return err
16517		}
16518		if err := f(x); err != nil {
16519			return err
16520		}
16521		if x.NextPageToken == "" {
16522			return nil
16523		}
16524		c.PageToken(x.NextPageToken)
16525	}
16526}
16527
16528// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch":
16529
16530type ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall struct {
16531	s               *Service
16532	name            string
16533	userdatamapping *UserDataMapping
16534	urlParams_      gensupport.URLParams
16535	ctx_            context.Context
16536	header_         http.Header
16537}
16538
16539// Patch: Updates the specified User data mapping.
16540func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Patch(name string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16541	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16542	c.name = name
16543	c.userdatamapping = userdatamapping
16544	return c
16545}
16546
16547// UpdateMask sets the optional parameter "updateMask": Required. The
16548// update mask that applies to the resource. For the `FieldMask`
16549// definition, see
16550// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
16551// Only the `data_id`, `user_id` and `resource_attributes` fields can be
16552// updated.
16553func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16554	c.urlParams_.Set("updateMask", updateMask)
16555	return c
16556}
16557
16558// Fields allows partial responses to be retrieved. See
16559// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16560// for more information.
16561func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16562	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16563	return c
16564}
16565
16566// Context sets the context to be used in this call's Do method. Any
16567// pending HTTP request will be aborted if the provided context is
16568// canceled.
16569func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16570	c.ctx_ = ctx
16571	return c
16572}
16573
16574// Header returns an http.Header that can be modified by the caller to
16575// add HTTP headers to the request.
16576func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Header() http.Header {
16577	if c.header_ == nil {
16578		c.header_ = make(http.Header)
16579	}
16580	return c.header_
16581}
16582
16583func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
16584	reqHeaders := make(http.Header)
16585	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16586	for k, v := range c.header_ {
16587		reqHeaders[k] = v
16588	}
16589	reqHeaders.Set("User-Agent", c.s.userAgent())
16590	var body io.Reader = nil
16591	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16592	if err != nil {
16593		return nil, err
16594	}
16595	reqHeaders.Set("Content-Type", "application/json")
16596	c.urlParams_.Set("alt", alt)
16597	c.urlParams_.Set("prettyPrint", "false")
16598	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16599	urls += "?" + c.urlParams_.Encode()
16600	req, err := http.NewRequest("PATCH", urls, body)
16601	if err != nil {
16602		return nil, err
16603	}
16604	req.Header = reqHeaders
16605	googleapi.Expand(req.URL, map[string]string{
16606		"name": c.name,
16607	})
16608	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16609}
16610
16611// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch" call.
16612// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16613// status code is an error. Response headers are in either
16614// *UserDataMapping.ServerResponse.Header or (if a response was returned
16615// at all) in error.(*googleapi.Error).Header. Use
16616// googleapi.IsNotModified to check whether the returned error was
16617// because http.StatusNotModified was returned.
16618func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16619	gensupport.SetOptions(c.urlParams_, opts...)
16620	res, err := c.doRequest("json")
16621	if res != nil && res.StatusCode == http.StatusNotModified {
16622		if res.Body != nil {
16623			res.Body.Close()
16624		}
16625		return nil, &googleapi.Error{
16626			Code:   res.StatusCode,
16627			Header: res.Header,
16628		}
16629	}
16630	if err != nil {
16631		return nil, err
16632	}
16633	defer googleapi.CloseBody(res)
16634	if err := googleapi.CheckResponse(res); err != nil {
16635		return nil, err
16636	}
16637	ret := &UserDataMapping{
16638		ServerResponse: googleapi.ServerResponse{
16639			Header:         res.Header,
16640			HTTPStatusCode: res.StatusCode,
16641		},
16642	}
16643	target := &ret
16644	if err := gensupport.DecodeResponse(target, res); err != nil {
16645		return nil, err
16646	}
16647	return ret, nil
16648	// {
16649	//   "description": "Updates the specified User data mapping.",
16650	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16651	//   "httpMethod": "PATCH",
16652	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch",
16653	//   "parameterOrder": [
16654	//     "name"
16655	//   ],
16656	//   "parameters": {
16657	//     "name": {
16658	//       "description": "Resource name of the User data mapping, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`.",
16659	//       "location": "path",
16660	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16661	//       "required": true,
16662	//       "type": "string"
16663	//     },
16664	//     "updateMask": {
16665	//       "description": "Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `data_id`, `user_id` and `resource_attributes` fields can be updated.",
16666	//       "format": "google-fieldmask",
16667	//       "location": "query",
16668	//       "type": "string"
16669	//     }
16670	//   },
16671	//   "path": "v1beta1/{+name}",
16672	//   "request": {
16673	//     "$ref": "UserDataMapping"
16674	//   },
16675	//   "response": {
16676	//     "$ref": "UserDataMapping"
16677	//   },
16678	//   "scopes": [
16679	//     "https://www.googleapis.com/auth/cloud-platform"
16680	//   ]
16681	// }
16682
16683}
16684
16685// method id "healthcare.projects.locations.datasets.dicomStores.create":
16686
16687type ProjectsLocationsDatasetsDicomStoresCreateCall struct {
16688	s          *Service
16689	parent     string
16690	dicomstore *DicomStore
16691	urlParams_ gensupport.URLParams
16692	ctx_       context.Context
16693	header_    http.Header
16694}
16695
16696// Create: Creates a new DICOM store within the parent dataset.
16697func (r *ProjectsLocationsDatasetsDicomStoresService) Create(parent string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16698	c := &ProjectsLocationsDatasetsDicomStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16699	c.parent = parent
16700	c.dicomstore = dicomstore
16701	return c
16702}
16703
16704// DicomStoreId sets the optional parameter "dicomStoreId": The ID of
16705// the DICOM store that is being created. Any string value up to 256
16706// characters in length.
16707func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) DicomStoreId(dicomStoreId string) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16708	c.urlParams_.Set("dicomStoreId", dicomStoreId)
16709	return c
16710}
16711
16712// Fields allows partial responses to be retrieved. See
16713// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16714// for more information.
16715func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16716	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16717	return c
16718}
16719
16720// Context sets the context to be used in this call's Do method. Any
16721// pending HTTP request will be aborted if the provided context is
16722// canceled.
16723func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16724	c.ctx_ = ctx
16725	return c
16726}
16727
16728// Header returns an http.Header that can be modified by the caller to
16729// add HTTP headers to the request.
16730func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Header() http.Header {
16731	if c.header_ == nil {
16732		c.header_ = make(http.Header)
16733	}
16734	return c.header_
16735}
16736
16737func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
16738	reqHeaders := make(http.Header)
16739	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16740	for k, v := range c.header_ {
16741		reqHeaders[k] = v
16742	}
16743	reqHeaders.Set("User-Agent", c.s.userAgent())
16744	var body io.Reader = nil
16745	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
16746	if err != nil {
16747		return nil, err
16748	}
16749	reqHeaders.Set("Content-Type", "application/json")
16750	c.urlParams_.Set("alt", alt)
16751	c.urlParams_.Set("prettyPrint", "false")
16752	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
16753	urls += "?" + c.urlParams_.Encode()
16754	req, err := http.NewRequest("POST", urls, body)
16755	if err != nil {
16756		return nil, err
16757	}
16758	req.Header = reqHeaders
16759	googleapi.Expand(req.URL, map[string]string{
16760		"parent": c.parent,
16761	})
16762	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16763}
16764
16765// Do executes the "healthcare.projects.locations.datasets.dicomStores.create" call.
16766// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
16767// status code is an error. Response headers are in either
16768// *DicomStore.ServerResponse.Header or (if a response was returned at
16769// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16770// to check whether the returned error was because
16771// http.StatusNotModified was returned.
16772func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
16773	gensupport.SetOptions(c.urlParams_, opts...)
16774	res, err := c.doRequest("json")
16775	if res != nil && res.StatusCode == http.StatusNotModified {
16776		if res.Body != nil {
16777			res.Body.Close()
16778		}
16779		return nil, &googleapi.Error{
16780			Code:   res.StatusCode,
16781			Header: res.Header,
16782		}
16783	}
16784	if err != nil {
16785		return nil, err
16786	}
16787	defer googleapi.CloseBody(res)
16788	if err := googleapi.CheckResponse(res); err != nil {
16789		return nil, err
16790	}
16791	ret := &DicomStore{
16792		ServerResponse: googleapi.ServerResponse{
16793			Header:         res.Header,
16794			HTTPStatusCode: res.StatusCode,
16795		},
16796	}
16797	target := &ret
16798	if err := gensupport.DecodeResponse(target, res); err != nil {
16799		return nil, err
16800	}
16801	return ret, nil
16802	// {
16803	//   "description": "Creates a new DICOM store within the parent dataset.",
16804	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
16805	//   "httpMethod": "POST",
16806	//   "id": "healthcare.projects.locations.datasets.dicomStores.create",
16807	//   "parameterOrder": [
16808	//     "parent"
16809	//   ],
16810	//   "parameters": {
16811	//     "dicomStoreId": {
16812	//       "description": "The ID of the DICOM store that is being created. Any string value up to 256 characters in length.",
16813	//       "location": "query",
16814	//       "type": "string"
16815	//     },
16816	//     "parent": {
16817	//       "description": "The name of the dataset this DICOM store belongs to.",
16818	//       "location": "path",
16819	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
16820	//       "required": true,
16821	//       "type": "string"
16822	//     }
16823	//   },
16824	//   "path": "v1beta1/{+parent}/dicomStores",
16825	//   "request": {
16826	//     "$ref": "DicomStore"
16827	//   },
16828	//   "response": {
16829	//     "$ref": "DicomStore"
16830	//   },
16831	//   "scopes": [
16832	//     "https://www.googleapis.com/auth/cloud-platform"
16833	//   ]
16834	// }
16835
16836}
16837
16838// method id "healthcare.projects.locations.datasets.dicomStores.deidentify":
16839
16840type ProjectsLocationsDatasetsDicomStoresDeidentifyCall struct {
16841	s                           *Service
16842	sourceStore                 string
16843	deidentifydicomstorerequest *DeidentifyDicomStoreRequest
16844	urlParams_                  gensupport.URLParams
16845	ctx_                        context.Context
16846	header_                     http.Header
16847}
16848
16849// Deidentify: De-identifies data from the source store and writes it to
16850// the destination store. The metadata field type is OperationMetadata.
16851// If the request is successful, the response field type is
16852// DeidentifyDicomStoreSummary. The LRO result may still be successful
16853// if de-identification fails for some DICOM instances. The output DICOM
16854// store will not contain these failed resources. The number of
16855// resources processed are tracked in Operation.metadata. Error details
16856// are logged to Cloud Logging. For more information, see Viewing logs
16857// (/healthcare/docs/how-tos/logging).
16858func (r *ProjectsLocationsDatasetsDicomStoresService) Deidentify(sourceStore string, deidentifydicomstorerequest *DeidentifyDicomStoreRequest) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
16859	c := &ProjectsLocationsDatasetsDicomStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16860	c.sourceStore = sourceStore
16861	c.deidentifydicomstorerequest = deidentifydicomstorerequest
16862	return c
16863}
16864
16865// Fields allows partial responses to be retrieved. See
16866// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16867// for more information.
16868func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
16869	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16870	return c
16871}
16872
16873// Context sets the context to be used in this call's Do method. Any
16874// pending HTTP request will be aborted if the provided context is
16875// canceled.
16876func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
16877	c.ctx_ = ctx
16878	return c
16879}
16880
16881// Header returns an http.Header that can be modified by the caller to
16882// add HTTP headers to the request.
16883func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Header() http.Header {
16884	if c.header_ == nil {
16885		c.header_ = make(http.Header)
16886	}
16887	return c.header_
16888}
16889
16890func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
16891	reqHeaders := make(http.Header)
16892	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
16893	for k, v := range c.header_ {
16894		reqHeaders[k] = v
16895	}
16896	reqHeaders.Set("User-Agent", c.s.userAgent())
16897	var body io.Reader = nil
16898	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydicomstorerequest)
16899	if err != nil {
16900		return nil, err
16901	}
16902	reqHeaders.Set("Content-Type", "application/json")
16903	c.urlParams_.Set("alt", alt)
16904	c.urlParams_.Set("prettyPrint", "false")
16905	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
16906	urls += "?" + c.urlParams_.Encode()
16907	req, err := http.NewRequest("POST", urls, body)
16908	if err != nil {
16909		return nil, err
16910	}
16911	req.Header = reqHeaders
16912	googleapi.Expand(req.URL, map[string]string{
16913		"sourceStore": c.sourceStore,
16914	})
16915	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16916}
16917
16918// Do executes the "healthcare.projects.locations.datasets.dicomStores.deidentify" call.
16919// Exactly one of *Operation or error will be non-nil. Any non-2xx
16920// status code is an error. Response headers are in either
16921// *Operation.ServerResponse.Header or (if a response was returned at
16922// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16923// to check whether the returned error was because
16924// http.StatusNotModified was returned.
16925func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
16926	gensupport.SetOptions(c.urlParams_, opts...)
16927	res, err := c.doRequest("json")
16928	if res != nil && res.StatusCode == http.StatusNotModified {
16929		if res.Body != nil {
16930			res.Body.Close()
16931		}
16932		return nil, &googleapi.Error{
16933			Code:   res.StatusCode,
16934			Header: res.Header,
16935		}
16936	}
16937	if err != nil {
16938		return nil, err
16939	}
16940	defer googleapi.CloseBody(res)
16941	if err := googleapi.CheckResponse(res); err != nil {
16942		return nil, err
16943	}
16944	ret := &Operation{
16945		ServerResponse: googleapi.ServerResponse{
16946			Header:         res.Header,
16947			HTTPStatusCode: res.StatusCode,
16948		},
16949	}
16950	target := &ret
16951	if err := gensupport.DecodeResponse(target, res); err != nil {
16952		return nil, err
16953	}
16954	return ret, nil
16955	// {
16956	//   "description": "De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyDicomStoreSummary. The LRO result may still be successful if de-identification fails for some DICOM instances. The output DICOM store will not contain these failed resources. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging).",
16957	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify",
16958	//   "httpMethod": "POST",
16959	//   "id": "healthcare.projects.locations.datasets.dicomStores.deidentify",
16960	//   "parameterOrder": [
16961	//     "sourceStore"
16962	//   ],
16963	//   "parameters": {
16964	//     "sourceStore": {
16965	//       "description": "Source DICOM store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
16966	//       "location": "path",
16967	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
16968	//       "required": true,
16969	//       "type": "string"
16970	//     }
16971	//   },
16972	//   "path": "v1beta1/{+sourceStore}:deidentify",
16973	//   "request": {
16974	//     "$ref": "DeidentifyDicomStoreRequest"
16975	//   },
16976	//   "response": {
16977	//     "$ref": "Operation"
16978	//   },
16979	//   "scopes": [
16980	//     "https://www.googleapis.com/auth/cloud-platform"
16981	//   ]
16982	// }
16983
16984}
16985
16986// method id "healthcare.projects.locations.datasets.dicomStores.delete":
16987
16988type ProjectsLocationsDatasetsDicomStoresDeleteCall struct {
16989	s          *Service
16990	name       string
16991	urlParams_ gensupport.URLParams
16992	ctx_       context.Context
16993	header_    http.Header
16994}
16995
16996// Delete: Deletes the specified DICOM store and removes all images that
16997// are contained within it.
16998func (r *ProjectsLocationsDatasetsDicomStoresService) Delete(name string) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
16999	c := &ProjectsLocationsDatasetsDicomStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17000	c.name = name
17001	return c
17002}
17003
17004// Fields allows partial responses to be retrieved. See
17005// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17006// for more information.
17007func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17008	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17009	return c
17010}
17011
17012// Context sets the context to be used in this call's Do method. Any
17013// pending HTTP request will be aborted if the provided context is
17014// canceled.
17015func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17016	c.ctx_ = ctx
17017	return c
17018}
17019
17020// Header returns an http.Header that can be modified by the caller to
17021// add HTTP headers to the request.
17022func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Header() http.Header {
17023	if c.header_ == nil {
17024		c.header_ = make(http.Header)
17025	}
17026	return c.header_
17027}
17028
17029func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
17030	reqHeaders := make(http.Header)
17031	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17032	for k, v := range c.header_ {
17033		reqHeaders[k] = v
17034	}
17035	reqHeaders.Set("User-Agent", c.s.userAgent())
17036	var body io.Reader = nil
17037	c.urlParams_.Set("alt", alt)
17038	c.urlParams_.Set("prettyPrint", "false")
17039	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17040	urls += "?" + c.urlParams_.Encode()
17041	req, err := http.NewRequest("DELETE", urls, body)
17042	if err != nil {
17043		return nil, err
17044	}
17045	req.Header = reqHeaders
17046	googleapi.Expand(req.URL, map[string]string{
17047		"name": c.name,
17048	})
17049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17050}
17051
17052// Do executes the "healthcare.projects.locations.datasets.dicomStores.delete" call.
17053// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17054// code is an error. Response headers are in either
17055// *Empty.ServerResponse.Header or (if a response was returned at all)
17056// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17057// check whether the returned error was because http.StatusNotModified
17058// was returned.
17059func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17060	gensupport.SetOptions(c.urlParams_, opts...)
17061	res, err := c.doRequest("json")
17062	if res != nil && res.StatusCode == http.StatusNotModified {
17063		if res.Body != nil {
17064			res.Body.Close()
17065		}
17066		return nil, &googleapi.Error{
17067			Code:   res.StatusCode,
17068			Header: res.Header,
17069		}
17070	}
17071	if err != nil {
17072		return nil, err
17073	}
17074	defer googleapi.CloseBody(res)
17075	if err := googleapi.CheckResponse(res); err != nil {
17076		return nil, err
17077	}
17078	ret := &Empty{
17079		ServerResponse: googleapi.ServerResponse{
17080			Header:         res.Header,
17081			HTTPStatusCode: res.StatusCode,
17082		},
17083	}
17084	target := &ret
17085	if err := gensupport.DecodeResponse(target, res); err != nil {
17086		return nil, err
17087	}
17088	return ret, nil
17089	// {
17090	//   "description": "Deletes the specified DICOM store and removes all images that are contained within it.",
17091	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17092	//   "httpMethod": "DELETE",
17093	//   "id": "healthcare.projects.locations.datasets.dicomStores.delete",
17094	//   "parameterOrder": [
17095	//     "name"
17096	//   ],
17097	//   "parameters": {
17098	//     "name": {
17099	//       "description": "The resource name of the DICOM store to delete.",
17100	//       "location": "path",
17101	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17102	//       "required": true,
17103	//       "type": "string"
17104	//     }
17105	//   },
17106	//   "path": "v1beta1/{+name}",
17107	//   "response": {
17108	//     "$ref": "Empty"
17109	//   },
17110	//   "scopes": [
17111	//     "https://www.googleapis.com/auth/cloud-platform"
17112	//   ]
17113	// }
17114
17115}
17116
17117// method id "healthcare.projects.locations.datasets.dicomStores.export":
17118
17119type ProjectsLocationsDatasetsDicomStoresExportCall struct {
17120	s                      *Service
17121	name                   string
17122	exportdicomdatarequest *ExportDicomDataRequest
17123	urlParams_             gensupport.URLParams
17124	ctx_                   context.Context
17125	header_                http.Header
17126}
17127
17128// Export: Exports data to the specified destination by copying it from
17129// the DICOM store. Errors are also logged to Cloud Logging. For more
17130// information, see Viewing logs (/healthcare/docs/how-tos/logging). The
17131// metadata field type is OperationMetadata.
17132func (r *ProjectsLocationsDatasetsDicomStoresService) Export(name string, exportdicomdatarequest *ExportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresExportCall {
17133	c := &ProjectsLocationsDatasetsDicomStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17134	c.name = name
17135	c.exportdicomdatarequest = exportdicomdatarequest
17136	return c
17137}
17138
17139// Fields allows partial responses to be retrieved. See
17140// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17141// for more information.
17142func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresExportCall {
17143	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17144	return c
17145}
17146
17147// Context sets the context to be used in this call's Do method. Any
17148// pending HTTP request will be aborted if the provided context is
17149// canceled.
17150func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresExportCall {
17151	c.ctx_ = ctx
17152	return c
17153}
17154
17155// Header returns an http.Header that can be modified by the caller to
17156// add HTTP headers to the request.
17157func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Header() http.Header {
17158	if c.header_ == nil {
17159		c.header_ = make(http.Header)
17160	}
17161	return c.header_
17162}
17163
17164func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
17165	reqHeaders := make(http.Header)
17166	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17167	for k, v := range c.header_ {
17168		reqHeaders[k] = v
17169	}
17170	reqHeaders.Set("User-Agent", c.s.userAgent())
17171	var body io.Reader = nil
17172	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportdicomdatarequest)
17173	if err != nil {
17174		return nil, err
17175	}
17176	reqHeaders.Set("Content-Type", "application/json")
17177	c.urlParams_.Set("alt", alt)
17178	c.urlParams_.Set("prettyPrint", "false")
17179	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
17180	urls += "?" + c.urlParams_.Encode()
17181	req, err := http.NewRequest("POST", urls, body)
17182	if err != nil {
17183		return nil, err
17184	}
17185	req.Header = reqHeaders
17186	googleapi.Expand(req.URL, map[string]string{
17187		"name": c.name,
17188	})
17189	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17190}
17191
17192// Do executes the "healthcare.projects.locations.datasets.dicomStores.export" call.
17193// Exactly one of *Operation or error will be non-nil. Any non-2xx
17194// status code is an error. Response headers are in either
17195// *Operation.ServerResponse.Header or (if a response was returned at
17196// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17197// to check whether the returned error was because
17198// http.StatusNotModified was returned.
17199func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17200	gensupport.SetOptions(c.urlParams_, opts...)
17201	res, err := c.doRequest("json")
17202	if res != nil && res.StatusCode == http.StatusNotModified {
17203		if res.Body != nil {
17204			res.Body.Close()
17205		}
17206		return nil, &googleapi.Error{
17207			Code:   res.StatusCode,
17208			Header: res.Header,
17209		}
17210	}
17211	if err != nil {
17212		return nil, err
17213	}
17214	defer googleapi.CloseBody(res)
17215	if err := googleapi.CheckResponse(res); err != nil {
17216		return nil, err
17217	}
17218	ret := &Operation{
17219		ServerResponse: googleapi.ServerResponse{
17220			Header:         res.Header,
17221			HTTPStatusCode: res.StatusCode,
17222		},
17223	}
17224	target := &ret
17225	if err := gensupport.DecodeResponse(target, res); err != nil {
17226		return nil, err
17227	}
17228	return ret, nil
17229	// {
17230	//   "description": "Exports data to the specified destination by copying it from the DICOM store. Errors are also logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.",
17231	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export",
17232	//   "httpMethod": "POST",
17233	//   "id": "healthcare.projects.locations.datasets.dicomStores.export",
17234	//   "parameterOrder": [
17235	//     "name"
17236	//   ],
17237	//   "parameters": {
17238	//     "name": {
17239	//       "description": "The DICOM store resource name from which to export the data. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
17240	//       "location": "path",
17241	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17242	//       "required": true,
17243	//       "type": "string"
17244	//     }
17245	//   },
17246	//   "path": "v1beta1/{+name}:export",
17247	//   "request": {
17248	//     "$ref": "ExportDicomDataRequest"
17249	//   },
17250	//   "response": {
17251	//     "$ref": "Operation"
17252	//   },
17253	//   "scopes": [
17254	//     "https://www.googleapis.com/auth/cloud-platform"
17255	//   ]
17256	// }
17257
17258}
17259
17260// method id "healthcare.projects.locations.datasets.dicomStores.get":
17261
17262type ProjectsLocationsDatasetsDicomStoresGetCall struct {
17263	s            *Service
17264	name         string
17265	urlParams_   gensupport.URLParams
17266	ifNoneMatch_ string
17267	ctx_         context.Context
17268	header_      http.Header
17269}
17270
17271// Get: Gets the specified DICOM store.
17272func (r *ProjectsLocationsDatasetsDicomStoresService) Get(name string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17273	c := &ProjectsLocationsDatasetsDicomStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17274	c.name = name
17275	return c
17276}
17277
17278// Fields allows partial responses to be retrieved. See
17279// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17280// for more information.
17281func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetCall {
17282	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17283	return c
17284}
17285
17286// IfNoneMatch sets the optional parameter which makes the operation
17287// fail if the object's ETag matches the given value. This is useful for
17288// getting updates only after the object has changed since the last
17289// request. Use googleapi.IsNotModified to check whether the response
17290// error from Do is the result of In-None-Match.
17291func (c *ProjectsLocationsDatasetsDicomStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17292	c.ifNoneMatch_ = entityTag
17293	return c
17294}
17295
17296// Context sets the context to be used in this call's Do method. Any
17297// pending HTTP request will be aborted if the provided context is
17298// canceled.
17299func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetCall {
17300	c.ctx_ = ctx
17301	return c
17302}
17303
17304// Header returns an http.Header that can be modified by the caller to
17305// add HTTP headers to the request.
17306func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Header() http.Header {
17307	if c.header_ == nil {
17308		c.header_ = make(http.Header)
17309	}
17310	return c.header_
17311}
17312
17313func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
17314	reqHeaders := make(http.Header)
17315	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17316	for k, v := range c.header_ {
17317		reqHeaders[k] = v
17318	}
17319	reqHeaders.Set("User-Agent", c.s.userAgent())
17320	if c.ifNoneMatch_ != "" {
17321		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17322	}
17323	var body io.Reader = nil
17324	c.urlParams_.Set("alt", alt)
17325	c.urlParams_.Set("prettyPrint", "false")
17326	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17327	urls += "?" + c.urlParams_.Encode()
17328	req, err := http.NewRequest("GET", urls, body)
17329	if err != nil {
17330		return nil, err
17331	}
17332	req.Header = reqHeaders
17333	googleapi.Expand(req.URL, map[string]string{
17334		"name": c.name,
17335	})
17336	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17337}
17338
17339// Do executes the "healthcare.projects.locations.datasets.dicomStores.get" call.
17340// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17341// status code is an error. Response headers are in either
17342// *DicomStore.ServerResponse.Header or (if a response was returned at
17343// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17344// to check whether the returned error was because
17345// http.StatusNotModified was returned.
17346func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17347	gensupport.SetOptions(c.urlParams_, opts...)
17348	res, err := c.doRequest("json")
17349	if res != nil && res.StatusCode == http.StatusNotModified {
17350		if res.Body != nil {
17351			res.Body.Close()
17352		}
17353		return nil, &googleapi.Error{
17354			Code:   res.StatusCode,
17355			Header: res.Header,
17356		}
17357	}
17358	if err != nil {
17359		return nil, err
17360	}
17361	defer googleapi.CloseBody(res)
17362	if err := googleapi.CheckResponse(res); err != nil {
17363		return nil, err
17364	}
17365	ret := &DicomStore{
17366		ServerResponse: googleapi.ServerResponse{
17367			Header:         res.Header,
17368			HTTPStatusCode: res.StatusCode,
17369		},
17370	}
17371	target := &ret
17372	if err := gensupport.DecodeResponse(target, res); err != nil {
17373		return nil, err
17374	}
17375	return ret, nil
17376	// {
17377	//   "description": "Gets the specified DICOM store.",
17378	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17379	//   "httpMethod": "GET",
17380	//   "id": "healthcare.projects.locations.datasets.dicomStores.get",
17381	//   "parameterOrder": [
17382	//     "name"
17383	//   ],
17384	//   "parameters": {
17385	//     "name": {
17386	//       "description": "The resource name of the DICOM store to get.",
17387	//       "location": "path",
17388	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17389	//       "required": true,
17390	//       "type": "string"
17391	//     }
17392	//   },
17393	//   "path": "v1beta1/{+name}",
17394	//   "response": {
17395	//     "$ref": "DicomStore"
17396	//   },
17397	//   "scopes": [
17398	//     "https://www.googleapis.com/auth/cloud-platform"
17399	//   ]
17400	// }
17401
17402}
17403
17404// method id "healthcare.projects.locations.datasets.dicomStores.getIamPolicy":
17405
17406type ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall struct {
17407	s            *Service
17408	resource     string
17409	urlParams_   gensupport.URLParams
17410	ifNoneMatch_ string
17411	ctx_         context.Context
17412	header_      http.Header
17413}
17414
17415// GetIamPolicy: Gets the access control policy for a resource. Returns
17416// an empty policy if the resource exists and does not have a policy
17417// set.
17418func (r *ProjectsLocationsDatasetsDicomStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17419	c := &ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17420	c.resource = resource
17421	return c
17422}
17423
17424// OptionsRequestedPolicyVersion sets the optional parameter
17425// "options.requestedPolicyVersion": The policy format version to be
17426// returned. Valid values are 0, 1, and 3. Requests specifying an
17427// invalid value will be rejected. Requests for policies with any
17428// conditional bindings must specify version 3. Policies without any
17429// conditional bindings may specify any valid value or leave the field
17430// unset. To learn which resources support conditions in their IAM
17431// policies, see the IAM documentation
17432// (https://cloud.google.com/iam/help/conditions/resource-policies).
17433func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17434	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
17435	return c
17436}
17437
17438// Fields allows partial responses to be retrieved. See
17439// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17440// for more information.
17441func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17442	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17443	return c
17444}
17445
17446// IfNoneMatch sets the optional parameter which makes the operation
17447// fail if the object's ETag matches the given value. This is useful for
17448// getting updates only after the object has changed since the last
17449// request. Use googleapi.IsNotModified to check whether the response
17450// error from Do is the result of In-None-Match.
17451func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17452	c.ifNoneMatch_ = entityTag
17453	return c
17454}
17455
17456// Context sets the context to be used in this call's Do method. Any
17457// pending HTTP request will be aborted if the provided context is
17458// canceled.
17459func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17460	c.ctx_ = ctx
17461	return c
17462}
17463
17464// Header returns an http.Header that can be modified by the caller to
17465// add HTTP headers to the request.
17466func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Header() http.Header {
17467	if c.header_ == nil {
17468		c.header_ = make(http.Header)
17469	}
17470	return c.header_
17471}
17472
17473func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
17474	reqHeaders := make(http.Header)
17475	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17476	for k, v := range c.header_ {
17477		reqHeaders[k] = v
17478	}
17479	reqHeaders.Set("User-Agent", c.s.userAgent())
17480	if c.ifNoneMatch_ != "" {
17481		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17482	}
17483	var body io.Reader = nil
17484	c.urlParams_.Set("alt", alt)
17485	c.urlParams_.Set("prettyPrint", "false")
17486	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
17487	urls += "?" + c.urlParams_.Encode()
17488	req, err := http.NewRequest("GET", urls, body)
17489	if err != nil {
17490		return nil, err
17491	}
17492	req.Header = reqHeaders
17493	googleapi.Expand(req.URL, map[string]string{
17494		"resource": c.resource,
17495	})
17496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17497}
17498
17499// Do executes the "healthcare.projects.locations.datasets.dicomStores.getIamPolicy" call.
17500// Exactly one of *Policy or error will be non-nil. Any non-2xx status
17501// code is an error. Response headers are in either
17502// *Policy.ServerResponse.Header or (if a response was returned at all)
17503// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17504// check whether the returned error was because http.StatusNotModified
17505// was returned.
17506func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
17507	gensupport.SetOptions(c.urlParams_, opts...)
17508	res, err := c.doRequest("json")
17509	if res != nil && res.StatusCode == http.StatusNotModified {
17510		if res.Body != nil {
17511			res.Body.Close()
17512		}
17513		return nil, &googleapi.Error{
17514			Code:   res.StatusCode,
17515			Header: res.Header,
17516		}
17517	}
17518	if err != nil {
17519		return nil, err
17520	}
17521	defer googleapi.CloseBody(res)
17522	if err := googleapi.CheckResponse(res); err != nil {
17523		return nil, err
17524	}
17525	ret := &Policy{
17526		ServerResponse: googleapi.ServerResponse{
17527			Header:         res.Header,
17528			HTTPStatusCode: res.StatusCode,
17529		},
17530	}
17531	target := &ret
17532	if err := gensupport.DecodeResponse(target, res); err != nil {
17533		return nil, err
17534	}
17535	return ret, nil
17536	// {
17537	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
17538	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy",
17539	//   "httpMethod": "GET",
17540	//   "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy",
17541	//   "parameterOrder": [
17542	//     "resource"
17543	//   ],
17544	//   "parameters": {
17545	//     "options.requestedPolicyVersion": {
17546	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
17547	//       "format": "int32",
17548	//       "location": "query",
17549	//       "type": "integer"
17550	//     },
17551	//     "resource": {
17552	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
17553	//       "location": "path",
17554	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17555	//       "required": true,
17556	//       "type": "string"
17557	//     }
17558	//   },
17559	//   "path": "v1beta1/{+resource}:getIamPolicy",
17560	//   "response": {
17561	//     "$ref": "Policy"
17562	//   },
17563	//   "scopes": [
17564	//     "https://www.googleapis.com/auth/cloud-platform"
17565	//   ]
17566	// }
17567
17568}
17569
17570// method id "healthcare.projects.locations.datasets.dicomStores.import":
17571
17572type ProjectsLocationsDatasetsDicomStoresImportCall struct {
17573	s                      *Service
17574	name                   string
17575	importdicomdatarequest *ImportDicomDataRequest
17576	urlParams_             gensupport.URLParams
17577	ctx_                   context.Context
17578	header_                http.Header
17579}
17580
17581// Import: Imports data into the DICOM store by copying it from the
17582// specified source. Errors are logged to Cloud Logging. For more
17583// information, see Viewing logs (/healthcare/docs/how-tos/logging). The
17584// metadata field type is OperationMetadata.
17585func (r *ProjectsLocationsDatasetsDicomStoresService) Import(name string, importdicomdatarequest *ImportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresImportCall {
17586	c := &ProjectsLocationsDatasetsDicomStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17587	c.name = name
17588	c.importdicomdatarequest = importdicomdatarequest
17589	return c
17590}
17591
17592// Fields allows partial responses to be retrieved. See
17593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17594// for more information.
17595func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresImportCall {
17596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17597	return c
17598}
17599
17600// Context sets the context to be used in this call's Do method. Any
17601// pending HTTP request will be aborted if the provided context is
17602// canceled.
17603func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresImportCall {
17604	c.ctx_ = ctx
17605	return c
17606}
17607
17608// Header returns an http.Header that can be modified by the caller to
17609// add HTTP headers to the request.
17610func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Header() http.Header {
17611	if c.header_ == nil {
17612		c.header_ = make(http.Header)
17613	}
17614	return c.header_
17615}
17616
17617func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
17618	reqHeaders := make(http.Header)
17619	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17620	for k, v := range c.header_ {
17621		reqHeaders[k] = v
17622	}
17623	reqHeaders.Set("User-Agent", c.s.userAgent())
17624	var body io.Reader = nil
17625	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importdicomdatarequest)
17626	if err != nil {
17627		return nil, err
17628	}
17629	reqHeaders.Set("Content-Type", "application/json")
17630	c.urlParams_.Set("alt", alt)
17631	c.urlParams_.Set("prettyPrint", "false")
17632	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
17633	urls += "?" + c.urlParams_.Encode()
17634	req, err := http.NewRequest("POST", urls, body)
17635	if err != nil {
17636		return nil, err
17637	}
17638	req.Header = reqHeaders
17639	googleapi.Expand(req.URL, map[string]string{
17640		"name": c.name,
17641	})
17642	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17643}
17644
17645// Do executes the "healthcare.projects.locations.datasets.dicomStores.import" call.
17646// Exactly one of *Operation or error will be non-nil. Any non-2xx
17647// status code is an error. Response headers are in either
17648// *Operation.ServerResponse.Header or (if a response was returned at
17649// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17650// to check whether the returned error was because
17651// http.StatusNotModified was returned.
17652func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17653	gensupport.SetOptions(c.urlParams_, opts...)
17654	res, err := c.doRequest("json")
17655	if res != nil && res.StatusCode == http.StatusNotModified {
17656		if res.Body != nil {
17657			res.Body.Close()
17658		}
17659		return nil, &googleapi.Error{
17660			Code:   res.StatusCode,
17661			Header: res.Header,
17662		}
17663	}
17664	if err != nil {
17665		return nil, err
17666	}
17667	defer googleapi.CloseBody(res)
17668	if err := googleapi.CheckResponse(res); err != nil {
17669		return nil, err
17670	}
17671	ret := &Operation{
17672		ServerResponse: googleapi.ServerResponse{
17673			Header:         res.Header,
17674			HTTPStatusCode: res.StatusCode,
17675		},
17676	}
17677	target := &ret
17678	if err := gensupport.DecodeResponse(target, res); err != nil {
17679		return nil, err
17680	}
17681	return ret, nil
17682	// {
17683	//   "description": "Imports data into the DICOM store by copying it from the specified source. Errors are logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.",
17684	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import",
17685	//   "httpMethod": "POST",
17686	//   "id": "healthcare.projects.locations.datasets.dicomStores.import",
17687	//   "parameterOrder": [
17688	//     "name"
17689	//   ],
17690	//   "parameters": {
17691	//     "name": {
17692	//       "description": "The name of the DICOM store resource into which the data is imported. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
17693	//       "location": "path",
17694	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17695	//       "required": true,
17696	//       "type": "string"
17697	//     }
17698	//   },
17699	//   "path": "v1beta1/{+name}:import",
17700	//   "request": {
17701	//     "$ref": "ImportDicomDataRequest"
17702	//   },
17703	//   "response": {
17704	//     "$ref": "Operation"
17705	//   },
17706	//   "scopes": [
17707	//     "https://www.googleapis.com/auth/cloud-platform"
17708	//   ]
17709	// }
17710
17711}
17712
17713// method id "healthcare.projects.locations.datasets.dicomStores.list":
17714
17715type ProjectsLocationsDatasetsDicomStoresListCall struct {
17716	s            *Service
17717	parent       string
17718	urlParams_   gensupport.URLParams
17719	ifNoneMatch_ string
17720	ctx_         context.Context
17721	header_      http.Header
17722}
17723
17724// List: Lists the DICOM stores in the given dataset.
17725func (r *ProjectsLocationsDatasetsDicomStoresService) List(parent string) *ProjectsLocationsDatasetsDicomStoresListCall {
17726	c := &ProjectsLocationsDatasetsDicomStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17727	c.parent = parent
17728	return c
17729}
17730
17731// Filter sets the optional parameter "filter": Restricts stores
17732// returned to those matching a filter. The following syntax is
17733// available: * A string field value can be written as text inside
17734// quotation marks, for example "query text". The only valid
17735// relational operation for text fields is equality (`=`), where text is
17736// searched within the field, rather than having the field be equal to
17737// the text. For example, "Comment = great" returns messages with
17738// `great` in the comment field. * A number field value can be written
17739// as an integer, a decimal, or an exponential. The valid relational
17740// operators for number fields are the equality operator (`=`), along
17741// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
17742// Note that there is no inequality (`!=`) operator. You can prepend the
17743// `NOT` operator to an expression to negate it. * A date field value
17744// must be written in `yyyy-mm-dd` form. Fields with date and time use
17745// the RFC3339 time format. Leading zeros are required for one-digit
17746// months and days. The valid relational operators for date fields are
17747// the equality operator (`=`) , along with the less than/greater than
17748// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
17749// (`!=`) operator. You can prepend the `NOT` operator to an expression
17750// to negate it. * Multiple field query expressions can be combined in
17751// one query by adding `AND` or `OR` operators between the expressions.
17752// If a boolean operator appears within a quoted string, it is not
17753// treated as special, it's just another part of the character string to
17754// be matched. You can prepend the `NOT` operator to an expression to
17755// negate it. Only filtering on labels is supported. For example,
17756// `labels.key=value`.
17757func (c *ProjectsLocationsDatasetsDicomStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsDicomStoresListCall {
17758	c.urlParams_.Set("filter", filter)
17759	return c
17760}
17761
17762// PageSize sets the optional parameter "pageSize": Limit on the number
17763// of DICOM stores to return in a single response. If not specified, 100
17764// is used. May not be larger than 1000.
17765func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDicomStoresListCall {
17766	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17767	return c
17768}
17769
17770// PageToken sets the optional parameter "pageToken": The
17771// next_page_token value returned from the previous List request, if
17772// any.
17773func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDicomStoresListCall {
17774	c.urlParams_.Set("pageToken", pageToken)
17775	return c
17776}
17777
17778// Fields allows partial responses to be retrieved. See
17779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17780// for more information.
17781func (c *ProjectsLocationsDatasetsDicomStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresListCall {
17782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17783	return c
17784}
17785
17786// IfNoneMatch sets the optional parameter which makes the operation
17787// fail if the object's ETag matches the given value. This is useful for
17788// getting updates only after the object has changed since the last
17789// request. Use googleapi.IsNotModified to check whether the response
17790// error from Do is the result of In-None-Match.
17791func (c *ProjectsLocationsDatasetsDicomStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresListCall {
17792	c.ifNoneMatch_ = entityTag
17793	return c
17794}
17795
17796// Context sets the context to be used in this call's Do method. Any
17797// pending HTTP request will be aborted if the provided context is
17798// canceled.
17799func (c *ProjectsLocationsDatasetsDicomStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresListCall {
17800	c.ctx_ = ctx
17801	return c
17802}
17803
17804// Header returns an http.Header that can be modified by the caller to
17805// add HTTP headers to the request.
17806func (c *ProjectsLocationsDatasetsDicomStoresListCall) Header() http.Header {
17807	if c.header_ == nil {
17808		c.header_ = make(http.Header)
17809	}
17810	return c.header_
17811}
17812
17813func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
17814	reqHeaders := make(http.Header)
17815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17816	for k, v := range c.header_ {
17817		reqHeaders[k] = v
17818	}
17819	reqHeaders.Set("User-Agent", c.s.userAgent())
17820	if c.ifNoneMatch_ != "" {
17821		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17822	}
17823	var body io.Reader = nil
17824	c.urlParams_.Set("alt", alt)
17825	c.urlParams_.Set("prettyPrint", "false")
17826	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
17827	urls += "?" + c.urlParams_.Encode()
17828	req, err := http.NewRequest("GET", urls, body)
17829	if err != nil {
17830		return nil, err
17831	}
17832	req.Header = reqHeaders
17833	googleapi.Expand(req.URL, map[string]string{
17834		"parent": c.parent,
17835	})
17836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17837}
17838
17839// Do executes the "healthcare.projects.locations.datasets.dicomStores.list" call.
17840// Exactly one of *ListDicomStoresResponse or error will be non-nil. Any
17841// non-2xx status code is an error. Response headers are in either
17842// *ListDicomStoresResponse.ServerResponse.Header or (if a response was
17843// returned at all) in error.(*googleapi.Error).Header. Use
17844// googleapi.IsNotModified to check whether the returned error was
17845// because http.StatusNotModified was returned.
17846func (c *ProjectsLocationsDatasetsDicomStoresListCall) Do(opts ...googleapi.CallOption) (*ListDicomStoresResponse, error) {
17847	gensupport.SetOptions(c.urlParams_, opts...)
17848	res, err := c.doRequest("json")
17849	if res != nil && res.StatusCode == http.StatusNotModified {
17850		if res.Body != nil {
17851			res.Body.Close()
17852		}
17853		return nil, &googleapi.Error{
17854			Code:   res.StatusCode,
17855			Header: res.Header,
17856		}
17857	}
17858	if err != nil {
17859		return nil, err
17860	}
17861	defer googleapi.CloseBody(res)
17862	if err := googleapi.CheckResponse(res); err != nil {
17863		return nil, err
17864	}
17865	ret := &ListDicomStoresResponse{
17866		ServerResponse: googleapi.ServerResponse{
17867			Header:         res.Header,
17868			HTTPStatusCode: res.StatusCode,
17869		},
17870	}
17871	target := &ret
17872	if err := gensupport.DecodeResponse(target, res); err != nil {
17873		return nil, err
17874	}
17875	return ret, nil
17876	// {
17877	//   "description": "Lists the DICOM stores in the given dataset.",
17878	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
17879	//   "httpMethod": "GET",
17880	//   "id": "healthcare.projects.locations.datasets.dicomStores.list",
17881	//   "parameterOrder": [
17882	//     "parent"
17883	//   ],
17884	//   "parameters": {
17885	//     "filter": {
17886	//       "description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `labels.key=value`.",
17887	//       "location": "query",
17888	//       "type": "string"
17889	//     },
17890	//     "pageSize": {
17891	//       "description": "Limit on the number of DICOM stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
17892	//       "format": "int32",
17893	//       "location": "query",
17894	//       "type": "integer"
17895	//     },
17896	//     "pageToken": {
17897	//       "description": "The next_page_token value returned from the previous List request, if any.",
17898	//       "location": "query",
17899	//       "type": "string"
17900	//     },
17901	//     "parent": {
17902	//       "description": "Name of the dataset.",
17903	//       "location": "path",
17904	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
17905	//       "required": true,
17906	//       "type": "string"
17907	//     }
17908	//   },
17909	//   "path": "v1beta1/{+parent}/dicomStores",
17910	//   "response": {
17911	//     "$ref": "ListDicomStoresResponse"
17912	//   },
17913	//   "scopes": [
17914	//     "https://www.googleapis.com/auth/cloud-platform"
17915	//   ]
17916	// }
17917
17918}
17919
17920// Pages invokes f for each page of results.
17921// A non-nil error returned from f will halt the iteration.
17922// The provided context supersedes any context provided to the Context method.
17923func (c *ProjectsLocationsDatasetsDicomStoresListCall) Pages(ctx context.Context, f func(*ListDicomStoresResponse) error) error {
17924	c.ctx_ = ctx
17925	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17926	for {
17927		x, err := c.Do()
17928		if err != nil {
17929			return err
17930		}
17931		if err := f(x); err != nil {
17932			return err
17933		}
17934		if x.NextPageToken == "" {
17935			return nil
17936		}
17937		c.PageToken(x.NextPageToken)
17938	}
17939}
17940
17941// method id "healthcare.projects.locations.datasets.dicomStores.patch":
17942
17943type ProjectsLocationsDatasetsDicomStoresPatchCall struct {
17944	s          *Service
17945	name       string
17946	dicomstore *DicomStore
17947	urlParams_ gensupport.URLParams
17948	ctx_       context.Context
17949	header_    http.Header
17950}
17951
17952// Patch: Updates the specified DICOM store.
17953func (r *ProjectsLocationsDatasetsDicomStoresService) Patch(name string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresPatchCall {
17954	c := &ProjectsLocationsDatasetsDicomStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17955	c.name = name
17956	c.dicomstore = dicomstore
17957	return c
17958}
17959
17960// UpdateMask sets the optional parameter "updateMask": The update mask
17961// applies to the resource. For the `FieldMask` definition, see
17962// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
17963func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsDicomStoresPatchCall {
17964	c.urlParams_.Set("updateMask", updateMask)
17965	return c
17966}
17967
17968// Fields allows partial responses to be retrieved. See
17969// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17970// for more information.
17971func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresPatchCall {
17972	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17973	return c
17974}
17975
17976// Context sets the context to be used in this call's Do method. Any
17977// pending HTTP request will be aborted if the provided context is
17978// canceled.
17979func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresPatchCall {
17980	c.ctx_ = ctx
17981	return c
17982}
17983
17984// Header returns an http.Header that can be modified by the caller to
17985// add HTTP headers to the request.
17986func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Header() http.Header {
17987	if c.header_ == nil {
17988		c.header_ = make(http.Header)
17989	}
17990	return c.header_
17991}
17992
17993func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
17994	reqHeaders := make(http.Header)
17995	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
17996	for k, v := range c.header_ {
17997		reqHeaders[k] = v
17998	}
17999	reqHeaders.Set("User-Agent", c.s.userAgent())
18000	var body io.Reader = nil
18001	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
18002	if err != nil {
18003		return nil, err
18004	}
18005	reqHeaders.Set("Content-Type", "application/json")
18006	c.urlParams_.Set("alt", alt)
18007	c.urlParams_.Set("prettyPrint", "false")
18008	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
18009	urls += "?" + c.urlParams_.Encode()
18010	req, err := http.NewRequest("PATCH", urls, body)
18011	if err != nil {
18012		return nil, err
18013	}
18014	req.Header = reqHeaders
18015	googleapi.Expand(req.URL, map[string]string{
18016		"name": c.name,
18017	})
18018	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18019}
18020
18021// Do executes the "healthcare.projects.locations.datasets.dicomStores.patch" call.
18022// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
18023// status code is an error. Response headers are in either
18024// *DicomStore.ServerResponse.Header or (if a response was returned at
18025// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18026// to check whether the returned error was because
18027// http.StatusNotModified was returned.
18028func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
18029	gensupport.SetOptions(c.urlParams_, opts...)
18030	res, err := c.doRequest("json")
18031	if res != nil && res.StatusCode == http.StatusNotModified {
18032		if res.Body != nil {
18033			res.Body.Close()
18034		}
18035		return nil, &googleapi.Error{
18036			Code:   res.StatusCode,
18037			Header: res.Header,
18038		}
18039	}
18040	if err != nil {
18041		return nil, err
18042	}
18043	defer googleapi.CloseBody(res)
18044	if err := googleapi.CheckResponse(res); err != nil {
18045		return nil, err
18046	}
18047	ret := &DicomStore{
18048		ServerResponse: googleapi.ServerResponse{
18049			Header:         res.Header,
18050			HTTPStatusCode: res.StatusCode,
18051		},
18052	}
18053	target := &ret
18054	if err := gensupport.DecodeResponse(target, res); err != nil {
18055		return nil, err
18056	}
18057	return ret, nil
18058	// {
18059	//   "description": "Updates the specified DICOM store.",
18060	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
18061	//   "httpMethod": "PATCH",
18062	//   "id": "healthcare.projects.locations.datasets.dicomStores.patch",
18063	//   "parameterOrder": [
18064	//     "name"
18065	//   ],
18066	//   "parameters": {
18067	//     "name": {
18068	//       "description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18069	//       "location": "path",
18070	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18071	//       "required": true,
18072	//       "type": "string"
18073	//     },
18074	//     "updateMask": {
18075	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
18076	//       "format": "google-fieldmask",
18077	//       "location": "query",
18078	//       "type": "string"
18079	//     }
18080	//   },
18081	//   "path": "v1beta1/{+name}",
18082	//   "request": {
18083	//     "$ref": "DicomStore"
18084	//   },
18085	//   "response": {
18086	//     "$ref": "DicomStore"
18087	//   },
18088	//   "scopes": [
18089	//     "https://www.googleapis.com/auth/cloud-platform"
18090	//   ]
18091	// }
18092
18093}
18094
18095// method id "healthcare.projects.locations.datasets.dicomStores.searchForInstances":
18096
18097type ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall struct {
18098	s            *Service
18099	parent       string
18100	dicomWebPath string
18101	urlParams_   gensupport.URLParams
18102	ifNoneMatch_ string
18103	ctx_         context.Context
18104	header_      http.Header
18105}
18106
18107// SearchForInstances: SearchForInstances returns a list of matching
18108// instances. See RetrieveTransaction
18109// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18110// For details on the implementation of SearchForInstances, see Search
18111// transaction
18112// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18113// in the Cloud Healthcare API conformance statement. For samples that
18114// show how to call SearchForInstances, see Searching for studies,
18115// series, instances, and frames
18116// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18117func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18118	c := &ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18119	c.parent = parent
18120	c.dicomWebPath = dicomWebPath
18121	return c
18122}
18123
18124// Fields allows partial responses to be retrieved. See
18125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18126// for more information.
18127func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18129	return c
18130}
18131
18132// IfNoneMatch sets the optional parameter which makes the operation
18133// fail if the object's ETag matches the given value. This is useful for
18134// getting updates only after the object has changed since the last
18135// request. Use googleapi.IsNotModified to check whether the response
18136// error from Do is the result of In-None-Match.
18137func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18138	c.ifNoneMatch_ = entityTag
18139	return c
18140}
18141
18142// Context sets the context to be used in this call's Do method. Any
18143// pending HTTP request will be aborted if the provided context is
18144// canceled.
18145func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18146	c.ctx_ = ctx
18147	return c
18148}
18149
18150// Header returns an http.Header that can be modified by the caller to
18151// add HTTP headers to the request.
18152func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Header() http.Header {
18153	if c.header_ == nil {
18154		c.header_ = make(http.Header)
18155	}
18156	return c.header_
18157}
18158
18159func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
18160	reqHeaders := make(http.Header)
18161	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18162	for k, v := range c.header_ {
18163		reqHeaders[k] = v
18164	}
18165	reqHeaders.Set("User-Agent", c.s.userAgent())
18166	if c.ifNoneMatch_ != "" {
18167		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18168	}
18169	var body io.Reader = nil
18170	c.urlParams_.Set("alt", alt)
18171	c.urlParams_.Set("prettyPrint", "false")
18172	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18173	urls += "?" + c.urlParams_.Encode()
18174	req, err := http.NewRequest("GET", urls, body)
18175	if err != nil {
18176		return nil, err
18177	}
18178	req.Header = reqHeaders
18179	googleapi.Expand(req.URL, map[string]string{
18180		"parent":       c.parent,
18181		"dicomWebPath": c.dicomWebPath,
18182	})
18183	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18184}
18185
18186// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForInstances" call.
18187func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18188	gensupport.SetOptions(c.urlParams_, opts...)
18189	return c.doRequest("")
18190	// {
18191	//   "description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
18192	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances",
18193	//   "httpMethod": "GET",
18194	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances",
18195	//   "parameterOrder": [
18196	//     "parent",
18197	//     "dicomWebPath"
18198	//   ],
18199	//   "parameters": {
18200	//     "dicomWebPath": {
18201	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
18202	//       "location": "path",
18203	//       "pattern": "^instances$",
18204	//       "required": true,
18205	//       "type": "string"
18206	//     },
18207	//     "parent": {
18208	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18209	//       "location": "path",
18210	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18211	//       "required": true,
18212	//       "type": "string"
18213	//     }
18214	//   },
18215	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18216	//   "response": {
18217	//     "$ref": "HttpBody"
18218	//   },
18219	//   "scopes": [
18220	//     "https://www.googleapis.com/auth/cloud-platform"
18221	//   ]
18222	// }
18223
18224}
18225
18226// method id "healthcare.projects.locations.datasets.dicomStores.searchForSeries":
18227
18228type ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall struct {
18229	s            *Service
18230	parent       string
18231	dicomWebPath string
18232	urlParams_   gensupport.URLParams
18233	ifNoneMatch_ string
18234	ctx_         context.Context
18235	header_      http.Header
18236}
18237
18238// SearchForSeries: SearchForSeries returns a list of matching series.
18239// See RetrieveTransaction
18240// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18241// For details on the implementation of SearchForSeries, see Search
18242// transaction
18243// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18244// in the Cloud Healthcare API conformance statement. For samples that
18245// show how to call SearchForSeries, see Searching for studies, series,
18246// instances, and frames
18247// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18248func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18249	c := &ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18250	c.parent = parent
18251	c.dicomWebPath = dicomWebPath
18252	return c
18253}
18254
18255// Fields allows partial responses to be retrieved. See
18256// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18257// for more information.
18258func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18259	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18260	return c
18261}
18262
18263// IfNoneMatch sets the optional parameter which makes the operation
18264// fail if the object's ETag matches the given value. This is useful for
18265// getting updates only after the object has changed since the last
18266// request. Use googleapi.IsNotModified to check whether the response
18267// error from Do is the result of In-None-Match.
18268func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18269	c.ifNoneMatch_ = entityTag
18270	return c
18271}
18272
18273// Context sets the context to be used in this call's Do method. Any
18274// pending HTTP request will be aborted if the provided context is
18275// canceled.
18276func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18277	c.ctx_ = ctx
18278	return c
18279}
18280
18281// Header returns an http.Header that can be modified by the caller to
18282// add HTTP headers to the request.
18283func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Header() http.Header {
18284	if c.header_ == nil {
18285		c.header_ = make(http.Header)
18286	}
18287	return c.header_
18288}
18289
18290func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
18291	reqHeaders := make(http.Header)
18292	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18293	for k, v := range c.header_ {
18294		reqHeaders[k] = v
18295	}
18296	reqHeaders.Set("User-Agent", c.s.userAgent())
18297	if c.ifNoneMatch_ != "" {
18298		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18299	}
18300	var body io.Reader = nil
18301	c.urlParams_.Set("alt", alt)
18302	c.urlParams_.Set("prettyPrint", "false")
18303	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18304	urls += "?" + c.urlParams_.Encode()
18305	req, err := http.NewRequest("GET", urls, body)
18306	if err != nil {
18307		return nil, err
18308	}
18309	req.Header = reqHeaders
18310	googleapi.Expand(req.URL, map[string]string{
18311		"parent":       c.parent,
18312		"dicomWebPath": c.dicomWebPath,
18313	})
18314	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18315}
18316
18317// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForSeries" call.
18318func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18319	gensupport.SetOptions(c.urlParams_, opts...)
18320	return c.doRequest("")
18321	// {
18322	//   "description": "SearchForSeries returns a list of matching series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
18323	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series",
18324	//   "httpMethod": "GET",
18325	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries",
18326	//   "parameterOrder": [
18327	//     "parent",
18328	//     "dicomWebPath"
18329	//   ],
18330	//   "parameters": {
18331	//     "dicomWebPath": {
18332	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
18333	//       "location": "path",
18334	//       "pattern": "^series$",
18335	//       "required": true,
18336	//       "type": "string"
18337	//     },
18338	//     "parent": {
18339	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18340	//       "location": "path",
18341	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18342	//       "required": true,
18343	//       "type": "string"
18344	//     }
18345	//   },
18346	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18347	//   "response": {
18348	//     "$ref": "HttpBody"
18349	//   },
18350	//   "scopes": [
18351	//     "https://www.googleapis.com/auth/cloud-platform"
18352	//   ]
18353	// }
18354
18355}
18356
18357// method id "healthcare.projects.locations.datasets.dicomStores.searchForStudies":
18358
18359type ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall struct {
18360	s            *Service
18361	parent       string
18362	dicomWebPath string
18363	urlParams_   gensupport.URLParams
18364	ifNoneMatch_ string
18365	ctx_         context.Context
18366	header_      http.Header
18367}
18368
18369// SearchForStudies: SearchForStudies returns a list of matching
18370// studies. See RetrieveTransaction
18371// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18372// For details on the implementation of SearchForStudies, see Search
18373// transaction
18374// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18375// in the Cloud Healthcare API conformance statement. For samples that
18376// show how to call SearchForStudies, see Searching for studies, series,
18377// instances, and frames
18378// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18379func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForStudies(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18380	c := &ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18381	c.parent = parent
18382	c.dicomWebPath = dicomWebPath
18383	return c
18384}
18385
18386// Fields allows partial responses to be retrieved. See
18387// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18388// for more information.
18389func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18390	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18391	return c
18392}
18393
18394// IfNoneMatch sets the optional parameter which makes the operation
18395// fail if the object's ETag matches the given value. This is useful for
18396// getting updates only after the object has changed since the last
18397// request. Use googleapi.IsNotModified to check whether the response
18398// error from Do is the result of In-None-Match.
18399func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18400	c.ifNoneMatch_ = entityTag
18401	return c
18402}
18403
18404// Context sets the context to be used in this call's Do method. Any
18405// pending HTTP request will be aborted if the provided context is
18406// canceled.
18407func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18408	c.ctx_ = ctx
18409	return c
18410}
18411
18412// Header returns an http.Header that can be modified by the caller to
18413// add HTTP headers to the request.
18414func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Header() http.Header {
18415	if c.header_ == nil {
18416		c.header_ = make(http.Header)
18417	}
18418	return c.header_
18419}
18420
18421func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
18422	reqHeaders := make(http.Header)
18423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18424	for k, v := range c.header_ {
18425		reqHeaders[k] = v
18426	}
18427	reqHeaders.Set("User-Agent", c.s.userAgent())
18428	if c.ifNoneMatch_ != "" {
18429		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18430	}
18431	var body io.Reader = nil
18432	c.urlParams_.Set("alt", alt)
18433	c.urlParams_.Set("prettyPrint", "false")
18434	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18435	urls += "?" + c.urlParams_.Encode()
18436	req, err := http.NewRequest("GET", urls, body)
18437	if err != nil {
18438		return nil, err
18439	}
18440	req.Header = reqHeaders
18441	googleapi.Expand(req.URL, map[string]string{
18442		"parent":       c.parent,
18443		"dicomWebPath": c.dicomWebPath,
18444	})
18445	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18446}
18447
18448// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForStudies" call.
18449func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18450	gensupport.SetOptions(c.urlParams_, opts...)
18451	return c.doRequest("")
18452	// {
18453	//   "description": "SearchForStudies returns a list of matching studies. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForStudies, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForStudies, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
18454	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
18455	//   "httpMethod": "GET",
18456	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies",
18457	//   "parameterOrder": [
18458	//     "parent",
18459	//     "dicomWebPath"
18460	//   ],
18461	//   "parameters": {
18462	//     "dicomWebPath": {
18463	//       "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.",
18464	//       "location": "path",
18465	//       "pattern": "^studies$",
18466	//       "required": true,
18467	//       "type": "string"
18468	//     },
18469	//     "parent": {
18470	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18471	//       "location": "path",
18472	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18473	//       "required": true,
18474	//       "type": "string"
18475	//     }
18476	//   },
18477	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18478	//   "response": {
18479	//     "$ref": "HttpBody"
18480	//   },
18481	//   "scopes": [
18482	//     "https://www.googleapis.com/auth/cloud-platform"
18483	//   ]
18484	// }
18485
18486}
18487
18488// method id "healthcare.projects.locations.datasets.dicomStores.setIamPolicy":
18489
18490type ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall struct {
18491	s                   *Service
18492	resource            string
18493	setiampolicyrequest *SetIamPolicyRequest
18494	urlParams_          gensupport.URLParams
18495	ctx_                context.Context
18496	header_             http.Header
18497}
18498
18499// SetIamPolicy: Sets the access control policy on the specified
18500// resource. Replaces any existing policy. Can return `NOT_FOUND`,
18501// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
18502func (r *ProjectsLocationsDatasetsDicomStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18503	c := &ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18504	c.resource = resource
18505	c.setiampolicyrequest = setiampolicyrequest
18506	return c
18507}
18508
18509// Fields allows partial responses to be retrieved. See
18510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18511// for more information.
18512func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18514	return c
18515}
18516
18517// Context sets the context to be used in this call's Do method. Any
18518// pending HTTP request will be aborted if the provided context is
18519// canceled.
18520func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18521	c.ctx_ = ctx
18522	return c
18523}
18524
18525// Header returns an http.Header that can be modified by the caller to
18526// add HTTP headers to the request.
18527func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Header() http.Header {
18528	if c.header_ == nil {
18529		c.header_ = make(http.Header)
18530	}
18531	return c.header_
18532}
18533
18534func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
18535	reqHeaders := make(http.Header)
18536	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18537	for k, v := range c.header_ {
18538		reqHeaders[k] = v
18539	}
18540	reqHeaders.Set("User-Agent", c.s.userAgent())
18541	var body io.Reader = nil
18542	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
18543	if err != nil {
18544		return nil, err
18545	}
18546	reqHeaders.Set("Content-Type", "application/json")
18547	c.urlParams_.Set("alt", alt)
18548	c.urlParams_.Set("prettyPrint", "false")
18549	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
18550	urls += "?" + c.urlParams_.Encode()
18551	req, err := http.NewRequest("POST", urls, body)
18552	if err != nil {
18553		return nil, err
18554	}
18555	req.Header = reqHeaders
18556	googleapi.Expand(req.URL, map[string]string{
18557		"resource": c.resource,
18558	})
18559	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18560}
18561
18562// Do executes the "healthcare.projects.locations.datasets.dicomStores.setIamPolicy" call.
18563// Exactly one of *Policy or error will be non-nil. Any non-2xx status
18564// code is an error. Response headers are in either
18565// *Policy.ServerResponse.Header or (if a response was returned at all)
18566// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18567// check whether the returned error was because http.StatusNotModified
18568// was returned.
18569func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
18570	gensupport.SetOptions(c.urlParams_, opts...)
18571	res, err := c.doRequest("json")
18572	if res != nil && res.StatusCode == http.StatusNotModified {
18573		if res.Body != nil {
18574			res.Body.Close()
18575		}
18576		return nil, &googleapi.Error{
18577			Code:   res.StatusCode,
18578			Header: res.Header,
18579		}
18580	}
18581	if err != nil {
18582		return nil, err
18583	}
18584	defer googleapi.CloseBody(res)
18585	if err := googleapi.CheckResponse(res); err != nil {
18586		return nil, err
18587	}
18588	ret := &Policy{
18589		ServerResponse: googleapi.ServerResponse{
18590			Header:         res.Header,
18591			HTTPStatusCode: res.StatusCode,
18592		},
18593	}
18594	target := &ret
18595	if err := gensupport.DecodeResponse(target, res); err != nil {
18596		return nil, err
18597	}
18598	return ret, nil
18599	// {
18600	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
18601	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy",
18602	//   "httpMethod": "POST",
18603	//   "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy",
18604	//   "parameterOrder": [
18605	//     "resource"
18606	//   ],
18607	//   "parameters": {
18608	//     "resource": {
18609	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
18610	//       "location": "path",
18611	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18612	//       "required": true,
18613	//       "type": "string"
18614	//     }
18615	//   },
18616	//   "path": "v1beta1/{+resource}:setIamPolicy",
18617	//   "request": {
18618	//     "$ref": "SetIamPolicyRequest"
18619	//   },
18620	//   "response": {
18621	//     "$ref": "Policy"
18622	//   },
18623	//   "scopes": [
18624	//     "https://www.googleapis.com/auth/cloud-platform"
18625	//   ]
18626	// }
18627
18628}
18629
18630// method id "healthcare.projects.locations.datasets.dicomStores.storeInstances":
18631
18632type ProjectsLocationsDatasetsDicomStoresStoreInstancesCall struct {
18633	s            *Service
18634	parent       string
18635	dicomWebPath string
18636	body_        io.Reader
18637	urlParams_   gensupport.URLParams
18638	ctx_         context.Context
18639	header_      http.Header
18640}
18641
18642// StoreInstances: StoreInstances stores DICOM instances associated with
18643// study instance unique identifiers (SUID). See Store Transaction
18644// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
18645// For details on the implementation of StoreInstances, see Store
18646// transaction
18647// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
18648// the Cloud Healthcare API conformance statement. For samples that show
18649// how to call StoreInstances, see Storing DICOM data
18650// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
18651func (r *ProjectsLocationsDatasetsDicomStoresService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18652	c := &ProjectsLocationsDatasetsDicomStoresStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18653	c.parent = parent
18654	c.dicomWebPath = dicomWebPath
18655	c.body_ = body_
18656	return c
18657}
18658
18659// Fields allows partial responses to be retrieved. See
18660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18661// for more information.
18662func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18664	return c
18665}
18666
18667// Context sets the context to be used in this call's Do method. Any
18668// pending HTTP request will be aborted if the provided context is
18669// canceled.
18670func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18671	c.ctx_ = ctx
18672	return c
18673}
18674
18675// Header returns an http.Header that can be modified by the caller to
18676// add HTTP headers to the request.
18677func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Header() http.Header {
18678	if c.header_ == nil {
18679		c.header_ = make(http.Header)
18680	}
18681	return c.header_
18682}
18683
18684func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
18685	reqHeaders := make(http.Header)
18686	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18687	for k, v := range c.header_ {
18688		reqHeaders[k] = v
18689	}
18690	reqHeaders.Set("User-Agent", c.s.userAgent())
18691	var body io.Reader = nil
18692	body = c.body_
18693	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18694	urls += "?" + c.urlParams_.Encode()
18695	req, err := http.NewRequest("POST", urls, body)
18696	if err != nil {
18697		return nil, err
18698	}
18699	req.Header = reqHeaders
18700	googleapi.Expand(req.URL, map[string]string{
18701		"parent":       c.parent,
18702		"dicomWebPath": c.dicomWebPath,
18703	})
18704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18705}
18706
18707// Do executes the "healthcare.projects.locations.datasets.dicomStores.storeInstances" call.
18708func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18709	gensupport.SetOptions(c.urlParams_, opts...)
18710	return c.doRequest("")
18711	// {
18712	//   "description": "StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Storing DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).",
18713	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
18714	//   "httpMethod": "POST",
18715	//   "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances",
18716	//   "parameterOrder": [
18717	//     "parent",
18718	//     "dicomWebPath"
18719	//   ],
18720	//   "parameters": {
18721	//     "dicomWebPath": {
18722	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
18723	//       "location": "path",
18724	//       "pattern": "^studies$",
18725	//       "required": true,
18726	//       "type": "string"
18727	//     },
18728	//     "parent": {
18729	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18730	//       "location": "path",
18731	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18732	//       "required": true,
18733	//       "type": "string"
18734	//     }
18735	//   },
18736	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18737	//   "request": {
18738	//     "$ref": "HttpBody"
18739	//   },
18740	//   "response": {
18741	//     "$ref": "HttpBody"
18742	//   },
18743	//   "scopes": [
18744	//     "https://www.googleapis.com/auth/cloud-platform"
18745	//   ]
18746	// }
18747
18748}
18749
18750// method id "healthcare.projects.locations.datasets.dicomStores.testIamPermissions":
18751
18752type ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall struct {
18753	s                         *Service
18754	resource                  string
18755	testiampermissionsrequest *TestIamPermissionsRequest
18756	urlParams_                gensupport.URLParams
18757	ctx_                      context.Context
18758	header_                   http.Header
18759}
18760
18761// TestIamPermissions: Returns permissions that a caller has on the
18762// specified resource. If the resource does not exist, this will return
18763// an empty set of permissions, not a `NOT_FOUND` error. Note: This
18764// operation is designed to be used for building permission-aware UIs
18765// and command-line tools, not for authorization checking. This
18766// operation may "fail open" without warning.
18767func (r *ProjectsLocationsDatasetsDicomStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
18768	c := &ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18769	c.resource = resource
18770	c.testiampermissionsrequest = testiampermissionsrequest
18771	return c
18772}
18773
18774// Fields allows partial responses to be retrieved. See
18775// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18776// for more information.
18777func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
18778	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18779	return c
18780}
18781
18782// Context sets the context to be used in this call's Do method. Any
18783// pending HTTP request will be aborted if the provided context is
18784// canceled.
18785func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
18786	c.ctx_ = ctx
18787	return c
18788}
18789
18790// Header returns an http.Header that can be modified by the caller to
18791// add HTTP headers to the request.
18792func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Header() http.Header {
18793	if c.header_ == nil {
18794		c.header_ = make(http.Header)
18795	}
18796	return c.header_
18797}
18798
18799func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
18800	reqHeaders := make(http.Header)
18801	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18802	for k, v := range c.header_ {
18803		reqHeaders[k] = v
18804	}
18805	reqHeaders.Set("User-Agent", c.s.userAgent())
18806	var body io.Reader = nil
18807	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
18808	if err != nil {
18809		return nil, err
18810	}
18811	reqHeaders.Set("Content-Type", "application/json")
18812	c.urlParams_.Set("alt", alt)
18813	c.urlParams_.Set("prettyPrint", "false")
18814	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
18815	urls += "?" + c.urlParams_.Encode()
18816	req, err := http.NewRequest("POST", urls, body)
18817	if err != nil {
18818		return nil, err
18819	}
18820	req.Header = reqHeaders
18821	googleapi.Expand(req.URL, map[string]string{
18822		"resource": c.resource,
18823	})
18824	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18825}
18826
18827// Do executes the "healthcare.projects.locations.datasets.dicomStores.testIamPermissions" call.
18828// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
18829// Any non-2xx status code is an error. Response headers are in either
18830// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
18831// was returned at all) in error.(*googleapi.Error).Header. Use
18832// googleapi.IsNotModified to check whether the returned error was
18833// because http.StatusNotModified was returned.
18834func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
18835	gensupport.SetOptions(c.urlParams_, opts...)
18836	res, err := c.doRequest("json")
18837	if res != nil && res.StatusCode == http.StatusNotModified {
18838		if res.Body != nil {
18839			res.Body.Close()
18840		}
18841		return nil, &googleapi.Error{
18842			Code:   res.StatusCode,
18843			Header: res.Header,
18844		}
18845	}
18846	if err != nil {
18847		return nil, err
18848	}
18849	defer googleapi.CloseBody(res)
18850	if err := googleapi.CheckResponse(res); err != nil {
18851		return nil, err
18852	}
18853	ret := &TestIamPermissionsResponse{
18854		ServerResponse: googleapi.ServerResponse{
18855			Header:         res.Header,
18856			HTTPStatusCode: res.StatusCode,
18857		},
18858	}
18859	target := &ret
18860	if err := gensupport.DecodeResponse(target, res); err != nil {
18861		return nil, err
18862	}
18863	return ret, nil
18864	// {
18865	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
18866	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions",
18867	//   "httpMethod": "POST",
18868	//   "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions",
18869	//   "parameterOrder": [
18870	//     "resource"
18871	//   ],
18872	//   "parameters": {
18873	//     "resource": {
18874	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
18875	//       "location": "path",
18876	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18877	//       "required": true,
18878	//       "type": "string"
18879	//     }
18880	//   },
18881	//   "path": "v1beta1/{+resource}:testIamPermissions",
18882	//   "request": {
18883	//     "$ref": "TestIamPermissionsRequest"
18884	//   },
18885	//   "response": {
18886	//     "$ref": "TestIamPermissionsResponse"
18887	//   },
18888	//   "scopes": [
18889	//     "https://www.googleapis.com/auth/cloud-platform"
18890	//   ]
18891	// }
18892
18893}
18894
18895// method id "healthcare.projects.locations.datasets.dicomStores.studies.delete":
18896
18897type ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall struct {
18898	s            *Service
18899	parent       string
18900	dicomWebPath string
18901	urlParams_   gensupport.URLParams
18902	ctx_         context.Context
18903	header_      http.Header
18904}
18905
18906// Delete: DeleteStudy deletes all instances within the given study
18907// using a long running operation. The method returns an Operation which
18908// will be marked successful when the deletion is complete. Warning: If
18909// you insert instances into a study while a delete operation is running
18910// for that study, the instances you insert might not appear in search
18911// results until after the deletion operation finishes. For samples that
18912// show how to call DeleteStudy, see Deleting a study, series, or
18913// instance
18914// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
18915func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
18916	c := &ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18917	c.parent = parent
18918	c.dicomWebPath = dicomWebPath
18919	return c
18920}
18921
18922// Fields allows partial responses to be retrieved. See
18923// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18924// for more information.
18925func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
18926	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18927	return c
18928}
18929
18930// Context sets the context to be used in this call's Do method. Any
18931// pending HTTP request will be aborted if the provided context is
18932// canceled.
18933func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
18934	c.ctx_ = ctx
18935	return c
18936}
18937
18938// Header returns an http.Header that can be modified by the caller to
18939// add HTTP headers to the request.
18940func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Header() http.Header {
18941	if c.header_ == nil {
18942		c.header_ = make(http.Header)
18943	}
18944	return c.header_
18945}
18946
18947func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
18948	reqHeaders := make(http.Header)
18949	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
18950	for k, v := range c.header_ {
18951		reqHeaders[k] = v
18952	}
18953	reqHeaders.Set("User-Agent", c.s.userAgent())
18954	var body io.Reader = nil
18955	c.urlParams_.Set("alt", alt)
18956	c.urlParams_.Set("prettyPrint", "false")
18957	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18958	urls += "?" + c.urlParams_.Encode()
18959	req, err := http.NewRequest("DELETE", urls, body)
18960	if err != nil {
18961		return nil, err
18962	}
18963	req.Header = reqHeaders
18964	googleapi.Expand(req.URL, map[string]string{
18965		"parent":       c.parent,
18966		"dicomWebPath": c.dicomWebPath,
18967	})
18968	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18969}
18970
18971// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.delete" call.
18972// Exactly one of *Operation or error will be non-nil. Any non-2xx
18973// status code is an error. Response headers are in either
18974// *Operation.ServerResponse.Header or (if a response was returned at
18975// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18976// to check whether the returned error was because
18977// http.StatusNotModified was returned.
18978func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
18979	gensupport.SetOptions(c.urlParams_, opts...)
18980	res, err := c.doRequest("json")
18981	if res != nil && res.StatusCode == http.StatusNotModified {
18982		if res.Body != nil {
18983			res.Body.Close()
18984		}
18985		return nil, &googleapi.Error{
18986			Code:   res.StatusCode,
18987			Header: res.Header,
18988		}
18989	}
18990	if err != nil {
18991		return nil, err
18992	}
18993	defer googleapi.CloseBody(res)
18994	if err := googleapi.CheckResponse(res); err != nil {
18995		return nil, err
18996	}
18997	ret := &Operation{
18998		ServerResponse: googleapi.ServerResponse{
18999			Header:         res.Header,
19000			HTTPStatusCode: res.StatusCode,
19001		},
19002	}
19003	target := &ret
19004	if err := gensupport.DecodeResponse(target, res); err != nil {
19005		return nil, err
19006	}
19007	return ret, nil
19008	// {
19009	//   "description": "DeleteStudy deletes all instances within the given study using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: If you insert instances into a study while a delete operation is running for that study, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
19010	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19011	//   "httpMethod": "DELETE",
19012	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete",
19013	//   "parameterOrder": [
19014	//     "parent",
19015	//     "dicomWebPath"
19016	//   ],
19017	//   "parameters": {
19018	//     "dicomWebPath": {
19019	//       "description": "The path of the DeleteStudy request. For example, `studies/{study_uid}`.",
19020	//       "location": "path",
19021	//       "pattern": "^studies/[^/]+$",
19022	//       "required": true,
19023	//       "type": "string"
19024	//     },
19025	//     "parent": {
19026	//       "location": "path",
19027	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19028	//       "required": true,
19029	//       "type": "string"
19030	//     }
19031	//   },
19032	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19033	//   "response": {
19034	//     "$ref": "Operation"
19035	//   },
19036	//   "scopes": [
19037	//     "https://www.googleapis.com/auth/cloud-platform"
19038	//   ]
19039	// }
19040
19041}
19042
19043// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata":
19044
19045type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall struct {
19046	s            *Service
19047	parent       string
19048	dicomWebPath string
19049	urlParams_   gensupport.URLParams
19050	ifNoneMatch_ string
19051	ctx_         context.Context
19052	header_      http.Header
19053}
19054
19055// RetrieveMetadata: RetrieveStudyMetadata returns instance associated
19056// with the given study presented as metadata with the bulk data
19057// removed. See RetrieveTransaction
19058// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19059// For details on the implementation of RetrieveStudyMetadata, see
19060// Metadata resources
19061// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
19062// in the Cloud Healthcare API conformance statement. For samples that
19063// show how to call RetrieveStudyMetadata, see Retrieving metadata
19064// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
19065func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19066	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19067	c.parent = parent
19068	c.dicomWebPath = dicomWebPath
19069	return c
19070}
19071
19072// Fields allows partial responses to be retrieved. See
19073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19074// for more information.
19075func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19077	return c
19078}
19079
19080// IfNoneMatch sets the optional parameter which makes the operation
19081// fail if the object's ETag matches the given value. This is useful for
19082// getting updates only after the object has changed since the last
19083// request. Use googleapi.IsNotModified to check whether the response
19084// error from Do is the result of In-None-Match.
19085func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19086	c.ifNoneMatch_ = entityTag
19087	return c
19088}
19089
19090// Context sets the context to be used in this call's Do method. Any
19091// pending HTTP request will be aborted if the provided context is
19092// canceled.
19093func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19094	c.ctx_ = ctx
19095	return c
19096}
19097
19098// Header returns an http.Header that can be modified by the caller to
19099// add HTTP headers to the request.
19100func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Header() http.Header {
19101	if c.header_ == nil {
19102		c.header_ = make(http.Header)
19103	}
19104	return c.header_
19105}
19106
19107func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
19108	reqHeaders := make(http.Header)
19109	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19110	for k, v := range c.header_ {
19111		reqHeaders[k] = v
19112	}
19113	reqHeaders.Set("User-Agent", c.s.userAgent())
19114	if c.ifNoneMatch_ != "" {
19115		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19116	}
19117	var body io.Reader = nil
19118	c.urlParams_.Set("alt", alt)
19119	c.urlParams_.Set("prettyPrint", "false")
19120	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19121	urls += "?" + c.urlParams_.Encode()
19122	req, err := http.NewRequest("GET", urls, body)
19123	if err != nil {
19124		return nil, err
19125	}
19126	req.Header = reqHeaders
19127	googleapi.Expand(req.URL, map[string]string{
19128		"parent":       c.parent,
19129		"dicomWebPath": c.dicomWebPath,
19130	})
19131	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19132}
19133
19134// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata" call.
19135func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19136	gensupport.SetOptions(c.urlParams_, opts...)
19137	return c.doRequest("")
19138	// {
19139	//   "description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).",
19140	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata",
19141	//   "httpMethod": "GET",
19142	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata",
19143	//   "parameterOrder": [
19144	//     "parent",
19145	//     "dicomWebPath"
19146	//   ],
19147	//   "parameters": {
19148	//     "dicomWebPath": {
19149	//       "description": "The path of the RetrieveStudyMetadata DICOMweb request. For example, `studies/{study_uid}/metadata`.",
19150	//       "location": "path",
19151	//       "pattern": "^studies/[^/]+/metadata$",
19152	//       "required": true,
19153	//       "type": "string"
19154	//     },
19155	//     "parent": {
19156	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19157	//       "location": "path",
19158	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19159	//       "required": true,
19160	//       "type": "string"
19161	//     }
19162	//   },
19163	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19164	//   "response": {
19165	//     "$ref": "HttpBody"
19166	//   },
19167	//   "scopes": [
19168	//     "https://www.googleapis.com/auth/cloud-platform"
19169	//   ]
19170	// }
19171
19172}
19173
19174// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy":
19175
19176type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall struct {
19177	s            *Service
19178	parent       string
19179	dicomWebPath string
19180	urlParams_   gensupport.URLParams
19181	ifNoneMatch_ string
19182	ctx_         context.Context
19183	header_      http.Header
19184}
19185
19186// RetrieveStudy: RetrieveStudy returns all instances within the given
19187// study. See RetrieveTransaction
19188// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19189// For details on the implementation of RetrieveStudy, see DICOM
19190// study/series/instances
19191// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
19192// in the Cloud Healthcare API conformance statement. For samples that
19193// show how to call RetrieveStudy, see Retrieving DICOM data
19194// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
19195func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveStudy(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19196	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19197	c.parent = parent
19198	c.dicomWebPath = dicomWebPath
19199	return c
19200}
19201
19202// Fields allows partial responses to be retrieved. See
19203// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19204// for more information.
19205func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19206	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19207	return c
19208}
19209
19210// IfNoneMatch sets the optional parameter which makes the operation
19211// fail if the object's ETag matches the given value. This is useful for
19212// getting updates only after the object has changed since the last
19213// request. Use googleapi.IsNotModified to check whether the response
19214// error from Do is the result of In-None-Match.
19215func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19216	c.ifNoneMatch_ = entityTag
19217	return c
19218}
19219
19220// Context sets the context to be used in this call's Do method. Any
19221// pending HTTP request will be aborted if the provided context is
19222// canceled.
19223func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19224	c.ctx_ = ctx
19225	return c
19226}
19227
19228// Header returns an http.Header that can be modified by the caller to
19229// add HTTP headers to the request.
19230func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Header() http.Header {
19231	if c.header_ == nil {
19232		c.header_ = make(http.Header)
19233	}
19234	return c.header_
19235}
19236
19237func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) doRequest(alt string) (*http.Response, error) {
19238	reqHeaders := make(http.Header)
19239	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19240	for k, v := range c.header_ {
19241		reqHeaders[k] = v
19242	}
19243	reqHeaders.Set("User-Agent", c.s.userAgent())
19244	if c.ifNoneMatch_ != "" {
19245		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19246	}
19247	var body io.Reader = nil
19248	c.urlParams_.Set("alt", alt)
19249	c.urlParams_.Set("prettyPrint", "false")
19250	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19251	urls += "?" + c.urlParams_.Encode()
19252	req, err := http.NewRequest("GET", urls, body)
19253	if err != nil {
19254		return nil, err
19255	}
19256	req.Header = reqHeaders
19257	googleapi.Expand(req.URL, map[string]string{
19258		"parent":       c.parent,
19259		"dicomWebPath": c.dicomWebPath,
19260	})
19261	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19262}
19263
19264// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy" call.
19265func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19266	gensupport.SetOptions(c.urlParams_, opts...)
19267	return c.doRequest("")
19268	// {
19269	//   "description": "RetrieveStudy returns all instances within the given study. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudy, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudy, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).",
19270	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19271	//   "httpMethod": "GET",
19272	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy",
19273	//   "parameterOrder": [
19274	//     "parent",
19275	//     "dicomWebPath"
19276	//   ],
19277	//   "parameters": {
19278	//     "dicomWebPath": {
19279	//       "description": "The path of the RetrieveStudy DICOMweb request. For example, `studies/{study_uid}`.",
19280	//       "location": "path",
19281	//       "pattern": "^studies/[^/]+$",
19282	//       "required": true,
19283	//       "type": "string"
19284	//     },
19285	//     "parent": {
19286	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19287	//       "location": "path",
19288	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19289	//       "required": true,
19290	//       "type": "string"
19291	//     }
19292	//   },
19293	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19294	//   "response": {
19295	//     "$ref": "HttpBody"
19296	//   },
19297	//   "scopes": [
19298	//     "https://www.googleapis.com/auth/cloud-platform"
19299	//   ]
19300	// }
19301
19302}
19303
19304// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances":
19305
19306type ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall struct {
19307	s            *Service
19308	parent       string
19309	dicomWebPath string
19310	urlParams_   gensupport.URLParams
19311	ifNoneMatch_ string
19312	ctx_         context.Context
19313	header_      http.Header
19314}
19315
19316// SearchForInstances: SearchForInstances returns a list of matching
19317// instances. See RetrieveTransaction
19318// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19319// For details on the implementation of SearchForInstances, see Search
19320// transaction
19321// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19322// in the Cloud Healthcare API conformance statement. For samples that
19323// show how to call SearchForInstances, see Searching for studies,
19324// series, instances, and frames
19325// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19326func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19327	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19328	c.parent = parent
19329	c.dicomWebPath = dicomWebPath
19330	return c
19331}
19332
19333// Fields allows partial responses to be retrieved. See
19334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19335// for more information.
19336func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19338	return c
19339}
19340
19341// IfNoneMatch sets the optional parameter which makes the operation
19342// fail if the object's ETag matches the given value. This is useful for
19343// getting updates only after the object has changed since the last
19344// request. Use googleapi.IsNotModified to check whether the response
19345// error from Do is the result of In-None-Match.
19346func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19347	c.ifNoneMatch_ = entityTag
19348	return c
19349}
19350
19351// Context sets the context to be used in this call's Do method. Any
19352// pending HTTP request will be aborted if the provided context is
19353// canceled.
19354func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19355	c.ctx_ = ctx
19356	return c
19357}
19358
19359// Header returns an http.Header that can be modified by the caller to
19360// add HTTP headers to the request.
19361func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Header() http.Header {
19362	if c.header_ == nil {
19363		c.header_ = make(http.Header)
19364	}
19365	return c.header_
19366}
19367
19368func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
19369	reqHeaders := make(http.Header)
19370	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19371	for k, v := range c.header_ {
19372		reqHeaders[k] = v
19373	}
19374	reqHeaders.Set("User-Agent", c.s.userAgent())
19375	if c.ifNoneMatch_ != "" {
19376		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19377	}
19378	var body io.Reader = nil
19379	c.urlParams_.Set("alt", alt)
19380	c.urlParams_.Set("prettyPrint", "false")
19381	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19382	urls += "?" + c.urlParams_.Encode()
19383	req, err := http.NewRequest("GET", urls, body)
19384	if err != nil {
19385		return nil, err
19386	}
19387	req.Header = reqHeaders
19388	googleapi.Expand(req.URL, map[string]string{
19389		"parent":       c.parent,
19390		"dicomWebPath": c.dicomWebPath,
19391	})
19392	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19393}
19394
19395// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances" call.
19396func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19397	gensupport.SetOptions(c.urlParams_, opts...)
19398	return c.doRequest("")
19399	// {
19400	//   "description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
19401	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances",
19402	//   "httpMethod": "GET",
19403	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances",
19404	//   "parameterOrder": [
19405	//     "parent",
19406	//     "dicomWebPath"
19407	//   ],
19408	//   "parameters": {
19409	//     "dicomWebPath": {
19410	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
19411	//       "location": "path",
19412	//       "pattern": "^studies/[^/]+/instances$",
19413	//       "required": true,
19414	//       "type": "string"
19415	//     },
19416	//     "parent": {
19417	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19418	//       "location": "path",
19419	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19420	//       "required": true,
19421	//       "type": "string"
19422	//     }
19423	//   },
19424	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19425	//   "response": {
19426	//     "$ref": "HttpBody"
19427	//   },
19428	//   "scopes": [
19429	//     "https://www.googleapis.com/auth/cloud-platform"
19430	//   ]
19431	// }
19432
19433}
19434
19435// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries":
19436
19437type ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall struct {
19438	s            *Service
19439	parent       string
19440	dicomWebPath string
19441	urlParams_   gensupport.URLParams
19442	ifNoneMatch_ string
19443	ctx_         context.Context
19444	header_      http.Header
19445}
19446
19447// SearchForSeries: SearchForSeries returns a list of matching series.
19448// See RetrieveTransaction
19449// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19450// For details on the implementation of SearchForSeries, see Search
19451// transaction
19452// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19453// in the Cloud Healthcare API conformance statement. For samples that
19454// show how to call SearchForSeries, see Searching for studies, series,
19455// instances, and frames
19456// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19457func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19458	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19459	c.parent = parent
19460	c.dicomWebPath = dicomWebPath
19461	return c
19462}
19463
19464// Fields allows partial responses to be retrieved. See
19465// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19466// for more information.
19467func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19468	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19469	return c
19470}
19471
19472// IfNoneMatch sets the optional parameter which makes the operation
19473// fail if the object's ETag matches the given value. This is useful for
19474// getting updates only after the object has changed since the last
19475// request. Use googleapi.IsNotModified to check whether the response
19476// error from Do is the result of In-None-Match.
19477func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19478	c.ifNoneMatch_ = entityTag
19479	return c
19480}
19481
19482// Context sets the context to be used in this call's Do method. Any
19483// pending HTTP request will be aborted if the provided context is
19484// canceled.
19485func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19486	c.ctx_ = ctx
19487	return c
19488}
19489
19490// Header returns an http.Header that can be modified by the caller to
19491// add HTTP headers to the request.
19492func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Header() http.Header {
19493	if c.header_ == nil {
19494		c.header_ = make(http.Header)
19495	}
19496	return c.header_
19497}
19498
19499func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
19500	reqHeaders := make(http.Header)
19501	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19502	for k, v := range c.header_ {
19503		reqHeaders[k] = v
19504	}
19505	reqHeaders.Set("User-Agent", c.s.userAgent())
19506	if c.ifNoneMatch_ != "" {
19507		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19508	}
19509	var body io.Reader = nil
19510	c.urlParams_.Set("alt", alt)
19511	c.urlParams_.Set("prettyPrint", "false")
19512	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19513	urls += "?" + c.urlParams_.Encode()
19514	req, err := http.NewRequest("GET", urls, body)
19515	if err != nil {
19516		return nil, err
19517	}
19518	req.Header = reqHeaders
19519	googleapi.Expand(req.URL, map[string]string{
19520		"parent":       c.parent,
19521		"dicomWebPath": c.dicomWebPath,
19522	})
19523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19524}
19525
19526// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries" call.
19527func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19528	gensupport.SetOptions(c.urlParams_, opts...)
19529	return c.doRequest("")
19530	// {
19531	//   "description": "SearchForSeries returns a list of matching series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
19532	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series",
19533	//   "httpMethod": "GET",
19534	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries",
19535	//   "parameterOrder": [
19536	//     "parent",
19537	//     "dicomWebPath"
19538	//   ],
19539	//   "parameters": {
19540	//     "dicomWebPath": {
19541	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
19542	//       "location": "path",
19543	//       "pattern": "^studies/[^/]+/series$",
19544	//       "required": true,
19545	//       "type": "string"
19546	//     },
19547	//     "parent": {
19548	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19549	//       "location": "path",
19550	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19551	//       "required": true,
19552	//       "type": "string"
19553	//     }
19554	//   },
19555	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19556	//   "response": {
19557	//     "$ref": "HttpBody"
19558	//   },
19559	//   "scopes": [
19560	//     "https://www.googleapis.com/auth/cloud-platform"
19561	//   ]
19562	// }
19563
19564}
19565
19566// method id "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances":
19567
19568type ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall struct {
19569	s            *Service
19570	parent       string
19571	dicomWebPath string
19572	body_        io.Reader
19573	urlParams_   gensupport.URLParams
19574	ctx_         context.Context
19575	header_      http.Header
19576}
19577
19578// StoreInstances: StoreInstances stores DICOM instances associated with
19579// study instance unique identifiers (SUID). See Store Transaction
19580// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
19581// For details on the implementation of StoreInstances, see Store
19582// transaction
19583// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
19584// the Cloud Healthcare API conformance statement. For samples that show
19585// how to call StoreInstances, see Storing DICOM data
19586// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
19587func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19588	c := &ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19589	c.parent = parent
19590	c.dicomWebPath = dicomWebPath
19591	c.body_ = body_
19592	return c
19593}
19594
19595// Fields allows partial responses to be retrieved. See
19596// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19597// for more information.
19598func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19599	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19600	return c
19601}
19602
19603// Context sets the context to be used in this call's Do method. Any
19604// pending HTTP request will be aborted if the provided context is
19605// canceled.
19606func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19607	c.ctx_ = ctx
19608	return c
19609}
19610
19611// Header returns an http.Header that can be modified by the caller to
19612// add HTTP headers to the request.
19613func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Header() http.Header {
19614	if c.header_ == nil {
19615		c.header_ = make(http.Header)
19616	}
19617	return c.header_
19618}
19619
19620func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
19621	reqHeaders := make(http.Header)
19622	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19623	for k, v := range c.header_ {
19624		reqHeaders[k] = v
19625	}
19626	reqHeaders.Set("User-Agent", c.s.userAgent())
19627	var body io.Reader = nil
19628	body = c.body_
19629	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19630	urls += "?" + c.urlParams_.Encode()
19631	req, err := http.NewRequest("POST", urls, body)
19632	if err != nil {
19633		return nil, err
19634	}
19635	req.Header = reqHeaders
19636	googleapi.Expand(req.URL, map[string]string{
19637		"parent":       c.parent,
19638		"dicomWebPath": c.dicomWebPath,
19639	})
19640	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19641}
19642
19643// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances" call.
19644func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19645	gensupport.SetOptions(c.urlParams_, opts...)
19646	return c.doRequest("")
19647	// {
19648	//   "description": "StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Storing DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).",
19649	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19650	//   "httpMethod": "POST",
19651	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances",
19652	//   "parameterOrder": [
19653	//     "parent",
19654	//     "dicomWebPath"
19655	//   ],
19656	//   "parameters": {
19657	//     "dicomWebPath": {
19658	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
19659	//       "location": "path",
19660	//       "pattern": "^studies/[^/]+$",
19661	//       "required": true,
19662	//       "type": "string"
19663	//     },
19664	//     "parent": {
19665	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19666	//       "location": "path",
19667	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19668	//       "required": true,
19669	//       "type": "string"
19670	//     }
19671	//   },
19672	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19673	//   "request": {
19674	//     "$ref": "HttpBody"
19675	//   },
19676	//   "response": {
19677	//     "$ref": "HttpBody"
19678	//   },
19679	//   "scopes": [
19680	//     "https://www.googleapis.com/auth/cloud-platform"
19681	//   ]
19682	// }
19683
19684}
19685
19686// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.delete":
19687
19688type ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall struct {
19689	s            *Service
19690	parent       string
19691	dicomWebPath string
19692	urlParams_   gensupport.URLParams
19693	ctx_         context.Context
19694	header_      http.Header
19695}
19696
19697// Delete: DeleteSeries deletes all instances within the given study and
19698// series using a long running operation. The method returns an
19699// Operation which will be marked successful when the deletion is
19700// complete. Warning: If you insert instances into a series while a
19701// delete operation is running for that series, the instances you insert
19702// might not appear in search results until after the deletion operation
19703// finishes. For samples that show how to call DeleteSeries, see
19704// Deleting a study, series, or instance
19705// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
19706func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
19707	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19708	c.parent = parent
19709	c.dicomWebPath = dicomWebPath
19710	return c
19711}
19712
19713// Fields allows partial responses to be retrieved. See
19714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19715// for more information.
19716func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
19717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19718	return c
19719}
19720
19721// Context sets the context to be used in this call's Do method. Any
19722// pending HTTP request will be aborted if the provided context is
19723// canceled.
19724func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
19725	c.ctx_ = ctx
19726	return c
19727}
19728
19729// Header returns an http.Header that can be modified by the caller to
19730// add HTTP headers to the request.
19731func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Header() http.Header {
19732	if c.header_ == nil {
19733		c.header_ = make(http.Header)
19734	}
19735	return c.header_
19736}
19737
19738func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
19739	reqHeaders := make(http.Header)
19740	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19741	for k, v := range c.header_ {
19742		reqHeaders[k] = v
19743	}
19744	reqHeaders.Set("User-Agent", c.s.userAgent())
19745	var body io.Reader = nil
19746	c.urlParams_.Set("alt", alt)
19747	c.urlParams_.Set("prettyPrint", "false")
19748	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19749	urls += "?" + c.urlParams_.Encode()
19750	req, err := http.NewRequest("DELETE", urls, body)
19751	if err != nil {
19752		return nil, err
19753	}
19754	req.Header = reqHeaders
19755	googleapi.Expand(req.URL, map[string]string{
19756		"parent":       c.parent,
19757		"dicomWebPath": c.dicomWebPath,
19758	})
19759	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19760}
19761
19762// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.delete" call.
19763// Exactly one of *Operation or error will be non-nil. Any non-2xx
19764// status code is an error. Response headers are in either
19765// *Operation.ServerResponse.Header or (if a response was returned at
19766// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19767// to check whether the returned error was because
19768// http.StatusNotModified was returned.
19769func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
19770	gensupport.SetOptions(c.urlParams_, opts...)
19771	res, err := c.doRequest("json")
19772	if res != nil && res.StatusCode == http.StatusNotModified {
19773		if res.Body != nil {
19774			res.Body.Close()
19775		}
19776		return nil, &googleapi.Error{
19777			Code:   res.StatusCode,
19778			Header: res.Header,
19779		}
19780	}
19781	if err != nil {
19782		return nil, err
19783	}
19784	defer googleapi.CloseBody(res)
19785	if err := googleapi.CheckResponse(res); err != nil {
19786		return nil, err
19787	}
19788	ret := &Operation{
19789		ServerResponse: googleapi.ServerResponse{
19790			Header:         res.Header,
19791			HTTPStatusCode: res.StatusCode,
19792		},
19793	}
19794	target := &ret
19795	if err := gensupport.DecodeResponse(target, res); err != nil {
19796		return nil, err
19797	}
19798	return ret, nil
19799	// {
19800	//   "description": "DeleteSeries deletes all instances within the given study and series using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: If you insert instances into a series while a delete operation is running for that series, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
19801	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
19802	//   "httpMethod": "DELETE",
19803	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete",
19804	//   "parameterOrder": [
19805	//     "parent",
19806	//     "dicomWebPath"
19807	//   ],
19808	//   "parameters": {
19809	//     "dicomWebPath": {
19810	//       "description": "The path of the DeleteSeries request. For example, `studies/{study_uid}/series/{series_uid}`.",
19811	//       "location": "path",
19812	//       "pattern": "^studies/[^/]+/series/[^/]+$",
19813	//       "required": true,
19814	//       "type": "string"
19815	//     },
19816	//     "parent": {
19817	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19818	//       "location": "path",
19819	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19820	//       "required": true,
19821	//       "type": "string"
19822	//     }
19823	//   },
19824	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19825	//   "response": {
19826	//     "$ref": "Operation"
19827	//   },
19828	//   "scopes": [
19829	//     "https://www.googleapis.com/auth/cloud-platform"
19830	//   ]
19831	// }
19832
19833}
19834
19835// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata":
19836
19837type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall struct {
19838	s            *Service
19839	parent       string
19840	dicomWebPath string
19841	urlParams_   gensupport.URLParams
19842	ifNoneMatch_ string
19843	ctx_         context.Context
19844	header_      http.Header
19845}
19846
19847// RetrieveMetadata: RetrieveSeriesMetadata returns instance associated
19848// with the given study and series, presented as metadata with the bulk
19849// data removed. See RetrieveTransaction
19850// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19851// For details on the implementation of RetrieveSeriesMetadata, see
19852// Metadata resources
19853// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
19854// in the Cloud Healthcare API conformance statement. For samples that
19855// show how to call RetrieveSeriesMetadata, see Retrieving metadata
19856// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
19857func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
19858	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19859	c.parent = parent
19860	c.dicomWebPath = dicomWebPath
19861	return c
19862}
19863
19864// Fields allows partial responses to be retrieved. See
19865// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19866// for more information.
19867func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
19868	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19869	return c
19870}
19871
19872// IfNoneMatch sets the optional parameter which makes the operation
19873// fail if the object's ETag matches the given value. This is useful for
19874// getting updates only after the object has changed since the last
19875// request. Use googleapi.IsNotModified to check whether the response
19876// error from Do is the result of In-None-Match.
19877func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
19878	c.ifNoneMatch_ = entityTag
19879	return c
19880}
19881
19882// Context sets the context to be used in this call's Do method. Any
19883// pending HTTP request will be aborted if the provided context is
19884// canceled.
19885func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
19886	c.ctx_ = ctx
19887	return c
19888}
19889
19890// Header returns an http.Header that can be modified by the caller to
19891// add HTTP headers to the request.
19892func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Header() http.Header {
19893	if c.header_ == nil {
19894		c.header_ = make(http.Header)
19895	}
19896	return c.header_
19897}
19898
19899func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
19900	reqHeaders := make(http.Header)
19901	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
19902	for k, v := range c.header_ {
19903		reqHeaders[k] = v
19904	}
19905	reqHeaders.Set("User-Agent", c.s.userAgent())
19906	if c.ifNoneMatch_ != "" {
19907		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19908	}
19909	var body io.Reader = nil
19910	c.urlParams_.Set("alt", alt)
19911	c.urlParams_.Set("prettyPrint", "false")
19912	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19913	urls += "?" + c.urlParams_.Encode()
19914	req, err := http.NewRequest("GET", urls, body)
19915	if err != nil {
19916		return nil, err
19917	}
19918	req.Header = reqHeaders
19919	googleapi.Expand(req.URL, map[string]string{
19920		"parent":       c.parent,
19921		"dicomWebPath": c.dicomWebPath,
19922	})
19923	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19924}
19925
19926// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata" call.
19927func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19928	gensupport.SetOptions(c.urlParams_, opts...)
19929	return c.doRequest("")
19930	// {
19931	//   "description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).",
19932	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata",
19933	//   "httpMethod": "GET",
19934	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata",
19935	//   "parameterOrder": [
19936	//     "parent",
19937	//     "dicomWebPath"
19938	//   ],
19939	//   "parameters": {
19940	//     "dicomWebPath": {
19941	//       "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.",
19942	//       "location": "path",
19943	//       "pattern": "^studies/[^/]+/series/[^/]+/metadata$",
19944	//       "required": true,
19945	//       "type": "string"
19946	//     },
19947	//     "parent": {
19948	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
19949	//       "location": "path",
19950	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19951	//       "required": true,
19952	//       "type": "string"
19953	//     }
19954	//   },
19955	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19956	//   "response": {
19957	//     "$ref": "HttpBody"
19958	//   },
19959	//   "scopes": [
19960	//     "https://www.googleapis.com/auth/cloud-platform"
19961	//   ]
19962	// }
19963
19964}
19965
19966// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries":
19967
19968type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall struct {
19969	s            *Service
19970	parent       string
19971	dicomWebPath string
19972	urlParams_   gensupport.URLParams
19973	ifNoneMatch_ string
19974	ctx_         context.Context
19975	header_      http.Header
19976}
19977
19978// RetrieveSeries: RetrieveSeries returns all instances within the given
19979// study and series. See RetrieveTransaction
19980// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19981// For details on the implementation of RetrieveSeries, see DICOM
19982// study/series/instances
19983// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
19984// in the Cloud Healthcare API conformance statement. For samples that
19985// show how to call RetrieveSeries, see Retrieving DICOM data
19986// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
19987func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
19988	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19989	c.parent = parent
19990	c.dicomWebPath = dicomWebPath
19991	return c
19992}
19993
19994// Fields allows partial responses to be retrieved. See
19995// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19996// for more information.
19997func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
19998	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19999	return c
20000}
20001
20002// IfNoneMatch sets the optional parameter which makes the operation
20003// fail if the object's ETag matches the given value. This is useful for
20004// getting updates only after the object has changed since the last
20005// request. Use googleapi.IsNotModified to check whether the response
20006// error from Do is the result of In-None-Match.
20007func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20008	c.ifNoneMatch_ = entityTag
20009	return c
20010}
20011
20012// Context sets the context to be used in this call's Do method. Any
20013// pending HTTP request will be aborted if the provided context is
20014// canceled.
20015func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20016	c.ctx_ = ctx
20017	return c
20018}
20019
20020// Header returns an http.Header that can be modified by the caller to
20021// add HTTP headers to the request.
20022func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Header() http.Header {
20023	if c.header_ == nil {
20024		c.header_ = make(http.Header)
20025	}
20026	return c.header_
20027}
20028
20029func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
20030	reqHeaders := make(http.Header)
20031	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20032	for k, v := range c.header_ {
20033		reqHeaders[k] = v
20034	}
20035	reqHeaders.Set("User-Agent", c.s.userAgent())
20036	if c.ifNoneMatch_ != "" {
20037		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20038	}
20039	var body io.Reader = nil
20040	c.urlParams_.Set("alt", alt)
20041	c.urlParams_.Set("prettyPrint", "false")
20042	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20043	urls += "?" + c.urlParams_.Encode()
20044	req, err := http.NewRequest("GET", urls, body)
20045	if err != nil {
20046		return nil, err
20047	}
20048	req.Header = reqHeaders
20049	googleapi.Expand(req.URL, map[string]string{
20050		"parent":       c.parent,
20051		"dicomWebPath": c.dicomWebPath,
20052	})
20053	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20054}
20055
20056// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries" call.
20057func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20058	gensupport.SetOptions(c.urlParams_, opts...)
20059	return c.doRequest("")
20060	// {
20061	//   "description": "RetrieveSeries returns all instances within the given study and series. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeries, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).",
20062	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20063	//   "httpMethod": "GET",
20064	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries",
20065	//   "parameterOrder": [
20066	//     "parent",
20067	//     "dicomWebPath"
20068	//   ],
20069	//   "parameters": {
20070	//     "dicomWebPath": {
20071	//       "description": "The path of the RetrieveSeries DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}`.",
20072	//       "location": "path",
20073	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20074	//       "required": true,
20075	//       "type": "string"
20076	//     },
20077	//     "parent": {
20078	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20079	//       "location": "path",
20080	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20081	//       "required": true,
20082	//       "type": "string"
20083	//     }
20084	//   },
20085	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20086	//   "response": {
20087	//     "$ref": "HttpBody"
20088	//   },
20089	//   "scopes": [
20090	//     "https://www.googleapis.com/auth/cloud-platform"
20091	//   ]
20092	// }
20093
20094}
20095
20096// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances":
20097
20098type ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall struct {
20099	s            *Service
20100	parent       string
20101	dicomWebPath string
20102	urlParams_   gensupport.URLParams
20103	ifNoneMatch_ string
20104	ctx_         context.Context
20105	header_      http.Header
20106}
20107
20108// SearchForInstances: SearchForInstances returns a list of matching
20109// instances. See RetrieveTransaction
20110// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20111// For details on the implementation of SearchForInstances, see Search
20112// transaction
20113// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
20114// in the Cloud Healthcare API conformance statement. For samples that
20115// show how to call SearchForInstances, see Searching for studies,
20116// series, instances, and frames
20117// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
20118func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20119	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20120	c.parent = parent
20121	c.dicomWebPath = dicomWebPath
20122	return c
20123}
20124
20125// Fields allows partial responses to be retrieved. See
20126// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20127// for more information.
20128func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20129	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20130	return c
20131}
20132
20133// IfNoneMatch sets the optional parameter which makes the operation
20134// fail if the object's ETag matches the given value. This is useful for
20135// getting updates only after the object has changed since the last
20136// request. Use googleapi.IsNotModified to check whether the response
20137// error from Do is the result of In-None-Match.
20138func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20139	c.ifNoneMatch_ = entityTag
20140	return c
20141}
20142
20143// Context sets the context to be used in this call's Do method. Any
20144// pending HTTP request will be aborted if the provided context is
20145// canceled.
20146func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20147	c.ctx_ = ctx
20148	return c
20149}
20150
20151// Header returns an http.Header that can be modified by the caller to
20152// add HTTP headers to the request.
20153func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Header() http.Header {
20154	if c.header_ == nil {
20155		c.header_ = make(http.Header)
20156	}
20157	return c.header_
20158}
20159
20160func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
20161	reqHeaders := make(http.Header)
20162	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20163	for k, v := range c.header_ {
20164		reqHeaders[k] = v
20165	}
20166	reqHeaders.Set("User-Agent", c.s.userAgent())
20167	if c.ifNoneMatch_ != "" {
20168		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20169	}
20170	var body io.Reader = nil
20171	c.urlParams_.Set("alt", alt)
20172	c.urlParams_.Set("prettyPrint", "false")
20173	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20174	urls += "?" + c.urlParams_.Encode()
20175	req, err := http.NewRequest("GET", urls, body)
20176	if err != nil {
20177		return nil, err
20178	}
20179	req.Header = reqHeaders
20180	googleapi.Expand(req.URL, map[string]string{
20181		"parent":       c.parent,
20182		"dicomWebPath": c.dicomWebPath,
20183	})
20184	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20185}
20186
20187// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances" call.
20188func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20189	gensupport.SetOptions(c.urlParams_, opts...)
20190	return c.doRequest("")
20191	// {
20192	//   "description": "SearchForInstances returns a list of matching instances. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).",
20193	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances",
20194	//   "httpMethod": "GET",
20195	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances",
20196	//   "parameterOrder": [
20197	//     "parent",
20198	//     "dicomWebPath"
20199	//   ],
20200	//   "parameters": {
20201	//     "dicomWebPath": {
20202	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
20203	//       "location": "path",
20204	//       "pattern": "^studies/[^/]+/series/[^/]+/instances$",
20205	//       "required": true,
20206	//       "type": "string"
20207	//     },
20208	//     "parent": {
20209	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20210	//       "location": "path",
20211	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20212	//       "required": true,
20213	//       "type": "string"
20214	//     }
20215	//   },
20216	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20217	//   "response": {
20218	//     "$ref": "HttpBody"
20219	//   },
20220	//   "scopes": [
20221	//     "https://www.googleapis.com/auth/cloud-platform"
20222	//   ]
20223	// }
20224
20225}
20226
20227// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete":
20228
20229type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall struct {
20230	s            *Service
20231	parent       string
20232	dicomWebPath string
20233	urlParams_   gensupport.URLParams
20234	ctx_         context.Context
20235	header_      http.Header
20236}
20237
20238// Delete: DeleteInstance deletes an instance associated with the given
20239// study, series, and SOP Instance UID. Delete requests are equivalent
20240// to the GET requests specified in the Retrieve transaction. Study and
20241// series search results can take a few seconds to be updated after an
20242// instance is deleted using DeleteInstance. For samples that show how
20243// to call DeleteInstance, see Deleting a study, series, or instance
20244// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20245func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20246	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20247	c.parent = parent
20248	c.dicomWebPath = dicomWebPath
20249	return c
20250}
20251
20252// Fields allows partial responses to be retrieved. See
20253// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20254// for more information.
20255func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20256	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20257	return c
20258}
20259
20260// Context sets the context to be used in this call's Do method. Any
20261// pending HTTP request will be aborted if the provided context is
20262// canceled.
20263func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20264	c.ctx_ = ctx
20265	return c
20266}
20267
20268// Header returns an http.Header that can be modified by the caller to
20269// add HTTP headers to the request.
20270func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Header() http.Header {
20271	if c.header_ == nil {
20272		c.header_ = make(http.Header)
20273	}
20274	return c.header_
20275}
20276
20277func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
20278	reqHeaders := make(http.Header)
20279	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20280	for k, v := range c.header_ {
20281		reqHeaders[k] = v
20282	}
20283	reqHeaders.Set("User-Agent", c.s.userAgent())
20284	var body io.Reader = nil
20285	c.urlParams_.Set("alt", alt)
20286	c.urlParams_.Set("prettyPrint", "false")
20287	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20288	urls += "?" + c.urlParams_.Encode()
20289	req, err := http.NewRequest("DELETE", urls, body)
20290	if err != nil {
20291		return nil, err
20292	}
20293	req.Header = reqHeaders
20294	googleapi.Expand(req.URL, map[string]string{
20295		"parent":       c.parent,
20296		"dicomWebPath": c.dicomWebPath,
20297	})
20298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20299}
20300
20301// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete" call.
20302// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20303// code is an error. Response headers are in either
20304// *Empty.ServerResponse.Header or (if a response was returned at all)
20305// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20306// check whether the returned error was because http.StatusNotModified
20307// was returned.
20308func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20309	gensupport.SetOptions(c.urlParams_, opts...)
20310	res, err := c.doRequest("json")
20311	if res != nil && res.StatusCode == http.StatusNotModified {
20312		if res.Body != nil {
20313			res.Body.Close()
20314		}
20315		return nil, &googleapi.Error{
20316			Code:   res.StatusCode,
20317			Header: res.Header,
20318		}
20319	}
20320	if err != nil {
20321		return nil, err
20322	}
20323	defer googleapi.CloseBody(res)
20324	if err := googleapi.CheckResponse(res); err != nil {
20325		return nil, err
20326	}
20327	ret := &Empty{
20328		ServerResponse: googleapi.ServerResponse{
20329			Header:         res.Header,
20330			HTTPStatusCode: res.StatusCode,
20331		},
20332	}
20333	target := &ret
20334	if err := gensupport.DecodeResponse(target, res); err != nil {
20335		return nil, err
20336	}
20337	return ret, nil
20338	// {
20339	//   "description": "DeleteInstance deletes an instance associated with the given study, series, and SOP Instance UID. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. Study and series search results can take a few seconds to be updated after an instance is deleted using DeleteInstance. For samples that show how to call DeleteInstance, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
20340	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20341	//   "httpMethod": "DELETE",
20342	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete",
20343	//   "parameterOrder": [
20344	//     "parent",
20345	//     "dicomWebPath"
20346	//   ],
20347	//   "parameters": {
20348	//     "dicomWebPath": {
20349	//       "description": "The path of the DeleteInstance request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20350	//       "location": "path",
20351	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20352	//       "required": true,
20353	//       "type": "string"
20354	//     },
20355	//     "parent": {
20356	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20357	//       "location": "path",
20358	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20359	//       "required": true,
20360	//       "type": "string"
20361	//     }
20362	//   },
20363	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20364	//   "response": {
20365	//     "$ref": "Empty"
20366	//   },
20367	//   "scopes": [
20368	//     "https://www.googleapis.com/auth/cloud-platform"
20369	//   ]
20370	// }
20371
20372}
20373
20374// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance":
20375
20376type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall struct {
20377	s            *Service
20378	parent       string
20379	dicomWebPath string
20380	urlParams_   gensupport.URLParams
20381	ifNoneMatch_ string
20382	ctx_         context.Context
20383	header_      http.Header
20384}
20385
20386// RetrieveInstance: RetrieveInstance returns instance associated with
20387// the given study, series, and SOP Instance UID. See
20388// RetrieveTransaction
20389// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20390// For details on the implementation of RetrieveInstance, see DICOM
20391// study/series/instances
20392// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20393// and DICOM instances
20394// (https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in
20395// the Cloud Healthcare API conformance statement. For samples that show
20396// how to call RetrieveInstance, see Retrieving an instance
20397// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).
20398func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveInstance(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20399	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20400	c.parent = parent
20401	c.dicomWebPath = dicomWebPath
20402	return c
20403}
20404
20405// Fields allows partial responses to be retrieved. See
20406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20407// for more information.
20408func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20409	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20410	return c
20411}
20412
20413// IfNoneMatch sets the optional parameter which makes the operation
20414// fail if the object's ETag matches the given value. This is useful for
20415// getting updates only after the object has changed since the last
20416// request. Use googleapi.IsNotModified to check whether the response
20417// error from Do is the result of In-None-Match.
20418func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20419	c.ifNoneMatch_ = entityTag
20420	return c
20421}
20422
20423// Context sets the context to be used in this call's Do method. Any
20424// pending HTTP request will be aborted if the provided context is
20425// canceled.
20426func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20427	c.ctx_ = ctx
20428	return c
20429}
20430
20431// Header returns an http.Header that can be modified by the caller to
20432// add HTTP headers to the request.
20433func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Header() http.Header {
20434	if c.header_ == nil {
20435		c.header_ = make(http.Header)
20436	}
20437	return c.header_
20438}
20439
20440func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
20441	reqHeaders := make(http.Header)
20442	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20443	for k, v := range c.header_ {
20444		reqHeaders[k] = v
20445	}
20446	reqHeaders.Set("User-Agent", c.s.userAgent())
20447	if c.ifNoneMatch_ != "" {
20448		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20449	}
20450	var body io.Reader = nil
20451	c.urlParams_.Set("alt", alt)
20452	c.urlParams_.Set("prettyPrint", "false")
20453	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20454	urls += "?" + c.urlParams_.Encode()
20455	req, err := http.NewRequest("GET", urls, body)
20456	if err != nil {
20457		return nil, err
20458	}
20459	req.Header = reqHeaders
20460	googleapi.Expand(req.URL, map[string]string{
20461		"parent":       c.parent,
20462		"dicomWebPath": c.dicomWebPath,
20463	})
20464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20465}
20466
20467// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance" call.
20468func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20469	gensupport.SetOptions(c.urlParams_, opts...)
20470	return c.doRequest("")
20471	// {
20472	//   "description": "RetrieveInstance returns instance associated with the given study, series, and SOP Instance UID. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstance, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and [DICOM instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstance, see [Retrieving an instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).",
20473	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20474	//   "httpMethod": "GET",
20475	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance",
20476	//   "parameterOrder": [
20477	//     "parent",
20478	//     "dicomWebPath"
20479	//   ],
20480	//   "parameters": {
20481	//     "dicomWebPath": {
20482	//       "description": "The path of the RetrieveInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20483	//       "location": "path",
20484	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20485	//       "required": true,
20486	//       "type": "string"
20487	//     },
20488	//     "parent": {
20489	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20490	//       "location": "path",
20491	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20492	//       "required": true,
20493	//       "type": "string"
20494	//     }
20495	//   },
20496	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20497	//   "response": {
20498	//     "$ref": "HttpBody"
20499	//   },
20500	//   "scopes": [
20501	//     "https://www.googleapis.com/auth/cloud-platform"
20502	//   ]
20503	// }
20504
20505}
20506
20507// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata":
20508
20509type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall struct {
20510	s            *Service
20511	parent       string
20512	dicomWebPath string
20513	urlParams_   gensupport.URLParams
20514	ifNoneMatch_ string
20515	ctx_         context.Context
20516	header_      http.Header
20517}
20518
20519// RetrieveMetadata: RetrieveInstanceMetadata returns instance
20520// associated with the given study, series, and SOP Instance UID
20521// presented as metadata with the bulk data removed. See
20522// RetrieveTransaction
20523// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20524// For details on the implementation of RetrieveInstanceMetadata, see
20525// Metadata resources
20526// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20527// in the Cloud Healthcare API conformance statement. For samples that
20528// show how to call RetrieveInstanceMetadata, see Retrieving metadata
20529// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20530func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20531	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20532	c.parent = parent
20533	c.dicomWebPath = dicomWebPath
20534	return c
20535}
20536
20537// Fields allows partial responses to be retrieved. See
20538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20539// for more information.
20540func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20542	return c
20543}
20544
20545// IfNoneMatch sets the optional parameter which makes the operation
20546// fail if the object's ETag matches the given value. This is useful for
20547// getting updates only after the object has changed since the last
20548// request. Use googleapi.IsNotModified to check whether the response
20549// error from Do is the result of In-None-Match.
20550func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20551	c.ifNoneMatch_ = entityTag
20552	return c
20553}
20554
20555// Context sets the context to be used in this call's Do method. Any
20556// pending HTTP request will be aborted if the provided context is
20557// canceled.
20558func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20559	c.ctx_ = ctx
20560	return c
20561}
20562
20563// Header returns an http.Header that can be modified by the caller to
20564// add HTTP headers to the request.
20565func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Header() http.Header {
20566	if c.header_ == nil {
20567		c.header_ = make(http.Header)
20568	}
20569	return c.header_
20570}
20571
20572func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20573	reqHeaders := make(http.Header)
20574	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20575	for k, v := range c.header_ {
20576		reqHeaders[k] = v
20577	}
20578	reqHeaders.Set("User-Agent", c.s.userAgent())
20579	if c.ifNoneMatch_ != "" {
20580		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20581	}
20582	var body io.Reader = nil
20583	c.urlParams_.Set("alt", alt)
20584	c.urlParams_.Set("prettyPrint", "false")
20585	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20586	urls += "?" + c.urlParams_.Encode()
20587	req, err := http.NewRequest("GET", urls, body)
20588	if err != nil {
20589		return nil, err
20590	}
20591	req.Header = reqHeaders
20592	googleapi.Expand(req.URL, map[string]string{
20593		"parent":       c.parent,
20594		"dicomWebPath": c.dicomWebPath,
20595	})
20596	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20597}
20598
20599// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata" call.
20600func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20601	gensupport.SetOptions(c.urlParams_, opts...)
20602	return c.doRequest("")
20603	// {
20604	//   "description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).",
20605	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata",
20606	//   "httpMethod": "GET",
20607	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata",
20608	//   "parameterOrder": [
20609	//     "parent",
20610	//     "dicomWebPath"
20611	//   ],
20612	//   "parameters": {
20613	//     "dicomWebPath": {
20614	//       "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.",
20615	//       "location": "path",
20616	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$",
20617	//       "required": true,
20618	//       "type": "string"
20619	//     },
20620	//     "parent": {
20621	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20622	//       "location": "path",
20623	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20624	//       "required": true,
20625	//       "type": "string"
20626	//     }
20627	//   },
20628	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20629	//   "response": {
20630	//     "$ref": "HttpBody"
20631	//   },
20632	//   "scopes": [
20633	//     "https://www.googleapis.com/auth/cloud-platform"
20634	//   ]
20635	// }
20636
20637}
20638
20639// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered":
20640
20641type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall struct {
20642	s            *Service
20643	parent       string
20644	dicomWebPath string
20645	urlParams_   gensupport.URLParams
20646	ifNoneMatch_ string
20647	ctx_         context.Context
20648	header_      http.Header
20649}
20650
20651// RetrieveRendered: RetrieveRenderedInstance returns instance
20652// associated with the given study, series, and SOP Instance UID in an
20653// acceptable Rendered Media Type. See RetrieveTransaction
20654// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20655// For details on the implementation of RetrieveRenderedInstance, see
20656// Rendered resources
20657// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
20658// in the Cloud Healthcare API conformance statement. For samples that
20659// show how to call RetrieveRenderedInstance, see Retrieving consumer
20660// image formats
20661// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
20662func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
20663	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20664	c.parent = parent
20665	c.dicomWebPath = dicomWebPath
20666	return c
20667}
20668
20669// Fields allows partial responses to be retrieved. See
20670// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20671// for more information.
20672func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
20673	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20674	return c
20675}
20676
20677// IfNoneMatch sets the optional parameter which makes the operation
20678// fail if the object's ETag matches the given value. This is useful for
20679// getting updates only after the object has changed since the last
20680// request. Use googleapi.IsNotModified to check whether the response
20681// error from Do is the result of In-None-Match.
20682func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
20683	c.ifNoneMatch_ = entityTag
20684	return c
20685}
20686
20687// Context sets the context to be used in this call's Do method. Any
20688// pending HTTP request will be aborted if the provided context is
20689// canceled.
20690func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
20691	c.ctx_ = ctx
20692	return c
20693}
20694
20695// Header returns an http.Header that can be modified by the caller to
20696// add HTTP headers to the request.
20697func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Header() http.Header {
20698	if c.header_ == nil {
20699		c.header_ = make(http.Header)
20700	}
20701	return c.header_
20702}
20703
20704func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
20705	reqHeaders := make(http.Header)
20706	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20707	for k, v := range c.header_ {
20708		reqHeaders[k] = v
20709	}
20710	reqHeaders.Set("User-Agent", c.s.userAgent())
20711	if c.ifNoneMatch_ != "" {
20712		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20713	}
20714	var body io.Reader = nil
20715	c.urlParams_.Set("alt", alt)
20716	c.urlParams_.Set("prettyPrint", "false")
20717	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20718	urls += "?" + c.urlParams_.Encode()
20719	req, err := http.NewRequest("GET", urls, body)
20720	if err != nil {
20721		return nil, err
20722	}
20723	req.Header = reqHeaders
20724	googleapi.Expand(req.URL, map[string]string{
20725		"parent":       c.parent,
20726		"dicomWebPath": c.dicomWebPath,
20727	})
20728	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20729}
20730
20731// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered" call.
20732func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20733	gensupport.SetOptions(c.urlParams_, opts...)
20734	return c.doRequest("")
20735	// {
20736	//   "description": "RetrieveRenderedInstance returns instance associated with the given study, series, and SOP Instance UID in an acceptable Rendered Media Type. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedInstance, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedInstance, see [Retrieving consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).",
20737	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered",
20738	//   "httpMethod": "GET",
20739	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered",
20740	//   "parameterOrder": [
20741	//     "parent",
20742	//     "dicomWebPath"
20743	//   ],
20744	//   "parameters": {
20745	//     "dicomWebPath": {
20746	//       "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.",
20747	//       "location": "path",
20748	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$",
20749	//       "required": true,
20750	//       "type": "string"
20751	//     },
20752	//     "parent": {
20753	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20754	//       "location": "path",
20755	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20756	//       "required": true,
20757	//       "type": "string"
20758	//     }
20759	//   },
20760	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20761	//   "response": {
20762	//     "$ref": "HttpBody"
20763	//   },
20764	//   "scopes": [
20765	//     "https://www.googleapis.com/auth/cloud-platform"
20766	//   ]
20767	// }
20768
20769}
20770
20771// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames":
20772
20773type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall struct {
20774	s            *Service
20775	parent       string
20776	dicomWebPath string
20777	urlParams_   gensupport.URLParams
20778	ifNoneMatch_ string
20779	ctx_         context.Context
20780	header_      http.Header
20781}
20782
20783// RetrieveFrames: RetrieveFrames returns instances associated with the
20784// given study, series, SOP Instance UID and frame numbers. See
20785// RetrieveTransaction
20786// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20787// For details on the implementation of RetrieveFrames, see DICOM frames
20788// (https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the
20789// Cloud Healthcare API conformance statement. For samples that show how
20790// to call RetrieveFrames, see Retrieving DICOM data
20791// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
20792func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveFrames(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
20793	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20794	c.parent = parent
20795	c.dicomWebPath = dicomWebPath
20796	return c
20797}
20798
20799// Fields allows partial responses to be retrieved. See
20800// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20801// for more information.
20802func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
20803	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20804	return c
20805}
20806
20807// IfNoneMatch sets the optional parameter which makes the operation
20808// fail if the object's ETag matches the given value. This is useful for
20809// getting updates only after the object has changed since the last
20810// request. Use googleapi.IsNotModified to check whether the response
20811// error from Do is the result of In-None-Match.
20812func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
20813	c.ifNoneMatch_ = entityTag
20814	return c
20815}
20816
20817// Context sets the context to be used in this call's Do method. Any
20818// pending HTTP request will be aborted if the provided context is
20819// canceled.
20820func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
20821	c.ctx_ = ctx
20822	return c
20823}
20824
20825// Header returns an http.Header that can be modified by the caller to
20826// add HTTP headers to the request.
20827func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Header() http.Header {
20828	if c.header_ == nil {
20829		c.header_ = make(http.Header)
20830	}
20831	return c.header_
20832}
20833
20834func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
20835	reqHeaders := make(http.Header)
20836	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20837	for k, v := range c.header_ {
20838		reqHeaders[k] = v
20839	}
20840	reqHeaders.Set("User-Agent", c.s.userAgent())
20841	if c.ifNoneMatch_ != "" {
20842		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20843	}
20844	var body io.Reader = nil
20845	c.urlParams_.Set("alt", alt)
20846	c.urlParams_.Set("prettyPrint", "false")
20847	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20848	urls += "?" + c.urlParams_.Encode()
20849	req, err := http.NewRequest("GET", urls, body)
20850	if err != nil {
20851		return nil, err
20852	}
20853	req.Header = reqHeaders
20854	googleapi.Expand(req.URL, map[string]string{
20855		"parent":       c.parent,
20856		"dicomWebPath": c.dicomWebPath,
20857	})
20858	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20859}
20860
20861// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames" call.
20862func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20863	gensupport.SetOptions(c.urlParams_, opts...)
20864	return c.doRequest("")
20865	// {
20866	//   "description": "RetrieveFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveFrames, see [DICOM frames](https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveFrames, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).",
20867	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}",
20868	//   "httpMethod": "GET",
20869	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames",
20870	//   "parameterOrder": [
20871	//     "parent",
20872	//     "dicomWebPath"
20873	//   ],
20874	//   "parameters": {
20875	//     "dicomWebPath": {
20876	//       "description": "The path of the RetrieveFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.",
20877	//       "location": "path",
20878	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$",
20879	//       "required": true,
20880	//       "type": "string"
20881	//     },
20882	//     "parent": {
20883	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
20884	//       "location": "path",
20885	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20886	//       "required": true,
20887	//       "type": "string"
20888	//     }
20889	//   },
20890	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20891	//   "response": {
20892	//     "$ref": "HttpBody"
20893	//   },
20894	//   "scopes": [
20895	//     "https://www.googleapis.com/auth/cloud-platform"
20896	//   ]
20897	// }
20898
20899}
20900
20901// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered":
20902
20903type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall struct {
20904	s            *Service
20905	parent       string
20906	dicomWebPath string
20907	urlParams_   gensupport.URLParams
20908	ifNoneMatch_ string
20909	ctx_         context.Context
20910	header_      http.Header
20911}
20912
20913// RetrieveRendered: RetrieveRenderedFrames returns instances associated
20914// with the given study, series, SOP Instance UID and frame numbers in
20915// an acceptable Rendered Media Type. See RetrieveTransaction
20916// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20917// For details on the implementation of RetrieveRenderedFrames, see
20918// Rendered resources
20919// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
20920// in the Cloud Healthcare API conformance statement. For samples that
20921// show how to call RetrieveRenderedFrames, see Retrieving consumer
20922// image formats
20923// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
20924func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
20925	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20926	c.parent = parent
20927	c.dicomWebPath = dicomWebPath
20928	return c
20929}
20930
20931// Fields allows partial responses to be retrieved. See
20932// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20933// for more information.
20934func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
20935	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20936	return c
20937}
20938
20939// IfNoneMatch sets the optional parameter which makes the operation
20940// fail if the object's ETag matches the given value. This is useful for
20941// getting updates only after the object has changed since the last
20942// request. Use googleapi.IsNotModified to check whether the response
20943// error from Do is the result of In-None-Match.
20944func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
20945	c.ifNoneMatch_ = entityTag
20946	return c
20947}
20948
20949// Context sets the context to be used in this call's Do method. Any
20950// pending HTTP request will be aborted if the provided context is
20951// canceled.
20952func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
20953	c.ctx_ = ctx
20954	return c
20955}
20956
20957// Header returns an http.Header that can be modified by the caller to
20958// add HTTP headers to the request.
20959func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Header() http.Header {
20960	if c.header_ == nil {
20961		c.header_ = make(http.Header)
20962	}
20963	return c.header_
20964}
20965
20966func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
20967	reqHeaders := make(http.Header)
20968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
20969	for k, v := range c.header_ {
20970		reqHeaders[k] = v
20971	}
20972	reqHeaders.Set("User-Agent", c.s.userAgent())
20973	if c.ifNoneMatch_ != "" {
20974		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20975	}
20976	var body io.Reader = nil
20977	c.urlParams_.Set("alt", alt)
20978	c.urlParams_.Set("prettyPrint", "false")
20979	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20980	urls += "?" + c.urlParams_.Encode()
20981	req, err := http.NewRequest("GET", urls, body)
20982	if err != nil {
20983		return nil, err
20984	}
20985	req.Header = reqHeaders
20986	googleapi.Expand(req.URL, map[string]string{
20987		"parent":       c.parent,
20988		"dicomWebPath": c.dicomWebPath,
20989	})
20990	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20991}
20992
20993// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered" call.
20994func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20995	gensupport.SetOptions(c.urlParams_, opts...)
20996	return c.doRequest("")
20997	// {
20998	//   "description": "RetrieveRenderedFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers in an acceptable Rendered Media Type. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedFrames, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedFrames, see [Retrieving consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).",
20999	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered",
21000	//   "httpMethod": "GET",
21001	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered",
21002	//   "parameterOrder": [
21003	//     "parent",
21004	//     "dicomWebPath"
21005	//   ],
21006	//   "parameters": {
21007	//     "dicomWebPath": {
21008	//       "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.",
21009	//       "location": "path",
21010	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$",
21011	//       "required": true,
21012	//       "type": "string"
21013	//     },
21014	//     "parent": {
21015	//       "description": "The name of the DICOM store that is being accessed. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
21016	//       "location": "path",
21017	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21018	//       "required": true,
21019	//       "type": "string"
21020	//     }
21021	//   },
21022	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21023	//   "response": {
21024	//     "$ref": "HttpBody"
21025	//   },
21026	//   "scopes": [
21027	//     "https://www.googleapis.com/auth/cloud-platform"
21028	//   ]
21029	// }
21030
21031}
21032
21033// method id "healthcare.projects.locations.datasets.fhirStores.create":
21034
21035type ProjectsLocationsDatasetsFhirStoresCreateCall struct {
21036	s          *Service
21037	parent     string
21038	fhirstore  *FhirStore
21039	urlParams_ gensupport.URLParams
21040	ctx_       context.Context
21041	header_    http.Header
21042}
21043
21044// Create: Creates a new FHIR store within the parent dataset.
21045func (r *ProjectsLocationsDatasetsFhirStoresService) Create(parent string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21046	c := &ProjectsLocationsDatasetsFhirStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21047	c.parent = parent
21048	c.fhirstore = fhirstore
21049	return c
21050}
21051
21052// FhirStoreId sets the optional parameter "fhirStoreId": The ID of the
21053// FHIR store that is being created. The string must match the following
21054// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
21055func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) FhirStoreId(fhirStoreId string) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21056	c.urlParams_.Set("fhirStoreId", fhirStoreId)
21057	return c
21058}
21059
21060// Fields allows partial responses to be retrieved. See
21061// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21062// for more information.
21063func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21064	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21065	return c
21066}
21067
21068// Context sets the context to be used in this call's Do method. Any
21069// pending HTTP request will be aborted if the provided context is
21070// canceled.
21071func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21072	c.ctx_ = ctx
21073	return c
21074}
21075
21076// Header returns an http.Header that can be modified by the caller to
21077// add HTTP headers to the request.
21078func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Header() http.Header {
21079	if c.header_ == nil {
21080		c.header_ = make(http.Header)
21081	}
21082	return c.header_
21083}
21084
21085func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
21086	reqHeaders := make(http.Header)
21087	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21088	for k, v := range c.header_ {
21089		reqHeaders[k] = v
21090	}
21091	reqHeaders.Set("User-Agent", c.s.userAgent())
21092	var body io.Reader = nil
21093	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
21094	if err != nil {
21095		return nil, err
21096	}
21097	reqHeaders.Set("Content-Type", "application/json")
21098	c.urlParams_.Set("alt", alt)
21099	c.urlParams_.Set("prettyPrint", "false")
21100	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
21101	urls += "?" + c.urlParams_.Encode()
21102	req, err := http.NewRequest("POST", urls, body)
21103	if err != nil {
21104		return nil, err
21105	}
21106	req.Header = reqHeaders
21107	googleapi.Expand(req.URL, map[string]string{
21108		"parent": c.parent,
21109	})
21110	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21111}
21112
21113// Do executes the "healthcare.projects.locations.datasets.fhirStores.create" call.
21114// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
21115// status code is an error. Response headers are in either
21116// *FhirStore.ServerResponse.Header or (if a response was returned at
21117// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21118// to check whether the returned error was because
21119// http.StatusNotModified was returned.
21120func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
21121	gensupport.SetOptions(c.urlParams_, opts...)
21122	res, err := c.doRequest("json")
21123	if res != nil && res.StatusCode == http.StatusNotModified {
21124		if res.Body != nil {
21125			res.Body.Close()
21126		}
21127		return nil, &googleapi.Error{
21128			Code:   res.StatusCode,
21129			Header: res.Header,
21130		}
21131	}
21132	if err != nil {
21133		return nil, err
21134	}
21135	defer googleapi.CloseBody(res)
21136	if err := googleapi.CheckResponse(res); err != nil {
21137		return nil, err
21138	}
21139	ret := &FhirStore{
21140		ServerResponse: googleapi.ServerResponse{
21141			Header:         res.Header,
21142			HTTPStatusCode: res.StatusCode,
21143		},
21144	}
21145	target := &ret
21146	if err := gensupport.DecodeResponse(target, res); err != nil {
21147		return nil, err
21148	}
21149	return ret, nil
21150	// {
21151	//   "description": "Creates a new FHIR store within the parent dataset.",
21152	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
21153	//   "httpMethod": "POST",
21154	//   "id": "healthcare.projects.locations.datasets.fhirStores.create",
21155	//   "parameterOrder": [
21156	//     "parent"
21157	//   ],
21158	//   "parameters": {
21159	//     "fhirStoreId": {
21160	//       "description": "The ID of the FHIR store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
21161	//       "location": "query",
21162	//       "type": "string"
21163	//     },
21164	//     "parent": {
21165	//       "description": "The name of the dataset this FHIR store belongs to.",
21166	//       "location": "path",
21167	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
21168	//       "required": true,
21169	//       "type": "string"
21170	//     }
21171	//   },
21172	//   "path": "v1beta1/{+parent}/fhirStores",
21173	//   "request": {
21174	//     "$ref": "FhirStore"
21175	//   },
21176	//   "response": {
21177	//     "$ref": "FhirStore"
21178	//   },
21179	//   "scopes": [
21180	//     "https://www.googleapis.com/auth/cloud-platform"
21181	//   ]
21182	// }
21183
21184}
21185
21186// method id "healthcare.projects.locations.datasets.fhirStores.deidentify":
21187
21188type ProjectsLocationsDatasetsFhirStoresDeidentifyCall struct {
21189	s                          *Service
21190	sourceStore                string
21191	deidentifyfhirstorerequest *DeidentifyFhirStoreRequest
21192	urlParams_                 gensupport.URLParams
21193	ctx_                       context.Context
21194	header_                    http.Header
21195}
21196
21197// Deidentify: De-identifies data from the source store and writes it to
21198// the destination store. The metadata field type is OperationMetadata.
21199// If the request is successful, the response field type is
21200// DeidentifyFhirStoreSummary. The number of resources processed are
21201// tracked in Operation.metadata. Error details are logged to Cloud
21202// Logging. For more information, see Viewing logs
21203// (/healthcare/docs/how-tos/logging).
21204func (r *ProjectsLocationsDatasetsFhirStoresService) Deidentify(sourceStore string, deidentifyfhirstorerequest *DeidentifyFhirStoreRequest) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21205	c := &ProjectsLocationsDatasetsFhirStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21206	c.sourceStore = sourceStore
21207	c.deidentifyfhirstorerequest = deidentifyfhirstorerequest
21208	return c
21209}
21210
21211// Fields allows partial responses to be retrieved. See
21212// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21213// for more information.
21214func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21215	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21216	return c
21217}
21218
21219// Context sets the context to be used in this call's Do method. Any
21220// pending HTTP request will be aborted if the provided context is
21221// canceled.
21222func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21223	c.ctx_ = ctx
21224	return c
21225}
21226
21227// Header returns an http.Header that can be modified by the caller to
21228// add HTTP headers to the request.
21229func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Header() http.Header {
21230	if c.header_ == nil {
21231		c.header_ = make(http.Header)
21232	}
21233	return c.header_
21234}
21235
21236func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
21237	reqHeaders := make(http.Header)
21238	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21239	for k, v := range c.header_ {
21240		reqHeaders[k] = v
21241	}
21242	reqHeaders.Set("User-Agent", c.s.userAgent())
21243	var body io.Reader = nil
21244	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifyfhirstorerequest)
21245	if err != nil {
21246		return nil, err
21247	}
21248	reqHeaders.Set("Content-Type", "application/json")
21249	c.urlParams_.Set("alt", alt)
21250	c.urlParams_.Set("prettyPrint", "false")
21251	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
21252	urls += "?" + c.urlParams_.Encode()
21253	req, err := http.NewRequest("POST", urls, body)
21254	if err != nil {
21255		return nil, err
21256	}
21257	req.Header = reqHeaders
21258	googleapi.Expand(req.URL, map[string]string{
21259		"sourceStore": c.sourceStore,
21260	})
21261	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21262}
21263
21264// Do executes the "healthcare.projects.locations.datasets.fhirStores.deidentify" call.
21265// Exactly one of *Operation or error will be non-nil. Any non-2xx
21266// status code is an error. Response headers are in either
21267// *Operation.ServerResponse.Header or (if a response was returned at
21268// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21269// to check whether the returned error was because
21270// http.StatusNotModified was returned.
21271func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21272	gensupport.SetOptions(c.urlParams_, opts...)
21273	res, err := c.doRequest("json")
21274	if res != nil && res.StatusCode == http.StatusNotModified {
21275		if res.Body != nil {
21276			res.Body.Close()
21277		}
21278		return nil, &googleapi.Error{
21279			Code:   res.StatusCode,
21280			Header: res.Header,
21281		}
21282	}
21283	if err != nil {
21284		return nil, err
21285	}
21286	defer googleapi.CloseBody(res)
21287	if err := googleapi.CheckResponse(res); err != nil {
21288		return nil, err
21289	}
21290	ret := &Operation{
21291		ServerResponse: googleapi.ServerResponse{
21292			Header:         res.Header,
21293			HTTPStatusCode: res.StatusCode,
21294		},
21295	}
21296	target := &ret
21297	if err := gensupport.DecodeResponse(target, res); err != nil {
21298		return nil, err
21299	}
21300	return ret, nil
21301	// {
21302	//   "description": "De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging).",
21303	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify",
21304	//   "httpMethod": "POST",
21305	//   "id": "healthcare.projects.locations.datasets.fhirStores.deidentify",
21306	//   "parameterOrder": [
21307	//     "sourceStore"
21308	//   ],
21309	//   "parameters": {
21310	//     "sourceStore": {
21311	//       "description": "Source FHIR store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
21312	//       "location": "path",
21313	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21314	//       "required": true,
21315	//       "type": "string"
21316	//     }
21317	//   },
21318	//   "path": "v1beta1/{+sourceStore}:deidentify",
21319	//   "request": {
21320	//     "$ref": "DeidentifyFhirStoreRequest"
21321	//   },
21322	//   "response": {
21323	//     "$ref": "Operation"
21324	//   },
21325	//   "scopes": [
21326	//     "https://www.googleapis.com/auth/cloud-platform"
21327	//   ]
21328	// }
21329
21330}
21331
21332// method id "healthcare.projects.locations.datasets.fhirStores.delete":
21333
21334type ProjectsLocationsDatasetsFhirStoresDeleteCall struct {
21335	s          *Service
21336	name       string
21337	urlParams_ gensupport.URLParams
21338	ctx_       context.Context
21339	header_    http.Header
21340}
21341
21342// Delete: Deletes the specified FHIR store and removes all resources
21343// within it.
21344func (r *ProjectsLocationsDatasetsFhirStoresService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21345	c := &ProjectsLocationsDatasetsFhirStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21346	c.name = name
21347	return c
21348}
21349
21350// Fields allows partial responses to be retrieved. See
21351// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21352// for more information.
21353func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21354	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21355	return c
21356}
21357
21358// Context sets the context to be used in this call's Do method. Any
21359// pending HTTP request will be aborted if the provided context is
21360// canceled.
21361func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21362	c.ctx_ = ctx
21363	return c
21364}
21365
21366// Header returns an http.Header that can be modified by the caller to
21367// add HTTP headers to the request.
21368func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Header() http.Header {
21369	if c.header_ == nil {
21370		c.header_ = make(http.Header)
21371	}
21372	return c.header_
21373}
21374
21375func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
21376	reqHeaders := make(http.Header)
21377	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21378	for k, v := range c.header_ {
21379		reqHeaders[k] = v
21380	}
21381	reqHeaders.Set("User-Agent", c.s.userAgent())
21382	var body io.Reader = nil
21383	c.urlParams_.Set("alt", alt)
21384	c.urlParams_.Set("prettyPrint", "false")
21385	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
21386	urls += "?" + c.urlParams_.Encode()
21387	req, err := http.NewRequest("DELETE", urls, body)
21388	if err != nil {
21389		return nil, err
21390	}
21391	req.Header = reqHeaders
21392	googleapi.Expand(req.URL, map[string]string{
21393		"name": c.name,
21394	})
21395	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21396}
21397
21398// Do executes the "healthcare.projects.locations.datasets.fhirStores.delete" call.
21399// Exactly one of *Empty or error will be non-nil. Any non-2xx status
21400// code is an error. Response headers are in either
21401// *Empty.ServerResponse.Header or (if a response was returned at all)
21402// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21403// check whether the returned error was because http.StatusNotModified
21404// was returned.
21405func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
21406	gensupport.SetOptions(c.urlParams_, opts...)
21407	res, err := c.doRequest("json")
21408	if res != nil && res.StatusCode == http.StatusNotModified {
21409		if res.Body != nil {
21410			res.Body.Close()
21411		}
21412		return nil, &googleapi.Error{
21413			Code:   res.StatusCode,
21414			Header: res.Header,
21415		}
21416	}
21417	if err != nil {
21418		return nil, err
21419	}
21420	defer googleapi.CloseBody(res)
21421	if err := googleapi.CheckResponse(res); err != nil {
21422		return nil, err
21423	}
21424	ret := &Empty{
21425		ServerResponse: googleapi.ServerResponse{
21426			Header:         res.Header,
21427			HTTPStatusCode: res.StatusCode,
21428		},
21429	}
21430	target := &ret
21431	if err := gensupport.DecodeResponse(target, res); err != nil {
21432		return nil, err
21433	}
21434	return ret, nil
21435	// {
21436	//   "description": "Deletes the specified FHIR store and removes all resources within it.",
21437	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
21438	//   "httpMethod": "DELETE",
21439	//   "id": "healthcare.projects.locations.datasets.fhirStores.delete",
21440	//   "parameterOrder": [
21441	//     "name"
21442	//   ],
21443	//   "parameters": {
21444	//     "name": {
21445	//       "description": "The resource name of the FHIR store to delete.",
21446	//       "location": "path",
21447	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21448	//       "required": true,
21449	//       "type": "string"
21450	//     }
21451	//   },
21452	//   "path": "v1beta1/{+name}",
21453	//   "response": {
21454	//     "$ref": "Empty"
21455	//   },
21456	//   "scopes": [
21457	//     "https://www.googleapis.com/auth/cloud-platform"
21458	//   ]
21459	// }
21460
21461}
21462
21463// method id "healthcare.projects.locations.datasets.fhirStores.export":
21464
21465type ProjectsLocationsDatasetsFhirStoresExportCall struct {
21466	s                      *Service
21467	name                   string
21468	exportresourcesrequest *ExportResourcesRequest
21469	urlParams_             gensupport.URLParams
21470	ctx_                   context.Context
21471	header_                http.Header
21472}
21473
21474// Export: Export resources from the FHIR store to the specified
21475// destination. This method returns an Operation that can be used to
21476// track the status of the export by calling GetOperation. Immediate
21477// fatal errors appear in the error field, errors are also logged to
21478// Cloud Logging (see Viewing error logs in Cloud Logging
21479// (/healthcare/docs/how-tos/logging)). Otherwise, when the operation
21480// finishes, a detailed response of type ExportResourcesResponse is
21481// returned in the response field. The metadata field type for this
21482// operation is OperationMetadata.
21483func (r *ProjectsLocationsDatasetsFhirStoresService) Export(name string, exportresourcesrequest *ExportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresExportCall {
21484	c := &ProjectsLocationsDatasetsFhirStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21485	c.name = name
21486	c.exportresourcesrequest = exportresourcesrequest
21487	return c
21488}
21489
21490// Fields allows partial responses to be retrieved. See
21491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21492// for more information.
21493func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresExportCall {
21494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21495	return c
21496}
21497
21498// Context sets the context to be used in this call's Do method. Any
21499// pending HTTP request will be aborted if the provided context is
21500// canceled.
21501func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresExportCall {
21502	c.ctx_ = ctx
21503	return c
21504}
21505
21506// Header returns an http.Header that can be modified by the caller to
21507// add HTTP headers to the request.
21508func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Header() http.Header {
21509	if c.header_ == nil {
21510		c.header_ = make(http.Header)
21511	}
21512	return c.header_
21513}
21514
21515func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
21516	reqHeaders := make(http.Header)
21517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21518	for k, v := range c.header_ {
21519		reqHeaders[k] = v
21520	}
21521	reqHeaders.Set("User-Agent", c.s.userAgent())
21522	var body io.Reader = nil
21523	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportresourcesrequest)
21524	if err != nil {
21525		return nil, err
21526	}
21527	reqHeaders.Set("Content-Type", "application/json")
21528	c.urlParams_.Set("alt", alt)
21529	c.urlParams_.Set("prettyPrint", "false")
21530	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
21531	urls += "?" + c.urlParams_.Encode()
21532	req, err := http.NewRequest("POST", urls, body)
21533	if err != nil {
21534		return nil, err
21535	}
21536	req.Header = reqHeaders
21537	googleapi.Expand(req.URL, map[string]string{
21538		"name": c.name,
21539	})
21540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21541}
21542
21543// Do executes the "healthcare.projects.locations.datasets.fhirStores.export" call.
21544// Exactly one of *Operation or error will be non-nil. Any non-2xx
21545// status code is an error. Response headers are in either
21546// *Operation.ServerResponse.Header or (if a response was returned at
21547// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21548// to check whether the returned error was because
21549// http.StatusNotModified was returned.
21550func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21551	gensupport.SetOptions(c.urlParams_, opts...)
21552	res, err := c.doRequest("json")
21553	if res != nil && res.StatusCode == http.StatusNotModified {
21554		if res.Body != nil {
21555			res.Body.Close()
21556		}
21557		return nil, &googleapi.Error{
21558			Code:   res.StatusCode,
21559			Header: res.Header,
21560		}
21561	}
21562	if err != nil {
21563		return nil, err
21564	}
21565	defer googleapi.CloseBody(res)
21566	if err := googleapi.CheckResponse(res); err != nil {
21567		return nil, err
21568	}
21569	ret := &Operation{
21570		ServerResponse: googleapi.ServerResponse{
21571			Header:         res.Header,
21572			HTTPStatusCode: res.StatusCode,
21573		},
21574	}
21575	target := &ret
21576	if err := gensupport.DecodeResponse(target, res); err != nil {
21577		return nil, err
21578	}
21579	return ret, nil
21580	// {
21581	//   "description": "Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.",
21582	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export",
21583	//   "httpMethod": "POST",
21584	//   "id": "healthcare.projects.locations.datasets.fhirStores.export",
21585	//   "parameterOrder": [
21586	//     "name"
21587	//   ],
21588	//   "parameters": {
21589	//     "name": {
21590	//       "description": "The name of the FHIR store to export resource from, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
21591	//       "location": "path",
21592	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21593	//       "required": true,
21594	//       "type": "string"
21595	//     }
21596	//   },
21597	//   "path": "v1beta1/{+name}:export",
21598	//   "request": {
21599	//     "$ref": "ExportResourcesRequest"
21600	//   },
21601	//   "response": {
21602	//     "$ref": "Operation"
21603	//   },
21604	//   "scopes": [
21605	//     "https://www.googleapis.com/auth/cloud-platform"
21606	//   ]
21607	// }
21608
21609}
21610
21611// method id "healthcare.projects.locations.datasets.fhirStores.get":
21612
21613type ProjectsLocationsDatasetsFhirStoresGetCall struct {
21614	s            *Service
21615	name         string
21616	urlParams_   gensupport.URLParams
21617	ifNoneMatch_ string
21618	ctx_         context.Context
21619	header_      http.Header
21620}
21621
21622// Get: Gets the configuration of the specified FHIR store.
21623func (r *ProjectsLocationsDatasetsFhirStoresService) Get(name string) *ProjectsLocationsDatasetsFhirStoresGetCall {
21624	c := &ProjectsLocationsDatasetsFhirStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21625	c.name = name
21626	return c
21627}
21628
21629// Fields allows partial responses to be retrieved. See
21630// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21631// for more information.
21632func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetCall {
21633	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21634	return c
21635}
21636
21637// IfNoneMatch sets the optional parameter which makes the operation
21638// fail if the object's ETag matches the given value. This is useful for
21639// getting updates only after the object has changed since the last
21640// request. Use googleapi.IsNotModified to check whether the response
21641// error from Do is the result of In-None-Match.
21642func (c *ProjectsLocationsDatasetsFhirStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetCall {
21643	c.ifNoneMatch_ = entityTag
21644	return c
21645}
21646
21647// Context sets the context to be used in this call's Do method. Any
21648// pending HTTP request will be aborted if the provided context is
21649// canceled.
21650func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetCall {
21651	c.ctx_ = ctx
21652	return c
21653}
21654
21655// Header returns an http.Header that can be modified by the caller to
21656// add HTTP headers to the request.
21657func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Header() http.Header {
21658	if c.header_ == nil {
21659		c.header_ = make(http.Header)
21660	}
21661	return c.header_
21662}
21663
21664func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
21665	reqHeaders := make(http.Header)
21666	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21667	for k, v := range c.header_ {
21668		reqHeaders[k] = v
21669	}
21670	reqHeaders.Set("User-Agent", c.s.userAgent())
21671	if c.ifNoneMatch_ != "" {
21672		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21673	}
21674	var body io.Reader = nil
21675	c.urlParams_.Set("alt", alt)
21676	c.urlParams_.Set("prettyPrint", "false")
21677	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
21678	urls += "?" + c.urlParams_.Encode()
21679	req, err := http.NewRequest("GET", urls, body)
21680	if err != nil {
21681		return nil, err
21682	}
21683	req.Header = reqHeaders
21684	googleapi.Expand(req.URL, map[string]string{
21685		"name": c.name,
21686	})
21687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21688}
21689
21690// Do executes the "healthcare.projects.locations.datasets.fhirStores.get" call.
21691// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
21692// status code is an error. Response headers are in either
21693// *FhirStore.ServerResponse.Header or (if a response was returned at
21694// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21695// to check whether the returned error was because
21696// http.StatusNotModified was returned.
21697func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
21698	gensupport.SetOptions(c.urlParams_, opts...)
21699	res, err := c.doRequest("json")
21700	if res != nil && res.StatusCode == http.StatusNotModified {
21701		if res.Body != nil {
21702			res.Body.Close()
21703		}
21704		return nil, &googleapi.Error{
21705			Code:   res.StatusCode,
21706			Header: res.Header,
21707		}
21708	}
21709	if err != nil {
21710		return nil, err
21711	}
21712	defer googleapi.CloseBody(res)
21713	if err := googleapi.CheckResponse(res); err != nil {
21714		return nil, err
21715	}
21716	ret := &FhirStore{
21717		ServerResponse: googleapi.ServerResponse{
21718			Header:         res.Header,
21719			HTTPStatusCode: res.StatusCode,
21720		},
21721	}
21722	target := &ret
21723	if err := gensupport.DecodeResponse(target, res); err != nil {
21724		return nil, err
21725	}
21726	return ret, nil
21727	// {
21728	//   "description": "Gets the configuration of the specified FHIR store.",
21729	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
21730	//   "httpMethod": "GET",
21731	//   "id": "healthcare.projects.locations.datasets.fhirStores.get",
21732	//   "parameterOrder": [
21733	//     "name"
21734	//   ],
21735	//   "parameters": {
21736	//     "name": {
21737	//       "description": "The resource name of the FHIR store to get.",
21738	//       "location": "path",
21739	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21740	//       "required": true,
21741	//       "type": "string"
21742	//     }
21743	//   },
21744	//   "path": "v1beta1/{+name}",
21745	//   "response": {
21746	//     "$ref": "FhirStore"
21747	//   },
21748	//   "scopes": [
21749	//     "https://www.googleapis.com/auth/cloud-platform"
21750	//   ]
21751	// }
21752
21753}
21754
21755// method id "healthcare.projects.locations.datasets.fhirStores.getIamPolicy":
21756
21757type ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall struct {
21758	s            *Service
21759	resource     string
21760	urlParams_   gensupport.URLParams
21761	ifNoneMatch_ string
21762	ctx_         context.Context
21763	header_      http.Header
21764}
21765
21766// GetIamPolicy: Gets the access control policy for a resource. Returns
21767// an empty policy if the resource exists and does not have a policy
21768// set.
21769func (r *ProjectsLocationsDatasetsFhirStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
21770	c := &ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21771	c.resource = resource
21772	return c
21773}
21774
21775// OptionsRequestedPolicyVersion sets the optional parameter
21776// "options.requestedPolicyVersion": The policy format version to be
21777// returned. Valid values are 0, 1, and 3. Requests specifying an
21778// invalid value will be rejected. Requests for policies with any
21779// conditional bindings must specify version 3. Policies without any
21780// conditional bindings may specify any valid value or leave the field
21781// unset. To learn which resources support conditions in their IAM
21782// policies, see the IAM documentation
21783// (https://cloud.google.com/iam/help/conditions/resource-policies).
21784func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
21785	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
21786	return c
21787}
21788
21789// Fields allows partial responses to be retrieved. See
21790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21791// for more information.
21792func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
21793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21794	return c
21795}
21796
21797// IfNoneMatch sets the optional parameter which makes the operation
21798// fail if the object's ETag matches the given value. This is useful for
21799// getting updates only after the object has changed since the last
21800// request. Use googleapi.IsNotModified to check whether the response
21801// error from Do is the result of In-None-Match.
21802func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
21803	c.ifNoneMatch_ = entityTag
21804	return c
21805}
21806
21807// Context sets the context to be used in this call's Do method. Any
21808// pending HTTP request will be aborted if the provided context is
21809// canceled.
21810func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
21811	c.ctx_ = ctx
21812	return c
21813}
21814
21815// Header returns an http.Header that can be modified by the caller to
21816// add HTTP headers to the request.
21817func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Header() http.Header {
21818	if c.header_ == nil {
21819		c.header_ = make(http.Header)
21820	}
21821	return c.header_
21822}
21823
21824func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
21825	reqHeaders := make(http.Header)
21826	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
21827	for k, v := range c.header_ {
21828		reqHeaders[k] = v
21829	}
21830	reqHeaders.Set("User-Agent", c.s.userAgent())
21831	if c.ifNoneMatch_ != "" {
21832		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21833	}
21834	var body io.Reader = nil
21835	c.urlParams_.Set("alt", alt)
21836	c.urlParams_.Set("prettyPrint", "false")
21837	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
21838	urls += "?" + c.urlParams_.Encode()
21839	req, err := http.NewRequest("GET", urls, body)
21840	if err != nil {
21841		return nil, err
21842	}
21843	req.Header = reqHeaders
21844	googleapi.Expand(req.URL, map[string]string{
21845		"resource": c.resource,
21846	})
21847	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21848}
21849
21850// Do executes the "healthcare.projects.locations.datasets.fhirStores.getIamPolicy" call.
21851// Exactly one of *Policy or error will be non-nil. Any non-2xx status
21852// code is an error. Response headers are in either
21853// *Policy.ServerResponse.Header or (if a response was returned at all)
21854// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21855// check whether the returned error was because http.StatusNotModified
21856// was returned.
21857func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
21858	gensupport.SetOptions(c.urlParams_, opts...)
21859	res, err := c.doRequest("json")
21860	if res != nil && res.StatusCode == http.StatusNotModified {
21861		if res.Body != nil {
21862			res.Body.Close()
21863		}
21864		return nil, &googleapi.Error{
21865			Code:   res.StatusCode,
21866			Header: res.Header,
21867		}
21868	}
21869	if err != nil {
21870		return nil, err
21871	}
21872	defer googleapi.CloseBody(res)
21873	if err := googleapi.CheckResponse(res); err != nil {
21874		return nil, err
21875	}
21876	ret := &Policy{
21877		ServerResponse: googleapi.ServerResponse{
21878			Header:         res.Header,
21879			HTTPStatusCode: res.StatusCode,
21880		},
21881	}
21882	target := &ret
21883	if err := gensupport.DecodeResponse(target, res); err != nil {
21884		return nil, err
21885	}
21886	return ret, nil
21887	// {
21888	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
21889	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy",
21890	//   "httpMethod": "GET",
21891	//   "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy",
21892	//   "parameterOrder": [
21893	//     "resource"
21894	//   ],
21895	//   "parameters": {
21896	//     "options.requestedPolicyVersion": {
21897	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
21898	//       "format": "int32",
21899	//       "location": "query",
21900	//       "type": "integer"
21901	//     },
21902	//     "resource": {
21903	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
21904	//       "location": "path",
21905	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21906	//       "required": true,
21907	//       "type": "string"
21908	//     }
21909	//   },
21910	//   "path": "v1beta1/{+resource}:getIamPolicy",
21911	//   "response": {
21912	//     "$ref": "Policy"
21913	//   },
21914	//   "scopes": [
21915	//     "https://www.googleapis.com/auth/cloud-platform"
21916	//   ]
21917	// }
21918
21919}
21920
21921// method id "healthcare.projects.locations.datasets.fhirStores.import":
21922
21923type ProjectsLocationsDatasetsFhirStoresImportCall struct {
21924	s                      *Service
21925	name                   string
21926	importresourcesrequest *ImportResourcesRequest
21927	urlParams_             gensupport.URLParams
21928	ctx_                   context.Context
21929	header_                http.Header
21930}
21931
21932// Import: Import resources to the FHIR store by loading data from the
21933// specified sources. This method is optimized to load large quantities
21934// of data using import semantics that ignore some FHIR store
21935// configuration options and are not suitable for all use cases. It is
21936// primarily intended to load data into an empty FHIR store that is not
21937// being used by other clients. In cases where this method is not
21938// appropriate, consider using ExecuteBundle to load data. Every
21939// resource in the input must contain a client-supplied ID. Each
21940// resource is stored using the supplied ID regardless of the
21941// enable_update_create setting on the FHIR store. It is strongly
21942// advised not to include or encode any sensitive data such as patient
21943// identifiers in client-specified resource IDs. Those IDs are part of
21944// the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
21945// notifications. Those IDs can also be contained in reference fields
21946// within other resources. The import process does not enforce
21947// referential integrity, regardless of the
21948// disable_referential_integrity setting on the FHIR store. This allows
21949// the import of resources with arbitrary interdependencies without
21950// considering grouping or ordering, but if the input data contains
21951// invalid references or if some resources fail to be imported, the FHIR
21952// store might be left in a state that violates referential integrity.
21953// The import process does not trigger Pub/Sub notification or BigQuery
21954// streaming update, regardless of how those are configured on the FHIR
21955// store. If a resource with the specified ID already exists, the most
21956// recent version of the resource is overwritten without creating a new
21957// historical version, regardless of the disable_resource_versioning
21958// setting on the FHIR store. If transient failures occur during the
21959// import, it is possible that successfully imported resources will be
21960// overwritten more than once. The import operation is idempotent unless
21961// the input data contains multiple valid resources with the same ID but
21962// different contents. In that case, after the import completes, the
21963// store contains exactly one resource with that ID but there is no
21964// ordering guarantee on which version of the contents it will have. The
21965// operation result counters do not count duplicate IDs as an error and
21966// count one success for each resource in the input, which might result
21967// in a success count larger than the number of resources in the FHIR
21968// store. This often occurs when importing data organized in bundles
21969// produced by Patient-everything where each bundle contains its own
21970// copy of a resource such as Practitioner that might be referred to by
21971// many patients. If some resources fail to import, for example due to
21972// parsing errors, successfully imported resources are not rolled back.
21973// The location and format of the input data are specified by the
21974// parameters in ImportResourcesRequest. Note that if no format is
21975// specified, this method assumes the `BUNDLE` format. When using the
21976// `BUNDLE` format this method ignores the `Bundle.type` field, except
21977// that `history` bundles are rejected, and does not apply any of the
21978// bundle processing semantics for batch or transaction bundles. Unlike
21979// in ExecuteBundle, transaction bundles are not executed as a single
21980// transaction and bundle-internal references are not rewritten. The
21981// bundle is treated as a collection of resources to be written as
21982// provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`.
21983// As an example, this allows the import of `searchset` bundles produced
21984// by a FHIR search or Patient-everything operation. This method returns
21985// an Operation that can be used to track the status of the import by
21986// calling GetOperation. Immediate fatal errors appear in the error
21987// field, errors are also logged to Cloud Logging (see Viewing logs
21988// (/healthcare/docs/how-tos/logging)). Otherwise, when the operation
21989// finishes, a detailed response of type ImportResourcesResponse is
21990// returned in the response field. The metadata field type for this
21991// operation is OperationMetadata.
21992func (r *ProjectsLocationsDatasetsFhirStoresService) Import(name string, importresourcesrequest *ImportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresImportCall {
21993	c := &ProjectsLocationsDatasetsFhirStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21994	c.name = name
21995	c.importresourcesrequest = importresourcesrequest
21996	return c
21997}
21998
21999// Fields allows partial responses to be retrieved. See
22000// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22001// for more information.
22002func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresImportCall {
22003	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22004	return c
22005}
22006
22007// Context sets the context to be used in this call's Do method. Any
22008// pending HTTP request will be aborted if the provided context is
22009// canceled.
22010func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresImportCall {
22011	c.ctx_ = ctx
22012	return c
22013}
22014
22015// Header returns an http.Header that can be modified by the caller to
22016// add HTTP headers to the request.
22017func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Header() http.Header {
22018	if c.header_ == nil {
22019		c.header_ = make(http.Header)
22020	}
22021	return c.header_
22022}
22023
22024func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
22025	reqHeaders := make(http.Header)
22026	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22027	for k, v := range c.header_ {
22028		reqHeaders[k] = v
22029	}
22030	reqHeaders.Set("User-Agent", c.s.userAgent())
22031	var body io.Reader = nil
22032	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importresourcesrequest)
22033	if err != nil {
22034		return nil, err
22035	}
22036	reqHeaders.Set("Content-Type", "application/json")
22037	c.urlParams_.Set("alt", alt)
22038	c.urlParams_.Set("prettyPrint", "false")
22039	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
22040	urls += "?" + c.urlParams_.Encode()
22041	req, err := http.NewRequest("POST", urls, body)
22042	if err != nil {
22043		return nil, err
22044	}
22045	req.Header = reqHeaders
22046	googleapi.Expand(req.URL, map[string]string{
22047		"name": c.name,
22048	})
22049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22050}
22051
22052// Do executes the "healthcare.projects.locations.datasets.fhirStores.import" call.
22053// Exactly one of *Operation or error will be non-nil. Any non-2xx
22054// status code is an error. Response headers are in either
22055// *Operation.ServerResponse.Header or (if a response was returned at
22056// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22057// to check whether the returned error was because
22058// http.StatusNotModified was returned.
22059func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22060	gensupport.SetOptions(c.urlParams_, opts...)
22061	res, err := c.doRequest("json")
22062	if res != nil && res.StatusCode == http.StatusNotModified {
22063		if res.Body != nil {
22064			res.Body.Close()
22065		}
22066		return nil, &googleapi.Error{
22067			Code:   res.StatusCode,
22068			Header: res.Header,
22069		}
22070	}
22071	if err != nil {
22072		return nil, err
22073	}
22074	defer googleapi.CloseBody(res)
22075	if err := googleapi.CheckResponse(res); err != nil {
22076		return nil, err
22077	}
22078	ret := &Operation{
22079		ServerResponse: googleapi.ServerResponse{
22080			Header:         res.Header,
22081			HTTPStatusCode: res.StatusCode,
22082		},
22083	}
22084	target := &ret
22085	if err := gensupport.DecodeResponse(target, res); err != nil {
22086		return nil, err
22087	}
22088	return ret, nil
22089	// {
22090	//   "description": "Import resources to the FHIR store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some FHIR store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty FHIR store that is not being used by other clients. In cases where this method is not appropriate, consider using ExecuteBundle to load data. Every resource in the input must contain a client-supplied ID. Each resource is stored using the supplied ID regardless of the enable_update_create setting on the FHIR store. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The import process does not enforce referential integrity, regardless of the disable_referential_integrity setting on the FHIR store. This allows the import of resources with arbitrary interdependencies without considering grouping or ordering, but if the input data contains invalid references or if some resources fail to be imported, the FHIR store might be left in a state that violates referential integrity. The import process does not trigger Pub/Sub notification or BigQuery streaming update, regardless of how those are configured on the FHIR store. If a resource with the specified ID already exists, the most recent version of the resource is overwritten without creating a new historical version, regardless of the disable_resource_versioning setting on the FHIR store. If transient failures occur during the import, it is possible that successfully imported resources will be overwritten more than once. The import operation is idempotent unless the input data contains multiple valid resources with the same ID but different contents. In that case, after the import completes, the store contains exactly one resource with that ID but there is no ordering guarantee on which version of the contents it will have. The operation result counters do not count duplicate IDs as an error and count one success for each resource in the input, which might result in a success count larger than the number of resources in the FHIR store. This often occurs when importing data organized in bundles produced by Patient-everything where each bundle contains its own copy of a resource such as Practitioner that might be referred to by many patients. If some resources fail to import, for example due to parsing errors, successfully imported resources are not rolled back. The location and format of the input data are specified by the parameters in ImportResourcesRequest. Note that if no format is specified, this method assumes the `BUNDLE` format. When using the `BUNDLE` format this method ignores the `Bundle.type` field, except that `history` bundles are rejected, and does not apply any of the bundle processing semantics for batch or transaction bundles. Unlike in ExecuteBundle, transaction bundles are not executed as a single transaction and bundle-internal references are not rewritten. The bundle is treated as a collection of resources to be written as provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As an example, this allows the import of `searchset` bundles produced by a FHIR search or Patient-everything operation. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.",
22091	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import",
22092	//   "httpMethod": "POST",
22093	//   "id": "healthcare.projects.locations.datasets.fhirStores.import",
22094	//   "parameterOrder": [
22095	//     "name"
22096	//   ],
22097	//   "parameters": {
22098	//     "name": {
22099	//       "description": "The name of the FHIR store to import FHIR resources to, in the format of `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
22100	//       "location": "path",
22101	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22102	//       "required": true,
22103	//       "type": "string"
22104	//     }
22105	//   },
22106	//   "path": "v1beta1/{+name}:import",
22107	//   "request": {
22108	//     "$ref": "ImportResourcesRequest"
22109	//   },
22110	//   "response": {
22111	//     "$ref": "Operation"
22112	//   },
22113	//   "scopes": [
22114	//     "https://www.googleapis.com/auth/cloud-platform"
22115	//   ]
22116	// }
22117
22118}
22119
22120// method id "healthcare.projects.locations.datasets.fhirStores.list":
22121
22122type ProjectsLocationsDatasetsFhirStoresListCall struct {
22123	s            *Service
22124	parent       string
22125	urlParams_   gensupport.URLParams
22126	ifNoneMatch_ string
22127	ctx_         context.Context
22128	header_      http.Header
22129}
22130
22131// List: Lists the FHIR stores in the given dataset.
22132func (r *ProjectsLocationsDatasetsFhirStoresService) List(parent string) *ProjectsLocationsDatasetsFhirStoresListCall {
22133	c := &ProjectsLocationsDatasetsFhirStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22134	c.parent = parent
22135	return c
22136}
22137
22138// Filter sets the optional parameter "filter": Restricts stores
22139// returned to those matching a filter. The following syntax is
22140// available: * A string field value can be written as text inside
22141// quotation marks, for example "query text". The only valid
22142// relational operation for text fields is equality (`=`), where text is
22143// searched within the field, rather than having the field be equal to
22144// the text. For example, "Comment = great" returns messages with
22145// `great` in the comment field. * A number field value can be written
22146// as an integer, a decimal, or an exponential. The valid relational
22147// operators for number fields are the equality operator (`=`), along
22148// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
22149// Note that there is no inequality (`!=`) operator. You can prepend the
22150// `NOT` operator to an expression to negate it. * A date field value
22151// must be written in `yyyy-mm-dd` form. Fields with date and time use
22152// the RFC3339 time format. Leading zeros are required for one-digit
22153// months and days. The valid relational operators for date fields are
22154// the equality operator (`=`) , along with the less than/greater than
22155// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
22156// (`!=`) operator. You can prepend the `NOT` operator to an expression
22157// to negate it. * Multiple field query expressions can be combined in
22158// one query by adding `AND` or `OR` operators between the expressions.
22159// If a boolean operator appears within a quoted string, it is not
22160// treated as special, it's just another part of the character string to
22161// be matched. You can prepend the `NOT` operator to an expression to
22162// negate it. Only filtering on labels is supported, for example
22163// `labels.key=value`.
22164func (c *ProjectsLocationsDatasetsFhirStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsFhirStoresListCall {
22165	c.urlParams_.Set("filter", filter)
22166	return c
22167}
22168
22169// PageSize sets the optional parameter "pageSize": Limit on the number
22170// of FHIR stores to return in a single response. If not specified, 100
22171// is used. May not be larger than 1000.
22172func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsFhirStoresListCall {
22173	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22174	return c
22175}
22176
22177// PageToken sets the optional parameter "pageToken": The
22178// next_page_token value returned from the previous List request, if
22179// any.
22180func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsFhirStoresListCall {
22181	c.urlParams_.Set("pageToken", pageToken)
22182	return c
22183}
22184
22185// Fields allows partial responses to be retrieved. See
22186// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22187// for more information.
22188func (c *ProjectsLocationsDatasetsFhirStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresListCall {
22189	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22190	return c
22191}
22192
22193// IfNoneMatch sets the optional parameter which makes the operation
22194// fail if the object's ETag matches the given value. This is useful for
22195// getting updates only after the object has changed since the last
22196// request. Use googleapi.IsNotModified to check whether the response
22197// error from Do is the result of In-None-Match.
22198func (c *ProjectsLocationsDatasetsFhirStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresListCall {
22199	c.ifNoneMatch_ = entityTag
22200	return c
22201}
22202
22203// Context sets the context to be used in this call's Do method. Any
22204// pending HTTP request will be aborted if the provided context is
22205// canceled.
22206func (c *ProjectsLocationsDatasetsFhirStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresListCall {
22207	c.ctx_ = ctx
22208	return c
22209}
22210
22211// Header returns an http.Header that can be modified by the caller to
22212// add HTTP headers to the request.
22213func (c *ProjectsLocationsDatasetsFhirStoresListCall) Header() http.Header {
22214	if c.header_ == nil {
22215		c.header_ = make(http.Header)
22216	}
22217	return c.header_
22218}
22219
22220func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
22221	reqHeaders := make(http.Header)
22222	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22223	for k, v := range c.header_ {
22224		reqHeaders[k] = v
22225	}
22226	reqHeaders.Set("User-Agent", c.s.userAgent())
22227	if c.ifNoneMatch_ != "" {
22228		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22229	}
22230	var body io.Reader = nil
22231	c.urlParams_.Set("alt", alt)
22232	c.urlParams_.Set("prettyPrint", "false")
22233	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
22234	urls += "?" + c.urlParams_.Encode()
22235	req, err := http.NewRequest("GET", urls, body)
22236	if err != nil {
22237		return nil, err
22238	}
22239	req.Header = reqHeaders
22240	googleapi.Expand(req.URL, map[string]string{
22241		"parent": c.parent,
22242	})
22243	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22244}
22245
22246// Do executes the "healthcare.projects.locations.datasets.fhirStores.list" call.
22247// Exactly one of *ListFhirStoresResponse or error will be non-nil. Any
22248// non-2xx status code is an error. Response headers are in either
22249// *ListFhirStoresResponse.ServerResponse.Header or (if a response was
22250// returned at all) in error.(*googleapi.Error).Header. Use
22251// googleapi.IsNotModified to check whether the returned error was
22252// because http.StatusNotModified was returned.
22253func (c *ProjectsLocationsDatasetsFhirStoresListCall) Do(opts ...googleapi.CallOption) (*ListFhirStoresResponse, error) {
22254	gensupport.SetOptions(c.urlParams_, opts...)
22255	res, err := c.doRequest("json")
22256	if res != nil && res.StatusCode == http.StatusNotModified {
22257		if res.Body != nil {
22258			res.Body.Close()
22259		}
22260		return nil, &googleapi.Error{
22261			Code:   res.StatusCode,
22262			Header: res.Header,
22263		}
22264	}
22265	if err != nil {
22266		return nil, err
22267	}
22268	defer googleapi.CloseBody(res)
22269	if err := googleapi.CheckResponse(res); err != nil {
22270		return nil, err
22271	}
22272	ret := &ListFhirStoresResponse{
22273		ServerResponse: googleapi.ServerResponse{
22274			Header:         res.Header,
22275			HTTPStatusCode: res.StatusCode,
22276		},
22277	}
22278	target := &ret
22279	if err := gensupport.DecodeResponse(target, res); err != nil {
22280		return nil, err
22281	}
22282	return ret, nil
22283	// {
22284	//   "description": "Lists the FHIR stores in the given dataset.",
22285	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
22286	//   "httpMethod": "GET",
22287	//   "id": "healthcare.projects.locations.datasets.fhirStores.list",
22288	//   "parameterOrder": [
22289	//     "parent"
22290	//   ],
22291	//   "parameters": {
22292	//     "filter": {
22293	//       "description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported, for example `labels.key=value`.",
22294	//       "location": "query",
22295	//       "type": "string"
22296	//     },
22297	//     "pageSize": {
22298	//       "description": "Limit on the number of FHIR stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
22299	//       "format": "int32",
22300	//       "location": "query",
22301	//       "type": "integer"
22302	//     },
22303	//     "pageToken": {
22304	//       "description": "The next_page_token value returned from the previous List request, if any.",
22305	//       "location": "query",
22306	//       "type": "string"
22307	//     },
22308	//     "parent": {
22309	//       "description": "Name of the dataset.",
22310	//       "location": "path",
22311	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
22312	//       "required": true,
22313	//       "type": "string"
22314	//     }
22315	//   },
22316	//   "path": "v1beta1/{+parent}/fhirStores",
22317	//   "response": {
22318	//     "$ref": "ListFhirStoresResponse"
22319	//   },
22320	//   "scopes": [
22321	//     "https://www.googleapis.com/auth/cloud-platform"
22322	//   ]
22323	// }
22324
22325}
22326
22327// Pages invokes f for each page of results.
22328// A non-nil error returned from f will halt the iteration.
22329// The provided context supersedes any context provided to the Context method.
22330func (c *ProjectsLocationsDatasetsFhirStoresListCall) Pages(ctx context.Context, f func(*ListFhirStoresResponse) error) error {
22331	c.ctx_ = ctx
22332	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22333	for {
22334		x, err := c.Do()
22335		if err != nil {
22336			return err
22337		}
22338		if err := f(x); err != nil {
22339			return err
22340		}
22341		if x.NextPageToken == "" {
22342			return nil
22343		}
22344		c.PageToken(x.NextPageToken)
22345	}
22346}
22347
22348// method id "healthcare.projects.locations.datasets.fhirStores.patch":
22349
22350type ProjectsLocationsDatasetsFhirStoresPatchCall struct {
22351	s          *Service
22352	name       string
22353	fhirstore  *FhirStore
22354	urlParams_ gensupport.URLParams
22355	ctx_       context.Context
22356	header_    http.Header
22357}
22358
22359// Patch: Updates the configuration of the specified FHIR store.
22360func (r *ProjectsLocationsDatasetsFhirStoresService) Patch(name string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22361	c := &ProjectsLocationsDatasetsFhirStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22362	c.name = name
22363	c.fhirstore = fhirstore
22364	return c
22365}
22366
22367// UpdateMask sets the optional parameter "updateMask": The update mask
22368// applies to the resource. For the `FieldMask` definition, see
22369// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
22370func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22371	c.urlParams_.Set("updateMask", updateMask)
22372	return c
22373}
22374
22375// Fields allows partial responses to be retrieved. See
22376// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22377// for more information.
22378func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22379	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22380	return c
22381}
22382
22383// Context sets the context to be used in this call's Do method. Any
22384// pending HTTP request will be aborted if the provided context is
22385// canceled.
22386func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22387	c.ctx_ = ctx
22388	return c
22389}
22390
22391// Header returns an http.Header that can be modified by the caller to
22392// add HTTP headers to the request.
22393func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Header() http.Header {
22394	if c.header_ == nil {
22395		c.header_ = make(http.Header)
22396	}
22397	return c.header_
22398}
22399
22400func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
22401	reqHeaders := make(http.Header)
22402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22403	for k, v := range c.header_ {
22404		reqHeaders[k] = v
22405	}
22406	reqHeaders.Set("User-Agent", c.s.userAgent())
22407	var body io.Reader = nil
22408	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
22409	if err != nil {
22410		return nil, err
22411	}
22412	reqHeaders.Set("Content-Type", "application/json")
22413	c.urlParams_.Set("alt", alt)
22414	c.urlParams_.Set("prettyPrint", "false")
22415	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22416	urls += "?" + c.urlParams_.Encode()
22417	req, err := http.NewRequest("PATCH", urls, body)
22418	if err != nil {
22419		return nil, err
22420	}
22421	req.Header = reqHeaders
22422	googleapi.Expand(req.URL, map[string]string{
22423		"name": c.name,
22424	})
22425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22426}
22427
22428// Do executes the "healthcare.projects.locations.datasets.fhirStores.patch" call.
22429// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22430// status code is an error. Response headers are in either
22431// *FhirStore.ServerResponse.Header or (if a response was returned at
22432// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22433// to check whether the returned error was because
22434// http.StatusNotModified was returned.
22435func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22436	gensupport.SetOptions(c.urlParams_, opts...)
22437	res, err := c.doRequest("json")
22438	if res != nil && res.StatusCode == http.StatusNotModified {
22439		if res.Body != nil {
22440			res.Body.Close()
22441		}
22442		return nil, &googleapi.Error{
22443			Code:   res.StatusCode,
22444			Header: res.Header,
22445		}
22446	}
22447	if err != nil {
22448		return nil, err
22449	}
22450	defer googleapi.CloseBody(res)
22451	if err := googleapi.CheckResponse(res); err != nil {
22452		return nil, err
22453	}
22454	ret := &FhirStore{
22455		ServerResponse: googleapi.ServerResponse{
22456			Header:         res.Header,
22457			HTTPStatusCode: res.StatusCode,
22458		},
22459	}
22460	target := &ret
22461	if err := gensupport.DecodeResponse(target, res); err != nil {
22462		return nil, err
22463	}
22464	return ret, nil
22465	// {
22466	//   "description": "Updates the configuration of the specified FHIR store.",
22467	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22468	//   "httpMethod": "PATCH",
22469	//   "id": "healthcare.projects.locations.datasets.fhirStores.patch",
22470	//   "parameterOrder": [
22471	//     "name"
22472	//   ],
22473	//   "parameters": {
22474	//     "name": {
22475	//       "description": "Output only. Resource name of the FHIR store, of the form `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
22476	//       "location": "path",
22477	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22478	//       "required": true,
22479	//       "type": "string"
22480	//     },
22481	//     "updateMask": {
22482	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
22483	//       "format": "google-fieldmask",
22484	//       "location": "query",
22485	//       "type": "string"
22486	//     }
22487	//   },
22488	//   "path": "v1beta1/{+name}",
22489	//   "request": {
22490	//     "$ref": "FhirStore"
22491	//   },
22492	//   "response": {
22493	//     "$ref": "FhirStore"
22494	//   },
22495	//   "scopes": [
22496	//     "https://www.googleapis.com/auth/cloud-platform"
22497	//   ]
22498	// }
22499
22500}
22501
22502// method id "healthcare.projects.locations.datasets.fhirStores.setIamPolicy":
22503
22504type ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall struct {
22505	s                   *Service
22506	resource            string
22507	setiampolicyrequest *SetIamPolicyRequest
22508	urlParams_          gensupport.URLParams
22509	ctx_                context.Context
22510	header_             http.Header
22511}
22512
22513// SetIamPolicy: Sets the access control policy on the specified
22514// resource. Replaces any existing policy. Can return `NOT_FOUND`,
22515// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
22516func (r *ProjectsLocationsDatasetsFhirStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22517	c := &ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22518	c.resource = resource
22519	c.setiampolicyrequest = setiampolicyrequest
22520	return c
22521}
22522
22523// Fields allows partial responses to be retrieved. See
22524// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22525// for more information.
22526func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22527	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22528	return c
22529}
22530
22531// Context sets the context to be used in this call's Do method. Any
22532// pending HTTP request will be aborted if the provided context is
22533// canceled.
22534func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22535	c.ctx_ = ctx
22536	return c
22537}
22538
22539// Header returns an http.Header that can be modified by the caller to
22540// add HTTP headers to the request.
22541func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Header() http.Header {
22542	if c.header_ == nil {
22543		c.header_ = make(http.Header)
22544	}
22545	return c.header_
22546}
22547
22548func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
22549	reqHeaders := make(http.Header)
22550	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22551	for k, v := range c.header_ {
22552		reqHeaders[k] = v
22553	}
22554	reqHeaders.Set("User-Agent", c.s.userAgent())
22555	var body io.Reader = nil
22556	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
22557	if err != nil {
22558		return nil, err
22559	}
22560	reqHeaders.Set("Content-Type", "application/json")
22561	c.urlParams_.Set("alt", alt)
22562	c.urlParams_.Set("prettyPrint", "false")
22563	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
22564	urls += "?" + c.urlParams_.Encode()
22565	req, err := http.NewRequest("POST", urls, body)
22566	if err != nil {
22567		return nil, err
22568	}
22569	req.Header = reqHeaders
22570	googleapi.Expand(req.URL, map[string]string{
22571		"resource": c.resource,
22572	})
22573	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22574}
22575
22576// Do executes the "healthcare.projects.locations.datasets.fhirStores.setIamPolicy" call.
22577// Exactly one of *Policy or error will be non-nil. Any non-2xx status
22578// code is an error. Response headers are in either
22579// *Policy.ServerResponse.Header or (if a response was returned at all)
22580// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22581// check whether the returned error was because http.StatusNotModified
22582// was returned.
22583func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
22584	gensupport.SetOptions(c.urlParams_, opts...)
22585	res, err := c.doRequest("json")
22586	if res != nil && res.StatusCode == http.StatusNotModified {
22587		if res.Body != nil {
22588			res.Body.Close()
22589		}
22590		return nil, &googleapi.Error{
22591			Code:   res.StatusCode,
22592			Header: res.Header,
22593		}
22594	}
22595	if err != nil {
22596		return nil, err
22597	}
22598	defer googleapi.CloseBody(res)
22599	if err := googleapi.CheckResponse(res); err != nil {
22600		return nil, err
22601	}
22602	ret := &Policy{
22603		ServerResponse: googleapi.ServerResponse{
22604			Header:         res.Header,
22605			HTTPStatusCode: res.StatusCode,
22606		},
22607	}
22608	target := &ret
22609	if err := gensupport.DecodeResponse(target, res); err != nil {
22610		return nil, err
22611	}
22612	return ret, nil
22613	// {
22614	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
22615	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy",
22616	//   "httpMethod": "POST",
22617	//   "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy",
22618	//   "parameterOrder": [
22619	//     "resource"
22620	//   ],
22621	//   "parameters": {
22622	//     "resource": {
22623	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
22624	//       "location": "path",
22625	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22626	//       "required": true,
22627	//       "type": "string"
22628	//     }
22629	//   },
22630	//   "path": "v1beta1/{+resource}:setIamPolicy",
22631	//   "request": {
22632	//     "$ref": "SetIamPolicyRequest"
22633	//   },
22634	//   "response": {
22635	//     "$ref": "Policy"
22636	//   },
22637	//   "scopes": [
22638	//     "https://www.googleapis.com/auth/cloud-platform"
22639	//   ]
22640	// }
22641
22642}
22643
22644// method id "healthcare.projects.locations.datasets.fhirStores.testIamPermissions":
22645
22646type ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall struct {
22647	s                         *Service
22648	resource                  string
22649	testiampermissionsrequest *TestIamPermissionsRequest
22650	urlParams_                gensupport.URLParams
22651	ctx_                      context.Context
22652	header_                   http.Header
22653}
22654
22655// TestIamPermissions: Returns permissions that a caller has on the
22656// specified resource. If the resource does not exist, this will return
22657// an empty set of permissions, not a `NOT_FOUND` error. Note: This
22658// operation is designed to be used for building permission-aware UIs
22659// and command-line tools, not for authorization checking. This
22660// operation may "fail open" without warning.
22661func (r *ProjectsLocationsDatasetsFhirStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
22662	c := &ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22663	c.resource = resource
22664	c.testiampermissionsrequest = testiampermissionsrequest
22665	return c
22666}
22667
22668// Fields allows partial responses to be retrieved. See
22669// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22670// for more information.
22671func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
22672	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22673	return c
22674}
22675
22676// Context sets the context to be used in this call's Do method. Any
22677// pending HTTP request will be aborted if the provided context is
22678// canceled.
22679func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
22680	c.ctx_ = ctx
22681	return c
22682}
22683
22684// Header returns an http.Header that can be modified by the caller to
22685// add HTTP headers to the request.
22686func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Header() http.Header {
22687	if c.header_ == nil {
22688		c.header_ = make(http.Header)
22689	}
22690	return c.header_
22691}
22692
22693func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
22694	reqHeaders := make(http.Header)
22695	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22696	for k, v := range c.header_ {
22697		reqHeaders[k] = v
22698	}
22699	reqHeaders.Set("User-Agent", c.s.userAgent())
22700	var body io.Reader = nil
22701	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
22702	if err != nil {
22703		return nil, err
22704	}
22705	reqHeaders.Set("Content-Type", "application/json")
22706	c.urlParams_.Set("alt", alt)
22707	c.urlParams_.Set("prettyPrint", "false")
22708	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
22709	urls += "?" + c.urlParams_.Encode()
22710	req, err := http.NewRequest("POST", urls, body)
22711	if err != nil {
22712		return nil, err
22713	}
22714	req.Header = reqHeaders
22715	googleapi.Expand(req.URL, map[string]string{
22716		"resource": c.resource,
22717	})
22718	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22719}
22720
22721// Do executes the "healthcare.projects.locations.datasets.fhirStores.testIamPermissions" call.
22722// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
22723// Any non-2xx status code is an error. Response headers are in either
22724// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
22725// was returned at all) in error.(*googleapi.Error).Header. Use
22726// googleapi.IsNotModified to check whether the returned error was
22727// because http.StatusNotModified was returned.
22728func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
22729	gensupport.SetOptions(c.urlParams_, opts...)
22730	res, err := c.doRequest("json")
22731	if res != nil && res.StatusCode == http.StatusNotModified {
22732		if res.Body != nil {
22733			res.Body.Close()
22734		}
22735		return nil, &googleapi.Error{
22736			Code:   res.StatusCode,
22737			Header: res.Header,
22738		}
22739	}
22740	if err != nil {
22741		return nil, err
22742	}
22743	defer googleapi.CloseBody(res)
22744	if err := googleapi.CheckResponse(res); err != nil {
22745		return nil, err
22746	}
22747	ret := &TestIamPermissionsResponse{
22748		ServerResponse: googleapi.ServerResponse{
22749			Header:         res.Header,
22750			HTTPStatusCode: res.StatusCode,
22751		},
22752	}
22753	target := &ret
22754	if err := gensupport.DecodeResponse(target, res); err != nil {
22755		return nil, err
22756	}
22757	return ret, nil
22758	// {
22759	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
22760	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions",
22761	//   "httpMethod": "POST",
22762	//   "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions",
22763	//   "parameterOrder": [
22764	//     "resource"
22765	//   ],
22766	//   "parameters": {
22767	//     "resource": {
22768	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
22769	//       "location": "path",
22770	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22771	//       "required": true,
22772	//       "type": "string"
22773	//     }
22774	//   },
22775	//   "path": "v1beta1/{+resource}:testIamPermissions",
22776	//   "request": {
22777	//     "$ref": "TestIamPermissionsRequest"
22778	//   },
22779	//   "response": {
22780	//     "$ref": "TestIamPermissionsResponse"
22781	//   },
22782	//   "scopes": [
22783	//     "https://www.googleapis.com/auth/cloud-platform"
22784	//   ]
22785	// }
22786
22787}
22788
22789// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate":
22790
22791type ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall struct {
22792	s            *Service
22793	parent       string
22794	urlParams_   gensupport.URLParams
22795	ifNoneMatch_ string
22796	ctx_         context.Context
22797	header_      http.Header
22798}
22799
22800// ConceptMapSearchTranslate: Translates a code from one value set to
22801// another by searching for appropriate concept maps. Implements the
22802// FHIR standard $translate operation (DSTU2
22803// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
22804// STU3
22805// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
22806// R4
22807// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
22808// On success, the response body contains a JSON-encoded representation
22809// of a FHIR Parameters resource, which includes the translation result.
22810// Errors generated by the FHIR store contain a JSON-encoded
22811// `OperationOutcome` resource describing the reason for the error. If
22812// the request cannot be mapped to a valid API method on a FHIR store, a
22813// generic GCP error might be returned instead.
22814func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapSearchTranslate(parent string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22815	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22816	c.parent = parent
22817	return c
22818}
22819
22820// Code sets the optional parameter "code": The code to translate.
22821func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22822	c.urlParams_.Set("code", code)
22823	return c
22824}
22825
22826// ConceptMapVersion sets the optional parameter "conceptMapVersion":
22827// The version of the concept map to use. If unset, the most current
22828// version is used.
22829func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22830	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
22831	return c
22832}
22833
22834// Source sets the optional parameter "source": The source value set of
22835// the concept map to be used. If unset, target is used to search for
22836// concept maps.
22837func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Source(source string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22838	c.urlParams_.Set("source", source)
22839	return c
22840}
22841
22842// System sets the optional parameter "system": The system for the code
22843// to be translated.
22844func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22845	c.urlParams_.Set("system", system)
22846	return c
22847}
22848
22849// Target sets the optional parameter "target": The target value set of
22850// the concept map to be used. If unset, source is used to search for
22851// concept maps.
22852func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Target(target string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22853	c.urlParams_.Set("target", target)
22854	return c
22855}
22856
22857// Url sets the optional parameter "url": The canonical url of the
22858// concept map to use. If unset, the source and target is used to search
22859// for concept maps.
22860func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Url(url string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22861	c.urlParams_.Set("url", url)
22862	return c
22863}
22864
22865// Fields allows partial responses to be retrieved. See
22866// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22867// for more information.
22868func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22869	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22870	return c
22871}
22872
22873// IfNoneMatch sets the optional parameter which makes the operation
22874// fail if the object's ETag matches the given value. This is useful for
22875// getting updates only after the object has changed since the last
22876// request. Use googleapi.IsNotModified to check whether the response
22877// error from Do is the result of In-None-Match.
22878func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22879	c.ifNoneMatch_ = entityTag
22880	return c
22881}
22882
22883// Context sets the context to be used in this call's Do method. Any
22884// pending HTTP request will be aborted if the provided context is
22885// canceled.
22886func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
22887	c.ctx_ = ctx
22888	return c
22889}
22890
22891// Header returns an http.Header that can be modified by the caller to
22892// add HTTP headers to the request.
22893func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Header() http.Header {
22894	if c.header_ == nil {
22895		c.header_ = make(http.Header)
22896	}
22897	return c.header_
22898}
22899
22900func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) doRequest(alt string) (*http.Response, error) {
22901	reqHeaders := make(http.Header)
22902	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
22903	for k, v := range c.header_ {
22904		reqHeaders[k] = v
22905	}
22906	reqHeaders.Set("User-Agent", c.s.userAgent())
22907	if c.ifNoneMatch_ != "" {
22908		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22909	}
22910	var body io.Reader = nil
22911	c.urlParams_.Set("alt", alt)
22912	c.urlParams_.Set("prettyPrint", "false")
22913	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/ConceptMap/$translate")
22914	urls += "?" + c.urlParams_.Encode()
22915	req, err := http.NewRequest("GET", urls, body)
22916	if err != nil {
22917		return nil, err
22918	}
22919	req.Header = reqHeaders
22920	googleapi.Expand(req.URL, map[string]string{
22921		"parent": c.parent,
22922	})
22923	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22924}
22925
22926// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate" call.
22927func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
22928	gensupport.SetOptions(c.urlParams_, opts...)
22929	return c.doRequest("")
22930	// {
22931	//   "description": "Translates a code from one value set to another by searching for appropriate concept maps. Implements the FHIR standard $translate operation ([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html), [STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html), [R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)). On success, the response body contains a JSON-encoded representation of a FHIR Parameters resource, which includes the translation result. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.",
22932	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate",
22933	//   "httpMethod": "GET",
22934	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate",
22935	//   "parameterOrder": [
22936	//     "parent"
22937	//   ],
22938	//   "parameters": {
22939	//     "code": {
22940	//       "description": "The code to translate.",
22941	//       "location": "query",
22942	//       "type": "string"
22943	//     },
22944	//     "conceptMapVersion": {
22945	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
22946	//       "location": "query",
22947	//       "type": "string"
22948	//     },
22949	//     "parent": {
22950	//       "description": "The name for the FHIR store containing the concept map(s) to use for the translation.",
22951	//       "location": "path",
22952	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22953	//       "required": true,
22954	//       "type": "string"
22955	//     },
22956	//     "source": {
22957	//       "description": "The source value set of the concept map to be used. If unset, target is used to search for concept maps.",
22958	//       "location": "query",
22959	//       "type": "string"
22960	//     },
22961	//     "system": {
22962	//       "description": "The system for the code to be translated.",
22963	//       "location": "query",
22964	//       "type": "string"
22965	//     },
22966	//     "target": {
22967	//       "description": "The target value set of the concept map to be used. If unset, source is used to search for concept maps.",
22968	//       "location": "query",
22969	//       "type": "string"
22970	//     },
22971	//     "url": {
22972	//       "description": "The canonical url of the concept map to use. If unset, the source and target is used to search for concept maps.",
22973	//       "location": "query",
22974	//       "type": "string"
22975	//     }
22976	//   },
22977	//   "path": "v1beta1/{+parent}/fhir/ConceptMap/$translate",
22978	//   "response": {
22979	//     "$ref": "HttpBody"
22980	//   },
22981	//   "scopes": [
22982	//     "https://www.googleapis.com/auth/cloud-platform"
22983	//   ]
22984	// }
22985
22986}
22987
22988// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate":
22989
22990type ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall struct {
22991	s            *Service
22992	name         string
22993	urlParams_   gensupport.URLParams
22994	ifNoneMatch_ string
22995	ctx_         context.Context
22996	header_      http.Header
22997}
22998
22999// ConceptMapTranslate: Translates a code from one value set to another
23000// using a concept map. You can provide your own concept maps to
23001// translate any code system to another code system. Implements the FHIR
23002// standard $translate operation (DSTU2
23003// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23004// STU3
23005// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23006// R4
23007// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23008// On success, the response body contains a JSON-encoded representation
23009// of a FHIR Parameters resource, which includes the translation result.
23010// Errors generated by the FHIR store contain a JSON-encoded
23011// `OperationOutcome` resource describing the reason for the error. If
23012// the request cannot be mapped to a valid API method on a FHIR store, a
23013// generic GCP error might be returned instead.
23014func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapTranslate(name string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23015	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23016	c.name = name
23017	return c
23018}
23019
23020// Code sets the optional parameter "code": The code to translate.
23021func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23022	c.urlParams_.Set("code", code)
23023	return c
23024}
23025
23026// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23027// The version of the concept map to use. If unset, the most current
23028// version is used.
23029func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23030	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23031	return c
23032}
23033
23034// System sets the optional parameter "system": The system for the code
23035// to be translated.
23036func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23037	c.urlParams_.Set("system", system)
23038	return c
23039}
23040
23041// Fields allows partial responses to be retrieved. See
23042// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23043// for more information.
23044func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23045	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23046	return c
23047}
23048
23049// IfNoneMatch sets the optional parameter which makes the operation
23050// fail if the object's ETag matches the given value. This is useful for
23051// getting updates only after the object has changed since the last
23052// request. Use googleapi.IsNotModified to check whether the response
23053// error from Do is the result of In-None-Match.
23054func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23055	c.ifNoneMatch_ = entityTag
23056	return c
23057}
23058
23059// Context sets the context to be used in this call's Do method. Any
23060// pending HTTP request will be aborted if the provided context is
23061// canceled.
23062func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23063	c.ctx_ = ctx
23064	return c
23065}
23066
23067// Header returns an http.Header that can be modified by the caller to
23068// add HTTP headers to the request.
23069func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Header() http.Header {
23070	if c.header_ == nil {
23071		c.header_ = make(http.Header)
23072	}
23073	return c.header_
23074}
23075
23076func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) doRequest(alt string) (*http.Response, error) {
23077	reqHeaders := make(http.Header)
23078	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23079	for k, v := range c.header_ {
23080		reqHeaders[k] = v
23081	}
23082	reqHeaders.Set("User-Agent", c.s.userAgent())
23083	if c.ifNoneMatch_ != "" {
23084		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23085	}
23086	var body io.Reader = nil
23087	c.urlParams_.Set("alt", alt)
23088	c.urlParams_.Set("prettyPrint", "false")
23089	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$translate")
23090	urls += "?" + c.urlParams_.Encode()
23091	req, err := http.NewRequest("GET", urls, body)
23092	if err != nil {
23093		return nil, err
23094	}
23095	req.Header = reqHeaders
23096	googleapi.Expand(req.URL, map[string]string{
23097		"name": c.name,
23098	})
23099	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23100}
23101
23102// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate" call.
23103func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23104	gensupport.SetOptions(c.urlParams_, opts...)
23105	return c.doRequest("")
23106	// {
23107	//   "description": "Translates a code from one value set to another using a concept map. You can provide your own concept maps to translate any code system to another code system. Implements the FHIR standard $translate operation ([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html), [STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html), [R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)). On success, the response body contains a JSON-encoded representation of a FHIR Parameters resource, which includes the translation result. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.",
23108	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate",
23109	//   "httpMethod": "GET",
23110	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate",
23111	//   "parameterOrder": [
23112	//     "name"
23113	//   ],
23114	//   "parameters": {
23115	//     "code": {
23116	//       "description": "The code to translate.",
23117	//       "location": "query",
23118	//       "type": "string"
23119	//     },
23120	//     "conceptMapVersion": {
23121	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23122	//       "location": "query",
23123	//       "type": "string"
23124	//     },
23125	//     "name": {
23126	//       "description": "The URL for the concept map to use for the translation.",
23127	//       "location": "path",
23128	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$",
23129	//       "required": true,
23130	//       "type": "string"
23131	//     },
23132	//     "system": {
23133	//       "description": "The system for the code to be translated.",
23134	//       "location": "query",
23135	//       "type": "string"
23136	//     }
23137	//   },
23138	//   "path": "v1beta1/{+name}/$translate",
23139	//   "response": {
23140	//     "$ref": "HttpBody"
23141	//   },
23142	//   "scopes": [
23143	//     "https://www.googleapis.com/auth/cloud-platform"
23144	//   ]
23145	// }
23146
23147}
23148
23149// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn":
23150
23151type ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall struct {
23152	s            *Service
23153	parent       string
23154	urlParams_   gensupport.URLParams
23155	ifNoneMatch_ string
23156	ctx_         context.Context
23157	header_      http.Header
23158}
23159
23160// ObservationLastn: Retrieves the N most recent `Observation` resources
23161// for a subject matching search criteria specified as query parameters,
23162// grouped by `Observation.code`, sorted from most recent to oldest.
23163// Implements the FHIR extended operation Observation-lastn (STU3
23164// (https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),
23165// R4
23166// (https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).
23167// DSTU2 doesn't define the Observation-lastn method, but the server
23168// supports it the same way it supports STU3. Search terms are provided
23169// as query parameters following the same pattern as the search method.
23170// The following search parameters must be provided: - `subject` or
23171// `patient` to specify a subject for the Observation. - `code`,
23172// `category` or any of the composite parameters that include `code`.
23173// Any other valid Observation search parameters can also be provided.
23174// This operation accepts an additional query parameter `max`, which
23175// specifies N, the maximum number of Observations to return from each
23176// group, with a default of 1. Searches with over 1000 results are
23177// rejected. Results are counted before grouping and limiting the
23178// results with `max`. To stay within the limit, constrain these
23179// searches using Observation search parameters such as `_lastUpdated`
23180// or `date`. On success, the response body contains a JSON-encoded
23181// representation of a `Bundle` resource of type `searchset`, containing
23182// the results of the operation. Errors generated by the FHIR store
23183// contain a JSON-encoded `OperationOutcome` resource describing the
23184// reason for the error. If the request cannot be mapped to a valid API
23185// method on a FHIR store, a generic GCP error might be returned
23186// instead.
23187func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ObservationLastn(parent string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23188	c := &ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23189	c.parent = parent
23190	return c
23191}
23192
23193// Fields allows partial responses to be retrieved. See
23194// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23195// for more information.
23196func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23197	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23198	return c
23199}
23200
23201// IfNoneMatch sets the optional parameter which makes the operation
23202// fail if the object's ETag matches the given value. This is useful for
23203// getting updates only after the object has changed since the last
23204// request. Use googleapi.IsNotModified to check whether the response
23205// error from Do is the result of In-None-Match.
23206func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23207	c.ifNoneMatch_ = entityTag
23208	return c
23209}
23210
23211// Context sets the context to be used in this call's Do method. Any
23212// pending HTTP request will be aborted if the provided context is
23213// canceled.
23214func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23215	c.ctx_ = ctx
23216	return c
23217}
23218
23219// Header returns an http.Header that can be modified by the caller to
23220// add HTTP headers to the request.
23221func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Header() http.Header {
23222	if c.header_ == nil {
23223		c.header_ = make(http.Header)
23224	}
23225	return c.header_
23226}
23227
23228func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) doRequest(alt string) (*http.Response, error) {
23229	reqHeaders := make(http.Header)
23230	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23231	for k, v := range c.header_ {
23232		reqHeaders[k] = v
23233	}
23234	reqHeaders.Set("User-Agent", c.s.userAgent())
23235	if c.ifNoneMatch_ != "" {
23236		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23237	}
23238	var body io.Reader = nil
23239	c.urlParams_.Set("alt", alt)
23240	c.urlParams_.Set("prettyPrint", "false")
23241	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/Observation/$lastn")
23242	urls += "?" + c.urlParams_.Encode()
23243	req, err := http.NewRequest("GET", urls, body)
23244	if err != nil {
23245		return nil, err
23246	}
23247	req.Header = reqHeaders
23248	googleapi.Expand(req.URL, map[string]string{
23249		"parent": c.parent,
23250	})
23251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23252}
23253
23254// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn" call.
23255func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23256	gensupport.SetOptions(c.urlParams_, opts...)
23257	return c.doRequest("")
23258	// {
23259	//   "description": "Retrieves the N most recent `Observation` resources for a subject matching search criteria specified as query parameters, grouped by `Observation.code`, sorted from most recent to oldest. Implements the FHIR extended operation Observation-lastn ([STU3](https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn), [R4](https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)). DSTU2 doesn't define the Observation-lastn method, but the server supports it the same way it supports STU3. Search terms are provided as query parameters following the same pattern as the search method. The following search parameters must be provided: - `subject` or `patient` to specify a subject for the Observation. - `code`, `category` or any of the composite parameters that include `code`. Any other valid Observation search parameters can also be provided. This operation accepts an additional query parameter `max`, which specifies N, the maximum number of Observations to return from each group, with a default of 1. Searches with over 1000 results are rejected. Results are counted before grouping and limiting the results with `max`. To stay within the limit, constrain these searches using Observation search parameters such as `_lastUpdated` or `date`. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.",
23260	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn",
23261	//   "httpMethod": "GET",
23262	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn",
23263	//   "parameterOrder": [
23264	//     "parent"
23265	//   ],
23266	//   "parameters": {
23267	//     "parent": {
23268	//       "description": "Name of the FHIR store to retrieve resources from.",
23269	//       "location": "path",
23270	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23271	//       "required": true,
23272	//       "type": "string"
23273	//     }
23274	//   },
23275	//   "path": "v1beta1/{+parent}/fhir/Observation/$lastn",
23276	//   "response": {
23277	//     "$ref": "HttpBody"
23278	//   },
23279	//   "scopes": [
23280	//     "https://www.googleapis.com/auth/cloud-platform"
23281	//   ]
23282	// }
23283
23284}
23285
23286// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything":
23287
23288type ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall struct {
23289	s            *Service
23290	name         string
23291	urlParams_   gensupport.URLParams
23292	ifNoneMatch_ string
23293	ctx_         context.Context
23294	header_      http.Header
23295}
23296
23297// PatientEverything: Retrieves a Patient resource and resources related
23298// to that patient. Implements the FHIR extended operation
23299// Patient-everything (DSTU2
23300// (https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),
23301// STU3
23302// (https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),
23303// R4
23304// (https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).
23305// On success, the response body contains a JSON-encoded representation
23306// of a `Bundle` resource of type `searchset`, containing the results of
23307// the operation. Errors generated by the FHIR store contain a
23308// JSON-encoded `OperationOutcome` resource describing the reason for
23309// the error. If the request cannot be mapped to a valid API method on a
23310// FHIR store, a generic GCP error might be returned instead. The
23311// resources in scope for the response are: * The patient resource
23312// itself. * All the resources directly referenced by the patient
23313// resource. * Resources directly referencing the patient resource that
23314// meet the inclusion criteria. The inclusion criteria are based on the
23315// membership rules in the patient compartment definition (DSTU2
23316// (https://hl7.org/fhir/DSTU2/compartment-patient.html), STU3
23317// (http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), R4
23318// (https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which
23319// details the eligible resource types and referencing search
23320// parameters. For samples that show how to call `Patient-everything`,
23321// see Getting all patient compartment resources
23322// (/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartme
23323// nt_resources).
23324func (r *ProjectsLocationsDatasetsFhirStoresFhirService) PatientEverything(name string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23325	c := &ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23326	c.name = name
23327	return c
23328}
23329
23330// Count sets the optional parameter "_count": Maximum number of
23331// resources in a page. If not specified, 100 is used. May not be larger
23332// than 1000.
23333func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23334	c.urlParams_.Set("_count", fmt.Sprint(Count))
23335	return c
23336}
23337
23338// PageToken sets the optional parameter "_page_token": Used to retrieve
23339// the next or previous page of results when using pagination. Set
23340// `_page_token` to the value of _page_token set in next or previous
23341// page links' url. Next and previous page are returned in the response
23342// bundle's links field, where `link.relation` is "previous" or "next".
23343// Omit `_page_token` if no previous request has been made.
23344func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23345	c.urlParams_.Set("_page_token", PageToken)
23346	return c
23347}
23348
23349// Since sets the optional parameter "_since": If provided, only
23350// resources updated after this time are returned. The time uses the
23351// format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example,
23352// `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time
23353// must be specified to the second and include a time zone.
23354func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23355	c.urlParams_.Set("_since", Since)
23356	return c
23357}
23358
23359// Type sets the optional parameter "_type": String of comma-delimited
23360// FHIR resource types. If provided, only resources of the specified
23361// resource type(s) are returned.
23362func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Type(Type string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23363	c.urlParams_.Set("_type", Type)
23364	return c
23365}
23366
23367// End sets the optional parameter "end": The response includes records
23368// prior to the end date. If no end date is provided, all records
23369// subsequent to the start date are in scope.
23370func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) End(end string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23371	c.urlParams_.Set("end", end)
23372	return c
23373}
23374
23375// Start sets the optional parameter "start": The response includes
23376// records subsequent to the start date. If no start date is provided,
23377// all records prior to the end date are in scope.
23378func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Start(start string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23379	c.urlParams_.Set("start", start)
23380	return c
23381}
23382
23383// Fields allows partial responses to be retrieved. See
23384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23385// for more information.
23386func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23388	return c
23389}
23390
23391// IfNoneMatch sets the optional parameter which makes the operation
23392// fail if the object's ETag matches the given value. This is useful for
23393// getting updates only after the object has changed since the last
23394// request. Use googleapi.IsNotModified to check whether the response
23395// error from Do is the result of In-None-Match.
23396func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23397	c.ifNoneMatch_ = entityTag
23398	return c
23399}
23400
23401// Context sets the context to be used in this call's Do method. Any
23402// pending HTTP request will be aborted if the provided context is
23403// canceled.
23404func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23405	c.ctx_ = ctx
23406	return c
23407}
23408
23409// Header returns an http.Header that can be modified by the caller to
23410// add HTTP headers to the request.
23411func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Header() http.Header {
23412	if c.header_ == nil {
23413		c.header_ = make(http.Header)
23414	}
23415	return c.header_
23416}
23417
23418func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
23419	reqHeaders := make(http.Header)
23420	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23421	for k, v := range c.header_ {
23422		reqHeaders[k] = v
23423	}
23424	reqHeaders.Set("User-Agent", c.s.userAgent())
23425	if c.ifNoneMatch_ != "" {
23426		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23427	}
23428	var body io.Reader = nil
23429	c.urlParams_.Set("alt", alt)
23430	c.urlParams_.Set("prettyPrint", "false")
23431	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$everything")
23432	urls += "?" + c.urlParams_.Encode()
23433	req, err := http.NewRequest("GET", urls, body)
23434	if err != nil {
23435		return nil, err
23436	}
23437	req.Header = reqHeaders
23438	googleapi.Expand(req.URL, map[string]string{
23439		"name": c.name,
23440	})
23441	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23442}
23443
23444// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything" call.
23445func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23446	gensupport.SetOptions(c.urlParams_, opts...)
23447	return c.doRequest("")
23448	// {
23449	//   "description": "Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](https://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources).",
23450	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything",
23451	//   "httpMethod": "GET",
23452	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything",
23453	//   "parameterOrder": [
23454	//     "name"
23455	//   ],
23456	//   "parameters": {
23457	//     "_count": {
23458	//       "description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.",
23459	//       "format": "int32",
23460	//       "location": "query",
23461	//       "type": "integer"
23462	//     },
23463	//     "_page_token": {
23464	//       "description": "Used to retrieve the next or previous page of results when using pagination. Set `_page_token` to the value of _page_token set in next or previous page links' url. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.",
23465	//       "location": "query",
23466	//       "type": "string"
23467	//     },
23468	//     "_since": {
23469	//       "description": "If provided, only resources updated after this time are returned. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.",
23470	//       "location": "query",
23471	//       "type": "string"
23472	//     },
23473	//     "_type": {
23474	//       "description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned.",
23475	//       "location": "query",
23476	//       "type": "string"
23477	//     },
23478	//     "end": {
23479	//       "description": "The response includes records prior to the end date. If no end date is provided, all records subsequent to the start date are in scope.",
23480	//       "location": "query",
23481	//       "type": "string"
23482	//     },
23483	//     "name": {
23484	//       "description": "Name of the `Patient` resource for which the information is required.",
23485	//       "location": "path",
23486	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$",
23487	//       "required": true,
23488	//       "type": "string"
23489	//     },
23490	//     "start": {
23491	//       "description": "The response includes records subsequent to the start date. If no start date is provided, all records prior to the end date are in scope.",
23492	//       "location": "query",
23493	//       "type": "string"
23494	//     }
23495	//   },
23496	//   "path": "v1beta1/{+name}/$everything",
23497	//   "response": {
23498	//     "$ref": "HttpBody"
23499	//   },
23500	//   "scopes": [
23501	//     "https://www.googleapis.com/auth/cloud-platform"
23502	//   ]
23503	// }
23504
23505}
23506
23507// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge":
23508
23509type ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall struct {
23510	s          *Service
23511	name       string
23512	urlParams_ gensupport.URLParams
23513	ctx_       context.Context
23514	header_    http.Header
23515}
23516
23517// ResourcePurge: Deletes all the historical versions of a resource
23518// (excluding the current version) from the FHIR store. To remove all
23519// versions of a resource, first delete the current version and then
23520// call this method. This is not a FHIR standard operation. For samples
23521// that show how to call `Resource-purge`, see Deleting historical
23522// versions of a FHIR resource
23523// (/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_
23524// of_a_fhir_resource).
23525func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourcePurge(name string) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
23526	c := &ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23527	c.name = name
23528	return c
23529}
23530
23531// Fields allows partial responses to be retrieved. See
23532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23533// for more information.
23534func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
23535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23536	return c
23537}
23538
23539// Context sets the context to be used in this call's Do method. Any
23540// pending HTTP request will be aborted if the provided context is
23541// canceled.
23542func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
23543	c.ctx_ = ctx
23544	return c
23545}
23546
23547// Header returns an http.Header that can be modified by the caller to
23548// add HTTP headers to the request.
23549func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Header() http.Header {
23550	if c.header_ == nil {
23551		c.header_ = make(http.Header)
23552	}
23553	return c.header_
23554}
23555
23556func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
23557	reqHeaders := make(http.Header)
23558	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23559	for k, v := range c.header_ {
23560		reqHeaders[k] = v
23561	}
23562	reqHeaders.Set("User-Agent", c.s.userAgent())
23563	var body io.Reader = nil
23564	c.urlParams_.Set("alt", alt)
23565	c.urlParams_.Set("prettyPrint", "false")
23566	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$purge")
23567	urls += "?" + c.urlParams_.Encode()
23568	req, err := http.NewRequest("DELETE", urls, body)
23569	if err != nil {
23570		return nil, err
23571	}
23572	req.Header = reqHeaders
23573	googleapi.Expand(req.URL, map[string]string{
23574		"name": c.name,
23575	})
23576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23577}
23578
23579// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge" call.
23580// Exactly one of *Empty or error will be non-nil. Any non-2xx status
23581// code is an error. Response headers are in either
23582// *Empty.ServerResponse.Header or (if a response was returned at all)
23583// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23584// check whether the returned error was because http.StatusNotModified
23585// was returned.
23586func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
23587	gensupport.SetOptions(c.urlParams_, opts...)
23588	res, err := c.doRequest("json")
23589	if res != nil && res.StatusCode == http.StatusNotModified {
23590		if res.Body != nil {
23591			res.Body.Close()
23592		}
23593		return nil, &googleapi.Error{
23594			Code:   res.StatusCode,
23595			Header: res.Header,
23596		}
23597	}
23598	if err != nil {
23599		return nil, err
23600	}
23601	defer googleapi.CloseBody(res)
23602	if err := googleapi.CheckResponse(res); err != nil {
23603		return nil, err
23604	}
23605	ret := &Empty{
23606		ServerResponse: googleapi.ServerResponse{
23607			Header:         res.Header,
23608			HTTPStatusCode: res.StatusCode,
23609		},
23610	}
23611	target := &ret
23612	if err := gensupport.DecodeResponse(target, res); err != nil {
23613		return nil, err
23614	}
23615	return ret, nil
23616	// {
23617	//   "description": "Deletes all the historical versions of a resource (excluding the current version) from the FHIR store. To remove all versions of a resource, first delete the current version and then call this method. This is not a FHIR standard operation. For samples that show how to call `Resource-purge`, see [Deleting historical versions of a FHIR resource](/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_of_a_fhir_resource).",
23618	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge",
23619	//   "httpMethod": "DELETE",
23620	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge",
23621	//   "parameterOrder": [
23622	//     "name"
23623	//   ],
23624	//   "parameters": {
23625	//     "name": {
23626	//       "description": "The name of the resource to purge.",
23627	//       "location": "path",
23628	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
23629	//       "required": true,
23630	//       "type": "string"
23631	//     }
23632	//   },
23633	//   "path": "v1beta1/{+name}/$purge",
23634	//   "response": {
23635	//     "$ref": "Empty"
23636	//   },
23637	//   "scopes": [
23638	//     "https://www.googleapis.com/auth/cloud-platform"
23639	//   ]
23640	// }
23641
23642}
23643
23644// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate":
23645
23646type ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall struct {
23647	s          *Service
23648	parent     string
23649	type_      string
23650	body_      io.Reader
23651	urlParams_ gensupport.URLParams
23652	ctx_       context.Context
23653	header_    http.Header
23654}
23655
23656// ResourceValidate: Validates an input FHIR resource's conformance to
23657// its profiles and the profiles configured on the FHIR store.
23658// Implements the FHIR extended operation $validate (DSTU2
23659// (http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate),
23660// STU3
23661// (http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate),
23662// or R4
23663// (http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)).
23664// The request body must contain a JSON-encoded FHIR resource, and the
23665// request headers must contain `Content-Type: application/fhir+json`.
23666// The `Parameters` input syntax is not supported. The `profile` query
23667// parameter can be used to request that the resource only be validated
23668// against a specific profile. If a profile with the given URL cannot be
23669// found in the FHIR store then an error is returned. Errors generated
23670// by validation contain a JSON-encoded `OperationOutcome` resource
23671// describing the reason for the error. If the request cannot be mapped
23672// to a valid API method on a FHIR store, a generic GCP error might be
23673// returned instead.
23674func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourceValidate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
23675	c := &ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23676	c.parent = parent
23677	c.type_ = type_
23678	c.body_ = body_
23679	return c
23680}
23681
23682// Profile sets the optional parameter "profile": A profile that this
23683// resource should be validated against.
23684func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Profile(profile string) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
23685	c.urlParams_.Set("profile", profile)
23686	return c
23687}
23688
23689// Fields allows partial responses to be retrieved. See
23690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23691// for more information.
23692func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
23693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23694	return c
23695}
23696
23697// Context sets the context to be used in this call's Do method. Any
23698// pending HTTP request will be aborted if the provided context is
23699// canceled.
23700func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
23701	c.ctx_ = ctx
23702	return c
23703}
23704
23705// Header returns an http.Header that can be modified by the caller to
23706// add HTTP headers to the request.
23707func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Header() http.Header {
23708	if c.header_ == nil {
23709		c.header_ = make(http.Header)
23710	}
23711	return c.header_
23712}
23713
23714func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) doRequest(alt string) (*http.Response, error) {
23715	reqHeaders := make(http.Header)
23716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23717	for k, v := range c.header_ {
23718		reqHeaders[k] = v
23719	}
23720	reqHeaders.Set("User-Agent", c.s.userAgent())
23721	var body io.Reader = nil
23722	body = c.body_
23723	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}/$validate")
23724	urls += "?" + c.urlParams_.Encode()
23725	req, err := http.NewRequest("POST", urls, body)
23726	if err != nil {
23727		return nil, err
23728	}
23729	req.Header = reqHeaders
23730	googleapi.Expand(req.URL, map[string]string{
23731		"parent": c.parent,
23732		"type":   c.type_,
23733	})
23734	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23735}
23736
23737// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate" call.
23738func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23739	gensupport.SetOptions(c.urlParams_, opts...)
23740	return c.doRequest("")
23741	// {
23742	//   "description": "Validates an input FHIR resource's conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate), [STU3](http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate), or [R4](http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The `Parameters` input syntax is not supported. The `profile` query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.",
23743	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/$validate",
23744	//   "httpMethod": "POST",
23745	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate",
23746	//   "parameterOrder": [
23747	//     "parent",
23748	//     "type"
23749	//   ],
23750	//   "parameters": {
23751	//     "parent": {
23752	//       "description": "The name of the FHIR store that holds the profiles being used for validation.",
23753	//       "location": "path",
23754	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23755	//       "required": true,
23756	//       "type": "string"
23757	//     },
23758	//     "profile": {
23759	//       "description": "A profile that this resource should be validated against.",
23760	//       "location": "query",
23761	//       "type": "string"
23762	//     },
23763	//     "type": {
23764	//       "description": "The FHIR resource type of the resource being validated. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), or [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.",
23765	//       "location": "path",
23766	//       "pattern": "^[^/]+$",
23767	//       "required": true,
23768	//       "type": "string"
23769	//     }
23770	//   },
23771	//   "path": "v1beta1/{+parent}/fhir/{+type}/$validate",
23772	//   "request": {
23773	//     "$ref": "HttpBody"
23774	//   },
23775	//   "response": {
23776	//     "$ref": "HttpBody"
23777	//   },
23778	//   "scopes": [
23779	//     "https://www.googleapis.com/auth/cloud-platform"
23780	//   ]
23781	// }
23782
23783}
23784
23785// method id "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities":
23786
23787type ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall struct {
23788	s            *Service
23789	name         string
23790	urlParams_   gensupport.URLParams
23791	ifNoneMatch_ string
23792	ctx_         context.Context
23793	header_      http.Header
23794}
23795
23796// Capabilities: Gets the FHIR capability statement (STU3
23797// (https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),
23798// R4
23799// (https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),
23800// or the conformance statement
23801// (https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in
23802// the DSTU2 case for the store, which contains a description of
23803// functionality supported by the server. Implements the FHIR standard
23804// capabilities interaction (STU3
23805// (https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),
23806// R4
23807// (https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),
23808// or the conformance interaction
23809// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)
23810// in the DSTU2 case. On success, the response body contains a
23811// JSON-encoded representation of a `CapabilityStatement` resource.
23812func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Capabilities(name string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
23813	c := &ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23814	c.name = name
23815	return c
23816}
23817
23818// Fields allows partial responses to be retrieved. See
23819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23820// for more information.
23821func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
23822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23823	return c
23824}
23825
23826// IfNoneMatch sets the optional parameter which makes the operation
23827// fail if the object's ETag matches the given value. This is useful for
23828// getting updates only after the object has changed since the last
23829// request. Use googleapi.IsNotModified to check whether the response
23830// error from Do is the result of In-None-Match.
23831func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
23832	c.ifNoneMatch_ = entityTag
23833	return c
23834}
23835
23836// Context sets the context to be used in this call's Do method. Any
23837// pending HTTP request will be aborted if the provided context is
23838// canceled.
23839func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
23840	c.ctx_ = ctx
23841	return c
23842}
23843
23844// Header returns an http.Header that can be modified by the caller to
23845// add HTTP headers to the request.
23846func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Header() http.Header {
23847	if c.header_ == nil {
23848		c.header_ = make(http.Header)
23849	}
23850	return c.header_
23851}
23852
23853func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
23854	reqHeaders := make(http.Header)
23855	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23856	for k, v := range c.header_ {
23857		reqHeaders[k] = v
23858	}
23859	reqHeaders.Set("User-Agent", c.s.userAgent())
23860	if c.ifNoneMatch_ != "" {
23861		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23862	}
23863	var body io.Reader = nil
23864	c.urlParams_.Set("alt", alt)
23865	c.urlParams_.Set("prettyPrint", "false")
23866	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/fhir/metadata")
23867	urls += "?" + c.urlParams_.Encode()
23868	req, err := http.NewRequest("GET", urls, body)
23869	if err != nil {
23870		return nil, err
23871	}
23872	req.Header = reqHeaders
23873	googleapi.Expand(req.URL, map[string]string{
23874		"name": c.name,
23875	})
23876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23877}
23878
23879// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities" call.
23880func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23881	gensupport.SetOptions(c.urlParams_, opts...)
23882	return c.doRequest("")
23883	// {
23884	//   "description": "Gets the FHIR capability statement ([STU3](https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance) in the DSTU2 case. On success, the response body contains a JSON-encoded representation of a `CapabilityStatement` resource.",
23885	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata",
23886	//   "httpMethod": "GET",
23887	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities",
23888	//   "parameterOrder": [
23889	//     "name"
23890	//   ],
23891	//   "parameters": {
23892	//     "name": {
23893	//       "description": "Name of the FHIR store to retrieve the capabilities for.",
23894	//       "location": "path",
23895	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23896	//       "required": true,
23897	//       "type": "string"
23898	//     }
23899	//   },
23900	//   "path": "v1beta1/{+name}/fhir/metadata",
23901	//   "response": {
23902	//     "$ref": "HttpBody"
23903	//   },
23904	//   "scopes": [
23905	//     "https://www.googleapis.com/auth/cloud-platform"
23906	//   ]
23907	// }
23908
23909}
23910
23911// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete":
23912
23913type ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall struct {
23914	s          *Service
23915	parent     string
23916	type_      string
23917	urlParams_ gensupport.URLParams
23918	ctx_       context.Context
23919	header_    http.Header
23920}
23921
23922// ConditionalDelete: Deletes FHIR resources that match a search query.
23923// Implements the FHIR standard conditional delete interaction (DSTU2
23924// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),
23925// STU3
23926// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),
23927// R4
23928// (https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).
23929// If multiple resources match, all matching resources are deleted.
23930// Search terms are provided as query parameters following the same
23931// pattern as the search method. Note: Unless resource versioning is
23932// disabled by setting the disable_resource_versioning flag on the FHIR
23933// store, the deleted resources are moved to a history repository that
23934// can still be retrieved through vread and related methods, unless they
23935// are removed by the purge method. This method requires
23936// the`healthcare.fhirStores.searchResources` and
23937// `healthcare.fhirResources.delete` permissions on the parent FHIR
23938// store. For samples that show how to call `conditionalDelete`, see
23939// Conditionally deleting a FHIR resource
23940// (/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir
23941// _resource).
23942func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalDelete(parent string, type_ string) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
23943	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23944	c.parent = parent
23945	c.type_ = type_
23946	return c
23947}
23948
23949// Fields allows partial responses to be retrieved. See
23950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23951// for more information.
23952func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
23953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23954	return c
23955}
23956
23957// Context sets the context to be used in this call's Do method. Any
23958// pending HTTP request will be aborted if the provided context is
23959// canceled.
23960func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
23961	c.ctx_ = ctx
23962	return c
23963}
23964
23965// Header returns an http.Header that can be modified by the caller to
23966// add HTTP headers to the request.
23967func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Header() http.Header {
23968	if c.header_ == nil {
23969		c.header_ = make(http.Header)
23970	}
23971	return c.header_
23972}
23973
23974func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) doRequest(alt string) (*http.Response, error) {
23975	reqHeaders := make(http.Header)
23976	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
23977	for k, v := range c.header_ {
23978		reqHeaders[k] = v
23979	}
23980	reqHeaders.Set("User-Agent", c.s.userAgent())
23981	var body io.Reader = nil
23982	c.urlParams_.Set("alt", alt)
23983	c.urlParams_.Set("prettyPrint", "false")
23984	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
23985	urls += "?" + c.urlParams_.Encode()
23986	req, err := http.NewRequest("DELETE", urls, body)
23987	if err != nil {
23988		return nil, err
23989	}
23990	req.Header = reqHeaders
23991	googleapi.Expand(req.URL, map[string]string{
23992		"parent": c.parent,
23993		"type":   c.type_,
23994	})
23995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23996}
23997
23998// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete" call.
23999// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24000// code is an error. Response headers are in either
24001// *Empty.ServerResponse.Header or (if a response was returned at all)
24002// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24003// check whether the returned error was because http.StatusNotModified
24004// was returned.
24005func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24006	gensupport.SetOptions(c.urlParams_, opts...)
24007	res, err := c.doRequest("json")
24008	if res != nil && res.StatusCode == http.StatusNotModified {
24009		if res.Body != nil {
24010			res.Body.Close()
24011		}
24012		return nil, &googleapi.Error{
24013			Code:   res.StatusCode,
24014			Header: res.Header,
24015		}
24016	}
24017	if err != nil {
24018		return nil, err
24019	}
24020	defer googleapi.CloseBody(res)
24021	if err := googleapi.CheckResponse(res); err != nil {
24022		return nil, err
24023	}
24024	ret := &Empty{
24025		ServerResponse: googleapi.ServerResponse{
24026			Header:         res.Header,
24027			HTTPStatusCode: res.StatusCode,
24028		},
24029	}
24030	target := &ret
24031	if err := gensupport.DecodeResponse(target, res); err != nil {
24032		return nil, err
24033	}
24034	return ret, nil
24035	// {
24036	//   "description": "Deletes FHIR resources that match a search query. Implements the FHIR standard conditional delete interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)). If multiple resources match, all matching resources are deleted. Search terms are provided as query parameters following the same pattern as the search method. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources are moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. This method requires the`healthcare.fhirStores.searchResources` and `healthcare.fhirResources.delete` permissions on the parent FHIR store. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource).",
24037	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24038	//   "httpMethod": "DELETE",
24039	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete",
24040	//   "parameterOrder": [
24041	//     "parent",
24042	//     "type"
24043	//   ],
24044	//   "parameters": {
24045	//     "parent": {
24046	//       "description": "The name of the FHIR store this resource belongs to.",
24047	//       "location": "path",
24048	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24049	//       "required": true,
24050	//       "type": "string"
24051	//     },
24052	//     "type": {
24053	//       "description": "The FHIR resource type to delete, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).",
24054	//       "location": "path",
24055	//       "pattern": "^[^/]+$",
24056	//       "required": true,
24057	//       "type": "string"
24058	//     }
24059	//   },
24060	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24061	//   "response": {
24062	//     "$ref": "Empty"
24063	//   },
24064	//   "scopes": [
24065	//     "https://www.googleapis.com/auth/cloud-platform"
24066	//   ]
24067	// }
24068
24069}
24070
24071// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch":
24072
24073type ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall struct {
24074	s          *Service
24075	parent     string
24076	type_      string
24077	body_      io.Reader
24078	urlParams_ gensupport.URLParams
24079	ctx_       context.Context
24080	header_    http.Header
24081}
24082
24083// ConditionalPatch: If a resource is found based on the search criteria
24084// specified in the query parameters, updates part of that resource by
24085// applying the operations specified in a JSON Patch
24086// (http://jsonpatch.com/) document. Implements the FHIR standard
24087// conditional patch interaction (STU3
24088// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
24089// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
24090// doesn't define a conditional patch method, but the server supports it
24091// in the same way it supports STU3. Search terms are provided as query
24092// parameters following the same pattern as the search method. If the
24093// search criteria identify more than one match, the request returns a
24094// `412 Precondition Failed` error. The request body must contain a JSON
24095// Patch document, and the request headers must contain `Content-Type:
24096// application/json-patch+json`. On success, the response body contains
24097// a JSON-encoded representation of the updated resource, including the
24098// server-assigned version ID. Errors generated by the FHIR store
24099// contain a JSON-encoded `OperationOutcome` resource describing the
24100// reason for the error. If the request cannot be mapped to a valid API
24101// method on a FHIR store, a generic GCP error might be returned
24102// instead. This method requires
24103// the`healthcare.fhirStores.searchResources` permission on the parent
24104// FHIR store and the `healthcare.fhirResources.patch` permission on the
24105// requested FHIR store resource. For samples that show how to call
24106// `conditionalPatch`, see Conditionally patching a FHIR resource
24107// (/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir
24108// _resource).
24109func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalPatch(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24110	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24111	c.parent = parent
24112	c.type_ = type_
24113	c.body_ = body_
24114	return c
24115}
24116
24117// Fields allows partial responses to be retrieved. See
24118// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24119// for more information.
24120func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24121	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24122	return c
24123}
24124
24125// Context sets the context to be used in this call's Do method. Any
24126// pending HTTP request will be aborted if the provided context is
24127// canceled.
24128func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24129	c.ctx_ = ctx
24130	return c
24131}
24132
24133// Header returns an http.Header that can be modified by the caller to
24134// add HTTP headers to the request.
24135func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Header() http.Header {
24136	if c.header_ == nil {
24137		c.header_ = make(http.Header)
24138	}
24139	return c.header_
24140}
24141
24142func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) doRequest(alt string) (*http.Response, error) {
24143	reqHeaders := make(http.Header)
24144	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24145	for k, v := range c.header_ {
24146		reqHeaders[k] = v
24147	}
24148	reqHeaders.Set("User-Agent", c.s.userAgent())
24149	var body io.Reader = nil
24150	body = c.body_
24151	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24152	urls += "?" + c.urlParams_.Encode()
24153	req, err := http.NewRequest("PATCH", urls, body)
24154	if err != nil {
24155		return nil, err
24156	}
24157	req.Header = reqHeaders
24158	googleapi.Expand(req.URL, map[string]string{
24159		"parent": c.parent,
24160		"type":   c.type_,
24161	})
24162	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24163}
24164
24165// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch" call.
24166func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24167	gensupport.SetOptions(c.urlParams_, opts...)
24168	return c.doRequest("")
24169	// {
24170	//   "description": "If a resource is found based on the search criteria specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search terms are provided as query parameters following the same pattern as the search method. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method requires the`healthcare.fhirStores.searchResources` permission on the parent FHIR store and the `healthcare.fhirResources.patch` permission on the requested FHIR store resource. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource).",
24171	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24172	//   "httpMethod": "PATCH",
24173	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch",
24174	//   "parameterOrder": [
24175	//     "parent",
24176	//     "type"
24177	//   ],
24178	//   "parameters": {
24179	//     "parent": {
24180	//       "description": "The name of the FHIR store this resource belongs to.",
24181	//       "location": "path",
24182	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24183	//       "required": true,
24184	//       "type": "string"
24185	//     },
24186	//     "type": {
24187	//       "description": "The FHIR resource type to update, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).",
24188	//       "location": "path",
24189	//       "pattern": "^[^/]+$",
24190	//       "required": true,
24191	//       "type": "string"
24192	//     }
24193	//   },
24194	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24195	//   "request": {
24196	//     "$ref": "HttpBody"
24197	//   },
24198	//   "response": {
24199	//     "$ref": "HttpBody"
24200	//   },
24201	//   "scopes": [
24202	//     "https://www.googleapis.com/auth/cloud-platform"
24203	//   ]
24204	// }
24205
24206}
24207
24208// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate":
24209
24210type ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall struct {
24211	s          *Service
24212	parent     string
24213	type_      string
24214	body_      io.Reader
24215	urlParams_ gensupport.URLParams
24216	ctx_       context.Context
24217	header_    http.Header
24218}
24219
24220// ConditionalUpdate: If a resource is found based on the search
24221// criteria specified in the query parameters, updates the entire
24222// contents of that resource. Implements the FHIR standard conditional
24223// update interaction (DSTU2
24224// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),
24225// STU3
24226// (https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),
24227// R4
24228// (https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).
24229// Search terms are provided as query parameters following the same
24230// pattern as the search method. If the search criteria identify more
24231// than one match, the request returns a `412 Precondition Failed`
24232// error. If the search criteria identify zero matches, and the supplied
24233// resource body contains an `id`, and the FHIR store has
24234// enable_update_create set, creates the resource with the
24235// client-specified ID. It is strongly advised not to include or encode
24236// any sensitive data such as patient identifiers in client-specified
24237// resource IDs. Those IDs are part of the FHIR resource path recorded
24238// in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can
24239// also be contained in reference fields within other resources. If the
24240// search criteria identify zero matches, and the supplied resource body
24241// does not contain an `id`, the resource is created with a
24242// server-assigned ID as per the create method. The request body must
24243// contain a JSON-encoded FHIR resource, and the request headers must
24244// contain `Content-Type: application/fhir+json`. On success, the
24245// response body contains a JSON-encoded representation of the updated
24246// resource, including the server-assigned version ID. Errors generated
24247// by the FHIR store contain a JSON-encoded `OperationOutcome` resource
24248// describing the reason for the error. If the request cannot be mapped
24249// to a valid API method on a FHIR store, a generic GCP error might be
24250// returned instead. This method requires
24251// the`healthcare.fhirStores.searchResources` and
24252// `healthcare.fhirResources.update` permissions on the parent FHIR
24253// store. For samples that show how to call `conditionalUpdate`, see
24254// Conditionally updating a FHIR resource
24255// (/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir
24256// _resource).
24257func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalUpdate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24258	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24259	c.parent = parent
24260	c.type_ = type_
24261	c.body_ = body_
24262	return c
24263}
24264
24265// Fields allows partial responses to be retrieved. See
24266// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24267// for more information.
24268func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24269	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24270	return c
24271}
24272
24273// Context sets the context to be used in this call's Do method. Any
24274// pending HTTP request will be aborted if the provided context is
24275// canceled.
24276func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24277	c.ctx_ = ctx
24278	return c
24279}
24280
24281// Header returns an http.Header that can be modified by the caller to
24282// add HTTP headers to the request.
24283func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Header() http.Header {
24284	if c.header_ == nil {
24285		c.header_ = make(http.Header)
24286	}
24287	return c.header_
24288}
24289
24290func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) doRequest(alt string) (*http.Response, error) {
24291	reqHeaders := make(http.Header)
24292	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24293	for k, v := range c.header_ {
24294		reqHeaders[k] = v
24295	}
24296	reqHeaders.Set("User-Agent", c.s.userAgent())
24297	var body io.Reader = nil
24298	body = c.body_
24299	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24300	urls += "?" + c.urlParams_.Encode()
24301	req, err := http.NewRequest("PUT", urls, body)
24302	if err != nil {
24303		return nil, err
24304	}
24305	req.Header = reqHeaders
24306	googleapi.Expand(req.URL, map[string]string{
24307		"parent": c.parent,
24308		"type":   c.type_,
24309	})
24310	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24311}
24312
24313// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate" call.
24314func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24315	gensupport.SetOptions(c.urlParams_, opts...)
24316	return c.doRequest("")
24317	// {
24318	//   "description": "If a resource is found based on the search criteria specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)). Search terms are provided as query parameters following the same pattern as the search method. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method requires the`healthcare.fhirStores.searchResources` and `healthcare.fhirResources.update` permissions on the parent FHIR store. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource).",
24319	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24320	//   "httpMethod": "PUT",
24321	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate",
24322	//   "parameterOrder": [
24323	//     "parent",
24324	//     "type"
24325	//   ],
24326	//   "parameters": {
24327	//     "parent": {
24328	//       "description": "The name of the FHIR store this resource belongs to.",
24329	//       "location": "path",
24330	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24331	//       "required": true,
24332	//       "type": "string"
24333	//     },
24334	//     "type": {
24335	//       "description": "The FHIR resource type to update, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.",
24336	//       "location": "path",
24337	//       "pattern": "^[^/]+$",
24338	//       "required": true,
24339	//       "type": "string"
24340	//     }
24341	//   },
24342	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24343	//   "request": {
24344	//     "$ref": "HttpBody"
24345	//   },
24346	//   "response": {
24347	//     "$ref": "HttpBody"
24348	//   },
24349	//   "scopes": [
24350	//     "https://www.googleapis.com/auth/cloud-platform"
24351	//   ]
24352	// }
24353
24354}
24355
24356// method id "healthcare.projects.locations.datasets.fhirStores.fhir.create":
24357
24358type ProjectsLocationsDatasetsFhirStoresFhirCreateCall struct {
24359	s          *Service
24360	parent     string
24361	type_      string
24362	body_      io.Reader
24363	urlParams_ gensupport.URLParams
24364	ctx_       context.Context
24365	header_    http.Header
24366}
24367
24368// Create: Creates a FHIR resource. Implements the FHIR standard create
24369// interaction (DSTU2
24370// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#create),
24371// STU3
24372// (https://hl7.org/implement/standards/fhir/STU3/http.html#create), R4
24373// (https://hl7.org/implement/standards/fhir/R4/http.html#create)),
24374// which creates a new resource with a server-assigned resource ID. Also
24375// supports the FHIR standard conditional create interaction (DSTU2
24376// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),
24377// STU3
24378// (https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), R4
24379// (https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),
24380// specified by supplying an `If-None-Exist` header containing a FHIR
24381// search query. If no resources match this search query, the server
24382// processes the create operation as normal. The request body must
24383// contain a JSON-encoded FHIR resource, and the request headers must
24384// contain `Content-Type: application/fhir+json`. On success, the
24385// response body contains a JSON-encoded representation of the resource
24386// as it was created on the server, including the server-assigned
24387// resource ID and version ID. Errors generated by the FHIR store
24388// contain a JSON-encoded `OperationOutcome` resource describing the
24389// reason for the error. If the request cannot be mapped to a valid API
24390// method on a FHIR store, a generic GCP error might be returned
24391// instead. For samples that show how to call `create`, see Creating a
24392// FHIR resource
24393// (/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).
24394func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Create(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24395	c := &ProjectsLocationsDatasetsFhirStoresFhirCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24396	c.parent = parent
24397	c.type_ = type_
24398	c.body_ = body_
24399	return c
24400}
24401
24402// Fields allows partial responses to be retrieved. See
24403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24404// for more information.
24405func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24406	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24407	return c
24408}
24409
24410// Context sets the context to be used in this call's Do method. Any
24411// pending HTTP request will be aborted if the provided context is
24412// canceled.
24413func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24414	c.ctx_ = ctx
24415	return c
24416}
24417
24418// Header returns an http.Header that can be modified by the caller to
24419// add HTTP headers to the request.
24420func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Header() http.Header {
24421	if c.header_ == nil {
24422		c.header_ = make(http.Header)
24423	}
24424	return c.header_
24425}
24426
24427func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
24428	reqHeaders := make(http.Header)
24429	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24430	for k, v := range c.header_ {
24431		reqHeaders[k] = v
24432	}
24433	reqHeaders.Set("User-Agent", c.s.userAgent())
24434	var body io.Reader = nil
24435	body = c.body_
24436	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24437	urls += "?" + c.urlParams_.Encode()
24438	req, err := http.NewRequest("POST", urls, body)
24439	if err != nil {
24440		return nil, err
24441	}
24442	req.Header = reqHeaders
24443	googleapi.Expand(req.URL, map[string]string{
24444		"parent": c.parent,
24445		"type":   c.type_,
24446	})
24447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24448}
24449
24450// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.create" call.
24451func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24452	gensupport.SetOptions(c.urlParams_, opts...)
24453	return c.doRequest("")
24454	// {
24455	//   "description": "Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query. If no resources match this search query, the server processes the create operation as normal. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).",
24456	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24457	//   "httpMethod": "POST",
24458	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create",
24459	//   "parameterOrder": [
24460	//     "parent",
24461	//     "type"
24462	//   ],
24463	//   "parameters": {
24464	//     "parent": {
24465	//       "description": "The name of the FHIR store this resource belongs to.",
24466	//       "location": "path",
24467	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24468	//       "required": true,
24469	//       "type": "string"
24470	//     },
24471	//     "type": {
24472	//       "description": "The FHIR resource type to create, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)). Must match the resource type in the provided content.",
24473	//       "location": "path",
24474	//       "pattern": "^[^/]+$",
24475	//       "required": true,
24476	//       "type": "string"
24477	//     }
24478	//   },
24479	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24480	//   "request": {
24481	//     "$ref": "HttpBody"
24482	//   },
24483	//   "response": {
24484	//     "$ref": "HttpBody"
24485	//   },
24486	//   "scopes": [
24487	//     "https://www.googleapis.com/auth/cloud-platform"
24488	//   ]
24489	// }
24490
24491}
24492
24493// method id "healthcare.projects.locations.datasets.fhirStores.fhir.delete":
24494
24495type ProjectsLocationsDatasetsFhirStoresFhirDeleteCall struct {
24496	s          *Service
24497	name       string
24498	urlParams_ gensupport.URLParams
24499	ctx_       context.Context
24500	header_    http.Header
24501}
24502
24503// Delete: Deletes a FHIR resource. Implements the FHIR standard delete
24504// interaction (DSTU2
24505// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),
24506// STU3
24507// (https://hl7.org/implement/standards/fhir/STU3/http.html#delete), R4
24508// (https://hl7.org/implement/standards/fhir/R4/http.html#delete)).
24509// Note: Unless resource versioning is disabled by setting the
24510// disable_resource_versioning flag on the FHIR store, the deleted
24511// resources are moved to a history repository that can still be
24512// retrieved through vread and related methods, unless they are removed
24513// by the purge method. For samples that show how to call `delete`, see
24514// Deleting a FHIR resource
24515// (/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).
24516func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
24517	c := &ProjectsLocationsDatasetsFhirStoresFhirDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24518	c.name = name
24519	return c
24520}
24521
24522// Fields allows partial responses to be retrieved. See
24523// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24524// for more information.
24525func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
24526	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24527	return c
24528}
24529
24530// Context sets the context to be used in this call's Do method. Any
24531// pending HTTP request will be aborted if the provided context is
24532// canceled.
24533func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
24534	c.ctx_ = ctx
24535	return c
24536}
24537
24538// Header returns an http.Header that can be modified by the caller to
24539// add HTTP headers to the request.
24540func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Header() http.Header {
24541	if c.header_ == nil {
24542		c.header_ = make(http.Header)
24543	}
24544	return c.header_
24545}
24546
24547func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
24548	reqHeaders := make(http.Header)
24549	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24550	for k, v := range c.header_ {
24551		reqHeaders[k] = v
24552	}
24553	reqHeaders.Set("User-Agent", c.s.userAgent())
24554	var body io.Reader = nil
24555	c.urlParams_.Set("alt", alt)
24556	c.urlParams_.Set("prettyPrint", "false")
24557	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
24558	urls += "?" + c.urlParams_.Encode()
24559	req, err := http.NewRequest("DELETE", urls, body)
24560	if err != nil {
24561		return nil, err
24562	}
24563	req.Header = reqHeaders
24564	googleapi.Expand(req.URL, map[string]string{
24565		"name": c.name,
24566	})
24567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24568}
24569
24570// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.delete" call.
24571func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24572	gensupport.SetOptions(c.urlParams_, opts...)
24573	return c.doRequest("")
24574	// {
24575	//   "description": "Deletes a FHIR resource. Implements the FHIR standard delete interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#delete), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#delete)). Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources are moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `delete`, see [Deleting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).",
24576	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
24577	//   "httpMethod": "DELETE",
24578	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete",
24579	//   "parameterOrder": [
24580	//     "name"
24581	//   ],
24582	//   "parameters": {
24583	//     "name": {
24584	//       "description": "The name of the resource to delete.",
24585	//       "location": "path",
24586	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
24587	//       "required": true,
24588	//       "type": "string"
24589	//     }
24590	//   },
24591	//   "path": "v1beta1/{+name}",
24592	//   "response": {
24593	//     "$ref": "HttpBody"
24594	//   },
24595	//   "scopes": [
24596	//     "https://www.googleapis.com/auth/cloud-platform"
24597	//   ]
24598	// }
24599
24600}
24601
24602// method id "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle":
24603
24604type ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall struct {
24605	s          *Service
24606	parent     string
24607	body_      io.Reader
24608	urlParams_ gensupport.URLParams
24609	ctx_       context.Context
24610	header_    http.Header
24611}
24612
24613// ExecuteBundle: Executes all the requests in the given Bundle.
24614// Implements the FHIR standard batch/transaction interaction (DSTU2
24615// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),
24616// STU3
24617// (https://hl7.org/implement/standards/fhir/STU3/http.html#transaction),
24618// R4
24619// (https://hl7.org/implement/standards/fhir/R4/http.html#transaction)).
24620// Supports all interactions within a bundle, except search. This method
24621// accepts Bundles of type `batch` and `transaction`, processing them
24622// according to the batch processing rules (DSTU2
24623// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),
24624// STU3
24625// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),
24626// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#brules))
24627// and transaction processing rules (DSTU2
24628// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),
24629// STU3
24630// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),
24631// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#trules)).
24632// The request body must contain a JSON-encoded FHIR `Bundle` resource,
24633// and the request headers must contain `Content-Type:
24634// application/fhir+json`. For a batch bundle or a successful
24635// transaction the response body contains a JSON-encoded representation
24636// of a `Bundle` resource of type `batch-response` or
24637// `transaction-response` containing one entry for each entry in the
24638// request, with the outcome of processing the entry. In the case of an
24639// error for a transaction bundle, the response body contains a
24640// JSON-encoded `OperationOutcome` resource describing the reason for
24641// the error. If the request cannot be mapped to a valid API method on a
24642// FHIR store, a generic GCP error might be returned instead. This
24643// method requires permission for executing the requests in the bundle.
24644// The `executeBundle` permission grants permission to execute the
24645// request in the bundle but you must grant sufficient permissions to
24646// execute the individual requests in the bundle. For example, if the
24647// bundle contains a `create` request, you must have permission to
24648// execute the `create` request. Logging is available for the
24649// `executeBundle` permission. For samples that show how to call
24650// `executeBundle`, see Managing FHIR resources using FHIR bundles
24651// (/healthcare/docs/how-tos/fhir-bundles).
24652func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ExecuteBundle(parent string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
24653	c := &ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24654	c.parent = parent
24655	c.body_ = body_
24656	return c
24657}
24658
24659// Fields allows partial responses to be retrieved. See
24660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24661// for more information.
24662func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
24663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24664	return c
24665}
24666
24667// Context sets the context to be used in this call's Do method. Any
24668// pending HTTP request will be aborted if the provided context is
24669// canceled.
24670func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
24671	c.ctx_ = ctx
24672	return c
24673}
24674
24675// Header returns an http.Header that can be modified by the caller to
24676// add HTTP headers to the request.
24677func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Header() http.Header {
24678	if c.header_ == nil {
24679		c.header_ = make(http.Header)
24680	}
24681	return c.header_
24682}
24683
24684func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
24685	reqHeaders := make(http.Header)
24686	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24687	for k, v := range c.header_ {
24688		reqHeaders[k] = v
24689	}
24690	reqHeaders.Set("User-Agent", c.s.userAgent())
24691	var body io.Reader = nil
24692	body = c.body_
24693	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir")
24694	urls += "?" + c.urlParams_.Encode()
24695	req, err := http.NewRequest("POST", urls, body)
24696	if err != nil {
24697		return nil, err
24698	}
24699	req.Header = reqHeaders
24700	googleapi.Expand(req.URL, map[string]string{
24701		"parent": c.parent,
24702	})
24703	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24704}
24705
24706// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle" call.
24707func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24708	gensupport.SetOptions(c.urlParams_, opts...)
24709	return c.doRequest("")
24710	// {
24711	//   "description": "Executes all the requests in the given Bundle. Implements the FHIR standard batch/transaction interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#transaction), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#transaction)). Supports all interactions within a bundle, except search. This method accepts Bundles of type `batch` and `transaction`, processing them according to the batch processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#brules)) and transaction processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#trules)). The request body must contain a JSON-encoded FHIR `Bundle` resource, and the request headers must contain `Content-Type: application/fhir+json`. For a batch bundle or a successful transaction the response body contains a JSON-encoded representation of a `Bundle` resource of type `batch-response` or `transaction-response` containing one entry for each entry in the request, with the outcome of processing the entry. In the case of an error for a transaction bundle, the response body contains a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method requires permission for executing the requests in the bundle. The `executeBundle` permission grants permission to execute the request in the bundle but you must grant sufficient permissions to execute the individual requests in the bundle. For example, if the bundle contains a `create` request, you must have permission to execute the `create` request. Logging is available for the `executeBundle` permission. For samples that show how to call `executeBundle`, see [Managing FHIR resources using FHIR bundles](/healthcare/docs/how-tos/fhir-bundles).",
24712	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir",
24713	//   "httpMethod": "POST",
24714	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle",
24715	//   "parameterOrder": [
24716	//     "parent"
24717	//   ],
24718	//   "parameters": {
24719	//     "parent": {
24720	//       "description": "Name of the FHIR store in which this bundle will be executed.",
24721	//       "location": "path",
24722	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24723	//       "required": true,
24724	//       "type": "string"
24725	//     }
24726	//   },
24727	//   "path": "v1beta1/{+parent}/fhir",
24728	//   "request": {
24729	//     "$ref": "HttpBody"
24730	//   },
24731	//   "response": {
24732	//     "$ref": "HttpBody"
24733	//   },
24734	//   "scopes": [
24735	//     "https://www.googleapis.com/auth/cloud-platform"
24736	//   ]
24737	// }
24738
24739}
24740
24741// method id "healthcare.projects.locations.datasets.fhirStores.fhir.history":
24742
24743type ProjectsLocationsDatasetsFhirStoresFhirHistoryCall struct {
24744	s            *Service
24745	name         string
24746	urlParams_   gensupport.URLParams
24747	ifNoneMatch_ string
24748	ctx_         context.Context
24749	header_      http.Header
24750}
24751
24752// History: Lists all the versions of a resource (including the current
24753// version and deleted versions) from the FHIR store. Implements the
24754// per-resource form of the FHIR standard history interaction (DSTU2
24755// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#history),
24756// STU3
24757// (https://hl7.org/implement/standards/fhir/STU3/http.html#history), R4
24758// (https://hl7.org/implement/standards/fhir/R4/http.html#history)). On
24759// success, the response body contains a JSON-encoded representation of
24760// a `Bundle` resource of type `history`, containing the version history
24761// sorted from most recent to oldest versions. Errors generated by the
24762// FHIR store contain a JSON-encoded `OperationOutcome` resource
24763// describing the reason for the error. If the request cannot be mapped
24764// to a valid API method on a FHIR store, a generic GCP error might be
24765// returned instead. For samples that show how to call `history`, see
24766// Listing FHIR resource versions
24767// (/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_version
24768// s).
24769func (r *ProjectsLocationsDatasetsFhirStoresFhirService) History(name string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24770	c := &ProjectsLocationsDatasetsFhirStoresFhirHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24771	c.name = name
24772	return c
24773}
24774
24775// At sets the optional parameter "_at": Only include resource versions
24776// that were current at some point during the time period specified in
24777// the date time value. The date parameter format is
24778// yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the
24779// following: * An entire year: `_at=2019` * An entire month:
24780// `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second:
24781// `_at=2018-12-31T23:59:58Z`
24782func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) At(At string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24783	c.urlParams_.Set("_at", At)
24784	return c
24785}
24786
24787// Count sets the optional parameter "_count": The maximum number of
24788// search results on a page. If not specified, 100 is used. May not be
24789// larger than 1000.
24790func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24791	c.urlParams_.Set("_count", fmt.Sprint(Count))
24792	return c
24793}
24794
24795// PageToken sets the optional parameter "_page_token": Used to retrieve
24796// the first, previous, next, or last page of resource versions when
24797// using pagination. Value should be set to the value of `_page_token`
24798// set in next or previous page links' URLs. Next and previous page are
24799// returned in the response bundle's links field, where `link.relation`
24800// is "previous" or "next". Omit `_page_token` if no previous request
24801// has been made.
24802func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24803	c.urlParams_.Set("_page_token", PageToken)
24804	return c
24805}
24806
24807// Since sets the optional parameter "_since": Only include resource
24808// versions that were created at or after the given instant in time. The
24809// instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for
24810// example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The
24811// time must be specified to the second and include a time zone.
24812func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24813	c.urlParams_.Set("_since", Since)
24814	return c
24815}
24816
24817// Fields allows partial responses to be retrieved. See
24818// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24819// for more information.
24820func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24821	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24822	return c
24823}
24824
24825// IfNoneMatch sets the optional parameter which makes the operation
24826// fail if the object's ETag matches the given value. This is useful for
24827// getting updates only after the object has changed since the last
24828// request. Use googleapi.IsNotModified to check whether the response
24829// error from Do is the result of In-None-Match.
24830func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24831	c.ifNoneMatch_ = entityTag
24832	return c
24833}
24834
24835// Context sets the context to be used in this call's Do method. Any
24836// pending HTTP request will be aborted if the provided context is
24837// canceled.
24838func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
24839	c.ctx_ = ctx
24840	return c
24841}
24842
24843// Header returns an http.Header that can be modified by the caller to
24844// add HTTP headers to the request.
24845func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Header() http.Header {
24846	if c.header_ == nil {
24847		c.header_ = make(http.Header)
24848	}
24849	return c.header_
24850}
24851
24852func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
24853	reqHeaders := make(http.Header)
24854	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24855	for k, v := range c.header_ {
24856		reqHeaders[k] = v
24857	}
24858	reqHeaders.Set("User-Agent", c.s.userAgent())
24859	if c.ifNoneMatch_ != "" {
24860		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24861	}
24862	var body io.Reader = nil
24863	c.urlParams_.Set("alt", alt)
24864	c.urlParams_.Set("prettyPrint", "false")
24865	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/_history")
24866	urls += "?" + c.urlParams_.Encode()
24867	req, err := http.NewRequest("GET", urls, body)
24868	if err != nil {
24869		return nil, err
24870	}
24871	req.Header = reqHeaders
24872	googleapi.Expand(req.URL, map[string]string{
24873		"name": c.name,
24874	})
24875	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24876}
24877
24878// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.history" call.
24879func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24880	gensupport.SetOptions(c.urlParams_, opts...)
24881	return c.doRequest("")
24882	// {
24883	//   "description": "Lists all the versions of a resource (including the current version and deleted versions) from the FHIR store. Implements the per-resource form of the FHIR standard history interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#history), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#history), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#history)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `history`, containing the version history sorted from most recent to oldest versions. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `history`, see [Listing FHIR resource versions](/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_versions).",
24884	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history",
24885	//   "httpMethod": "GET",
24886	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history",
24887	//   "parameterOrder": [
24888	//     "name"
24889	//   ],
24890	//   "parameters": {
24891	//     "_at": {
24892	//       "description": "Only include resource versions that were current at some point during the time period specified in the date time value. The date parameter format is yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the following: * An entire year: `_at=2019` * An entire month: `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second: `_at=2018-12-31T23:59:58Z`",
24893	//       "location": "query",
24894	//       "type": "string"
24895	//     },
24896	//     "_count": {
24897	//       "description": "The maximum number of search results on a page. If not specified, 100 is used. May not be larger than 1000.",
24898	//       "format": "int32",
24899	//       "location": "query",
24900	//       "type": "integer"
24901	//     },
24902	//     "_page_token": {
24903	//       "description": "Used to retrieve the first, previous, next, or last page of resource versions when using pagination. Value should be set to the value of `_page_token` set in next or previous page links' URLs. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.",
24904	//       "location": "query",
24905	//       "type": "string"
24906	//     },
24907	//     "_since": {
24908	//       "description": "Only include resource versions that were created at or after the given instant in time. The instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The time must be specified to the second and include a time zone.",
24909	//       "location": "query",
24910	//       "type": "string"
24911	//     },
24912	//     "name": {
24913	//       "description": "The name of the resource to retrieve.",
24914	//       "location": "path",
24915	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
24916	//       "required": true,
24917	//       "type": "string"
24918	//     }
24919	//   },
24920	//   "path": "v1beta1/{+name}/_history",
24921	//   "response": {
24922	//     "$ref": "HttpBody"
24923	//   },
24924	//   "scopes": [
24925	//     "https://www.googleapis.com/auth/cloud-platform"
24926	//   ]
24927	// }
24928
24929}
24930
24931// method id "healthcare.projects.locations.datasets.fhirStores.fhir.patch":
24932
24933type ProjectsLocationsDatasetsFhirStoresFhirPatchCall struct {
24934	s          *Service
24935	name       string
24936	body_      io.Reader
24937	urlParams_ gensupport.URLParams
24938	ctx_       context.Context
24939	header_    http.Header
24940}
24941
24942// Patch: Updates part of an existing resource by applying the
24943// operations specified in a JSON Patch (http://jsonpatch.com/)
24944// document. Implements the FHIR standard patch interaction (STU3
24945// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
24946// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
24947// doesn't define a patch method, but the server supports it in the same
24948// way it supports STU3. The request body must contain a JSON Patch
24949// document, and the request headers must contain `Content-Type:
24950// application/json-patch+json`. On success, the response body contains
24951// a JSON-encoded representation of the updated resource, including the
24952// server-assigned version ID. Errors generated by the FHIR store
24953// contain a JSON-encoded `OperationOutcome` resource describing the
24954// reason for the error. If the request cannot be mapped to a valid API
24955// method on a FHIR store, a generic GCP error might be returned
24956// instead. For samples that show how to call `patch`, see Patching a
24957// FHIR resource
24958// (/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).
24959func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Patch(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
24960	c := &ProjectsLocationsDatasetsFhirStoresFhirPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24961	c.name = name
24962	c.body_ = body_
24963	return c
24964}
24965
24966// Fields allows partial responses to be retrieved. See
24967// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24968// for more information.
24969func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
24970	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24971	return c
24972}
24973
24974// Context sets the context to be used in this call's Do method. Any
24975// pending HTTP request will be aborted if the provided context is
24976// canceled.
24977func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
24978	c.ctx_ = ctx
24979	return c
24980}
24981
24982// Header returns an http.Header that can be modified by the caller to
24983// add HTTP headers to the request.
24984func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Header() http.Header {
24985	if c.header_ == nil {
24986		c.header_ = make(http.Header)
24987	}
24988	return c.header_
24989}
24990
24991func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
24992	reqHeaders := make(http.Header)
24993	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
24994	for k, v := range c.header_ {
24995		reqHeaders[k] = v
24996	}
24997	reqHeaders.Set("User-Agent", c.s.userAgent())
24998	var body io.Reader = nil
24999	body = c.body_
25000	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25001	urls += "?" + c.urlParams_.Encode()
25002	req, err := http.NewRequest("PATCH", urls, body)
25003	if err != nil {
25004		return nil, err
25005	}
25006	req.Header = reqHeaders
25007	googleapi.Expand(req.URL, map[string]string{
25008		"name": c.name,
25009	})
25010	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25011}
25012
25013// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.patch" call.
25014func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25015	gensupport.SetOptions(c.urlParams_, opts...)
25016	return c.doRequest("")
25017	// {
25018	//   "description": "Updates part of an existing resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard patch interaction ([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a patch method, but the server supports it in the same way it supports STU3. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `patch`, see [Patching a FHIR resource](/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).",
25019	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25020	//   "httpMethod": "PATCH",
25021	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch",
25022	//   "parameterOrder": [
25023	//     "name"
25024	//   ],
25025	//   "parameters": {
25026	//     "name": {
25027	//       "description": "The name of the resource to update.",
25028	//       "location": "path",
25029	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25030	//       "required": true,
25031	//       "type": "string"
25032	//     }
25033	//   },
25034	//   "path": "v1beta1/{+name}",
25035	//   "request": {
25036	//     "$ref": "HttpBody"
25037	//   },
25038	//   "response": {
25039	//     "$ref": "HttpBody"
25040	//   },
25041	//   "scopes": [
25042	//     "https://www.googleapis.com/auth/cloud-platform"
25043	//   ]
25044	// }
25045
25046}
25047
25048// method id "healthcare.projects.locations.datasets.fhirStores.fhir.read":
25049
25050type ProjectsLocationsDatasetsFhirStoresFhirReadCall struct {
25051	s            *Service
25052	name         string
25053	urlParams_   gensupport.URLParams
25054	ifNoneMatch_ string
25055	ctx_         context.Context
25056	header_      http.Header
25057}
25058
25059// Read: Gets the contents of a FHIR resource. Implements the FHIR
25060// standard read interaction (DSTU2
25061// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), STU3
25062// (https://hl7.org/implement/standards/fhir/STU3/http.html#read), R4
25063// (https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also
25064// supports the FHIR standard conditional read interaction (DSTU2
25065// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),
25066// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#cread),
25067// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#cread))
25068// specified by supplying an `If-Modified-Since` header with a date/time
25069// value or an `If-None-Match` header with an ETag value. On success,
25070// the response body contains a JSON-encoded representation of the
25071// resource. Errors generated by the FHIR store contain a JSON-encoded
25072// `OperationOutcome` resource describing the reason for the error. If
25073// the request cannot be mapped to a valid API method on a FHIR store, a
25074// generic GCP error might be returned instead. For samples that show
25075// how to call `read`, see Getting a FHIR resource
25076// (/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).
25077func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Read(name string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25078	c := &ProjectsLocationsDatasetsFhirStoresFhirReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25079	c.name = name
25080	return c
25081}
25082
25083// Fields allows partial responses to be retrieved. See
25084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25085// for more information.
25086func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25088	return c
25089}
25090
25091// IfNoneMatch sets the optional parameter which makes the operation
25092// fail if the object's ETag matches the given value. This is useful for
25093// getting updates only after the object has changed since the last
25094// request. Use googleapi.IsNotModified to check whether the response
25095// error from Do is the result of In-None-Match.
25096func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25097	c.ifNoneMatch_ = entityTag
25098	return c
25099}
25100
25101// Context sets the context to be used in this call's Do method. Any
25102// pending HTTP request will be aborted if the provided context is
25103// canceled.
25104func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25105	c.ctx_ = ctx
25106	return c
25107}
25108
25109// Header returns an http.Header that can be modified by the caller to
25110// add HTTP headers to the request.
25111func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Header() http.Header {
25112	if c.header_ == nil {
25113		c.header_ = make(http.Header)
25114	}
25115	return c.header_
25116}
25117
25118func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
25119	reqHeaders := make(http.Header)
25120	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25121	for k, v := range c.header_ {
25122		reqHeaders[k] = v
25123	}
25124	reqHeaders.Set("User-Agent", c.s.userAgent())
25125	if c.ifNoneMatch_ != "" {
25126		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25127	}
25128	var body io.Reader = nil
25129	c.urlParams_.Set("alt", alt)
25130	c.urlParams_.Set("prettyPrint", "false")
25131	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25132	urls += "?" + c.urlParams_.Encode()
25133	req, err := http.NewRequest("GET", urls, body)
25134	if err != nil {
25135		return nil, err
25136	}
25137	req.Header = reqHeaders
25138	googleapi.Expand(req.URL, map[string]string{
25139		"name": c.name,
25140	})
25141	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25142}
25143
25144// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.read" call.
25145func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25146	gensupport.SetOptions(c.urlParams_, opts...)
25147	return c.doRequest("")
25148	// {
25149	//   "description": "Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).",
25150	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25151	//   "httpMethod": "GET",
25152	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read",
25153	//   "parameterOrder": [
25154	//     "name"
25155	//   ],
25156	//   "parameters": {
25157	//     "name": {
25158	//       "description": "The name of the resource to retrieve.",
25159	//       "location": "path",
25160	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25161	//       "required": true,
25162	//       "type": "string"
25163	//     }
25164	//   },
25165	//   "path": "v1beta1/{+name}",
25166	//   "response": {
25167	//     "$ref": "HttpBody"
25168	//   },
25169	//   "scopes": [
25170	//     "https://www.googleapis.com/auth/cloud-platform"
25171	//   ]
25172	// }
25173
25174}
25175
25176// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search":
25177
25178type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct {
25179	s                      *Service
25180	parent                 string
25181	searchresourcesrequest *SearchResourcesRequest
25182	urlParams_             gensupport.URLParams
25183	ctx_                   context.Context
25184	header_                http.Header
25185}
25186
25187// Search: Searches for resources in the given FHIR store according to
25188// criteria specified as query parameters. Implements the FHIR standard
25189// search interaction (DSTU2
25190// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25191// STU3
25192// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25193// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25194// the search semantics described in the FHIR Search specification
25195// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25196// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25197// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25198// four methods of search defined by the specification: * `GET
25199// [base]?[parameters]` to search across all resources. * `GET
25200// [base]/[type]?[parameters]` to search resources of a specified type.
25201// * `POST [base]/_search?[parameters]` as an alternate form having the
25202// same semantics as the `GET` method across all resources. * `POST
25203// [base]/[type]/_search?[parameters]` as an alternate form having the
25204// same semantics as the `GET` method for the specified type. The `GET`
25205// and `POST` methods do not support compartment searches. The `POST`
25206// method does not support `application/x-www-form-urlencoded` search
25207// parameters. On success, the response body contains a JSON-encoded
25208// representation of a `Bundle` resource of type `searchset`, containing
25209// the results of the search. Errors generated by the FHIR store contain
25210// a JSON-encoded `OperationOutcome` resource describing the reason for
25211// the error. If the request cannot be mapped to a valid API method on a
25212// FHIR store, a generic GCP error might be returned instead. The
25213// server's capability statement, retrieved through capabilities,
25214// indicates what search parameters are supported on each FHIR resource.
25215// A list of all search parameters defined by the specification can be
25216// found in the FHIR Search Parameter Registry (STU3
25217// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25218// R4
25219// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25220// FHIR search parameters for DSTU2 can be found on each resource's
25221// definition page. Supported search modifiers: `:missing`, `:exact`,
25222// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25223// `:[type]`, `:not`, and `:recurse`. Supported search result
25224// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25225// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25226// of search results returned defaults to 100, which can be overridden
25227// by the `_count` parameter up to a maximum limit of 1000. If there are
25228// additional results, the returned `Bundle` contains pagination links.
25229// Resources with a total size larger than 5MB or a field count larger
25230// than 50,000 might not be fully searchable as the server might trim
25231// its generated search index in those cases. Note: FHIR resources are
25232// indexed asynchronously, so there might be a slight delay between the
25233// time a resource is created or changes and when the change is
25234// reflected in search results. For samples and detailed information,
25235// see Searching for FHIR resources
25236// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25237// features (/healthcare/docs/how-tos/fhir-advanced-search).
25238func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Search(parent string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25239	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25240	c.parent = parent
25241	c.searchresourcesrequest = searchresourcesrequest
25242	return c
25243}
25244
25245// Fields allows partial responses to be retrieved. See
25246// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25247// for more information.
25248func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25249	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25250	return c
25251}
25252
25253// Context sets the context to be used in this call's Do method. Any
25254// pending HTTP request will be aborted if the provided context is
25255// canceled.
25256func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25257	c.ctx_ = ctx
25258	return c
25259}
25260
25261// Header returns an http.Header that can be modified by the caller to
25262// add HTTP headers to the request.
25263func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Header() http.Header {
25264	if c.header_ == nil {
25265		c.header_ = make(http.Header)
25266	}
25267	return c.header_
25268}
25269
25270func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
25271	reqHeaders := make(http.Header)
25272	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25273	for k, v := range c.header_ {
25274		reqHeaders[k] = v
25275	}
25276	reqHeaders.Set("User-Agent", c.s.userAgent())
25277	var body io.Reader = nil
25278	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25279	if err != nil {
25280		return nil, err
25281	}
25282	reqHeaders.Set("Content-Type", "application/json")
25283	c.urlParams_.Set("alt", alt)
25284	c.urlParams_.Set("prettyPrint", "false")
25285	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/_search")
25286	urls += "?" + c.urlParams_.Encode()
25287	req, err := http.NewRequest("POST", urls, body)
25288	if err != nil {
25289		return nil, err
25290	}
25291	req.Header = reqHeaders
25292	googleapi.Expand(req.URL, map[string]string{
25293		"parent": c.parent,
25294	})
25295	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25296}
25297
25298// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search" call.
25299func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25300	gensupport.SetOptions(c.urlParams_, opts...)
25301	return c.doRequest("")
25302	// {
25303	//   "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
25304	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
25305	//   "httpMethod": "POST",
25306	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
25307	//   "parameterOrder": [
25308	//     "parent"
25309	//   ],
25310	//   "parameters": {
25311	//     "parent": {
25312	//       "description": "Name of the FHIR store to retrieve resources from.",
25313	//       "location": "path",
25314	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25315	//       "required": true,
25316	//       "type": "string"
25317	//     }
25318	//   },
25319	//   "path": "v1beta1/{+parent}/fhir/_search",
25320	//   "request": {
25321	//     "$ref": "SearchResourcesRequest"
25322	//   },
25323	//   "response": {
25324	//     "$ref": "HttpBody"
25325	//   },
25326	//   "scopes": [
25327	//     "https://www.googleapis.com/auth/cloud-platform"
25328	//   ]
25329	// }
25330
25331}
25332
25333// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search-type":
25334
25335type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct {
25336	s                      *Service
25337	parent                 string
25338	resourceType           string
25339	searchresourcesrequest *SearchResourcesRequest
25340	urlParams_             gensupport.URLParams
25341	ctx_                   context.Context
25342	header_                http.Header
25343}
25344
25345// SearchType: Searches for resources in the given FHIR store according
25346// to criteria specified as query parameters. Implements the FHIR
25347// standard search interaction (DSTU2
25348// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25349// STU3
25350// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25351// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25352// the search semantics described in the FHIR Search specification
25353// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25354// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25355// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25356// four methods of search defined by the specification: * `GET
25357// [base]?[parameters]` to search across all resources. * `GET
25358// [base]/[type]?[parameters]` to search resources of a specified type.
25359// * `POST [base]/_search?[parameters]` as an alternate form having the
25360// same semantics as the `GET` method across all resources. * `POST
25361// [base]/[type]/_search?[parameters]` as an alternate form having the
25362// same semantics as the `GET` method for the specified type. The `GET`
25363// and `POST` methods do not support compartment searches. The `POST`
25364// method does not support `application/x-www-form-urlencoded` search
25365// parameters. On success, the response body contains a JSON-encoded
25366// representation of a `Bundle` resource of type `searchset`, containing
25367// the results of the search. Errors generated by the FHIR store contain
25368// a JSON-encoded `OperationOutcome` resource describing the reason for
25369// the error. If the request cannot be mapped to a valid API method on a
25370// FHIR store, a generic GCP error might be returned instead. The
25371// server's capability statement, retrieved through capabilities,
25372// indicates what search parameters are supported on each FHIR resource.
25373// A list of all search parameters defined by the specification can be
25374// found in the FHIR Search Parameter Registry (STU3
25375// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25376// R4
25377// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25378// FHIR search parameters for DSTU2 can be found on each resource's
25379// definition page. Supported search modifiers: `:missing`, `:exact`,
25380// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25381// `:[type]`, `:not`, and `:recurse`. Supported search result
25382// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25383// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25384// of search results returned defaults to 100, which can be overridden
25385// by the `_count` parameter up to a maximum limit of 1000. If there are
25386// additional results, the returned `Bundle` contains pagination links.
25387// Resources with a total size larger than 5MB or a field count larger
25388// than 50,000 might not be fully searchable as the server might trim
25389// its generated search index in those cases. Note: FHIR resources are
25390// indexed asynchronously, so there might be a slight delay between the
25391// time a resource is created or changes and when the change is
25392// reflected in search results. For samples and detailed information,
25393// see Searching for FHIR resources
25394// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25395// features (/healthcare/docs/how-tos/fhir-advanced-search).
25396func (r *ProjectsLocationsDatasetsFhirStoresFhirService) SearchType(parent string, resourceType string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25397	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25398	c.parent = parent
25399	c.resourceType = resourceType
25400	c.searchresourcesrequest = searchresourcesrequest
25401	return c
25402}
25403
25404// Fields allows partial responses to be retrieved. See
25405// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25406// for more information.
25407func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25408	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25409	return c
25410}
25411
25412// Context sets the context to be used in this call's Do method. Any
25413// pending HTTP request will be aborted if the provided context is
25414// canceled.
25415func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25416	c.ctx_ = ctx
25417	return c
25418}
25419
25420// Header returns an http.Header that can be modified by the caller to
25421// add HTTP headers to the request.
25422func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Header() http.Header {
25423	if c.header_ == nil {
25424		c.header_ = make(http.Header)
25425	}
25426	return c.header_
25427}
25428
25429func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) doRequest(alt string) (*http.Response, error) {
25430	reqHeaders := make(http.Header)
25431	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25432	for k, v := range c.header_ {
25433		reqHeaders[k] = v
25434	}
25435	reqHeaders.Set("User-Agent", c.s.userAgent())
25436	var body io.Reader = nil
25437	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25438	if err != nil {
25439		return nil, err
25440	}
25441	reqHeaders.Set("Content-Type", "application/json")
25442	c.urlParams_.Set("alt", alt)
25443	c.urlParams_.Set("prettyPrint", "false")
25444	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{resourceType}/_search")
25445	urls += "?" + c.urlParams_.Encode()
25446	req, err := http.NewRequest("POST", urls, body)
25447	if err != nil {
25448		return nil, err
25449	}
25450	req.Header = reqHeaders
25451	googleapi.Expand(req.URL, map[string]string{
25452		"parent":       c.parent,
25453		"resourceType": c.resourceType,
25454	})
25455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25456}
25457
25458// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search-type" call.
25459func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25460	gensupport.SetOptions(c.urlParams_, opts...)
25461	return c.doRequest("")
25462	// {
25463	//   "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
25464	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
25465	//   "httpMethod": "POST",
25466	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
25467	//   "parameterOrder": [
25468	//     "parent",
25469	//     "resourceType"
25470	//   ],
25471	//   "parameters": {
25472	//     "parent": {
25473	//       "description": "Name of the FHIR store to retrieve resources from.",
25474	//       "location": "path",
25475	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25476	//       "required": true,
25477	//       "type": "string"
25478	//     },
25479	//     "resourceType": {
25480	//       "description": "The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).",
25481	//       "location": "path",
25482	//       "required": true,
25483	//       "type": "string"
25484	//     }
25485	//   },
25486	//   "path": "v1beta1/{+parent}/fhir/{resourceType}/_search",
25487	//   "request": {
25488	//     "$ref": "SearchResourcesRequest"
25489	//   },
25490	//   "response": {
25491	//     "$ref": "HttpBody"
25492	//   },
25493	//   "scopes": [
25494	//     "https://www.googleapis.com/auth/cloud-platform"
25495	//   ]
25496	// }
25497
25498}
25499
25500// method id "healthcare.projects.locations.datasets.fhirStores.fhir.update":
25501
25502type ProjectsLocationsDatasetsFhirStoresFhirUpdateCall struct {
25503	s          *Service
25504	name       string
25505	body_      io.Reader
25506	urlParams_ gensupport.URLParams
25507	ctx_       context.Context
25508	header_    http.Header
25509}
25510
25511// Update: Updates the entire contents of a resource. Implements the
25512// FHIR standard update interaction (DSTU2
25513// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#update),
25514// STU3
25515// (https://hl7.org/implement/standards/fhir/STU3/http.html#update), R4
25516// (https://hl7.org/implement/standards/fhir/R4/http.html#update)). If
25517// the specified resource does not exist and the FHIR store has
25518// enable_update_create set, creates the resource with the
25519// client-specified ID. It is strongly advised not to include or encode
25520// any sensitive data such as patient identifiers in client-specified
25521// resource IDs. Those IDs are part of the FHIR resource path recorded
25522// in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can
25523// also be contained in reference fields within other resources. The
25524// request body must contain a JSON-encoded FHIR resource, and the
25525// request headers must contain `Content-Type: application/fhir+json`.
25526// The resource must contain an `id` element having an identical value
25527// to the ID in the REST path of the request. On success, the response
25528// body contains a JSON-encoded representation of the updated resource,
25529// including the server-assigned version ID. Errors generated by the
25530// FHIR store contain a JSON-encoded `OperationOutcome` resource
25531// describing the reason for the error. If the request cannot be mapped
25532// to a valid API method on a FHIR store, a generic GCP error might be
25533// returned instead. For samples that show how to call `update`, see
25534// Updating a FHIR resource
25535// (/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).
25536func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Update(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
25537	c := &ProjectsLocationsDatasetsFhirStoresFhirUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25538	c.name = name
25539	c.body_ = body_
25540	return c
25541}
25542
25543// Fields allows partial responses to be retrieved. See
25544// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25545// for more information.
25546func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
25547	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25548	return c
25549}
25550
25551// Context sets the context to be used in this call's Do method. Any
25552// pending HTTP request will be aborted if the provided context is
25553// canceled.
25554func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
25555	c.ctx_ = ctx
25556	return c
25557}
25558
25559// Header returns an http.Header that can be modified by the caller to
25560// add HTTP headers to the request.
25561func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Header() http.Header {
25562	if c.header_ == nil {
25563		c.header_ = make(http.Header)
25564	}
25565	return c.header_
25566}
25567
25568func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
25569	reqHeaders := make(http.Header)
25570	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25571	for k, v := range c.header_ {
25572		reqHeaders[k] = v
25573	}
25574	reqHeaders.Set("User-Agent", c.s.userAgent())
25575	var body io.Reader = nil
25576	body = c.body_
25577	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25578	urls += "?" + c.urlParams_.Encode()
25579	req, err := http.NewRequest("PUT", urls, body)
25580	if err != nil {
25581		return nil, err
25582	}
25583	req.Header = reqHeaders
25584	googleapi.Expand(req.URL, map[string]string{
25585		"name": c.name,
25586	})
25587	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25588}
25589
25590// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.update" call.
25591func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25592	gensupport.SetOptions(c.urlParams_, opts...)
25593	return c.doRequest("")
25594	// {
25595	//   "description": "Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).",
25596	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25597	//   "httpMethod": "PUT",
25598	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update",
25599	//   "parameterOrder": [
25600	//     "name"
25601	//   ],
25602	//   "parameters": {
25603	//     "name": {
25604	//       "description": "The name of the resource to update.",
25605	//       "location": "path",
25606	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25607	//       "required": true,
25608	//       "type": "string"
25609	//     }
25610	//   },
25611	//   "path": "v1beta1/{+name}",
25612	//   "request": {
25613	//     "$ref": "HttpBody"
25614	//   },
25615	//   "response": {
25616	//     "$ref": "HttpBody"
25617	//   },
25618	//   "scopes": [
25619	//     "https://www.googleapis.com/auth/cloud-platform"
25620	//   ]
25621	// }
25622
25623}
25624
25625// method id "healthcare.projects.locations.datasets.fhirStores.fhir.vread":
25626
25627type ProjectsLocationsDatasetsFhirStoresFhirVreadCall struct {
25628	s            *Service
25629	name         string
25630	urlParams_   gensupport.URLParams
25631	ifNoneMatch_ string
25632	ctx_         context.Context
25633	header_      http.Header
25634}
25635
25636// Vread: Gets the contents of a version (current or historical) of a
25637// FHIR resource by version ID. Implements the FHIR standard vread
25638// interaction (DSTU2
25639// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),
25640// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#vread),
25641// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On
25642// success, the response body contains a JSON-encoded representation of
25643// the resource. Errors generated by the FHIR store contain a
25644// JSON-encoded `OperationOutcome` resource describing the reason for
25645// the error. If the request cannot be mapped to a valid API method on a
25646// FHIR store, a generic GCP error might be returned instead. For
25647// samples that show how to call `vread`, see Retrieving a FHIR resource
25648// version
25649// (/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_ve
25650// rsion).
25651func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Vread(name string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
25652	c := &ProjectsLocationsDatasetsFhirStoresFhirVreadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25653	c.name = name
25654	return c
25655}
25656
25657// Fields allows partial responses to be retrieved. See
25658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25659// for more information.
25660func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
25661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25662	return c
25663}
25664
25665// IfNoneMatch sets the optional parameter which makes the operation
25666// fail if the object's ETag matches the given value. This is useful for
25667// getting updates only after the object has changed since the last
25668// request. Use googleapi.IsNotModified to check whether the response
25669// error from Do is the result of In-None-Match.
25670func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
25671	c.ifNoneMatch_ = entityTag
25672	return c
25673}
25674
25675// Context sets the context to be used in this call's Do method. Any
25676// pending HTTP request will be aborted if the provided context is
25677// canceled.
25678func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
25679	c.ctx_ = ctx
25680	return c
25681}
25682
25683// Header returns an http.Header that can be modified by the caller to
25684// add HTTP headers to the request.
25685func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Header() http.Header {
25686	if c.header_ == nil {
25687		c.header_ = make(http.Header)
25688	}
25689	return c.header_
25690}
25691
25692func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
25693	reqHeaders := make(http.Header)
25694	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25695	for k, v := range c.header_ {
25696		reqHeaders[k] = v
25697	}
25698	reqHeaders.Set("User-Agent", c.s.userAgent())
25699	if c.ifNoneMatch_ != "" {
25700		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25701	}
25702	var body io.Reader = nil
25703	c.urlParams_.Set("alt", alt)
25704	c.urlParams_.Set("prettyPrint", "false")
25705	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25706	urls += "?" + c.urlParams_.Encode()
25707	req, err := http.NewRequest("GET", urls, body)
25708	if err != nil {
25709		return nil, err
25710	}
25711	req.Header = reqHeaders
25712	googleapi.Expand(req.URL, map[string]string{
25713		"name": c.name,
25714	})
25715	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25716}
25717
25718// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.vread" call.
25719func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25720	gensupport.SetOptions(c.urlParams_, opts...)
25721	return c.doRequest("")
25722	// {
25723	//   "description": "Gets the contents of a version (current or historical) of a FHIR resource by version ID. Implements the FHIR standard vread interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#vread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `vread`, see [Retrieving a FHIR resource version](/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_version).",
25724	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}",
25725	//   "httpMethod": "GET",
25726	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread",
25727	//   "parameterOrder": [
25728	//     "name"
25729	//   ],
25730	//   "parameters": {
25731	//     "name": {
25732	//       "description": "The name of the resource version to retrieve.",
25733	//       "location": "path",
25734	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$",
25735	//       "required": true,
25736	//       "type": "string"
25737	//     }
25738	//   },
25739	//   "path": "v1beta1/{+name}",
25740	//   "response": {
25741	//     "$ref": "HttpBody"
25742	//   },
25743	//   "scopes": [
25744	//     "https://www.googleapis.com/auth/cloud-platform"
25745	//   ]
25746	// }
25747
25748}
25749
25750// method id "healthcare.projects.locations.datasets.hl7V2Stores.create":
25751
25752type ProjectsLocationsDatasetsHl7V2StoresCreateCall struct {
25753	s          *Service
25754	parent     string
25755	hl7v2store *Hl7V2Store
25756	urlParams_ gensupport.URLParams
25757	ctx_       context.Context
25758	header_    http.Header
25759}
25760
25761// Create: Creates a new HL7v2 store within the parent dataset.
25762func (r *ProjectsLocationsDatasetsHl7V2StoresService) Create(parent string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
25763	c := &ProjectsLocationsDatasetsHl7V2StoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25764	c.parent = parent
25765	c.hl7v2store = hl7v2store
25766	return c
25767}
25768
25769// Hl7V2StoreId sets the optional parameter "hl7V2StoreId": The ID of
25770// the HL7v2 store that is being created. The string must match the
25771// following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
25772func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Hl7V2StoreId(hl7V2StoreId string) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
25773	c.urlParams_.Set("hl7V2StoreId", hl7V2StoreId)
25774	return c
25775}
25776
25777// Fields allows partial responses to be retrieved. See
25778// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25779// for more information.
25780func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
25781	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25782	return c
25783}
25784
25785// Context sets the context to be used in this call's Do method. Any
25786// pending HTTP request will be aborted if the provided context is
25787// canceled.
25788func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
25789	c.ctx_ = ctx
25790	return c
25791}
25792
25793// Header returns an http.Header that can be modified by the caller to
25794// add HTTP headers to the request.
25795func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Header() http.Header {
25796	if c.header_ == nil {
25797		c.header_ = make(http.Header)
25798	}
25799	return c.header_
25800}
25801
25802func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
25803	reqHeaders := make(http.Header)
25804	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25805	for k, v := range c.header_ {
25806		reqHeaders[k] = v
25807	}
25808	reqHeaders.Set("User-Agent", c.s.userAgent())
25809	var body io.Reader = nil
25810	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
25811	if err != nil {
25812		return nil, err
25813	}
25814	reqHeaders.Set("Content-Type", "application/json")
25815	c.urlParams_.Set("alt", alt)
25816	c.urlParams_.Set("prettyPrint", "false")
25817	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
25818	urls += "?" + c.urlParams_.Encode()
25819	req, err := http.NewRequest("POST", urls, body)
25820	if err != nil {
25821		return nil, err
25822	}
25823	req.Header = reqHeaders
25824	googleapi.Expand(req.URL, map[string]string{
25825		"parent": c.parent,
25826	})
25827	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25828}
25829
25830// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.create" call.
25831// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
25832// status code is an error. Response headers are in either
25833// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
25834// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
25835// to check whether the returned error was because
25836// http.StatusNotModified was returned.
25837func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
25838	gensupport.SetOptions(c.urlParams_, opts...)
25839	res, err := c.doRequest("json")
25840	if res != nil && res.StatusCode == http.StatusNotModified {
25841		if res.Body != nil {
25842			res.Body.Close()
25843		}
25844		return nil, &googleapi.Error{
25845			Code:   res.StatusCode,
25846			Header: res.Header,
25847		}
25848	}
25849	if err != nil {
25850		return nil, err
25851	}
25852	defer googleapi.CloseBody(res)
25853	if err := googleapi.CheckResponse(res); err != nil {
25854		return nil, err
25855	}
25856	ret := &Hl7V2Store{
25857		ServerResponse: googleapi.ServerResponse{
25858			Header:         res.Header,
25859			HTTPStatusCode: res.StatusCode,
25860		},
25861	}
25862	target := &ret
25863	if err := gensupport.DecodeResponse(target, res); err != nil {
25864		return nil, err
25865	}
25866	return ret, nil
25867	// {
25868	//   "description": "Creates a new HL7v2 store within the parent dataset.",
25869	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
25870	//   "httpMethod": "POST",
25871	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.create",
25872	//   "parameterOrder": [
25873	//     "parent"
25874	//   ],
25875	//   "parameters": {
25876	//     "hl7V2StoreId": {
25877	//       "description": "The ID of the HL7v2 store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
25878	//       "location": "query",
25879	//       "type": "string"
25880	//     },
25881	//     "parent": {
25882	//       "description": "The name of the dataset this HL7v2 store belongs to.",
25883	//       "location": "path",
25884	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
25885	//       "required": true,
25886	//       "type": "string"
25887	//     }
25888	//   },
25889	//   "path": "v1beta1/{+parent}/hl7V2Stores",
25890	//   "request": {
25891	//     "$ref": "Hl7V2Store"
25892	//   },
25893	//   "response": {
25894	//     "$ref": "Hl7V2Store"
25895	//   },
25896	//   "scopes": [
25897	//     "https://www.googleapis.com/auth/cloud-platform"
25898	//   ]
25899	// }
25900
25901}
25902
25903// method id "healthcare.projects.locations.datasets.hl7V2Stores.delete":
25904
25905type ProjectsLocationsDatasetsHl7V2StoresDeleteCall struct {
25906	s          *Service
25907	name       string
25908	urlParams_ gensupport.URLParams
25909	ctx_       context.Context
25910	header_    http.Header
25911}
25912
25913// Delete: Deletes the specified HL7v2 store and removes all messages
25914// that it contains.
25915func (r *ProjectsLocationsDatasetsHl7V2StoresService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
25916	c := &ProjectsLocationsDatasetsHl7V2StoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25917	c.name = name
25918	return c
25919}
25920
25921// Fields allows partial responses to be retrieved. See
25922// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25923// for more information.
25924func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
25925	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25926	return c
25927}
25928
25929// Context sets the context to be used in this call's Do method. Any
25930// pending HTTP request will be aborted if the provided context is
25931// canceled.
25932func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
25933	c.ctx_ = ctx
25934	return c
25935}
25936
25937// Header returns an http.Header that can be modified by the caller to
25938// add HTTP headers to the request.
25939func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Header() http.Header {
25940	if c.header_ == nil {
25941		c.header_ = make(http.Header)
25942	}
25943	return c.header_
25944}
25945
25946func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
25947	reqHeaders := make(http.Header)
25948	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
25949	for k, v := range c.header_ {
25950		reqHeaders[k] = v
25951	}
25952	reqHeaders.Set("User-Agent", c.s.userAgent())
25953	var body io.Reader = nil
25954	c.urlParams_.Set("alt", alt)
25955	c.urlParams_.Set("prettyPrint", "false")
25956	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25957	urls += "?" + c.urlParams_.Encode()
25958	req, err := http.NewRequest("DELETE", urls, body)
25959	if err != nil {
25960		return nil, err
25961	}
25962	req.Header = reqHeaders
25963	googleapi.Expand(req.URL, map[string]string{
25964		"name": c.name,
25965	})
25966	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25967}
25968
25969// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.delete" call.
25970// Exactly one of *Empty or error will be non-nil. Any non-2xx status
25971// code is an error. Response headers are in either
25972// *Empty.ServerResponse.Header or (if a response was returned at all)
25973// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
25974// check whether the returned error was because http.StatusNotModified
25975// was returned.
25976func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
25977	gensupport.SetOptions(c.urlParams_, opts...)
25978	res, err := c.doRequest("json")
25979	if res != nil && res.StatusCode == http.StatusNotModified {
25980		if res.Body != nil {
25981			res.Body.Close()
25982		}
25983		return nil, &googleapi.Error{
25984			Code:   res.StatusCode,
25985			Header: res.Header,
25986		}
25987	}
25988	if err != nil {
25989		return nil, err
25990	}
25991	defer googleapi.CloseBody(res)
25992	if err := googleapi.CheckResponse(res); err != nil {
25993		return nil, err
25994	}
25995	ret := &Empty{
25996		ServerResponse: googleapi.ServerResponse{
25997			Header:         res.Header,
25998			HTTPStatusCode: res.StatusCode,
25999		},
26000	}
26001	target := &ret
26002	if err := gensupport.DecodeResponse(target, res); err != nil {
26003		return nil, err
26004	}
26005	return ret, nil
26006	// {
26007	//   "description": "Deletes the specified HL7v2 store and removes all messages that it contains.",
26008	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26009	//   "httpMethod": "DELETE",
26010	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete",
26011	//   "parameterOrder": [
26012	//     "name"
26013	//   ],
26014	//   "parameters": {
26015	//     "name": {
26016	//       "description": "The resource name of the HL7v2 store to delete.",
26017	//       "location": "path",
26018	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26019	//       "required": true,
26020	//       "type": "string"
26021	//     }
26022	//   },
26023	//   "path": "v1beta1/{+name}",
26024	//   "response": {
26025	//     "$ref": "Empty"
26026	//   },
26027	//   "scopes": [
26028	//     "https://www.googleapis.com/auth/cloud-platform"
26029	//   ]
26030	// }
26031
26032}
26033
26034// method id "healthcare.projects.locations.datasets.hl7V2Stores.export":
26035
26036type ProjectsLocationsDatasetsHl7V2StoresExportCall struct {
26037	s                     *Service
26038	name                  string
26039	exportmessagesrequest *ExportMessagesRequest
26040	urlParams_            gensupport.URLParams
26041	ctx_                  context.Context
26042	header_               http.Header
26043}
26044
26045// Export: Exports the messages to a destination. To filter messages to
26046// be exported, define a filter using the start and end time, relative
26047// to the message generation time (MSH.7). This API returns an Operation
26048// that can be used to track the status of the job by calling
26049// GetOperation. Immediate fatal errors appear in the error field.
26050// Otherwise, when the operation finishes, a detailed response of type
26051// ExportMessagesResponse is returned in the response field. The
26052// metadata field type for this operation is OperationMetadata.
26053func (r *ProjectsLocationsDatasetsHl7V2StoresService) Export(name string, exportmessagesrequest *ExportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26054	c := &ProjectsLocationsDatasetsHl7V2StoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26055	c.name = name
26056	c.exportmessagesrequest = exportmessagesrequest
26057	return c
26058}
26059
26060// Fields allows partial responses to be retrieved. See
26061// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26062// for more information.
26063func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26064	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26065	return c
26066}
26067
26068// Context sets the context to be used in this call's Do method. Any
26069// pending HTTP request will be aborted if the provided context is
26070// canceled.
26071func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26072	c.ctx_ = ctx
26073	return c
26074}
26075
26076// Header returns an http.Header that can be modified by the caller to
26077// add HTTP headers to the request.
26078func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Header() http.Header {
26079	if c.header_ == nil {
26080		c.header_ = make(http.Header)
26081	}
26082	return c.header_
26083}
26084
26085func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) doRequest(alt string) (*http.Response, error) {
26086	reqHeaders := make(http.Header)
26087	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26088	for k, v := range c.header_ {
26089		reqHeaders[k] = v
26090	}
26091	reqHeaders.Set("User-Agent", c.s.userAgent())
26092	var body io.Reader = nil
26093	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportmessagesrequest)
26094	if err != nil {
26095		return nil, err
26096	}
26097	reqHeaders.Set("Content-Type", "application/json")
26098	c.urlParams_.Set("alt", alt)
26099	c.urlParams_.Set("prettyPrint", "false")
26100	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
26101	urls += "?" + c.urlParams_.Encode()
26102	req, err := http.NewRequest("POST", urls, body)
26103	if err != nil {
26104		return nil, err
26105	}
26106	req.Header = reqHeaders
26107	googleapi.Expand(req.URL, map[string]string{
26108		"name": c.name,
26109	})
26110	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26111}
26112
26113// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.export" call.
26114// Exactly one of *Operation or error will be non-nil. Any non-2xx
26115// status code is an error. Response headers are in either
26116// *Operation.ServerResponse.Header or (if a response was returned at
26117// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26118// to check whether the returned error was because
26119// http.StatusNotModified was returned.
26120func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
26121	gensupport.SetOptions(c.urlParams_, opts...)
26122	res, err := c.doRequest("json")
26123	if res != nil && res.StatusCode == http.StatusNotModified {
26124		if res.Body != nil {
26125			res.Body.Close()
26126		}
26127		return nil, &googleapi.Error{
26128			Code:   res.StatusCode,
26129			Header: res.Header,
26130		}
26131	}
26132	if err != nil {
26133		return nil, err
26134	}
26135	defer googleapi.CloseBody(res)
26136	if err := googleapi.CheckResponse(res); err != nil {
26137		return nil, err
26138	}
26139	ret := &Operation{
26140		ServerResponse: googleapi.ServerResponse{
26141			Header:         res.Header,
26142			HTTPStatusCode: res.StatusCode,
26143		},
26144	}
26145	target := &ret
26146	if err := gensupport.DecodeResponse(target, res); err != nil {
26147		return nil, err
26148	}
26149	return ret, nil
26150	// {
26151	//   "description": "Exports the messages to a destination. To filter messages to be exported, define a filter using the start and end time, relative to the message generation time (MSH.7). This API returns an Operation that can be used to track the status of the job by calling GetOperation. Immediate fatal errors appear in the error field. Otherwise, when the operation finishes, a detailed response of type ExportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.",
26152	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export",
26153	//   "httpMethod": "POST",
26154	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.export",
26155	//   "parameterOrder": [
26156	//     "name"
26157	//   ],
26158	//   "parameters": {
26159	//     "name": {
26160	//       "description": "The name of the source HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
26161	//       "location": "path",
26162	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26163	//       "required": true,
26164	//       "type": "string"
26165	//     }
26166	//   },
26167	//   "path": "v1beta1/{+name}:export",
26168	//   "request": {
26169	//     "$ref": "ExportMessagesRequest"
26170	//   },
26171	//   "response": {
26172	//     "$ref": "Operation"
26173	//   },
26174	//   "scopes": [
26175	//     "https://www.googleapis.com/auth/cloud-platform"
26176	//   ]
26177	// }
26178
26179}
26180
26181// method id "healthcare.projects.locations.datasets.hl7V2Stores.get":
26182
26183type ProjectsLocationsDatasetsHl7V2StoresGetCall struct {
26184	s            *Service
26185	name         string
26186	urlParams_   gensupport.URLParams
26187	ifNoneMatch_ string
26188	ctx_         context.Context
26189	header_      http.Header
26190}
26191
26192// Get: Gets the specified HL7v2 store.
26193func (r *ProjectsLocationsDatasetsHl7V2StoresService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26194	c := &ProjectsLocationsDatasetsHl7V2StoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26195	c.name = name
26196	return c
26197}
26198
26199// Fields allows partial responses to be retrieved. See
26200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26201// for more information.
26202func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26204	return c
26205}
26206
26207// IfNoneMatch sets the optional parameter which makes the operation
26208// fail if the object's ETag matches the given value. This is useful for
26209// getting updates only after the object has changed since the last
26210// request. Use googleapi.IsNotModified to check whether the response
26211// error from Do is the result of In-None-Match.
26212func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26213	c.ifNoneMatch_ = entityTag
26214	return c
26215}
26216
26217// Context sets the context to be used in this call's Do method. Any
26218// pending HTTP request will be aborted if the provided context is
26219// canceled.
26220func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26221	c.ctx_ = ctx
26222	return c
26223}
26224
26225// Header returns an http.Header that can be modified by the caller to
26226// add HTTP headers to the request.
26227func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Header() http.Header {
26228	if c.header_ == nil {
26229		c.header_ = make(http.Header)
26230	}
26231	return c.header_
26232}
26233
26234func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
26235	reqHeaders := make(http.Header)
26236	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26237	for k, v := range c.header_ {
26238		reqHeaders[k] = v
26239	}
26240	reqHeaders.Set("User-Agent", c.s.userAgent())
26241	if c.ifNoneMatch_ != "" {
26242		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26243	}
26244	var body io.Reader = nil
26245	c.urlParams_.Set("alt", alt)
26246	c.urlParams_.Set("prettyPrint", "false")
26247	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26248	urls += "?" + c.urlParams_.Encode()
26249	req, err := http.NewRequest("GET", urls, body)
26250	if err != nil {
26251		return nil, err
26252	}
26253	req.Header = reqHeaders
26254	googleapi.Expand(req.URL, map[string]string{
26255		"name": c.name,
26256	})
26257	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26258}
26259
26260// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.get" call.
26261// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26262// status code is an error. Response headers are in either
26263// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26264// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26265// to check whether the returned error was because
26266// http.StatusNotModified was returned.
26267func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26268	gensupport.SetOptions(c.urlParams_, opts...)
26269	res, err := c.doRequest("json")
26270	if res != nil && res.StatusCode == http.StatusNotModified {
26271		if res.Body != nil {
26272			res.Body.Close()
26273		}
26274		return nil, &googleapi.Error{
26275			Code:   res.StatusCode,
26276			Header: res.Header,
26277		}
26278	}
26279	if err != nil {
26280		return nil, err
26281	}
26282	defer googleapi.CloseBody(res)
26283	if err := googleapi.CheckResponse(res); err != nil {
26284		return nil, err
26285	}
26286	ret := &Hl7V2Store{
26287		ServerResponse: googleapi.ServerResponse{
26288			Header:         res.Header,
26289			HTTPStatusCode: res.StatusCode,
26290		},
26291	}
26292	target := &ret
26293	if err := gensupport.DecodeResponse(target, res); err != nil {
26294		return nil, err
26295	}
26296	return ret, nil
26297	// {
26298	//   "description": "Gets the specified HL7v2 store.",
26299	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26300	//   "httpMethod": "GET",
26301	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.get",
26302	//   "parameterOrder": [
26303	//     "name"
26304	//   ],
26305	//   "parameters": {
26306	//     "name": {
26307	//       "description": "The resource name of the HL7v2 store to get.",
26308	//       "location": "path",
26309	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26310	//       "required": true,
26311	//       "type": "string"
26312	//     }
26313	//   },
26314	//   "path": "v1beta1/{+name}",
26315	//   "response": {
26316	//     "$ref": "Hl7V2Store"
26317	//   },
26318	//   "scopes": [
26319	//     "https://www.googleapis.com/auth/cloud-platform"
26320	//   ]
26321	// }
26322
26323}
26324
26325// method id "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy":
26326
26327type ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall struct {
26328	s            *Service
26329	resource     string
26330	urlParams_   gensupport.URLParams
26331	ifNoneMatch_ string
26332	ctx_         context.Context
26333	header_      http.Header
26334}
26335
26336// GetIamPolicy: Gets the access control policy for a resource. Returns
26337// an empty policy if the resource exists and does not have a policy
26338// set.
26339func (r *ProjectsLocationsDatasetsHl7V2StoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26340	c := &ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26341	c.resource = resource
26342	return c
26343}
26344
26345// OptionsRequestedPolicyVersion sets the optional parameter
26346// "options.requestedPolicyVersion": The policy format version to be
26347// returned. Valid values are 0, 1, and 3. Requests specifying an
26348// invalid value will be rejected. Requests for policies with any
26349// conditional bindings must specify version 3. Policies without any
26350// conditional bindings may specify any valid value or leave the field
26351// unset. To learn which resources support conditions in their IAM
26352// policies, see the IAM documentation
26353// (https://cloud.google.com/iam/help/conditions/resource-policies).
26354func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26355	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
26356	return c
26357}
26358
26359// Fields allows partial responses to be retrieved. See
26360// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26361// for more information.
26362func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26363	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26364	return c
26365}
26366
26367// IfNoneMatch sets the optional parameter which makes the operation
26368// fail if the object's ETag matches the given value. This is useful for
26369// getting updates only after the object has changed since the last
26370// request. Use googleapi.IsNotModified to check whether the response
26371// error from Do is the result of In-None-Match.
26372func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26373	c.ifNoneMatch_ = entityTag
26374	return c
26375}
26376
26377// Context sets the context to be used in this call's Do method. Any
26378// pending HTTP request will be aborted if the provided context is
26379// canceled.
26380func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26381	c.ctx_ = ctx
26382	return c
26383}
26384
26385// Header returns an http.Header that can be modified by the caller to
26386// add HTTP headers to the request.
26387func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Header() http.Header {
26388	if c.header_ == nil {
26389		c.header_ = make(http.Header)
26390	}
26391	return c.header_
26392}
26393
26394func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
26395	reqHeaders := make(http.Header)
26396	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26397	for k, v := range c.header_ {
26398		reqHeaders[k] = v
26399	}
26400	reqHeaders.Set("User-Agent", c.s.userAgent())
26401	if c.ifNoneMatch_ != "" {
26402		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26403	}
26404	var body io.Reader = nil
26405	c.urlParams_.Set("alt", alt)
26406	c.urlParams_.Set("prettyPrint", "false")
26407	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
26408	urls += "?" + c.urlParams_.Encode()
26409	req, err := http.NewRequest("GET", urls, body)
26410	if err != nil {
26411		return nil, err
26412	}
26413	req.Header = reqHeaders
26414	googleapi.Expand(req.URL, map[string]string{
26415		"resource": c.resource,
26416	})
26417	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26418}
26419
26420// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy" call.
26421// Exactly one of *Policy or error will be non-nil. Any non-2xx status
26422// code is an error. Response headers are in either
26423// *Policy.ServerResponse.Header or (if a response was returned at all)
26424// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
26425// check whether the returned error was because http.StatusNotModified
26426// was returned.
26427func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
26428	gensupport.SetOptions(c.urlParams_, opts...)
26429	res, err := c.doRequest("json")
26430	if res != nil && res.StatusCode == http.StatusNotModified {
26431		if res.Body != nil {
26432			res.Body.Close()
26433		}
26434		return nil, &googleapi.Error{
26435			Code:   res.StatusCode,
26436			Header: res.Header,
26437		}
26438	}
26439	if err != nil {
26440		return nil, err
26441	}
26442	defer googleapi.CloseBody(res)
26443	if err := googleapi.CheckResponse(res); err != nil {
26444		return nil, err
26445	}
26446	ret := &Policy{
26447		ServerResponse: googleapi.ServerResponse{
26448			Header:         res.Header,
26449			HTTPStatusCode: res.StatusCode,
26450		},
26451	}
26452	target := &ret
26453	if err := gensupport.DecodeResponse(target, res); err != nil {
26454		return nil, err
26455	}
26456	return ret, nil
26457	// {
26458	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
26459	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy",
26460	//   "httpMethod": "GET",
26461	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy",
26462	//   "parameterOrder": [
26463	//     "resource"
26464	//   ],
26465	//   "parameters": {
26466	//     "options.requestedPolicyVersion": {
26467	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
26468	//       "format": "int32",
26469	//       "location": "query",
26470	//       "type": "integer"
26471	//     },
26472	//     "resource": {
26473	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
26474	//       "location": "path",
26475	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26476	//       "required": true,
26477	//       "type": "string"
26478	//     }
26479	//   },
26480	//   "path": "v1beta1/{+resource}:getIamPolicy",
26481	//   "response": {
26482	//     "$ref": "Policy"
26483	//   },
26484	//   "scopes": [
26485	//     "https://www.googleapis.com/auth/cloud-platform"
26486	//   ]
26487	// }
26488
26489}
26490
26491// method id "healthcare.projects.locations.datasets.hl7V2Stores.import":
26492
26493type ProjectsLocationsDatasetsHl7V2StoresImportCall struct {
26494	s                     *Service
26495	name                  string
26496	importmessagesrequest *ImportMessagesRequest
26497	urlParams_            gensupport.URLParams
26498	ctx_                  context.Context
26499	header_               http.Header
26500}
26501
26502// Import: Import messages to the HL7v2 store by loading data from the
26503// specified sources. This method is optimized to load large quantities
26504// of data using import semantics that ignore some HL7v2 store
26505// configuration options and are not suitable for all use cases. It is
26506// primarily intended to load data into an empty HL7v2 store that is not
26507// being used by other clients. An existing message will be overwritten
26508// if a duplicate message is imported. A duplicate message is a message
26509// with the same raw bytes as a message that already exists in this
26510// HL7v2 store. When a message is overwritten, its labels will also be
26511// overwritten. The import operation is idempotent unless the input data
26512// contains multiple valid messages with the same raw bytes but
26513// different labels. In that case, after the import completes, the store
26514// contains exactly one message with those raw bytes but there is no
26515// ordering guarantee on which version of the labels it has. The
26516// operation result counters do not count duplicated raw bytes as an
26517// error and count one success for each message in the input, which
26518// might result in a success count larger than the number of messages in
26519// the HL7v2 store. If some messages fail to import, for example due to
26520// parsing errors, successfully imported messages are not rolled back.
26521// This method returns an Operation that can be used to track the status
26522// of the import by calling GetOperation. Immediate fatal errors appear
26523// in the error field, errors are also logged to Cloud Logging (see
26524// Viewing logs (/healthcare/docs/how-tos/logging)). Otherwise, when the
26525// operation finishes, a response of type ImportMessagesResponse is
26526// returned in the response field. The metadata field type for this
26527// operation is OperationMetadata.
26528func (r *ProjectsLocationsDatasetsHl7V2StoresService) Import(name string, importmessagesrequest *ImportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
26529	c := &ProjectsLocationsDatasetsHl7V2StoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26530	c.name = name
26531	c.importmessagesrequest = importmessagesrequest
26532	return c
26533}
26534
26535// Fields allows partial responses to be retrieved. See
26536// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26537// for more information.
26538func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
26539	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26540	return c
26541}
26542
26543// Context sets the context to be used in this call's Do method. Any
26544// pending HTTP request will be aborted if the provided context is
26545// canceled.
26546func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
26547	c.ctx_ = ctx
26548	return c
26549}
26550
26551// Header returns an http.Header that can be modified by the caller to
26552// add HTTP headers to the request.
26553func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Header() http.Header {
26554	if c.header_ == nil {
26555		c.header_ = make(http.Header)
26556	}
26557	return c.header_
26558}
26559
26560func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) doRequest(alt string) (*http.Response, error) {
26561	reqHeaders := make(http.Header)
26562	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26563	for k, v := range c.header_ {
26564		reqHeaders[k] = v
26565	}
26566	reqHeaders.Set("User-Agent", c.s.userAgent())
26567	var body io.Reader = nil
26568	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importmessagesrequest)
26569	if err != nil {
26570		return nil, err
26571	}
26572	reqHeaders.Set("Content-Type", "application/json")
26573	c.urlParams_.Set("alt", alt)
26574	c.urlParams_.Set("prettyPrint", "false")
26575	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
26576	urls += "?" + c.urlParams_.Encode()
26577	req, err := http.NewRequest("POST", urls, body)
26578	if err != nil {
26579		return nil, err
26580	}
26581	req.Header = reqHeaders
26582	googleapi.Expand(req.URL, map[string]string{
26583		"name": c.name,
26584	})
26585	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26586}
26587
26588// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.import" call.
26589// Exactly one of *Operation or error will be non-nil. Any non-2xx
26590// status code is an error. Response headers are in either
26591// *Operation.ServerResponse.Header or (if a response was returned at
26592// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26593// to check whether the returned error was because
26594// http.StatusNotModified was returned.
26595func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
26596	gensupport.SetOptions(c.urlParams_, opts...)
26597	res, err := c.doRequest("json")
26598	if res != nil && res.StatusCode == http.StatusNotModified {
26599		if res.Body != nil {
26600			res.Body.Close()
26601		}
26602		return nil, &googleapi.Error{
26603			Code:   res.StatusCode,
26604			Header: res.Header,
26605		}
26606	}
26607	if err != nil {
26608		return nil, err
26609	}
26610	defer googleapi.CloseBody(res)
26611	if err := googleapi.CheckResponse(res); err != nil {
26612		return nil, err
26613	}
26614	ret := &Operation{
26615		ServerResponse: googleapi.ServerResponse{
26616			Header:         res.Header,
26617			HTTPStatusCode: res.StatusCode,
26618		},
26619	}
26620	target := &ret
26621	if err := gensupport.DecodeResponse(target, res); err != nil {
26622		return nil, err
26623	}
26624	return ret, nil
26625	// {
26626	//   "description": "Import messages to the HL7v2 store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some HL7v2 store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty HL7v2 store that is not being used by other clients. An existing message will be overwritten if a duplicate message is imported. A duplicate message is a message with the same raw bytes as a message that already exists in this HL7v2 store. When a message is overwritten, its labels will also be overwritten. The import operation is idempotent unless the input data contains multiple valid messages with the same raw bytes but different labels. In that case, after the import completes, the store contains exactly one message with those raw bytes but there is no ordering guarantee on which version of the labels it has. The operation result counters do not count duplicated raw bytes as an error and count one success for each message in the input, which might result in a success count larger than the number of messages in the HL7v2 store. If some messages fail to import, for example due to parsing errors, successfully imported messages are not rolled back. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a response of type ImportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.",
26627	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import",
26628	//   "httpMethod": "POST",
26629	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.import",
26630	//   "parameterOrder": [
26631	//     "name"
26632	//   ],
26633	//   "parameters": {
26634	//     "name": {
26635	//       "description": "The name of the target HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
26636	//       "location": "path",
26637	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26638	//       "required": true,
26639	//       "type": "string"
26640	//     }
26641	//   },
26642	//   "path": "v1beta1/{+name}:import",
26643	//   "request": {
26644	//     "$ref": "ImportMessagesRequest"
26645	//   },
26646	//   "response": {
26647	//     "$ref": "Operation"
26648	//   },
26649	//   "scopes": [
26650	//     "https://www.googleapis.com/auth/cloud-platform"
26651	//   ]
26652	// }
26653
26654}
26655
26656// method id "healthcare.projects.locations.datasets.hl7V2Stores.list":
26657
26658type ProjectsLocationsDatasetsHl7V2StoresListCall struct {
26659	s            *Service
26660	parent       string
26661	urlParams_   gensupport.URLParams
26662	ifNoneMatch_ string
26663	ctx_         context.Context
26664	header_      http.Header
26665}
26666
26667// List: Lists the HL7v2 stores in the given dataset.
26668func (r *ProjectsLocationsDatasetsHl7V2StoresService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26669	c := &ProjectsLocationsDatasetsHl7V2StoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26670	c.parent = parent
26671	return c
26672}
26673
26674// Filter sets the optional parameter "filter": Restricts stores
26675// returned to those matching a filter. The following syntax is
26676// available: * A string field value can be written as text inside
26677// quotation marks, for example "query text". The only valid
26678// relational operation for text fields is equality (`=`), where text is
26679// searched within the field, rather than having the field be equal to
26680// the text. For example, "Comment = great" returns messages with
26681// `great` in the comment field. * A number field value can be written
26682// as an integer, a decimal, or an exponential. The valid relational
26683// operators for number fields are the equality operator (`=`), along
26684// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
26685// Note that there is no inequality (`!=`) operator. You can prepend the
26686// `NOT` operator to an expression to negate it. * A date field value
26687// must be written in `yyyy-mm-dd` form. Fields with date and time use
26688// the RFC3339 time format. Leading zeros are required for one-digit
26689// months and days. The valid relational operators for date fields are
26690// the equality operator (`=`) , along with the less than/greater than
26691// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
26692// (`!=`) operator. You can prepend the `NOT` operator to an expression
26693// to negate it. * Multiple field query expressions can be combined in
26694// one query by adding `AND` or `OR` operators between the expressions.
26695// If a boolean operator appears within a quoted string, it is not
26696// treated as special, it's just another part of the character string to
26697// be matched. You can prepend the `NOT` operator to an expression to
26698// negate it. Only filtering on labels is supported. For example,
26699// `labels.key=value`.
26700func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26701	c.urlParams_.Set("filter", filter)
26702	return c
26703}
26704
26705// PageSize sets the optional parameter "pageSize": Limit on the number
26706// of HL7v2 stores to return in a single response. If not specified, 100
26707// is used. May not be larger than 1000.
26708func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26709	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26710	return c
26711}
26712
26713// PageToken sets the optional parameter "pageToken": The
26714// next_page_token value returned from the previous List request, if
26715// any.
26716func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26717	c.urlParams_.Set("pageToken", pageToken)
26718	return c
26719}
26720
26721// Fields allows partial responses to be retrieved. See
26722// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26723// for more information.
26724func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26725	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26726	return c
26727}
26728
26729// IfNoneMatch sets the optional parameter which makes the operation
26730// fail if the object's ETag matches the given value. This is useful for
26731// getting updates only after the object has changed since the last
26732// request. Use googleapi.IsNotModified to check whether the response
26733// error from Do is the result of In-None-Match.
26734func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26735	c.ifNoneMatch_ = entityTag
26736	return c
26737}
26738
26739// Context sets the context to be used in this call's Do method. Any
26740// pending HTTP request will be aborted if the provided context is
26741// canceled.
26742func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresListCall {
26743	c.ctx_ = ctx
26744	return c
26745}
26746
26747// Header returns an http.Header that can be modified by the caller to
26748// add HTTP headers to the request.
26749func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Header() http.Header {
26750	if c.header_ == nil {
26751		c.header_ = make(http.Header)
26752	}
26753	return c.header_
26754}
26755
26756func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
26757	reqHeaders := make(http.Header)
26758	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26759	for k, v := range c.header_ {
26760		reqHeaders[k] = v
26761	}
26762	reqHeaders.Set("User-Agent", c.s.userAgent())
26763	if c.ifNoneMatch_ != "" {
26764		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26765	}
26766	var body io.Reader = nil
26767	c.urlParams_.Set("alt", alt)
26768	c.urlParams_.Set("prettyPrint", "false")
26769	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
26770	urls += "?" + c.urlParams_.Encode()
26771	req, err := http.NewRequest("GET", urls, body)
26772	if err != nil {
26773		return nil, err
26774	}
26775	req.Header = reqHeaders
26776	googleapi.Expand(req.URL, map[string]string{
26777		"parent": c.parent,
26778	})
26779	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26780}
26781
26782// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.list" call.
26783// Exactly one of *ListHl7V2StoresResponse or error will be non-nil. Any
26784// non-2xx status code is an error. Response headers are in either
26785// *ListHl7V2StoresResponse.ServerResponse.Header or (if a response was
26786// returned at all) in error.(*googleapi.Error).Header. Use
26787// googleapi.IsNotModified to check whether the returned error was
26788// because http.StatusNotModified was returned.
26789func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Do(opts ...googleapi.CallOption) (*ListHl7V2StoresResponse, error) {
26790	gensupport.SetOptions(c.urlParams_, opts...)
26791	res, err := c.doRequest("json")
26792	if res != nil && res.StatusCode == http.StatusNotModified {
26793		if res.Body != nil {
26794			res.Body.Close()
26795		}
26796		return nil, &googleapi.Error{
26797			Code:   res.StatusCode,
26798			Header: res.Header,
26799		}
26800	}
26801	if err != nil {
26802		return nil, err
26803	}
26804	defer googleapi.CloseBody(res)
26805	if err := googleapi.CheckResponse(res); err != nil {
26806		return nil, err
26807	}
26808	ret := &ListHl7V2StoresResponse{
26809		ServerResponse: googleapi.ServerResponse{
26810			Header:         res.Header,
26811			HTTPStatusCode: res.StatusCode,
26812		},
26813	}
26814	target := &ret
26815	if err := gensupport.DecodeResponse(target, res); err != nil {
26816		return nil, err
26817	}
26818	return ret, nil
26819	// {
26820	//   "description": "Lists the HL7v2 stores in the given dataset.",
26821	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
26822	//   "httpMethod": "GET",
26823	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.list",
26824	//   "parameterOrder": [
26825	//     "parent"
26826	//   ],
26827	//   "parameters": {
26828	//     "filter": {
26829	//       "description": "Restricts stores returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Only filtering on labels is supported. For example, `labels.key=value`.",
26830	//       "location": "query",
26831	//       "type": "string"
26832	//     },
26833	//     "pageSize": {
26834	//       "description": "Limit on the number of HL7v2 stores to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
26835	//       "format": "int32",
26836	//       "location": "query",
26837	//       "type": "integer"
26838	//     },
26839	//     "pageToken": {
26840	//       "description": "The next_page_token value returned from the previous List request, if any.",
26841	//       "location": "query",
26842	//       "type": "string"
26843	//     },
26844	//     "parent": {
26845	//       "description": "Name of the dataset.",
26846	//       "location": "path",
26847	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
26848	//       "required": true,
26849	//       "type": "string"
26850	//     }
26851	//   },
26852	//   "path": "v1beta1/{+parent}/hl7V2Stores",
26853	//   "response": {
26854	//     "$ref": "ListHl7V2StoresResponse"
26855	//   },
26856	//   "scopes": [
26857	//     "https://www.googleapis.com/auth/cloud-platform"
26858	//   ]
26859	// }
26860
26861}
26862
26863// Pages invokes f for each page of results.
26864// A non-nil error returned from f will halt the iteration.
26865// The provided context supersedes any context provided to the Context method.
26866func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Pages(ctx context.Context, f func(*ListHl7V2StoresResponse) error) error {
26867	c.ctx_ = ctx
26868	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26869	for {
26870		x, err := c.Do()
26871		if err != nil {
26872			return err
26873		}
26874		if err := f(x); err != nil {
26875			return err
26876		}
26877		if x.NextPageToken == "" {
26878			return nil
26879		}
26880		c.PageToken(x.NextPageToken)
26881	}
26882}
26883
26884// method id "healthcare.projects.locations.datasets.hl7V2Stores.patch":
26885
26886type ProjectsLocationsDatasetsHl7V2StoresPatchCall struct {
26887	s          *Service
26888	name       string
26889	hl7v2store *Hl7V2Store
26890	urlParams_ gensupport.URLParams
26891	ctx_       context.Context
26892	header_    http.Header
26893}
26894
26895// Patch: Updates the HL7v2 store.
26896func (r *ProjectsLocationsDatasetsHl7V2StoresService) Patch(name string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
26897	c := &ProjectsLocationsDatasetsHl7V2StoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26898	c.name = name
26899	c.hl7v2store = hl7v2store
26900	return c
26901}
26902
26903// UpdateMask sets the optional parameter "updateMask": The update mask
26904// applies to the resource. For the `FieldMask` definition, see
26905// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
26906func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
26907	c.urlParams_.Set("updateMask", updateMask)
26908	return c
26909}
26910
26911// Fields allows partial responses to be retrieved. See
26912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26913// for more information.
26914func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
26915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26916	return c
26917}
26918
26919// Context sets the context to be used in this call's Do method. Any
26920// pending HTTP request will be aborted if the provided context is
26921// canceled.
26922func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
26923	c.ctx_ = ctx
26924	return c
26925}
26926
26927// Header returns an http.Header that can be modified by the caller to
26928// add HTTP headers to the request.
26929func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Header() http.Header {
26930	if c.header_ == nil {
26931		c.header_ = make(http.Header)
26932	}
26933	return c.header_
26934}
26935
26936func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
26937	reqHeaders := make(http.Header)
26938	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
26939	for k, v := range c.header_ {
26940		reqHeaders[k] = v
26941	}
26942	reqHeaders.Set("User-Agent", c.s.userAgent())
26943	var body io.Reader = nil
26944	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
26945	if err != nil {
26946		return nil, err
26947	}
26948	reqHeaders.Set("Content-Type", "application/json")
26949	c.urlParams_.Set("alt", alt)
26950	c.urlParams_.Set("prettyPrint", "false")
26951	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26952	urls += "?" + c.urlParams_.Encode()
26953	req, err := http.NewRequest("PATCH", urls, body)
26954	if err != nil {
26955		return nil, err
26956	}
26957	req.Header = reqHeaders
26958	googleapi.Expand(req.URL, map[string]string{
26959		"name": c.name,
26960	})
26961	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26962}
26963
26964// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.patch" call.
26965// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26966// status code is an error. Response headers are in either
26967// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26968// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26969// to check whether the returned error was because
26970// http.StatusNotModified was returned.
26971func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26972	gensupport.SetOptions(c.urlParams_, opts...)
26973	res, err := c.doRequest("json")
26974	if res != nil && res.StatusCode == http.StatusNotModified {
26975		if res.Body != nil {
26976			res.Body.Close()
26977		}
26978		return nil, &googleapi.Error{
26979			Code:   res.StatusCode,
26980			Header: res.Header,
26981		}
26982	}
26983	if err != nil {
26984		return nil, err
26985	}
26986	defer googleapi.CloseBody(res)
26987	if err := googleapi.CheckResponse(res); err != nil {
26988		return nil, err
26989	}
26990	ret := &Hl7V2Store{
26991		ServerResponse: googleapi.ServerResponse{
26992			Header:         res.Header,
26993			HTTPStatusCode: res.StatusCode,
26994		},
26995	}
26996	target := &ret
26997	if err := gensupport.DecodeResponse(target, res); err != nil {
26998		return nil, err
26999	}
27000	return ret, nil
27001	// {
27002	//   "description": "Updates the HL7v2 store.",
27003	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
27004	//   "httpMethod": "PATCH",
27005	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch",
27006	//   "parameterOrder": [
27007	//     "name"
27008	//   ],
27009	//   "parameters": {
27010	//     "name": {
27011	//       "description": "Resource name of the HL7v2 store, of the form `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
27012	//       "location": "path",
27013	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27014	//       "required": true,
27015	//       "type": "string"
27016	//     },
27017	//     "updateMask": {
27018	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
27019	//       "format": "google-fieldmask",
27020	//       "location": "query",
27021	//       "type": "string"
27022	//     }
27023	//   },
27024	//   "path": "v1beta1/{+name}",
27025	//   "request": {
27026	//     "$ref": "Hl7V2Store"
27027	//   },
27028	//   "response": {
27029	//     "$ref": "Hl7V2Store"
27030	//   },
27031	//   "scopes": [
27032	//     "https://www.googleapis.com/auth/cloud-platform"
27033	//   ]
27034	// }
27035
27036}
27037
27038// method id "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy":
27039
27040type ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall struct {
27041	s                   *Service
27042	resource            string
27043	setiampolicyrequest *SetIamPolicyRequest
27044	urlParams_          gensupport.URLParams
27045	ctx_                context.Context
27046	header_             http.Header
27047}
27048
27049// SetIamPolicy: Sets the access control policy on the specified
27050// resource. Replaces any existing policy. Can return `NOT_FOUND`,
27051// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
27052func (r *ProjectsLocationsDatasetsHl7V2StoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27053	c := &ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27054	c.resource = resource
27055	c.setiampolicyrequest = setiampolicyrequest
27056	return c
27057}
27058
27059// Fields allows partial responses to be retrieved. See
27060// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27061// for more information.
27062func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27063	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27064	return c
27065}
27066
27067// Context sets the context to be used in this call's Do method. Any
27068// pending HTTP request will be aborted if the provided context is
27069// canceled.
27070func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27071	c.ctx_ = ctx
27072	return c
27073}
27074
27075// Header returns an http.Header that can be modified by the caller to
27076// add HTTP headers to the request.
27077func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Header() http.Header {
27078	if c.header_ == nil {
27079		c.header_ = make(http.Header)
27080	}
27081	return c.header_
27082}
27083
27084func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
27085	reqHeaders := make(http.Header)
27086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27087	for k, v := range c.header_ {
27088		reqHeaders[k] = v
27089	}
27090	reqHeaders.Set("User-Agent", c.s.userAgent())
27091	var body io.Reader = nil
27092	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
27093	if err != nil {
27094		return nil, err
27095	}
27096	reqHeaders.Set("Content-Type", "application/json")
27097	c.urlParams_.Set("alt", alt)
27098	c.urlParams_.Set("prettyPrint", "false")
27099	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
27100	urls += "?" + c.urlParams_.Encode()
27101	req, err := http.NewRequest("POST", urls, body)
27102	if err != nil {
27103		return nil, err
27104	}
27105	req.Header = reqHeaders
27106	googleapi.Expand(req.URL, map[string]string{
27107		"resource": c.resource,
27108	})
27109	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27110}
27111
27112// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy" call.
27113// Exactly one of *Policy or error will be non-nil. Any non-2xx status
27114// code is an error. Response headers are in either
27115// *Policy.ServerResponse.Header or (if a response was returned at all)
27116// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27117// check whether the returned error was because http.StatusNotModified
27118// was returned.
27119func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27120	gensupport.SetOptions(c.urlParams_, opts...)
27121	res, err := c.doRequest("json")
27122	if res != nil && res.StatusCode == http.StatusNotModified {
27123		if res.Body != nil {
27124			res.Body.Close()
27125		}
27126		return nil, &googleapi.Error{
27127			Code:   res.StatusCode,
27128			Header: res.Header,
27129		}
27130	}
27131	if err != nil {
27132		return nil, err
27133	}
27134	defer googleapi.CloseBody(res)
27135	if err := googleapi.CheckResponse(res); err != nil {
27136		return nil, err
27137	}
27138	ret := &Policy{
27139		ServerResponse: googleapi.ServerResponse{
27140			Header:         res.Header,
27141			HTTPStatusCode: res.StatusCode,
27142		},
27143	}
27144	target := &ret
27145	if err := gensupport.DecodeResponse(target, res); err != nil {
27146		return nil, err
27147	}
27148	return ret, nil
27149	// {
27150	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
27151	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy",
27152	//   "httpMethod": "POST",
27153	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy",
27154	//   "parameterOrder": [
27155	//     "resource"
27156	//   ],
27157	//   "parameters": {
27158	//     "resource": {
27159	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
27160	//       "location": "path",
27161	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27162	//       "required": true,
27163	//       "type": "string"
27164	//     }
27165	//   },
27166	//   "path": "v1beta1/{+resource}:setIamPolicy",
27167	//   "request": {
27168	//     "$ref": "SetIamPolicyRequest"
27169	//   },
27170	//   "response": {
27171	//     "$ref": "Policy"
27172	//   },
27173	//   "scopes": [
27174	//     "https://www.googleapis.com/auth/cloud-platform"
27175	//   ]
27176	// }
27177
27178}
27179
27180// method id "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions":
27181
27182type ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall struct {
27183	s                         *Service
27184	resource                  string
27185	testiampermissionsrequest *TestIamPermissionsRequest
27186	urlParams_                gensupport.URLParams
27187	ctx_                      context.Context
27188	header_                   http.Header
27189}
27190
27191// TestIamPermissions: Returns permissions that a caller has on the
27192// specified resource. If the resource does not exist, this will return
27193// an empty set of permissions, not a `NOT_FOUND` error. Note: This
27194// operation is designed to be used for building permission-aware UIs
27195// and command-line tools, not for authorization checking. This
27196// operation may "fail open" without warning.
27197func (r *ProjectsLocationsDatasetsHl7V2StoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27198	c := &ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27199	c.resource = resource
27200	c.testiampermissionsrequest = testiampermissionsrequest
27201	return c
27202}
27203
27204// Fields allows partial responses to be retrieved. See
27205// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27206// for more information.
27207func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27208	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27209	return c
27210}
27211
27212// Context sets the context to be used in this call's Do method. Any
27213// pending HTTP request will be aborted if the provided context is
27214// canceled.
27215func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27216	c.ctx_ = ctx
27217	return c
27218}
27219
27220// Header returns an http.Header that can be modified by the caller to
27221// add HTTP headers to the request.
27222func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Header() http.Header {
27223	if c.header_ == nil {
27224		c.header_ = make(http.Header)
27225	}
27226	return c.header_
27227}
27228
27229func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
27230	reqHeaders := make(http.Header)
27231	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27232	for k, v := range c.header_ {
27233		reqHeaders[k] = v
27234	}
27235	reqHeaders.Set("User-Agent", c.s.userAgent())
27236	var body io.Reader = nil
27237	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
27238	if err != nil {
27239		return nil, err
27240	}
27241	reqHeaders.Set("Content-Type", "application/json")
27242	c.urlParams_.Set("alt", alt)
27243	c.urlParams_.Set("prettyPrint", "false")
27244	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
27245	urls += "?" + c.urlParams_.Encode()
27246	req, err := http.NewRequest("POST", urls, body)
27247	if err != nil {
27248		return nil, err
27249	}
27250	req.Header = reqHeaders
27251	googleapi.Expand(req.URL, map[string]string{
27252		"resource": c.resource,
27253	})
27254	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27255}
27256
27257// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions" call.
27258// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
27259// Any non-2xx status code is an error. Response headers are in either
27260// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
27261// was returned at all) in error.(*googleapi.Error).Header. Use
27262// googleapi.IsNotModified to check whether the returned error was
27263// because http.StatusNotModified was returned.
27264func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
27265	gensupport.SetOptions(c.urlParams_, opts...)
27266	res, err := c.doRequest("json")
27267	if res != nil && res.StatusCode == http.StatusNotModified {
27268		if res.Body != nil {
27269			res.Body.Close()
27270		}
27271		return nil, &googleapi.Error{
27272			Code:   res.StatusCode,
27273			Header: res.Header,
27274		}
27275	}
27276	if err != nil {
27277		return nil, err
27278	}
27279	defer googleapi.CloseBody(res)
27280	if err := googleapi.CheckResponse(res); err != nil {
27281		return nil, err
27282	}
27283	ret := &TestIamPermissionsResponse{
27284		ServerResponse: googleapi.ServerResponse{
27285			Header:         res.Header,
27286			HTTPStatusCode: res.StatusCode,
27287		},
27288	}
27289	target := &ret
27290	if err := gensupport.DecodeResponse(target, res); err != nil {
27291		return nil, err
27292	}
27293	return ret, nil
27294	// {
27295	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
27296	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions",
27297	//   "httpMethod": "POST",
27298	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions",
27299	//   "parameterOrder": [
27300	//     "resource"
27301	//   ],
27302	//   "parameters": {
27303	//     "resource": {
27304	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
27305	//       "location": "path",
27306	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27307	//       "required": true,
27308	//       "type": "string"
27309	//     }
27310	//   },
27311	//   "path": "v1beta1/{+resource}:testIamPermissions",
27312	//   "request": {
27313	//     "$ref": "TestIamPermissionsRequest"
27314	//   },
27315	//   "response": {
27316	//     "$ref": "TestIamPermissionsResponse"
27317	//   },
27318	//   "scopes": [
27319	//     "https://www.googleapis.com/auth/cloud-platform"
27320	//   ]
27321	// }
27322
27323}
27324
27325// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet":
27326
27327type ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall struct {
27328	s            *Service
27329	parent       string
27330	urlParams_   gensupport.URLParams
27331	ifNoneMatch_ string
27332	ctx_         context.Context
27333	header_      http.Header
27334}
27335
27336// BatchGet: Gets multiple messages in the given HL7v2 store.
27337func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) BatchGet(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27338	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27339	c.parent = parent
27340	return c
27341}
27342
27343// Ids sets the optional parameter "ids": The resource id of the HL7v2
27344// messages to retrieve in the format: `{message_id}`, where the full
27345// resource name is `{parent}/messages/{message_id}` A maximum of 100
27346// messages can be retrieved in a batch. All 'ids' have to be under
27347// parent.
27348func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Ids(ids ...string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27349	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
27350	return c
27351}
27352
27353// View sets the optional parameter "view": Specifies the parts of the
27354// Messages resource to return in the response. When unspecified,
27355// equivalent to BASIC.
27356//
27357// Possible values:
27358//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
27359// getMessage, equivalent to BASIC for listMessages.
27360//   "RAW_ONLY" - Server responses include all the message fields except
27361// parsed_data, and schematized_data fields.
27362//   "PARSED_ONLY" - Server responses include all the message fields
27363// except data and schematized_data fields.
27364//   "FULL" - Server responses include all the message fields.
27365//   "SCHEMATIZED_ONLY" - Server responses include all the message
27366// fields except data and parsed_data fields.
27367//   "BASIC" - Server responses include only the name field.
27368func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27369	c.urlParams_.Set("view", view)
27370	return c
27371}
27372
27373// Fields allows partial responses to be retrieved. See
27374// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27375// for more information.
27376func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27377	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27378	return c
27379}
27380
27381// IfNoneMatch sets the optional parameter which makes the operation
27382// fail if the object's ETag matches the given value. This is useful for
27383// getting updates only after the object has changed since the last
27384// request. Use googleapi.IsNotModified to check whether the response
27385// error from Do is the result of In-None-Match.
27386func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27387	c.ifNoneMatch_ = entityTag
27388	return c
27389}
27390
27391// Context sets the context to be used in this call's Do method. Any
27392// pending HTTP request will be aborted if the provided context is
27393// canceled.
27394func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27395	c.ctx_ = ctx
27396	return c
27397}
27398
27399// Header returns an http.Header that can be modified by the caller to
27400// add HTTP headers to the request.
27401func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Header() http.Header {
27402	if c.header_ == nil {
27403		c.header_ = make(http.Header)
27404	}
27405	return c.header_
27406}
27407
27408func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) doRequest(alt string) (*http.Response, error) {
27409	reqHeaders := make(http.Header)
27410	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27411	for k, v := range c.header_ {
27412		reqHeaders[k] = v
27413	}
27414	reqHeaders.Set("User-Agent", c.s.userAgent())
27415	if c.ifNoneMatch_ != "" {
27416		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27417	}
27418	var body io.Reader = nil
27419	c.urlParams_.Set("alt", alt)
27420	c.urlParams_.Set("prettyPrint", "false")
27421	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:batchGet")
27422	urls += "?" + c.urlParams_.Encode()
27423	req, err := http.NewRequest("GET", urls, body)
27424	if err != nil {
27425		return nil, err
27426	}
27427	req.Header = reqHeaders
27428	googleapi.Expand(req.URL, map[string]string{
27429		"parent": c.parent,
27430	})
27431	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27432}
27433
27434// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet" call.
27435// Exactly one of *BatchGetMessagesResponse or error will be non-nil.
27436// Any non-2xx status code is an error. Response headers are in either
27437// *BatchGetMessagesResponse.ServerResponse.Header or (if a response was
27438// returned at all) in error.(*googleapi.Error).Header. Use
27439// googleapi.IsNotModified to check whether the returned error was
27440// because http.StatusNotModified was returned.
27441func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetMessagesResponse, error) {
27442	gensupport.SetOptions(c.urlParams_, opts...)
27443	res, err := c.doRequest("json")
27444	if res != nil && res.StatusCode == http.StatusNotModified {
27445		if res.Body != nil {
27446			res.Body.Close()
27447		}
27448		return nil, &googleapi.Error{
27449			Code:   res.StatusCode,
27450			Header: res.Header,
27451		}
27452	}
27453	if err != nil {
27454		return nil, err
27455	}
27456	defer googleapi.CloseBody(res)
27457	if err := googleapi.CheckResponse(res); err != nil {
27458		return nil, err
27459	}
27460	ret := &BatchGetMessagesResponse{
27461		ServerResponse: googleapi.ServerResponse{
27462			Header:         res.Header,
27463			HTTPStatusCode: res.StatusCode,
27464		},
27465	}
27466	target := &ret
27467	if err := gensupport.DecodeResponse(target, res); err != nil {
27468		return nil, err
27469	}
27470	return ret, nil
27471	// {
27472	//   "description": "Gets multiple messages in the given HL7v2 store.",
27473	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:batchGet",
27474	//   "httpMethod": "GET",
27475	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet",
27476	//   "parameterOrder": [
27477	//     "parent"
27478	//   ],
27479	//   "parameters": {
27480	//     "ids": {
27481	//       "description": "The resource id of the HL7v2 messages to retrieve in the format: `{message_id}`, where the full resource name is `{parent}/messages/{message_id}` A maximum of 100 messages can be retrieved in a batch. All 'ids' have to be under parent.",
27482	//       "location": "query",
27483	//       "repeated": true,
27484	//       "type": "string"
27485	//     },
27486	//     "parent": {
27487	//       "description": "Name of the HL7v2 store to retrieve messages from, in the format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`.",
27488	//       "location": "path",
27489	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27490	//       "required": true,
27491	//       "type": "string"
27492	//     },
27493	//     "view": {
27494	//       "description": "Specifies the parts of the Messages resource to return in the response. When unspecified, equivalent to BASIC.",
27495	//       "enum": [
27496	//         "MESSAGE_VIEW_UNSPECIFIED",
27497	//         "RAW_ONLY",
27498	//         "PARSED_ONLY",
27499	//         "FULL",
27500	//         "SCHEMATIZED_ONLY",
27501	//         "BASIC"
27502	//       ],
27503	//       "enumDescriptions": [
27504	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
27505	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
27506	//         "Server responses include all the message fields except data and schematized_data fields.",
27507	//         "Server responses include all the message fields.",
27508	//         "Server responses include all the message fields except data and parsed_data fields.",
27509	//         "Server responses include only the name field."
27510	//       ],
27511	//       "location": "query",
27512	//       "type": "string"
27513	//     }
27514	//   },
27515	//   "path": "v1beta1/{+parent}/messages:batchGet",
27516	//   "response": {
27517	//     "$ref": "BatchGetMessagesResponse"
27518	//   },
27519	//   "scopes": [
27520	//     "https://www.googleapis.com/auth/cloud-platform"
27521	//   ]
27522	// }
27523
27524}
27525
27526// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.create":
27527
27528type ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall struct {
27529	s                    *Service
27530	parent               string
27531	createmessagerequest *CreateMessageRequest
27532	urlParams_           gensupport.URLParams
27533	ctx_                 context.Context
27534	header_              http.Header
27535}
27536
27537// Create: Parses and stores an HL7v2 message. This method triggers an
27538// asynchronous notification to any Cloud Pub/Sub topic configured in
27539// projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if
27540// the filtering matches the message. If an MLLP adapter is configured
27541// to listen to a Cloud Pub/Sub topic, the adapter transmits the message
27542// when a notification is received.
27543func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Create(parent string, createmessagerequest *CreateMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
27544	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27545	c.parent = parent
27546	c.createmessagerequest = createmessagerequest
27547	return c
27548}
27549
27550// Fields allows partial responses to be retrieved. See
27551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27552// for more information.
27553func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
27554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27555	return c
27556}
27557
27558// Context sets the context to be used in this call's Do method. Any
27559// pending HTTP request will be aborted if the provided context is
27560// canceled.
27561func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
27562	c.ctx_ = ctx
27563	return c
27564}
27565
27566// Header returns an http.Header that can be modified by the caller to
27567// add HTTP headers to the request.
27568func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Header() http.Header {
27569	if c.header_ == nil {
27570		c.header_ = make(http.Header)
27571	}
27572	return c.header_
27573}
27574
27575func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
27576	reqHeaders := make(http.Header)
27577	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27578	for k, v := range c.header_ {
27579		reqHeaders[k] = v
27580	}
27581	reqHeaders.Set("User-Agent", c.s.userAgent())
27582	var body io.Reader = nil
27583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createmessagerequest)
27584	if err != nil {
27585		return nil, err
27586	}
27587	reqHeaders.Set("Content-Type", "application/json")
27588	c.urlParams_.Set("alt", alt)
27589	c.urlParams_.Set("prettyPrint", "false")
27590	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
27591	urls += "?" + c.urlParams_.Encode()
27592	req, err := http.NewRequest("POST", urls, body)
27593	if err != nil {
27594		return nil, err
27595	}
27596	req.Header = reqHeaders
27597	googleapi.Expand(req.URL, map[string]string{
27598		"parent": c.parent,
27599	})
27600	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27601}
27602
27603// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.create" call.
27604// Exactly one of *Message or error will be non-nil. Any non-2xx status
27605// code is an error. Response headers are in either
27606// *Message.ServerResponse.Header or (if a response was returned at all)
27607// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27608// check whether the returned error was because http.StatusNotModified
27609// was returned.
27610func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
27611	gensupport.SetOptions(c.urlParams_, opts...)
27612	res, err := c.doRequest("json")
27613	if res != nil && res.StatusCode == http.StatusNotModified {
27614		if res.Body != nil {
27615			res.Body.Close()
27616		}
27617		return nil, &googleapi.Error{
27618			Code:   res.StatusCode,
27619			Header: res.Header,
27620		}
27621	}
27622	if err != nil {
27623		return nil, err
27624	}
27625	defer googleapi.CloseBody(res)
27626	if err := googleapi.CheckResponse(res); err != nil {
27627		return nil, err
27628	}
27629	ret := &Message{
27630		ServerResponse: googleapi.ServerResponse{
27631			Header:         res.Header,
27632			HTTPStatusCode: res.StatusCode,
27633		},
27634	}
27635	target := &ret
27636	if err := gensupport.DecodeResponse(target, res); err != nil {
27637		return nil, err
27638	}
27639	return ret, nil
27640	// {
27641	//   "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Cloud Pub/Sub topic configured in projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Cloud Pub/Sub topic, the adapter transmits the message when a notification is received.",
27642	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
27643	//   "httpMethod": "POST",
27644	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create",
27645	//   "parameterOrder": [
27646	//     "parent"
27647	//   ],
27648	//   "parameters": {
27649	//     "parent": {
27650	//       "description": "The name of the dataset this message belongs to.",
27651	//       "location": "path",
27652	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27653	//       "required": true,
27654	//       "type": "string"
27655	//     }
27656	//   },
27657	//   "path": "v1beta1/{+parent}/messages",
27658	//   "request": {
27659	//     "$ref": "CreateMessageRequest"
27660	//   },
27661	//   "response": {
27662	//     "$ref": "Message"
27663	//   },
27664	//   "scopes": [
27665	//     "https://www.googleapis.com/auth/cloud-platform"
27666	//   ]
27667	// }
27668
27669}
27670
27671// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete":
27672
27673type ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall struct {
27674	s          *Service
27675	name       string
27676	urlParams_ gensupport.URLParams
27677	ctx_       context.Context
27678	header_    http.Header
27679}
27680
27681// Delete: Deletes an HL7v2 message.
27682func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
27683	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27684	c.name = name
27685	return c
27686}
27687
27688// Fields allows partial responses to be retrieved. See
27689// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27690// for more information.
27691func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
27692	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27693	return c
27694}
27695
27696// Context sets the context to be used in this call's Do method. Any
27697// pending HTTP request will be aborted if the provided context is
27698// canceled.
27699func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
27700	c.ctx_ = ctx
27701	return c
27702}
27703
27704// Header returns an http.Header that can be modified by the caller to
27705// add HTTP headers to the request.
27706func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Header() http.Header {
27707	if c.header_ == nil {
27708		c.header_ = make(http.Header)
27709	}
27710	return c.header_
27711}
27712
27713func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
27714	reqHeaders := make(http.Header)
27715	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27716	for k, v := range c.header_ {
27717		reqHeaders[k] = v
27718	}
27719	reqHeaders.Set("User-Agent", c.s.userAgent())
27720	var body io.Reader = nil
27721	c.urlParams_.Set("alt", alt)
27722	c.urlParams_.Set("prettyPrint", "false")
27723	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27724	urls += "?" + c.urlParams_.Encode()
27725	req, err := http.NewRequest("DELETE", urls, body)
27726	if err != nil {
27727		return nil, err
27728	}
27729	req.Header = reqHeaders
27730	googleapi.Expand(req.URL, map[string]string{
27731		"name": c.name,
27732	})
27733	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27734}
27735
27736// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete" call.
27737// Exactly one of *Empty or error will be non-nil. Any non-2xx status
27738// code is an error. Response headers are in either
27739// *Empty.ServerResponse.Header or (if a response was returned at all)
27740// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27741// check whether the returned error was because http.StatusNotModified
27742// was returned.
27743func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
27744	gensupport.SetOptions(c.urlParams_, opts...)
27745	res, err := c.doRequest("json")
27746	if res != nil && res.StatusCode == http.StatusNotModified {
27747		if res.Body != nil {
27748			res.Body.Close()
27749		}
27750		return nil, &googleapi.Error{
27751			Code:   res.StatusCode,
27752			Header: res.Header,
27753		}
27754	}
27755	if err != nil {
27756		return nil, err
27757	}
27758	defer googleapi.CloseBody(res)
27759	if err := googleapi.CheckResponse(res); err != nil {
27760		return nil, err
27761	}
27762	ret := &Empty{
27763		ServerResponse: googleapi.ServerResponse{
27764			Header:         res.Header,
27765			HTTPStatusCode: res.StatusCode,
27766		},
27767	}
27768	target := &ret
27769	if err := gensupport.DecodeResponse(target, res); err != nil {
27770		return nil, err
27771	}
27772	return ret, nil
27773	// {
27774	//   "description": "Deletes an HL7v2 message.",
27775	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
27776	//   "httpMethod": "DELETE",
27777	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete",
27778	//   "parameterOrder": [
27779	//     "name"
27780	//   ],
27781	//   "parameters": {
27782	//     "name": {
27783	//       "description": "The resource name of the HL7v2 message to delete.",
27784	//       "location": "path",
27785	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
27786	//       "required": true,
27787	//       "type": "string"
27788	//     }
27789	//   },
27790	//   "path": "v1beta1/{+name}",
27791	//   "response": {
27792	//     "$ref": "Empty"
27793	//   },
27794	//   "scopes": [
27795	//     "https://www.googleapis.com/auth/cloud-platform"
27796	//   ]
27797	// }
27798
27799}
27800
27801// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.get":
27802
27803type ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall struct {
27804	s            *Service
27805	name         string
27806	urlParams_   gensupport.URLParams
27807	ifNoneMatch_ string
27808	ctx_         context.Context
27809	header_      http.Header
27810}
27811
27812// Get: Gets an HL7v2 message.
27813func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
27814	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27815	c.name = name
27816	return c
27817}
27818
27819// View sets the optional parameter "view": Specifies which parts of the
27820// Message resource to return in the response. When unspecified,
27821// equivalent to FULL.
27822//
27823// Possible values:
27824//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
27825// getMessage, equivalent to BASIC for listMessages.
27826//   "RAW_ONLY" - Server responses include all the message fields except
27827// parsed_data, and schematized_data fields.
27828//   "PARSED_ONLY" - Server responses include all the message fields
27829// except data and schematized_data fields.
27830//   "FULL" - Server responses include all the message fields.
27831//   "SCHEMATIZED_ONLY" - Server responses include all the message
27832// fields except data and parsed_data fields.
27833//   "BASIC" - Server responses include only the name field.
27834func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
27835	c.urlParams_.Set("view", view)
27836	return c
27837}
27838
27839// Fields allows partial responses to be retrieved. See
27840// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27841// for more information.
27842func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
27843	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27844	return c
27845}
27846
27847// IfNoneMatch sets the optional parameter which makes the operation
27848// fail if the object's ETag matches the given value. This is useful for
27849// getting updates only after the object has changed since the last
27850// request. Use googleapi.IsNotModified to check whether the response
27851// error from Do is the result of In-None-Match.
27852func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
27853	c.ifNoneMatch_ = entityTag
27854	return c
27855}
27856
27857// Context sets the context to be used in this call's Do method. Any
27858// pending HTTP request will be aborted if the provided context is
27859// canceled.
27860func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
27861	c.ctx_ = ctx
27862	return c
27863}
27864
27865// Header returns an http.Header that can be modified by the caller to
27866// add HTTP headers to the request.
27867func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Header() http.Header {
27868	if c.header_ == nil {
27869		c.header_ = make(http.Header)
27870	}
27871	return c.header_
27872}
27873
27874func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
27875	reqHeaders := make(http.Header)
27876	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
27877	for k, v := range c.header_ {
27878		reqHeaders[k] = v
27879	}
27880	reqHeaders.Set("User-Agent", c.s.userAgent())
27881	if c.ifNoneMatch_ != "" {
27882		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27883	}
27884	var body io.Reader = nil
27885	c.urlParams_.Set("alt", alt)
27886	c.urlParams_.Set("prettyPrint", "false")
27887	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27888	urls += "?" + c.urlParams_.Encode()
27889	req, err := http.NewRequest("GET", urls, body)
27890	if err != nil {
27891		return nil, err
27892	}
27893	req.Header = reqHeaders
27894	googleapi.Expand(req.URL, map[string]string{
27895		"name": c.name,
27896	})
27897	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27898}
27899
27900// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.get" call.
27901// Exactly one of *Message or error will be non-nil. Any non-2xx status
27902// code is an error. Response headers are in either
27903// *Message.ServerResponse.Header or (if a response was returned at all)
27904// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27905// check whether the returned error was because http.StatusNotModified
27906// was returned.
27907func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error) {
27908	gensupport.SetOptions(c.urlParams_, opts...)
27909	res, err := c.doRequest("json")
27910	if res != nil && res.StatusCode == http.StatusNotModified {
27911		if res.Body != nil {
27912			res.Body.Close()
27913		}
27914		return nil, &googleapi.Error{
27915			Code:   res.StatusCode,
27916			Header: res.Header,
27917		}
27918	}
27919	if err != nil {
27920		return nil, err
27921	}
27922	defer googleapi.CloseBody(res)
27923	if err := googleapi.CheckResponse(res); err != nil {
27924		return nil, err
27925	}
27926	ret := &Message{
27927		ServerResponse: googleapi.ServerResponse{
27928			Header:         res.Header,
27929			HTTPStatusCode: res.StatusCode,
27930		},
27931	}
27932	target := &ret
27933	if err := gensupport.DecodeResponse(target, res); err != nil {
27934		return nil, err
27935	}
27936	return ret, nil
27937	// {
27938	//   "description": "Gets an HL7v2 message.",
27939	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
27940	//   "httpMethod": "GET",
27941	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get",
27942	//   "parameterOrder": [
27943	//     "name"
27944	//   ],
27945	//   "parameters": {
27946	//     "name": {
27947	//       "description": "The resource name of the HL7v2 message to retrieve.",
27948	//       "location": "path",
27949	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
27950	//       "required": true,
27951	//       "type": "string"
27952	//     },
27953	//     "view": {
27954	//       "description": "Specifies which parts of the Message resource to return in the response. When unspecified, equivalent to FULL.",
27955	//       "enum": [
27956	//         "MESSAGE_VIEW_UNSPECIFIED",
27957	//         "RAW_ONLY",
27958	//         "PARSED_ONLY",
27959	//         "FULL",
27960	//         "SCHEMATIZED_ONLY",
27961	//         "BASIC"
27962	//       ],
27963	//       "enumDescriptions": [
27964	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
27965	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
27966	//         "Server responses include all the message fields except data and schematized_data fields.",
27967	//         "Server responses include all the message fields.",
27968	//         "Server responses include all the message fields except data and parsed_data fields.",
27969	//         "Server responses include only the name field."
27970	//       ],
27971	//       "location": "query",
27972	//       "type": "string"
27973	//     }
27974	//   },
27975	//   "path": "v1beta1/{+name}",
27976	//   "response": {
27977	//     "$ref": "Message"
27978	//   },
27979	//   "scopes": [
27980	//     "https://www.googleapis.com/auth/cloud-platform"
27981	//   ]
27982	// }
27983
27984}
27985
27986// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest":
27987
27988type ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall struct {
27989	s                    *Service
27990	parent               string
27991	ingestmessagerequest *IngestMessageRequest
27992	urlParams_           gensupport.URLParams
27993	ctx_                 context.Context
27994	header_              http.Header
27995}
27996
27997// Ingest: Parses and stores an HL7v2 message. This method triggers an
27998// asynchronous notification to any Cloud Pub/Sub topic configured in
27999// projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if
28000// the filtering matches the message. If an MLLP adapter is configured
28001// to listen to a Cloud Pub/Sub topic, the adapter transmits the message
28002// when a notification is received. This method also generates a
28003// response containing an HL7v2 acknowledgement (`ACK`) message when
28004// successful or a negative acknowledgement (`NACK`) message in case of
28005// error, suitable for replying to HL7v2 interface systems that expect
28006// these acknowledgements.
28007func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Ingest(parent string, ingestmessagerequest *IngestMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28008	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28009	c.parent = parent
28010	c.ingestmessagerequest = ingestmessagerequest
28011	return c
28012}
28013
28014// Fields allows partial responses to be retrieved. See
28015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28016// for more information.
28017func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28019	return c
28020}
28021
28022// Context sets the context to be used in this call's Do method. Any
28023// pending HTTP request will be aborted if the provided context is
28024// canceled.
28025func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28026	c.ctx_ = ctx
28027	return c
28028}
28029
28030// Header returns an http.Header that can be modified by the caller to
28031// add HTTP headers to the request.
28032func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Header() http.Header {
28033	if c.header_ == nil {
28034		c.header_ = make(http.Header)
28035	}
28036	return c.header_
28037}
28038
28039func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
28040	reqHeaders := make(http.Header)
28041	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28042	for k, v := range c.header_ {
28043		reqHeaders[k] = v
28044	}
28045	reqHeaders.Set("User-Agent", c.s.userAgent())
28046	var body io.Reader = nil
28047	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ingestmessagerequest)
28048	if err != nil {
28049		return nil, err
28050	}
28051	reqHeaders.Set("Content-Type", "application/json")
28052	c.urlParams_.Set("alt", alt)
28053	c.urlParams_.Set("prettyPrint", "false")
28054	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:ingest")
28055	urls += "?" + c.urlParams_.Encode()
28056	req, err := http.NewRequest("POST", urls, body)
28057	if err != nil {
28058		return nil, err
28059	}
28060	req.Header = reqHeaders
28061	googleapi.Expand(req.URL, map[string]string{
28062		"parent": c.parent,
28063	})
28064	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28065}
28066
28067// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest" call.
28068// Exactly one of *IngestMessageResponse or error will be non-nil. Any
28069// non-2xx status code is an error. Response headers are in either
28070// *IngestMessageResponse.ServerResponse.Header or (if a response was
28071// returned at all) in error.(*googleapi.Error).Header. Use
28072// googleapi.IsNotModified to check whether the returned error was
28073// because http.StatusNotModified was returned.
28074func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Do(opts ...googleapi.CallOption) (*IngestMessageResponse, error) {
28075	gensupport.SetOptions(c.urlParams_, opts...)
28076	res, err := c.doRequest("json")
28077	if res != nil && res.StatusCode == http.StatusNotModified {
28078		if res.Body != nil {
28079			res.Body.Close()
28080		}
28081		return nil, &googleapi.Error{
28082			Code:   res.StatusCode,
28083			Header: res.Header,
28084		}
28085	}
28086	if err != nil {
28087		return nil, err
28088	}
28089	defer googleapi.CloseBody(res)
28090	if err := googleapi.CheckResponse(res); err != nil {
28091		return nil, err
28092	}
28093	ret := &IngestMessageResponse{
28094		ServerResponse: googleapi.ServerResponse{
28095			Header:         res.Header,
28096			HTTPStatusCode: res.StatusCode,
28097		},
28098	}
28099	target := &ret
28100	if err := gensupport.DecodeResponse(target, res); err != nil {
28101		return nil, err
28102	}
28103	return ret, nil
28104	// {
28105	//   "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Cloud Pub/Sub topic configured in projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Cloud Pub/Sub topic, the adapter transmits the message when a notification is received. This method also generates a response containing an HL7v2 acknowledgement (`ACK`) message when successful or a negative acknowledgement (`NACK`) message in case of error, suitable for replying to HL7v2 interface systems that expect these acknowledgements.",
28106	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest",
28107	//   "httpMethod": "POST",
28108	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest",
28109	//   "parameterOrder": [
28110	//     "parent"
28111	//   ],
28112	//   "parameters": {
28113	//     "parent": {
28114	//       "description": "The name of the HL7v2 store this message belongs to.",
28115	//       "location": "path",
28116	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28117	//       "required": true,
28118	//       "type": "string"
28119	//     }
28120	//   },
28121	//   "path": "v1beta1/{+parent}/messages:ingest",
28122	//   "request": {
28123	//     "$ref": "IngestMessageRequest"
28124	//   },
28125	//   "response": {
28126	//     "$ref": "IngestMessageResponse"
28127	//   },
28128	//   "scopes": [
28129	//     "https://www.googleapis.com/auth/cloud-platform"
28130	//   ]
28131	// }
28132
28133}
28134
28135// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.list":
28136
28137type ProjectsLocationsDatasetsHl7V2StoresMessagesListCall struct {
28138	s            *Service
28139	parent       string
28140	urlParams_   gensupport.URLParams
28141	ifNoneMatch_ string
28142	ctx_         context.Context
28143	header_      http.Header
28144}
28145
28146// List: Lists all the messages in the given HL7v2 store with support
28147// for filtering. Note: HL7v2 messages are indexed asynchronously, so
28148// there might be a slight delay between the time a message is created
28149// and when it can be found through a filter.
28150func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28151	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28152	c.parent = parent
28153	return c
28154}
28155
28156// Filter sets the optional parameter "filter": Restricts messages
28157// returned to those matching a filter. The following syntax is
28158// available: * A string field value can be written as text inside
28159// quotation marks, for example "query text". The only valid
28160// relational operation for text fields is equality (`=`), where text is
28161// searched within the field, rather than having the field be equal to
28162// the text. For example, "Comment = great" returns messages with
28163// `great` in the comment field. * A number field value can be written
28164// as an integer, a decimal, or an exponential. The valid relational
28165// operators for number fields are the equality operator (`=`), along
28166// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
28167// Note that there is no inequality (`!=`) operator. You can prepend the
28168// `NOT` operator to an expression to negate it. * A date field value
28169// must be written in `yyyy-mm-dd` form. Fields with date and time use
28170// the RFC3339 time format. Leading zeros are required for one-digit
28171// months and days. The valid relational operators for date fields are
28172// the equality operator (`=`) , along with the less than/greater than
28173// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
28174// (`!=`) operator. You can prepend the `NOT` operator to an expression
28175// to negate it. * Multiple field query expressions can be combined in
28176// one query by adding `AND` or `OR` operators between the expressions.
28177// If a boolean operator appears within a quoted string, it is not
28178// treated as special, it's just another part of the character string to
28179// be matched. You can prepend the `NOT` operator to an expression to
28180// negate it. Fields/functions available for filtering are: *
28181// `message_type`, from the MSH-9.1 field. For example, `NOT
28182// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
28183// date the message was sent in the dataset's time_zone, from the MSH-7
28184// segment. For example, `send_date < "2017-01-02". * `send_time`, the
28185// timestamp when the message was sent, using the RFC3339 time format
28186// for comparisons, from the MSH-7 segment. For example, `send_time <
28187// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
28188// message was created in the HL7v2 store. Use the RFC3339 time format
28189// for comparisons. For example, `create_time <
28190// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
28191// the message came from, from the MSH-4 segment. For example,
28192// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
28193// the message lists a patient having an ID of the given value and type
28194// in the PID-2, PID-3, or PID-4 segments. For example,
28195// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
28196// label with key `x` as set using the Message.labels map. For example,
28197// `labels."priority"="high". The operator `:*` can be used to assert
28198// the existence of a label. For example, `labels."priority":*`.
28199func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28200	c.urlParams_.Set("filter", filter)
28201	return c
28202}
28203
28204// OrderBy sets the optional parameter "orderBy": Orders messages
28205// returned by the specified order_by clause. Syntax:
28206// https://cloud.google.com/apis/design/design_patterns#sorting_order
28207// Fields available for ordering are: * `send_time`
28208func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28209	c.urlParams_.Set("orderBy", orderBy)
28210	return c
28211}
28212
28213// PageSize sets the optional parameter "pageSize": Limit on the number
28214// of messages to return in a single response. If not specified, 100 is
28215// used. May not be larger than 1000.
28216func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28217	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28218	return c
28219}
28220
28221// PageToken sets the optional parameter "pageToken": The
28222// next_page_token value returned from the previous List request, if
28223// any.
28224func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28225	c.urlParams_.Set("pageToken", pageToken)
28226	return c
28227}
28228
28229// View sets the optional parameter "view": Specifies the parts of the
28230// Message to return in the response. When unspecified, equivalent to
28231// BASIC. Setting this to anything other than BASIC with a `page_size`
28232// larger than the default can generate a large response, which impacts
28233// the performance of this method.
28234//
28235// Possible values:
28236//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28237// getMessage, equivalent to BASIC for listMessages.
28238//   "RAW_ONLY" - Server responses include all the message fields except
28239// parsed_data, and schematized_data fields.
28240//   "PARSED_ONLY" - Server responses include all the message fields
28241// except data and schematized_data fields.
28242//   "FULL" - Server responses include all the message fields.
28243//   "SCHEMATIZED_ONLY" - Server responses include all the message
28244// fields except data and parsed_data fields.
28245//   "BASIC" - Server responses include only the name field.
28246func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28247	c.urlParams_.Set("view", view)
28248	return c
28249}
28250
28251// Fields allows partial responses to be retrieved. See
28252// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28253// for more information.
28254func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28255	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28256	return c
28257}
28258
28259// IfNoneMatch sets the optional parameter which makes the operation
28260// fail if the object's ETag matches the given value. This is useful for
28261// getting updates only after the object has changed since the last
28262// request. Use googleapi.IsNotModified to check whether the response
28263// error from Do is the result of In-None-Match.
28264func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28265	c.ifNoneMatch_ = entityTag
28266	return c
28267}
28268
28269// Context sets the context to be used in this call's Do method. Any
28270// pending HTTP request will be aborted if the provided context is
28271// canceled.
28272func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28273	c.ctx_ = ctx
28274	return c
28275}
28276
28277// Header returns an http.Header that can be modified by the caller to
28278// add HTTP headers to the request.
28279func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Header() http.Header {
28280	if c.header_ == nil {
28281		c.header_ = make(http.Header)
28282	}
28283	return c.header_
28284}
28285
28286func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
28287	reqHeaders := make(http.Header)
28288	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28289	for k, v := range c.header_ {
28290		reqHeaders[k] = v
28291	}
28292	reqHeaders.Set("User-Agent", c.s.userAgent())
28293	if c.ifNoneMatch_ != "" {
28294		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28295	}
28296	var body io.Reader = nil
28297	c.urlParams_.Set("alt", alt)
28298	c.urlParams_.Set("prettyPrint", "false")
28299	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28300	urls += "?" + c.urlParams_.Encode()
28301	req, err := http.NewRequest("GET", urls, body)
28302	if err != nil {
28303		return nil, err
28304	}
28305	req.Header = reqHeaders
28306	googleapi.Expand(req.URL, map[string]string{
28307		"parent": c.parent,
28308	})
28309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28310}
28311
28312// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.list" call.
28313// Exactly one of *ListMessagesResponse or error will be non-nil. Any
28314// non-2xx status code is an error. Response headers are in either
28315// *ListMessagesResponse.ServerResponse.Header or (if a response was
28316// returned at all) in error.(*googleapi.Error).Header. Use
28317// googleapi.IsNotModified to check whether the returned error was
28318// because http.StatusNotModified was returned.
28319func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Do(opts ...googleapi.CallOption) (*ListMessagesResponse, error) {
28320	gensupport.SetOptions(c.urlParams_, opts...)
28321	res, err := c.doRequest("json")
28322	if res != nil && res.StatusCode == http.StatusNotModified {
28323		if res.Body != nil {
28324			res.Body.Close()
28325		}
28326		return nil, &googleapi.Error{
28327			Code:   res.StatusCode,
28328			Header: res.Header,
28329		}
28330	}
28331	if err != nil {
28332		return nil, err
28333	}
28334	defer googleapi.CloseBody(res)
28335	if err := googleapi.CheckResponse(res); err != nil {
28336		return nil, err
28337	}
28338	ret := &ListMessagesResponse{
28339		ServerResponse: googleapi.ServerResponse{
28340			Header:         res.Header,
28341			HTTPStatusCode: res.StatusCode,
28342		},
28343	}
28344	target := &ret
28345	if err := gensupport.DecodeResponse(target, res); err != nil {
28346		return nil, err
28347	}
28348	return ret, nil
28349	// {
28350	//   "description": "Lists all the messages in the given HL7v2 store with support for filtering. Note: HL7v2 messages are indexed asynchronously, so there might be a slight delay between the time a message is created and when it can be found through a filter.",
28351	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28352	//   "httpMethod": "GET",
28353	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list",
28354	//   "parameterOrder": [
28355	//     "parent"
28356	//   ],
28357	//   "parameters": {
28358	//     "filter": {
28359	//       "description": "Restricts messages returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `\"query text\"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `\"Comment = great\"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`\u003c`, `\u003c=`, `\u003e`, `\u003e=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. Fields/functions available for filtering are: * `message_type`, from the MSH-9.1 field. For example, `NOT message_type = \"ADT\"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in the dataset's time_zone, from the MSH-7 segment. For example, `send_date \u003c \"2017-01-02\"`. * `send_time`, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, `send_time \u003c \"2017-01-02T00:00:00-05:00\"`. * `create_time`, the timestamp when the message was created in the HL7v2 store. Use the RFC3339 time format for comparisons. For example, `create_time \u003c \"2017-01-02T00:00:00-05:00\"`. * `send_facility`, the care center that the message came from, from the MSH-4 segment. For example, `send_facility = \"ABC\"`. * `PatientId(value, type)`, which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId(\"123456\", \"MRN\")`. * `labels.x`, a string value of the label with key `x` as set using the Message.labels map. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used to assert the existence of a label. For example, `labels.\"priority\":*`.",
28360	//       "location": "query",
28361	//       "type": "string"
28362	//     },
28363	//     "orderBy": {
28364	//       "description": "Orders messages returned by the specified order_by clause. Syntax: https://cloud.google.com/apis/design/design_patterns#sorting_order Fields available for ordering are: * `send_time`",
28365	//       "location": "query",
28366	//       "type": "string"
28367	//     },
28368	//     "pageSize": {
28369	//       "description": "Limit on the number of messages to return in a single response. If not specified, 100 is used. May not be larger than 1000.",
28370	//       "format": "int32",
28371	//       "location": "query",
28372	//       "type": "integer"
28373	//     },
28374	//     "pageToken": {
28375	//       "description": "The next_page_token value returned from the previous List request, if any.",
28376	//       "location": "query",
28377	//       "type": "string"
28378	//     },
28379	//     "parent": {
28380	//       "description": "Name of the HL7v2 store to retrieve messages from.",
28381	//       "location": "path",
28382	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28383	//       "required": true,
28384	//       "type": "string"
28385	//     },
28386	//     "view": {
28387	//       "description": "Specifies the parts of the Message to return in the response. When unspecified, equivalent to BASIC. Setting this to anything other than BASIC with a `page_size` larger than the default can generate a large response, which impacts the performance of this method.",
28388	//       "enum": [
28389	//         "MESSAGE_VIEW_UNSPECIFIED",
28390	//         "RAW_ONLY",
28391	//         "PARSED_ONLY",
28392	//         "FULL",
28393	//         "SCHEMATIZED_ONLY",
28394	//         "BASIC"
28395	//       ],
28396	//       "enumDescriptions": [
28397	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28398	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28399	//         "Server responses include all the message fields except data and schematized_data fields.",
28400	//         "Server responses include all the message fields.",
28401	//         "Server responses include all the message fields except data and parsed_data fields.",
28402	//         "Server responses include only the name field."
28403	//       ],
28404	//       "location": "query",
28405	//       "type": "string"
28406	//     }
28407	//   },
28408	//   "path": "v1beta1/{+parent}/messages",
28409	//   "response": {
28410	//     "$ref": "ListMessagesResponse"
28411	//   },
28412	//   "scopes": [
28413	//     "https://www.googleapis.com/auth/cloud-platform"
28414	//   ]
28415	// }
28416
28417}
28418
28419// Pages invokes f for each page of results.
28420// A non-nil error returned from f will halt the iteration.
28421// The provided context supersedes any context provided to the Context method.
28422func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Pages(ctx context.Context, f func(*ListMessagesResponse) error) error {
28423	c.ctx_ = ctx
28424	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28425	for {
28426		x, err := c.Do()
28427		if err != nil {
28428			return err
28429		}
28430		if err := f(x); err != nil {
28431			return err
28432		}
28433		if x.NextPageToken == "" {
28434			return nil
28435		}
28436		c.PageToken(x.NextPageToken)
28437	}
28438}
28439
28440// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch":
28441
28442type ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall struct {
28443	s          *Service
28444	name       string
28445	message    *Message
28446	urlParams_ gensupport.URLParams
28447	ctx_       context.Context
28448	header_    http.Header
28449}
28450
28451// Patch: Update the message. The contents of the message in
28452// Message.data and data extracted from the contents such as
28453// Message.create_time can't be altered. Only the Message.labels field
28454// is allowed to be updated. The labels in the request are merged with
28455// the existing set of labels. Existing labels with the same keys are
28456// updated.
28457func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Patch(name string, message *Message) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
28458	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28459	c.name = name
28460	c.message = message
28461	return c
28462}
28463
28464// UpdateMask sets the optional parameter "updateMask": The update mask
28465// applies to the resource. For the `FieldMask` definition, see
28466// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
28467func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
28468	c.urlParams_.Set("updateMask", updateMask)
28469	return c
28470}
28471
28472// Fields allows partial responses to be retrieved. See
28473// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28474// for more information.
28475func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
28476	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28477	return c
28478}
28479
28480// Context sets the context to be used in this call's Do method. Any
28481// pending HTTP request will be aborted if the provided context is
28482// canceled.
28483func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
28484	c.ctx_ = ctx
28485	return c
28486}
28487
28488// Header returns an http.Header that can be modified by the caller to
28489// add HTTP headers to the request.
28490func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Header() http.Header {
28491	if c.header_ == nil {
28492		c.header_ = make(http.Header)
28493	}
28494	return c.header_
28495}
28496
28497func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
28498	reqHeaders := make(http.Header)
28499	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28500	for k, v := range c.header_ {
28501		reqHeaders[k] = v
28502	}
28503	reqHeaders.Set("User-Agent", c.s.userAgent())
28504	var body io.Reader = nil
28505	body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
28506	if err != nil {
28507		return nil, err
28508	}
28509	reqHeaders.Set("Content-Type", "application/json")
28510	c.urlParams_.Set("alt", alt)
28511	c.urlParams_.Set("prettyPrint", "false")
28512	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28513	urls += "?" + c.urlParams_.Encode()
28514	req, err := http.NewRequest("PATCH", urls, body)
28515	if err != nil {
28516		return nil, err
28517	}
28518	req.Header = reqHeaders
28519	googleapi.Expand(req.URL, map[string]string{
28520		"name": c.name,
28521	})
28522	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28523}
28524
28525// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch" call.
28526// Exactly one of *Message or error will be non-nil. Any non-2xx status
28527// code is an error. Response headers are in either
28528// *Message.ServerResponse.Header or (if a response was returned at all)
28529// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28530// check whether the returned error was because http.StatusNotModified
28531// was returned.
28532func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28533	gensupport.SetOptions(c.urlParams_, opts...)
28534	res, err := c.doRequest("json")
28535	if res != nil && res.StatusCode == http.StatusNotModified {
28536		if res.Body != nil {
28537			res.Body.Close()
28538		}
28539		return nil, &googleapi.Error{
28540			Code:   res.StatusCode,
28541			Header: res.Header,
28542		}
28543	}
28544	if err != nil {
28545		return nil, err
28546	}
28547	defer googleapi.CloseBody(res)
28548	if err := googleapi.CheckResponse(res); err != nil {
28549		return nil, err
28550	}
28551	ret := &Message{
28552		ServerResponse: googleapi.ServerResponse{
28553			Header:         res.Header,
28554			HTTPStatusCode: res.StatusCode,
28555		},
28556	}
28557	target := &ret
28558	if err := gensupport.DecodeResponse(target, res); err != nil {
28559		return nil, err
28560	}
28561	return ret, nil
28562	// {
28563	//   "description": "Update the message. The contents of the message in Message.data and data extracted from the contents such as Message.create_time can't be altered. Only the Message.labels field is allowed to be updated. The labels in the request are merged with the existing set of labels. Existing labels with the same keys are updated.",
28564	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28565	//   "httpMethod": "PATCH",
28566	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch",
28567	//   "parameterOrder": [
28568	//     "name"
28569	//   ],
28570	//   "parameters": {
28571	//     "name": {
28572	//       "description": "Resource name of the Message, of the form `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.",
28573	//       "location": "path",
28574	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28575	//       "required": true,
28576	//       "type": "string"
28577	//     },
28578	//     "updateMask": {
28579	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
28580	//       "format": "google-fieldmask",
28581	//       "location": "query",
28582	//       "type": "string"
28583	//     }
28584	//   },
28585	//   "path": "v1beta1/{+name}",
28586	//   "request": {
28587	//     "$ref": "Message"
28588	//   },
28589	//   "response": {
28590	//     "$ref": "Message"
28591	//   },
28592	//   "scopes": [
28593	//     "https://www.googleapis.com/auth/cloud-platform"
28594	//   ]
28595	// }
28596
28597}
28598
28599// method id "healthcare.projects.locations.datasets.operations.cancel":
28600
28601type ProjectsLocationsDatasetsOperationsCancelCall struct {
28602	s                      *Service
28603	name                   string
28604	canceloperationrequest *CancelOperationRequest
28605	urlParams_             gensupport.URLParams
28606	ctx_                   context.Context
28607	header_                http.Header
28608}
28609
28610// Cancel: Starts asynchronous cancellation on a long-running operation.
28611// The server makes a best effort to cancel the operation, but success
28612// is not guaranteed. If the server doesn't support this method, it
28613// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
28614// Operations.GetOperation or other methods to check whether the
28615// cancellation succeeded or whether the operation completed despite
28616// cancellation. On successful cancellation, the operation is not
28617// deleted; instead, it becomes an operation with an Operation.error
28618// value with a google.rpc.Status.code of 1, corresponding to
28619// `Code.CANCELLED`.
28620func (r *ProjectsLocationsDatasetsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsDatasetsOperationsCancelCall {
28621	c := &ProjectsLocationsDatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28622	c.name = name
28623	c.canceloperationrequest = canceloperationrequest
28624	return c
28625}
28626
28627// Fields allows partial responses to be retrieved. See
28628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28629// for more information.
28630func (c *ProjectsLocationsDatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsCancelCall {
28631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28632	return c
28633}
28634
28635// Context sets the context to be used in this call's Do method. Any
28636// pending HTTP request will be aborted if the provided context is
28637// canceled.
28638func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
28639	c.ctx_ = ctx
28640	return c
28641}
28642
28643// Header returns an http.Header that can be modified by the caller to
28644// add HTTP headers to the request.
28645func (c *ProjectsLocationsDatasetsOperationsCancelCall) Header() http.Header {
28646	if c.header_ == nil {
28647		c.header_ = make(http.Header)
28648	}
28649	return c.header_
28650}
28651
28652func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
28653	reqHeaders := make(http.Header)
28654	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28655	for k, v := range c.header_ {
28656		reqHeaders[k] = v
28657	}
28658	reqHeaders.Set("User-Agent", c.s.userAgent())
28659	var body io.Reader = nil
28660	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
28661	if err != nil {
28662		return nil, err
28663	}
28664	reqHeaders.Set("Content-Type", "application/json")
28665	c.urlParams_.Set("alt", alt)
28666	c.urlParams_.Set("prettyPrint", "false")
28667	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
28668	urls += "?" + c.urlParams_.Encode()
28669	req, err := http.NewRequest("POST", urls, body)
28670	if err != nil {
28671		return nil, err
28672	}
28673	req.Header = reqHeaders
28674	googleapi.Expand(req.URL, map[string]string{
28675		"name": c.name,
28676	})
28677	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28678}
28679
28680// Do executes the "healthcare.projects.locations.datasets.operations.cancel" call.
28681// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28682// code is an error. Response headers are in either
28683// *Empty.ServerResponse.Header or (if a response was returned at all)
28684// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28685// check whether the returned error was because http.StatusNotModified
28686// was returned.
28687func (c *ProjectsLocationsDatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28688	gensupport.SetOptions(c.urlParams_, opts...)
28689	res, err := c.doRequest("json")
28690	if res != nil && res.StatusCode == http.StatusNotModified {
28691		if res.Body != nil {
28692			res.Body.Close()
28693		}
28694		return nil, &googleapi.Error{
28695			Code:   res.StatusCode,
28696			Header: res.Header,
28697		}
28698	}
28699	if err != nil {
28700		return nil, err
28701	}
28702	defer googleapi.CloseBody(res)
28703	if err := googleapi.CheckResponse(res); err != nil {
28704		return nil, err
28705	}
28706	ret := &Empty{
28707		ServerResponse: googleapi.ServerResponse{
28708			Header:         res.Header,
28709			HTTPStatusCode: res.StatusCode,
28710		},
28711	}
28712	target := &ret
28713	if err := gensupport.DecodeResponse(target, res); err != nil {
28714		return nil, err
28715	}
28716	return ret, nil
28717	// {
28718	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
28719	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
28720	//   "httpMethod": "POST",
28721	//   "id": "healthcare.projects.locations.datasets.operations.cancel",
28722	//   "parameterOrder": [
28723	//     "name"
28724	//   ],
28725	//   "parameters": {
28726	//     "name": {
28727	//       "description": "The name of the operation resource to be cancelled.",
28728	//       "location": "path",
28729	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
28730	//       "required": true,
28731	//       "type": "string"
28732	//     }
28733	//   },
28734	//   "path": "v1beta1/{+name}:cancel",
28735	//   "request": {
28736	//     "$ref": "CancelOperationRequest"
28737	//   },
28738	//   "response": {
28739	//     "$ref": "Empty"
28740	//   },
28741	//   "scopes": [
28742	//     "https://www.googleapis.com/auth/cloud-platform"
28743	//   ]
28744	// }
28745
28746}
28747
28748// method id "healthcare.projects.locations.datasets.operations.get":
28749
28750type ProjectsLocationsDatasetsOperationsGetCall struct {
28751	s            *Service
28752	name         string
28753	urlParams_   gensupport.URLParams
28754	ifNoneMatch_ string
28755	ctx_         context.Context
28756	header_      http.Header
28757}
28758
28759// Get: Gets the latest state of a long-running operation. Clients can
28760// use this method to poll the operation result at intervals as
28761// recommended by the API service.
28762func (r *ProjectsLocationsDatasetsOperationsService) Get(name string) *ProjectsLocationsDatasetsOperationsGetCall {
28763	c := &ProjectsLocationsDatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28764	c.name = name
28765	return c
28766}
28767
28768// Fields allows partial responses to be retrieved. See
28769// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28770// for more information.
28771func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
28772	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28773	return c
28774}
28775
28776// IfNoneMatch sets the optional parameter which makes the operation
28777// fail if the object's ETag matches the given value. This is useful for
28778// getting updates only after the object has changed since the last
28779// request. Use googleapi.IsNotModified to check whether the response
28780// error from Do is the result of In-None-Match.
28781func (c *ProjectsLocationsDatasetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsGetCall {
28782	c.ifNoneMatch_ = entityTag
28783	return c
28784}
28785
28786// Context sets the context to be used in this call's Do method. Any
28787// pending HTTP request will be aborted if the provided context is
28788// canceled.
28789func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
28790	c.ctx_ = ctx
28791	return c
28792}
28793
28794// Header returns an http.Header that can be modified by the caller to
28795// add HTTP headers to the request.
28796func (c *ProjectsLocationsDatasetsOperationsGetCall) Header() http.Header {
28797	if c.header_ == nil {
28798		c.header_ = make(http.Header)
28799	}
28800	return c.header_
28801}
28802
28803func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
28804	reqHeaders := make(http.Header)
28805	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28806	for k, v := range c.header_ {
28807		reqHeaders[k] = v
28808	}
28809	reqHeaders.Set("User-Agent", c.s.userAgent())
28810	if c.ifNoneMatch_ != "" {
28811		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28812	}
28813	var body io.Reader = nil
28814	c.urlParams_.Set("alt", alt)
28815	c.urlParams_.Set("prettyPrint", "false")
28816	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28817	urls += "?" + c.urlParams_.Encode()
28818	req, err := http.NewRequest("GET", urls, body)
28819	if err != nil {
28820		return nil, err
28821	}
28822	req.Header = reqHeaders
28823	googleapi.Expand(req.URL, map[string]string{
28824		"name": c.name,
28825	})
28826	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28827}
28828
28829// Do executes the "healthcare.projects.locations.datasets.operations.get" call.
28830// Exactly one of *Operation or error will be non-nil. Any non-2xx
28831// status code is an error. Response headers are in either
28832// *Operation.ServerResponse.Header or (if a response was returned at
28833// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28834// to check whether the returned error was because
28835// http.StatusNotModified was returned.
28836func (c *ProjectsLocationsDatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
28837	gensupport.SetOptions(c.urlParams_, opts...)
28838	res, err := c.doRequest("json")
28839	if res != nil && res.StatusCode == http.StatusNotModified {
28840		if res.Body != nil {
28841			res.Body.Close()
28842		}
28843		return nil, &googleapi.Error{
28844			Code:   res.StatusCode,
28845			Header: res.Header,
28846		}
28847	}
28848	if err != nil {
28849		return nil, err
28850	}
28851	defer googleapi.CloseBody(res)
28852	if err := googleapi.CheckResponse(res); err != nil {
28853		return nil, err
28854	}
28855	ret := &Operation{
28856		ServerResponse: googleapi.ServerResponse{
28857			Header:         res.Header,
28858			HTTPStatusCode: res.StatusCode,
28859		},
28860	}
28861	target := &ret
28862	if err := gensupport.DecodeResponse(target, res); err != nil {
28863		return nil, err
28864	}
28865	return ret, nil
28866	// {
28867	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
28868	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
28869	//   "httpMethod": "GET",
28870	//   "id": "healthcare.projects.locations.datasets.operations.get",
28871	//   "parameterOrder": [
28872	//     "name"
28873	//   ],
28874	//   "parameters": {
28875	//     "name": {
28876	//       "description": "The name of the operation resource.",
28877	//       "location": "path",
28878	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
28879	//       "required": true,
28880	//       "type": "string"
28881	//     }
28882	//   },
28883	//   "path": "v1beta1/{+name}",
28884	//   "response": {
28885	//     "$ref": "Operation"
28886	//   },
28887	//   "scopes": [
28888	//     "https://www.googleapis.com/auth/cloud-platform"
28889	//   ]
28890	// }
28891
28892}
28893
28894// method id "healthcare.projects.locations.datasets.operations.list":
28895
28896type ProjectsLocationsDatasetsOperationsListCall struct {
28897	s            *Service
28898	name         string
28899	urlParams_   gensupport.URLParams
28900	ifNoneMatch_ string
28901	ctx_         context.Context
28902	header_      http.Header
28903}
28904
28905// List: Lists operations that match the specified filter in the
28906// request. If the server doesn't support this method, it returns
28907// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
28908// override the binding to use different resource name schemes, such as
28909// `users/*/operations`. To override the binding, API services can add a
28910// binding such as "/v1/{name=users/*}/operations" to their service
28911// configuration. For backwards compatibility, the default name includes
28912// the operations collection id, however overriding users must ensure
28913// the name binding is the parent resource, without the operations
28914// collection id.
28915func (r *ProjectsLocationsDatasetsOperationsService) List(name string) *ProjectsLocationsDatasetsOperationsListCall {
28916	c := &ProjectsLocationsDatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28917	c.name = name
28918	return c
28919}
28920
28921// Filter sets the optional parameter "filter": The standard list
28922// filter.
28923func (c *ProjectsLocationsDatasetsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsOperationsListCall {
28924	c.urlParams_.Set("filter", filter)
28925	return c
28926}
28927
28928// PageSize sets the optional parameter "pageSize": The standard list
28929// page size.
28930func (c *ProjectsLocationsDatasetsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsOperationsListCall {
28931	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28932	return c
28933}
28934
28935// PageToken sets the optional parameter "pageToken": The standard list
28936// page token.
28937func (c *ProjectsLocationsDatasetsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsOperationsListCall {
28938	c.urlParams_.Set("pageToken", pageToken)
28939	return c
28940}
28941
28942// Fields allows partial responses to be retrieved. See
28943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28944// for more information.
28945func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
28946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28947	return c
28948}
28949
28950// IfNoneMatch sets the optional parameter which makes the operation
28951// fail if the object's ETag matches the given value. This is useful for
28952// getting updates only after the object has changed since the last
28953// request. Use googleapi.IsNotModified to check whether the response
28954// error from Do is the result of In-None-Match.
28955func (c *ProjectsLocationsDatasetsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsListCall {
28956	c.ifNoneMatch_ = entityTag
28957	return c
28958}
28959
28960// Context sets the context to be used in this call's Do method. Any
28961// pending HTTP request will be aborted if the provided context is
28962// canceled.
28963func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
28964	c.ctx_ = ctx
28965	return c
28966}
28967
28968// Header returns an http.Header that can be modified by the caller to
28969// add HTTP headers to the request.
28970func (c *ProjectsLocationsDatasetsOperationsListCall) Header() http.Header {
28971	if c.header_ == nil {
28972		c.header_ = make(http.Header)
28973	}
28974	return c.header_
28975}
28976
28977func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
28978	reqHeaders := make(http.Header)
28979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
28980	for k, v := range c.header_ {
28981		reqHeaders[k] = v
28982	}
28983	reqHeaders.Set("User-Agent", c.s.userAgent())
28984	if c.ifNoneMatch_ != "" {
28985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28986	}
28987	var body io.Reader = nil
28988	c.urlParams_.Set("alt", alt)
28989	c.urlParams_.Set("prettyPrint", "false")
28990	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations")
28991	urls += "?" + c.urlParams_.Encode()
28992	req, err := http.NewRequest("GET", urls, body)
28993	if err != nil {
28994		return nil, err
28995	}
28996	req.Header = reqHeaders
28997	googleapi.Expand(req.URL, map[string]string{
28998		"name": c.name,
28999	})
29000	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29001}
29002
29003// Do executes the "healthcare.projects.locations.datasets.operations.list" call.
29004// Exactly one of *ListOperationsResponse or error will be non-nil. Any
29005// non-2xx status code is an error. Response headers are in either
29006// *ListOperationsResponse.ServerResponse.Header or (if a response was
29007// returned at all) in error.(*googleapi.Error).Header. Use
29008// googleapi.IsNotModified to check whether the returned error was
29009// because http.StatusNotModified was returned.
29010func (c *ProjectsLocationsDatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
29011	gensupport.SetOptions(c.urlParams_, opts...)
29012	res, err := c.doRequest("json")
29013	if res != nil && res.StatusCode == http.StatusNotModified {
29014		if res.Body != nil {
29015			res.Body.Close()
29016		}
29017		return nil, &googleapi.Error{
29018			Code:   res.StatusCode,
29019			Header: res.Header,
29020		}
29021	}
29022	if err != nil {
29023		return nil, err
29024	}
29025	defer googleapi.CloseBody(res)
29026	if err := googleapi.CheckResponse(res); err != nil {
29027		return nil, err
29028	}
29029	ret := &ListOperationsResponse{
29030		ServerResponse: googleapi.ServerResponse{
29031			Header:         res.Header,
29032			HTTPStatusCode: res.StatusCode,
29033		},
29034	}
29035	target := &ret
29036	if err := gensupport.DecodeResponse(target, res); err != nil {
29037		return nil, err
29038	}
29039	return ret, nil
29040	// {
29041	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
29042	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
29043	//   "httpMethod": "GET",
29044	//   "id": "healthcare.projects.locations.datasets.operations.list",
29045	//   "parameterOrder": [
29046	//     "name"
29047	//   ],
29048	//   "parameters": {
29049	//     "filter": {
29050	//       "description": "The standard list filter.",
29051	//       "location": "query",
29052	//       "type": "string"
29053	//     },
29054	//     "name": {
29055	//       "description": "The name of the operation's parent resource.",
29056	//       "location": "path",
29057	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
29058	//       "required": true,
29059	//       "type": "string"
29060	//     },
29061	//     "pageSize": {
29062	//       "description": "The standard list page size.",
29063	//       "format": "int32",
29064	//       "location": "query",
29065	//       "type": "integer"
29066	//     },
29067	//     "pageToken": {
29068	//       "description": "The standard list page token.",
29069	//       "location": "query",
29070	//       "type": "string"
29071	//     }
29072	//   },
29073	//   "path": "v1beta1/{+name}/operations",
29074	//   "response": {
29075	//     "$ref": "ListOperationsResponse"
29076	//   },
29077	//   "scopes": [
29078	//     "https://www.googleapis.com/auth/cloud-platform"
29079	//   ]
29080	// }
29081
29082}
29083
29084// Pages invokes f for each page of results.
29085// A non-nil error returned from f will halt the iteration.
29086// The provided context supersedes any context provided to the Context method.
29087func (c *ProjectsLocationsDatasetsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
29088	c.ctx_ = ctx
29089	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29090	for {
29091		x, err := c.Do()
29092		if err != nil {
29093			return err
29094		}
29095		if err := f(x); err != nil {
29096			return err
29097		}
29098		if x.NextPageToken == "" {
29099			return nil
29100		}
29101		c.PageToken(x.NextPageToken)
29102	}
29103}
29104
29105// method id "healthcare.projects.locations.services.nlp.analyzeEntities":
29106
29107type ProjectsLocationsServicesNlpAnalyzeEntitiesCall struct {
29108	s                      *Service
29109	nlpService             string
29110	analyzeentitiesrequest *AnalyzeEntitiesRequest
29111	urlParams_             gensupport.URLParams
29112	ctx_                   context.Context
29113	header_                http.Header
29114}
29115
29116// AnalyzeEntities: Analyze heathcare entity in a document. Its response
29117// includes the recognized entity mentions and the relationships between
29118// them. AnalyzeEntities uses context aware models to detect entities.
29119func (r *ProjectsLocationsServicesNlpService) AnalyzeEntities(nlpService string, analyzeentitiesrequest *AnalyzeEntitiesRequest) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29120	c := &ProjectsLocationsServicesNlpAnalyzeEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29121	c.nlpService = nlpService
29122	c.analyzeentitiesrequest = analyzeentitiesrequest
29123	return c
29124}
29125
29126// Fields allows partial responses to be retrieved. See
29127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29128// for more information.
29129func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29131	return c
29132}
29133
29134// Context sets the context to be used in this call's Do method. Any
29135// pending HTTP request will be aborted if the provided context is
29136// canceled.
29137func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Context(ctx context.Context) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29138	c.ctx_ = ctx
29139	return c
29140}
29141
29142// Header returns an http.Header that can be modified by the caller to
29143// add HTTP headers to the request.
29144func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Header() http.Header {
29145	if c.header_ == nil {
29146		c.header_ = make(http.Header)
29147	}
29148	return c.header_
29149}
29150
29151func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
29152	reqHeaders := make(http.Header)
29153	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322")
29154	for k, v := range c.header_ {
29155		reqHeaders[k] = v
29156	}
29157	reqHeaders.Set("User-Agent", c.s.userAgent())
29158	var body io.Reader = nil
29159	body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzeentitiesrequest)
29160	if err != nil {
29161		return nil, err
29162	}
29163	reqHeaders.Set("Content-Type", "application/json")
29164	c.urlParams_.Set("alt", alt)
29165	c.urlParams_.Set("prettyPrint", "false")
29166	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+nlpService}:analyzeEntities")
29167	urls += "?" + c.urlParams_.Encode()
29168	req, err := http.NewRequest("POST", urls, body)
29169	if err != nil {
29170		return nil, err
29171	}
29172	req.Header = reqHeaders
29173	googleapi.Expand(req.URL, map[string]string{
29174		"nlpService": c.nlpService,
29175	})
29176	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29177}
29178
29179// Do executes the "healthcare.projects.locations.services.nlp.analyzeEntities" call.
29180// Exactly one of *AnalyzeEntitiesResponse or error will be non-nil. Any
29181// non-2xx status code is an error. Response headers are in either
29182// *AnalyzeEntitiesResponse.ServerResponse.Header or (if a response was
29183// returned at all) in error.(*googleapi.Error).Header. Use
29184// googleapi.IsNotModified to check whether the returned error was
29185// because http.StatusNotModified was returned.
29186func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*AnalyzeEntitiesResponse, error) {
29187	gensupport.SetOptions(c.urlParams_, opts...)
29188	res, err := c.doRequest("json")
29189	if res != nil && res.StatusCode == http.StatusNotModified {
29190		if res.Body != nil {
29191			res.Body.Close()
29192		}
29193		return nil, &googleapi.Error{
29194			Code:   res.StatusCode,
29195			Header: res.Header,
29196		}
29197	}
29198	if err != nil {
29199		return nil, err
29200	}
29201	defer googleapi.CloseBody(res)
29202	if err := googleapi.CheckResponse(res); err != nil {
29203		return nil, err
29204	}
29205	ret := &AnalyzeEntitiesResponse{
29206		ServerResponse: googleapi.ServerResponse{
29207			Header:         res.Header,
29208			HTTPStatusCode: res.StatusCode,
29209		},
29210	}
29211	target := &ret
29212	if err := gensupport.DecodeResponse(target, res); err != nil {
29213		return nil, err
29214	}
29215	return ret, nil
29216	// {
29217	//   "description": "Analyze heathcare entity in a document. Its response includes the recognized entity mentions and the relationships between them. AnalyzeEntities uses context aware models to detect entities.",
29218	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/services/nlp:analyzeEntities",
29219	//   "httpMethod": "POST",
29220	//   "id": "healthcare.projects.locations.services.nlp.analyzeEntities",
29221	//   "parameterOrder": [
29222	//     "nlpService"
29223	//   ],
29224	//   "parameters": {
29225	//     "nlpService": {
29226	//       "description": "The resource name of the service of the form: \"projects/{project_id}/locations/{location_id}/services/nlp\".",
29227	//       "location": "path",
29228	//       "pattern": "^projects/[^/]+/locations/[^/]+/services/nlp$",
29229	//       "required": true,
29230	//       "type": "string"
29231	//     }
29232	//   },
29233	//   "path": "v1beta1/{+nlpService}:analyzeEntities",
29234	//   "request": {
29235	//     "$ref": "AnalyzeEntitiesRequest"
29236	//   },
29237	//   "response": {
29238	//     "$ref": "AnalyzeEntitiesResponse"
29239	//   },
29240	//   "scopes": [
29241	//     "https://www.googleapis.com/auth/cloud-platform"
29242	//   ]
29243	// }
29244
29245}
29246