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	// See, edit, configure, and delete your Google Cloud Platform data
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 Pub/Sub notifications.
2751	// Those IDs can also be contained in reference fields within other
2752	// 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 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 if existing data in the destination
3130	// dataset is overwritten, appended to, or not written if the tables
3131	// contain data. If a write_disposition is specified, the `force`
3132	// parameter is ignored.
3133	//
3134	// Possible values:
3135	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3136	// WRITE_EMPTY.
3137	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3138	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3139	// writing the instances.
3140	//   "WRITE_APPEND" - Append data to the existing table.
3141	WriteDisposition string `json:"writeDisposition,omitempty"`
3142
3143	// ForceSendFields is a list of field names (e.g. "Force") to
3144	// unconditionally include in API requests. By default, fields with
3145	// empty values are omitted from API requests. However, any non-pointer,
3146	// non-interface field appearing in ForceSendFields will be sent to the
3147	// server regardless of whether the field is empty or not. This may be
3148	// used to include empty fields in Patch requests.
3149	ForceSendFields []string `json:"-"`
3150
3151	// NullFields is a list of field names (e.g. "Force") to include in API
3152	// requests with the JSON null value. By default, fields with empty
3153	// values are omitted from API requests. However, any field with an
3154	// empty value appearing in NullFields will be sent to the server as
3155	// null. It is an error if a field in this list has a non-empty value.
3156	// This may be used to include null fields in Patch requests.
3157	NullFields []string `json:"-"`
3158}
3159
3160func (s *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination) MarshalJSON() ([]byte, error) {
3161	type NoMethod GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination
3162	raw := NoMethod(*s)
3163	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3164}
3165
3166// GoogleCloudHealthcareV1beta1AnnotationGcsDestination: The Cloud
3167// Storage location for export.
3168type GoogleCloudHealthcareV1beta1AnnotationGcsDestination struct {
3169	// UriPrefix: The Cloud Storage destination to export to. URI for a
3170	// Cloud Storage directory where the server writes result files, in the
3171	// format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no
3172	// trailing slash, the service appends one when composing the object
3173	// path. The user is responsible for creating the Cloud Storage bucket
3174	// referenced in `uri_prefix`.
3175	UriPrefix string `json:"uriPrefix,omitempty"`
3176
3177	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3178	// unconditionally include in API requests. By default, fields with
3179	// empty values are omitted from API requests. However, any non-pointer,
3180	// non-interface field appearing in ForceSendFields will be sent to the
3181	// server regardless of whether the field is empty or not. This may be
3182	// used to include empty fields in Patch requests.
3183	ForceSendFields []string `json:"-"`
3184
3185	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3186	// API requests with the JSON null value. By default, fields with empty
3187	// values are omitted from API requests. However, any field with an
3188	// empty value appearing in NullFields will be sent to the server as
3189	// null. It is an error if a field in this list has a non-empty value.
3190	// This may be used to include null fields in Patch requests.
3191	NullFields []string `json:"-"`
3192}
3193
3194func (s *GoogleCloudHealthcareV1beta1AnnotationGcsDestination) MarshalJSON() ([]byte, error) {
3195	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsDestination
3196	raw := NoMethod(*s)
3197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3198}
3199
3200// GoogleCloudHealthcareV1beta1AnnotationGcsSource: Specifies the
3201// configuration for importing data from Cloud Storage.
3202type GoogleCloudHealthcareV1beta1AnnotationGcsSource struct {
3203	// Uri: Points to a Cloud Storage URI containing file(s) with content
3204	// only. The URI must be in the following format:
3205	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3206	// `object_id` and thus identify multiple files. Supported wildcards:
3207	// '*' to match 0 or more non-separator characters '**' to match 0 or
3208	// more characters (including separators). Must be used at the end of a
3209	// path and with no other wildcards in the path. Can also be used with a
3210	// file extension (such as .dcm), which imports all files with the
3211	// extension in the specified directory and its sub-directories. For
3212	// example, `gs://my-bucket/my-directory/**.json` imports all files with
3213	// .json extensions in `my-directory/` and its sub-directories. '?' to
3214	// match 1 character All other URI formats are invalid. Files matching
3215	// the wildcard are expected to contain content only, no metadata.
3216	Uri string `json:"uri,omitempty"`
3217
3218	// ForceSendFields is a list of field names (e.g. "Uri") to
3219	// unconditionally include in API requests. By default, fields with
3220	// empty values are omitted from API requests. However, any non-pointer,
3221	// non-interface field appearing in ForceSendFields will be sent to the
3222	// server regardless of whether the field is empty or not. This may be
3223	// used to include empty fields in Patch requests.
3224	ForceSendFields []string `json:"-"`
3225
3226	// NullFields is a list of field names (e.g. "Uri") to include in API
3227	// requests with the JSON null value. By default, fields with empty
3228	// values are omitted from API requests. However, any field with an
3229	// empty value appearing in NullFields will be sent to the server as
3230	// null. It is an error if a field in this list has a non-empty value.
3231	// This may be used to include null fields in Patch requests.
3232	NullFields []string `json:"-"`
3233}
3234
3235func (s *GoogleCloudHealthcareV1beta1AnnotationGcsSource) MarshalJSON() ([]byte, error) {
3236	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsSource
3237	raw := NoMethod(*s)
3238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3239}
3240
3241// GoogleCloudHealthcareV1beta1ConsentGcsDestination: The Cloud Storage
3242// location for export.
3243type GoogleCloudHealthcareV1beta1ConsentGcsDestination struct {
3244	// UriPrefix: URI for a Cloud Storage directory where the server writes
3245	// result files, in the format
3246	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3247	// slash, the service appends one when composing the object path. The
3248	// user is responsible for creating the Cloud Storage bucket and
3249	// directory referenced in `uri_prefix`.
3250	UriPrefix string `json:"uriPrefix,omitempty"`
3251
3252	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3253	// unconditionally include in API requests. By default, fields with
3254	// empty values are omitted from API requests. However, any non-pointer,
3255	// non-interface field appearing in ForceSendFields will be sent to the
3256	// server regardless of whether the field is empty or not. This may be
3257	// used to include empty fields in Patch requests.
3258	ForceSendFields []string `json:"-"`
3259
3260	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3261	// API requests with the JSON null value. By default, fields with empty
3262	// values are omitted from API requests. However, any field with an
3263	// empty value appearing in NullFields will be sent to the server as
3264	// null. It is an error if a field in this list has a non-empty value.
3265	// This may be used to include null fields in Patch requests.
3266	NullFields []string `json:"-"`
3267}
3268
3269func (s *GoogleCloudHealthcareV1beta1ConsentGcsDestination) MarshalJSON() ([]byte, error) {
3270	type NoMethod GoogleCloudHealthcareV1beta1ConsentGcsDestination
3271	raw := NoMethod(*s)
3272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3273}
3274
3275// GoogleCloudHealthcareV1beta1ConsentPolicy: Represents a user's
3276// consent in terms of the resources that can be accessed and under what
3277// conditions.
3278type GoogleCloudHealthcareV1beta1ConsentPolicy struct {
3279	// AuthorizationRule: Required. The request conditions to meet to grant
3280	// access. In addition to any supported comparison operators,
3281	// authorization rules may have `IN` operator as well as at most 10
3282	// logical operators that are limited to `AND` (`&&`), `OR` (`||`).
3283	AuthorizationRule *Expr `json:"authorizationRule,omitempty"`
3284
3285	// ResourceAttributes: The resources that this policy applies to. A
3286	// resource is a match if it matches all the attributes listed here. If
3287	// empty, this policy applies to all User data mappings for the given
3288	// user.
3289	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
3290
3291	// ForceSendFields is a list of field names (e.g. "AuthorizationRule")
3292	// to unconditionally include in API requests. By default, fields with
3293	// empty values are omitted from API requests. However, any non-pointer,
3294	// non-interface field appearing in ForceSendFields will be sent to the
3295	// server regardless of whether the field is empty or not. This may be
3296	// used to include empty fields in Patch requests.
3297	ForceSendFields []string `json:"-"`
3298
3299	// NullFields is a list of field names (e.g. "AuthorizationRule") to
3300	// include in API requests with the JSON null value. By default, fields
3301	// with empty values are omitted from API requests. However, any field
3302	// with an empty value appearing in NullFields will be sent to the
3303	// server as null. It is an error if a field in this list has a
3304	// non-empty value. This may be used to include null fields in Patch
3305	// requests.
3306	NullFields []string `json:"-"`
3307}
3308
3309func (s *GoogleCloudHealthcareV1beta1ConsentPolicy) MarshalJSON() ([]byte, error) {
3310	type NoMethod GoogleCloudHealthcareV1beta1ConsentPolicy
3311	raw := NoMethod(*s)
3312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3313}
3314
3315// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary:
3316// Contains a summary of the DeidentifyDicomStore operation.
3317type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary struct {
3318}
3319
3320// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary:
3321// Contains a summary of the DeidentifyFhirStore operation.
3322type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary struct {
3323}
3324
3325// GoogleCloudHealthcareV1beta1DicomBigQueryDestination: The BigQuery
3326// table where the server writes output.
3327type GoogleCloudHealthcareV1beta1DicomBigQueryDestination struct {
3328	// Force: Use `write_disposition` instead. If `write_disposition` is
3329	// specified, this parameter is ignored. force=false is equivalent to
3330	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3331	// write_disposition=WRITE_TRUNCATE.
3332	Force bool `json:"force,omitempty"`
3333
3334	// TableUri: BigQuery URI to a table, up to 2000 characters long, in the
3335	// format `bq://projectId.bqDatasetId.tableId`
3336	TableUri string `json:"tableUri,omitempty"`
3337
3338	// WriteDisposition: Determines whether the existing table in the
3339	// destination is to be overwritten or appended to. If a
3340	// write_disposition is specified, the `force` parameter is ignored.
3341	//
3342	// Possible values:
3343	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3344	// WRITE_EMPTY.
3345	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3346	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3347	// writing the instances.
3348	//   "WRITE_APPEND" - Append data to the existing table.
3349	WriteDisposition string `json:"writeDisposition,omitempty"`
3350
3351	// ForceSendFields is a list of field names (e.g. "Force") to
3352	// unconditionally include in API requests. By default, fields with
3353	// empty values are omitted from API requests. However, any non-pointer,
3354	// non-interface field appearing in ForceSendFields will be sent to the
3355	// server regardless of whether the field is empty or not. This may be
3356	// used to include empty fields in Patch requests.
3357	ForceSendFields []string `json:"-"`
3358
3359	// NullFields is a list of field names (e.g. "Force") to include in API
3360	// requests with the JSON null value. By default, fields with empty
3361	// values are omitted from API requests. However, any field with an
3362	// empty value appearing in NullFields will be sent to the server as
3363	// null. It is an error if a field in this list has a non-empty value.
3364	// This may be used to include null fields in Patch requests.
3365	NullFields []string `json:"-"`
3366}
3367
3368func (s *GoogleCloudHealthcareV1beta1DicomBigQueryDestination) MarshalJSON() ([]byte, error) {
3369	type NoMethod GoogleCloudHealthcareV1beta1DicomBigQueryDestination
3370	raw := NoMethod(*s)
3371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3372}
3373
3374// GoogleCloudHealthcareV1beta1DicomGcsDestination: The Cloud Storage
3375// location where the server writes the output and the export
3376// configuration.
3377type GoogleCloudHealthcareV1beta1DicomGcsDestination struct {
3378	// MimeType: MIME types supported by DICOM spec. Each file is written in
3379	// the following format:
3380	// `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}
3381	// ` The frame_number component exists only for multi-frame instances.
3382	// Supported MIME types are consistent with supported formats in
3383	// DICOMweb:
3384	// https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
3385	// Specifically, the following are supported: - application/dicom;
3386	// transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) -
3387	// application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with
3388	// embedded JPEG Baseline) - application/dicom;
3389	// transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000
3390	// Lossless Only) - application/dicom;
3391	// transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG
3392	// 2000)h - application/dicom; transfer-syntax=* (DICOM with no
3393	// transcoding) - application/octet-stream;
3394	// transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) -
3395	// application/octet-stream; transfer-syntax=* (raw PixelData in
3396	// whatever format it was uploaded in) - image/jpeg;
3397	// transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png
3398	// The following extensions are used for output files: -
3399	// application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png -
3400	// application/octet-stream -> no extension If unspecified, the
3401	// instances are exported in the original DICOM format they were
3402	// uploaded in.
3403	MimeType string `json:"mimeType,omitempty"`
3404
3405	// UriPrefix: The Cloud Storage destination to export to. URI for a
3406	// Cloud Storage directory where the server writes the result files, in
3407	// the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is
3408	// no trailing slash, the service appends one when composing the object
3409	// path. The user is responsible for creating the Cloud Storage bucket
3410	// referenced in `uri_prefix`.
3411	UriPrefix string `json:"uriPrefix,omitempty"`
3412
3413	// ForceSendFields is a list of field names (e.g. "MimeType") to
3414	// unconditionally include in API requests. By default, fields with
3415	// empty values are omitted from API requests. However, any non-pointer,
3416	// non-interface field appearing in ForceSendFields will be sent to the
3417	// server regardless of whether the field is empty or not. This may be
3418	// used to include empty fields in Patch requests.
3419	ForceSendFields []string `json:"-"`
3420
3421	// NullFields is a list of field names (e.g. "MimeType") to include in
3422	// API requests with the JSON null value. By default, fields with empty
3423	// values are omitted from API requests. However, any field with an
3424	// empty value appearing in NullFields will be sent to the server as
3425	// null. It is an error if a field in this list has a non-empty value.
3426	// This may be used to include null fields in Patch requests.
3427	NullFields []string `json:"-"`
3428}
3429
3430func (s *GoogleCloudHealthcareV1beta1DicomGcsDestination) MarshalJSON() ([]byte, error) {
3431	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsDestination
3432	raw := NoMethod(*s)
3433	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3434}
3435
3436// GoogleCloudHealthcareV1beta1DicomGcsSource: Specifies the
3437// configuration for importing data from Cloud Storage.
3438type GoogleCloudHealthcareV1beta1DicomGcsSource struct {
3439	// Uri: Points to a Cloud Storage URI containing file(s) with content
3440	// only. The URI must be in the following format:
3441	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3442	// `object_id` and thus identify multiple files. Supported wildcards: *
3443	// '*' to match 0 or more non-separator characters * '**' to match 0 or
3444	// more characters (including separators). Must be used at the end of a
3445	// path and with no other wildcards in the path. Can also be used with a
3446	// file extension (such as .dcm), which imports all files with the
3447	// extension in the specified directory and its sub-directories. For
3448	// example, `gs://my-bucket/my-directory/**.dcm` imports all files with
3449	// .dcm extensions in `my-directory/` and its sub-directories. * '?' to
3450	// match 1 character. All other URI formats are invalid. Files matching
3451	// the wildcard are expected to contain content only, no metadata.
3452	Uri string `json:"uri,omitempty"`
3453
3454	// ForceSendFields is a list of field names (e.g. "Uri") to
3455	// unconditionally include in API requests. By default, fields with
3456	// empty values are omitted from API requests. However, any non-pointer,
3457	// non-interface field appearing in ForceSendFields will be sent to the
3458	// server regardless of whether the field is empty or not. This may be
3459	// used to include empty fields in Patch requests.
3460	ForceSendFields []string `json:"-"`
3461
3462	// NullFields is a list of field names (e.g. "Uri") to include in API
3463	// requests with the JSON null value. By default, fields with empty
3464	// values are omitted from API requests. However, any field with an
3465	// empty value appearing in NullFields will be sent to the server as
3466	// null. It is an error if a field in this list has a non-empty value.
3467	// This may be used to include null fields in Patch requests.
3468	NullFields []string `json:"-"`
3469}
3470
3471func (s *GoogleCloudHealthcareV1beta1DicomGcsSource) MarshalJSON() ([]byte, error) {
3472	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsSource
3473	raw := NoMethod(*s)
3474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3475}
3476
3477// GoogleCloudHealthcareV1beta1DicomStreamConfig: StreamConfig specifies
3478// configuration for a streaming DICOM export.
3479type GoogleCloudHealthcareV1beta1DicomStreamConfig struct {
3480	// BigqueryDestination: Results are appended to this table. The server
3481	// creates a new table in the given BigQuery dataset if the specified
3482	// table does not exist. To enable the Cloud Healthcare API to write to
3483	// your BigQuery table, you must give the Cloud Healthcare API service
3484	// account the bigquery.dataEditor role. The service account is:
3485	// `service-{PROJECT_NUMBER}@gcp-sa-healthcare.iam.gserviceaccount.com`.
3486	// The PROJECT_NUMBER identifies the project that the DICOM store
3487	// resides in. To get the project number, go to the Cloud Console
3488	// Dashboard. It is recommended to not have a custom schema in the
3489	// destination table which could conflict with the schema created by the
3490	// Cloud Healthcare API. Instance deletions are not applied to the
3491	// destination table. The destination's table schema will be
3492	// automatically updated in case a new instance's data is incompatible
3493	// with the current schema. The schema should not be updated manually as
3494	// this can cause incompatibilies that cannot be resolved automatically.
3495	// One resolution in this case is to delete the incompatible table and
3496	// let the server recreate one, though the newly created table only
3497	// contains data after the table recreation. BigQuery imposes a 1 MB
3498	// limit on streaming insert row size, therefore any instance that
3499	// generates more than 1 MB of BigQuery data will not be streamed. If an
3500	// instance cannot be streamed to BigQuery, errors will be logged to
3501	// Cloud Logging (see Viewing error logs in Cloud Logging
3502	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
3503	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
3504
3505	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
3506	// to unconditionally include in API requests. By default, fields with
3507	// empty values are omitted from API requests. However, any non-pointer,
3508	// non-interface field appearing in ForceSendFields will be sent to the
3509	// server regardless of whether the field is empty or not. This may be
3510	// used to include empty fields in Patch requests.
3511	ForceSendFields []string `json:"-"`
3512
3513	// NullFields is a list of field names (e.g. "BigqueryDestination") to
3514	// include in API requests with the JSON null value. By default, fields
3515	// with empty values are omitted from API requests. However, any field
3516	// with an empty value appearing in NullFields will be sent to the
3517	// server as null. It is an error if a field in this list has a
3518	// non-empty value. This may be used to include null fields in Patch
3519	// requests.
3520	NullFields []string `json:"-"`
3521}
3522
3523func (s *GoogleCloudHealthcareV1beta1DicomStreamConfig) MarshalJSON() ([]byte, error) {
3524	type NoMethod GoogleCloudHealthcareV1beta1DicomStreamConfig
3525	raw := NoMethod(*s)
3526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3527}
3528
3529// GoogleCloudHealthcareV1beta1FhirBigQueryDestination: The
3530// configuration for exporting to BigQuery.
3531type GoogleCloudHealthcareV1beta1FhirBigQueryDestination struct {
3532	// DatasetUri: BigQuery URI to an existing dataset, up to 2000
3533	// characters long, in the format `bq://projectId.bqDatasetId`.
3534	DatasetUri string `json:"datasetUri,omitempty"`
3535
3536	// Force: Use `write_disposition` instead. If `write_disposition` is
3537	// specified, this parameter is ignored. force=false is equivalent to
3538	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3539	// write_disposition=WRITE_TRUNCATE.
3540	Force bool `json:"force,omitempty"`
3541
3542	// SchemaConfig: The configuration for the exported BigQuery schema.
3543	SchemaConfig *SchemaConfig `json:"schemaConfig,omitempty"`
3544
3545	// WriteDisposition: Determines if existing data in the destination
3546	// dataset is overwritten, appended to, or not written if the tables
3547	// contain data. If a write_disposition is specified, the `force`
3548	// parameter is ignored.
3549	//
3550	// Possible values:
3551	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3552	// WRITE_EMPTY.
3553	//   "WRITE_EMPTY" - Only export data if the destination tables are
3554	// empty.
3555	//   "WRITE_TRUNCATE" - Erase all existing data in the tables before
3556	// writing the instances.
3557	//   "WRITE_APPEND" - Append data to the existing tables.
3558	WriteDisposition string `json:"writeDisposition,omitempty"`
3559
3560	// ForceSendFields is a list of field names (e.g. "DatasetUri") to
3561	// unconditionally include in API requests. By default, fields with
3562	// empty values are omitted from API requests. However, any non-pointer,
3563	// non-interface field appearing in ForceSendFields will be sent to the
3564	// server regardless of whether the field is empty or not. This may be
3565	// used to include empty fields in Patch requests.
3566	ForceSendFields []string `json:"-"`
3567
3568	// NullFields is a list of field names (e.g. "DatasetUri") to include in
3569	// API requests with the JSON null value. By default, fields with empty
3570	// values are omitted from API requests. However, any field with an
3571	// empty value appearing in NullFields will be sent to the server as
3572	// null. It is an error if a field in this list has a non-empty value.
3573	// This may be used to include null fields in Patch requests.
3574	NullFields []string `json:"-"`
3575}
3576
3577func (s *GoogleCloudHealthcareV1beta1FhirBigQueryDestination) MarshalJSON() ([]byte, error) {
3578	type NoMethod GoogleCloudHealthcareV1beta1FhirBigQueryDestination
3579	raw := NoMethod(*s)
3580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3581}
3582
3583// GoogleCloudHealthcareV1beta1FhirExportResourcesResponse: Response
3584// when all resources export successfully. This structure is included in
3585// the response to describe the detailed outcome after the operation
3586// finishes successfully.
3587type GoogleCloudHealthcareV1beta1FhirExportResourcesResponse struct {
3588}
3589
3590// GoogleCloudHealthcareV1beta1FhirGcsDestination: The configuration for
3591// exporting to Cloud Storage.
3592type GoogleCloudHealthcareV1beta1FhirGcsDestination struct {
3593	// UriPrefix: URI for a Cloud Storage directory where result files
3594	// should be written (in the format
3595	// `gs://{bucket-id}/{path/to/destination/dir}`). If there is no
3596	// trailing slash, the service appends one when composing the object
3597	// path. The Cloud Storage bucket referenced in `uri_prefix` must exist
3598	// or an error occurs.
3599	UriPrefix string `json:"uriPrefix,omitempty"`
3600
3601	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3602	// unconditionally include in API requests. By default, fields with
3603	// empty values are omitted from API requests. However, any non-pointer,
3604	// non-interface field appearing in ForceSendFields will be sent to the
3605	// server regardless of whether the field is empty or not. This may be
3606	// used to include empty fields in Patch requests.
3607	ForceSendFields []string `json:"-"`
3608
3609	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3610	// API requests with the JSON null value. By default, fields with empty
3611	// values are omitted from API requests. However, any field with an
3612	// empty value appearing in NullFields will be sent to the server as
3613	// null. It is an error if a field in this list has a non-empty value.
3614	// This may be used to include null fields in Patch requests.
3615	NullFields []string `json:"-"`
3616}
3617
3618func (s *GoogleCloudHealthcareV1beta1FhirGcsDestination) MarshalJSON() ([]byte, error) {
3619	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsDestination
3620	raw := NoMethod(*s)
3621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3622}
3623
3624// GoogleCloudHealthcareV1beta1FhirGcsSource: Specifies the
3625// configuration for importing data from Cloud Storage.
3626type GoogleCloudHealthcareV1beta1FhirGcsSource struct {
3627	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3628	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3629	// The URI can include wildcards in `object_id` and thus identify
3630	// multiple files. Supported wildcards: * `*` to match 0 or more
3631	// non-separator characters * `**` to match 0 or more characters
3632	// (including separators). Must be used at the end of a path and with no
3633	// other wildcards in the path. Can also be used with a file extension
3634	// (such as .ndjson), which imports all files with the extension in the
3635	// specified directory and its sub-directories. For example,
3636	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3637	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3638	// `?` to match 1 character Files matching the wildcard are expected to
3639	// contain content only, no metadata.
3640	Uri string `json:"uri,omitempty"`
3641
3642	// ForceSendFields is a list of field names (e.g. "Uri") to
3643	// unconditionally include in API requests. By default, fields with
3644	// empty values are omitted from API requests. However, any non-pointer,
3645	// non-interface field appearing in ForceSendFields will be sent to the
3646	// server regardless of whether the field is empty or not. This may be
3647	// used to include empty fields in Patch requests.
3648	ForceSendFields []string `json:"-"`
3649
3650	// NullFields is a list of field names (e.g. "Uri") to include in API
3651	// requests with the JSON null value. By default, fields with empty
3652	// values are omitted from API requests. However, any field with an
3653	// empty value appearing in NullFields will be sent to the server as
3654	// null. It is an error if a field in this list has a non-empty value.
3655	// This may be used to include null fields in Patch requests.
3656	NullFields []string `json:"-"`
3657}
3658
3659func (s *GoogleCloudHealthcareV1beta1FhirGcsSource) MarshalJSON() ([]byte, error) {
3660	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsSource
3661	raw := NoMethod(*s)
3662	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3663}
3664
3665// GoogleCloudHealthcareV1beta1FhirImportResourcesResponse: Final
3666// response of importing resources. This structure is included in the
3667// response to describe the detailed outcome after the operation
3668// finishes successfully.
3669type GoogleCloudHealthcareV1beta1FhirImportResourcesResponse struct {
3670}
3671
3672// GroupOrSegment: Construct representing a logical group or a segment.
3673type GroupOrSegment struct {
3674	Group *SchemaGroup `json:"group,omitempty"`
3675
3676	Segment *SchemaSegment `json:"segment,omitempty"`
3677
3678	// ForceSendFields is a list of field names (e.g. "Group") to
3679	// unconditionally include in API requests. By default, fields with
3680	// empty values are omitted from API requests. However, any non-pointer,
3681	// non-interface field appearing in ForceSendFields will be sent to the
3682	// server regardless of whether the field is empty or not. This may be
3683	// used to include empty fields in Patch requests.
3684	ForceSendFields []string `json:"-"`
3685
3686	// NullFields is a list of field names (e.g. "Group") to include in API
3687	// requests with the JSON null value. By default, fields with empty
3688	// values are omitted from API requests. However, any field with an
3689	// empty value appearing in NullFields will be sent to the server as
3690	// null. It is an error if a field in this list has a non-empty value.
3691	// This may be used to include null fields in Patch requests.
3692	NullFields []string `json:"-"`
3693}
3694
3695func (s *GroupOrSegment) MarshalJSON() ([]byte, error) {
3696	type NoMethod GroupOrSegment
3697	raw := NoMethod(*s)
3698	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3699}
3700
3701// Hl7SchemaConfig: Root config message for HL7v2 schema. This contains
3702// a schema structure of groups and segments, and filters that determine
3703// which messages to apply the schema structure to.
3704type Hl7SchemaConfig struct {
3705	// MessageSchemaConfigs: Map from each HL7v2 message type and trigger
3706	// event pair, such as ADT_A04, to its schema configuration root group.
3707	MessageSchemaConfigs map[string]SchemaGroup `json:"messageSchemaConfigs,omitempty"`
3708
3709	// Version: Each VersionSource is tested and only if they all match is
3710	// the schema used for the message.
3711	Version []*VersionSource `json:"version,omitempty"`
3712
3713	// ForceSendFields is a list of field names (e.g.
3714	// "MessageSchemaConfigs") to unconditionally include in API requests.
3715	// By default, fields with empty values are omitted from API requests.
3716	// However, any non-pointer, non-interface field appearing in
3717	// ForceSendFields will be sent to the server regardless of whether the
3718	// field is empty or not. This may be used to include empty fields in
3719	// Patch requests.
3720	ForceSendFields []string `json:"-"`
3721
3722	// NullFields is a list of field names (e.g. "MessageSchemaConfigs") to
3723	// include in API requests with the JSON null value. By default, fields
3724	// with empty values are omitted from API requests. However, any field
3725	// with an empty value appearing in NullFields will be sent to the
3726	// server as null. It is an error if a field in this list has a
3727	// non-empty value. This may be used to include null fields in Patch
3728	// requests.
3729	NullFields []string `json:"-"`
3730}
3731
3732func (s *Hl7SchemaConfig) MarshalJSON() ([]byte, error) {
3733	type NoMethod Hl7SchemaConfig
3734	raw := NoMethod(*s)
3735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3736}
3737
3738// Hl7TypesConfig: Root config for HL7v2 datatype definitions for a
3739// specific HL7v2 version.
3740type Hl7TypesConfig struct {
3741	// Type: The HL7v2 type definitions.
3742	Type []*Type `json:"type,omitempty"`
3743
3744	// Version: The version selectors that this config applies to. A message
3745	// must match ALL version sources to apply.
3746	Version []*VersionSource `json:"version,omitempty"`
3747
3748	// ForceSendFields is a list of field names (e.g. "Type") to
3749	// unconditionally include in API requests. By default, fields with
3750	// empty values are omitted from API requests. However, any non-pointer,
3751	// non-interface field appearing in ForceSendFields will be sent to the
3752	// server regardless of whether the field is empty or not. This may be
3753	// used to include empty fields in Patch requests.
3754	ForceSendFields []string `json:"-"`
3755
3756	// NullFields is a list of field names (e.g. "Type") to include in API
3757	// requests with the JSON null value. By default, fields with empty
3758	// values are omitted from API requests. However, any field with an
3759	// empty value appearing in NullFields will be sent to the server as
3760	// null. It is an error if a field in this list has a non-empty value.
3761	// This may be used to include null fields in Patch requests.
3762	NullFields []string `json:"-"`
3763}
3764
3765func (s *Hl7TypesConfig) MarshalJSON() ([]byte, error) {
3766	type NoMethod Hl7TypesConfig
3767	raw := NoMethod(*s)
3768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3769}
3770
3771// Hl7V2NotificationConfig: Specifies where and whether to send
3772// notifications upon changes to a data store.
3773type Hl7V2NotificationConfig struct {
3774	// Filter: Restricts notifications sent for messages matching a filter.
3775	// If this is empty, all messages are matched. The following syntax is
3776	// available: * A string field value can be written as text inside
3777	// quotation marks, for example "query text". The only valid
3778	// relational operation for text fields is equality (`=`), where text is
3779	// searched within the field, rather than having the field be equal to
3780	// the text. For example, "Comment = great" returns messages with
3781	// `great` in the comment field. * A number field value can be written
3782	// as an integer, a decimal, or an exponential. The valid relational
3783	// operators for number fields are the equality operator (`=`), along
3784	// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
3785	// Note that there is no inequality (`!=`) operator. You can prepend the
3786	// `NOT` operator to an expression to negate it. * A date field value
3787	// must be written in `yyyy-mm-dd` form. Fields with date and time use
3788	// the RFC3339 time format. Leading zeros are required for one-digit
3789	// months and days. The valid relational operators for date fields are
3790	// the equality operator (`=`) , along with the less than/greater than
3791	// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
3792	// (`!=`) operator. You can prepend the `NOT` operator to an expression
3793	// to negate it. * Multiple field query expressions can be combined in
3794	// one query by adding `AND` or `OR` operators between the expressions.
3795	// If a boolean operator appears within a quoted string, it is not
3796	// treated as special, it's just another part of the character string to
3797	// be matched. You can prepend the `NOT` operator to an expression to
3798	// negate it. Fields/functions available for filtering are: *
3799	// `message_type`, from the MSH-9.1 field. For example, `NOT
3800	// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
3801	// date the message was sent in the dataset's time_zone, from the MSH-7
3802	// segment. For example, `send_date < "2017-01-02". * `send_time`, the
3803	// timestamp when the message was sent, using the RFC3339 time format
3804	// for comparisons, from the MSH-7 segment. For example, `send_time <
3805	// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
3806	// message was created in the HL7v2 store. Use the RFC3339 time format
3807	// for comparisons. For example, `create_time <
3808	// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
3809	// the message came from, from the MSH-4 segment. For example,
3810	// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
3811	// the message lists a patient having an ID of the given value and type
3812	// in the PID-2, PID-3, or PID-4 segments. For example,
3813	// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
3814	// label with key `x` as set using the Message.labels map. For example,
3815	// `labels."priority"="high". The operator `:*` can be used to assert
3816	// the existence of a label. For example, `labels."priority":*`.
3817	Filter string `json:"filter,omitempty"`
3818
3819	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
3820	// topic that notifications of changes are published on. Supplied by the
3821	// client. The notification is a `PubsubMessage` with the following
3822	// fields: * `PubsubMessage.Data` contains the resource name. *
3823	// `PubsubMessage.MessageId` is the ID of this notification. It is
3824	// guaranteed to be unique within the topic. *
3825	// `PubsubMessage.PublishTime` is the time when the message was
3826	// published. Note that notifications are only sent if the topic is
3827	// non-empty. Topic names
3828	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
3829	// to a project. Cloud Healthcare API service account must have
3830	// publisher permissions on the given Pub/Sub topic. Not having adequate
3831	// permissions causes the calls that send notifications to fail. If a
3832	// notification can't be published to Pub/Sub, errors are logged to
3833	// Cloud Logging. For more information, see Viewing error logs in Cloud
3834	// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
3835	PubsubTopic string `json:"pubsubTopic,omitempty"`
3836
3837	// ForceSendFields is a list of field names (e.g. "Filter") to
3838	// unconditionally include in API requests. By default, fields with
3839	// empty values are omitted from API requests. However, any non-pointer,
3840	// non-interface field appearing in ForceSendFields will be sent to the
3841	// server regardless of whether the field is empty or not. This may be
3842	// used to include empty fields in Patch requests.
3843	ForceSendFields []string `json:"-"`
3844
3845	// NullFields is a list of field names (e.g. "Filter") to include in API
3846	// requests with the JSON null value. By default, fields with empty
3847	// values are omitted from API requests. However, any field with an
3848	// empty value appearing in NullFields will be sent to the server as
3849	// null. It is an error if a field in this list has a non-empty value.
3850	// This may be used to include null fields in Patch requests.
3851	NullFields []string `json:"-"`
3852}
3853
3854func (s *Hl7V2NotificationConfig) MarshalJSON() ([]byte, error) {
3855	type NoMethod Hl7V2NotificationConfig
3856	raw := NoMethod(*s)
3857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3858}
3859
3860// Hl7V2Store: Represents an HL7v2 store.
3861type Hl7V2Store struct {
3862	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
3863	// Label keys must be between 1 and 63 characters long, have a UTF-8
3864	// encoding of maximum 128 bytes, and must conform to the following PCRE
3865	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
3866	// must be between 1 and 63 characters long, have a UTF-8 encoding of
3867	// maximum 128 bytes, and must conform to the following PCRE regular
3868	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
3869	// associated with a given store.
3870	Labels map[string]string `json:"labels,omitempty"`
3871
3872	// Name: Resource name of the HL7v2 store, of the form
3873	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_
3874	// id}`.
3875	Name string `json:"name,omitempty"`
3876
3877	// NotificationConfig: The notification destination all messages (both
3878	// Ingest & Create) are published on. Only the message name is sent as
3879	// part of the notification. If this is unset, no notifications are
3880	// sent. Supplied by the client.
3881	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
3882
3883	// NotificationConfigs: A list of notification configs. Each
3884	// configuration uses a filter to determine whether to publish a message
3885	// (both Ingest & Create) on the corresponding notification destination.
3886	// Only the message name is sent as part of the notification. Supplied
3887	// by the client.
3888	NotificationConfigs []*Hl7V2NotificationConfig `json:"notificationConfigs,omitempty"`
3889
3890	// ParserConfig: The configuration for the parser. It determines how the
3891	// server parses the messages.
3892	ParserConfig *ParserConfig `json:"parserConfig,omitempty"`
3893
3894	// RejectDuplicateMessage: Determines whether to reject duplicate
3895	// messages. A duplicate message is a message with the same raw bytes as
3896	// a message that has already been ingested/created in this HL7v2 store.
3897	// The default value is false, meaning that the store accepts the
3898	// duplicate messages and it also returns the same ACK message in the
3899	// IngestMessageResponse as has been returned previously. Note that only
3900	// one resource is created in the store. When this field is set to true,
3901	// CreateMessage/IngestMessage requests with a duplicate message will be
3902	// rejected by the store, and IngestMessageErrorDetail returns a NACK
3903	// message upon rejection.
3904	RejectDuplicateMessage bool `json:"rejectDuplicateMessage,omitempty"`
3905
3906	// ServerResponse contains the HTTP response code and headers from the
3907	// server.
3908	googleapi.ServerResponse `json:"-"`
3909
3910	// ForceSendFields is a list of field names (e.g. "Labels") to
3911	// unconditionally include in API requests. By default, fields with
3912	// empty values are omitted from API requests. However, any non-pointer,
3913	// non-interface field appearing in ForceSendFields will be sent to the
3914	// server regardless of whether the field is empty or not. This may be
3915	// used to include empty fields in Patch requests.
3916	ForceSendFields []string `json:"-"`
3917
3918	// NullFields is a list of field names (e.g. "Labels") to include in API
3919	// requests with the JSON null value. By default, fields with empty
3920	// values are omitted from API requests. However, any field with an
3921	// empty value appearing in NullFields will be sent to the server as
3922	// null. It is an error if a field in this list has a non-empty value.
3923	// This may be used to include null fields in Patch requests.
3924	NullFields []string `json:"-"`
3925}
3926
3927func (s *Hl7V2Store) MarshalJSON() ([]byte, error) {
3928	type NoMethod Hl7V2Store
3929	raw := NoMethod(*s)
3930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3931}
3932
3933// HttpBody: Message that represents an arbitrary HTTP body. It should
3934// only be used for payload formats that can't be represented as JSON,
3935// such as raw binary or an HTML page. This message can be used both in
3936// streaming and non-streaming API methods in the request as well as the
3937// response. It can be used as a top-level request field, which is
3938// convenient if one wants to extract parameters from either the URL or
3939// HTTP template into the request fields and also want access to the raw
3940// HTTP body. Example: message GetResourceRequest { // A unique request
3941// id. string request_id = 1; // The raw HTTP body is bound to this
3942// field. google.api.HttpBody http_body = 2; } service ResourceService {
3943// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
3944// rpc UpdateResource(google.api.HttpBody) returns
3945// (google.protobuf.Empty); } Example with streaming methods: service
3946// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns
3947// (stream google.api.HttpBody); rpc UpdateCalendar(stream
3948// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
3949// this type only changes how the request and response bodies are
3950// handled, all other features will continue to work unchanged.
3951type HttpBody struct {
3952	// ContentType: The HTTP Content-Type header value specifying the
3953	// content type of the body.
3954	ContentType string `json:"contentType,omitempty"`
3955
3956	// Data: The HTTP request/response body as raw binary.
3957	Data string `json:"data,omitempty"`
3958
3959	// Extensions: Application specific response metadata. Must be set in
3960	// the first response for streaming APIs.
3961	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
3962
3963	// ServerResponse contains the HTTP response code and headers from the
3964	// server.
3965	googleapi.ServerResponse `json:"-"`
3966
3967	// ForceSendFields is a list of field names (e.g. "ContentType") to
3968	// unconditionally include in API requests. By default, fields with
3969	// empty values are omitted from API requests. However, any non-pointer,
3970	// non-interface field appearing in ForceSendFields will be sent to the
3971	// server regardless of whether the field is empty or not. This may be
3972	// used to include empty fields in Patch requests.
3973	ForceSendFields []string `json:"-"`
3974
3975	// NullFields is a list of field names (e.g. "ContentType") to include
3976	// in API requests with the JSON null value. By default, fields with
3977	// empty values are omitted from API requests. However, any field with
3978	// an empty value appearing in NullFields will be sent to the server as
3979	// null. It is an error if a field in this list has a non-empty value.
3980	// This may be used to include null fields in Patch requests.
3981	NullFields []string `json:"-"`
3982}
3983
3984func (s *HttpBody) MarshalJSON() ([]byte, error) {
3985	type NoMethod HttpBody
3986	raw := NoMethod(*s)
3987	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3988}
3989
3990// Image: Raw bytes representing consent artifact content.
3991type Image struct {
3992	// GcsUri: Input only. Points to a Cloud Storage URI containing the
3993	// consent artifact content. The URI must be in the following format:
3994	// `gs://{bucket_id}/{object_id}`. The Cloud Healthcare API service
3995	// account must have the `roles/storage.objectViewer` Cloud IAM role for
3996	// this Cloud Storage location. The consent artifact content at this URI
3997	// is copied to a Cloud Storage location managed by the Cloud Healthcare
3998	// API. Responses to fetching requests return the consent artifact
3999	// content in raw_bytes.
4000	GcsUri string `json:"gcsUri,omitempty"`
4001
4002	// RawBytes: Consent artifact content represented as a stream of bytes.
4003	// This field is populated when returned in GetConsentArtifact response,
4004	// but not included in CreateConsentArtifact and ListConsentArtifact
4005	// response.
4006	RawBytes string `json:"rawBytes,omitempty"`
4007
4008	// ForceSendFields is a list of field names (e.g. "GcsUri") to
4009	// unconditionally include in API requests. By default, fields with
4010	// empty values are omitted from API requests. However, any non-pointer,
4011	// non-interface field appearing in ForceSendFields will be sent to the
4012	// server regardless of whether the field is empty or not. This may be
4013	// used to include empty fields in Patch requests.
4014	ForceSendFields []string `json:"-"`
4015
4016	// NullFields is a list of field names (e.g. "GcsUri") to include in API
4017	// requests with the JSON null value. By default, fields with empty
4018	// values are omitted from API requests. However, any field with an
4019	// empty value appearing in NullFields will be sent to the server as
4020	// null. It is an error if a field in this list has a non-empty value.
4021	// This may be used to include null fields in Patch requests.
4022	NullFields []string `json:"-"`
4023}
4024
4025func (s *Image) MarshalJSON() ([]byte, error) {
4026	type NoMethod Image
4027	raw := NoMethod(*s)
4028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4029}
4030
4031// ImageAnnotation: Image annotation.
4032type ImageAnnotation struct {
4033	// BoundingPolys: The list of polygons outlining the sensitive regions
4034	// in the image.
4035	BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"`
4036
4037	// FrameIndex: 0-based index of the image frame. For example, an image
4038	// frame in a DICOM instance.
4039	FrameIndex int64 `json:"frameIndex,omitempty"`
4040
4041	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
4042	// unconditionally include in API requests. By default, fields with
4043	// empty values are omitted from API requests. However, any non-pointer,
4044	// non-interface field appearing in ForceSendFields will be sent to the
4045	// server regardless of whether the field is empty or not. This may be
4046	// used to include empty fields in Patch requests.
4047	ForceSendFields []string `json:"-"`
4048
4049	// NullFields is a list of field names (e.g. "BoundingPolys") to include
4050	// in API requests with the JSON null value. By default, fields with
4051	// empty values are omitted from API requests. However, any field with
4052	// an empty value appearing in NullFields will be sent to the server as
4053	// null. It is an error if a field in this list has a non-empty value.
4054	// This may be used to include null fields in Patch requests.
4055	NullFields []string `json:"-"`
4056}
4057
4058func (s *ImageAnnotation) MarshalJSON() ([]byte, error) {
4059	type NoMethod ImageAnnotation
4060	raw := NoMethod(*s)
4061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4062}
4063
4064// ImageConfig: Specifies how to handle de-identification of image
4065// pixels.
4066type ImageConfig struct {
4067	// TextRedactionMode: Determines how to redact text from image.
4068	//
4069	// Possible values:
4070	//   "TEXT_REDACTION_MODE_UNSPECIFIED" - No text redaction specified.
4071	// Same as REDACT_NO_TEXT.
4072	//   "REDACT_ALL_TEXT" - Redact all text.
4073	//   "REDACT_SENSITIVE_TEXT" - Redact sensitive text.
4074	//   "REDACT_NO_TEXT" - Do not redact text.
4075	TextRedactionMode string `json:"textRedactionMode,omitempty"`
4076
4077	// ForceSendFields is a list of field names (e.g. "TextRedactionMode")
4078	// to unconditionally include in API requests. By default, fields with
4079	// empty values are omitted from API requests. However, any non-pointer,
4080	// non-interface field appearing in ForceSendFields will be sent to the
4081	// server regardless of whether the field is empty or not. This may be
4082	// used to include empty fields in Patch requests.
4083	ForceSendFields []string `json:"-"`
4084
4085	// NullFields is a list of field names (e.g. "TextRedactionMode") to
4086	// include in API requests with the JSON null value. By default, fields
4087	// with empty values are omitted from API requests. However, any field
4088	// with an empty value appearing in NullFields will be sent to the
4089	// server as null. It is an error if a field in this list has a
4090	// non-empty value. This may be used to include null fields in Patch
4091	// requests.
4092	NullFields []string `json:"-"`
4093}
4094
4095func (s *ImageConfig) MarshalJSON() ([]byte, error) {
4096	type NoMethod ImageConfig
4097	raw := NoMethod(*s)
4098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4099}
4100
4101// ImportAnnotationsRequest: Request to import Annotations. The
4102// Annotations to be imported must have client-supplied resource names
4103// which indicate the annotation resource. The import operation is not
4104// atomic. If a failure occurs, any annotations already imported are not
4105// removed.
4106type ImportAnnotationsRequest struct {
4107	GcsSource *GoogleCloudHealthcareV1beta1AnnotationGcsSource `json:"gcsSource,omitempty"`
4108
4109	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4110	// unconditionally include in API requests. By default, fields with
4111	// empty values are omitted from API requests. However, any non-pointer,
4112	// non-interface field appearing in ForceSendFields will be sent to the
4113	// server regardless of whether the field is empty or not. This may be
4114	// used to include empty fields in Patch requests.
4115	ForceSendFields []string `json:"-"`
4116
4117	// NullFields is a list of field names (e.g. "GcsSource") to include in
4118	// API requests with the JSON null value. By default, fields with empty
4119	// values are omitted from API requests. However, any field with an
4120	// empty value appearing in NullFields will be sent to the server as
4121	// null. It is an error if a field in this list has a non-empty value.
4122	// This may be used to include null fields in Patch requests.
4123	NullFields []string `json:"-"`
4124}
4125
4126func (s *ImportAnnotationsRequest) MarshalJSON() ([]byte, error) {
4127	type NoMethod ImportAnnotationsRequest
4128	raw := NoMethod(*s)
4129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4130}
4131
4132// ImportAnnotationsResponse: Final response of importing Annotations in
4133// successful case. This structure is included in the response. It is
4134// only included when the operation finishes.
4135type ImportAnnotationsResponse struct {
4136}
4137
4138// ImportDicomDataRequest: Imports data into the specified DICOM store.
4139// Returns an error if any of the files to import are not DICOM files.
4140// This API accepts duplicate DICOM instances by ignoring the
4141// newly-pushed instance. It does not overwrite.
4142type ImportDicomDataRequest struct {
4143	// GcsSource: Cloud Storage source data location and import
4144	// configuration. The Cloud Healthcare Service Agent requires the
4145	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4146	// location.
4147	GcsSource *GoogleCloudHealthcareV1beta1DicomGcsSource `json:"gcsSource,omitempty"`
4148
4149	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4150	// unconditionally include in API requests. By default, fields with
4151	// empty values are omitted from API requests. However, any non-pointer,
4152	// non-interface field appearing in ForceSendFields will be sent to the
4153	// server regardless of whether the field is empty or not. This may be
4154	// used to include empty fields in Patch requests.
4155	ForceSendFields []string `json:"-"`
4156
4157	// NullFields is a list of field names (e.g. "GcsSource") to include in
4158	// API requests with the JSON null value. By default, fields with empty
4159	// values are omitted from API requests. However, any field with an
4160	// empty value appearing in NullFields will be sent to the server as
4161	// null. It is an error if a field in this list has a non-empty value.
4162	// This may be used to include null fields in Patch requests.
4163	NullFields []string `json:"-"`
4164}
4165
4166func (s *ImportDicomDataRequest) MarshalJSON() ([]byte, error) {
4167	type NoMethod ImportDicomDataRequest
4168	raw := NoMethod(*s)
4169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4170}
4171
4172// ImportDicomDataResponse: Returns additional information in regards to
4173// a completed DICOM store import.
4174type ImportDicomDataResponse struct {
4175}
4176
4177// ImportMessagesRequest: Request to import messages.
4178type ImportMessagesRequest struct {
4179	// GcsSource: Cloud Storage source data location and import
4180	// configuration. The Cloud Healthcare Service Agent requires the
4181	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4182	// location.
4183	GcsSource *GcsSource `json:"gcsSource,omitempty"`
4184
4185	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4186	// unconditionally include in API requests. By default, fields with
4187	// empty values are omitted from API requests. However, any non-pointer,
4188	// non-interface field appearing in ForceSendFields will be sent to the
4189	// server regardless of whether the field is empty or not. This may be
4190	// used to include empty fields in Patch requests.
4191	ForceSendFields []string `json:"-"`
4192
4193	// NullFields is a list of field names (e.g. "GcsSource") to include in
4194	// API requests with the JSON null value. By default, fields with empty
4195	// values are omitted from API requests. However, any field with an
4196	// empty value appearing in NullFields will be sent to the server as
4197	// null. It is an error if a field in this list has a non-empty value.
4198	// This may be used to include null fields in Patch requests.
4199	NullFields []string `json:"-"`
4200}
4201
4202func (s *ImportMessagesRequest) MarshalJSON() ([]byte, error) {
4203	type NoMethod ImportMessagesRequest
4204	raw := NoMethod(*s)
4205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4206}
4207
4208// ImportMessagesResponse: Final response of importing messages. This
4209// structure is included in the response to describe the detailed
4210// outcome. It is only included when the operation finishes
4211// successfully.
4212type ImportMessagesResponse struct {
4213}
4214
4215// ImportResourcesRequest: Request to import resources.
4216type ImportResourcesRequest struct {
4217	// ContentStructure: The content structure in the source location. If
4218	// not specified, the server treats the input source files as BUNDLE.
4219	//
4220	// Possible values:
4221	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
4222	// specified, the default value `BUNDLE` is used.
4223	//   "BUNDLE" - The source file contains one or more lines of
4224	// newline-delimited JSON (ndjson). Each line is a bundle that contains
4225	// one or more resources.
4226	//   "RESOURCE" - The source file contains one or more lines of
4227	// newline-delimited JSON (ndjson). Each line is a single resource.
4228	//   "BUNDLE_PRETTY" - The entire file is one JSON bundle. The JSON can
4229	// span multiple lines.
4230	//   "RESOURCE_PRETTY" - The entire file is one JSON resource. The JSON
4231	// can span multiple lines.
4232	ContentStructure string `json:"contentStructure,omitempty"`
4233
4234	// GcsSource: Cloud Storage source data location and import
4235	// configuration. The Cloud Healthcare Service Agent requires the
4236	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4237	// location. The Healthcare Service Agent Each Cloud Storage object
4238	// should be a text file that contains the format specified in
4239	// ContentStructure.
4240	GcsSource *GoogleCloudHealthcareV1beta1FhirGcsSource `json:"gcsSource,omitempty"`
4241
4242	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
4243	// unconditionally include in API requests. By default, fields with
4244	// empty values are omitted from API requests. However, any non-pointer,
4245	// non-interface field appearing in ForceSendFields will be sent to the
4246	// server regardless of whether the field is empty or not. This may be
4247	// used to include empty fields in Patch requests.
4248	ForceSendFields []string `json:"-"`
4249
4250	// NullFields is a list of field names (e.g. "ContentStructure") to
4251	// include in API requests with the JSON null value. By default, fields
4252	// with empty values are omitted from API requests. However, any field
4253	// with an empty value appearing in NullFields will be sent to the
4254	// server as null. It is an error if a field in this list has a
4255	// non-empty value. This may be used to include null fields in Patch
4256	// requests.
4257	NullFields []string `json:"-"`
4258}
4259
4260func (s *ImportResourcesRequest) MarshalJSON() ([]byte, error) {
4261	type NoMethod ImportResourcesRequest
4262	raw := NoMethod(*s)
4263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4264}
4265
4266// InfoTypeConfig: Specifies how to use infoTypes for evaluation. For
4267// example, a user might only want to evaluate `PERSON`, `LOCATION`, and
4268// `AGE`.
4269type InfoTypeConfig struct {
4270	EvaluateList *FilterList `json:"evaluateList,omitempty"`
4271
4272	IgnoreList *FilterList `json:"ignoreList,omitempty"`
4273
4274	// StrictMatching: If `TRUE`, infoTypes described by `filter` are used
4275	// for evaluation. Otherwise, infoTypes are not considered for
4276	// evaluation. For example: * Annotated text: "Toronto is a location" *
4277	// Finding 1: `{"infoType": "PERSON", "quote": "Toronto", "start": 0,
4278	// "end": 7}` * Finding 2: `{"infoType": "CITY", "quote": "Toronto",
4279	// "start": 0, "end": 7}` * Finding 3: `{}` * Ground truth:
4280	// `{"infoType": "LOCATION", "quote": "Toronto", "start": 0, "end": 7}`
4281	// When `strict_matching` is `TRUE`: * Finding 1: 1 false positive *
4282	// Finding 2: 1 false positive * Finding 3: 1 false negative When
4283	// `strict_matching` is `FALSE`: * Finding 1: 1 true positive * Finding
4284	// 2: 1 true positive * Finding 3: 1 false negative
4285	StrictMatching bool `json:"strictMatching,omitempty"`
4286
4287	// ForceSendFields is a list of field names (e.g. "EvaluateList") to
4288	// unconditionally include in API requests. By default, fields with
4289	// empty values are omitted from API requests. However, any non-pointer,
4290	// non-interface field appearing in ForceSendFields will be sent to the
4291	// server regardless of whether the field is empty or not. This may be
4292	// used to include empty fields in Patch requests.
4293	ForceSendFields []string `json:"-"`
4294
4295	// NullFields is a list of field names (e.g. "EvaluateList") to include
4296	// in API requests with the JSON null value. By default, fields with
4297	// empty values are omitted from API requests. However, any field with
4298	// an empty value appearing in NullFields will be sent to the server as
4299	// null. It is an error if a field in this list has a non-empty value.
4300	// This may be used to include null fields in Patch requests.
4301	NullFields []string `json:"-"`
4302}
4303
4304func (s *InfoTypeConfig) MarshalJSON() ([]byte, error) {
4305	type NoMethod InfoTypeConfig
4306	raw := NoMethod(*s)
4307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4308}
4309
4310// InfoTypeTransformation: A transformation to apply to text that is
4311// identified as a specific info_type.
4312type InfoTypeTransformation struct {
4313	// CharacterMaskConfig: Config for character mask.
4314	CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"`
4315
4316	// CryptoHashConfig: Config for crypto hash.
4317	CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"`
4318
4319	// DateShiftConfig: Config for date shift.
4320	DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"`
4321
4322	// InfoTypes: InfoTypes to apply this transformation to. If this is not
4323	// specified, this transformation becomes the default transformation,
4324	// and is used for any info_type that is not specified in another
4325	// transformation.
4326	InfoTypes []string `json:"infoTypes,omitempty"`
4327
4328	// RedactConfig: Config for text redaction.
4329	RedactConfig *RedactConfig `json:"redactConfig,omitempty"`
4330
4331	// ReplaceWithInfoTypeConfig: Config for replace with InfoType.
4332	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"`
4333
4334	// ForceSendFields is a list of field names (e.g. "CharacterMaskConfig")
4335	// to unconditionally include in API requests. By default, fields with
4336	// empty values are omitted from API requests. However, any non-pointer,
4337	// non-interface field appearing in ForceSendFields will be sent to the
4338	// server regardless of whether the field is empty or not. This may be
4339	// used to include empty fields in Patch requests.
4340	ForceSendFields []string `json:"-"`
4341
4342	// NullFields is a list of field names (e.g. "CharacterMaskConfig") to
4343	// include in API requests with the JSON null value. By default, fields
4344	// with empty values are omitted from API requests. However, any field
4345	// with an empty value appearing in NullFields will be sent to the
4346	// server as null. It is an error if a field in this list has a
4347	// non-empty value. This may be used to include null fields in Patch
4348	// requests.
4349	NullFields []string `json:"-"`
4350}
4351
4352func (s *InfoTypeTransformation) MarshalJSON() ([]byte, error) {
4353	type NoMethod InfoTypeTransformation
4354	raw := NoMethod(*s)
4355	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4356}
4357
4358// IngestMessageRequest: Ingests a message into the specified HL7v2
4359// store.
4360type IngestMessageRequest struct {
4361	// Message: HL7v2 message to ingest.
4362	Message *Message `json:"message,omitempty"`
4363
4364	// ForceSendFields is a list of field names (e.g. "Message") to
4365	// unconditionally include in API requests. By default, fields with
4366	// empty values are omitted from API requests. However, any non-pointer,
4367	// non-interface field appearing in ForceSendFields will be sent to the
4368	// server regardless of whether the field is empty or not. This may be
4369	// used to include empty fields in Patch requests.
4370	ForceSendFields []string `json:"-"`
4371
4372	// NullFields is a list of field names (e.g. "Message") to include in
4373	// API requests with the JSON null value. By default, fields with empty
4374	// values are omitted from API requests. However, any field with an
4375	// empty value appearing in NullFields will be sent to the server as
4376	// null. It is an error if a field in this list has a non-empty value.
4377	// This may be used to include null fields in Patch requests.
4378	NullFields []string `json:"-"`
4379}
4380
4381func (s *IngestMessageRequest) MarshalJSON() ([]byte, error) {
4382	type NoMethod IngestMessageRequest
4383	raw := NoMethod(*s)
4384	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4385}
4386
4387// IngestMessageResponse: Acknowledges that a message has been ingested
4388// into the specified HL7v2 store.
4389type IngestMessageResponse struct {
4390	// Hl7Ack: HL7v2 ACK message.
4391	Hl7Ack string `json:"hl7Ack,omitempty"`
4392
4393	// Message: Created message resource.
4394	Message *Message `json:"message,omitempty"`
4395
4396	// ServerResponse contains the HTTP response code and headers from the
4397	// server.
4398	googleapi.ServerResponse `json:"-"`
4399
4400	// ForceSendFields is a list of field names (e.g. "Hl7Ack") to
4401	// unconditionally include in API requests. By default, fields with
4402	// empty values are omitted from API requests. However, any non-pointer,
4403	// non-interface field appearing in ForceSendFields will be sent to the
4404	// server regardless of whether the field is empty or not. This may be
4405	// used to include empty fields in Patch requests.
4406	ForceSendFields []string `json:"-"`
4407
4408	// NullFields is a list of field names (e.g. "Hl7Ack") to include in API
4409	// requests with the JSON null value. By default, fields with empty
4410	// values are omitted from API requests. However, any field with an
4411	// empty value appearing in NullFields will be sent to the server as
4412	// null. It is an error if a field in this list has a non-empty value.
4413	// This may be used to include null fields in Patch requests.
4414	NullFields []string `json:"-"`
4415}
4416
4417func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) {
4418	type NoMethod IngestMessageResponse
4419	raw := NoMethod(*s)
4420	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4421}
4422
4423// LinkedEntity: EntityMentions can be linked to multiple entities using
4424// a LinkedEntity message lets us add other fields, e.g. confidence.
4425type LinkedEntity struct {
4426	// EntityId: entity_id is a concept unique identifier. These are
4427	// prefixed by a string that identifies the entity coding system,
4428	// followed by the unique identifier within that system. For example,
4429	// "UMLS/C0000970". This also supports ad hoc entities, which are formed
4430	// by normalizing entity mention content.
4431	EntityId string `json:"entityId,omitempty"`
4432
4433	// ForceSendFields is a list of field names (e.g. "EntityId") to
4434	// unconditionally include in API requests. By default, fields with
4435	// empty values are omitted from API requests. However, any non-pointer,
4436	// non-interface field appearing in ForceSendFields will be sent to the
4437	// server regardless of whether the field is empty or not. This may be
4438	// used to include empty fields in Patch requests.
4439	ForceSendFields []string `json:"-"`
4440
4441	// NullFields is a list of field names (e.g. "EntityId") to include in
4442	// API requests with the JSON null value. By default, fields with empty
4443	// values are omitted from API requests. However, any field with an
4444	// empty value appearing in NullFields will be sent to the server as
4445	// null. It is an error if a field in this list has a non-empty value.
4446	// This may be used to include null fields in Patch requests.
4447	NullFields []string `json:"-"`
4448}
4449
4450func (s *LinkedEntity) MarshalJSON() ([]byte, error) {
4451	type NoMethod LinkedEntity
4452	raw := NoMethod(*s)
4453	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4454}
4455
4456// ListAnnotationStoresResponse: Lists the Annotation stores in the
4457// given dataset.
4458type ListAnnotationStoresResponse struct {
4459	// AnnotationStores: The returned Annotation stores. Won't be more
4460	// Annotation stores than the value of page_size in the request.
4461	AnnotationStores []*AnnotationStore `json:"annotationStores,omitempty"`
4462
4463	// NextPageToken: Token to retrieve the next page of results or empty if
4464	// there are no more results in the list.
4465	NextPageToken string `json:"nextPageToken,omitempty"`
4466
4467	// ServerResponse contains the HTTP response code and headers from the
4468	// server.
4469	googleapi.ServerResponse `json:"-"`
4470
4471	// ForceSendFields is a list of field names (e.g. "AnnotationStores") to
4472	// unconditionally include in API requests. By default, fields with
4473	// empty values are omitted from API requests. However, any non-pointer,
4474	// non-interface field appearing in ForceSendFields will be sent to the
4475	// server regardless of whether the field is empty or not. This may be
4476	// used to include empty fields in Patch requests.
4477	ForceSendFields []string `json:"-"`
4478
4479	// NullFields is a list of field names (e.g. "AnnotationStores") to
4480	// include in API requests with the JSON null value. By default, fields
4481	// with empty values are omitted from API requests. However, any field
4482	// with an empty value appearing in NullFields will be sent to the
4483	// server as null. It is an error if a field in this list has a
4484	// non-empty value. This may be used to include null fields in Patch
4485	// requests.
4486	NullFields []string `json:"-"`
4487}
4488
4489func (s *ListAnnotationStoresResponse) MarshalJSON() ([]byte, error) {
4490	type NoMethod ListAnnotationStoresResponse
4491	raw := NoMethod(*s)
4492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4493}
4494
4495// ListAnnotationsResponse: Lists the Annotations in the specified
4496// Annotation store.
4497type ListAnnotationsResponse struct {
4498	// Annotations: The returned Annotations. Won't be more values than the
4499	// value of page_size in the request. See `AnnotationView` in the
4500	// request for populated fields.
4501	Annotations []*Annotation `json:"annotations,omitempty"`
4502
4503	// NextPageToken: Token to retrieve the next page of results or empty if
4504	// there are no more results in the list.
4505	NextPageToken string `json:"nextPageToken,omitempty"`
4506
4507	// ServerResponse contains the HTTP response code and headers from the
4508	// server.
4509	googleapi.ServerResponse `json:"-"`
4510
4511	// ForceSendFields is a list of field names (e.g. "Annotations") to
4512	// unconditionally include in API requests. By default, fields with
4513	// empty values are omitted from API requests. However, any non-pointer,
4514	// non-interface field appearing in ForceSendFields will be sent to the
4515	// server regardless of whether the field is empty or not. This may be
4516	// used to include empty fields in Patch requests.
4517	ForceSendFields []string `json:"-"`
4518
4519	// NullFields is a list of field names (e.g. "Annotations") to include
4520	// in API requests with the JSON null value. By default, fields with
4521	// empty values are omitted from API requests. However, any field with
4522	// an empty value appearing in NullFields will be sent to the server as
4523	// null. It is an error if a field in this list has a non-empty value.
4524	// This may be used to include null fields in Patch requests.
4525	NullFields []string `json:"-"`
4526}
4527
4528func (s *ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
4529	type NoMethod ListAnnotationsResponse
4530	raw := NoMethod(*s)
4531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4532}
4533
4534type ListAttributeDefinitionsResponse struct {
4535	// AttributeDefinitions: The returned Attribute definitions. The maximum
4536	// number of attributes returned is determined by the value of page_size
4537	// in the ListAttributeDefinitionsRequest.
4538	AttributeDefinitions []*AttributeDefinition `json:"attributeDefinitions,omitempty"`
4539
4540	// NextPageToken: Token to retrieve the next page of results, or empty
4541	// if there are no more results in the list.
4542	NextPageToken string `json:"nextPageToken,omitempty"`
4543
4544	// ServerResponse contains the HTTP response code and headers from the
4545	// server.
4546	googleapi.ServerResponse `json:"-"`
4547
4548	// ForceSendFields is a list of field names (e.g.
4549	// "AttributeDefinitions") to unconditionally include in API requests.
4550	// By default, fields with empty values are omitted from API requests.
4551	// However, any non-pointer, non-interface field appearing in
4552	// ForceSendFields will be sent to the server regardless of whether the
4553	// field is empty or not. This may be used to include empty fields in
4554	// Patch requests.
4555	ForceSendFields []string `json:"-"`
4556
4557	// NullFields is a list of field names (e.g. "AttributeDefinitions") to
4558	// include in API requests with the JSON null value. By default, fields
4559	// with empty values are omitted from API requests. However, any field
4560	// with an empty value appearing in NullFields will be sent to the
4561	// server as null. It is an error if a field in this list has a
4562	// non-empty value. This may be used to include null fields in Patch
4563	// requests.
4564	NullFields []string `json:"-"`
4565}
4566
4567func (s *ListAttributeDefinitionsResponse) MarshalJSON() ([]byte, error) {
4568	type NoMethod ListAttributeDefinitionsResponse
4569	raw := NoMethod(*s)
4570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4571}
4572
4573type ListConsentArtifactsResponse struct {
4574	// ConsentArtifacts: The returned Consent artifacts. The maximum number
4575	// of artifacts returned is determined by the value of page_size in the
4576	// ListConsentArtifactsRequest.
4577	ConsentArtifacts []*ConsentArtifact `json:"consentArtifacts,omitempty"`
4578
4579	// NextPageToken: Token to retrieve the next page of results, or empty
4580	// if there are no more results in the list.
4581	NextPageToken string `json:"nextPageToken,omitempty"`
4582
4583	// ServerResponse contains the HTTP response code and headers from the
4584	// server.
4585	googleapi.ServerResponse `json:"-"`
4586
4587	// ForceSendFields is a list of field names (e.g. "ConsentArtifacts") to
4588	// unconditionally include in API requests. By default, fields with
4589	// empty values are omitted from API requests. However, any non-pointer,
4590	// non-interface field appearing in ForceSendFields will be sent to the
4591	// server regardless of whether the field is empty or not. This may be
4592	// used to include empty fields in Patch requests.
4593	ForceSendFields []string `json:"-"`
4594
4595	// NullFields is a list of field names (e.g. "ConsentArtifacts") to
4596	// include in API requests with the JSON null value. By default, fields
4597	// with empty values are omitted from API requests. However, any field
4598	// with an empty value appearing in NullFields will be sent to the
4599	// server as null. It is an error if a field in this list has a
4600	// non-empty value. This may be used to include null fields in Patch
4601	// requests.
4602	NullFields []string `json:"-"`
4603}
4604
4605func (s *ListConsentArtifactsResponse) MarshalJSON() ([]byte, error) {
4606	type NoMethod ListConsentArtifactsResponse
4607	raw := NoMethod(*s)
4608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4609}
4610
4611type ListConsentRevisionsResponse struct {
4612	// Consents: The returned Consent revisions. The maximum number of
4613	// revisions returned is determined by the value of `page_size` in the
4614	// ListConsentRevisionsRequest.
4615	Consents []*Consent `json:"consents,omitempty"`
4616
4617	// NextPageToken: Token to retrieve the next page of results, or empty
4618	// if there are no more results in the list.
4619	NextPageToken string `json:"nextPageToken,omitempty"`
4620
4621	// ServerResponse contains the HTTP response code and headers from the
4622	// server.
4623	googleapi.ServerResponse `json:"-"`
4624
4625	// ForceSendFields is a list of field names (e.g. "Consents") to
4626	// unconditionally include in API requests. By default, fields with
4627	// empty values are omitted from API requests. However, any non-pointer,
4628	// non-interface field appearing in ForceSendFields will be sent to the
4629	// server regardless of whether the field is empty or not. This may be
4630	// used to include empty fields in Patch requests.
4631	ForceSendFields []string `json:"-"`
4632
4633	// NullFields is a list of field names (e.g. "Consents") to include in
4634	// API requests with the JSON null value. By default, fields with empty
4635	// values are omitted from API requests. However, any field with an
4636	// empty value appearing in NullFields will be sent to the server as
4637	// null. It is an error if a field in this list has a non-empty value.
4638	// This may be used to include null fields in Patch requests.
4639	NullFields []string `json:"-"`
4640}
4641
4642func (s *ListConsentRevisionsResponse) MarshalJSON() ([]byte, error) {
4643	type NoMethod ListConsentRevisionsResponse
4644	raw := NoMethod(*s)
4645	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4646}
4647
4648type ListConsentStoresResponse struct {
4649	// ConsentStores: The returned consent stores. The maximum number of
4650	// stores returned is determined by the value of page_size in the
4651	// ListConsentStoresRequest.
4652	ConsentStores []*ConsentStore `json:"consentStores,omitempty"`
4653
4654	// NextPageToken: Token to retrieve the next page of results, or empty
4655	// if there are no more results in the list.
4656	NextPageToken string `json:"nextPageToken,omitempty"`
4657
4658	// ServerResponse contains the HTTP response code and headers from the
4659	// server.
4660	googleapi.ServerResponse `json:"-"`
4661
4662	// ForceSendFields is a list of field names (e.g. "ConsentStores") to
4663	// unconditionally include in API requests. By default, fields with
4664	// empty values are omitted from API requests. However, any non-pointer,
4665	// non-interface field appearing in ForceSendFields will be sent to the
4666	// server regardless of whether the field is empty or not. This may be
4667	// used to include empty fields in Patch requests.
4668	ForceSendFields []string `json:"-"`
4669
4670	// NullFields is a list of field names (e.g. "ConsentStores") to include
4671	// in API requests with the JSON null value. By default, fields with
4672	// empty values are omitted from API requests. However, any field with
4673	// an empty value appearing in NullFields will be sent to the server as
4674	// null. It is an error if a field in this list has a non-empty value.
4675	// This may be used to include null fields in Patch requests.
4676	NullFields []string `json:"-"`
4677}
4678
4679func (s *ListConsentStoresResponse) MarshalJSON() ([]byte, error) {
4680	type NoMethod ListConsentStoresResponse
4681	raw := NoMethod(*s)
4682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4683}
4684
4685type ListConsentsResponse struct {
4686	// Consents: The returned Consents. The maximum number of Consents
4687	// returned is determined by the value of page_size in the
4688	// ListConsentsRequest.
4689	Consents []*Consent `json:"consents,omitempty"`
4690
4691	// NextPageToken: Token to retrieve the next page of results, or empty
4692	// if there are no more results in the list.
4693	NextPageToken string `json:"nextPageToken,omitempty"`
4694
4695	// ServerResponse contains the HTTP response code and headers from the
4696	// server.
4697	googleapi.ServerResponse `json:"-"`
4698
4699	// ForceSendFields is a list of field names (e.g. "Consents") to
4700	// unconditionally include in API requests. By default, fields with
4701	// empty values are omitted from API requests. However, any non-pointer,
4702	// non-interface field appearing in ForceSendFields will be sent to the
4703	// server regardless of whether the field is empty or not. This may be
4704	// used to include empty fields in Patch requests.
4705	ForceSendFields []string `json:"-"`
4706
4707	// NullFields is a list of field names (e.g. "Consents") to include in
4708	// API requests with the JSON null value. By default, fields with empty
4709	// values are omitted from API requests. However, any field with an
4710	// empty value appearing in NullFields will be sent to the server as
4711	// null. It is an error if a field in this list has a non-empty value.
4712	// This may be used to include null fields in Patch requests.
4713	NullFields []string `json:"-"`
4714}
4715
4716func (s *ListConsentsResponse) MarshalJSON() ([]byte, error) {
4717	type NoMethod ListConsentsResponse
4718	raw := NoMethod(*s)
4719	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4720}
4721
4722// ListDatasetsResponse: Lists the available datasets.
4723type ListDatasetsResponse struct {
4724	// Datasets: The first page of datasets.
4725	Datasets []*Dataset `json:"datasets,omitempty"`
4726
4727	// NextPageToken: Token to retrieve the next page of results, or empty
4728	// if there are no more results in the list.
4729	NextPageToken string `json:"nextPageToken,omitempty"`
4730
4731	// ServerResponse contains the HTTP response code and headers from the
4732	// server.
4733	googleapi.ServerResponse `json:"-"`
4734
4735	// ForceSendFields is a list of field names (e.g. "Datasets") to
4736	// unconditionally include in API requests. By default, fields with
4737	// empty values are omitted from API requests. However, any non-pointer,
4738	// non-interface field appearing in ForceSendFields will be sent to the
4739	// server regardless of whether the field is empty or not. This may be
4740	// used to include empty fields in Patch requests.
4741	ForceSendFields []string `json:"-"`
4742
4743	// NullFields is a list of field names (e.g. "Datasets") to include in
4744	// API requests with the JSON null value. By default, fields with empty
4745	// values are omitted from API requests. However, any field with an
4746	// empty value appearing in NullFields will be sent to the server as
4747	// null. It is an error if a field in this list has a non-empty value.
4748	// This may be used to include null fields in Patch requests.
4749	NullFields []string `json:"-"`
4750}
4751
4752func (s *ListDatasetsResponse) MarshalJSON() ([]byte, error) {
4753	type NoMethod ListDatasetsResponse
4754	raw := NoMethod(*s)
4755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4756}
4757
4758// ListDicomStoresResponse: Lists the DICOM stores in the given dataset.
4759type ListDicomStoresResponse struct {
4760	// DicomStores: The returned DICOM stores. Won't be more DICOM stores
4761	// than the value of page_size in the request.
4762	DicomStores []*DicomStore `json:"dicomStores,omitempty"`
4763
4764	// NextPageToken: Token to retrieve the next page of results or empty if
4765	// there are no more results in the list.
4766	NextPageToken string `json:"nextPageToken,omitempty"`
4767
4768	// ServerResponse contains the HTTP response code and headers from the
4769	// server.
4770	googleapi.ServerResponse `json:"-"`
4771
4772	// ForceSendFields is a list of field names (e.g. "DicomStores") to
4773	// unconditionally include in API requests. By default, fields with
4774	// empty values are omitted from API requests. However, any non-pointer,
4775	// non-interface field appearing in ForceSendFields will be sent to the
4776	// server regardless of whether the field is empty or not. This may be
4777	// used to include empty fields in Patch requests.
4778	ForceSendFields []string `json:"-"`
4779
4780	// NullFields is a list of field names (e.g. "DicomStores") to include
4781	// in API requests with the JSON null value. By default, fields with
4782	// empty values are omitted from API requests. However, any field with
4783	// an empty value appearing in NullFields will be sent to the server as
4784	// null. It is an error if a field in this list has a non-empty value.
4785	// This may be used to include null fields in Patch requests.
4786	NullFields []string `json:"-"`
4787}
4788
4789func (s *ListDicomStoresResponse) MarshalJSON() ([]byte, error) {
4790	type NoMethod ListDicomStoresResponse
4791	raw := NoMethod(*s)
4792	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4793}
4794
4795// ListFhirStoresResponse: Lists the FHIR stores in the given dataset.
4796type ListFhirStoresResponse struct {
4797	// FhirStores: The returned FHIR stores. Won't be more FHIR stores than
4798	// the value of page_size in the request.
4799	FhirStores []*FhirStore `json:"fhirStores,omitempty"`
4800
4801	// NextPageToken: Token to retrieve the next page of results or empty if
4802	// there are no more results in the list.
4803	NextPageToken string `json:"nextPageToken,omitempty"`
4804
4805	// ServerResponse contains the HTTP response code and headers from the
4806	// server.
4807	googleapi.ServerResponse `json:"-"`
4808
4809	// ForceSendFields is a list of field names (e.g. "FhirStores") to
4810	// unconditionally include in API requests. By default, fields with
4811	// empty values are omitted from API requests. However, any non-pointer,
4812	// non-interface field appearing in ForceSendFields will be sent to the
4813	// server regardless of whether the field is empty or not. This may be
4814	// used to include empty fields in Patch requests.
4815	ForceSendFields []string `json:"-"`
4816
4817	// NullFields is a list of field names (e.g. "FhirStores") to include in
4818	// API requests with the JSON null value. By default, fields with empty
4819	// values are omitted from API requests. However, any field with an
4820	// empty value appearing in NullFields will be sent to the server as
4821	// null. It is an error if a field in this list has a non-empty value.
4822	// This may be used to include null fields in Patch requests.
4823	NullFields []string `json:"-"`
4824}
4825
4826func (s *ListFhirStoresResponse) MarshalJSON() ([]byte, error) {
4827	type NoMethod ListFhirStoresResponse
4828	raw := NoMethod(*s)
4829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4830}
4831
4832// ListHl7V2StoresResponse: Lists the HL7v2 stores in the given dataset.
4833type ListHl7V2StoresResponse struct {
4834	// Hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores
4835	// than the value of page_size in the request.
4836	Hl7V2Stores []*Hl7V2Store `json:"hl7V2Stores,omitempty"`
4837
4838	// NextPageToken: Token to retrieve the next page of results or empty if
4839	// there are no more results in the list.
4840	NextPageToken string `json:"nextPageToken,omitempty"`
4841
4842	// ServerResponse contains the HTTP response code and headers from the
4843	// server.
4844	googleapi.ServerResponse `json:"-"`
4845
4846	// ForceSendFields is a list of field names (e.g. "Hl7V2Stores") to
4847	// unconditionally include in API requests. By default, fields with
4848	// empty values are omitted from API requests. However, any non-pointer,
4849	// non-interface field appearing in ForceSendFields will be sent to the
4850	// server regardless of whether the field is empty or not. This may be
4851	// used to include empty fields in Patch requests.
4852	ForceSendFields []string `json:"-"`
4853
4854	// NullFields is a list of field names (e.g. "Hl7V2Stores") to include
4855	// in API requests with the JSON null value. By default, fields with
4856	// empty values are omitted from API requests. However, any field with
4857	// an empty value appearing in NullFields will be sent to the server as
4858	// null. It is an error if a field in this list has a non-empty value.
4859	// This may be used to include null fields in Patch requests.
4860	NullFields []string `json:"-"`
4861}
4862
4863func (s *ListHl7V2StoresResponse) MarshalJSON() ([]byte, error) {
4864	type NoMethod ListHl7V2StoresResponse
4865	raw := NoMethod(*s)
4866	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4867}
4868
4869// ListLocationsResponse: The response message for
4870// Locations.ListLocations.
4871type ListLocationsResponse struct {
4872	// Locations: A list of locations that matches the specified filter in
4873	// the request.
4874	Locations []*Location `json:"locations,omitempty"`
4875
4876	// NextPageToken: The standard List next-page token.
4877	NextPageToken string `json:"nextPageToken,omitempty"`
4878
4879	// ServerResponse contains the HTTP response code and headers from the
4880	// server.
4881	googleapi.ServerResponse `json:"-"`
4882
4883	// ForceSendFields is a list of field names (e.g. "Locations") to
4884	// unconditionally include in API requests. By default, fields with
4885	// empty values are omitted from API requests. However, any non-pointer,
4886	// non-interface field appearing in ForceSendFields will be sent to the
4887	// server regardless of whether the field is empty or not. This may be
4888	// used to include empty fields in Patch requests.
4889	ForceSendFields []string `json:"-"`
4890
4891	// NullFields is a list of field names (e.g. "Locations") to include in
4892	// API requests with the JSON null value. By default, fields with empty
4893	// values are omitted from API requests. However, any field with an
4894	// empty value appearing in NullFields will be sent to the server as
4895	// null. It is an error if a field in this list has a non-empty value.
4896	// This may be used to include null fields in Patch requests.
4897	NullFields []string `json:"-"`
4898}
4899
4900func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
4901	type NoMethod ListLocationsResponse
4902	raw := NoMethod(*s)
4903	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4904}
4905
4906// ListMessagesResponse: Lists the messages in the specified HL7v2
4907// store.
4908type ListMessagesResponse struct {
4909	// Hl7V2Messages: The returned Messages. Won't be more Messages than the
4910	// value of page_size in the request. See view for populated fields.
4911	Hl7V2Messages []*Message `json:"hl7V2Messages,omitempty"`
4912
4913	// NextPageToken: Token to retrieve the next page of results or empty if
4914	// there are no more results in the list.
4915	NextPageToken string `json:"nextPageToken,omitempty"`
4916
4917	// ServerResponse contains the HTTP response code and headers from the
4918	// server.
4919	googleapi.ServerResponse `json:"-"`
4920
4921	// ForceSendFields is a list of field names (e.g. "Hl7V2Messages") to
4922	// unconditionally include in API requests. By default, fields with
4923	// empty values are omitted from API requests. However, any non-pointer,
4924	// non-interface field appearing in ForceSendFields will be sent to the
4925	// server regardless of whether the field is empty or not. This may be
4926	// used to include empty fields in Patch requests.
4927	ForceSendFields []string `json:"-"`
4928
4929	// NullFields is a list of field names (e.g. "Hl7V2Messages") to include
4930	// in API requests with the JSON null value. By default, fields with
4931	// empty values are omitted from API requests. However, any field with
4932	// an empty value appearing in NullFields will be sent to the server as
4933	// null. It is an error if a field in this list has a non-empty value.
4934	// This may be used to include null fields in Patch requests.
4935	NullFields []string `json:"-"`
4936}
4937
4938func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) {
4939	type NoMethod ListMessagesResponse
4940	raw := NoMethod(*s)
4941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4942}
4943
4944// ListOperationsResponse: The response message for
4945// Operations.ListOperations.
4946type ListOperationsResponse struct {
4947	// NextPageToken: The standard List next-page token.
4948	NextPageToken string `json:"nextPageToken,omitempty"`
4949
4950	// Operations: A list of operations that matches the specified filter in
4951	// the request.
4952	Operations []*Operation `json:"operations,omitempty"`
4953
4954	// ServerResponse contains the HTTP response code and headers from the
4955	// server.
4956	googleapi.ServerResponse `json:"-"`
4957
4958	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4959	// unconditionally include in API requests. By default, fields with
4960	// empty values are omitted from API requests. However, any non-pointer,
4961	// non-interface field appearing in ForceSendFields will be sent to the
4962	// server regardless of whether the field is empty or not. This may be
4963	// used to include empty fields in Patch requests.
4964	ForceSendFields []string `json:"-"`
4965
4966	// NullFields is a list of field names (e.g. "NextPageToken") to include
4967	// in API requests with the JSON null value. By default, fields with
4968	// empty values are omitted from API requests. However, any field with
4969	// an empty value appearing in NullFields will be sent to the server as
4970	// null. It is an error if a field in this list has a non-empty value.
4971	// This may be used to include null fields in Patch requests.
4972	NullFields []string `json:"-"`
4973}
4974
4975func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
4976	type NoMethod ListOperationsResponse
4977	raw := NoMethod(*s)
4978	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4979}
4980
4981type ListUserDataMappingsResponse struct {
4982	// NextPageToken: Token to retrieve the next page of results, or empty
4983	// if there are no more results in the list.
4984	NextPageToken string `json:"nextPageToken,omitempty"`
4985
4986	// UserDataMappings: The returned User data mappings. The maximum number
4987	// of User data mappings returned is determined by the value of
4988	// page_size in the ListUserDataMappingsRequest.
4989	UserDataMappings []*UserDataMapping `json:"userDataMappings,omitempty"`
4990
4991	// ServerResponse contains the HTTP response code and headers from the
4992	// server.
4993	googleapi.ServerResponse `json:"-"`
4994
4995	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4996	// unconditionally include in API requests. By default, fields with
4997	// empty values are omitted from API requests. However, any non-pointer,
4998	// non-interface field appearing in ForceSendFields will be sent to the
4999	// server regardless of whether the field is empty or not. This may be
5000	// used to include empty fields in Patch requests.
5001	ForceSendFields []string `json:"-"`
5002
5003	// NullFields is a list of field names (e.g. "NextPageToken") to include
5004	// in API requests with the JSON null value. By default, fields with
5005	// empty values are omitted from API requests. However, any field with
5006	// an empty value appearing in NullFields will be sent to the server as
5007	// null. It is an error if a field in this list has a non-empty value.
5008	// This may be used to include null fields in Patch requests.
5009	NullFields []string `json:"-"`
5010}
5011
5012func (s *ListUserDataMappingsResponse) MarshalJSON() ([]byte, error) {
5013	type NoMethod ListUserDataMappingsResponse
5014	raw := NoMethod(*s)
5015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5016}
5017
5018// Location: A resource that represents Google Cloud Platform location.
5019type Location struct {
5020	// DisplayName: The friendly name for this location, typically a nearby
5021	// city name. For example, "Tokyo".
5022	DisplayName string `json:"displayName,omitempty"`
5023
5024	// Labels: Cross-service attributes for the location. For example
5025	// {"cloud.googleapis.com/region": "us-east1"}
5026	Labels map[string]string `json:"labels,omitempty"`
5027
5028	// LocationId: The canonical id for this location. For example:
5029	// "us-east1".
5030	LocationId string `json:"locationId,omitempty"`
5031
5032	// Metadata: Service-specific metadata. For example the available
5033	// capacity at the given location.
5034	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5035
5036	// Name: Resource name for the location, which may vary between
5037	// implementations. For example:
5038	// "projects/example-project/locations/us-east1"
5039	Name string `json:"name,omitempty"`
5040
5041	// ServerResponse contains the HTTP response code and headers from the
5042	// server.
5043	googleapi.ServerResponse `json:"-"`
5044
5045	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5046	// unconditionally include in API requests. By default, fields with
5047	// empty values are omitted from API requests. However, any non-pointer,
5048	// non-interface field appearing in ForceSendFields will be sent to the
5049	// server regardless of whether the field is empty or not. This may be
5050	// used to include empty fields in Patch requests.
5051	ForceSendFields []string `json:"-"`
5052
5053	// NullFields is a list of field names (e.g. "DisplayName") to include
5054	// in API requests with the JSON null value. By default, fields with
5055	// empty values are omitted from API requests. However, any field with
5056	// an empty value appearing in NullFields will be sent to the server as
5057	// null. It is an error if a field in this list has a non-empty value.
5058	// This may be used to include null fields in Patch requests.
5059	NullFields []string `json:"-"`
5060}
5061
5062func (s *Location) MarshalJSON() ([]byte, error) {
5063	type NoMethod Location
5064	raw := NoMethod(*s)
5065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5066}
5067
5068// Message: A complete HL7v2 message. See [Introduction to HL7
5069// Standards]
5070// (https://www.hl7.org/implement/standards/index.cfm?ref=common) for
5071// details on the standard.
5072type Message struct {
5073	// CreateTime: Output only. The datetime when the message was created.
5074	// Set by the server.
5075	CreateTime string `json:"createTime,omitempty"`
5076
5077	// Data: Raw message bytes.
5078	Data string `json:"data,omitempty"`
5079
5080	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
5081	// Label keys must be between 1 and 63 characters long, have a UTF-8
5082	// encoding of maximum 128 bytes, and must conform to the following PCRE
5083	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
5084	// must be between 1 and 63 characters long, have a UTF-8 encoding of
5085	// maximum 128 bytes, and must conform to the following PCRE regular
5086	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
5087	// associated with a given store.
5088	Labels map[string]string `json:"labels,omitempty"`
5089
5090	// MessageType: The message type for this message. MSH-9.1.
5091	MessageType string `json:"messageType,omitempty"`
5092
5093	// Name: Resource name of the Message, of the form
5094	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store
5095	// _id}/messages/{message_id}`. Assigned by the server.
5096	Name string `json:"name,omitempty"`
5097
5098	// ParsedData: Output only. The parsed version of the raw message data.
5099	ParsedData *ParsedData `json:"parsedData,omitempty"`
5100
5101	// PatientIds: All patient IDs listed in the PID-2, PID-3, and PID-4
5102	// segments of this message.
5103	PatientIds []*PatientId `json:"patientIds,omitempty"`
5104
5105	// SchematizedData: The parsed version of the raw message data
5106	// schematized according to this store's schemas and type definitions.
5107	SchematizedData *SchematizedData `json:"schematizedData,omitempty"`
5108
5109	// SendFacility: The hospital that this message came from. MSH-4.
5110	SendFacility string `json:"sendFacility,omitempty"`
5111
5112	// SendTime: The datetime the sending application sent this message.
5113	// MSH-7.
5114	SendTime string `json:"sendTime,omitempty"`
5115
5116	// ServerResponse contains the HTTP response code and headers from the
5117	// server.
5118	googleapi.ServerResponse `json:"-"`
5119
5120	// ForceSendFields is a list of field names (e.g. "CreateTime") to
5121	// unconditionally include in API requests. By default, fields with
5122	// empty values are omitted from API requests. However, any non-pointer,
5123	// non-interface field appearing in ForceSendFields will be sent to the
5124	// server regardless of whether the field is empty or not. This may be
5125	// used to include empty fields in Patch requests.
5126	ForceSendFields []string `json:"-"`
5127
5128	// NullFields is a list of field names (e.g. "CreateTime") to include in
5129	// API requests with the JSON null value. By default, fields with empty
5130	// values are omitted from API requests. However, any field with an
5131	// empty value appearing in NullFields will be sent to the server as
5132	// null. It is an error if a field in this list has a non-empty value.
5133	// This may be used to include null fields in Patch requests.
5134	NullFields []string `json:"-"`
5135}
5136
5137func (s *Message) MarshalJSON() ([]byte, error) {
5138	type NoMethod Message
5139	raw := NoMethod(*s)
5140	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5141}
5142
5143// NotificationConfig: Specifies where to send notifications upon
5144// changes to a data store.
5145type NotificationConfig struct {
5146	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
5147	// topic that notifications of changes are published on. Supplied by the
5148	// client. PubsubMessage.Data contains the resource name.
5149	// PubsubMessage.MessageId is the ID of this message. It is guaranteed
5150	// to be unique within the topic. PubsubMessage.PublishTime is the time
5151	// at which the message was published. Notifications are only sent if
5152	// the topic is non-empty. Topic names
5153	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
5154	// to a project. Cloud Healthcare API service account must have
5155	// publisher permissions on the given Pub/Sub topic. Not having adequate
5156	// permissions causes the calls that send notifications to fail. If a
5157	// notification can't be published to Pub/Sub, errors are logged to
5158	// Cloud Logging (see Viewing error logs in Cloud Logging
5159	// (https://cloud.google.com/healthcare/docs/how-tos/logging)). If the
5160	// number of errors exceeds a certain rate, some aren't submitted. Note
5161	// that not all operations trigger notifications, see Configuring
5162	// Pub/Sub notifications
5163	// (https://cloud.google.com/healthcare/docs/how-tos/pubsub) for
5164	// specific details.
5165	PubsubTopic string `json:"pubsubTopic,omitempty"`
5166
5167	// ForceSendFields is a list of field names (e.g. "PubsubTopic") to
5168	// unconditionally include in API requests. By default, fields with
5169	// empty values are omitted from API requests. However, any non-pointer,
5170	// non-interface field appearing in ForceSendFields will be sent to the
5171	// server regardless of whether the field is empty or not. This may be
5172	// used to include empty fields in Patch requests.
5173	ForceSendFields []string `json:"-"`
5174
5175	// NullFields is a list of field names (e.g. "PubsubTopic") to include
5176	// in API requests with the JSON null value. By default, fields with
5177	// empty values are omitted from API requests. However, any field with
5178	// an empty value appearing in NullFields will be sent to the server as
5179	// null. It is an error if a field in this list has a non-empty value.
5180	// This may be used to include null fields in Patch requests.
5181	NullFields []string `json:"-"`
5182}
5183
5184func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
5185	type NoMethod NotificationConfig
5186	raw := NoMethod(*s)
5187	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5188}
5189
5190// Operation: This resource represents a long-running operation that is
5191// the result of a network API call.
5192type Operation struct {
5193	// Done: If the value is `false`, it means the operation is still in
5194	// progress. If `true`, the operation is completed, and either `error`
5195	// or `response` is available.
5196	Done bool `json:"done,omitempty"`
5197
5198	// Error: The error result of the operation in case of failure or
5199	// cancellation.
5200	Error *Status `json:"error,omitempty"`
5201
5202	// Metadata: Service-specific metadata associated with the operation. It
5203	// typically contains progress information and common metadata such as
5204	// create time. Some services might not provide such metadata. Any
5205	// method that returns a long-running operation should document the
5206	// metadata type, if any.
5207	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5208
5209	// Name: The server-assigned name, which is only unique within the same
5210	// service that originally returns it. If you use the default HTTP
5211	// mapping, the `name` should be a resource name ending with
5212	// `operations/{unique_id}`.
5213	Name string `json:"name,omitempty"`
5214
5215	// Response: The normal response of the operation in case of success. If
5216	// the original method returns no data on success, such as `Delete`, the
5217	// response is `google.protobuf.Empty`. If the original method is
5218	// standard `Get`/`Create`/`Update`, the response should be the
5219	// resource. For other methods, the response should have the type
5220	// `XxxResponse`, where `Xxx` is the original method name. For example,
5221	// if the original method name is `TakeSnapshot()`, the inferred
5222	// response type is `TakeSnapshotResponse`.
5223	Response googleapi.RawMessage `json:"response,omitempty"`
5224
5225	// ServerResponse contains the HTTP response code and headers from the
5226	// server.
5227	googleapi.ServerResponse `json:"-"`
5228
5229	// ForceSendFields is a list of field names (e.g. "Done") to
5230	// unconditionally include in API requests. By default, fields with
5231	// empty values are omitted from API requests. However, any non-pointer,
5232	// non-interface field appearing in ForceSendFields will be sent to the
5233	// server regardless of whether the field is empty or not. This may be
5234	// used to include empty fields in Patch requests.
5235	ForceSendFields []string `json:"-"`
5236
5237	// NullFields is a list of field names (e.g. "Done") to include in API
5238	// requests with the JSON null value. By default, fields with empty
5239	// values are omitted from API requests. However, any field with an
5240	// empty value appearing in NullFields will be sent to the server as
5241	// null. It is an error if a field in this list has a non-empty value.
5242	// This may be used to include null fields in Patch requests.
5243	NullFields []string `json:"-"`
5244}
5245
5246func (s *Operation) MarshalJSON() ([]byte, error) {
5247	type NoMethod Operation
5248	raw := NoMethod(*s)
5249	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5250}
5251
5252// OperationMetadata: OperationMetadata provides information about the
5253// operation execution. Returned in the long-running operation's
5254// metadata field.
5255type OperationMetadata struct {
5256	// ApiMethodName: The name of the API method that initiated the
5257	// operation.
5258	ApiMethodName string `json:"apiMethodName,omitempty"`
5259
5260	// CancelRequested: Specifies if cancellation was requested for the
5261	// operation.
5262	CancelRequested bool `json:"cancelRequested,omitempty"`
5263
5264	Counter *ProgressCounter `json:"counter,omitempty"`
5265
5266	// CreateTime: The time at which the operation was created by the API.
5267	CreateTime string `json:"createTime,omitempty"`
5268
5269	// EndTime: The time at which execution was completed.
5270	EndTime string `json:"endTime,omitempty"`
5271
5272	// LogsUrl: A link to audit and error logs in the log viewer. Error logs
5273	// are generated only by some operations, listed at Viewing error logs
5274	// in Cloud Logging
5275	// (https://cloud.google.com/healthcare/docs/how-tos/logging).
5276	LogsUrl string `json:"logsUrl,omitempty"`
5277
5278	// ForceSendFields is a list of field names (e.g. "ApiMethodName") to
5279	// unconditionally include in API requests. By default, fields with
5280	// empty values are omitted from API requests. However, any non-pointer,
5281	// non-interface field appearing in ForceSendFields will be sent to the
5282	// server regardless of whether the field is empty or not. This may be
5283	// used to include empty fields in Patch requests.
5284	ForceSendFields []string `json:"-"`
5285
5286	// NullFields is a list of field names (e.g. "ApiMethodName") to include
5287	// in API requests with the JSON null value. By default, fields with
5288	// empty values are omitted from API requests. However, any field with
5289	// an empty value appearing in NullFields will be sent to the server as
5290	// null. It is an error if a field in this list has a non-empty value.
5291	// This may be used to include null fields in Patch requests.
5292	NullFields []string `json:"-"`
5293}
5294
5295func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
5296	type NoMethod OperationMetadata
5297	raw := NoMethod(*s)
5298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5299}
5300
5301// ParsedData: The content of an HL7v2 message in a structured format.
5302type ParsedData struct {
5303	Segments []*Segment `json:"segments,omitempty"`
5304
5305	// ForceSendFields is a list of field names (e.g. "Segments") to
5306	// unconditionally include in API requests. By default, fields with
5307	// empty values are omitted from API requests. However, any non-pointer,
5308	// non-interface field appearing in ForceSendFields will be sent to the
5309	// server regardless of whether the field is empty or not. This may be
5310	// used to include empty fields in Patch requests.
5311	ForceSendFields []string `json:"-"`
5312
5313	// NullFields is a list of field names (e.g. "Segments") to include in
5314	// API requests with the JSON null value. By default, fields with empty
5315	// values are omitted from API requests. However, any field with an
5316	// empty value appearing in NullFields will be sent to the server as
5317	// null. It is an error if a field in this list has a non-empty value.
5318	// This may be used to include null fields in Patch requests.
5319	NullFields []string `json:"-"`
5320}
5321
5322func (s *ParsedData) MarshalJSON() ([]byte, error) {
5323	type NoMethod ParsedData
5324	raw := NoMethod(*s)
5325	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5326}
5327
5328// ParserConfig: The configuration for the parser. It determines how the
5329// server parses the messages.
5330type ParserConfig struct {
5331	// AllowNullHeader: Determines whether messages with no header are
5332	// allowed.
5333	AllowNullHeader bool `json:"allowNullHeader,omitempty"`
5334
5335	// Schema: Schemas used to parse messages in this store, if schematized
5336	// parsing is desired.
5337	Schema *SchemaPackage `json:"schema,omitempty"`
5338
5339	// SegmentTerminator: Byte(s) to use as the segment terminator. If this
5340	// is unset, '\r' is used as segment terminator, matching the HL7
5341	// version 2 specification.
5342	SegmentTerminator string `json:"segmentTerminator,omitempty"`
5343
5344	// Version: Immutable. Determines the version of the unschematized
5345	// parser to be used when `schema` is not given. This field is immutable
5346	// after store creation.
5347	//
5348	// Possible values:
5349	//   "PARSER_VERSION_UNSPECIFIED" - Unspecified parser version,
5350	// equivalent to V1.
5351	//   "V1" - The `parsed_data` includes every given non-empty message
5352	// field except the Field Separator (MSH-1) field. As a result, the
5353	// parsed MSH segment starts with the MSH-2 field and the field numbers
5354	// are off-by-one with respect to the HL7 standard.
5355	//   "V2" - The `parsed_data` includes every given non-empty message
5356	// field.
5357	Version string `json:"version,omitempty"`
5358
5359	// ForceSendFields is a list of field names (e.g. "AllowNullHeader") to
5360	// unconditionally include in API requests. By default, fields with
5361	// empty values are omitted from API requests. However, any non-pointer,
5362	// non-interface field appearing in ForceSendFields will be sent to the
5363	// server regardless of whether the field is empty or not. This may be
5364	// used to include empty fields in Patch requests.
5365	ForceSendFields []string `json:"-"`
5366
5367	// NullFields is a list of field names (e.g. "AllowNullHeader") to
5368	// include in API requests with the JSON null value. By default, fields
5369	// with empty values are omitted from API requests. However, any field
5370	// with an empty value appearing in NullFields will be sent to the
5371	// server as null. It is an error if a field in this list has a
5372	// non-empty value. This may be used to include null fields in Patch
5373	// requests.
5374	NullFields []string `json:"-"`
5375}
5376
5377func (s *ParserConfig) MarshalJSON() ([]byte, error) {
5378	type NoMethod ParserConfig
5379	raw := NoMethod(*s)
5380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5381}
5382
5383// PatientId: A patient identifier and associated type.
5384type PatientId struct {
5385	// Type: ID type. For example, MRN or NHS.
5386	Type string `json:"type,omitempty"`
5387
5388	// Value: The patient's unique identifier.
5389	Value string `json:"value,omitempty"`
5390
5391	// ForceSendFields is a list of field names (e.g. "Type") to
5392	// unconditionally include in API requests. By default, fields with
5393	// empty values are omitted from API requests. However, any non-pointer,
5394	// non-interface field appearing in ForceSendFields will be sent to the
5395	// server regardless of whether the field is empty or not. This may be
5396	// used to include empty fields in Patch requests.
5397	ForceSendFields []string `json:"-"`
5398
5399	// NullFields is a list of field names (e.g. "Type") to include in API
5400	// requests with the JSON null value. By default, fields with empty
5401	// values are omitted from API requests. However, any field with an
5402	// empty value appearing in NullFields will be sent to the server as
5403	// null. It is an error if a field in this list has a non-empty value.
5404	// This may be used to include null fields in Patch requests.
5405	NullFields []string `json:"-"`
5406}
5407
5408func (s *PatientId) MarshalJSON() ([]byte, error) {
5409	type NoMethod PatientId
5410	raw := NoMethod(*s)
5411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5412}
5413
5414// Policy: An Identity and Access Management (IAM) policy, which
5415// specifies access controls for Google Cloud resources. A `Policy` is a
5416// collection of `bindings`. A `binding` binds one or more `members` to
5417// a single `role`. Members can be user accounts, service accounts,
5418// Google groups, and domains (such as G Suite). A `role` is a named
5419// list of permissions; each `role` can be an IAM predefined role or a
5420// user-created custom role. For some types of Google Cloud resources, a
5421// `binding` can also specify a `condition`, which is a logical
5422// expression that allows access to a resource only if the expression
5423// evaluates to `true`. A condition can add constraints based on
5424// attributes of the request, the resource, or both. To learn which
5425// resources support conditions in their IAM policies, see the IAM
5426// documentation
5427// (https://cloud.google.com/iam/help/conditions/resource-policies).
5428// **JSON example:** { "bindings": [ { "role":
5429// "roles/resourcemanager.organizationAdmin", "members": [
5430// "user:mike@example.com", "group:admins@example.com",
5431// "domain:google.com",
5432// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
5433// "role": "roles/resourcemanager.organizationViewer", "members": [
5434// "user:eve@example.com" ], "condition": { "title": "expirable access",
5435// "description": "Does not grant access after Sep 2020", "expression":
5436// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
5437// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
5438// members: - user:mike@example.com - group:admins@example.com -
5439// domain:google.com -
5440// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
5441// roles/resourcemanager.organizationAdmin - members: -
5442// user:eve@example.com role: roles/resourcemanager.organizationViewer
5443// condition: title: expirable access description: Does not grant access
5444// after Sep 2020 expression: request.time <
5445// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
5446// 3 For a description of IAM and its features, see the IAM
5447// documentation (https://cloud.google.com/iam/docs/).
5448type Policy struct {
5449	// AuditConfigs: Specifies cloud audit logging configuration for this
5450	// policy.
5451	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
5452
5453	// Bindings: Associates a list of `members` to a `role`. Optionally, may
5454	// specify a `condition` that determines how and when the `bindings` are
5455	// applied. Each of the `bindings` must contain at least one member.
5456	Bindings []*Binding `json:"bindings,omitempty"`
5457
5458	// Etag: `etag` is used for optimistic concurrency control as a way to
5459	// help prevent simultaneous updates of a policy from overwriting each
5460	// other. It is strongly suggested that systems make use of the `etag`
5461	// in the read-modify-write cycle to perform policy updates in order to
5462	// avoid race conditions: An `etag` is returned in the response to
5463	// `getIamPolicy`, and systems are expected to put that etag in the
5464	// request to `setIamPolicy` to ensure that their change will be applied
5465	// to the same version of the policy. **Important:** If you use IAM
5466	// Conditions, you must include the `etag` field whenever you call
5467	// `setIamPolicy`. If you omit this field, then IAM allows you to
5468	// overwrite a version `3` policy with a version `1` policy, and all of
5469	// the conditions in the version `3` policy are lost.
5470	Etag string `json:"etag,omitempty"`
5471
5472	// Version: Specifies the format of the policy. Valid values are `0`,
5473	// `1`, and `3`. Requests that specify an invalid value are rejected.
5474	// Any operation that affects conditional role bindings must specify
5475	// version `3`. This requirement applies to the following operations: *
5476	// Getting a policy that includes a conditional role binding * Adding a
5477	// conditional role binding to a policy * Changing a conditional role
5478	// binding in a policy * Removing any role binding, with or without a
5479	// condition, from a policy that includes conditions **Important:** If
5480	// you use IAM Conditions, you must include the `etag` field whenever
5481	// you call `setIamPolicy`. If you omit this field, then IAM allows you
5482	// to overwrite a version `3` policy with a version `1` policy, and all
5483	// of the conditions in the version `3` policy are lost. If a policy
5484	// does not include any conditions, operations on that policy may
5485	// specify any valid version or leave the field unset. To learn which
5486	// resources support conditions in their IAM policies, see the IAM
5487	// documentation
5488	// (https://cloud.google.com/iam/help/conditions/resource-policies).
5489	Version int64 `json:"version,omitempty"`
5490
5491	// ServerResponse contains the HTTP response code and headers from the
5492	// server.
5493	googleapi.ServerResponse `json:"-"`
5494
5495	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
5496	// unconditionally include in API requests. By default, fields with
5497	// empty values are omitted from API requests. However, any non-pointer,
5498	// non-interface field appearing in ForceSendFields will be sent to the
5499	// server regardless of whether the field is empty or not. This may be
5500	// used to include empty fields in Patch requests.
5501	ForceSendFields []string `json:"-"`
5502
5503	// NullFields is a list of field names (e.g. "AuditConfigs") to include
5504	// in API requests with the JSON null value. By default, fields with
5505	// empty values are omitted from API requests. However, any field with
5506	// an empty value appearing in NullFields will be sent to the server as
5507	// null. It is an error if a field in this list has a non-empty value.
5508	// This may be used to include null fields in Patch requests.
5509	NullFields []string `json:"-"`
5510}
5511
5512func (s *Policy) MarshalJSON() ([]byte, error) {
5513	type NoMethod Policy
5514	raw := NoMethod(*s)
5515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5516}
5517
5518// ProgressCounter: ProgressCounter provides counters to describe an
5519// operation's progress.
5520type ProgressCounter struct {
5521	// Failure: The number of units that failed in the operation.
5522	Failure int64 `json:"failure,omitempty,string"`
5523
5524	// Pending: The number of units that are pending in the operation.
5525	Pending int64 `json:"pending,omitempty,string"`
5526
5527	// Success: The number of units that succeeded in the operation.
5528	Success int64 `json:"success,omitempty,string"`
5529
5530	// ForceSendFields is a list of field names (e.g. "Failure") to
5531	// unconditionally include in API requests. By default, fields with
5532	// empty values are omitted from API requests. However, any non-pointer,
5533	// non-interface field appearing in ForceSendFields will be sent to the
5534	// server regardless of whether the field is empty or not. This may be
5535	// used to include empty fields in Patch requests.
5536	ForceSendFields []string `json:"-"`
5537
5538	// NullFields is a list of field names (e.g. "Failure") to include in
5539	// API requests with the JSON null value. By default, fields with empty
5540	// values are omitted from API requests. However, any field with an
5541	// empty value appearing in NullFields will be sent to the server as
5542	// null. It is an error if a field in this list has a non-empty value.
5543	// This may be used to include null fields in Patch requests.
5544	NullFields []string `json:"-"`
5545}
5546
5547func (s *ProgressCounter) MarshalJSON() ([]byte, error) {
5548	type NoMethod ProgressCounter
5549	raw := NoMethod(*s)
5550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5551}
5552
5553// QueryAccessibleDataRequest: Queries all data_ids that are consented
5554// for a given use in the given consent store and writes them to a
5555// specified destination. The returned Operation includes a progress
5556// counter for the number of User data mappings processed. Errors are
5557// logged to Cloud Logging (see [Viewing error logs in Cloud Logging]
5558// (https://cloud.google.com/healthcare/docs/how-tos/logging) and
5559// [QueryAccessibleData] for a sample log entry).
5560type QueryAccessibleDataRequest struct {
5561	// GcsDestination: The Cloud Storage destination. The Cloud Healthcare
5562	// API service account must have the `roles/storage.objectAdmin` Cloud
5563	// IAM role for this Cloud Storage location.
5564	GcsDestination *GoogleCloudHealthcareV1beta1ConsentGcsDestination `json:"gcsDestination,omitempty"`
5565
5566	// RequestAttributes: The values of request attributes associated with
5567	// this access request.
5568	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
5569
5570	// ResourceAttributes: Optional. The values of resource attributes
5571	// associated with the type of resources being requested. If no values
5572	// are specified, then all resource types are included in the output.
5573	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
5574
5575	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
5576	// unconditionally include in API requests. By default, fields with
5577	// empty values are omitted from API requests. However, any non-pointer,
5578	// non-interface field appearing in ForceSendFields will be sent to the
5579	// server regardless of whether the field is empty or not. This may be
5580	// used to include empty fields in Patch requests.
5581	ForceSendFields []string `json:"-"`
5582
5583	// NullFields is a list of field names (e.g. "GcsDestination") to
5584	// include in API requests with the JSON null value. By default, fields
5585	// with empty values are omitted from API requests. However, any field
5586	// with an empty value appearing in NullFields will be sent to the
5587	// server as null. It is an error if a field in this list has a
5588	// non-empty value. This may be used to include null fields in Patch
5589	// requests.
5590	NullFields []string `json:"-"`
5591}
5592
5593func (s *QueryAccessibleDataRequest) MarshalJSON() ([]byte, error) {
5594	type NoMethod QueryAccessibleDataRequest
5595	raw := NoMethod(*s)
5596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5597}
5598
5599// RedactConfig: Define how to redact sensitive values. Default
5600// behaviour is erase. For example, "My name is Jane." becomes "My name
5601// is ."
5602type RedactConfig struct {
5603}
5604
5605// RejectConsentRequest: Rejects the latest revision of the specified
5606// Consent by committing a new revision with `state` updated to
5607// `REJECTED`. If the latest revision of the given Consent is in the
5608// `REJECTED` state, no new revision is committed.
5609type RejectConsentRequest struct {
5610	// ConsentArtifact: Optional. The resource name of the Consent artifact
5611	// that contains documentation of the user's rejection of the draft
5612	// Consent, of the form
5613	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5614	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5615	// `. If the draft Consent had a Consent artifact, this Consent artifact
5616	// overwrites it.
5617	ConsentArtifact string `json:"consentArtifact,omitempty"`
5618
5619	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5620	// unconditionally include in API requests. By default, fields with
5621	// empty values are omitted from API requests. However, any non-pointer,
5622	// non-interface field appearing in ForceSendFields will be sent to the
5623	// server regardless of whether the field is empty or not. This may be
5624	// used to include empty fields in Patch requests.
5625	ForceSendFields []string `json:"-"`
5626
5627	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5628	// include in API requests with the JSON null value. By default, fields
5629	// with empty values are omitted from API requests. However, any field
5630	// with an empty value appearing in NullFields will be sent to the
5631	// server as null. It is an error if a field in this list has a
5632	// non-empty value. This may be used to include null fields in Patch
5633	// requests.
5634	NullFields []string `json:"-"`
5635}
5636
5637func (s *RejectConsentRequest) MarshalJSON() ([]byte, error) {
5638	type NoMethod RejectConsentRequest
5639	raw := NoMethod(*s)
5640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5641}
5642
5643// ReplaceWithInfoTypeConfig: When using the INSPECT_AND_TRANSFORM
5644// action, each match is replaced with the name of the info_type. For
5645// example, "My name is Jane" becomes "My name is [PERSON_NAME]." The
5646// TRANSFORM action is equivalent to redacting.
5647type ReplaceWithInfoTypeConfig struct {
5648}
5649
5650// ResourceAnnotation: Resource level annotation.
5651type ResourceAnnotation struct {
5652	// Label: A description of the annotation record.
5653	Label string `json:"label,omitempty"`
5654
5655	// ForceSendFields is a list of field names (e.g. "Label") to
5656	// unconditionally include in API requests. By default, fields with
5657	// empty values are omitted from API requests. However, any non-pointer,
5658	// non-interface field appearing in ForceSendFields will be sent to the
5659	// server regardless of whether the field is empty or not. This may be
5660	// used to include empty fields in Patch requests.
5661	ForceSendFields []string `json:"-"`
5662
5663	// NullFields is a list of field names (e.g. "Label") to include in API
5664	// requests with the JSON null value. By default, fields with empty
5665	// values are omitted from API requests. However, any field with an
5666	// empty value appearing in NullFields will be sent to the server as
5667	// null. It is an error if a field in this list has a non-empty value.
5668	// This may be used to include null fields in Patch requests.
5669	NullFields []string `json:"-"`
5670}
5671
5672func (s *ResourceAnnotation) MarshalJSON() ([]byte, error) {
5673	type NoMethod ResourceAnnotation
5674	raw := NoMethod(*s)
5675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5676}
5677
5678// Resources: A list of FHIR resources.
5679type Resources struct {
5680	// Resources: List of resources IDs. For example, "Patient/1234".
5681	Resources []string `json:"resources,omitempty"`
5682
5683	// ForceSendFields is a list of field names (e.g. "Resources") to
5684	// unconditionally include in API requests. By default, fields with
5685	// empty values are omitted from API requests. However, any non-pointer,
5686	// non-interface field appearing in ForceSendFields will be sent to the
5687	// server regardless of whether the field is empty or not. This may be
5688	// used to include empty fields in Patch requests.
5689	ForceSendFields []string `json:"-"`
5690
5691	// NullFields is a list of field names (e.g. "Resources") to include in
5692	// API requests with the JSON null value. By default, fields with empty
5693	// values are omitted from API requests. However, any field with an
5694	// empty value appearing in NullFields will be sent to the server as
5695	// null. It is an error if a field in this list has a non-empty value.
5696	// This may be used to include null fields in Patch requests.
5697	NullFields []string `json:"-"`
5698}
5699
5700func (s *Resources) MarshalJSON() ([]byte, error) {
5701	type NoMethod Resources
5702	raw := NoMethod(*s)
5703	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5704}
5705
5706// Result: The consent evaluation result for a single `data_id`.
5707type Result struct {
5708	// ConsentDetails: The resource names of all evaluated Consents mapped
5709	// to their evaluation.
5710	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
5711
5712	// Consented: Whether the resource is consented for the given use.
5713	Consented bool `json:"consented,omitempty"`
5714
5715	// DataId: The unique identifier of the evaluated resource.
5716	DataId string `json:"dataId,omitempty"`
5717
5718	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
5719	// unconditionally include in API requests. By default, fields with
5720	// empty values are omitted from API requests. However, any non-pointer,
5721	// non-interface field appearing in ForceSendFields will be sent to the
5722	// server regardless of whether the field is empty or not. This may be
5723	// used to include empty fields in Patch requests.
5724	ForceSendFields []string `json:"-"`
5725
5726	// NullFields is a list of field names (e.g. "ConsentDetails") to
5727	// include in API requests with the JSON null value. By default, fields
5728	// with empty values are omitted from API requests. However, any field
5729	// with an empty value appearing in NullFields will be sent to the
5730	// server as null. It is an error if a field in this list has a
5731	// non-empty value. This may be used to include null fields in Patch
5732	// requests.
5733	NullFields []string `json:"-"`
5734}
5735
5736func (s *Result) MarshalJSON() ([]byte, error) {
5737	type NoMethod Result
5738	raw := NoMethod(*s)
5739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5740}
5741
5742// RevokeConsentRequest: Revokes the latest revision of the specified
5743// Consent by committing a new revision with `state` updated to
5744// `REVOKED`. If the latest revision of the given Consent is in the
5745// `REVOKED` state, no new revision is committed.
5746type RevokeConsentRequest struct {
5747	// ConsentArtifact: Optional. The resource name of the Consent artifact
5748	// that contains proof of the user's revocation of the Consent, of the
5749	// form
5750	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5751	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5752	// `.
5753	ConsentArtifact string `json:"consentArtifact,omitempty"`
5754
5755	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5756	// unconditionally include in API requests. By default, fields with
5757	// empty values are omitted from API requests. However, any non-pointer,
5758	// non-interface field appearing in ForceSendFields will be sent to the
5759	// server regardless of whether the field is empty or not. This may be
5760	// used to include empty fields in Patch requests.
5761	ForceSendFields []string `json:"-"`
5762
5763	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5764	// include in API requests with the JSON null value. By default, fields
5765	// with empty values are omitted from API requests. However, any field
5766	// with an empty value appearing in NullFields will be sent to the
5767	// server as null. It is an error if a field in this list has a
5768	// non-empty value. This may be used to include null fields in Patch
5769	// requests.
5770	NullFields []string `json:"-"`
5771}
5772
5773func (s *RevokeConsentRequest) MarshalJSON() ([]byte, error) {
5774	type NoMethod RevokeConsentRequest
5775	raw := NoMethod(*s)
5776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5777}
5778
5779// SchemaConfig: Configuration for the FHIR BigQuery schema. Determines
5780// how the server generates the schema.
5781type SchemaConfig struct {
5782	// RecursiveStructureDepth: The depth for all recursive structures in
5783	// the output analytics schema. For example, `concept` in the CodeSystem
5784	// resource is a recursive structure; when the depth is 2, the
5785	// CodeSystem table will have a column called `concept.concept` but not
5786	// `concept.concept.concept`. If not specified or set to 0, the server
5787	// will use the default value 2. The maximum depth allowed is 5.
5788	RecursiveStructureDepth int64 `json:"recursiveStructureDepth,omitempty,string"`
5789
5790	// SchemaType: Specifies the output schema type. Schema type is
5791	// required.
5792	//
5793	// Possible values:
5794	//   "SCHEMA_TYPE_UNSPECIFIED" - No schema type specified. This type is
5795	// unsupported.
5796	//   "LOSSLESS" - A data-driven schema generated from the fields present
5797	// in the FHIR data being exported, with no additional simplification.
5798	//   "ANALYTICS" - Analytics schema defined by the FHIR community. See
5799	// https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
5800	// BigQuery only allows a maximum of 10,000 columns per table. Due to
5801	// this limitation, the server will not generate schemas for fields of
5802	// type `Resource`, which can hold any resource type. The affected
5803	// fields are `Parameters.parameter.resource`, `Bundle.entry.resource`,
5804	// and `Bundle.entry.response.outcome`.
5805	SchemaType string `json:"schemaType,omitempty"`
5806
5807	// ForceSendFields is a list of field names (e.g.
5808	// "RecursiveStructureDepth") to unconditionally include in API
5809	// requests. By default, fields with empty values are omitted from API
5810	// requests. However, any non-pointer, non-interface field appearing in
5811	// ForceSendFields will be sent to the server regardless of whether the
5812	// field is empty or not. This may be used to include empty fields in
5813	// Patch requests.
5814	ForceSendFields []string `json:"-"`
5815
5816	// NullFields is a list of field names (e.g. "RecursiveStructureDepth")
5817	// to include in API requests with the JSON null value. By default,
5818	// fields with empty values are omitted from API requests. However, any
5819	// field with an empty value appearing in NullFields will be sent to the
5820	// server as null. It is an error if a field in this list has a
5821	// non-empty value. This may be used to include null fields in Patch
5822	// requests.
5823	NullFields []string `json:"-"`
5824}
5825
5826func (s *SchemaConfig) MarshalJSON() ([]byte, error) {
5827	type NoMethod SchemaConfig
5828	raw := NoMethod(*s)
5829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5830}
5831
5832// SchemaGroup: An HL7v2 logical group construct.
5833type SchemaGroup struct {
5834	// Choice: True indicates that this is a choice group, meaning that only
5835	// one of its segments can exist in a given message.
5836	Choice bool `json:"choice,omitempty"`
5837
5838	// MaxOccurs: The maximum number of times this group can be repeated. 0
5839	// or -1 means unbounded.
5840	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5841
5842	// Members: Nested groups and/or segments.
5843	Members []*GroupOrSegment `json:"members,omitempty"`
5844
5845	// MinOccurs: The minimum number of times this group must be
5846	// present/repeated.
5847	MinOccurs int64 `json:"minOccurs,omitempty"`
5848
5849	// Name: The name of this group. For example, "ORDER_DETAIL".
5850	Name string `json:"name,omitempty"`
5851
5852	// ForceSendFields is a list of field names (e.g. "Choice") to
5853	// unconditionally include in API requests. By default, fields with
5854	// empty values are omitted from API requests. However, any non-pointer,
5855	// non-interface field appearing in ForceSendFields will be sent to the
5856	// server regardless of whether the field is empty or not. This may be
5857	// used to include empty fields in Patch requests.
5858	ForceSendFields []string `json:"-"`
5859
5860	// NullFields is a list of field names (e.g. "Choice") to include in API
5861	// requests with the JSON null value. By default, fields with empty
5862	// values are omitted from API requests. However, any field with an
5863	// empty value appearing in NullFields will be sent to the server as
5864	// null. It is an error if a field in this list has a non-empty value.
5865	// This may be used to include null fields in Patch requests.
5866	NullFields []string `json:"-"`
5867}
5868
5869func (s *SchemaGroup) MarshalJSON() ([]byte, error) {
5870	type NoMethod SchemaGroup
5871	raw := NoMethod(*s)
5872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5873}
5874
5875// SchemaPackage: A schema package contains a set of schemas and type
5876// definitions.
5877type SchemaPackage struct {
5878	// IgnoreMinOccurs: Flag to ignore all min_occurs restrictions in the
5879	// schema. This means that incoming messages can omit any group,
5880	// segment, field, component, or subcomponent.
5881	IgnoreMinOccurs bool `json:"ignoreMinOccurs,omitempty"`
5882
5883	// Schemas: Schema configs that are layered based on their
5884	// VersionSources that match the incoming message. Schema configs
5885	// present in higher indices override those in lower indices with the
5886	// same message type and trigger event if their VersionSources all match
5887	// an incoming message.
5888	Schemas []*Hl7SchemaConfig `json:"schemas,omitempty"`
5889
5890	// SchematizedParsingType: Determines how messages that fail to parse
5891	// are handled.
5892	//
5893	// Possible values:
5894	//   "SCHEMATIZED_PARSING_TYPE_UNSPECIFIED" - Unspecified schematized
5895	// parsing type, equivalent to `SOFT_FAIL`.
5896	//   "SOFT_FAIL" - Messages that fail to parse are still stored and
5897	// ACKed but a parser error is stored in place of the schematized data.
5898	//   "HARD_FAIL" - Messages that fail to parse are rejected from
5899	// ingestion/insertion and return an error code.
5900	SchematizedParsingType string `json:"schematizedParsingType,omitempty"`
5901
5902	// Types: Schema type definitions that are layered based on their
5903	// VersionSources that match the incoming message. Type definitions
5904	// present in higher indices override those in lower indices with the
5905	// same type name if their VersionSources all match an incoming message.
5906	Types []*Hl7TypesConfig `json:"types,omitempty"`
5907
5908	// UnexpectedSegmentHandling: Determines how unexpected segments
5909	// (segments not matched to the schema) are handled.
5910	//
5911	// Possible values:
5912	//   "UNEXPECTED_SEGMENT_HANDLING_MODE_UNSPECIFIED" - Unspecified
5913	// handling mode, equivalent to FAIL.
5914	//   "FAIL" - Unexpected segments fail to parse and return an error.
5915	//   "SKIP" - Unexpected segments do not fail, but are omitted from the
5916	// output.
5917	//   "PARSE" - Unexpected segments do not fail, but are parsed in place
5918	// and added to the current group. If a segment has a type definition,
5919	// it is used, otherwise it is parsed as VARIES.
5920	UnexpectedSegmentHandling string `json:"unexpectedSegmentHandling,omitempty"`
5921
5922	// ForceSendFields is a list of field names (e.g. "IgnoreMinOccurs") to
5923	// unconditionally include in API requests. By default, fields with
5924	// empty values are omitted from API requests. However, any non-pointer,
5925	// non-interface field appearing in ForceSendFields will be sent to the
5926	// server regardless of whether the field is empty or not. This may be
5927	// used to include empty fields in Patch requests.
5928	ForceSendFields []string `json:"-"`
5929
5930	// NullFields is a list of field names (e.g. "IgnoreMinOccurs") to
5931	// include in API requests with the JSON null value. By default, fields
5932	// with empty values are omitted from API requests. However, any field
5933	// with an empty value appearing in NullFields will be sent to the
5934	// server as null. It is an error if a field in this list has a
5935	// non-empty value. This may be used to include null fields in Patch
5936	// requests.
5937	NullFields []string `json:"-"`
5938}
5939
5940func (s *SchemaPackage) MarshalJSON() ([]byte, error) {
5941	type NoMethod SchemaPackage
5942	raw := NoMethod(*s)
5943	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5944}
5945
5946// SchemaSegment: An HL7v2 Segment.
5947type SchemaSegment struct {
5948	// MaxOccurs: The maximum number of times this segment can be present in
5949	// this group. 0 or -1 means unbounded.
5950	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5951
5952	// MinOccurs: The minimum number of times this segment can be present in
5953	// this group.
5954	MinOccurs int64 `json:"minOccurs,omitempty"`
5955
5956	// Type: The Segment type. For example, "PID".
5957	Type string `json:"type,omitempty"`
5958
5959	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
5960	// unconditionally include in API requests. By default, fields with
5961	// empty values are omitted from API requests. However, any non-pointer,
5962	// non-interface field appearing in ForceSendFields will be sent to the
5963	// server regardless of whether the field is empty or not. This may be
5964	// used to include empty fields in Patch requests.
5965	ForceSendFields []string `json:"-"`
5966
5967	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
5968	// API requests with the JSON null value. By default, fields with empty
5969	// values are omitted from API requests. However, any field with an
5970	// empty value appearing in NullFields will be sent to the server as
5971	// null. It is an error if a field in this list has a non-empty value.
5972	// This may be used to include null fields in Patch requests.
5973	NullFields []string `json:"-"`
5974}
5975
5976func (s *SchemaSegment) MarshalJSON() ([]byte, error) {
5977	type NoMethod SchemaSegment
5978	raw := NoMethod(*s)
5979	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5980}
5981
5982// SchematizedData: The content of an HL7v2 message in a structured
5983// format as specified by a schema.
5984type SchematizedData struct {
5985	// Data: JSON output of the parser.
5986	Data string `json:"data,omitempty"`
5987
5988	// Error: The error output of the parser.
5989	Error string `json:"error,omitempty"`
5990
5991	// ForceSendFields is a list of field names (e.g. "Data") to
5992	// unconditionally include in API requests. By default, fields with
5993	// empty values are omitted from API requests. However, any non-pointer,
5994	// non-interface field appearing in ForceSendFields will be sent to the
5995	// server regardless of whether the field is empty or not. This may be
5996	// used to include empty fields in Patch requests.
5997	ForceSendFields []string `json:"-"`
5998
5999	// NullFields is a list of field names (e.g. "Data") to include in API
6000	// requests with the JSON null value. By default, fields with empty
6001	// values are omitted from API requests. However, any field with an
6002	// empty value appearing in NullFields will be sent to the server as
6003	// null. It is an error if a field in this list has a non-empty value.
6004	// This may be used to include null fields in Patch requests.
6005	NullFields []string `json:"-"`
6006}
6007
6008func (s *SchematizedData) MarshalJSON() ([]byte, error) {
6009	type NoMethod SchematizedData
6010	raw := NoMethod(*s)
6011	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6012}
6013
6014// SearchResourcesRequest: Request to search the resources in the
6015// specified FHIR store.
6016type SearchResourcesRequest struct {
6017	// ResourceType: The FHIR resource type to search, such as Patient or
6018	// Observation. For a complete list, see the FHIR Resource Index (DSTU2
6019	// (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
6020	// STU3
6021	// (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), R4
6022	// (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
6023	ResourceType string `json:"resourceType,omitempty"`
6024
6025	// ForceSendFields is a list of field names (e.g. "ResourceType") to
6026	// unconditionally include in API requests. By default, fields with
6027	// empty values are omitted from API requests. However, any non-pointer,
6028	// non-interface field appearing in ForceSendFields will be sent to the
6029	// server regardless of whether the field is empty or not. This may be
6030	// used to include empty fields in Patch requests.
6031	ForceSendFields []string `json:"-"`
6032
6033	// NullFields is a list of field names (e.g. "ResourceType") to include
6034	// in API requests with the JSON null value. By default, fields with
6035	// empty values are omitted from API requests. However, any field with
6036	// an empty value appearing in NullFields will be sent to the server as
6037	// null. It is an error if a field in this list has a non-empty value.
6038	// This may be used to include null fields in Patch requests.
6039	NullFields []string `json:"-"`
6040}
6041
6042func (s *SearchResourcesRequest) MarshalJSON() ([]byte, error) {
6043	type NoMethod SearchResourcesRequest
6044	raw := NoMethod(*s)
6045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6046}
6047
6048// Segment: A segment in a structured format.
6049type Segment struct {
6050	// Fields: A mapping from the positional location to the value. The key
6051	// string uses zero-based indexes separated by dots to identify Fields,
6052	// components and sub-components. A bracket notation is also used to
6053	// identify different instances of a repeated field. Regex for key:
6054	// (\d+)(\[\d+\])?(.\d+)?(.\d+)? Examples of (key, value) pairs: * (0.1,
6055	// "hemoglobin") denotes that the first component of Field 0 has the
6056	// value "hemoglobin". * (1.1.2, "CBC") denotes that the second
6057	// sub-component of the first component of Field 1 has the value "CBC".
6058	// * (1[0].1, "HbA1c") denotes that the first component of the first
6059	// Instance of Field 1, which is repeated, has the value "HbA1c".
6060	Fields map[string]string `json:"fields,omitempty"`
6061
6062	// SegmentId: A string that indicates the type of segment. For example,
6063	// EVN or PID.
6064	SegmentId string `json:"segmentId,omitempty"`
6065
6066	// SetId: Set ID for segments that can be in a set. This can be empty if
6067	// it's missing or isn't applicable.
6068	SetId string `json:"setId,omitempty"`
6069
6070	// ForceSendFields is a list of field names (e.g. "Fields") to
6071	// unconditionally include in API requests. By default, fields with
6072	// empty values are omitted from API requests. However, any non-pointer,
6073	// non-interface field appearing in ForceSendFields will be sent to the
6074	// server regardless of whether the field is empty or not. This may be
6075	// used to include empty fields in Patch requests.
6076	ForceSendFields []string `json:"-"`
6077
6078	// NullFields is a list of field names (e.g. "Fields") to include in API
6079	// requests with the JSON null value. By default, fields with empty
6080	// values are omitted from API requests. However, any field with an
6081	// empty value appearing in NullFields will be sent to the server as
6082	// null. It is an error if a field in this list has a non-empty value.
6083	// This may be used to include null fields in Patch requests.
6084	NullFields []string `json:"-"`
6085}
6086
6087func (s *Segment) MarshalJSON() ([]byte, error) {
6088	type NoMethod Segment
6089	raw := NoMethod(*s)
6090	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6091}
6092
6093// SensitiveTextAnnotation: A TextAnnotation specifies a text range that
6094// includes sensitive information.
6095type SensitiveTextAnnotation struct {
6096	// Details: Maps from a resource slice. For example, FHIR resource field
6097	// path to a set of sensitive text findings. For example,
6098	// Appointment.Narrative text1 --> {findings_1, findings_2, findings_3}
6099	Details map[string]Detail `json:"details,omitempty"`
6100
6101	// ForceSendFields is a list of field names (e.g. "Details") to
6102	// unconditionally include in API requests. By default, fields with
6103	// empty values are omitted from API requests. However, any non-pointer,
6104	// non-interface field appearing in ForceSendFields will be sent to the
6105	// server regardless of whether the field is empty or not. This may be
6106	// used to include empty fields in Patch requests.
6107	ForceSendFields []string `json:"-"`
6108
6109	// NullFields is a list of field names (e.g. "Details") to include in
6110	// API requests with the JSON null value. By default, fields with empty
6111	// values are omitted from API requests. However, any field with an
6112	// empty value appearing in NullFields will be sent to the server as
6113	// null. It is an error if a field in this list has a non-empty value.
6114	// This may be used to include null fields in Patch requests.
6115	NullFields []string `json:"-"`
6116}
6117
6118func (s *SensitiveTextAnnotation) MarshalJSON() ([]byte, error) {
6119	type NoMethod SensitiveTextAnnotation
6120	raw := NoMethod(*s)
6121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6122}
6123
6124// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
6125type SetIamPolicyRequest struct {
6126	// Policy: REQUIRED: The complete policy to be applied to the
6127	// `resource`. The size of the policy is limited to a few 10s of KB. An
6128	// empty policy is a valid policy but certain Cloud Platform services
6129	// (such as Projects) might reject them.
6130	Policy *Policy `json:"policy,omitempty"`
6131
6132	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
6133	// policy to modify. Only the fields in the mask will be modified. If no
6134	// mask is provided, the following default mask is used: `paths:
6135	// "bindings, etag"
6136	UpdateMask string `json:"updateMask,omitempty"`
6137
6138	// ForceSendFields is a list of field names (e.g. "Policy") to
6139	// unconditionally include in API requests. By default, fields with
6140	// empty values are omitted from API requests. However, any non-pointer,
6141	// non-interface field appearing in ForceSendFields will be sent to the
6142	// server regardless of whether the field is empty or not. This may be
6143	// used to include empty fields in Patch requests.
6144	ForceSendFields []string `json:"-"`
6145
6146	// NullFields is a list of field names (e.g. "Policy") to include in API
6147	// requests with the JSON null value. By default, fields with empty
6148	// values are omitted from API requests. However, any field with an
6149	// empty value appearing in NullFields will be sent to the server as
6150	// null. It is an error if a field in this list has a non-empty value.
6151	// This may be used to include null fields in Patch requests.
6152	NullFields []string `json:"-"`
6153}
6154
6155func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
6156	type NoMethod SetIamPolicyRequest
6157	raw := NoMethod(*s)
6158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6159}
6160
6161// Signature: User signature.
6162type Signature struct {
6163	// Image: Optional. An image of the user's signature.
6164	Image *Image `json:"image,omitempty"`
6165
6166	// Metadata: Optional. Metadata associated with the user's signature.
6167	// For example, the user's name or the user's title.
6168	Metadata map[string]string `json:"metadata,omitempty"`
6169
6170	// SignatureTime: Optional. Timestamp of the signature.
6171	SignatureTime string `json:"signatureTime,omitempty"`
6172
6173	// UserId: Required. User's UUID provided by the client.
6174	UserId string `json:"userId,omitempty"`
6175
6176	// ForceSendFields is a list of field names (e.g. "Image") to
6177	// unconditionally include in API requests. By default, fields with
6178	// empty values are omitted from API requests. However, any non-pointer,
6179	// non-interface field appearing in ForceSendFields will be sent to the
6180	// server regardless of whether the field is empty or not. This may be
6181	// used to include empty fields in Patch requests.
6182	ForceSendFields []string `json:"-"`
6183
6184	// NullFields is a list of field names (e.g. "Image") to include in API
6185	// requests with the JSON null value. By default, fields with empty
6186	// values are omitted from API requests. However, any field with an
6187	// empty value appearing in NullFields will be sent to the server as
6188	// null. It is an error if a field in this list has a non-empty value.
6189	// This may be used to include null fields in Patch requests.
6190	NullFields []string `json:"-"`
6191}
6192
6193func (s *Signature) MarshalJSON() ([]byte, error) {
6194	type NoMethod Signature
6195	raw := NoMethod(*s)
6196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6197}
6198
6199// Status: The `Status` type defines a logical error model that is
6200// suitable for different programming environments, including REST APIs
6201// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
6202// `Status` message contains three pieces of data: error code, error
6203// message, and error details. You can find out more about this error
6204// model and how to work with it in the API Design Guide
6205// (https://cloud.google.com/apis/design/errors).
6206type Status struct {
6207	// Code: The status code, which should be an enum value of
6208	// google.rpc.Code.
6209	Code int64 `json:"code,omitempty"`
6210
6211	// Details: A list of messages that carry the error details. There is a
6212	// common set of message types for APIs to use.
6213	Details []googleapi.RawMessage `json:"details,omitempty"`
6214
6215	// Message: A developer-facing error message, which should be in
6216	// English. Any user-facing error message should be localized and sent
6217	// in the google.rpc.Status.details field, or localized by the client.
6218	Message string `json:"message,omitempty"`
6219
6220	// ForceSendFields is a list of field names (e.g. "Code") to
6221	// unconditionally include in API requests. By default, fields with
6222	// empty values are omitted from API requests. However, any non-pointer,
6223	// non-interface field appearing in ForceSendFields will be sent to the
6224	// server regardless of whether the field is empty or not. This may be
6225	// used to include empty fields in Patch requests.
6226	ForceSendFields []string `json:"-"`
6227
6228	// NullFields is a list of field names (e.g. "Code") to include in API
6229	// requests with the JSON null value. By default, fields with empty
6230	// values are omitted from API requests. However, any field with an
6231	// empty value appearing in NullFields will be sent to the server as
6232	// null. It is an error if a field in this list has a non-empty value.
6233	// This may be used to include null fields in Patch requests.
6234	NullFields []string `json:"-"`
6235}
6236
6237func (s *Status) MarshalJSON() ([]byte, error) {
6238	type NoMethod Status
6239	raw := NoMethod(*s)
6240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6241}
6242
6243// StreamConfig: Contains configuration for streaming FHIR export.
6244type StreamConfig struct {
6245	// BigqueryDestination: The destination BigQuery structure that contains
6246	// both the dataset location and corresponding schema config. The output
6247	// is organized in one table per resource type. The server reuses the
6248	// existing tables (if any) that are named after the resource types,
6249	// e.g. "Patient", "Observation". When there is no existing table for a
6250	// given resource type, the server attempts to create one. When a table
6251	// schema doesn't align with the schema config, either because of
6252	// existing incompatible schema or out of band incompatible
6253	// modification, the server does not stream in new data. One resolution
6254	// in this case is to delete the incompatible table and let the server
6255	// recreate one, though the newly created table only contains data after
6256	// the table recreation. BigQuery imposes a 1 MB limit on streaming
6257	// insert row size, therefore any resource mutation that generates more
6258	// than 1 MB of BigQuery data will not be streamed. Results are appended
6259	// to the corresponding BigQuery tables. Different versions of the same
6260	// resource are distinguishable by the meta.versionId and
6261	// meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that
6262	// results in the new version is recorded in the meta.tag. The tables
6263	// contain all historical resource versions since streaming was enabled.
6264	// For query convenience, the server also creates one view per table of
6265	// the same name containing only the current resource version. The
6266	// streamed data in the BigQuery dataset is not guaranteed to be
6267	// completely unique. The combination of the id and meta.versionId
6268	// columns should ideally identify a single unique row. But in rare
6269	// cases, duplicates may exist. At query time, users may use the SQL
6270	// select statement to keep only one of the duplicate rows given an id
6271	// and meta.versionId pair. Alternatively, the server created view
6272	// mentioned above also filters out duplicates. If a resource mutation
6273	// cannot be streamed to BigQuery, errors will be logged to Cloud
6274	// Logging (see Viewing error logs in Cloud Logging
6275	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
6276	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
6277
6278	// ResourceTypes: Supply a FHIR resource type (such as "Patient" or
6279	// "Observation"). See
6280	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of
6281	// all FHIR resource types. The server treats an empty list as an intent
6282	// to stream all the supported resource types in this FHIR store.
6283	ResourceTypes []string `json:"resourceTypes,omitempty"`
6284
6285	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
6286	// to unconditionally include in API requests. By default, fields with
6287	// empty values are omitted from API requests. However, any non-pointer,
6288	// non-interface field appearing in ForceSendFields will be sent to the
6289	// server regardless of whether the field is empty or not. This may be
6290	// used to include empty fields in Patch requests.
6291	ForceSendFields []string `json:"-"`
6292
6293	// NullFields is a list of field names (e.g. "BigqueryDestination") to
6294	// include in API requests with the JSON null value. By default, fields
6295	// with empty values are omitted from API requests. However, any field
6296	// with an empty value appearing in NullFields will be sent to the
6297	// server as null. It is an error if a field in this list has a
6298	// non-empty value. This may be used to include null fields in Patch
6299	// requests.
6300	NullFields []string `json:"-"`
6301}
6302
6303func (s *StreamConfig) MarshalJSON() ([]byte, error) {
6304	type NoMethod StreamConfig
6305	raw := NoMethod(*s)
6306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6307}
6308
6309// TagFilterList: List of tags to be filtered.
6310type TagFilterList struct {
6311	// Tags: Tags to be filtered. Tags must be DICOM Data Elements, File
6312	// Meta Elements, or Directory Structuring Elements, as defined at:
6313	// http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.
6314	// They may be provided by "Keyword" or "Tag". For example, "PatientID",
6315	// "00100010".
6316	Tags []string `json:"tags,omitempty"`
6317
6318	// ForceSendFields is a list of field names (e.g. "Tags") to
6319	// unconditionally include in API requests. By default, fields with
6320	// empty values are omitted from API requests. However, any non-pointer,
6321	// non-interface field appearing in ForceSendFields will be sent to the
6322	// server regardless of whether the field is empty or not. This may be
6323	// used to include empty fields in Patch requests.
6324	ForceSendFields []string `json:"-"`
6325
6326	// NullFields is a list of field names (e.g. "Tags") to include in API
6327	// requests with the JSON null value. By default, fields with empty
6328	// values are omitted from API requests. However, any field with an
6329	// empty value appearing in NullFields will be sent to the server as
6330	// null. It is an error if a field in this list has a non-empty value.
6331	// This may be used to include null fields in Patch requests.
6332	NullFields []string `json:"-"`
6333}
6334
6335func (s *TagFilterList) MarshalJSON() ([]byte, error) {
6336	type NoMethod TagFilterList
6337	raw := NoMethod(*s)
6338	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6339}
6340
6341// TestIamPermissionsRequest: Request message for `TestIamPermissions`
6342// method.
6343type TestIamPermissionsRequest struct {
6344	// Permissions: The set of permissions to check for the `resource`.
6345	// Permissions with wildcards (such as '*' or 'storage.*') are not
6346	// allowed. For more information see IAM Overview
6347	// (https://cloud.google.com/iam/docs/overview#permissions).
6348	Permissions []string `json:"permissions,omitempty"`
6349
6350	// ForceSendFields is a list of field names (e.g. "Permissions") to
6351	// unconditionally include in API requests. By default, fields with
6352	// empty values are omitted from API requests. However, any non-pointer,
6353	// non-interface field appearing in ForceSendFields will be sent to the
6354	// server regardless of whether the field is empty or not. This may be
6355	// used to include empty fields in Patch requests.
6356	ForceSendFields []string `json:"-"`
6357
6358	// NullFields is a list of field names (e.g. "Permissions") to include
6359	// in API requests with the JSON null value. By default, fields with
6360	// empty values are omitted from API requests. However, any field with
6361	// an empty value appearing in NullFields will be sent to the server as
6362	// null. It is an error if a field in this list has a non-empty value.
6363	// This may be used to include null fields in Patch requests.
6364	NullFields []string `json:"-"`
6365}
6366
6367func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
6368	type NoMethod TestIamPermissionsRequest
6369	raw := NoMethod(*s)
6370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6371}
6372
6373// TestIamPermissionsResponse: Response message for `TestIamPermissions`
6374// method.
6375type TestIamPermissionsResponse struct {
6376	// Permissions: A subset of `TestPermissionsRequest.permissions` that
6377	// the caller is allowed.
6378	Permissions []string `json:"permissions,omitempty"`
6379
6380	// ServerResponse contains the HTTP response code and headers from the
6381	// server.
6382	googleapi.ServerResponse `json:"-"`
6383
6384	// ForceSendFields is a list of field names (e.g. "Permissions") to
6385	// unconditionally include in API requests. By default, fields with
6386	// empty values are omitted from API requests. However, any non-pointer,
6387	// non-interface field appearing in ForceSendFields will be sent to the
6388	// server regardless of whether the field is empty or not. This may be
6389	// used to include empty fields in Patch requests.
6390	ForceSendFields []string `json:"-"`
6391
6392	// NullFields is a list of field names (e.g. "Permissions") to include
6393	// in API requests with the JSON null value. By default, fields with
6394	// empty values are omitted from API requests. However, any field with
6395	// an empty value appearing in NullFields will be sent to the server as
6396	// null. It is an error if a field in this list has a non-empty value.
6397	// This may be used to include null fields in Patch requests.
6398	NullFields []string `json:"-"`
6399}
6400
6401func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
6402	type NoMethod TestIamPermissionsResponse
6403	raw := NoMethod(*s)
6404	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6405}
6406
6407type TextConfig struct {
6408	// Transformations: The transformations to apply to the detected data.
6409	Transformations []*InfoTypeTransformation `json:"transformations,omitempty"`
6410
6411	// ForceSendFields is a list of field names (e.g. "Transformations") to
6412	// unconditionally include in API requests. By default, fields with
6413	// empty values are omitted from API requests. However, any non-pointer,
6414	// non-interface field appearing in ForceSendFields will be sent to the
6415	// server regardless of whether the field is empty or not. This may be
6416	// used to include empty fields in Patch requests.
6417	ForceSendFields []string `json:"-"`
6418
6419	// NullFields is a list of field names (e.g. "Transformations") to
6420	// include in API requests with the JSON null value. By default, fields
6421	// with empty values are omitted from API requests. However, any field
6422	// with an empty value appearing in NullFields will be sent to the
6423	// server as null. It is an error if a field in this list has a
6424	// non-empty value. This may be used to include null fields in Patch
6425	// requests.
6426	NullFields []string `json:"-"`
6427}
6428
6429func (s *TextConfig) MarshalJSON() ([]byte, error) {
6430	type NoMethod TextConfig
6431	raw := NoMethod(*s)
6432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6433}
6434
6435// TextSpan: A span of text in the provided document.
6436type TextSpan struct {
6437	// BeginOffset: The unicode codepoint index of the beginning of this
6438	// span.
6439	BeginOffset int64 `json:"beginOffset,omitempty"`
6440
6441	// Content: The original text contained in this span.
6442	Content string `json:"content,omitempty"`
6443
6444	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
6445	// unconditionally include in API requests. By default, fields with
6446	// empty values are omitted from API requests. However, any non-pointer,
6447	// non-interface field appearing in ForceSendFields will be sent to the
6448	// server regardless of whether the field is empty or not. This may be
6449	// used to include empty fields in Patch requests.
6450	ForceSendFields []string `json:"-"`
6451
6452	// NullFields is a list of field names (e.g. "BeginOffset") to include
6453	// in API requests with the JSON null value. By default, fields with
6454	// empty values are omitted from API requests. However, any field with
6455	// an empty value appearing in NullFields will be sent to the server as
6456	// null. It is an error if a field in this list has a non-empty value.
6457	// This may be used to include null fields in Patch requests.
6458	NullFields []string `json:"-"`
6459}
6460
6461func (s *TextSpan) MarshalJSON() ([]byte, error) {
6462	type NoMethod TextSpan
6463	raw := NoMethod(*s)
6464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6465}
6466
6467// Type: A type definition for some HL7v2 type (incl. Segments and
6468// Datatypes).
6469type Type struct {
6470	// Fields: The (sub) fields this type has (if not primitive).
6471	Fields []*Field `json:"fields,omitempty"`
6472
6473	// Name: The name of this type. This would be the segment or datatype
6474	// name. For example, "PID" or "XPN".
6475	Name string `json:"name,omitempty"`
6476
6477	// Primitive: If this is a primitive type then this field is the type of
6478	// the primitive For example, STRING. Leave unspecified for composite
6479	// types.
6480	//
6481	// Possible values:
6482	//   "PRIMITIVE_UNSPECIFIED" - Not a primitive.
6483	//   "STRING" - String primitive.
6484	//   "VARIES" - Element that can have unschematized children.
6485	//   "UNESCAPED_STRING" - Like STRING, but all delimiters below this
6486	// element are ignored.
6487	Primitive string `json:"primitive,omitempty"`
6488
6489	// ForceSendFields is a list of field names (e.g. "Fields") to
6490	// unconditionally include in API requests. By default, fields with
6491	// empty values are omitted from API requests. However, any non-pointer,
6492	// non-interface field appearing in ForceSendFields will be sent to the
6493	// server regardless of whether the field is empty or not. This may be
6494	// used to include empty fields in Patch requests.
6495	ForceSendFields []string `json:"-"`
6496
6497	// NullFields is a list of field names (e.g. "Fields") to include in API
6498	// requests with the JSON null value. By default, fields with empty
6499	// values are omitted from API requests. However, any field with an
6500	// empty value appearing in NullFields will be sent to the server as
6501	// null. It is an error if a field in this list has a non-empty value.
6502	// This may be used to include null fields in Patch requests.
6503	NullFields []string `json:"-"`
6504}
6505
6506func (s *Type) MarshalJSON() ([]byte, error) {
6507	type NoMethod Type
6508	raw := NoMethod(*s)
6509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6510}
6511
6512// UserDataMapping: Maps a resource to the associated user and
6513// Attributes.
6514type UserDataMapping struct {
6515	// ArchiveTime: Output only. Indicates the time when this mapping was
6516	// archived.
6517	ArchiveTime string `json:"archiveTime,omitempty"`
6518
6519	// Archived: Output only. Indicates whether this mapping is archived.
6520	Archived bool `json:"archived,omitempty"`
6521
6522	// DataId: Required. A unique identifier for the mapped resource.
6523	DataId string `json:"dataId,omitempty"`
6524
6525	// Name: Resource name of the User data mapping, of the form
6526	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
6527	// onsentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id
6528	// }`.
6529	Name string `json:"name,omitempty"`
6530
6531	// ResourceAttributes: Attributes of the resource. Only explicitly set
6532	// attributes are displayed here. Attribute definitions with defaults
6533	// set implicitly apply to these User data mappings. Attributes listed
6534	// here must be single valued, that is, exactly one value is specified
6535	// for the field "values" in each Attribute.
6536	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
6537
6538	// UserId: Required. User's UUID provided by the client.
6539	UserId string `json:"userId,omitempty"`
6540
6541	// ServerResponse contains the HTTP response code and headers from the
6542	// server.
6543	googleapi.ServerResponse `json:"-"`
6544
6545	// ForceSendFields is a list of field names (e.g. "ArchiveTime") to
6546	// unconditionally include in API requests. By default, fields with
6547	// empty values are omitted from API requests. However, any non-pointer,
6548	// non-interface field appearing in ForceSendFields will be sent to the
6549	// server regardless of whether the field is empty or not. This may be
6550	// used to include empty fields in Patch requests.
6551	ForceSendFields []string `json:"-"`
6552
6553	// NullFields is a list of field names (e.g. "ArchiveTime") to include
6554	// in API requests with the JSON null value. By default, fields with
6555	// empty values are omitted from API requests. However, any field with
6556	// an empty value appearing in NullFields will be sent to the server as
6557	// null. It is an error if a field in this list has a non-empty value.
6558	// This may be used to include null fields in Patch requests.
6559	NullFields []string `json:"-"`
6560}
6561
6562func (s *UserDataMapping) MarshalJSON() ([]byte, error) {
6563	type NoMethod UserDataMapping
6564	raw := NoMethod(*s)
6565	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6566}
6567
6568// ValidationConfig: Contains the configuration for FHIR profiles and
6569// validation.
6570type ValidationConfig struct {
6571	// DisableProfileValidation: Whether to disable profile validation for
6572	// this FHIR store. Set this to true to disable checking incoming
6573	// resources for conformance against StructureDefinitions in this FHIR
6574	// store.
6575	DisableProfileValidation bool `json:"disableProfileValidation,omitempty"`
6576
6577	// EnabledImplementationGuides: A list of ImplementationGuide URLs in
6578	// this FHIR store that are used to configure the profiles to use for
6579	// validation. For example, to use the US Core profiles for validation,
6580	// set `enabled_implementation_guides` to
6581	// `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If
6582	// `enabled_implementation_guides` is empty or omitted, then incoming
6583	// resources are only required to conform to the base FHIR profiles.
6584	// Otherwise, a resource must conform to at least one profile listed in
6585	// the `global` property of one of the enabled ImplementationGuides. The
6586	// Cloud Healthcare API does not currently enforce all of the rules in a
6587	// StructureDefinition. The following rules are supported: - min/max -
6588	// minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on
6589	// simple types - slicing, when using "value" as the discriminator type
6590	// When a URL cannot be resolved (for example, in a type assertion), the
6591	// server does not return an error.
6592	EnabledImplementationGuides []string `json:"enabledImplementationGuides,omitempty"`
6593
6594	// ForceSendFields is a list of field names (e.g.
6595	// "DisableProfileValidation") to unconditionally include in API
6596	// requests. By default, fields with empty values are omitted from API
6597	// requests. However, any non-pointer, non-interface field appearing in
6598	// ForceSendFields will be sent to the server regardless of whether the
6599	// field is empty or not. This may be used to include empty fields in
6600	// Patch requests.
6601	ForceSendFields []string `json:"-"`
6602
6603	// NullFields is a list of field names (e.g. "DisableProfileValidation")
6604	// to include in API requests with the JSON null value. By default,
6605	// fields with empty values are omitted from API requests. However, any
6606	// field with an empty value appearing in NullFields will be sent to the
6607	// server as null. It is an error if a field in this list has a
6608	// non-empty value. This may be used to include null fields in Patch
6609	// requests.
6610	NullFields []string `json:"-"`
6611}
6612
6613func (s *ValidationConfig) MarshalJSON() ([]byte, error) {
6614	type NoMethod ValidationConfig
6615	raw := NoMethod(*s)
6616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6617}
6618
6619// VersionSource: Describes a selector for extracting and matching an
6620// MSH field to a value.
6621type VersionSource struct {
6622	// MshField: The field to extract from the MSH segment. For example,
6623	// "3.1" or "18[1].1".
6624	MshField string `json:"mshField,omitempty"`
6625
6626	// Value: The value to match with the field. For example, "My
6627	// Application Name" or "2.3".
6628	Value string `json:"value,omitempty"`
6629
6630	// ForceSendFields is a list of field names (e.g. "MshField") to
6631	// unconditionally include in API requests. By default, fields with
6632	// empty values are omitted from API requests. However, any non-pointer,
6633	// non-interface field appearing in ForceSendFields will be sent to the
6634	// server regardless of whether the field is empty or not. This may be
6635	// used to include empty fields in Patch requests.
6636	ForceSendFields []string `json:"-"`
6637
6638	// NullFields is a list of field names (e.g. "MshField") to include in
6639	// API requests with the JSON null value. By default, fields with empty
6640	// values are omitted from API requests. However, any field with an
6641	// empty value appearing in NullFields will be sent to the server as
6642	// null. It is an error if a field in this list has a non-empty value.
6643	// This may be used to include null fields in Patch requests.
6644	NullFields []string `json:"-"`
6645}
6646
6647func (s *VersionSource) MarshalJSON() ([]byte, error) {
6648	type NoMethod VersionSource
6649	raw := NoMethod(*s)
6650	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6651}
6652
6653// Vertex: A 2D coordinate in an image. The origin is the top-left.
6654type Vertex struct {
6655	// X: X coordinate.
6656	X float64 `json:"x,omitempty"`
6657
6658	// Y: Y coordinate.
6659	Y float64 `json:"y,omitempty"`
6660
6661	// ForceSendFields is a list of field names (e.g. "X") to
6662	// unconditionally include in API requests. By default, fields with
6663	// empty values are omitted from API requests. However, any non-pointer,
6664	// non-interface field appearing in ForceSendFields will be sent to the
6665	// server regardless of whether the field is empty or not. This may be
6666	// used to include empty fields in Patch requests.
6667	ForceSendFields []string `json:"-"`
6668
6669	// NullFields is a list of field names (e.g. "X") to include in API
6670	// requests with the JSON null value. By default, fields with empty
6671	// values are omitted from API requests. However, any field with an
6672	// empty value appearing in NullFields will be sent to the server as
6673	// null. It is an error if a field in this list has a non-empty value.
6674	// This may be used to include null fields in Patch requests.
6675	NullFields []string `json:"-"`
6676}
6677
6678func (s *Vertex) MarshalJSON() ([]byte, error) {
6679	type NoMethod Vertex
6680	raw := NoMethod(*s)
6681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6682}
6683
6684func (s *Vertex) UnmarshalJSON(data []byte) error {
6685	type NoMethod Vertex
6686	var s1 struct {
6687		X gensupport.JSONFloat64 `json:"x"`
6688		Y gensupport.JSONFloat64 `json:"y"`
6689		*NoMethod
6690	}
6691	s1.NoMethod = (*NoMethod)(s)
6692	if err := json.Unmarshal(data, &s1); err != nil {
6693		return err
6694	}
6695	s.X = float64(s1.X)
6696	s.Y = float64(s1.Y)
6697	return nil
6698}
6699
6700// method id "healthcare.projects.locations.get":
6701
6702type ProjectsLocationsGetCall struct {
6703	s            *Service
6704	name         string
6705	urlParams_   gensupport.URLParams
6706	ifNoneMatch_ string
6707	ctx_         context.Context
6708	header_      http.Header
6709}
6710
6711// Get: Gets information about a location.
6712//
6713// - name: Resource name for the location.
6714func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
6715	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6716	c.name = name
6717	return c
6718}
6719
6720// Fields allows partial responses to be retrieved. See
6721// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6722// for more information.
6723func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
6724	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6725	return c
6726}
6727
6728// IfNoneMatch sets the optional parameter which makes the operation
6729// fail if the object's ETag matches the given value. This is useful for
6730// getting updates only after the object has changed since the last
6731// request. Use googleapi.IsNotModified to check whether the response
6732// error from Do is the result of In-None-Match.
6733func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
6734	c.ifNoneMatch_ = entityTag
6735	return c
6736}
6737
6738// Context sets the context to be used in this call's Do method. Any
6739// pending HTTP request will be aborted if the provided context is
6740// canceled.
6741func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
6742	c.ctx_ = ctx
6743	return c
6744}
6745
6746// Header returns an http.Header that can be modified by the caller to
6747// add HTTP headers to the request.
6748func (c *ProjectsLocationsGetCall) Header() http.Header {
6749	if c.header_ == nil {
6750		c.header_ = make(http.Header)
6751	}
6752	return c.header_
6753}
6754
6755func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
6756	reqHeaders := make(http.Header)
6757	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
6758	for k, v := range c.header_ {
6759		reqHeaders[k] = v
6760	}
6761	reqHeaders.Set("User-Agent", c.s.userAgent())
6762	if c.ifNoneMatch_ != "" {
6763		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6764	}
6765	var body io.Reader = nil
6766	c.urlParams_.Set("alt", alt)
6767	c.urlParams_.Set("prettyPrint", "false")
6768	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6769	urls += "?" + c.urlParams_.Encode()
6770	req, err := http.NewRequest("GET", urls, body)
6771	if err != nil {
6772		return nil, err
6773	}
6774	req.Header = reqHeaders
6775	googleapi.Expand(req.URL, map[string]string{
6776		"name": c.name,
6777	})
6778	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6779}
6780
6781// Do executes the "healthcare.projects.locations.get" call.
6782// Exactly one of *Location or error will be non-nil. Any non-2xx status
6783// code is an error. Response headers are in either
6784// *Location.ServerResponse.Header or (if a response was returned at
6785// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6786// to check whether the returned error was because
6787// http.StatusNotModified was returned.
6788func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
6789	gensupport.SetOptions(c.urlParams_, opts...)
6790	res, err := c.doRequest("json")
6791	if res != nil && res.StatusCode == http.StatusNotModified {
6792		if res.Body != nil {
6793			res.Body.Close()
6794		}
6795		return nil, &googleapi.Error{
6796			Code:   res.StatusCode,
6797			Header: res.Header,
6798		}
6799	}
6800	if err != nil {
6801		return nil, err
6802	}
6803	defer googleapi.CloseBody(res)
6804	if err := googleapi.CheckResponse(res); err != nil {
6805		return nil, err
6806	}
6807	ret := &Location{
6808		ServerResponse: googleapi.ServerResponse{
6809			Header:         res.Header,
6810			HTTPStatusCode: res.StatusCode,
6811		},
6812	}
6813	target := &ret
6814	if err := gensupport.DecodeResponse(target, res); err != nil {
6815		return nil, err
6816	}
6817	return ret, nil
6818	// {
6819	//   "description": "Gets information about a location.",
6820	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}",
6821	//   "httpMethod": "GET",
6822	//   "id": "healthcare.projects.locations.get",
6823	//   "parameterOrder": [
6824	//     "name"
6825	//   ],
6826	//   "parameters": {
6827	//     "name": {
6828	//       "description": "Resource name for the location.",
6829	//       "location": "path",
6830	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6831	//       "required": true,
6832	//       "type": "string"
6833	//     }
6834	//   },
6835	//   "path": "v1beta1/{+name}",
6836	//   "response": {
6837	//     "$ref": "Location"
6838	//   },
6839	//   "scopes": [
6840	//     "https://www.googleapis.com/auth/cloud-platform"
6841	//   ]
6842	// }
6843
6844}
6845
6846// method id "healthcare.projects.locations.list":
6847
6848type ProjectsLocationsListCall struct {
6849	s            *Service
6850	name         string
6851	urlParams_   gensupport.URLParams
6852	ifNoneMatch_ string
6853	ctx_         context.Context
6854	header_      http.Header
6855}
6856
6857// List: Lists information about the supported locations for this
6858// service.
6859//
6860// - name: The resource that owns the locations collection, if
6861//   applicable.
6862func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
6863	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6864	c.name = name
6865	return c
6866}
6867
6868// Filter sets the optional parameter "filter": A filter to narrow down
6869// results to a preferred subset. The filtering language accepts strings
6870// like "displayName=tokyo", and is documented in more detail in AIP-160
6871// (https://google.aip.dev/160).
6872func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
6873	c.urlParams_.Set("filter", filter)
6874	return c
6875}
6876
6877// PageSize sets the optional parameter "pageSize": The maximum number
6878// of results to return. If not set, the service selects a default.
6879func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
6880	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6881	return c
6882}
6883
6884// PageToken sets the optional parameter "pageToken": A page token
6885// received from the `next_page_token` field in the response. Send that
6886// page token to receive the subsequent page.
6887func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
6888	c.urlParams_.Set("pageToken", pageToken)
6889	return c
6890}
6891
6892// Fields allows partial responses to be retrieved. See
6893// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6894// for more information.
6895func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
6896	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6897	return c
6898}
6899
6900// IfNoneMatch sets the optional parameter which makes the operation
6901// fail if the object's ETag matches the given value. This is useful for
6902// getting updates only after the object has changed since the last
6903// request. Use googleapi.IsNotModified to check whether the response
6904// error from Do is the result of In-None-Match.
6905func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
6906	c.ifNoneMatch_ = entityTag
6907	return c
6908}
6909
6910// Context sets the context to be used in this call's Do method. Any
6911// pending HTTP request will be aborted if the provided context is
6912// canceled.
6913func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
6914	c.ctx_ = ctx
6915	return c
6916}
6917
6918// Header returns an http.Header that can be modified by the caller to
6919// add HTTP headers to the request.
6920func (c *ProjectsLocationsListCall) Header() http.Header {
6921	if c.header_ == nil {
6922		c.header_ = make(http.Header)
6923	}
6924	return c.header_
6925}
6926
6927func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
6928	reqHeaders := make(http.Header)
6929	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
6930	for k, v := range c.header_ {
6931		reqHeaders[k] = v
6932	}
6933	reqHeaders.Set("User-Agent", c.s.userAgent())
6934	if c.ifNoneMatch_ != "" {
6935		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6936	}
6937	var body io.Reader = nil
6938	c.urlParams_.Set("alt", alt)
6939	c.urlParams_.Set("prettyPrint", "false")
6940	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/locations")
6941	urls += "?" + c.urlParams_.Encode()
6942	req, err := http.NewRequest("GET", urls, body)
6943	if err != nil {
6944		return nil, err
6945	}
6946	req.Header = reqHeaders
6947	googleapi.Expand(req.URL, map[string]string{
6948		"name": c.name,
6949	})
6950	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6951}
6952
6953// Do executes the "healthcare.projects.locations.list" call.
6954// Exactly one of *ListLocationsResponse or error will be non-nil. Any
6955// non-2xx status code is an error. Response headers are in either
6956// *ListLocationsResponse.ServerResponse.Header or (if a response was
6957// returned at all) in error.(*googleapi.Error).Header. Use
6958// googleapi.IsNotModified to check whether the returned error was
6959// because http.StatusNotModified was returned.
6960func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
6961	gensupport.SetOptions(c.urlParams_, opts...)
6962	res, err := c.doRequest("json")
6963	if res != nil && res.StatusCode == http.StatusNotModified {
6964		if res.Body != nil {
6965			res.Body.Close()
6966		}
6967		return nil, &googleapi.Error{
6968			Code:   res.StatusCode,
6969			Header: res.Header,
6970		}
6971	}
6972	if err != nil {
6973		return nil, err
6974	}
6975	defer googleapi.CloseBody(res)
6976	if err := googleapi.CheckResponse(res); err != nil {
6977		return nil, err
6978	}
6979	ret := &ListLocationsResponse{
6980		ServerResponse: googleapi.ServerResponse{
6981			Header:         res.Header,
6982			HTTPStatusCode: res.StatusCode,
6983		},
6984	}
6985	target := &ret
6986	if err := gensupport.DecodeResponse(target, res); err != nil {
6987		return nil, err
6988	}
6989	return ret, nil
6990	// {
6991	//   "description": "Lists information about the supported locations for this service.",
6992	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
6993	//   "httpMethod": "GET",
6994	//   "id": "healthcare.projects.locations.list",
6995	//   "parameterOrder": [
6996	//     "name"
6997	//   ],
6998	//   "parameters": {
6999	//     "filter": {
7000	//       "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
7001	//       "location": "query",
7002	//       "type": "string"
7003	//     },
7004	//     "name": {
7005	//       "description": "The resource that owns the locations collection, if applicable.",
7006	//       "location": "path",
7007	//       "pattern": "^projects/[^/]+$",
7008	//       "required": true,
7009	//       "type": "string"
7010	//     },
7011	//     "pageSize": {
7012	//       "description": "The maximum number of results to return. If not set, the service selects a default.",
7013	//       "format": "int32",
7014	//       "location": "query",
7015	//       "type": "integer"
7016	//     },
7017	//     "pageToken": {
7018	//       "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
7019	//       "location": "query",
7020	//       "type": "string"
7021	//     }
7022	//   },
7023	//   "path": "v1beta1/{+name}/locations",
7024	//   "response": {
7025	//     "$ref": "ListLocationsResponse"
7026	//   },
7027	//   "scopes": [
7028	//     "https://www.googleapis.com/auth/cloud-platform"
7029	//   ]
7030	// }
7031
7032}
7033
7034// Pages invokes f for each page of results.
7035// A non-nil error returned from f will halt the iteration.
7036// The provided context supersedes any context provided to the Context method.
7037func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
7038	c.ctx_ = ctx
7039	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7040	for {
7041		x, err := c.Do()
7042		if err != nil {
7043			return err
7044		}
7045		if err := f(x); err != nil {
7046			return err
7047		}
7048		if x.NextPageToken == "" {
7049			return nil
7050		}
7051		c.PageToken(x.NextPageToken)
7052	}
7053}
7054
7055// method id "healthcare.projects.locations.datasets.create":
7056
7057type ProjectsLocationsDatasetsCreateCall struct {
7058	s          *Service
7059	parent     string
7060	dataset    *Dataset
7061	urlParams_ gensupport.URLParams
7062	ctx_       context.Context
7063	header_    http.Header
7064}
7065
7066// Create: Creates a new health dataset. Results are returned through
7067// the Operation interface which returns either an `Operation.response`
7068// which contains a Dataset or `Operation.error`. The metadata field
7069// type is OperationMetadata.
7070//
7071// - parent: The name of the project where the server creates the
7072//   dataset. For example,
7073//   `projects/{project_id}/locations/{location_id}`.
7074func (r *ProjectsLocationsDatasetsService) Create(parent string, dataset *Dataset) *ProjectsLocationsDatasetsCreateCall {
7075	c := &ProjectsLocationsDatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7076	c.parent = parent
7077	c.dataset = dataset
7078	return c
7079}
7080
7081// DatasetId sets the optional parameter "datasetId": The ID of the
7082// dataset that is being created. The string must match the following
7083// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
7084func (c *ProjectsLocationsDatasetsCreateCall) DatasetId(datasetId string) *ProjectsLocationsDatasetsCreateCall {
7085	c.urlParams_.Set("datasetId", datasetId)
7086	return c
7087}
7088
7089// Fields allows partial responses to be retrieved. See
7090// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7091// for more information.
7092func (c *ProjectsLocationsDatasetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsCreateCall {
7093	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7094	return c
7095}
7096
7097// Context sets the context to be used in this call's Do method. Any
7098// pending HTTP request will be aborted if the provided context is
7099// canceled.
7100func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
7101	c.ctx_ = ctx
7102	return c
7103}
7104
7105// Header returns an http.Header that can be modified by the caller to
7106// add HTTP headers to the request.
7107func (c *ProjectsLocationsDatasetsCreateCall) Header() http.Header {
7108	if c.header_ == nil {
7109		c.header_ = make(http.Header)
7110	}
7111	return c.header_
7112}
7113
7114func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
7115	reqHeaders := make(http.Header)
7116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7117	for k, v := range c.header_ {
7118		reqHeaders[k] = v
7119	}
7120	reqHeaders.Set("User-Agent", c.s.userAgent())
7121	var body io.Reader = nil
7122	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
7123	if err != nil {
7124		return nil, err
7125	}
7126	reqHeaders.Set("Content-Type", "application/json")
7127	c.urlParams_.Set("alt", alt)
7128	c.urlParams_.Set("prettyPrint", "false")
7129	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7130	urls += "?" + c.urlParams_.Encode()
7131	req, err := http.NewRequest("POST", urls, body)
7132	if err != nil {
7133		return nil, err
7134	}
7135	req.Header = reqHeaders
7136	googleapi.Expand(req.URL, map[string]string{
7137		"parent": c.parent,
7138	})
7139	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7140}
7141
7142// Do executes the "healthcare.projects.locations.datasets.create" call.
7143// Exactly one of *Operation or error will be non-nil. Any non-2xx
7144// status code is an error. Response headers are in either
7145// *Operation.ServerResponse.Header or (if a response was returned at
7146// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7147// to check whether the returned error was because
7148// http.StatusNotModified was returned.
7149func (c *ProjectsLocationsDatasetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7150	gensupport.SetOptions(c.urlParams_, opts...)
7151	res, err := c.doRequest("json")
7152	if res != nil && res.StatusCode == http.StatusNotModified {
7153		if res.Body != nil {
7154			res.Body.Close()
7155		}
7156		return nil, &googleapi.Error{
7157			Code:   res.StatusCode,
7158			Header: res.Header,
7159		}
7160	}
7161	if err != nil {
7162		return nil, err
7163	}
7164	defer googleapi.CloseBody(res)
7165	if err := googleapi.CheckResponse(res); err != nil {
7166		return nil, err
7167	}
7168	ret := &Operation{
7169		ServerResponse: googleapi.ServerResponse{
7170			Header:         res.Header,
7171			HTTPStatusCode: res.StatusCode,
7172		},
7173	}
7174	target := &ret
7175	if err := gensupport.DecodeResponse(target, res); err != nil {
7176		return nil, err
7177	}
7178	return ret, nil
7179	// {
7180	//   "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.",
7181	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7182	//   "httpMethod": "POST",
7183	//   "id": "healthcare.projects.locations.datasets.create",
7184	//   "parameterOrder": [
7185	//     "parent"
7186	//   ],
7187	//   "parameters": {
7188	//     "datasetId": {
7189	//       "description": "The ID of the dataset that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
7190	//       "location": "query",
7191	//       "type": "string"
7192	//     },
7193	//     "parent": {
7194	//       "description": "The name of the project where the server creates the dataset. For example, `projects/{project_id}/locations/{location_id}`.",
7195	//       "location": "path",
7196	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7197	//       "required": true,
7198	//       "type": "string"
7199	//     }
7200	//   },
7201	//   "path": "v1beta1/{+parent}/datasets",
7202	//   "request": {
7203	//     "$ref": "Dataset"
7204	//   },
7205	//   "response": {
7206	//     "$ref": "Operation"
7207	//   },
7208	//   "scopes": [
7209	//     "https://www.googleapis.com/auth/cloud-platform"
7210	//   ]
7211	// }
7212
7213}
7214
7215// method id "healthcare.projects.locations.datasets.deidentify":
7216
7217type ProjectsLocationsDatasetsDeidentifyCall struct {
7218	s                        *Service
7219	sourceDataset            string
7220	deidentifydatasetrequest *DeidentifyDatasetRequest
7221	urlParams_               gensupport.URLParams
7222	ctx_                     context.Context
7223	header_                  http.Header
7224}
7225
7226// Deidentify: Creates a new dataset containing de-identified data from
7227// the source dataset. The metadata field type is OperationMetadata. If
7228// the request is successful, the response field type is
7229// DeidentifySummary. The LRO result may still be successful if
7230// de-identification fails for some resources. The new de-identified
7231// dataset will not contain these failed resources. The number of
7232// resources processed are tracked in Operation.metadata. Error details
7233// are logged to Cloud Logging. For more information, see Viewing error
7234// logs in Cloud Logging
7235// (https://cloud.google.com/healthcare/docs/how-tos/logging).
7236//
7237// - sourceDataset: Source dataset resource name. For example,
7238//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7239//   `.
7240func (r *ProjectsLocationsDatasetsService) Deidentify(sourceDataset string, deidentifydatasetrequest *DeidentifyDatasetRequest) *ProjectsLocationsDatasetsDeidentifyCall {
7241	c := &ProjectsLocationsDatasetsDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7242	c.sourceDataset = sourceDataset
7243	c.deidentifydatasetrequest = deidentifydatasetrequest
7244	return c
7245}
7246
7247// Fields allows partial responses to be retrieved. See
7248// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7249// for more information.
7250func (c *ProjectsLocationsDatasetsDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeidentifyCall {
7251	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7252	return c
7253}
7254
7255// Context sets the context to be used in this call's Do method. Any
7256// pending HTTP request will be aborted if the provided context is
7257// canceled.
7258func (c *ProjectsLocationsDatasetsDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeidentifyCall {
7259	c.ctx_ = ctx
7260	return c
7261}
7262
7263// Header returns an http.Header that can be modified by the caller to
7264// add HTTP headers to the request.
7265func (c *ProjectsLocationsDatasetsDeidentifyCall) Header() http.Header {
7266	if c.header_ == nil {
7267		c.header_ = make(http.Header)
7268	}
7269	return c.header_
7270}
7271
7272func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
7273	reqHeaders := make(http.Header)
7274	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7275	for k, v := range c.header_ {
7276		reqHeaders[k] = v
7277	}
7278	reqHeaders.Set("User-Agent", c.s.userAgent())
7279	var body io.Reader = nil
7280	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydatasetrequest)
7281	if err != nil {
7282		return nil, err
7283	}
7284	reqHeaders.Set("Content-Type", "application/json")
7285	c.urlParams_.Set("alt", alt)
7286	c.urlParams_.Set("prettyPrint", "false")
7287	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceDataset}:deidentify")
7288	urls += "?" + c.urlParams_.Encode()
7289	req, err := http.NewRequest("POST", urls, body)
7290	if err != nil {
7291		return nil, err
7292	}
7293	req.Header = reqHeaders
7294	googleapi.Expand(req.URL, map[string]string{
7295		"sourceDataset": c.sourceDataset,
7296	})
7297	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7298}
7299
7300// Do executes the "healthcare.projects.locations.datasets.deidentify" call.
7301// Exactly one of *Operation or error will be non-nil. Any non-2xx
7302// status code is an error. Response headers are in either
7303// *Operation.ServerResponse.Header or (if a response was returned at
7304// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7305// to check whether the returned error was because
7306// http.StatusNotModified was returned.
7307func (c *ProjectsLocationsDatasetsDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7308	gensupport.SetOptions(c.urlParams_, opts...)
7309	res, err := c.doRequest("json")
7310	if res != nil && res.StatusCode == http.StatusNotModified {
7311		if res.Body != nil {
7312			res.Body.Close()
7313		}
7314		return nil, &googleapi.Error{
7315			Code:   res.StatusCode,
7316			Header: res.Header,
7317		}
7318	}
7319	if err != nil {
7320		return nil, err
7321	}
7322	defer googleapi.CloseBody(res)
7323	if err := googleapi.CheckResponse(res); err != nil {
7324		return nil, err
7325	}
7326	ret := &Operation{
7327		ServerResponse: googleapi.ServerResponse{
7328			Header:         res.Header,
7329			HTTPStatusCode: res.StatusCode,
7330		},
7331	}
7332	target := &ret
7333	if err := gensupport.DecodeResponse(target, res); err != nil {
7334		return nil, err
7335	}
7336	return ret, nil
7337	// {
7338	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).",
7339	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify",
7340	//   "httpMethod": "POST",
7341	//   "id": "healthcare.projects.locations.datasets.deidentify",
7342	//   "parameterOrder": [
7343	//     "sourceDataset"
7344	//   ],
7345	//   "parameters": {
7346	//     "sourceDataset": {
7347	//       "description": "Source dataset resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7348	//       "location": "path",
7349	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7350	//       "required": true,
7351	//       "type": "string"
7352	//     }
7353	//   },
7354	//   "path": "v1beta1/{+sourceDataset}:deidentify",
7355	//   "request": {
7356	//     "$ref": "DeidentifyDatasetRequest"
7357	//   },
7358	//   "response": {
7359	//     "$ref": "Operation"
7360	//   },
7361	//   "scopes": [
7362	//     "https://www.googleapis.com/auth/cloud-platform"
7363	//   ]
7364	// }
7365
7366}
7367
7368// method id "healthcare.projects.locations.datasets.delete":
7369
7370type ProjectsLocationsDatasetsDeleteCall struct {
7371	s          *Service
7372	name       string
7373	urlParams_ gensupport.URLParams
7374	ctx_       context.Context
7375	header_    http.Header
7376}
7377
7378// Delete: Deletes the specified health dataset and all data contained
7379// in the dataset. Deleting a dataset does not affect the sources from
7380// which the dataset was imported (if any).
7381//
7382// - name: The name of the dataset to delete. For example,
7383//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7384//   `.
7385func (r *ProjectsLocationsDatasetsService) Delete(name string) *ProjectsLocationsDatasetsDeleteCall {
7386	c := &ProjectsLocationsDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7387	c.name = name
7388	return c
7389}
7390
7391// Fields allows partial responses to be retrieved. See
7392// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7393// for more information.
7394func (c *ProjectsLocationsDatasetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeleteCall {
7395	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7396	return c
7397}
7398
7399// Context sets the context to be used in this call's Do method. Any
7400// pending HTTP request will be aborted if the provided context is
7401// canceled.
7402func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
7403	c.ctx_ = ctx
7404	return c
7405}
7406
7407// Header returns an http.Header that can be modified by the caller to
7408// add HTTP headers to the request.
7409func (c *ProjectsLocationsDatasetsDeleteCall) Header() http.Header {
7410	if c.header_ == nil {
7411		c.header_ = make(http.Header)
7412	}
7413	return c.header_
7414}
7415
7416func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
7417	reqHeaders := make(http.Header)
7418	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7419	for k, v := range c.header_ {
7420		reqHeaders[k] = v
7421	}
7422	reqHeaders.Set("User-Agent", c.s.userAgent())
7423	var body io.Reader = nil
7424	c.urlParams_.Set("alt", alt)
7425	c.urlParams_.Set("prettyPrint", "false")
7426	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7427	urls += "?" + c.urlParams_.Encode()
7428	req, err := http.NewRequest("DELETE", urls, body)
7429	if err != nil {
7430		return nil, err
7431	}
7432	req.Header = reqHeaders
7433	googleapi.Expand(req.URL, map[string]string{
7434		"name": c.name,
7435	})
7436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7437}
7438
7439// Do executes the "healthcare.projects.locations.datasets.delete" call.
7440// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7441// code is an error. Response headers are in either
7442// *Empty.ServerResponse.Header or (if a response was returned at all)
7443// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7444// check whether the returned error was because http.StatusNotModified
7445// was returned.
7446func (c *ProjectsLocationsDatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7447	gensupport.SetOptions(c.urlParams_, opts...)
7448	res, err := c.doRequest("json")
7449	if res != nil && res.StatusCode == http.StatusNotModified {
7450		if res.Body != nil {
7451			res.Body.Close()
7452		}
7453		return nil, &googleapi.Error{
7454			Code:   res.StatusCode,
7455			Header: res.Header,
7456		}
7457	}
7458	if err != nil {
7459		return nil, err
7460	}
7461	defer googleapi.CloseBody(res)
7462	if err := googleapi.CheckResponse(res); err != nil {
7463		return nil, err
7464	}
7465	ret := &Empty{
7466		ServerResponse: googleapi.ServerResponse{
7467			Header:         res.Header,
7468			HTTPStatusCode: res.StatusCode,
7469		},
7470	}
7471	target := &ret
7472	if err := gensupport.DecodeResponse(target, res); err != nil {
7473		return nil, err
7474	}
7475	return ret, nil
7476	// {
7477	//   "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).",
7478	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7479	//   "httpMethod": "DELETE",
7480	//   "id": "healthcare.projects.locations.datasets.delete",
7481	//   "parameterOrder": [
7482	//     "name"
7483	//   ],
7484	//   "parameters": {
7485	//     "name": {
7486	//       "description": "The name of the dataset to delete. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7487	//       "location": "path",
7488	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7489	//       "required": true,
7490	//       "type": "string"
7491	//     }
7492	//   },
7493	//   "path": "v1beta1/{+name}",
7494	//   "response": {
7495	//     "$ref": "Empty"
7496	//   },
7497	//   "scopes": [
7498	//     "https://www.googleapis.com/auth/cloud-platform"
7499	//   ]
7500	// }
7501
7502}
7503
7504// method id "healthcare.projects.locations.datasets.get":
7505
7506type ProjectsLocationsDatasetsGetCall struct {
7507	s            *Service
7508	name         string
7509	urlParams_   gensupport.URLParams
7510	ifNoneMatch_ string
7511	ctx_         context.Context
7512	header_      http.Header
7513}
7514
7515// Get: Gets any metadata associated with a dataset.
7516//
7517// - name: The name of the dataset to read. For example,
7518//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7519//   `.
7520func (r *ProjectsLocationsDatasetsService) Get(name string) *ProjectsLocationsDatasetsGetCall {
7521	c := &ProjectsLocationsDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7522	c.name = name
7523	return c
7524}
7525
7526// Fields allows partial responses to be retrieved. See
7527// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7528// for more information.
7529func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
7530	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7531	return c
7532}
7533
7534// IfNoneMatch sets the optional parameter which makes the operation
7535// fail if the object's ETag matches the given value. This is useful for
7536// getting updates only after the object has changed since the last
7537// request. Use googleapi.IsNotModified to check whether the response
7538// error from Do is the result of In-None-Match.
7539func (c *ProjectsLocationsDatasetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetCall {
7540	c.ifNoneMatch_ = entityTag
7541	return c
7542}
7543
7544// Context sets the context to be used in this call's Do method. Any
7545// pending HTTP request will be aborted if the provided context is
7546// canceled.
7547func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
7548	c.ctx_ = ctx
7549	return c
7550}
7551
7552// Header returns an http.Header that can be modified by the caller to
7553// add HTTP headers to the request.
7554func (c *ProjectsLocationsDatasetsGetCall) Header() http.Header {
7555	if c.header_ == nil {
7556		c.header_ = make(http.Header)
7557	}
7558	return c.header_
7559}
7560
7561func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
7562	reqHeaders := make(http.Header)
7563	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7564	for k, v := range c.header_ {
7565		reqHeaders[k] = v
7566	}
7567	reqHeaders.Set("User-Agent", c.s.userAgent())
7568	if c.ifNoneMatch_ != "" {
7569		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7570	}
7571	var body io.Reader = nil
7572	c.urlParams_.Set("alt", alt)
7573	c.urlParams_.Set("prettyPrint", "false")
7574	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7575	urls += "?" + c.urlParams_.Encode()
7576	req, err := http.NewRequest("GET", urls, body)
7577	if err != nil {
7578		return nil, err
7579	}
7580	req.Header = reqHeaders
7581	googleapi.Expand(req.URL, map[string]string{
7582		"name": c.name,
7583	})
7584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7585}
7586
7587// Do executes the "healthcare.projects.locations.datasets.get" call.
7588// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
7589// code is an error. Response headers are in either
7590// *Dataset.ServerResponse.Header or (if a response was returned at all)
7591// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7592// check whether the returned error was because http.StatusNotModified
7593// was returned.
7594func (c *ProjectsLocationsDatasetsGetCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
7595	gensupport.SetOptions(c.urlParams_, opts...)
7596	res, err := c.doRequest("json")
7597	if res != nil && res.StatusCode == http.StatusNotModified {
7598		if res.Body != nil {
7599			res.Body.Close()
7600		}
7601		return nil, &googleapi.Error{
7602			Code:   res.StatusCode,
7603			Header: res.Header,
7604		}
7605	}
7606	if err != nil {
7607		return nil, err
7608	}
7609	defer googleapi.CloseBody(res)
7610	if err := googleapi.CheckResponse(res); err != nil {
7611		return nil, err
7612	}
7613	ret := &Dataset{
7614		ServerResponse: googleapi.ServerResponse{
7615			Header:         res.Header,
7616			HTTPStatusCode: res.StatusCode,
7617		},
7618	}
7619	target := &ret
7620	if err := gensupport.DecodeResponse(target, res); err != nil {
7621		return nil, err
7622	}
7623	return ret, nil
7624	// {
7625	//   "description": "Gets any metadata associated with a dataset.",
7626	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7627	//   "httpMethod": "GET",
7628	//   "id": "healthcare.projects.locations.datasets.get",
7629	//   "parameterOrder": [
7630	//     "name"
7631	//   ],
7632	//   "parameters": {
7633	//     "name": {
7634	//       "description": "The name of the dataset to read. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7635	//       "location": "path",
7636	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7637	//       "required": true,
7638	//       "type": "string"
7639	//     }
7640	//   },
7641	//   "path": "v1beta1/{+name}",
7642	//   "response": {
7643	//     "$ref": "Dataset"
7644	//   },
7645	//   "scopes": [
7646	//     "https://www.googleapis.com/auth/cloud-platform"
7647	//   ]
7648	// }
7649
7650}
7651
7652// method id "healthcare.projects.locations.datasets.getIamPolicy":
7653
7654type ProjectsLocationsDatasetsGetIamPolicyCall struct {
7655	s            *Service
7656	resource     string
7657	urlParams_   gensupport.URLParams
7658	ifNoneMatch_ string
7659	ctx_         context.Context
7660	header_      http.Header
7661}
7662
7663// GetIamPolicy: Gets the access control policy for a resource. Returns
7664// an empty policy if the resource exists and does not have a policy
7665// set.
7666//
7667// - resource: REQUIRED: The resource for which the policy is being
7668//   requested. See the operation documentation for the appropriate
7669//   value for this field.
7670func (r *ProjectsLocationsDatasetsService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7671	c := &ProjectsLocationsDatasetsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7672	c.resource = resource
7673	return c
7674}
7675
7676// OptionsRequestedPolicyVersion sets the optional parameter
7677// "options.requestedPolicyVersion": The policy format version to be
7678// returned. Valid values are 0, 1, and 3. Requests specifying an
7679// invalid value will be rejected. Requests for policies with any
7680// conditional bindings must specify version 3. Policies without any
7681// conditional bindings may specify any valid value or leave the field
7682// unset. To learn which resources support conditions in their IAM
7683// policies, see the IAM documentation
7684// (https://cloud.google.com/iam/help/conditions/resource-policies).
7685func (c *ProjectsLocationsDatasetsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsGetIamPolicyCall {
7686	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
7687	return c
7688}
7689
7690// Fields allows partial responses to be retrieved. See
7691// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7692// for more information.
7693func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetIamPolicyCall {
7694	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7695	return c
7696}
7697
7698// IfNoneMatch sets the optional parameter which makes the operation
7699// fail if the object's ETag matches the given value. This is useful for
7700// getting updates only after the object has changed since the last
7701// request. Use googleapi.IsNotModified to check whether the response
7702// error from Do is the result of In-None-Match.
7703func (c *ProjectsLocationsDatasetsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7704	c.ifNoneMatch_ = entityTag
7705	return c
7706}
7707
7708// Context sets the context to be used in this call's Do method. Any
7709// pending HTTP request will be aborted if the provided context is
7710// canceled.
7711func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetIamPolicyCall {
7712	c.ctx_ = ctx
7713	return c
7714}
7715
7716// Header returns an http.Header that can be modified by the caller to
7717// add HTTP headers to the request.
7718func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Header() http.Header {
7719	if c.header_ == nil {
7720		c.header_ = make(http.Header)
7721	}
7722	return c.header_
7723}
7724
7725func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7726	reqHeaders := make(http.Header)
7727	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7728	for k, v := range c.header_ {
7729		reqHeaders[k] = v
7730	}
7731	reqHeaders.Set("User-Agent", c.s.userAgent())
7732	if c.ifNoneMatch_ != "" {
7733		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7734	}
7735	var body io.Reader = nil
7736	c.urlParams_.Set("alt", alt)
7737	c.urlParams_.Set("prettyPrint", "false")
7738	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7739	urls += "?" + c.urlParams_.Encode()
7740	req, err := http.NewRequest("GET", urls, body)
7741	if err != nil {
7742		return nil, err
7743	}
7744	req.Header = reqHeaders
7745	googleapi.Expand(req.URL, map[string]string{
7746		"resource": c.resource,
7747	})
7748	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7749}
7750
7751// Do executes the "healthcare.projects.locations.datasets.getIamPolicy" call.
7752// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7753// code is an error. Response headers are in either
7754// *Policy.ServerResponse.Header or (if a response was returned at all)
7755// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7756// check whether the returned error was because http.StatusNotModified
7757// was returned.
7758func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7759	gensupport.SetOptions(c.urlParams_, opts...)
7760	res, err := c.doRequest("json")
7761	if res != nil && res.StatusCode == http.StatusNotModified {
7762		if res.Body != nil {
7763			res.Body.Close()
7764		}
7765		return nil, &googleapi.Error{
7766			Code:   res.StatusCode,
7767			Header: res.Header,
7768		}
7769	}
7770	if err != nil {
7771		return nil, err
7772	}
7773	defer googleapi.CloseBody(res)
7774	if err := googleapi.CheckResponse(res); err != nil {
7775		return nil, err
7776	}
7777	ret := &Policy{
7778		ServerResponse: googleapi.ServerResponse{
7779			Header:         res.Header,
7780			HTTPStatusCode: res.StatusCode,
7781		},
7782	}
7783	target := &ret
7784	if err := gensupport.DecodeResponse(target, res); err != nil {
7785		return nil, err
7786	}
7787	return ret, nil
7788	// {
7789	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
7790	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy",
7791	//   "httpMethod": "GET",
7792	//   "id": "healthcare.projects.locations.datasets.getIamPolicy",
7793	//   "parameterOrder": [
7794	//     "resource"
7795	//   ],
7796	//   "parameters": {
7797	//     "options.requestedPolicyVersion": {
7798	//       "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).",
7799	//       "format": "int32",
7800	//       "location": "query",
7801	//       "type": "integer"
7802	//     },
7803	//     "resource": {
7804	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7805	//       "location": "path",
7806	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7807	//       "required": true,
7808	//       "type": "string"
7809	//     }
7810	//   },
7811	//   "path": "v1beta1/{+resource}:getIamPolicy",
7812	//   "response": {
7813	//     "$ref": "Policy"
7814	//   },
7815	//   "scopes": [
7816	//     "https://www.googleapis.com/auth/cloud-platform"
7817	//   ]
7818	// }
7819
7820}
7821
7822// method id "healthcare.projects.locations.datasets.list":
7823
7824type ProjectsLocationsDatasetsListCall struct {
7825	s            *Service
7826	parent       string
7827	urlParams_   gensupport.URLParams
7828	ifNoneMatch_ string
7829	ctx_         context.Context
7830	header_      http.Header
7831}
7832
7833// List: Lists the health datasets in the current project.
7834//
7835// - parent: The name of the project whose datasets should be listed.
7836//   For example, `projects/{project_id}/locations/{location_id}`.
7837func (r *ProjectsLocationsDatasetsService) List(parent string) *ProjectsLocationsDatasetsListCall {
7838	c := &ProjectsLocationsDatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7839	c.parent = parent
7840	return c
7841}
7842
7843// PageSize sets the optional parameter "pageSize": The maximum number
7844// of items to return. If not specified, 100 is used. May not be larger
7845// than 1000.
7846func (c *ProjectsLocationsDatasetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsListCall {
7847	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7848	return c
7849}
7850
7851// PageToken sets the optional parameter "pageToken": The
7852// next_page_token value returned from a previous List request, if any.
7853func (c *ProjectsLocationsDatasetsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsListCall {
7854	c.urlParams_.Set("pageToken", pageToken)
7855	return c
7856}
7857
7858// Fields allows partial responses to be retrieved. See
7859// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7860// for more information.
7861func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
7862	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7863	return c
7864}
7865
7866// IfNoneMatch sets the optional parameter which makes the operation
7867// fail if the object's ETag matches the given value. This is useful for
7868// getting updates only after the object has changed since the last
7869// request. Use googleapi.IsNotModified to check whether the response
7870// error from Do is the result of In-None-Match.
7871func (c *ProjectsLocationsDatasetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsListCall {
7872	c.ifNoneMatch_ = entityTag
7873	return c
7874}
7875
7876// Context sets the context to be used in this call's Do method. Any
7877// pending HTTP request will be aborted if the provided context is
7878// canceled.
7879func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
7880	c.ctx_ = ctx
7881	return c
7882}
7883
7884// Header returns an http.Header that can be modified by the caller to
7885// add HTTP headers to the request.
7886func (c *ProjectsLocationsDatasetsListCall) Header() http.Header {
7887	if c.header_ == nil {
7888		c.header_ = make(http.Header)
7889	}
7890	return c.header_
7891}
7892
7893func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
7894	reqHeaders := make(http.Header)
7895	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
7896	for k, v := range c.header_ {
7897		reqHeaders[k] = v
7898	}
7899	reqHeaders.Set("User-Agent", c.s.userAgent())
7900	if c.ifNoneMatch_ != "" {
7901		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7902	}
7903	var body io.Reader = nil
7904	c.urlParams_.Set("alt", alt)
7905	c.urlParams_.Set("prettyPrint", "false")
7906	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7907	urls += "?" + c.urlParams_.Encode()
7908	req, err := http.NewRequest("GET", urls, body)
7909	if err != nil {
7910		return nil, err
7911	}
7912	req.Header = reqHeaders
7913	googleapi.Expand(req.URL, map[string]string{
7914		"parent": c.parent,
7915	})
7916	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7917}
7918
7919// Do executes the "healthcare.projects.locations.datasets.list" call.
7920// Exactly one of *ListDatasetsResponse or error will be non-nil. Any
7921// non-2xx status code is an error. Response headers are in either
7922// *ListDatasetsResponse.ServerResponse.Header or (if a response was
7923// returned at all) in error.(*googleapi.Error).Header. Use
7924// googleapi.IsNotModified to check whether the returned error was
7925// because http.StatusNotModified was returned.
7926func (c *ProjectsLocationsDatasetsListCall) Do(opts ...googleapi.CallOption) (*ListDatasetsResponse, error) {
7927	gensupport.SetOptions(c.urlParams_, opts...)
7928	res, err := c.doRequest("json")
7929	if res != nil && res.StatusCode == http.StatusNotModified {
7930		if res.Body != nil {
7931			res.Body.Close()
7932		}
7933		return nil, &googleapi.Error{
7934			Code:   res.StatusCode,
7935			Header: res.Header,
7936		}
7937	}
7938	if err != nil {
7939		return nil, err
7940	}
7941	defer googleapi.CloseBody(res)
7942	if err := googleapi.CheckResponse(res); err != nil {
7943		return nil, err
7944	}
7945	ret := &ListDatasetsResponse{
7946		ServerResponse: googleapi.ServerResponse{
7947			Header:         res.Header,
7948			HTTPStatusCode: res.StatusCode,
7949		},
7950	}
7951	target := &ret
7952	if err := gensupport.DecodeResponse(target, res); err != nil {
7953		return nil, err
7954	}
7955	return ret, nil
7956	// {
7957	//   "description": "Lists the health datasets in the current project.",
7958	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7959	//   "httpMethod": "GET",
7960	//   "id": "healthcare.projects.locations.datasets.list",
7961	//   "parameterOrder": [
7962	//     "parent"
7963	//   ],
7964	//   "parameters": {
7965	//     "pageSize": {
7966	//       "description": "The maximum number of items to return. If not specified, 100 is used. May not be larger than 1000.",
7967	//       "format": "int32",
7968	//       "location": "query",
7969	//       "type": "integer"
7970	//     },
7971	//     "pageToken": {
7972	//       "description": "The next_page_token value returned from a previous List request, if any.",
7973	//       "location": "query",
7974	//       "type": "string"
7975	//     },
7976	//     "parent": {
7977	//       "description": "The name of the project whose datasets should be listed. For example, `projects/{project_id}/locations/{location_id}`.",
7978	//       "location": "path",
7979	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7980	//       "required": true,
7981	//       "type": "string"
7982	//     }
7983	//   },
7984	//   "path": "v1beta1/{+parent}/datasets",
7985	//   "response": {
7986	//     "$ref": "ListDatasetsResponse"
7987	//   },
7988	//   "scopes": [
7989	//     "https://www.googleapis.com/auth/cloud-platform"
7990	//   ]
7991	// }
7992
7993}
7994
7995// Pages invokes f for each page of results.
7996// A non-nil error returned from f will halt the iteration.
7997// The provided context supersedes any context provided to the Context method.
7998func (c *ProjectsLocationsDatasetsListCall) Pages(ctx context.Context, f func(*ListDatasetsResponse) error) error {
7999	c.ctx_ = ctx
8000	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8001	for {
8002		x, err := c.Do()
8003		if err != nil {
8004			return err
8005		}
8006		if err := f(x); err != nil {
8007			return err
8008		}
8009		if x.NextPageToken == "" {
8010			return nil
8011		}
8012		c.PageToken(x.NextPageToken)
8013	}
8014}
8015
8016// method id "healthcare.projects.locations.datasets.patch":
8017
8018type ProjectsLocationsDatasetsPatchCall struct {
8019	s          *Service
8020	name       string
8021	dataset    *Dataset
8022	urlParams_ gensupport.URLParams
8023	ctx_       context.Context
8024	header_    http.Header
8025}
8026
8027// Patch: Updates dataset metadata.
8028//
8029// - name: Resource name of the dataset, of the form
8030//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8031//   `.
8032func (r *ProjectsLocationsDatasetsService) Patch(name string, dataset *Dataset) *ProjectsLocationsDatasetsPatchCall {
8033	c := &ProjectsLocationsDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8034	c.name = name
8035	c.dataset = dataset
8036	return c
8037}
8038
8039// UpdateMask sets the optional parameter "updateMask": The update mask
8040// applies to the resource. For the `FieldMask` definition, see
8041// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
8042func (c *ProjectsLocationsDatasetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsPatchCall {
8043	c.urlParams_.Set("updateMask", updateMask)
8044	return c
8045}
8046
8047// Fields allows partial responses to be retrieved. See
8048// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8049// for more information.
8050func (c *ProjectsLocationsDatasetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsPatchCall {
8051	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8052	return c
8053}
8054
8055// Context sets the context to be used in this call's Do method. Any
8056// pending HTTP request will be aborted if the provided context is
8057// canceled.
8058func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
8059	c.ctx_ = ctx
8060	return c
8061}
8062
8063// Header returns an http.Header that can be modified by the caller to
8064// add HTTP headers to the request.
8065func (c *ProjectsLocationsDatasetsPatchCall) Header() http.Header {
8066	if c.header_ == nil {
8067		c.header_ = make(http.Header)
8068	}
8069	return c.header_
8070}
8071
8072func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
8073	reqHeaders := make(http.Header)
8074	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8075	for k, v := range c.header_ {
8076		reqHeaders[k] = v
8077	}
8078	reqHeaders.Set("User-Agent", c.s.userAgent())
8079	var body io.Reader = nil
8080	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
8081	if err != nil {
8082		return nil, err
8083	}
8084	reqHeaders.Set("Content-Type", "application/json")
8085	c.urlParams_.Set("alt", alt)
8086	c.urlParams_.Set("prettyPrint", "false")
8087	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8088	urls += "?" + c.urlParams_.Encode()
8089	req, err := http.NewRequest("PATCH", urls, body)
8090	if err != nil {
8091		return nil, err
8092	}
8093	req.Header = reqHeaders
8094	googleapi.Expand(req.URL, map[string]string{
8095		"name": c.name,
8096	})
8097	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8098}
8099
8100// Do executes the "healthcare.projects.locations.datasets.patch" call.
8101// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
8102// code is an error. Response headers are in either
8103// *Dataset.ServerResponse.Header or (if a response was returned at all)
8104// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8105// check whether the returned error was because http.StatusNotModified
8106// was returned.
8107func (c *ProjectsLocationsDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
8108	gensupport.SetOptions(c.urlParams_, opts...)
8109	res, err := c.doRequest("json")
8110	if res != nil && res.StatusCode == http.StatusNotModified {
8111		if res.Body != nil {
8112			res.Body.Close()
8113		}
8114		return nil, &googleapi.Error{
8115			Code:   res.StatusCode,
8116			Header: res.Header,
8117		}
8118	}
8119	if err != nil {
8120		return nil, err
8121	}
8122	defer googleapi.CloseBody(res)
8123	if err := googleapi.CheckResponse(res); err != nil {
8124		return nil, err
8125	}
8126	ret := &Dataset{
8127		ServerResponse: googleapi.ServerResponse{
8128			Header:         res.Header,
8129			HTTPStatusCode: res.StatusCode,
8130		},
8131	}
8132	target := &ret
8133	if err := gensupport.DecodeResponse(target, res); err != nil {
8134		return nil, err
8135	}
8136	return ret, nil
8137	// {
8138	//   "description": "Updates dataset metadata.",
8139	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
8140	//   "httpMethod": "PATCH",
8141	//   "id": "healthcare.projects.locations.datasets.patch",
8142	//   "parameterOrder": [
8143	//     "name"
8144	//   ],
8145	//   "parameters": {
8146	//     "name": {
8147	//       "description": "Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
8148	//       "location": "path",
8149	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8150	//       "required": true,
8151	//       "type": "string"
8152	//     },
8153	//     "updateMask": {
8154	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
8155	//       "format": "google-fieldmask",
8156	//       "location": "query",
8157	//       "type": "string"
8158	//     }
8159	//   },
8160	//   "path": "v1beta1/{+name}",
8161	//   "request": {
8162	//     "$ref": "Dataset"
8163	//   },
8164	//   "response": {
8165	//     "$ref": "Dataset"
8166	//   },
8167	//   "scopes": [
8168	//     "https://www.googleapis.com/auth/cloud-platform"
8169	//   ]
8170	// }
8171
8172}
8173
8174// method id "healthcare.projects.locations.datasets.setIamPolicy":
8175
8176type ProjectsLocationsDatasetsSetIamPolicyCall struct {
8177	s                   *Service
8178	resource            string
8179	setiampolicyrequest *SetIamPolicyRequest
8180	urlParams_          gensupport.URLParams
8181	ctx_                context.Context
8182	header_             http.Header
8183}
8184
8185// SetIamPolicy: Sets the access control policy on the specified
8186// resource. Replaces any existing policy. Can return `NOT_FOUND`,
8187// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
8188//
8189// - resource: REQUIRED: The resource for which the policy is being
8190//   specified. See the operation documentation for the appropriate
8191//   value for this field.
8192func (r *ProjectsLocationsDatasetsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsSetIamPolicyCall {
8193	c := &ProjectsLocationsDatasetsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8194	c.resource = resource
8195	c.setiampolicyrequest = setiampolicyrequest
8196	return c
8197}
8198
8199// Fields allows partial responses to be retrieved. See
8200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8201// for more information.
8202func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSetIamPolicyCall {
8203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8204	return c
8205}
8206
8207// Context sets the context to be used in this call's Do method. Any
8208// pending HTTP request will be aborted if the provided context is
8209// canceled.
8210func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSetIamPolicyCall {
8211	c.ctx_ = ctx
8212	return c
8213}
8214
8215// Header returns an http.Header that can be modified by the caller to
8216// add HTTP headers to the request.
8217func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Header() http.Header {
8218	if c.header_ == nil {
8219		c.header_ = make(http.Header)
8220	}
8221	return c.header_
8222}
8223
8224func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
8225	reqHeaders := make(http.Header)
8226	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8227	for k, v := range c.header_ {
8228		reqHeaders[k] = v
8229	}
8230	reqHeaders.Set("User-Agent", c.s.userAgent())
8231	var body io.Reader = nil
8232	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
8233	if err != nil {
8234		return nil, err
8235	}
8236	reqHeaders.Set("Content-Type", "application/json")
8237	c.urlParams_.Set("alt", alt)
8238	c.urlParams_.Set("prettyPrint", "false")
8239	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
8240	urls += "?" + c.urlParams_.Encode()
8241	req, err := http.NewRequest("POST", urls, body)
8242	if err != nil {
8243		return nil, err
8244	}
8245	req.Header = reqHeaders
8246	googleapi.Expand(req.URL, map[string]string{
8247		"resource": c.resource,
8248	})
8249	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8250}
8251
8252// Do executes the "healthcare.projects.locations.datasets.setIamPolicy" call.
8253// Exactly one of *Policy or error will be non-nil. Any non-2xx status
8254// code is an error. Response headers are in either
8255// *Policy.ServerResponse.Header or (if a response was returned at all)
8256// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8257// check whether the returned error was because http.StatusNotModified
8258// was returned.
8259func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
8260	gensupport.SetOptions(c.urlParams_, opts...)
8261	res, err := c.doRequest("json")
8262	if res != nil && res.StatusCode == http.StatusNotModified {
8263		if res.Body != nil {
8264			res.Body.Close()
8265		}
8266		return nil, &googleapi.Error{
8267			Code:   res.StatusCode,
8268			Header: res.Header,
8269		}
8270	}
8271	if err != nil {
8272		return nil, err
8273	}
8274	defer googleapi.CloseBody(res)
8275	if err := googleapi.CheckResponse(res); err != nil {
8276		return nil, err
8277	}
8278	ret := &Policy{
8279		ServerResponse: googleapi.ServerResponse{
8280			Header:         res.Header,
8281			HTTPStatusCode: res.StatusCode,
8282		},
8283	}
8284	target := &ret
8285	if err := gensupport.DecodeResponse(target, res); err != nil {
8286		return nil, err
8287	}
8288	return ret, nil
8289	// {
8290	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
8291	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy",
8292	//   "httpMethod": "POST",
8293	//   "id": "healthcare.projects.locations.datasets.setIamPolicy",
8294	//   "parameterOrder": [
8295	//     "resource"
8296	//   ],
8297	//   "parameters": {
8298	//     "resource": {
8299	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
8300	//       "location": "path",
8301	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8302	//       "required": true,
8303	//       "type": "string"
8304	//     }
8305	//   },
8306	//   "path": "v1beta1/{+resource}:setIamPolicy",
8307	//   "request": {
8308	//     "$ref": "SetIamPolicyRequest"
8309	//   },
8310	//   "response": {
8311	//     "$ref": "Policy"
8312	//   },
8313	//   "scopes": [
8314	//     "https://www.googleapis.com/auth/cloud-platform"
8315	//   ]
8316	// }
8317
8318}
8319
8320// method id "healthcare.projects.locations.datasets.testIamPermissions":
8321
8322type ProjectsLocationsDatasetsTestIamPermissionsCall struct {
8323	s                         *Service
8324	resource                  string
8325	testiampermissionsrequest *TestIamPermissionsRequest
8326	urlParams_                gensupport.URLParams
8327	ctx_                      context.Context
8328	header_                   http.Header
8329}
8330
8331// TestIamPermissions: Returns permissions that a caller has on the
8332// specified resource. If the resource does not exist, this will return
8333// an empty set of permissions, not a `NOT_FOUND` error. Note: This
8334// operation is designed to be used for building permission-aware UIs
8335// and command-line tools, not for authorization checking. This
8336// operation may "fail open" without warning.
8337//
8338// - resource: REQUIRED: The resource for which the policy detail is
8339//   being requested. See the operation documentation for the
8340//   appropriate value for this field.
8341func (r *ProjectsLocationsDatasetsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8342	c := &ProjectsLocationsDatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8343	c.resource = resource
8344	c.testiampermissionsrequest = testiampermissionsrequest
8345	return c
8346}
8347
8348// Fields allows partial responses to be retrieved. See
8349// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8350// for more information.
8351func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8352	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8353	return c
8354}
8355
8356// Context sets the context to be used in this call's Do method. Any
8357// pending HTTP request will be aborted if the provided context is
8358// canceled.
8359func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8360	c.ctx_ = ctx
8361	return c
8362}
8363
8364// Header returns an http.Header that can be modified by the caller to
8365// add HTTP headers to the request.
8366func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Header() http.Header {
8367	if c.header_ == nil {
8368		c.header_ = make(http.Header)
8369	}
8370	return c.header_
8371}
8372
8373func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
8374	reqHeaders := make(http.Header)
8375	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8376	for k, v := range c.header_ {
8377		reqHeaders[k] = v
8378	}
8379	reqHeaders.Set("User-Agent", c.s.userAgent())
8380	var body io.Reader = nil
8381	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
8382	if err != nil {
8383		return nil, err
8384	}
8385	reqHeaders.Set("Content-Type", "application/json")
8386	c.urlParams_.Set("alt", alt)
8387	c.urlParams_.Set("prettyPrint", "false")
8388	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
8389	urls += "?" + c.urlParams_.Encode()
8390	req, err := http.NewRequest("POST", urls, body)
8391	if err != nil {
8392		return nil, err
8393	}
8394	req.Header = reqHeaders
8395	googleapi.Expand(req.URL, map[string]string{
8396		"resource": c.resource,
8397	})
8398	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8399}
8400
8401// Do executes the "healthcare.projects.locations.datasets.testIamPermissions" call.
8402// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
8403// Any non-2xx status code is an error. Response headers are in either
8404// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
8405// was returned at all) in error.(*googleapi.Error).Header. Use
8406// googleapi.IsNotModified to check whether the returned error was
8407// because http.StatusNotModified was returned.
8408func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
8409	gensupport.SetOptions(c.urlParams_, opts...)
8410	res, err := c.doRequest("json")
8411	if res != nil && res.StatusCode == http.StatusNotModified {
8412		if res.Body != nil {
8413			res.Body.Close()
8414		}
8415		return nil, &googleapi.Error{
8416			Code:   res.StatusCode,
8417			Header: res.Header,
8418		}
8419	}
8420	if err != nil {
8421		return nil, err
8422	}
8423	defer googleapi.CloseBody(res)
8424	if err := googleapi.CheckResponse(res); err != nil {
8425		return nil, err
8426	}
8427	ret := &TestIamPermissionsResponse{
8428		ServerResponse: googleapi.ServerResponse{
8429			Header:         res.Header,
8430			HTTPStatusCode: res.StatusCode,
8431		},
8432	}
8433	target := &ret
8434	if err := gensupport.DecodeResponse(target, res); err != nil {
8435		return nil, err
8436	}
8437	return ret, nil
8438	// {
8439	//   "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.",
8440	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions",
8441	//   "httpMethod": "POST",
8442	//   "id": "healthcare.projects.locations.datasets.testIamPermissions",
8443	//   "parameterOrder": [
8444	//     "resource"
8445	//   ],
8446	//   "parameters": {
8447	//     "resource": {
8448	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
8449	//       "location": "path",
8450	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8451	//       "required": true,
8452	//       "type": "string"
8453	//     }
8454	//   },
8455	//   "path": "v1beta1/{+resource}:testIamPermissions",
8456	//   "request": {
8457	//     "$ref": "TestIamPermissionsRequest"
8458	//   },
8459	//   "response": {
8460	//     "$ref": "TestIamPermissionsResponse"
8461	//   },
8462	//   "scopes": [
8463	//     "https://www.googleapis.com/auth/cloud-platform"
8464	//   ]
8465	// }
8466
8467}
8468
8469// method id "healthcare.projects.locations.datasets.annotationStores.create":
8470
8471type ProjectsLocationsDatasetsAnnotationStoresCreateCall struct {
8472	s               *Service
8473	parent          string
8474	annotationstore *AnnotationStore
8475	urlParams_      gensupport.URLParams
8476	ctx_            context.Context
8477	header_         http.Header
8478}
8479
8480// Create: Creates a new Annotation store within the parent dataset.
8481//
8482// - parent: The name of the dataset this Annotation store belongs to.
8483func (r *ProjectsLocationsDatasetsAnnotationStoresService) Create(parent string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8484	c := &ProjectsLocationsDatasetsAnnotationStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8485	c.parent = parent
8486	c.annotationstore = annotationstore
8487	return c
8488}
8489
8490// AnnotationStoreId sets the optional parameter "annotationStoreId":
8491// The ID of the Annotation store that is being created. The string must
8492// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
8493func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) AnnotationStoreId(annotationStoreId string) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8494	c.urlParams_.Set("annotationStoreId", annotationStoreId)
8495	return c
8496}
8497
8498// Fields allows partial responses to be retrieved. See
8499// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8500// for more information.
8501func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8502	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8503	return c
8504}
8505
8506// Context sets the context to be used in this call's Do method. Any
8507// pending HTTP request will be aborted if the provided context is
8508// canceled.
8509func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8510	c.ctx_ = ctx
8511	return c
8512}
8513
8514// Header returns an http.Header that can be modified by the caller to
8515// add HTTP headers to the request.
8516func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Header() http.Header {
8517	if c.header_ == nil {
8518		c.header_ = make(http.Header)
8519	}
8520	return c.header_
8521}
8522
8523func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) doRequest(alt string) (*http.Response, error) {
8524	reqHeaders := make(http.Header)
8525	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8526	for k, v := range c.header_ {
8527		reqHeaders[k] = v
8528	}
8529	reqHeaders.Set("User-Agent", c.s.userAgent())
8530	var body io.Reader = nil
8531	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
8532	if err != nil {
8533		return nil, err
8534	}
8535	reqHeaders.Set("Content-Type", "application/json")
8536	c.urlParams_.Set("alt", alt)
8537	c.urlParams_.Set("prettyPrint", "false")
8538	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
8539	urls += "?" + c.urlParams_.Encode()
8540	req, err := http.NewRequest("POST", urls, body)
8541	if err != nil {
8542		return nil, err
8543	}
8544	req.Header = reqHeaders
8545	googleapi.Expand(req.URL, map[string]string{
8546		"parent": c.parent,
8547	})
8548	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8549}
8550
8551// Do executes the "healthcare.projects.locations.datasets.annotationStores.create" call.
8552// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
8553// status code is an error. Response headers are in either
8554// *AnnotationStore.ServerResponse.Header or (if a response was returned
8555// at all) in error.(*googleapi.Error).Header. Use
8556// googleapi.IsNotModified to check whether the returned error was
8557// because http.StatusNotModified was returned.
8558func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
8559	gensupport.SetOptions(c.urlParams_, opts...)
8560	res, err := c.doRequest("json")
8561	if res != nil && res.StatusCode == http.StatusNotModified {
8562		if res.Body != nil {
8563			res.Body.Close()
8564		}
8565		return nil, &googleapi.Error{
8566			Code:   res.StatusCode,
8567			Header: res.Header,
8568		}
8569	}
8570	if err != nil {
8571		return nil, err
8572	}
8573	defer googleapi.CloseBody(res)
8574	if err := googleapi.CheckResponse(res); err != nil {
8575		return nil, err
8576	}
8577	ret := &AnnotationStore{
8578		ServerResponse: googleapi.ServerResponse{
8579			Header:         res.Header,
8580			HTTPStatusCode: res.StatusCode,
8581		},
8582	}
8583	target := &ret
8584	if err := gensupport.DecodeResponse(target, res); err != nil {
8585		return nil, err
8586	}
8587	return ret, nil
8588	// {
8589	//   "description": "Creates a new Annotation store within the parent dataset.",
8590	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
8591	//   "httpMethod": "POST",
8592	//   "id": "healthcare.projects.locations.datasets.annotationStores.create",
8593	//   "parameterOrder": [
8594	//     "parent"
8595	//   ],
8596	//   "parameters": {
8597	//     "annotationStoreId": {
8598	//       "description": "The ID of the Annotation store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
8599	//       "location": "query",
8600	//       "type": "string"
8601	//     },
8602	//     "parent": {
8603	//       "description": "The name of the dataset this Annotation store belongs to.",
8604	//       "location": "path",
8605	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8606	//       "required": true,
8607	//       "type": "string"
8608	//     }
8609	//   },
8610	//   "path": "v1beta1/{+parent}/annotationStores",
8611	//   "request": {
8612	//     "$ref": "AnnotationStore"
8613	//   },
8614	//   "response": {
8615	//     "$ref": "AnnotationStore"
8616	//   },
8617	//   "scopes": [
8618	//     "https://www.googleapis.com/auth/cloud-platform"
8619	//   ]
8620	// }
8621
8622}
8623
8624// method id "healthcare.projects.locations.datasets.annotationStores.delete":
8625
8626type ProjectsLocationsDatasetsAnnotationStoresDeleteCall struct {
8627	s          *Service
8628	name       string
8629	urlParams_ gensupport.URLParams
8630	ctx_       context.Context
8631	header_    http.Header
8632}
8633
8634// Delete: Deletes the specified Annotation store and removes all
8635// annotations that are contained within it.
8636//
8637// - name: The resource name of the Annotation store to delete.
8638func (r *ProjectsLocationsDatasetsAnnotationStoresService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8639	c := &ProjectsLocationsDatasetsAnnotationStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8640	c.name = name
8641	return c
8642}
8643
8644// Fields allows partial responses to be retrieved. See
8645// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8646// for more information.
8647func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8648	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8649	return c
8650}
8651
8652// Context sets the context to be used in this call's Do method. Any
8653// pending HTTP request will be aborted if the provided context is
8654// canceled.
8655func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8656	c.ctx_ = ctx
8657	return c
8658}
8659
8660// Header returns an http.Header that can be modified by the caller to
8661// add HTTP headers to the request.
8662func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Header() http.Header {
8663	if c.header_ == nil {
8664		c.header_ = make(http.Header)
8665	}
8666	return c.header_
8667}
8668
8669func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
8670	reqHeaders := make(http.Header)
8671	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8672	for k, v := range c.header_ {
8673		reqHeaders[k] = v
8674	}
8675	reqHeaders.Set("User-Agent", c.s.userAgent())
8676	var body io.Reader = nil
8677	c.urlParams_.Set("alt", alt)
8678	c.urlParams_.Set("prettyPrint", "false")
8679	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8680	urls += "?" + c.urlParams_.Encode()
8681	req, err := http.NewRequest("DELETE", urls, body)
8682	if err != nil {
8683		return nil, err
8684	}
8685	req.Header = reqHeaders
8686	googleapi.Expand(req.URL, map[string]string{
8687		"name": c.name,
8688	})
8689	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8690}
8691
8692// Do executes the "healthcare.projects.locations.datasets.annotationStores.delete" call.
8693// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8694// code is an error. Response headers are in either
8695// *Empty.ServerResponse.Header or (if a response was returned at all)
8696// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8697// check whether the returned error was because http.StatusNotModified
8698// was returned.
8699func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8700	gensupport.SetOptions(c.urlParams_, opts...)
8701	res, err := c.doRequest("json")
8702	if res != nil && res.StatusCode == http.StatusNotModified {
8703		if res.Body != nil {
8704			res.Body.Close()
8705		}
8706		return nil, &googleapi.Error{
8707			Code:   res.StatusCode,
8708			Header: res.Header,
8709		}
8710	}
8711	if err != nil {
8712		return nil, err
8713	}
8714	defer googleapi.CloseBody(res)
8715	if err := googleapi.CheckResponse(res); err != nil {
8716		return nil, err
8717	}
8718	ret := &Empty{
8719		ServerResponse: googleapi.ServerResponse{
8720			Header:         res.Header,
8721			HTTPStatusCode: res.StatusCode,
8722		},
8723	}
8724	target := &ret
8725	if err := gensupport.DecodeResponse(target, res); err != nil {
8726		return nil, err
8727	}
8728	return ret, nil
8729	// {
8730	//   "description": "Deletes the specified Annotation store and removes all annotations that are contained within it.",
8731	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
8732	//   "httpMethod": "DELETE",
8733	//   "id": "healthcare.projects.locations.datasets.annotationStores.delete",
8734	//   "parameterOrder": [
8735	//     "name"
8736	//   ],
8737	//   "parameters": {
8738	//     "name": {
8739	//       "description": "The resource name of the Annotation store to delete.",
8740	//       "location": "path",
8741	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8742	//       "required": true,
8743	//       "type": "string"
8744	//     }
8745	//   },
8746	//   "path": "v1beta1/{+name}",
8747	//   "response": {
8748	//     "$ref": "Empty"
8749	//   },
8750	//   "scopes": [
8751	//     "https://www.googleapis.com/auth/cloud-platform"
8752	//   ]
8753	// }
8754
8755}
8756
8757// method id "healthcare.projects.locations.datasets.annotationStores.evaluate":
8758
8759type ProjectsLocationsDatasetsAnnotationStoresEvaluateCall struct {
8760	s                              *Service
8761	name                           string
8762	evaluateannotationstorerequest *EvaluateAnnotationStoreRequest
8763	urlParams_                     gensupport.URLParams
8764	ctx_                           context.Context
8765	header_                        http.Header
8766}
8767
8768// Evaluate: Evaluate an Annotation store against a ground truth
8769// Annotation store. When the operation finishes successfully, a
8770// detailed response is returned of type
8771// EvaluateAnnotationStoreResponse, contained in the response. The
8772// metadata field type is OperationMetadata. Errors are logged to Cloud
8773// Logging (see Viewing error logs in Cloud Logging
8774// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
8775//
8776// - name: The Annotation store to compare against `golden_store`, in
8777//   the format of
8778//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8779//   /annotationStores/{annotation_store_id}`.
8780func (r *ProjectsLocationsDatasetsAnnotationStoresService) Evaluate(name string, evaluateannotationstorerequest *EvaluateAnnotationStoreRequest) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8781	c := &ProjectsLocationsDatasetsAnnotationStoresEvaluateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8782	c.name = name
8783	c.evaluateannotationstorerequest = evaluateannotationstorerequest
8784	return c
8785}
8786
8787// Fields allows partial responses to be retrieved. See
8788// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8789// for more information.
8790func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8791	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8792	return c
8793}
8794
8795// Context sets the context to be used in this call's Do method. Any
8796// pending HTTP request will be aborted if the provided context is
8797// canceled.
8798func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8799	c.ctx_ = ctx
8800	return c
8801}
8802
8803// Header returns an http.Header that can be modified by the caller to
8804// add HTTP headers to the request.
8805func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Header() http.Header {
8806	if c.header_ == nil {
8807		c.header_ = make(http.Header)
8808	}
8809	return c.header_
8810}
8811
8812func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) doRequest(alt string) (*http.Response, error) {
8813	reqHeaders := make(http.Header)
8814	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8815	for k, v := range c.header_ {
8816		reqHeaders[k] = v
8817	}
8818	reqHeaders.Set("User-Agent", c.s.userAgent())
8819	var body io.Reader = nil
8820	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateannotationstorerequest)
8821	if err != nil {
8822		return nil, err
8823	}
8824	reqHeaders.Set("Content-Type", "application/json")
8825	c.urlParams_.Set("alt", alt)
8826	c.urlParams_.Set("prettyPrint", "false")
8827	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:evaluate")
8828	urls += "?" + c.urlParams_.Encode()
8829	req, err := http.NewRequest("POST", urls, body)
8830	if err != nil {
8831		return nil, err
8832	}
8833	req.Header = reqHeaders
8834	googleapi.Expand(req.URL, map[string]string{
8835		"name": c.name,
8836	})
8837	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8838}
8839
8840// Do executes the "healthcare.projects.locations.datasets.annotationStores.evaluate" call.
8841// Exactly one of *Operation or error will be non-nil. Any non-2xx
8842// status code is an error. Response headers are in either
8843// *Operation.ServerResponse.Header or (if a response was returned at
8844// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8845// to check whether the returned error was because
8846// http.StatusNotModified was returned.
8847func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8848	gensupport.SetOptions(c.urlParams_, opts...)
8849	res, err := c.doRequest("json")
8850	if res != nil && res.StatusCode == http.StatusNotModified {
8851		if res.Body != nil {
8852			res.Body.Close()
8853		}
8854		return nil, &googleapi.Error{
8855			Code:   res.StatusCode,
8856			Header: res.Header,
8857		}
8858	}
8859	if err != nil {
8860		return nil, err
8861	}
8862	defer googleapi.CloseBody(res)
8863	if err := googleapi.CheckResponse(res); err != nil {
8864		return nil, err
8865	}
8866	ret := &Operation{
8867		ServerResponse: googleapi.ServerResponse{
8868			Header:         res.Header,
8869			HTTPStatusCode: res.StatusCode,
8870		},
8871	}
8872	target := &ret
8873	if err := gensupport.DecodeResponse(target, res); err != nil {
8874		return nil, err
8875	}
8876	return ret, nil
8877	// {
8878	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).",
8879	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate",
8880	//   "httpMethod": "POST",
8881	//   "id": "healthcare.projects.locations.datasets.annotationStores.evaluate",
8882	//   "parameterOrder": [
8883	//     "name"
8884	//   ],
8885	//   "parameters": {
8886	//     "name": {
8887	//       "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}`.",
8888	//       "location": "path",
8889	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8890	//       "required": true,
8891	//       "type": "string"
8892	//     }
8893	//   },
8894	//   "path": "v1beta1/{+name}:evaluate",
8895	//   "request": {
8896	//     "$ref": "EvaluateAnnotationStoreRequest"
8897	//   },
8898	//   "response": {
8899	//     "$ref": "Operation"
8900	//   },
8901	//   "scopes": [
8902	//     "https://www.googleapis.com/auth/cloud-platform"
8903	//   ]
8904	// }
8905
8906}
8907
8908// method id "healthcare.projects.locations.datasets.annotationStores.export":
8909
8910type ProjectsLocationsDatasetsAnnotationStoresExportCall struct {
8911	s                        *Service
8912	name                     string
8913	exportannotationsrequest *ExportAnnotationsRequest
8914	urlParams_               gensupport.URLParams
8915	ctx_                     context.Context
8916	header_                  http.Header
8917}
8918
8919// Export: Export Annotations from the Annotation store. If the request
8920// is successful, a detailed response is returned of type
8921// ExportAnnotationsResponse, contained in the response field when the
8922// operation finishes. The metadata field type is OperationMetadata.
8923// Errors are logged to Cloud Logging (see Viewing error logs in Cloud
8924// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)).
8925//
8926// - name: The name of the Annotation store to export annotations to, in
8927//   the format of
8928//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8929//   /annotationStores/{annotation_store_id}`.
8930func (r *ProjectsLocationsDatasetsAnnotationStoresService) Export(name string, exportannotationsrequest *ExportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8931	c := &ProjectsLocationsDatasetsAnnotationStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8932	c.name = name
8933	c.exportannotationsrequest = exportannotationsrequest
8934	return c
8935}
8936
8937// Fields allows partial responses to be retrieved. See
8938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8939// for more information.
8940func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8942	return c
8943}
8944
8945// Context sets the context to be used in this call's Do method. Any
8946// pending HTTP request will be aborted if the provided context is
8947// canceled.
8948func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8949	c.ctx_ = ctx
8950	return c
8951}
8952
8953// Header returns an http.Header that can be modified by the caller to
8954// add HTTP headers to the request.
8955func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Header() http.Header {
8956	if c.header_ == nil {
8957		c.header_ = make(http.Header)
8958	}
8959	return c.header_
8960}
8961
8962func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) doRequest(alt string) (*http.Response, error) {
8963	reqHeaders := make(http.Header)
8964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
8965	for k, v := range c.header_ {
8966		reqHeaders[k] = v
8967	}
8968	reqHeaders.Set("User-Agent", c.s.userAgent())
8969	var body io.Reader = nil
8970	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportannotationsrequest)
8971	if err != nil {
8972		return nil, err
8973	}
8974	reqHeaders.Set("Content-Type", "application/json")
8975	c.urlParams_.Set("alt", alt)
8976	c.urlParams_.Set("prettyPrint", "false")
8977	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
8978	urls += "?" + c.urlParams_.Encode()
8979	req, err := http.NewRequest("POST", urls, body)
8980	if err != nil {
8981		return nil, err
8982	}
8983	req.Header = reqHeaders
8984	googleapi.Expand(req.URL, map[string]string{
8985		"name": c.name,
8986	})
8987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8988}
8989
8990// Do executes the "healthcare.projects.locations.datasets.annotationStores.export" call.
8991// Exactly one of *Operation or error will be non-nil. Any non-2xx
8992// status code is an error. Response headers are in either
8993// *Operation.ServerResponse.Header or (if a response was returned at
8994// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8995// to check whether the returned error was because
8996// http.StatusNotModified was returned.
8997func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8998	gensupport.SetOptions(c.urlParams_, opts...)
8999	res, err := c.doRequest("json")
9000	if res != nil && res.StatusCode == http.StatusNotModified {
9001		if res.Body != nil {
9002			res.Body.Close()
9003		}
9004		return nil, &googleapi.Error{
9005			Code:   res.StatusCode,
9006			Header: res.Header,
9007		}
9008	}
9009	if err != nil {
9010		return nil, err
9011	}
9012	defer googleapi.CloseBody(res)
9013	if err := googleapi.CheckResponse(res); err != nil {
9014		return nil, err
9015	}
9016	ret := &Operation{
9017		ServerResponse: googleapi.ServerResponse{
9018			Header:         res.Header,
9019			HTTPStatusCode: res.StatusCode,
9020		},
9021	}
9022	target := &ret
9023	if err := gensupport.DecodeResponse(target, res); err != nil {
9024		return nil, err
9025	}
9026	return ret, nil
9027	// {
9028	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).",
9029	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export",
9030	//   "httpMethod": "POST",
9031	//   "id": "healthcare.projects.locations.datasets.annotationStores.export",
9032	//   "parameterOrder": [
9033	//     "name"
9034	//   ],
9035	//   "parameters": {
9036	//     "name": {
9037	//       "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}`.",
9038	//       "location": "path",
9039	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9040	//       "required": true,
9041	//       "type": "string"
9042	//     }
9043	//   },
9044	//   "path": "v1beta1/{+name}:export",
9045	//   "request": {
9046	//     "$ref": "ExportAnnotationsRequest"
9047	//   },
9048	//   "response": {
9049	//     "$ref": "Operation"
9050	//   },
9051	//   "scopes": [
9052	//     "https://www.googleapis.com/auth/cloud-platform"
9053	//   ]
9054	// }
9055
9056}
9057
9058// method id "healthcare.projects.locations.datasets.annotationStores.get":
9059
9060type ProjectsLocationsDatasetsAnnotationStoresGetCall struct {
9061	s            *Service
9062	name         string
9063	urlParams_   gensupport.URLParams
9064	ifNoneMatch_ string
9065	ctx_         context.Context
9066	header_      http.Header
9067}
9068
9069// Get: Gets the specified Annotation store or returns NOT_FOUND if it
9070// does not exist.
9071//
9072// - name: The resource name of the Annotation store to get.
9073func (r *ProjectsLocationsDatasetsAnnotationStoresService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9074	c := &ProjectsLocationsDatasetsAnnotationStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9075	c.name = name
9076	return c
9077}
9078
9079// Fields allows partial responses to be retrieved. See
9080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9081// for more information.
9082func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9084	return c
9085}
9086
9087// IfNoneMatch sets the optional parameter which makes the operation
9088// fail if the object's ETag matches the given value. This is useful for
9089// getting updates only after the object has changed since the last
9090// request. Use googleapi.IsNotModified to check whether the response
9091// error from Do is the result of In-None-Match.
9092func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9093	c.ifNoneMatch_ = entityTag
9094	return c
9095}
9096
9097// Context sets the context to be used in this call's Do method. Any
9098// pending HTTP request will be aborted if the provided context is
9099// canceled.
9100func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9101	c.ctx_ = ctx
9102	return c
9103}
9104
9105// Header returns an http.Header that can be modified by the caller to
9106// add HTTP headers to the request.
9107func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Header() http.Header {
9108	if c.header_ == nil {
9109		c.header_ = make(http.Header)
9110	}
9111	return c.header_
9112}
9113
9114func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) doRequest(alt string) (*http.Response, error) {
9115	reqHeaders := make(http.Header)
9116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9117	for k, v := range c.header_ {
9118		reqHeaders[k] = v
9119	}
9120	reqHeaders.Set("User-Agent", c.s.userAgent())
9121	if c.ifNoneMatch_ != "" {
9122		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9123	}
9124	var body io.Reader = nil
9125	c.urlParams_.Set("alt", alt)
9126	c.urlParams_.Set("prettyPrint", "false")
9127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9128	urls += "?" + c.urlParams_.Encode()
9129	req, err := http.NewRequest("GET", urls, body)
9130	if err != nil {
9131		return nil, err
9132	}
9133	req.Header = reqHeaders
9134	googleapi.Expand(req.URL, map[string]string{
9135		"name": c.name,
9136	})
9137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9138}
9139
9140// Do executes the "healthcare.projects.locations.datasets.annotationStores.get" call.
9141// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9142// status code is an error. Response headers are in either
9143// *AnnotationStore.ServerResponse.Header or (if a response was returned
9144// at all) in error.(*googleapi.Error).Header. Use
9145// googleapi.IsNotModified to check whether the returned error was
9146// because http.StatusNotModified was returned.
9147func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9148	gensupport.SetOptions(c.urlParams_, opts...)
9149	res, err := c.doRequest("json")
9150	if res != nil && res.StatusCode == http.StatusNotModified {
9151		if res.Body != nil {
9152			res.Body.Close()
9153		}
9154		return nil, &googleapi.Error{
9155			Code:   res.StatusCode,
9156			Header: res.Header,
9157		}
9158	}
9159	if err != nil {
9160		return nil, err
9161	}
9162	defer googleapi.CloseBody(res)
9163	if err := googleapi.CheckResponse(res); err != nil {
9164		return nil, err
9165	}
9166	ret := &AnnotationStore{
9167		ServerResponse: googleapi.ServerResponse{
9168			Header:         res.Header,
9169			HTTPStatusCode: res.StatusCode,
9170		},
9171	}
9172	target := &ret
9173	if err := gensupport.DecodeResponse(target, res); err != nil {
9174		return nil, err
9175	}
9176	return ret, nil
9177	// {
9178	//   "description": "Gets the specified Annotation store or returns NOT_FOUND if it does not exist.",
9179	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9180	//   "httpMethod": "GET",
9181	//   "id": "healthcare.projects.locations.datasets.annotationStores.get",
9182	//   "parameterOrder": [
9183	//     "name"
9184	//   ],
9185	//   "parameters": {
9186	//     "name": {
9187	//       "description": "The resource name of the Annotation store to get.",
9188	//       "location": "path",
9189	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9190	//       "required": true,
9191	//       "type": "string"
9192	//     }
9193	//   },
9194	//   "path": "v1beta1/{+name}",
9195	//   "response": {
9196	//     "$ref": "AnnotationStore"
9197	//   },
9198	//   "scopes": [
9199	//     "https://www.googleapis.com/auth/cloud-platform"
9200	//   ]
9201	// }
9202
9203}
9204
9205// method id "healthcare.projects.locations.datasets.annotationStores.getIamPolicy":
9206
9207type ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall struct {
9208	s            *Service
9209	resource     string
9210	urlParams_   gensupport.URLParams
9211	ifNoneMatch_ string
9212	ctx_         context.Context
9213	header_      http.Header
9214}
9215
9216// GetIamPolicy: Gets the access control policy for a resource. Returns
9217// an empty policy if the resource exists and does not have a policy
9218// set.
9219//
9220// - resource: REQUIRED: The resource for which the policy is being
9221//   requested. See the operation documentation for the appropriate
9222//   value for this field.
9223func (r *ProjectsLocationsDatasetsAnnotationStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9224	c := &ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9225	c.resource = resource
9226	return c
9227}
9228
9229// OptionsRequestedPolicyVersion sets the optional parameter
9230// "options.requestedPolicyVersion": The policy format version to be
9231// returned. Valid values are 0, 1, and 3. Requests specifying an
9232// invalid value will be rejected. Requests for policies with any
9233// conditional bindings must specify version 3. Policies without any
9234// conditional bindings may specify any valid value or leave the field
9235// unset. To learn which resources support conditions in their IAM
9236// policies, see the IAM documentation
9237// (https://cloud.google.com/iam/help/conditions/resource-policies).
9238func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9239	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
9240	return c
9241}
9242
9243// Fields allows partial responses to be retrieved. See
9244// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9245// for more information.
9246func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9247	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9248	return c
9249}
9250
9251// IfNoneMatch sets the optional parameter which makes the operation
9252// fail if the object's ETag matches the given value. This is useful for
9253// getting updates only after the object has changed since the last
9254// request. Use googleapi.IsNotModified to check whether the response
9255// error from Do is the result of In-None-Match.
9256func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9257	c.ifNoneMatch_ = entityTag
9258	return c
9259}
9260
9261// Context sets the context to be used in this call's Do method. Any
9262// pending HTTP request will be aborted if the provided context is
9263// canceled.
9264func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9265	c.ctx_ = ctx
9266	return c
9267}
9268
9269// Header returns an http.Header that can be modified by the caller to
9270// add HTTP headers to the request.
9271func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Header() http.Header {
9272	if c.header_ == nil {
9273		c.header_ = make(http.Header)
9274	}
9275	return c.header_
9276}
9277
9278func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9279	reqHeaders := make(http.Header)
9280	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9281	for k, v := range c.header_ {
9282		reqHeaders[k] = v
9283	}
9284	reqHeaders.Set("User-Agent", c.s.userAgent())
9285	if c.ifNoneMatch_ != "" {
9286		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9287	}
9288	var body io.Reader = nil
9289	c.urlParams_.Set("alt", alt)
9290	c.urlParams_.Set("prettyPrint", "false")
9291	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9292	urls += "?" + c.urlParams_.Encode()
9293	req, err := http.NewRequest("GET", urls, body)
9294	if err != nil {
9295		return nil, err
9296	}
9297	req.Header = reqHeaders
9298	googleapi.Expand(req.URL, map[string]string{
9299		"resource": c.resource,
9300	})
9301	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9302}
9303
9304// Do executes the "healthcare.projects.locations.datasets.annotationStores.getIamPolicy" call.
9305// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9306// code is an error. Response headers are in either
9307// *Policy.ServerResponse.Header or (if a response was returned at all)
9308// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9309// check whether the returned error was because http.StatusNotModified
9310// was returned.
9311func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9312	gensupport.SetOptions(c.urlParams_, opts...)
9313	res, err := c.doRequest("json")
9314	if res != nil && res.StatusCode == http.StatusNotModified {
9315		if res.Body != nil {
9316			res.Body.Close()
9317		}
9318		return nil, &googleapi.Error{
9319			Code:   res.StatusCode,
9320			Header: res.Header,
9321		}
9322	}
9323	if err != nil {
9324		return nil, err
9325	}
9326	defer googleapi.CloseBody(res)
9327	if err := googleapi.CheckResponse(res); err != nil {
9328		return nil, err
9329	}
9330	ret := &Policy{
9331		ServerResponse: googleapi.ServerResponse{
9332			Header:         res.Header,
9333			HTTPStatusCode: res.StatusCode,
9334		},
9335	}
9336	target := &ret
9337	if err := gensupport.DecodeResponse(target, res); err != nil {
9338		return nil, err
9339	}
9340	return ret, nil
9341	// {
9342	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
9343	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy",
9344	//   "httpMethod": "GET",
9345	//   "id": "healthcare.projects.locations.datasets.annotationStores.getIamPolicy",
9346	//   "parameterOrder": [
9347	//     "resource"
9348	//   ],
9349	//   "parameters": {
9350	//     "options.requestedPolicyVersion": {
9351	//       "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).",
9352	//       "format": "int32",
9353	//       "location": "query",
9354	//       "type": "integer"
9355	//     },
9356	//     "resource": {
9357	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9358	//       "location": "path",
9359	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9360	//       "required": true,
9361	//       "type": "string"
9362	//     }
9363	//   },
9364	//   "path": "v1beta1/{+resource}:getIamPolicy",
9365	//   "response": {
9366	//     "$ref": "Policy"
9367	//   },
9368	//   "scopes": [
9369	//     "https://www.googleapis.com/auth/cloud-platform"
9370	//   ]
9371	// }
9372
9373}
9374
9375// method id "healthcare.projects.locations.datasets.annotationStores.import":
9376
9377type ProjectsLocationsDatasetsAnnotationStoresImportCall struct {
9378	s                        *Service
9379	name                     string
9380	importannotationsrequest *ImportAnnotationsRequest
9381	urlParams_               gensupport.URLParams
9382	ctx_                     context.Context
9383	header_                  http.Header
9384}
9385
9386// Import: Import Annotations to the Annotation store by loading data
9387// from the specified sources. If the request is successful, a detailed
9388// response is returned as of type ImportAnnotationsResponse, contained
9389// in the response field when the operation finishes. The metadata field
9390// type is OperationMetadata. Errors are logged to Cloud Logging (see
9391// Viewing error logs in Cloud Logging
9392// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
9393//
9394// - name: The name of the Annotation store to which the server imports
9395//   annotations, in the format
9396//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9397//   /annotationStores/{annotation_store_id}`.
9398func (r *ProjectsLocationsDatasetsAnnotationStoresService) Import(name string, importannotationsrequest *ImportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9399	c := &ProjectsLocationsDatasetsAnnotationStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9400	c.name = name
9401	c.importannotationsrequest = importannotationsrequest
9402	return c
9403}
9404
9405// Fields allows partial responses to be retrieved. See
9406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9407// for more information.
9408func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9409	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9410	return c
9411}
9412
9413// Context sets the context to be used in this call's Do method. Any
9414// pending HTTP request will be aborted if the provided context is
9415// canceled.
9416func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9417	c.ctx_ = ctx
9418	return c
9419}
9420
9421// Header returns an http.Header that can be modified by the caller to
9422// add HTTP headers to the request.
9423func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Header() http.Header {
9424	if c.header_ == nil {
9425		c.header_ = make(http.Header)
9426	}
9427	return c.header_
9428}
9429
9430func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) doRequest(alt string) (*http.Response, error) {
9431	reqHeaders := make(http.Header)
9432	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9433	for k, v := range c.header_ {
9434		reqHeaders[k] = v
9435	}
9436	reqHeaders.Set("User-Agent", c.s.userAgent())
9437	var body io.Reader = nil
9438	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importannotationsrequest)
9439	if err != nil {
9440		return nil, err
9441	}
9442	reqHeaders.Set("Content-Type", "application/json")
9443	c.urlParams_.Set("alt", alt)
9444	c.urlParams_.Set("prettyPrint", "false")
9445	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
9446	urls += "?" + c.urlParams_.Encode()
9447	req, err := http.NewRequest("POST", urls, body)
9448	if err != nil {
9449		return nil, err
9450	}
9451	req.Header = reqHeaders
9452	googleapi.Expand(req.URL, map[string]string{
9453		"name": c.name,
9454	})
9455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9456}
9457
9458// Do executes the "healthcare.projects.locations.datasets.annotationStores.import" call.
9459// Exactly one of *Operation or error will be non-nil. Any non-2xx
9460// status code is an error. Response headers are in either
9461// *Operation.ServerResponse.Header or (if a response was returned at
9462// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9463// to check whether the returned error was because
9464// http.StatusNotModified was returned.
9465func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9466	gensupport.SetOptions(c.urlParams_, opts...)
9467	res, err := c.doRequest("json")
9468	if res != nil && res.StatusCode == http.StatusNotModified {
9469		if res.Body != nil {
9470			res.Body.Close()
9471		}
9472		return nil, &googleapi.Error{
9473			Code:   res.StatusCode,
9474			Header: res.Header,
9475		}
9476	}
9477	if err != nil {
9478		return nil, err
9479	}
9480	defer googleapi.CloseBody(res)
9481	if err := googleapi.CheckResponse(res); err != nil {
9482		return nil, err
9483	}
9484	ret := &Operation{
9485		ServerResponse: googleapi.ServerResponse{
9486			Header:         res.Header,
9487			HTTPStatusCode: res.StatusCode,
9488		},
9489	}
9490	target := &ret
9491	if err := gensupport.DecodeResponse(target, res); err != nil {
9492		return nil, err
9493	}
9494	return ret, nil
9495	// {
9496	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)).",
9497	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import",
9498	//   "httpMethod": "POST",
9499	//   "id": "healthcare.projects.locations.datasets.annotationStores.import",
9500	//   "parameterOrder": [
9501	//     "name"
9502	//   ],
9503	//   "parameters": {
9504	//     "name": {
9505	//       "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}`.",
9506	//       "location": "path",
9507	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9508	//       "required": true,
9509	//       "type": "string"
9510	//     }
9511	//   },
9512	//   "path": "v1beta1/{+name}:import",
9513	//   "request": {
9514	//     "$ref": "ImportAnnotationsRequest"
9515	//   },
9516	//   "response": {
9517	//     "$ref": "Operation"
9518	//   },
9519	//   "scopes": [
9520	//     "https://www.googleapis.com/auth/cloud-platform"
9521	//   ]
9522	// }
9523
9524}
9525
9526// method id "healthcare.projects.locations.datasets.annotationStores.list":
9527
9528type ProjectsLocationsDatasetsAnnotationStoresListCall struct {
9529	s            *Service
9530	parent       string
9531	urlParams_   gensupport.URLParams
9532	ifNoneMatch_ string
9533	ctx_         context.Context
9534	header_      http.Header
9535}
9536
9537// List: Lists the Annotation stores in the given dataset for a source
9538// store.
9539//
9540// - parent: Name of the dataset.
9541func (r *ProjectsLocationsDatasetsAnnotationStoresService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9542	c := &ProjectsLocationsDatasetsAnnotationStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9543	c.parent = parent
9544	return c
9545}
9546
9547// Filter sets the optional parameter "filter": Restricts stores
9548// returned to those matching a filter. The following syntax is
9549// available: * A string field value can be written as text inside
9550// quotation marks, for example "query text". The only valid
9551// relational operation for text fields is equality (`=`), where text is
9552// searched within the field, rather than having the field be equal to
9553// the text. For example, "Comment = great" returns messages with
9554// `great` in the comment field. * A number field value can be written
9555// as an integer, a decimal, or an exponential. The valid relational
9556// operators for number fields are the equality operator (`=`), along
9557// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
9558// Note that there is no inequality (`!=`) operator. You can prepend the
9559// `NOT` operator to an expression to negate it. * A date field value
9560// must be written in `yyyy-mm-dd` form. Fields with date and time use
9561// the RFC3339 time format. Leading zeros are required for one-digit
9562// months and days. The valid relational operators for date fields are
9563// the equality operator (`=`) , along with the less than/greater than
9564// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
9565// (`!=`) operator. You can prepend the `NOT` operator to an expression
9566// to negate it. * Multiple field query expressions can be combined in
9567// one query by adding `AND` or `OR` operators between the expressions.
9568// If a boolean operator appears within a quoted string, it is not
9569// treated as special, it's just another part of the character string to
9570// be matched. You can prepend the `NOT` operator to an expression to
9571// negate it. Only filtering on labels is supported, for example
9572// `labels.key=value`.
9573func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9574	c.urlParams_.Set("filter", filter)
9575	return c
9576}
9577
9578// PageSize sets the optional parameter "pageSize": Limit on the number
9579// of Annotation stores to return in a single response. If not
9580// specified, 100 is used. May not be larger than 1000.
9581func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9582	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9583	return c
9584}
9585
9586// PageToken sets the optional parameter "pageToken": The
9587// next_page_token value returned from the previous List request, if
9588// any.
9589func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9590	c.urlParams_.Set("pageToken", pageToken)
9591	return c
9592}
9593
9594// Fields allows partial responses to be retrieved. See
9595// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9596// for more information.
9597func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9598	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9599	return c
9600}
9601
9602// IfNoneMatch sets the optional parameter which makes the operation
9603// fail if the object's ETag matches the given value. This is useful for
9604// getting updates only after the object has changed since the last
9605// request. Use googleapi.IsNotModified to check whether the response
9606// error from Do is the result of In-None-Match.
9607func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9608	c.ifNoneMatch_ = entityTag
9609	return c
9610}
9611
9612// Context sets the context to be used in this call's Do method. Any
9613// pending HTTP request will be aborted if the provided context is
9614// canceled.
9615func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9616	c.ctx_ = ctx
9617	return c
9618}
9619
9620// Header returns an http.Header that can be modified by the caller to
9621// add HTTP headers to the request.
9622func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Header() http.Header {
9623	if c.header_ == nil {
9624		c.header_ = make(http.Header)
9625	}
9626	return c.header_
9627}
9628
9629func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) doRequest(alt string) (*http.Response, error) {
9630	reqHeaders := make(http.Header)
9631	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9632	for k, v := range c.header_ {
9633		reqHeaders[k] = v
9634	}
9635	reqHeaders.Set("User-Agent", c.s.userAgent())
9636	if c.ifNoneMatch_ != "" {
9637		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9638	}
9639	var body io.Reader = nil
9640	c.urlParams_.Set("alt", alt)
9641	c.urlParams_.Set("prettyPrint", "false")
9642	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
9643	urls += "?" + c.urlParams_.Encode()
9644	req, err := http.NewRequest("GET", urls, body)
9645	if err != nil {
9646		return nil, err
9647	}
9648	req.Header = reqHeaders
9649	googleapi.Expand(req.URL, map[string]string{
9650		"parent": c.parent,
9651	})
9652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9653}
9654
9655// Do executes the "healthcare.projects.locations.datasets.annotationStores.list" call.
9656// Exactly one of *ListAnnotationStoresResponse or error will be
9657// non-nil. Any non-2xx status code is an error. Response headers are in
9658// either *ListAnnotationStoresResponse.ServerResponse.Header or (if a
9659// response was returned at all) in error.(*googleapi.Error).Header. Use
9660// googleapi.IsNotModified to check whether the returned error was
9661// because http.StatusNotModified was returned.
9662func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationStoresResponse, error) {
9663	gensupport.SetOptions(c.urlParams_, opts...)
9664	res, err := c.doRequest("json")
9665	if res != nil && res.StatusCode == http.StatusNotModified {
9666		if res.Body != nil {
9667			res.Body.Close()
9668		}
9669		return nil, &googleapi.Error{
9670			Code:   res.StatusCode,
9671			Header: res.Header,
9672		}
9673	}
9674	if err != nil {
9675		return nil, err
9676	}
9677	defer googleapi.CloseBody(res)
9678	if err := googleapi.CheckResponse(res); err != nil {
9679		return nil, err
9680	}
9681	ret := &ListAnnotationStoresResponse{
9682		ServerResponse: googleapi.ServerResponse{
9683			Header:         res.Header,
9684			HTTPStatusCode: res.StatusCode,
9685		},
9686	}
9687	target := &ret
9688	if err := gensupport.DecodeResponse(target, res); err != nil {
9689		return nil, err
9690	}
9691	return ret, nil
9692	// {
9693	//   "description": "Lists the Annotation stores in the given dataset for a source store.",
9694	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
9695	//   "httpMethod": "GET",
9696	//   "id": "healthcare.projects.locations.datasets.annotationStores.list",
9697	//   "parameterOrder": [
9698	//     "parent"
9699	//   ],
9700	//   "parameters": {
9701	//     "filter": {
9702	//       "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`.",
9703	//       "location": "query",
9704	//       "type": "string"
9705	//     },
9706	//     "pageSize": {
9707	//       "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.",
9708	//       "format": "int32",
9709	//       "location": "query",
9710	//       "type": "integer"
9711	//     },
9712	//     "pageToken": {
9713	//       "description": "The next_page_token value returned from the previous List request, if any.",
9714	//       "location": "query",
9715	//       "type": "string"
9716	//     },
9717	//     "parent": {
9718	//       "description": "Name of the dataset.",
9719	//       "location": "path",
9720	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
9721	//       "required": true,
9722	//       "type": "string"
9723	//     }
9724	//   },
9725	//   "path": "v1beta1/{+parent}/annotationStores",
9726	//   "response": {
9727	//     "$ref": "ListAnnotationStoresResponse"
9728	//   },
9729	//   "scopes": [
9730	//     "https://www.googleapis.com/auth/cloud-platform"
9731	//   ]
9732	// }
9733
9734}
9735
9736// Pages invokes f for each page of results.
9737// A non-nil error returned from f will halt the iteration.
9738// The provided context supersedes any context provided to the Context method.
9739func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Pages(ctx context.Context, f func(*ListAnnotationStoresResponse) error) error {
9740	c.ctx_ = ctx
9741	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9742	for {
9743		x, err := c.Do()
9744		if err != nil {
9745			return err
9746		}
9747		if err := f(x); err != nil {
9748			return err
9749		}
9750		if x.NextPageToken == "" {
9751			return nil
9752		}
9753		c.PageToken(x.NextPageToken)
9754	}
9755}
9756
9757// method id "healthcare.projects.locations.datasets.annotationStores.patch":
9758
9759type ProjectsLocationsDatasetsAnnotationStoresPatchCall struct {
9760	s               *Service
9761	name            string
9762	annotationstore *AnnotationStore
9763	urlParams_      gensupport.URLParams
9764	ctx_            context.Context
9765	header_         http.Header
9766}
9767
9768// Patch: Updates the specified Annotation store.
9769//
9770// - name: Resource name of the Annotation store, of the form
9771//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9772//   /annotationStores/{annotation_store_id}`.
9773func (r *ProjectsLocationsDatasetsAnnotationStoresService) Patch(name string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9774	c := &ProjectsLocationsDatasetsAnnotationStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9775	c.name = name
9776	c.annotationstore = annotationstore
9777	return c
9778}
9779
9780// UpdateMask sets the optional parameter "updateMask": The update mask
9781// applies to the resource. For the `FieldMask` definition, see
9782// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9783func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9784	c.urlParams_.Set("updateMask", updateMask)
9785	return c
9786}
9787
9788// Fields allows partial responses to be retrieved. See
9789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9790// for more information.
9791func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9793	return c
9794}
9795
9796// Context sets the context to be used in this call's Do method. Any
9797// pending HTTP request will be aborted if the provided context is
9798// canceled.
9799func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9800	c.ctx_ = ctx
9801	return c
9802}
9803
9804// Header returns an http.Header that can be modified by the caller to
9805// add HTTP headers to the request.
9806func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Header() http.Header {
9807	if c.header_ == nil {
9808		c.header_ = make(http.Header)
9809	}
9810	return c.header_
9811}
9812
9813func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) doRequest(alt string) (*http.Response, error) {
9814	reqHeaders := make(http.Header)
9815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9816	for k, v := range c.header_ {
9817		reqHeaders[k] = v
9818	}
9819	reqHeaders.Set("User-Agent", c.s.userAgent())
9820	var body io.Reader = nil
9821	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
9822	if err != nil {
9823		return nil, err
9824	}
9825	reqHeaders.Set("Content-Type", "application/json")
9826	c.urlParams_.Set("alt", alt)
9827	c.urlParams_.Set("prettyPrint", "false")
9828	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9829	urls += "?" + c.urlParams_.Encode()
9830	req, err := http.NewRequest("PATCH", urls, body)
9831	if err != nil {
9832		return nil, err
9833	}
9834	req.Header = reqHeaders
9835	googleapi.Expand(req.URL, map[string]string{
9836		"name": c.name,
9837	})
9838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9839}
9840
9841// Do executes the "healthcare.projects.locations.datasets.annotationStores.patch" call.
9842// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9843// status code is an error. Response headers are in either
9844// *AnnotationStore.ServerResponse.Header or (if a response was returned
9845// at all) in error.(*googleapi.Error).Header. Use
9846// googleapi.IsNotModified to check whether the returned error was
9847// because http.StatusNotModified was returned.
9848func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9849	gensupport.SetOptions(c.urlParams_, opts...)
9850	res, err := c.doRequest("json")
9851	if res != nil && res.StatusCode == http.StatusNotModified {
9852		if res.Body != nil {
9853			res.Body.Close()
9854		}
9855		return nil, &googleapi.Error{
9856			Code:   res.StatusCode,
9857			Header: res.Header,
9858		}
9859	}
9860	if err != nil {
9861		return nil, err
9862	}
9863	defer googleapi.CloseBody(res)
9864	if err := googleapi.CheckResponse(res); err != nil {
9865		return nil, err
9866	}
9867	ret := &AnnotationStore{
9868		ServerResponse: googleapi.ServerResponse{
9869			Header:         res.Header,
9870			HTTPStatusCode: res.StatusCode,
9871		},
9872	}
9873	target := &ret
9874	if err := gensupport.DecodeResponse(target, res); err != nil {
9875		return nil, err
9876	}
9877	return ret, nil
9878	// {
9879	//   "description": "Updates the specified Annotation store.",
9880	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9881	//   "httpMethod": "PATCH",
9882	//   "id": "healthcare.projects.locations.datasets.annotationStores.patch",
9883	//   "parameterOrder": [
9884	//     "name"
9885	//   ],
9886	//   "parameters": {
9887	//     "name": {
9888	//       "description": "Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
9889	//       "location": "path",
9890	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9891	//       "required": true,
9892	//       "type": "string"
9893	//     },
9894	//     "updateMask": {
9895	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
9896	//       "format": "google-fieldmask",
9897	//       "location": "query",
9898	//       "type": "string"
9899	//     }
9900	//   },
9901	//   "path": "v1beta1/{+name}",
9902	//   "request": {
9903	//     "$ref": "AnnotationStore"
9904	//   },
9905	//   "response": {
9906	//     "$ref": "AnnotationStore"
9907	//   },
9908	//   "scopes": [
9909	//     "https://www.googleapis.com/auth/cloud-platform"
9910	//   ]
9911	// }
9912
9913}
9914
9915// method id "healthcare.projects.locations.datasets.annotationStores.setIamPolicy":
9916
9917type ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall struct {
9918	s                   *Service
9919	resource            string
9920	setiampolicyrequest *SetIamPolicyRequest
9921	urlParams_          gensupport.URLParams
9922	ctx_                context.Context
9923	header_             http.Header
9924}
9925
9926// SetIamPolicy: Sets the access control policy on the specified
9927// resource. Replaces any existing policy. Can return `NOT_FOUND`,
9928// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
9929//
9930// - resource: REQUIRED: The resource for which the policy is being
9931//   specified. See the operation documentation for the appropriate
9932//   value for this field.
9933func (r *ProjectsLocationsDatasetsAnnotationStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9934	c := &ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9935	c.resource = resource
9936	c.setiampolicyrequest = setiampolicyrequest
9937	return c
9938}
9939
9940// Fields allows partial responses to be retrieved. See
9941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9942// for more information.
9943func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9945	return c
9946}
9947
9948// Context sets the context to be used in this call's Do method. Any
9949// pending HTTP request will be aborted if the provided context is
9950// canceled.
9951func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9952	c.ctx_ = ctx
9953	return c
9954}
9955
9956// Header returns an http.Header that can be modified by the caller to
9957// add HTTP headers to the request.
9958func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Header() http.Header {
9959	if c.header_ == nil {
9960		c.header_ = make(http.Header)
9961	}
9962	return c.header_
9963}
9964
9965func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9966	reqHeaders := make(http.Header)
9967	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
9968	for k, v := range c.header_ {
9969		reqHeaders[k] = v
9970	}
9971	reqHeaders.Set("User-Agent", c.s.userAgent())
9972	var body io.Reader = nil
9973	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
9974	if err != nil {
9975		return nil, err
9976	}
9977	reqHeaders.Set("Content-Type", "application/json")
9978	c.urlParams_.Set("alt", alt)
9979	c.urlParams_.Set("prettyPrint", "false")
9980	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
9981	urls += "?" + c.urlParams_.Encode()
9982	req, err := http.NewRequest("POST", urls, body)
9983	if err != nil {
9984		return nil, err
9985	}
9986	req.Header = reqHeaders
9987	googleapi.Expand(req.URL, map[string]string{
9988		"resource": c.resource,
9989	})
9990	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9991}
9992
9993// Do executes the "healthcare.projects.locations.datasets.annotationStores.setIamPolicy" call.
9994// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9995// code is an error. Response headers are in either
9996// *Policy.ServerResponse.Header or (if a response was returned at all)
9997// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9998// check whether the returned error was because http.StatusNotModified
9999// was returned.
10000func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10001	gensupport.SetOptions(c.urlParams_, opts...)
10002	res, err := c.doRequest("json")
10003	if res != nil && res.StatusCode == http.StatusNotModified {
10004		if res.Body != nil {
10005			res.Body.Close()
10006		}
10007		return nil, &googleapi.Error{
10008			Code:   res.StatusCode,
10009			Header: res.Header,
10010		}
10011	}
10012	if err != nil {
10013		return nil, err
10014	}
10015	defer googleapi.CloseBody(res)
10016	if err := googleapi.CheckResponse(res); err != nil {
10017		return nil, err
10018	}
10019	ret := &Policy{
10020		ServerResponse: googleapi.ServerResponse{
10021			Header:         res.Header,
10022			HTTPStatusCode: res.StatusCode,
10023		},
10024	}
10025	target := &ret
10026	if err := gensupport.DecodeResponse(target, res); err != nil {
10027		return nil, err
10028	}
10029	return ret, nil
10030	// {
10031	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
10032	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy",
10033	//   "httpMethod": "POST",
10034	//   "id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy",
10035	//   "parameterOrder": [
10036	//     "resource"
10037	//   ],
10038	//   "parameters": {
10039	//     "resource": {
10040	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
10041	//       "location": "path",
10042	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10043	//       "required": true,
10044	//       "type": "string"
10045	//     }
10046	//   },
10047	//   "path": "v1beta1/{+resource}:setIamPolicy",
10048	//   "request": {
10049	//     "$ref": "SetIamPolicyRequest"
10050	//   },
10051	//   "response": {
10052	//     "$ref": "Policy"
10053	//   },
10054	//   "scopes": [
10055	//     "https://www.googleapis.com/auth/cloud-platform"
10056	//   ]
10057	// }
10058
10059}
10060
10061// method id "healthcare.projects.locations.datasets.annotationStores.testIamPermissions":
10062
10063type ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall struct {
10064	s                         *Service
10065	resource                  string
10066	testiampermissionsrequest *TestIamPermissionsRequest
10067	urlParams_                gensupport.URLParams
10068	ctx_                      context.Context
10069	header_                   http.Header
10070}
10071
10072// TestIamPermissions: Returns permissions that a caller has on the
10073// specified resource. If the resource does not exist, this will return
10074// an empty set of permissions, not a `NOT_FOUND` error. Note: This
10075// operation is designed to be used for building permission-aware UIs
10076// and command-line tools, not for authorization checking. This
10077// operation may "fail open" without warning.
10078//
10079// - resource: REQUIRED: The resource for which the policy detail is
10080//   being requested. See the operation documentation for the
10081//   appropriate value for this field.
10082func (r *ProjectsLocationsDatasetsAnnotationStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10083	c := &ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10084	c.resource = resource
10085	c.testiampermissionsrequest = testiampermissionsrequest
10086	return c
10087}
10088
10089// Fields allows partial responses to be retrieved. See
10090// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10091// for more information.
10092func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10093	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10094	return c
10095}
10096
10097// Context sets the context to be used in this call's Do method. Any
10098// pending HTTP request will be aborted if the provided context is
10099// canceled.
10100func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10101	c.ctx_ = ctx
10102	return c
10103}
10104
10105// Header returns an http.Header that can be modified by the caller to
10106// add HTTP headers to the request.
10107func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Header() http.Header {
10108	if c.header_ == nil {
10109		c.header_ = make(http.Header)
10110	}
10111	return c.header_
10112}
10113
10114func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10115	reqHeaders := make(http.Header)
10116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10117	for k, v := range c.header_ {
10118		reqHeaders[k] = v
10119	}
10120	reqHeaders.Set("User-Agent", c.s.userAgent())
10121	var body io.Reader = nil
10122	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
10123	if err != nil {
10124		return nil, err
10125	}
10126	reqHeaders.Set("Content-Type", "application/json")
10127	c.urlParams_.Set("alt", alt)
10128	c.urlParams_.Set("prettyPrint", "false")
10129	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
10130	urls += "?" + c.urlParams_.Encode()
10131	req, err := http.NewRequest("POST", urls, body)
10132	if err != nil {
10133		return nil, err
10134	}
10135	req.Header = reqHeaders
10136	googleapi.Expand(req.URL, map[string]string{
10137		"resource": c.resource,
10138	})
10139	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10140}
10141
10142// Do executes the "healthcare.projects.locations.datasets.annotationStores.testIamPermissions" call.
10143// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
10144// Any non-2xx status code is an error. Response headers are in either
10145// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
10146// was returned at all) in error.(*googleapi.Error).Header. Use
10147// googleapi.IsNotModified to check whether the returned error was
10148// because http.StatusNotModified was returned.
10149func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
10150	gensupport.SetOptions(c.urlParams_, opts...)
10151	res, err := c.doRequest("json")
10152	if res != nil && res.StatusCode == http.StatusNotModified {
10153		if res.Body != nil {
10154			res.Body.Close()
10155		}
10156		return nil, &googleapi.Error{
10157			Code:   res.StatusCode,
10158			Header: res.Header,
10159		}
10160	}
10161	if err != nil {
10162		return nil, err
10163	}
10164	defer googleapi.CloseBody(res)
10165	if err := googleapi.CheckResponse(res); err != nil {
10166		return nil, err
10167	}
10168	ret := &TestIamPermissionsResponse{
10169		ServerResponse: googleapi.ServerResponse{
10170			Header:         res.Header,
10171			HTTPStatusCode: res.StatusCode,
10172		},
10173	}
10174	target := &ret
10175	if err := gensupport.DecodeResponse(target, res); err != nil {
10176		return nil, err
10177	}
10178	return ret, nil
10179	// {
10180	//   "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.",
10181	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions",
10182	//   "httpMethod": "POST",
10183	//   "id": "healthcare.projects.locations.datasets.annotationStores.testIamPermissions",
10184	//   "parameterOrder": [
10185	//     "resource"
10186	//   ],
10187	//   "parameters": {
10188	//     "resource": {
10189	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10190	//       "location": "path",
10191	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10192	//       "required": true,
10193	//       "type": "string"
10194	//     }
10195	//   },
10196	//   "path": "v1beta1/{+resource}:testIamPermissions",
10197	//   "request": {
10198	//     "$ref": "TestIamPermissionsRequest"
10199	//   },
10200	//   "response": {
10201	//     "$ref": "TestIamPermissionsResponse"
10202	//   },
10203	//   "scopes": [
10204	//     "https://www.googleapis.com/auth/cloud-platform"
10205	//   ]
10206	// }
10207
10208}
10209
10210// method id "healthcare.projects.locations.datasets.annotationStores.annotations.create":
10211
10212type ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall struct {
10213	s          *Service
10214	parent     string
10215	annotation *Annotation
10216	urlParams_ gensupport.URLParams
10217	ctx_       context.Context
10218	header_    http.Header
10219}
10220
10221// Create: Creates a new Annotation record. It is valid to create
10222// Annotation objects for the same source more than once since a unique
10223// ID is assigned to each record by this service.
10224//
10225// - parent: The name of the Annotation store this annotation belongs
10226//   to. For example,
10227//   `projects/my-project/locations/us-central1/datasets/mydataset/annota
10228//   tionStores/myannotationstore`.
10229func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Create(parent string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10230	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10231	c.parent = parent
10232	c.annotation = annotation
10233	return c
10234}
10235
10236// Fields allows partial responses to be retrieved. See
10237// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10238// for more information.
10239func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10240	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10241	return c
10242}
10243
10244// Context sets the context to be used in this call's Do method. Any
10245// pending HTTP request will be aborted if the provided context is
10246// canceled.
10247func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10248	c.ctx_ = ctx
10249	return c
10250}
10251
10252// Header returns an http.Header that can be modified by the caller to
10253// add HTTP headers to the request.
10254func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Header() http.Header {
10255	if c.header_ == nil {
10256		c.header_ = make(http.Header)
10257	}
10258	return c.header_
10259}
10260
10261func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) doRequest(alt string) (*http.Response, error) {
10262	reqHeaders := make(http.Header)
10263	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10264	for k, v := range c.header_ {
10265		reqHeaders[k] = v
10266	}
10267	reqHeaders.Set("User-Agent", c.s.userAgent())
10268	var body io.Reader = nil
10269	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10270	if err != nil {
10271		return nil, err
10272	}
10273	reqHeaders.Set("Content-Type", "application/json")
10274	c.urlParams_.Set("alt", alt)
10275	c.urlParams_.Set("prettyPrint", "false")
10276	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10277	urls += "?" + c.urlParams_.Encode()
10278	req, err := http.NewRequest("POST", urls, body)
10279	if err != nil {
10280		return nil, err
10281	}
10282	req.Header = reqHeaders
10283	googleapi.Expand(req.URL, map[string]string{
10284		"parent": c.parent,
10285	})
10286	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10287}
10288
10289// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.create" call.
10290// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10291// status code is an error. Response headers are in either
10292// *Annotation.ServerResponse.Header or (if a response was returned at
10293// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10294// to check whether the returned error was because
10295// http.StatusNotModified was returned.
10296func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10297	gensupport.SetOptions(c.urlParams_, opts...)
10298	res, err := c.doRequest("json")
10299	if res != nil && res.StatusCode == http.StatusNotModified {
10300		if res.Body != nil {
10301			res.Body.Close()
10302		}
10303		return nil, &googleapi.Error{
10304			Code:   res.StatusCode,
10305			Header: res.Header,
10306		}
10307	}
10308	if err != nil {
10309		return nil, err
10310	}
10311	defer googleapi.CloseBody(res)
10312	if err := googleapi.CheckResponse(res); err != nil {
10313		return nil, err
10314	}
10315	ret := &Annotation{
10316		ServerResponse: googleapi.ServerResponse{
10317			Header:         res.Header,
10318			HTTPStatusCode: res.StatusCode,
10319		},
10320	}
10321	target := &ret
10322	if err := gensupport.DecodeResponse(target, res); err != nil {
10323		return nil, err
10324	}
10325	return ret, nil
10326	// {
10327	//   "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.",
10328	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10329	//   "httpMethod": "POST",
10330	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.create",
10331	//   "parameterOrder": [
10332	//     "parent"
10333	//   ],
10334	//   "parameters": {
10335	//     "parent": {
10336	//       "description": "The name of the Annotation store this annotation belongs to. For example, `projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.",
10337	//       "location": "path",
10338	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10339	//       "required": true,
10340	//       "type": "string"
10341	//     }
10342	//   },
10343	//   "path": "v1beta1/{+parent}/annotations",
10344	//   "request": {
10345	//     "$ref": "Annotation"
10346	//   },
10347	//   "response": {
10348	//     "$ref": "Annotation"
10349	//   },
10350	//   "scopes": [
10351	//     "https://www.googleapis.com/auth/cloud-platform"
10352	//   ]
10353	// }
10354
10355}
10356
10357// method id "healthcare.projects.locations.datasets.annotationStores.annotations.delete":
10358
10359type ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall struct {
10360	s          *Service
10361	name       string
10362	urlParams_ gensupport.URLParams
10363	ctx_       context.Context
10364	header_    http.Header
10365}
10366
10367// Delete: Deletes an Annotation or returns NOT_FOUND if it does not
10368// exist.
10369//
10370// - name: The resource name of the Annotation to delete.
10371func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10372	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10373	c.name = name
10374	return c
10375}
10376
10377// Fields allows partial responses to be retrieved. See
10378// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10379// for more information.
10380func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10381	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10382	return c
10383}
10384
10385// Context sets the context to be used in this call's Do method. Any
10386// pending HTTP request will be aborted if the provided context is
10387// canceled.
10388func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10389	c.ctx_ = ctx
10390	return c
10391}
10392
10393// Header returns an http.Header that can be modified by the caller to
10394// add HTTP headers to the request.
10395func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Header() http.Header {
10396	if c.header_ == nil {
10397		c.header_ = make(http.Header)
10398	}
10399	return c.header_
10400}
10401
10402func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
10403	reqHeaders := make(http.Header)
10404	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10405	for k, v := range c.header_ {
10406		reqHeaders[k] = v
10407	}
10408	reqHeaders.Set("User-Agent", c.s.userAgent())
10409	var body io.Reader = nil
10410	c.urlParams_.Set("alt", alt)
10411	c.urlParams_.Set("prettyPrint", "false")
10412	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10413	urls += "?" + c.urlParams_.Encode()
10414	req, err := http.NewRequest("DELETE", urls, body)
10415	if err != nil {
10416		return nil, err
10417	}
10418	req.Header = reqHeaders
10419	googleapi.Expand(req.URL, map[string]string{
10420		"name": c.name,
10421	})
10422	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10423}
10424
10425// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.delete" call.
10426// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10427// code is an error. Response headers are in either
10428// *Empty.ServerResponse.Header or (if a response was returned at all)
10429// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10430// check whether the returned error was because http.StatusNotModified
10431// was returned.
10432func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10433	gensupport.SetOptions(c.urlParams_, opts...)
10434	res, err := c.doRequest("json")
10435	if res != nil && res.StatusCode == http.StatusNotModified {
10436		if res.Body != nil {
10437			res.Body.Close()
10438		}
10439		return nil, &googleapi.Error{
10440			Code:   res.StatusCode,
10441			Header: res.Header,
10442		}
10443	}
10444	if err != nil {
10445		return nil, err
10446	}
10447	defer googleapi.CloseBody(res)
10448	if err := googleapi.CheckResponse(res); err != nil {
10449		return nil, err
10450	}
10451	ret := &Empty{
10452		ServerResponse: googleapi.ServerResponse{
10453			Header:         res.Header,
10454			HTTPStatusCode: res.StatusCode,
10455		},
10456	}
10457	target := &ret
10458	if err := gensupport.DecodeResponse(target, res); err != nil {
10459		return nil, err
10460	}
10461	return ret, nil
10462	// {
10463	//   "description": "Deletes an Annotation or returns NOT_FOUND if it does not exist.",
10464	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10465	//   "httpMethod": "DELETE",
10466	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete",
10467	//   "parameterOrder": [
10468	//     "name"
10469	//   ],
10470	//   "parameters": {
10471	//     "name": {
10472	//       "description": "The resource name of the Annotation to delete.",
10473	//       "location": "path",
10474	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10475	//       "required": true,
10476	//       "type": "string"
10477	//     }
10478	//   },
10479	//   "path": "v1beta1/{+name}",
10480	//   "response": {
10481	//     "$ref": "Empty"
10482	//   },
10483	//   "scopes": [
10484	//     "https://www.googleapis.com/auth/cloud-platform"
10485	//   ]
10486	// }
10487
10488}
10489
10490// method id "healthcare.projects.locations.datasets.annotationStores.annotations.get":
10491
10492type ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall struct {
10493	s            *Service
10494	name         string
10495	urlParams_   gensupport.URLParams
10496	ifNoneMatch_ string
10497	ctx_         context.Context
10498	header_      http.Header
10499}
10500
10501// Get: Gets an Annotation.
10502//
10503// - name: The resource name of the Annotation to retrieve.
10504func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10505	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10506	c.name = name
10507	return c
10508}
10509
10510// Fields allows partial responses to be retrieved. See
10511// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10512// for more information.
10513func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10514	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10515	return c
10516}
10517
10518// IfNoneMatch sets the optional parameter which makes the operation
10519// fail if the object's ETag matches the given value. This is useful for
10520// getting updates only after the object has changed since the last
10521// request. Use googleapi.IsNotModified to check whether the response
10522// error from Do is the result of In-None-Match.
10523func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10524	c.ifNoneMatch_ = entityTag
10525	return c
10526}
10527
10528// Context sets the context to be used in this call's Do method. Any
10529// pending HTTP request will be aborted if the provided context is
10530// canceled.
10531func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10532	c.ctx_ = ctx
10533	return c
10534}
10535
10536// Header returns an http.Header that can be modified by the caller to
10537// add HTTP headers to the request.
10538func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Header() http.Header {
10539	if c.header_ == nil {
10540		c.header_ = make(http.Header)
10541	}
10542	return c.header_
10543}
10544
10545func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
10546	reqHeaders := make(http.Header)
10547	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10548	for k, v := range c.header_ {
10549		reqHeaders[k] = v
10550	}
10551	reqHeaders.Set("User-Agent", c.s.userAgent())
10552	if c.ifNoneMatch_ != "" {
10553		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10554	}
10555	var body io.Reader = nil
10556	c.urlParams_.Set("alt", alt)
10557	c.urlParams_.Set("prettyPrint", "false")
10558	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10559	urls += "?" + c.urlParams_.Encode()
10560	req, err := http.NewRequest("GET", urls, body)
10561	if err != nil {
10562		return nil, err
10563	}
10564	req.Header = reqHeaders
10565	googleapi.Expand(req.URL, map[string]string{
10566		"name": c.name,
10567	})
10568	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10569}
10570
10571// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.get" call.
10572// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10573// status code is an error. Response headers are in either
10574// *Annotation.ServerResponse.Header or (if a response was returned at
10575// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10576// to check whether the returned error was because
10577// http.StatusNotModified was returned.
10578func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10579	gensupport.SetOptions(c.urlParams_, opts...)
10580	res, err := c.doRequest("json")
10581	if res != nil && res.StatusCode == http.StatusNotModified {
10582		if res.Body != nil {
10583			res.Body.Close()
10584		}
10585		return nil, &googleapi.Error{
10586			Code:   res.StatusCode,
10587			Header: res.Header,
10588		}
10589	}
10590	if err != nil {
10591		return nil, err
10592	}
10593	defer googleapi.CloseBody(res)
10594	if err := googleapi.CheckResponse(res); err != nil {
10595		return nil, err
10596	}
10597	ret := &Annotation{
10598		ServerResponse: googleapi.ServerResponse{
10599			Header:         res.Header,
10600			HTTPStatusCode: res.StatusCode,
10601		},
10602	}
10603	target := &ret
10604	if err := gensupport.DecodeResponse(target, res); err != nil {
10605		return nil, err
10606	}
10607	return ret, nil
10608	// {
10609	//   "description": "Gets an Annotation.",
10610	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10611	//   "httpMethod": "GET",
10612	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.get",
10613	//   "parameterOrder": [
10614	//     "name"
10615	//   ],
10616	//   "parameters": {
10617	//     "name": {
10618	//       "description": "The resource name of the Annotation to retrieve.",
10619	//       "location": "path",
10620	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10621	//       "required": true,
10622	//       "type": "string"
10623	//     }
10624	//   },
10625	//   "path": "v1beta1/{+name}",
10626	//   "response": {
10627	//     "$ref": "Annotation"
10628	//   },
10629	//   "scopes": [
10630	//     "https://www.googleapis.com/auth/cloud-platform"
10631	//   ]
10632	// }
10633
10634}
10635
10636// method id "healthcare.projects.locations.datasets.annotationStores.annotations.list":
10637
10638type ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall struct {
10639	s            *Service
10640	parent       string
10641	urlParams_   gensupport.URLParams
10642	ifNoneMatch_ string
10643	ctx_         context.Context
10644	header_      http.Header
10645}
10646
10647// List: Lists the Annotations in the given Annotation store for a
10648// source resource.
10649//
10650// - parent: Name of the Annotation store to retrieve Annotations from.
10651func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10652	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10653	c.parent = parent
10654	return c
10655}
10656
10657// Filter sets the optional parameter "filter": Restricts Annotations
10658// returned to those matching a filter. Functions available for
10659// filtering are: -
10660// `matches("annotation_source.cloud_healthcare_source.name",
10661// substring)`. Filter on `cloud_healthcare_source.name`. For example:
10662// `matches("annotation_source.cloud_healthcare_source.name", "some
10663// source")`. - `matches("annotation", substring)`. Filter on all fields
10664// of annotation. For example: `matches("annotation", "some-content")`.
10665// - `type("text")`, `type("image")`, `type("resource")`. Filter on the
10666// type of annotation `data`.
10667func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10668	c.urlParams_.Set("filter", filter)
10669	return c
10670}
10671
10672// PageSize sets the optional parameter "pageSize": Limit on the number
10673// of Annotations to return in a single response. If not specified, 100
10674// is used. May not be larger than 1000.
10675func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10676	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10677	return c
10678}
10679
10680// PageToken sets the optional parameter "pageToken": The
10681// next_page_token value returned from the previous List request, if
10682// any.
10683func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10684	c.urlParams_.Set("pageToken", pageToken)
10685	return c
10686}
10687
10688// View sets the optional parameter "view": Controls which fields are
10689// populated in the response.
10690//
10691// Possible values:
10692//   "ANNOTATION_VIEW_UNSPECIFIED" - Same as BASIC.
10693//   "ANNOTATION_VIEW_BASIC" - Only `name`, `annotation_source` and
10694// `custom_data` fields are populated.
10695//   "ANNOTATION_VIEW_FULL" - All fields are populated.
10696func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) View(view string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10697	c.urlParams_.Set("view", view)
10698	return c
10699}
10700
10701// Fields allows partial responses to be retrieved. See
10702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10703// for more information.
10704func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10705	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10706	return c
10707}
10708
10709// IfNoneMatch sets the optional parameter which makes the operation
10710// fail if the object's ETag matches the given value. This is useful for
10711// getting updates only after the object has changed since the last
10712// request. Use googleapi.IsNotModified to check whether the response
10713// error from Do is the result of In-None-Match.
10714func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10715	c.ifNoneMatch_ = entityTag
10716	return c
10717}
10718
10719// Context sets the context to be used in this call's Do method. Any
10720// pending HTTP request will be aborted if the provided context is
10721// canceled.
10722func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10723	c.ctx_ = ctx
10724	return c
10725}
10726
10727// Header returns an http.Header that can be modified by the caller to
10728// add HTTP headers to the request.
10729func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Header() http.Header {
10730	if c.header_ == nil {
10731		c.header_ = make(http.Header)
10732	}
10733	return c.header_
10734}
10735
10736func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
10737	reqHeaders := make(http.Header)
10738	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10739	for k, v := range c.header_ {
10740		reqHeaders[k] = v
10741	}
10742	reqHeaders.Set("User-Agent", c.s.userAgent())
10743	if c.ifNoneMatch_ != "" {
10744		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10745	}
10746	var body io.Reader = nil
10747	c.urlParams_.Set("alt", alt)
10748	c.urlParams_.Set("prettyPrint", "false")
10749	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10750	urls += "?" + c.urlParams_.Encode()
10751	req, err := http.NewRequest("GET", urls, body)
10752	if err != nil {
10753		return nil, err
10754	}
10755	req.Header = reqHeaders
10756	googleapi.Expand(req.URL, map[string]string{
10757		"parent": c.parent,
10758	})
10759	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10760}
10761
10762// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.list" call.
10763// Exactly one of *ListAnnotationsResponse or error will be non-nil. Any
10764// non-2xx status code is an error. Response headers are in either
10765// *ListAnnotationsResponse.ServerResponse.Header or (if a response was
10766// returned at all) in error.(*googleapi.Error).Header. Use
10767// googleapi.IsNotModified to check whether the returned error was
10768// because http.StatusNotModified was returned.
10769func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationsResponse, error) {
10770	gensupport.SetOptions(c.urlParams_, opts...)
10771	res, err := c.doRequest("json")
10772	if res != nil && res.StatusCode == http.StatusNotModified {
10773		if res.Body != nil {
10774			res.Body.Close()
10775		}
10776		return nil, &googleapi.Error{
10777			Code:   res.StatusCode,
10778			Header: res.Header,
10779		}
10780	}
10781	if err != nil {
10782		return nil, err
10783	}
10784	defer googleapi.CloseBody(res)
10785	if err := googleapi.CheckResponse(res); err != nil {
10786		return nil, err
10787	}
10788	ret := &ListAnnotationsResponse{
10789		ServerResponse: googleapi.ServerResponse{
10790			Header:         res.Header,
10791			HTTPStatusCode: res.StatusCode,
10792		},
10793	}
10794	target := &ret
10795	if err := gensupport.DecodeResponse(target, res); err != nil {
10796		return nil, err
10797	}
10798	return ret, nil
10799	// {
10800	//   "description": "Lists the Annotations in the given Annotation store for a source resource.",
10801	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10802	//   "httpMethod": "GET",
10803	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.list",
10804	//   "parameterOrder": [
10805	//     "parent"
10806	//   ],
10807	//   "parameters": {
10808	//     "filter": {
10809	//       "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`.",
10810	//       "location": "query",
10811	//       "type": "string"
10812	//     },
10813	//     "pageSize": {
10814	//       "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.",
10815	//       "format": "int32",
10816	//       "location": "query",
10817	//       "type": "integer"
10818	//     },
10819	//     "pageToken": {
10820	//       "description": "The next_page_token value returned from the previous List request, if any.",
10821	//       "location": "query",
10822	//       "type": "string"
10823	//     },
10824	//     "parent": {
10825	//       "description": "Name of the Annotation store to retrieve Annotations from.",
10826	//       "location": "path",
10827	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10828	//       "required": true,
10829	//       "type": "string"
10830	//     },
10831	//     "view": {
10832	//       "description": "Controls which fields are populated in the response.",
10833	//       "enum": [
10834	//         "ANNOTATION_VIEW_UNSPECIFIED",
10835	//         "ANNOTATION_VIEW_BASIC",
10836	//         "ANNOTATION_VIEW_FULL"
10837	//       ],
10838	//       "enumDescriptions": [
10839	//         "Same as BASIC.",
10840	//         "Only `name`, `annotation_source` and `custom_data` fields are populated.",
10841	//         "All fields are populated."
10842	//       ],
10843	//       "location": "query",
10844	//       "type": "string"
10845	//     }
10846	//   },
10847	//   "path": "v1beta1/{+parent}/annotations",
10848	//   "response": {
10849	//     "$ref": "ListAnnotationsResponse"
10850	//   },
10851	//   "scopes": [
10852	//     "https://www.googleapis.com/auth/cloud-platform"
10853	//   ]
10854	// }
10855
10856}
10857
10858// Pages invokes f for each page of results.
10859// A non-nil error returned from f will halt the iteration.
10860// The provided context supersedes any context provided to the Context method.
10861func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Pages(ctx context.Context, f func(*ListAnnotationsResponse) error) error {
10862	c.ctx_ = ctx
10863	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10864	for {
10865		x, err := c.Do()
10866		if err != nil {
10867			return err
10868		}
10869		if err := f(x); err != nil {
10870			return err
10871		}
10872		if x.NextPageToken == "" {
10873			return nil
10874		}
10875		c.PageToken(x.NextPageToken)
10876	}
10877}
10878
10879// method id "healthcare.projects.locations.datasets.annotationStores.annotations.patch":
10880
10881type ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall struct {
10882	s          *Service
10883	name       string
10884	annotation *Annotation
10885	urlParams_ gensupport.URLParams
10886	ctx_       context.Context
10887	header_    http.Header
10888}
10889
10890// Patch: Updates the Annotation.
10891//
10892// - name: Resource name of the Annotation, of the form
10893//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
10894//   /annotationStores/{annotation_store_id}/annotations/{annotation_id}`
10895//   .
10896func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Patch(name string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10897	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10898	c.name = name
10899	c.annotation = annotation
10900	return c
10901}
10902
10903// UpdateMask sets the optional parameter "updateMask": The update mask
10904// applies to the resource. For the `FieldMask` definition, see
10905// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
10906func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10907	c.urlParams_.Set("updateMask", updateMask)
10908	return c
10909}
10910
10911// Fields allows partial responses to be retrieved. See
10912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10913// for more information.
10914func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10916	return c
10917}
10918
10919// Context sets the context to be used in this call's Do method. Any
10920// pending HTTP request will be aborted if the provided context is
10921// canceled.
10922func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10923	c.ctx_ = ctx
10924	return c
10925}
10926
10927// Header returns an http.Header that can be modified by the caller to
10928// add HTTP headers to the request.
10929func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Header() http.Header {
10930	if c.header_ == nil {
10931		c.header_ = make(http.Header)
10932	}
10933	return c.header_
10934}
10935
10936func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) doRequest(alt string) (*http.Response, error) {
10937	reqHeaders := make(http.Header)
10938	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
10939	for k, v := range c.header_ {
10940		reqHeaders[k] = v
10941	}
10942	reqHeaders.Set("User-Agent", c.s.userAgent())
10943	var body io.Reader = nil
10944	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10945	if err != nil {
10946		return nil, err
10947	}
10948	reqHeaders.Set("Content-Type", "application/json")
10949	c.urlParams_.Set("alt", alt)
10950	c.urlParams_.Set("prettyPrint", "false")
10951	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10952	urls += "?" + c.urlParams_.Encode()
10953	req, err := http.NewRequest("PATCH", urls, body)
10954	if err != nil {
10955		return nil, err
10956	}
10957	req.Header = reqHeaders
10958	googleapi.Expand(req.URL, map[string]string{
10959		"name": c.name,
10960	})
10961	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10962}
10963
10964// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.patch" call.
10965// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10966// status code is an error. Response headers are in either
10967// *Annotation.ServerResponse.Header or (if a response was returned at
10968// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10969// to check whether the returned error was because
10970// http.StatusNotModified was returned.
10971func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10972	gensupport.SetOptions(c.urlParams_, opts...)
10973	res, err := c.doRequest("json")
10974	if res != nil && res.StatusCode == http.StatusNotModified {
10975		if res.Body != nil {
10976			res.Body.Close()
10977		}
10978		return nil, &googleapi.Error{
10979			Code:   res.StatusCode,
10980			Header: res.Header,
10981		}
10982	}
10983	if err != nil {
10984		return nil, err
10985	}
10986	defer googleapi.CloseBody(res)
10987	if err := googleapi.CheckResponse(res); err != nil {
10988		return nil, err
10989	}
10990	ret := &Annotation{
10991		ServerResponse: googleapi.ServerResponse{
10992			Header:         res.Header,
10993			HTTPStatusCode: res.StatusCode,
10994		},
10995	}
10996	target := &ret
10997	if err := gensupport.DecodeResponse(target, res); err != nil {
10998		return nil, err
10999	}
11000	return ret, nil
11001	// {
11002	//   "description": "Updates the Annotation.",
11003	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
11004	//   "httpMethod": "PATCH",
11005	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch",
11006	//   "parameterOrder": [
11007	//     "name"
11008	//   ],
11009	//   "parameters": {
11010	//     "name": {
11011	//       "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}`.",
11012	//       "location": "path",
11013	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
11014	//       "required": true,
11015	//       "type": "string"
11016	//     },
11017	//     "updateMask": {
11018	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
11019	//       "format": "google-fieldmask",
11020	//       "location": "query",
11021	//       "type": "string"
11022	//     }
11023	//   },
11024	//   "path": "v1beta1/{+name}",
11025	//   "request": {
11026	//     "$ref": "Annotation"
11027	//   },
11028	//   "response": {
11029	//     "$ref": "Annotation"
11030	//   },
11031	//   "scopes": [
11032	//     "https://www.googleapis.com/auth/cloud-platform"
11033	//   ]
11034	// }
11035
11036}
11037
11038// method id "healthcare.projects.locations.datasets.consentStores.checkDataAccess":
11039
11040type ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall struct {
11041	s                      *Service
11042	consentStore           string
11043	checkdataaccessrequest *CheckDataAccessRequest
11044	urlParams_             gensupport.URLParams
11045	ctx_                   context.Context
11046	header_                http.Header
11047}
11048
11049// CheckDataAccess: Checks if a particular data_id of a User data
11050// mapping in the specified consent store is consented for the specified
11051// use.
11052//
11053// - consentStore: Name of the consent store where the requested data_id
11054//   is stored, of the form
11055//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
11056//   /consentStores/{consent_store_id}`.
11057func (r *ProjectsLocationsDatasetsConsentStoresService) CheckDataAccess(consentStore string, checkdataaccessrequest *CheckDataAccessRequest) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11058	c := &ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11059	c.consentStore = consentStore
11060	c.checkdataaccessrequest = checkdataaccessrequest
11061	return c
11062}
11063
11064// Fields allows partial responses to be retrieved. See
11065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11066// for more information.
11067func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11069	return c
11070}
11071
11072// Context sets the context to be used in this call's Do method. Any
11073// pending HTTP request will be aborted if the provided context is
11074// canceled.
11075func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11076	c.ctx_ = ctx
11077	return c
11078}
11079
11080// Header returns an http.Header that can be modified by the caller to
11081// add HTTP headers to the request.
11082func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Header() http.Header {
11083	if c.header_ == nil {
11084		c.header_ = make(http.Header)
11085	}
11086	return c.header_
11087}
11088
11089func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) doRequest(alt string) (*http.Response, error) {
11090	reqHeaders := make(http.Header)
11091	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11092	for k, v := range c.header_ {
11093		reqHeaders[k] = v
11094	}
11095	reqHeaders.Set("User-Agent", c.s.userAgent())
11096	var body io.Reader = nil
11097	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkdataaccessrequest)
11098	if err != nil {
11099		return nil, err
11100	}
11101	reqHeaders.Set("Content-Type", "application/json")
11102	c.urlParams_.Set("alt", alt)
11103	c.urlParams_.Set("prettyPrint", "false")
11104	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:checkDataAccess")
11105	urls += "?" + c.urlParams_.Encode()
11106	req, err := http.NewRequest("POST", urls, body)
11107	if err != nil {
11108		return nil, err
11109	}
11110	req.Header = reqHeaders
11111	googleapi.Expand(req.URL, map[string]string{
11112		"consentStore": c.consentStore,
11113	})
11114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11115}
11116
11117// Do executes the "healthcare.projects.locations.datasets.consentStores.checkDataAccess" call.
11118// Exactly one of *CheckDataAccessResponse or error will be non-nil. Any
11119// non-2xx status code is an error. Response headers are in either
11120// *CheckDataAccessResponse.ServerResponse.Header or (if a response was
11121// returned at all) in error.(*googleapi.Error).Header. Use
11122// googleapi.IsNotModified to check whether the returned error was
11123// because http.StatusNotModified was returned.
11124func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Do(opts ...googleapi.CallOption) (*CheckDataAccessResponse, error) {
11125	gensupport.SetOptions(c.urlParams_, opts...)
11126	res, err := c.doRequest("json")
11127	if res != nil && res.StatusCode == http.StatusNotModified {
11128		if res.Body != nil {
11129			res.Body.Close()
11130		}
11131		return nil, &googleapi.Error{
11132			Code:   res.StatusCode,
11133			Header: res.Header,
11134		}
11135	}
11136	if err != nil {
11137		return nil, err
11138	}
11139	defer googleapi.CloseBody(res)
11140	if err := googleapi.CheckResponse(res); err != nil {
11141		return nil, err
11142	}
11143	ret := &CheckDataAccessResponse{
11144		ServerResponse: googleapi.ServerResponse{
11145			Header:         res.Header,
11146			HTTPStatusCode: res.StatusCode,
11147		},
11148	}
11149	target := &ret
11150	if err := gensupport.DecodeResponse(target, res); err != nil {
11151		return nil, err
11152	}
11153	return ret, nil
11154	// {
11155	//   "description": "Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.",
11156	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess",
11157	//   "httpMethod": "POST",
11158	//   "id": "healthcare.projects.locations.datasets.consentStores.checkDataAccess",
11159	//   "parameterOrder": [
11160	//     "consentStore"
11161	//   ],
11162	//   "parameters": {
11163	//     "consentStore": {
11164	//       "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}`.",
11165	//       "location": "path",
11166	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11167	//       "required": true,
11168	//       "type": "string"
11169	//     }
11170	//   },
11171	//   "path": "v1beta1/{+consentStore}:checkDataAccess",
11172	//   "request": {
11173	//     "$ref": "CheckDataAccessRequest"
11174	//   },
11175	//   "response": {
11176	//     "$ref": "CheckDataAccessResponse"
11177	//   },
11178	//   "scopes": [
11179	//     "https://www.googleapis.com/auth/cloud-platform"
11180	//   ]
11181	// }
11182
11183}
11184
11185// method id "healthcare.projects.locations.datasets.consentStores.create":
11186
11187type ProjectsLocationsDatasetsConsentStoresCreateCall struct {
11188	s            *Service
11189	parent       string
11190	consentstore *ConsentStore
11191	urlParams_   gensupport.URLParams
11192	ctx_         context.Context
11193	header_      http.Header
11194}
11195
11196// Create: Creates a new consent store in the parent dataset. Attempting
11197// to create a consent store with the same ID as an existing store fails
11198// with an ALREADY_EXISTS error.
11199//
11200// - parent: The name of the dataset this consent store belongs to.
11201func (r *ProjectsLocationsDatasetsConsentStoresService) Create(parent string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11202	c := &ProjectsLocationsDatasetsConsentStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11203	c.parent = parent
11204	c.consentstore = consentstore
11205	return c
11206}
11207
11208// ConsentStoreId sets the optional parameter "consentStoreId":
11209// Required. The ID of the consent store to create. The string must
11210// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`. Cannot be
11211// changed after creation.
11212func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) ConsentStoreId(consentStoreId string) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11213	c.urlParams_.Set("consentStoreId", consentStoreId)
11214	return c
11215}
11216
11217// Fields allows partial responses to be retrieved. See
11218// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11219// for more information.
11220func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11221	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11222	return c
11223}
11224
11225// Context sets the context to be used in this call's Do method. Any
11226// pending HTTP request will be aborted if the provided context is
11227// canceled.
11228func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11229	c.ctx_ = ctx
11230	return c
11231}
11232
11233// Header returns an http.Header that can be modified by the caller to
11234// add HTTP headers to the request.
11235func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Header() http.Header {
11236	if c.header_ == nil {
11237		c.header_ = make(http.Header)
11238	}
11239	return c.header_
11240}
11241
11242func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) doRequest(alt string) (*http.Response, error) {
11243	reqHeaders := make(http.Header)
11244	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11245	for k, v := range c.header_ {
11246		reqHeaders[k] = v
11247	}
11248	reqHeaders.Set("User-Agent", c.s.userAgent())
11249	var body io.Reader = nil
11250	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
11251	if err != nil {
11252		return nil, err
11253	}
11254	reqHeaders.Set("Content-Type", "application/json")
11255	c.urlParams_.Set("alt", alt)
11256	c.urlParams_.Set("prettyPrint", "false")
11257	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
11258	urls += "?" + c.urlParams_.Encode()
11259	req, err := http.NewRequest("POST", urls, body)
11260	if err != nil {
11261		return nil, err
11262	}
11263	req.Header = reqHeaders
11264	googleapi.Expand(req.URL, map[string]string{
11265		"parent": c.parent,
11266	})
11267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11268}
11269
11270// Do executes the "healthcare.projects.locations.datasets.consentStores.create" call.
11271// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11272// status code is an error. Response headers are in either
11273// *ConsentStore.ServerResponse.Header or (if a response was returned at
11274// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11275// to check whether the returned error was because
11276// http.StatusNotModified was returned.
11277func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11278	gensupport.SetOptions(c.urlParams_, opts...)
11279	res, err := c.doRequest("json")
11280	if res != nil && res.StatusCode == http.StatusNotModified {
11281		if res.Body != nil {
11282			res.Body.Close()
11283		}
11284		return nil, &googleapi.Error{
11285			Code:   res.StatusCode,
11286			Header: res.Header,
11287		}
11288	}
11289	if err != nil {
11290		return nil, err
11291	}
11292	defer googleapi.CloseBody(res)
11293	if err := googleapi.CheckResponse(res); err != nil {
11294		return nil, err
11295	}
11296	ret := &ConsentStore{
11297		ServerResponse: googleapi.ServerResponse{
11298			Header:         res.Header,
11299			HTTPStatusCode: res.StatusCode,
11300		},
11301	}
11302	target := &ret
11303	if err := gensupport.DecodeResponse(target, res); err != nil {
11304		return nil, err
11305	}
11306	return ret, nil
11307	// {
11308	//   "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.",
11309	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
11310	//   "httpMethod": "POST",
11311	//   "id": "healthcare.projects.locations.datasets.consentStores.create",
11312	//   "parameterOrder": [
11313	//     "parent"
11314	//   ],
11315	//   "parameters": {
11316	//     "consentStoreId": {
11317	//       "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.",
11318	//       "location": "query",
11319	//       "type": "string"
11320	//     },
11321	//     "parent": {
11322	//       "description": "Required. The name of the dataset this consent store belongs to.",
11323	//       "location": "path",
11324	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
11325	//       "required": true,
11326	//       "type": "string"
11327	//     }
11328	//   },
11329	//   "path": "v1beta1/{+parent}/consentStores",
11330	//   "request": {
11331	//     "$ref": "ConsentStore"
11332	//   },
11333	//   "response": {
11334	//     "$ref": "ConsentStore"
11335	//   },
11336	//   "scopes": [
11337	//     "https://www.googleapis.com/auth/cloud-platform"
11338	//   ]
11339	// }
11340
11341}
11342
11343// method id "healthcare.projects.locations.datasets.consentStores.delete":
11344
11345type ProjectsLocationsDatasetsConsentStoresDeleteCall struct {
11346	s          *Service
11347	name       string
11348	urlParams_ gensupport.URLParams
11349	ctx_       context.Context
11350	header_    http.Header
11351}
11352
11353// Delete: Deletes the specified consent store and removes all the
11354// consent store's data.
11355//
11356// - name: The resource name of the consent store to delete.
11357func (r *ProjectsLocationsDatasetsConsentStoresService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11358	c := &ProjectsLocationsDatasetsConsentStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11359	c.name = name
11360	return c
11361}
11362
11363// Fields allows partial responses to be retrieved. See
11364// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11365// for more information.
11366func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11367	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11368	return c
11369}
11370
11371// Context sets the context to be used in this call's Do method. Any
11372// pending HTTP request will be aborted if the provided context is
11373// canceled.
11374func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11375	c.ctx_ = ctx
11376	return c
11377}
11378
11379// Header returns an http.Header that can be modified by the caller to
11380// add HTTP headers to the request.
11381func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Header() http.Header {
11382	if c.header_ == nil {
11383		c.header_ = make(http.Header)
11384	}
11385	return c.header_
11386}
11387
11388func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
11389	reqHeaders := make(http.Header)
11390	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11391	for k, v := range c.header_ {
11392		reqHeaders[k] = v
11393	}
11394	reqHeaders.Set("User-Agent", c.s.userAgent())
11395	var body io.Reader = nil
11396	c.urlParams_.Set("alt", alt)
11397	c.urlParams_.Set("prettyPrint", "false")
11398	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11399	urls += "?" + c.urlParams_.Encode()
11400	req, err := http.NewRequest("DELETE", urls, body)
11401	if err != nil {
11402		return nil, err
11403	}
11404	req.Header = reqHeaders
11405	googleapi.Expand(req.URL, map[string]string{
11406		"name": c.name,
11407	})
11408	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11409}
11410
11411// Do executes the "healthcare.projects.locations.datasets.consentStores.delete" call.
11412// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11413// code is an error. Response headers are in either
11414// *Empty.ServerResponse.Header or (if a response was returned at all)
11415// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11416// check whether the returned error was because http.StatusNotModified
11417// was returned.
11418func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11419	gensupport.SetOptions(c.urlParams_, opts...)
11420	res, err := c.doRequest("json")
11421	if res != nil && res.StatusCode == http.StatusNotModified {
11422		if res.Body != nil {
11423			res.Body.Close()
11424		}
11425		return nil, &googleapi.Error{
11426			Code:   res.StatusCode,
11427			Header: res.Header,
11428		}
11429	}
11430	if err != nil {
11431		return nil, err
11432	}
11433	defer googleapi.CloseBody(res)
11434	if err := googleapi.CheckResponse(res); err != nil {
11435		return nil, err
11436	}
11437	ret := &Empty{
11438		ServerResponse: googleapi.ServerResponse{
11439			Header:         res.Header,
11440			HTTPStatusCode: res.StatusCode,
11441		},
11442	}
11443	target := &ret
11444	if err := gensupport.DecodeResponse(target, res); err != nil {
11445		return nil, err
11446	}
11447	return ret, nil
11448	// {
11449	//   "description": "Deletes the specified consent store and removes all the consent store's data.",
11450	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11451	//   "httpMethod": "DELETE",
11452	//   "id": "healthcare.projects.locations.datasets.consentStores.delete",
11453	//   "parameterOrder": [
11454	//     "name"
11455	//   ],
11456	//   "parameters": {
11457	//     "name": {
11458	//       "description": "Required. The resource name of the consent store to delete.",
11459	//       "location": "path",
11460	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11461	//       "required": true,
11462	//       "type": "string"
11463	//     }
11464	//   },
11465	//   "path": "v1beta1/{+name}",
11466	//   "response": {
11467	//     "$ref": "Empty"
11468	//   },
11469	//   "scopes": [
11470	//     "https://www.googleapis.com/auth/cloud-platform"
11471	//   ]
11472	// }
11473
11474}
11475
11476// method id "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents":
11477
11478type ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall struct {
11479	s                           *Service
11480	consentStore                string
11481	evaluateuserconsentsrequest *EvaluateUserConsentsRequest
11482	urlParams_                  gensupport.URLParams
11483	ctx_                        context.Context
11484	header_                     http.Header
11485}
11486
11487// EvaluateUserConsents: Evaluates the user's Consents for all matching
11488// User data mappings. Note: User data mappings are indexed
11489// asynchronously, which can cause a slight delay between the time
11490// mappings are created or updated and when they are included in
11491// EvaluateUserConsents results.
11492//
11493// - consentStore: Name of the consent store to retrieve User data
11494//   mappings from.
11495func (r *ProjectsLocationsDatasetsConsentStoresService) EvaluateUserConsents(consentStore string, evaluateuserconsentsrequest *EvaluateUserConsentsRequest) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11496	c := &ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11497	c.consentStore = consentStore
11498	c.evaluateuserconsentsrequest = evaluateuserconsentsrequest
11499	return c
11500}
11501
11502// Fields allows partial responses to be retrieved. See
11503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11504// for more information.
11505func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11507	return c
11508}
11509
11510// Context sets the context to be used in this call's Do method. Any
11511// pending HTTP request will be aborted if the provided context is
11512// canceled.
11513func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11514	c.ctx_ = ctx
11515	return c
11516}
11517
11518// Header returns an http.Header that can be modified by the caller to
11519// add HTTP headers to the request.
11520func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Header() http.Header {
11521	if c.header_ == nil {
11522		c.header_ = make(http.Header)
11523	}
11524	return c.header_
11525}
11526
11527func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) doRequest(alt string) (*http.Response, error) {
11528	reqHeaders := make(http.Header)
11529	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11530	for k, v := range c.header_ {
11531		reqHeaders[k] = v
11532	}
11533	reqHeaders.Set("User-Agent", c.s.userAgent())
11534	var body io.Reader = nil
11535	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateuserconsentsrequest)
11536	if err != nil {
11537		return nil, err
11538	}
11539	reqHeaders.Set("Content-Type", "application/json")
11540	c.urlParams_.Set("alt", alt)
11541	c.urlParams_.Set("prettyPrint", "false")
11542	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:evaluateUserConsents")
11543	urls += "?" + c.urlParams_.Encode()
11544	req, err := http.NewRequest("POST", urls, body)
11545	if err != nil {
11546		return nil, err
11547	}
11548	req.Header = reqHeaders
11549	googleapi.Expand(req.URL, map[string]string{
11550		"consentStore": c.consentStore,
11551	})
11552	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11553}
11554
11555// Do executes the "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents" call.
11556// Exactly one of *EvaluateUserConsentsResponse or error will be
11557// non-nil. Any non-2xx status code is an error. Response headers are in
11558// either *EvaluateUserConsentsResponse.ServerResponse.Header or (if a
11559// response was returned at all) in error.(*googleapi.Error).Header. Use
11560// googleapi.IsNotModified to check whether the returned error was
11561// because http.StatusNotModified was returned.
11562func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Do(opts ...googleapi.CallOption) (*EvaluateUserConsentsResponse, error) {
11563	gensupport.SetOptions(c.urlParams_, opts...)
11564	res, err := c.doRequest("json")
11565	if res != nil && res.StatusCode == http.StatusNotModified {
11566		if res.Body != nil {
11567			res.Body.Close()
11568		}
11569		return nil, &googleapi.Error{
11570			Code:   res.StatusCode,
11571			Header: res.Header,
11572		}
11573	}
11574	if err != nil {
11575		return nil, err
11576	}
11577	defer googleapi.CloseBody(res)
11578	if err := googleapi.CheckResponse(res); err != nil {
11579		return nil, err
11580	}
11581	ret := &EvaluateUserConsentsResponse{
11582		ServerResponse: googleapi.ServerResponse{
11583			Header:         res.Header,
11584			HTTPStatusCode: res.StatusCode,
11585		},
11586	}
11587	target := &ret
11588	if err := gensupport.DecodeResponse(target, res); err != nil {
11589		return nil, err
11590	}
11591	return ret, nil
11592	// {
11593	//   "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.",
11594	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents",
11595	//   "httpMethod": "POST",
11596	//   "id": "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents",
11597	//   "parameterOrder": [
11598	//     "consentStore"
11599	//   ],
11600	//   "parameters": {
11601	//     "consentStore": {
11602	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
11603	//       "location": "path",
11604	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11605	//       "required": true,
11606	//       "type": "string"
11607	//     }
11608	//   },
11609	//   "path": "v1beta1/{+consentStore}:evaluateUserConsents",
11610	//   "request": {
11611	//     "$ref": "EvaluateUserConsentsRequest"
11612	//   },
11613	//   "response": {
11614	//     "$ref": "EvaluateUserConsentsResponse"
11615	//   },
11616	//   "scopes": [
11617	//     "https://www.googleapis.com/auth/cloud-platform"
11618	//   ]
11619	// }
11620
11621}
11622
11623// Pages invokes f for each page of results.
11624// A non-nil error returned from f will halt the iteration.
11625// The provided context supersedes any context provided to the Context method.
11626func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Pages(ctx context.Context, f func(*EvaluateUserConsentsResponse) error) error {
11627	c.ctx_ = ctx
11628	defer func(pt string) { c.evaluateuserconsentsrequest.PageToken = pt }(c.evaluateuserconsentsrequest.PageToken) // reset paging to original point
11629	for {
11630		x, err := c.Do()
11631		if err != nil {
11632			return err
11633		}
11634		if err := f(x); err != nil {
11635			return err
11636		}
11637		if x.NextPageToken == "" {
11638			return nil
11639		}
11640		c.evaluateuserconsentsrequest.PageToken = x.NextPageToken
11641	}
11642}
11643
11644// method id "healthcare.projects.locations.datasets.consentStores.get":
11645
11646type ProjectsLocationsDatasetsConsentStoresGetCall struct {
11647	s            *Service
11648	name         string
11649	urlParams_   gensupport.URLParams
11650	ifNoneMatch_ string
11651	ctx_         context.Context
11652	header_      http.Header
11653}
11654
11655// Get: Gets the specified consent store.
11656//
11657// - name: The resource name of the consent store to get.
11658func (r *ProjectsLocationsDatasetsConsentStoresService) Get(name string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11659	c := &ProjectsLocationsDatasetsConsentStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11660	c.name = name
11661	return c
11662}
11663
11664// Fields allows partial responses to be retrieved. See
11665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11666// for more information.
11667func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetCall {
11668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11669	return c
11670}
11671
11672// IfNoneMatch sets the optional parameter which makes the operation
11673// fail if the object's ETag matches the given value. This is useful for
11674// getting updates only after the object has changed since the last
11675// request. Use googleapi.IsNotModified to check whether the response
11676// error from Do is the result of In-None-Match.
11677func (c *ProjectsLocationsDatasetsConsentStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11678	c.ifNoneMatch_ = entityTag
11679	return c
11680}
11681
11682// Context sets the context to be used in this call's Do method. Any
11683// pending HTTP request will be aborted if the provided context is
11684// canceled.
11685func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetCall {
11686	c.ctx_ = ctx
11687	return c
11688}
11689
11690// Header returns an http.Header that can be modified by the caller to
11691// add HTTP headers to the request.
11692func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Header() http.Header {
11693	if c.header_ == nil {
11694		c.header_ = make(http.Header)
11695	}
11696	return c.header_
11697}
11698
11699func (c *ProjectsLocationsDatasetsConsentStoresGetCall) doRequest(alt string) (*http.Response, error) {
11700	reqHeaders := make(http.Header)
11701	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11702	for k, v := range c.header_ {
11703		reqHeaders[k] = v
11704	}
11705	reqHeaders.Set("User-Agent", c.s.userAgent())
11706	if c.ifNoneMatch_ != "" {
11707		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11708	}
11709	var body io.Reader = nil
11710	c.urlParams_.Set("alt", alt)
11711	c.urlParams_.Set("prettyPrint", "false")
11712	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11713	urls += "?" + c.urlParams_.Encode()
11714	req, err := http.NewRequest("GET", urls, body)
11715	if err != nil {
11716		return nil, err
11717	}
11718	req.Header = reqHeaders
11719	googleapi.Expand(req.URL, map[string]string{
11720		"name": c.name,
11721	})
11722	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11723}
11724
11725// Do executes the "healthcare.projects.locations.datasets.consentStores.get" call.
11726// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11727// status code is an error. Response headers are in either
11728// *ConsentStore.ServerResponse.Header or (if a response was returned at
11729// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11730// to check whether the returned error was because
11731// http.StatusNotModified was returned.
11732func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11733	gensupport.SetOptions(c.urlParams_, opts...)
11734	res, err := c.doRequest("json")
11735	if res != nil && res.StatusCode == http.StatusNotModified {
11736		if res.Body != nil {
11737			res.Body.Close()
11738		}
11739		return nil, &googleapi.Error{
11740			Code:   res.StatusCode,
11741			Header: res.Header,
11742		}
11743	}
11744	if err != nil {
11745		return nil, err
11746	}
11747	defer googleapi.CloseBody(res)
11748	if err := googleapi.CheckResponse(res); err != nil {
11749		return nil, err
11750	}
11751	ret := &ConsentStore{
11752		ServerResponse: googleapi.ServerResponse{
11753			Header:         res.Header,
11754			HTTPStatusCode: res.StatusCode,
11755		},
11756	}
11757	target := &ret
11758	if err := gensupport.DecodeResponse(target, res); err != nil {
11759		return nil, err
11760	}
11761	return ret, nil
11762	// {
11763	//   "description": "Gets the specified consent store.",
11764	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11765	//   "httpMethod": "GET",
11766	//   "id": "healthcare.projects.locations.datasets.consentStores.get",
11767	//   "parameterOrder": [
11768	//     "name"
11769	//   ],
11770	//   "parameters": {
11771	//     "name": {
11772	//       "description": "Required. The resource name of the consent store to get.",
11773	//       "location": "path",
11774	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11775	//       "required": true,
11776	//       "type": "string"
11777	//     }
11778	//   },
11779	//   "path": "v1beta1/{+name}",
11780	//   "response": {
11781	//     "$ref": "ConsentStore"
11782	//   },
11783	//   "scopes": [
11784	//     "https://www.googleapis.com/auth/cloud-platform"
11785	//   ]
11786	// }
11787
11788}
11789
11790// method id "healthcare.projects.locations.datasets.consentStores.getIamPolicy":
11791
11792type ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall struct {
11793	s            *Service
11794	resource     string
11795	urlParams_   gensupport.URLParams
11796	ifNoneMatch_ string
11797	ctx_         context.Context
11798	header_      http.Header
11799}
11800
11801// GetIamPolicy: Gets the access control policy for a resource. Returns
11802// an empty policy if the resource exists and does not have a policy
11803// set.
11804//
11805// - resource: REQUIRED: The resource for which the policy is being
11806//   requested. See the operation documentation for the appropriate
11807//   value for this field.
11808func (r *ProjectsLocationsDatasetsConsentStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11809	c := &ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11810	c.resource = resource
11811	return c
11812}
11813
11814// OptionsRequestedPolicyVersion sets the optional parameter
11815// "options.requestedPolicyVersion": The policy format version to be
11816// returned. Valid values are 0, 1, and 3. Requests specifying an
11817// invalid value will be rejected. Requests for policies with any
11818// conditional bindings must specify version 3. Policies without any
11819// conditional bindings may specify any valid value or leave the field
11820// unset. To learn which resources support conditions in their IAM
11821// policies, see the IAM documentation
11822// (https://cloud.google.com/iam/help/conditions/resource-policies).
11823func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11824	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
11825	return c
11826}
11827
11828// Fields allows partial responses to be retrieved. See
11829// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11830// for more information.
11831func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11832	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11833	return c
11834}
11835
11836// IfNoneMatch sets the optional parameter which makes the operation
11837// fail if the object's ETag matches the given value. This is useful for
11838// getting updates only after the object has changed since the last
11839// request. Use googleapi.IsNotModified to check whether the response
11840// error from Do is the result of In-None-Match.
11841func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11842	c.ifNoneMatch_ = entityTag
11843	return c
11844}
11845
11846// Context sets the context to be used in this call's Do method. Any
11847// pending HTTP request will be aborted if the provided context is
11848// canceled.
11849func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11850	c.ctx_ = ctx
11851	return c
11852}
11853
11854// Header returns an http.Header that can be modified by the caller to
11855// add HTTP headers to the request.
11856func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Header() http.Header {
11857	if c.header_ == nil {
11858		c.header_ = make(http.Header)
11859	}
11860	return c.header_
11861}
11862
11863func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
11864	reqHeaders := make(http.Header)
11865	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
11866	for k, v := range c.header_ {
11867		reqHeaders[k] = v
11868	}
11869	reqHeaders.Set("User-Agent", c.s.userAgent())
11870	if c.ifNoneMatch_ != "" {
11871		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11872	}
11873	var body io.Reader = nil
11874	c.urlParams_.Set("alt", alt)
11875	c.urlParams_.Set("prettyPrint", "false")
11876	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
11877	urls += "?" + c.urlParams_.Encode()
11878	req, err := http.NewRequest("GET", urls, body)
11879	if err != nil {
11880		return nil, err
11881	}
11882	req.Header = reqHeaders
11883	googleapi.Expand(req.URL, map[string]string{
11884		"resource": c.resource,
11885	})
11886	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11887}
11888
11889// Do executes the "healthcare.projects.locations.datasets.consentStores.getIamPolicy" call.
11890// Exactly one of *Policy or error will be non-nil. Any non-2xx status
11891// code is an error. Response headers are in either
11892// *Policy.ServerResponse.Header or (if a response was returned at all)
11893// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11894// check whether the returned error was because http.StatusNotModified
11895// was returned.
11896func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
11897	gensupport.SetOptions(c.urlParams_, opts...)
11898	res, err := c.doRequest("json")
11899	if res != nil && res.StatusCode == http.StatusNotModified {
11900		if res.Body != nil {
11901			res.Body.Close()
11902		}
11903		return nil, &googleapi.Error{
11904			Code:   res.StatusCode,
11905			Header: res.Header,
11906		}
11907	}
11908	if err != nil {
11909		return nil, err
11910	}
11911	defer googleapi.CloseBody(res)
11912	if err := googleapi.CheckResponse(res); err != nil {
11913		return nil, err
11914	}
11915	ret := &Policy{
11916		ServerResponse: googleapi.ServerResponse{
11917			Header:         res.Header,
11918			HTTPStatusCode: res.StatusCode,
11919		},
11920	}
11921	target := &ret
11922	if err := gensupport.DecodeResponse(target, res); err != nil {
11923		return nil, err
11924	}
11925	return ret, nil
11926	// {
11927	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
11928	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy",
11929	//   "httpMethod": "GET",
11930	//   "id": "healthcare.projects.locations.datasets.consentStores.getIamPolicy",
11931	//   "parameterOrder": [
11932	//     "resource"
11933	//   ],
11934	//   "parameters": {
11935	//     "options.requestedPolicyVersion": {
11936	//       "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).",
11937	//       "format": "int32",
11938	//       "location": "query",
11939	//       "type": "integer"
11940	//     },
11941	//     "resource": {
11942	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
11943	//       "location": "path",
11944	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11945	//       "required": true,
11946	//       "type": "string"
11947	//     }
11948	//   },
11949	//   "path": "v1beta1/{+resource}:getIamPolicy",
11950	//   "response": {
11951	//     "$ref": "Policy"
11952	//   },
11953	//   "scopes": [
11954	//     "https://www.googleapis.com/auth/cloud-platform"
11955	//   ]
11956	// }
11957
11958}
11959
11960// method id "healthcare.projects.locations.datasets.consentStores.list":
11961
11962type ProjectsLocationsDatasetsConsentStoresListCall struct {
11963	s            *Service
11964	parent       string
11965	urlParams_   gensupport.URLParams
11966	ifNoneMatch_ string
11967	ctx_         context.Context
11968	header_      http.Header
11969}
11970
11971// List: Lists the consent stores in the specified dataset.
11972//
11973// - parent: Name of the dataset.
11974func (r *ProjectsLocationsDatasetsConsentStoresService) List(parent string) *ProjectsLocationsDatasetsConsentStoresListCall {
11975	c := &ProjectsLocationsDatasetsConsentStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11976	c.parent = parent
11977	return c
11978}
11979
11980// Filter sets the optional parameter "filter": Restricts the stores
11981// returned to those matching a filter. The following syntax is
11982// available: * A string field value can be written as text inside
11983// quotation marks, for example "query text". The only valid
11984// relational operation for text fields is equality (`=`), where text is
11985// searched within the field, rather than having the field be equal to
11986// the text. For example, "Comment = great" returns messages with
11987// `great` in the comment field. * A number field value can be written
11988// as an integer, a decimal, or an exponential. The valid relational
11989// operators for number fields are the equality operator (`=`), along
11990// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
11991// Note that there is no inequality (`!=`) operator. You can prepend the
11992// `NOT` operator to an expression to negate it. * A date field value
11993// must be written in `yyyy-mm-dd` form. Fields with date and time use
11994// the RFC3339 time format. Leading zeros are required for one-digit
11995// months and days. The valid relational operators for date fields are
11996// the equality operator (`=`) , along with the less than/greater than
11997// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
11998// (`!=`) operator. You can prepend the `NOT` operator to an expression
11999// to negate it. * Multiple field query expressions can be combined in
12000// one query by adding `AND` or `OR` operators between the expressions.
12001// If a boolean operator appears within a quoted string, it is not
12002// treated as special, it's just another part of the character string to
12003// be matched. You can prepend the `NOT` operator to an expression to
12004// negate it. Only filtering on labels is supported. For example,
12005// `filter=labels.key=value`.
12006func (c *ProjectsLocationsDatasetsConsentStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresListCall {
12007	c.urlParams_.Set("filter", filter)
12008	return c
12009}
12010
12011// PageSize sets the optional parameter "pageSize": Limit on the number
12012// of consent stores to return in a single response. If not specified,
12013// 100 is used. May not be larger than 1000.
12014func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresListCall {
12015	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
12016	return c
12017}
12018
12019// PageToken sets the optional parameter "pageToken": Token to retrieve
12020// the next page of results, or empty to get the first page.
12021func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresListCall {
12022	c.urlParams_.Set("pageToken", pageToken)
12023	return c
12024}
12025
12026// Fields allows partial responses to be retrieved. See
12027// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12028// for more information.
12029func (c *ProjectsLocationsDatasetsConsentStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresListCall {
12030	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12031	return c
12032}
12033
12034// IfNoneMatch sets the optional parameter which makes the operation
12035// fail if the object's ETag matches the given value. This is useful for
12036// getting updates only after the object has changed since the last
12037// request. Use googleapi.IsNotModified to check whether the response
12038// error from Do is the result of In-None-Match.
12039func (c *ProjectsLocationsDatasetsConsentStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresListCall {
12040	c.ifNoneMatch_ = entityTag
12041	return c
12042}
12043
12044// Context sets the context to be used in this call's Do method. Any
12045// pending HTTP request will be aborted if the provided context is
12046// canceled.
12047func (c *ProjectsLocationsDatasetsConsentStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresListCall {
12048	c.ctx_ = ctx
12049	return c
12050}
12051
12052// Header returns an http.Header that can be modified by the caller to
12053// add HTTP headers to the request.
12054func (c *ProjectsLocationsDatasetsConsentStoresListCall) Header() http.Header {
12055	if c.header_ == nil {
12056		c.header_ = make(http.Header)
12057	}
12058	return c.header_
12059}
12060
12061func (c *ProjectsLocationsDatasetsConsentStoresListCall) doRequest(alt string) (*http.Response, error) {
12062	reqHeaders := make(http.Header)
12063	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12064	for k, v := range c.header_ {
12065		reqHeaders[k] = v
12066	}
12067	reqHeaders.Set("User-Agent", c.s.userAgent())
12068	if c.ifNoneMatch_ != "" {
12069		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12070	}
12071	var body io.Reader = nil
12072	c.urlParams_.Set("alt", alt)
12073	c.urlParams_.Set("prettyPrint", "false")
12074	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
12075	urls += "?" + c.urlParams_.Encode()
12076	req, err := http.NewRequest("GET", urls, body)
12077	if err != nil {
12078		return nil, err
12079	}
12080	req.Header = reqHeaders
12081	googleapi.Expand(req.URL, map[string]string{
12082		"parent": c.parent,
12083	})
12084	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12085}
12086
12087// Do executes the "healthcare.projects.locations.datasets.consentStores.list" call.
12088// Exactly one of *ListConsentStoresResponse or error will be non-nil.
12089// Any non-2xx status code is an error. Response headers are in either
12090// *ListConsentStoresResponse.ServerResponse.Header or (if a response
12091// was returned at all) in error.(*googleapi.Error).Header. Use
12092// googleapi.IsNotModified to check whether the returned error was
12093// because http.StatusNotModified was returned.
12094func (c *ProjectsLocationsDatasetsConsentStoresListCall) Do(opts ...googleapi.CallOption) (*ListConsentStoresResponse, error) {
12095	gensupport.SetOptions(c.urlParams_, opts...)
12096	res, err := c.doRequest("json")
12097	if res != nil && res.StatusCode == http.StatusNotModified {
12098		if res.Body != nil {
12099			res.Body.Close()
12100		}
12101		return nil, &googleapi.Error{
12102			Code:   res.StatusCode,
12103			Header: res.Header,
12104		}
12105	}
12106	if err != nil {
12107		return nil, err
12108	}
12109	defer googleapi.CloseBody(res)
12110	if err := googleapi.CheckResponse(res); err != nil {
12111		return nil, err
12112	}
12113	ret := &ListConsentStoresResponse{
12114		ServerResponse: googleapi.ServerResponse{
12115			Header:         res.Header,
12116			HTTPStatusCode: res.StatusCode,
12117		},
12118	}
12119	target := &ret
12120	if err := gensupport.DecodeResponse(target, res); err != nil {
12121		return nil, err
12122	}
12123	return ret, nil
12124	// {
12125	//   "description": "Lists the consent stores in the specified dataset.",
12126	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
12127	//   "httpMethod": "GET",
12128	//   "id": "healthcare.projects.locations.datasets.consentStores.list",
12129	//   "parameterOrder": [
12130	//     "parent"
12131	//   ],
12132	//   "parameters": {
12133	//     "filter": {
12134	//       "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`.",
12135	//       "location": "query",
12136	//       "type": "string"
12137	//     },
12138	//     "pageSize": {
12139	//       "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.",
12140	//       "format": "int32",
12141	//       "location": "query",
12142	//       "type": "integer"
12143	//     },
12144	//     "pageToken": {
12145	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
12146	//       "location": "query",
12147	//       "type": "string"
12148	//     },
12149	//     "parent": {
12150	//       "description": "Required. Name of the dataset.",
12151	//       "location": "path",
12152	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
12153	//       "required": true,
12154	//       "type": "string"
12155	//     }
12156	//   },
12157	//   "path": "v1beta1/{+parent}/consentStores",
12158	//   "response": {
12159	//     "$ref": "ListConsentStoresResponse"
12160	//   },
12161	//   "scopes": [
12162	//     "https://www.googleapis.com/auth/cloud-platform"
12163	//   ]
12164	// }
12165
12166}
12167
12168// Pages invokes f for each page of results.
12169// A non-nil error returned from f will halt the iteration.
12170// The provided context supersedes any context provided to the Context method.
12171func (c *ProjectsLocationsDatasetsConsentStoresListCall) Pages(ctx context.Context, f func(*ListConsentStoresResponse) error) error {
12172	c.ctx_ = ctx
12173	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
12174	for {
12175		x, err := c.Do()
12176		if err != nil {
12177			return err
12178		}
12179		if err := f(x); err != nil {
12180			return err
12181		}
12182		if x.NextPageToken == "" {
12183			return nil
12184		}
12185		c.PageToken(x.NextPageToken)
12186	}
12187}
12188
12189// method id "healthcare.projects.locations.datasets.consentStores.patch":
12190
12191type ProjectsLocationsDatasetsConsentStoresPatchCall struct {
12192	s            *Service
12193	name         string
12194	consentstore *ConsentStore
12195	urlParams_   gensupport.URLParams
12196	ctx_         context.Context
12197	header_      http.Header
12198}
12199
12200// Patch: Updates the specified consent store.
12201//
12202// - name: Resource name of the consent store, of the form
12203//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
12204//   /consentStores/{consent_store_id}`. Cannot be changed after
12205//   creation.
12206func (r *ProjectsLocationsDatasetsConsentStoresService) Patch(name string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12207	c := &ProjectsLocationsDatasetsConsentStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12208	c.name = name
12209	c.consentstore = consentstore
12210	return c
12211}
12212
12213// UpdateMask sets the optional parameter "updateMask": Required. The
12214// update mask that applies to the resource. For the `FieldMask`
12215// definition, see
12216// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
12217// Only the `labels`, `default_consent_ttl`, and
12218// `enable_consent_create_on_update` fields are allowed to be updated.
12219func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12220	c.urlParams_.Set("updateMask", updateMask)
12221	return c
12222}
12223
12224// Fields allows partial responses to be retrieved. See
12225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12226// for more information.
12227func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12229	return c
12230}
12231
12232// Context sets the context to be used in this call's Do method. Any
12233// pending HTTP request will be aborted if the provided context is
12234// canceled.
12235func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12236	c.ctx_ = ctx
12237	return c
12238}
12239
12240// Header returns an http.Header that can be modified by the caller to
12241// add HTTP headers to the request.
12242func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Header() http.Header {
12243	if c.header_ == nil {
12244		c.header_ = make(http.Header)
12245	}
12246	return c.header_
12247}
12248
12249func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) doRequest(alt string) (*http.Response, error) {
12250	reqHeaders := make(http.Header)
12251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12252	for k, v := range c.header_ {
12253		reqHeaders[k] = v
12254	}
12255	reqHeaders.Set("User-Agent", c.s.userAgent())
12256	var body io.Reader = nil
12257	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
12258	if err != nil {
12259		return nil, err
12260	}
12261	reqHeaders.Set("Content-Type", "application/json")
12262	c.urlParams_.Set("alt", alt)
12263	c.urlParams_.Set("prettyPrint", "false")
12264	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
12265	urls += "?" + c.urlParams_.Encode()
12266	req, err := http.NewRequest("PATCH", urls, body)
12267	if err != nil {
12268		return nil, err
12269	}
12270	req.Header = reqHeaders
12271	googleapi.Expand(req.URL, map[string]string{
12272		"name": c.name,
12273	})
12274	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12275}
12276
12277// Do executes the "healthcare.projects.locations.datasets.consentStores.patch" call.
12278// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
12279// status code is an error. Response headers are in either
12280// *ConsentStore.ServerResponse.Header or (if a response was returned at
12281// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12282// to check whether the returned error was because
12283// http.StatusNotModified was returned.
12284func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
12285	gensupport.SetOptions(c.urlParams_, opts...)
12286	res, err := c.doRequest("json")
12287	if res != nil && res.StatusCode == http.StatusNotModified {
12288		if res.Body != nil {
12289			res.Body.Close()
12290		}
12291		return nil, &googleapi.Error{
12292			Code:   res.StatusCode,
12293			Header: res.Header,
12294		}
12295	}
12296	if err != nil {
12297		return nil, err
12298	}
12299	defer googleapi.CloseBody(res)
12300	if err := googleapi.CheckResponse(res); err != nil {
12301		return nil, err
12302	}
12303	ret := &ConsentStore{
12304		ServerResponse: googleapi.ServerResponse{
12305			Header:         res.Header,
12306			HTTPStatusCode: res.StatusCode,
12307		},
12308	}
12309	target := &ret
12310	if err := gensupport.DecodeResponse(target, res); err != nil {
12311		return nil, err
12312	}
12313	return ret, nil
12314	// {
12315	//   "description": "Updates the specified consent store.",
12316	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
12317	//   "httpMethod": "PATCH",
12318	//   "id": "healthcare.projects.locations.datasets.consentStores.patch",
12319	//   "parameterOrder": [
12320	//     "name"
12321	//   ],
12322	//   "parameters": {
12323	//     "name": {
12324	//       "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.",
12325	//       "location": "path",
12326	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12327	//       "required": true,
12328	//       "type": "string"
12329	//     },
12330	//     "updateMask": {
12331	//       "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.",
12332	//       "format": "google-fieldmask",
12333	//       "location": "query",
12334	//       "type": "string"
12335	//     }
12336	//   },
12337	//   "path": "v1beta1/{+name}",
12338	//   "request": {
12339	//     "$ref": "ConsentStore"
12340	//   },
12341	//   "response": {
12342	//     "$ref": "ConsentStore"
12343	//   },
12344	//   "scopes": [
12345	//     "https://www.googleapis.com/auth/cloud-platform"
12346	//   ]
12347	// }
12348
12349}
12350
12351// method id "healthcare.projects.locations.datasets.consentStores.queryAccessibleData":
12352
12353type ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall struct {
12354	s                          *Service
12355	consentStore               string
12356	queryaccessibledatarequest *QueryAccessibleDataRequest
12357	urlParams_                 gensupport.URLParams
12358	ctx_                       context.Context
12359	header_                    http.Header
12360}
12361
12362// QueryAccessibleData: Queries all data_ids that are consented for a
12363// specified use in the given consent store and writes them to a
12364// specified destination. The returned Operation includes a progress
12365// counter for the number of User data mappings processed. Errors are
12366// logged to Cloud Logging (see Viewing error logs in Cloud Logging
12367// (https://cloud.google.com/healthcare/docs/how-tos/logging)). For
12368// example, the following sample log entry shows a `failed to evaluate
12369// consent policy` error that occurred during a QueryAccessibleData call
12370// to consent store
12371// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12372// onsentStores/{consent_store_id}`. ```json jsonPayload: { @type:
12373// "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDa
12374// taLogEntry" error: { code: 9 message: "failed to evaluate consent
12375// policy" } resourceName:
12376// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12377// onsentStores/{consent_store_id}/consents/{consent_id}" } logName:
12378// "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessib
12379// le_data" operation: { id:
12380// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/o
12381// perations/{operation_id}" producer:
12382// "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp:
12383// "TIMESTAMP" resource: { labels: { consent_store_id:
12384// "{consent_store_id}" dataset_id: "{dataset_id}" location:
12385// "{location_id}" project_id: "{project_id}" } type:
12386// "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP"
12387// ```
12388//
12389// - consentStore: Name of the consent store to retrieve User data
12390//   mappings from.
12391func (r *ProjectsLocationsDatasetsConsentStoresService) QueryAccessibleData(consentStore string, queryaccessibledatarequest *QueryAccessibleDataRequest) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12392	c := &ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12393	c.consentStore = consentStore
12394	c.queryaccessibledatarequest = queryaccessibledatarequest
12395	return c
12396}
12397
12398// Fields allows partial responses to be retrieved. See
12399// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12400// for more information.
12401func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12402	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12403	return c
12404}
12405
12406// Context sets the context to be used in this call's Do method. Any
12407// pending HTTP request will be aborted if the provided context is
12408// canceled.
12409func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12410	c.ctx_ = ctx
12411	return c
12412}
12413
12414// Header returns an http.Header that can be modified by the caller to
12415// add HTTP headers to the request.
12416func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Header() http.Header {
12417	if c.header_ == nil {
12418		c.header_ = make(http.Header)
12419	}
12420	return c.header_
12421}
12422
12423func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) doRequest(alt string) (*http.Response, error) {
12424	reqHeaders := make(http.Header)
12425	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12426	for k, v := range c.header_ {
12427		reqHeaders[k] = v
12428	}
12429	reqHeaders.Set("User-Agent", c.s.userAgent())
12430	var body io.Reader = nil
12431	body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryaccessibledatarequest)
12432	if err != nil {
12433		return nil, err
12434	}
12435	reqHeaders.Set("Content-Type", "application/json")
12436	c.urlParams_.Set("alt", alt)
12437	c.urlParams_.Set("prettyPrint", "false")
12438	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:queryAccessibleData")
12439	urls += "?" + c.urlParams_.Encode()
12440	req, err := http.NewRequest("POST", urls, body)
12441	if err != nil {
12442		return nil, err
12443	}
12444	req.Header = reqHeaders
12445	googleapi.Expand(req.URL, map[string]string{
12446		"consentStore": c.consentStore,
12447	})
12448	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12449}
12450
12451// Do executes the "healthcare.projects.locations.datasets.consentStores.queryAccessibleData" call.
12452// Exactly one of *Operation or error will be non-nil. Any non-2xx
12453// status code is an error. Response headers are in either
12454// *Operation.ServerResponse.Header or (if a response was returned at
12455// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12456// to check whether the returned error was because
12457// http.StatusNotModified was returned.
12458func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12459	gensupport.SetOptions(c.urlParams_, opts...)
12460	res, err := c.doRequest("json")
12461	if res != nil && res.StatusCode == http.StatusNotModified {
12462		if res.Body != nil {
12463			res.Body.Close()
12464		}
12465		return nil, &googleapi.Error{
12466			Code:   res.StatusCode,
12467			Header: res.Header,
12468		}
12469	}
12470	if err != nil {
12471		return nil, err
12472	}
12473	defer googleapi.CloseBody(res)
12474	if err := googleapi.CheckResponse(res); err != nil {
12475		return nil, err
12476	}
12477	ret := &Operation{
12478		ServerResponse: googleapi.ServerResponse{
12479			Header:         res.Header,
12480			HTTPStatusCode: res.StatusCode,
12481		},
12482	}
12483	target := &ret
12484	if err := gensupport.DecodeResponse(target, res); err != nil {
12485		return nil, err
12486	}
12487	return ret, nil
12488	// {
12489	//   "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 error logs in Cloud Logging](https://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\" ```",
12490	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData",
12491	//   "httpMethod": "POST",
12492	//   "id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData",
12493	//   "parameterOrder": [
12494	//     "consentStore"
12495	//   ],
12496	//   "parameters": {
12497	//     "consentStore": {
12498	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
12499	//       "location": "path",
12500	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12501	//       "required": true,
12502	//       "type": "string"
12503	//     }
12504	//   },
12505	//   "path": "v1beta1/{+consentStore}:queryAccessibleData",
12506	//   "request": {
12507	//     "$ref": "QueryAccessibleDataRequest"
12508	//   },
12509	//   "response": {
12510	//     "$ref": "Operation"
12511	//   },
12512	//   "scopes": [
12513	//     "https://www.googleapis.com/auth/cloud-platform"
12514	//   ]
12515	// }
12516
12517}
12518
12519// method id "healthcare.projects.locations.datasets.consentStores.setIamPolicy":
12520
12521type ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall struct {
12522	s                   *Service
12523	resource            string
12524	setiampolicyrequest *SetIamPolicyRequest
12525	urlParams_          gensupport.URLParams
12526	ctx_                context.Context
12527	header_             http.Header
12528}
12529
12530// SetIamPolicy: Sets the access control policy on the specified
12531// resource. Replaces any existing policy. Can return `NOT_FOUND`,
12532// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
12533//
12534// - resource: REQUIRED: The resource for which the policy is being
12535//   specified. See the operation documentation for the appropriate
12536//   value for this field.
12537func (r *ProjectsLocationsDatasetsConsentStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12538	c := &ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12539	c.resource = resource
12540	c.setiampolicyrequest = setiampolicyrequest
12541	return c
12542}
12543
12544// Fields allows partial responses to be retrieved. See
12545// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12546// for more information.
12547func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12548	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12549	return c
12550}
12551
12552// Context sets the context to be used in this call's Do method. Any
12553// pending HTTP request will be aborted if the provided context is
12554// canceled.
12555func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12556	c.ctx_ = ctx
12557	return c
12558}
12559
12560// Header returns an http.Header that can be modified by the caller to
12561// add HTTP headers to the request.
12562func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Header() http.Header {
12563	if c.header_ == nil {
12564		c.header_ = make(http.Header)
12565	}
12566	return c.header_
12567}
12568
12569func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
12570	reqHeaders := make(http.Header)
12571	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12572	for k, v := range c.header_ {
12573		reqHeaders[k] = v
12574	}
12575	reqHeaders.Set("User-Agent", c.s.userAgent())
12576	var body io.Reader = nil
12577	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
12578	if err != nil {
12579		return nil, err
12580	}
12581	reqHeaders.Set("Content-Type", "application/json")
12582	c.urlParams_.Set("alt", alt)
12583	c.urlParams_.Set("prettyPrint", "false")
12584	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
12585	urls += "?" + c.urlParams_.Encode()
12586	req, err := http.NewRequest("POST", urls, body)
12587	if err != nil {
12588		return nil, err
12589	}
12590	req.Header = reqHeaders
12591	googleapi.Expand(req.URL, map[string]string{
12592		"resource": c.resource,
12593	})
12594	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12595}
12596
12597// Do executes the "healthcare.projects.locations.datasets.consentStores.setIamPolicy" call.
12598// Exactly one of *Policy or error will be non-nil. Any non-2xx status
12599// code is an error. Response headers are in either
12600// *Policy.ServerResponse.Header or (if a response was returned at all)
12601// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12602// check whether the returned error was because http.StatusNotModified
12603// was returned.
12604func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
12605	gensupport.SetOptions(c.urlParams_, opts...)
12606	res, err := c.doRequest("json")
12607	if res != nil && res.StatusCode == http.StatusNotModified {
12608		if res.Body != nil {
12609			res.Body.Close()
12610		}
12611		return nil, &googleapi.Error{
12612			Code:   res.StatusCode,
12613			Header: res.Header,
12614		}
12615	}
12616	if err != nil {
12617		return nil, err
12618	}
12619	defer googleapi.CloseBody(res)
12620	if err := googleapi.CheckResponse(res); err != nil {
12621		return nil, err
12622	}
12623	ret := &Policy{
12624		ServerResponse: googleapi.ServerResponse{
12625			Header:         res.Header,
12626			HTTPStatusCode: res.StatusCode,
12627		},
12628	}
12629	target := &ret
12630	if err := gensupport.DecodeResponse(target, res); err != nil {
12631		return nil, err
12632	}
12633	return ret, nil
12634	// {
12635	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
12636	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy",
12637	//   "httpMethod": "POST",
12638	//   "id": "healthcare.projects.locations.datasets.consentStores.setIamPolicy",
12639	//   "parameterOrder": [
12640	//     "resource"
12641	//   ],
12642	//   "parameters": {
12643	//     "resource": {
12644	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
12645	//       "location": "path",
12646	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12647	//       "required": true,
12648	//       "type": "string"
12649	//     }
12650	//   },
12651	//   "path": "v1beta1/{+resource}:setIamPolicy",
12652	//   "request": {
12653	//     "$ref": "SetIamPolicyRequest"
12654	//   },
12655	//   "response": {
12656	//     "$ref": "Policy"
12657	//   },
12658	//   "scopes": [
12659	//     "https://www.googleapis.com/auth/cloud-platform"
12660	//   ]
12661	// }
12662
12663}
12664
12665// method id "healthcare.projects.locations.datasets.consentStores.testIamPermissions":
12666
12667type ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall struct {
12668	s                         *Service
12669	resource                  string
12670	testiampermissionsrequest *TestIamPermissionsRequest
12671	urlParams_                gensupport.URLParams
12672	ctx_                      context.Context
12673	header_                   http.Header
12674}
12675
12676// TestIamPermissions: Returns permissions that a caller has on the
12677// specified resource. If the resource does not exist, this will return
12678// an empty set of permissions, not a `NOT_FOUND` error. Note: This
12679// operation is designed to be used for building permission-aware UIs
12680// and command-line tools, not for authorization checking. This
12681// operation may "fail open" without warning.
12682//
12683// - resource: REQUIRED: The resource for which the policy detail is
12684//   being requested. See the operation documentation for the
12685//   appropriate value for this field.
12686func (r *ProjectsLocationsDatasetsConsentStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12687	c := &ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12688	c.resource = resource
12689	c.testiampermissionsrequest = testiampermissionsrequest
12690	return c
12691}
12692
12693// Fields allows partial responses to be retrieved. See
12694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12695// for more information.
12696func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12698	return c
12699}
12700
12701// Context sets the context to be used in this call's Do method. Any
12702// pending HTTP request will be aborted if the provided context is
12703// canceled.
12704func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12705	c.ctx_ = ctx
12706	return c
12707}
12708
12709// Header returns an http.Header that can be modified by the caller to
12710// add HTTP headers to the request.
12711func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Header() http.Header {
12712	if c.header_ == nil {
12713		c.header_ = make(http.Header)
12714	}
12715	return c.header_
12716}
12717
12718func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
12719	reqHeaders := make(http.Header)
12720	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12721	for k, v := range c.header_ {
12722		reqHeaders[k] = v
12723	}
12724	reqHeaders.Set("User-Agent", c.s.userAgent())
12725	var body io.Reader = nil
12726	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
12727	if err != nil {
12728		return nil, err
12729	}
12730	reqHeaders.Set("Content-Type", "application/json")
12731	c.urlParams_.Set("alt", alt)
12732	c.urlParams_.Set("prettyPrint", "false")
12733	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
12734	urls += "?" + c.urlParams_.Encode()
12735	req, err := http.NewRequest("POST", urls, body)
12736	if err != nil {
12737		return nil, err
12738	}
12739	req.Header = reqHeaders
12740	googleapi.Expand(req.URL, map[string]string{
12741		"resource": c.resource,
12742	})
12743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12744}
12745
12746// Do executes the "healthcare.projects.locations.datasets.consentStores.testIamPermissions" call.
12747// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
12748// Any non-2xx status code is an error. Response headers are in either
12749// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
12750// was returned at all) in error.(*googleapi.Error).Header. Use
12751// googleapi.IsNotModified to check whether the returned error was
12752// because http.StatusNotModified was returned.
12753func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
12754	gensupport.SetOptions(c.urlParams_, opts...)
12755	res, err := c.doRequest("json")
12756	if res != nil && res.StatusCode == http.StatusNotModified {
12757		if res.Body != nil {
12758			res.Body.Close()
12759		}
12760		return nil, &googleapi.Error{
12761			Code:   res.StatusCode,
12762			Header: res.Header,
12763		}
12764	}
12765	if err != nil {
12766		return nil, err
12767	}
12768	defer googleapi.CloseBody(res)
12769	if err := googleapi.CheckResponse(res); err != nil {
12770		return nil, err
12771	}
12772	ret := &TestIamPermissionsResponse{
12773		ServerResponse: googleapi.ServerResponse{
12774			Header:         res.Header,
12775			HTTPStatusCode: res.StatusCode,
12776		},
12777	}
12778	target := &ret
12779	if err := gensupport.DecodeResponse(target, res); err != nil {
12780		return nil, err
12781	}
12782	return ret, nil
12783	// {
12784	//   "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.",
12785	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions",
12786	//   "httpMethod": "POST",
12787	//   "id": "healthcare.projects.locations.datasets.consentStores.testIamPermissions",
12788	//   "parameterOrder": [
12789	//     "resource"
12790	//   ],
12791	//   "parameters": {
12792	//     "resource": {
12793	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
12794	//       "location": "path",
12795	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12796	//       "required": true,
12797	//       "type": "string"
12798	//     }
12799	//   },
12800	//   "path": "v1beta1/{+resource}:testIamPermissions",
12801	//   "request": {
12802	//     "$ref": "TestIamPermissionsRequest"
12803	//   },
12804	//   "response": {
12805	//     "$ref": "TestIamPermissionsResponse"
12806	//   },
12807	//   "scopes": [
12808	//     "https://www.googleapis.com/auth/cloud-platform"
12809	//   ]
12810	// }
12811
12812}
12813
12814// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create":
12815
12816type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall struct {
12817	s                   *Service
12818	parent              string
12819	attributedefinition *AttributeDefinition
12820	urlParams_          gensupport.URLParams
12821	ctx_                context.Context
12822	header_             http.Header
12823}
12824
12825// Create: Creates a new Attribute definition in the parent consent
12826// store.
12827//
12828// - parent: The name of the consent store that this Attribute
12829//   definition belongs to.
12830func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Create(parent string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12831	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12832	c.parent = parent
12833	c.attributedefinition = attributedefinition
12834	return c
12835}
12836
12837// AttributeDefinitionId sets the optional parameter
12838// "attributeDefinitionId": Required. The ID of the Attribute definition
12839// to create. The string must match the following regex:
12840// `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common
12841// Expression Language as listed on
12842// https://github.com/google/cel-spec/blob/master/doc/langdef.md.
12843func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) AttributeDefinitionId(attributeDefinitionId string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12844	c.urlParams_.Set("attributeDefinitionId", attributeDefinitionId)
12845	return c
12846}
12847
12848// Fields allows partial responses to be retrieved. See
12849// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12850// for more information.
12851func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12852	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12853	return c
12854}
12855
12856// Context sets the context to be used in this call's Do method. Any
12857// pending HTTP request will be aborted if the provided context is
12858// canceled.
12859func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12860	c.ctx_ = ctx
12861	return c
12862}
12863
12864// Header returns an http.Header that can be modified by the caller to
12865// add HTTP headers to the request.
12866func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Header() http.Header {
12867	if c.header_ == nil {
12868		c.header_ = make(http.Header)
12869	}
12870	return c.header_
12871}
12872
12873func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) doRequest(alt string) (*http.Response, error) {
12874	reqHeaders := make(http.Header)
12875	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
12876	for k, v := range c.header_ {
12877		reqHeaders[k] = v
12878	}
12879	reqHeaders.Set("User-Agent", c.s.userAgent())
12880	var body io.Reader = nil
12881	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
12882	if err != nil {
12883		return nil, err
12884	}
12885	reqHeaders.Set("Content-Type", "application/json")
12886	c.urlParams_.Set("alt", alt)
12887	c.urlParams_.Set("prettyPrint", "false")
12888	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
12889	urls += "?" + c.urlParams_.Encode()
12890	req, err := http.NewRequest("POST", urls, body)
12891	if err != nil {
12892		return nil, err
12893	}
12894	req.Header = reqHeaders
12895	googleapi.Expand(req.URL, map[string]string{
12896		"parent": c.parent,
12897	})
12898	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12899}
12900
12901// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create" call.
12902// Exactly one of *AttributeDefinition or error will be non-nil. Any
12903// non-2xx status code is an error. Response headers are in either
12904// *AttributeDefinition.ServerResponse.Header or (if a response was
12905// returned at all) in error.(*googleapi.Error).Header. Use
12906// googleapi.IsNotModified to check whether the returned error was
12907// because http.StatusNotModified was returned.
12908func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
12909	gensupport.SetOptions(c.urlParams_, opts...)
12910	res, err := c.doRequest("json")
12911	if res != nil && res.StatusCode == http.StatusNotModified {
12912		if res.Body != nil {
12913			res.Body.Close()
12914		}
12915		return nil, &googleapi.Error{
12916			Code:   res.StatusCode,
12917			Header: res.Header,
12918		}
12919	}
12920	if err != nil {
12921		return nil, err
12922	}
12923	defer googleapi.CloseBody(res)
12924	if err := googleapi.CheckResponse(res); err != nil {
12925		return nil, err
12926	}
12927	ret := &AttributeDefinition{
12928		ServerResponse: googleapi.ServerResponse{
12929			Header:         res.Header,
12930			HTTPStatusCode: res.StatusCode,
12931		},
12932	}
12933	target := &ret
12934	if err := gensupport.DecodeResponse(target, res); err != nil {
12935		return nil, err
12936	}
12937	return ret, nil
12938	// {
12939	//   "description": "Creates a new Attribute definition in the parent consent store.",
12940	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
12941	//   "httpMethod": "POST",
12942	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create",
12943	//   "parameterOrder": [
12944	//     "parent"
12945	//   ],
12946	//   "parameters": {
12947	//     "attributeDefinitionId": {
12948	//       "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.",
12949	//       "location": "query",
12950	//       "type": "string"
12951	//     },
12952	//     "parent": {
12953	//       "description": "Required. The name of the consent store that this Attribute definition belongs to.",
12954	//       "location": "path",
12955	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12956	//       "required": true,
12957	//       "type": "string"
12958	//     }
12959	//   },
12960	//   "path": "v1beta1/{+parent}/attributeDefinitions",
12961	//   "request": {
12962	//     "$ref": "AttributeDefinition"
12963	//   },
12964	//   "response": {
12965	//     "$ref": "AttributeDefinition"
12966	//   },
12967	//   "scopes": [
12968	//     "https://www.googleapis.com/auth/cloud-platform"
12969	//   ]
12970	// }
12971
12972}
12973
12974// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete":
12975
12976type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall struct {
12977	s          *Service
12978	name       string
12979	urlParams_ gensupport.URLParams
12980	ctx_       context.Context
12981	header_    http.Header
12982}
12983
12984// Delete: Deletes the specified Attribute definition. Fails if the
12985// Attribute definition is referenced by any User data mapping, or the
12986// latest revision of any Consent.
12987//
12988// - name: The resource name of the Attribute definition to delete. To
12989//   preserve referential integrity, Attribute definitions referenced by
12990//   a User data mapping or the latest revision of a Consent cannot be
12991//   deleted.
12992func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
12993	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12994	c.name = name
12995	return c
12996}
12997
12998// Fields allows partial responses to be retrieved. See
12999// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13000// for more information.
13001func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13002	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13003	return c
13004}
13005
13006// Context sets the context to be used in this call's Do method. Any
13007// pending HTTP request will be aborted if the provided context is
13008// canceled.
13009func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13010	c.ctx_ = ctx
13011	return c
13012}
13013
13014// Header returns an http.Header that can be modified by the caller to
13015// add HTTP headers to the request.
13016func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Header() http.Header {
13017	if c.header_ == nil {
13018		c.header_ = make(http.Header)
13019	}
13020	return c.header_
13021}
13022
13023func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) doRequest(alt string) (*http.Response, error) {
13024	reqHeaders := make(http.Header)
13025	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13026	for k, v := range c.header_ {
13027		reqHeaders[k] = v
13028	}
13029	reqHeaders.Set("User-Agent", c.s.userAgent())
13030	var body io.Reader = nil
13031	c.urlParams_.Set("alt", alt)
13032	c.urlParams_.Set("prettyPrint", "false")
13033	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13034	urls += "?" + c.urlParams_.Encode()
13035	req, err := http.NewRequest("DELETE", urls, body)
13036	if err != nil {
13037		return nil, err
13038	}
13039	req.Header = reqHeaders
13040	googleapi.Expand(req.URL, map[string]string{
13041		"name": c.name,
13042	})
13043	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13044}
13045
13046// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete" call.
13047// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13048// code is an error. Response headers are in either
13049// *Empty.ServerResponse.Header or (if a response was returned at all)
13050// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13051// check whether the returned error was because http.StatusNotModified
13052// was returned.
13053func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13054	gensupport.SetOptions(c.urlParams_, opts...)
13055	res, err := c.doRequest("json")
13056	if res != nil && res.StatusCode == http.StatusNotModified {
13057		if res.Body != nil {
13058			res.Body.Close()
13059		}
13060		return nil, &googleapi.Error{
13061			Code:   res.StatusCode,
13062			Header: res.Header,
13063		}
13064	}
13065	if err != nil {
13066		return nil, err
13067	}
13068	defer googleapi.CloseBody(res)
13069	if err := googleapi.CheckResponse(res); err != nil {
13070		return nil, err
13071	}
13072	ret := &Empty{
13073		ServerResponse: googleapi.ServerResponse{
13074			Header:         res.Header,
13075			HTTPStatusCode: res.StatusCode,
13076		},
13077	}
13078	target := &ret
13079	if err := gensupport.DecodeResponse(target, res); err != nil {
13080		return nil, err
13081	}
13082	return ret, nil
13083	// {
13084	//   "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.",
13085	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13086	//   "httpMethod": "DELETE",
13087	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete",
13088	//   "parameterOrder": [
13089	//     "name"
13090	//   ],
13091	//   "parameters": {
13092	//     "name": {
13093	//       "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.",
13094	//       "location": "path",
13095	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13096	//       "required": true,
13097	//       "type": "string"
13098	//     }
13099	//   },
13100	//   "path": "v1beta1/{+name}",
13101	//   "response": {
13102	//     "$ref": "Empty"
13103	//   },
13104	//   "scopes": [
13105	//     "https://www.googleapis.com/auth/cloud-platform"
13106	//   ]
13107	// }
13108
13109}
13110
13111// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get":
13112
13113type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall struct {
13114	s            *Service
13115	name         string
13116	urlParams_   gensupport.URLParams
13117	ifNoneMatch_ string
13118	ctx_         context.Context
13119	header_      http.Header
13120}
13121
13122// Get: Gets the specified Attribute definition.
13123//
13124// - name: The resource name of the Attribute definition to get.
13125func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13126	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13127	c.name = name
13128	return c
13129}
13130
13131// Fields allows partial responses to be retrieved. See
13132// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13133// for more information.
13134func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13135	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13136	return c
13137}
13138
13139// IfNoneMatch sets the optional parameter which makes the operation
13140// fail if the object's ETag matches the given value. This is useful for
13141// getting updates only after the object has changed since the last
13142// request. Use googleapi.IsNotModified to check whether the response
13143// error from Do is the result of In-None-Match.
13144func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13145	c.ifNoneMatch_ = entityTag
13146	return c
13147}
13148
13149// Context sets the context to be used in this call's Do method. Any
13150// pending HTTP request will be aborted if the provided context is
13151// canceled.
13152func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13153	c.ctx_ = ctx
13154	return c
13155}
13156
13157// Header returns an http.Header that can be modified by the caller to
13158// add HTTP headers to the request.
13159func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Header() http.Header {
13160	if c.header_ == nil {
13161		c.header_ = make(http.Header)
13162	}
13163	return c.header_
13164}
13165
13166func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
13167	reqHeaders := make(http.Header)
13168	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13169	for k, v := range c.header_ {
13170		reqHeaders[k] = v
13171	}
13172	reqHeaders.Set("User-Agent", c.s.userAgent())
13173	if c.ifNoneMatch_ != "" {
13174		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13175	}
13176	var body io.Reader = nil
13177	c.urlParams_.Set("alt", alt)
13178	c.urlParams_.Set("prettyPrint", "false")
13179	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13180	urls += "?" + c.urlParams_.Encode()
13181	req, err := http.NewRequest("GET", urls, body)
13182	if err != nil {
13183		return nil, err
13184	}
13185	req.Header = reqHeaders
13186	googleapi.Expand(req.URL, map[string]string{
13187		"name": c.name,
13188	})
13189	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13190}
13191
13192// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get" call.
13193// Exactly one of *AttributeDefinition or error will be non-nil. Any
13194// non-2xx status code is an error. Response headers are in either
13195// *AttributeDefinition.ServerResponse.Header or (if a response was
13196// returned at all) in error.(*googleapi.Error).Header. Use
13197// googleapi.IsNotModified to check whether the returned error was
13198// because http.StatusNotModified was returned.
13199func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13200	gensupport.SetOptions(c.urlParams_, opts...)
13201	res, err := c.doRequest("json")
13202	if res != nil && res.StatusCode == http.StatusNotModified {
13203		if res.Body != nil {
13204			res.Body.Close()
13205		}
13206		return nil, &googleapi.Error{
13207			Code:   res.StatusCode,
13208			Header: res.Header,
13209		}
13210	}
13211	if err != nil {
13212		return nil, err
13213	}
13214	defer googleapi.CloseBody(res)
13215	if err := googleapi.CheckResponse(res); err != nil {
13216		return nil, err
13217	}
13218	ret := &AttributeDefinition{
13219		ServerResponse: googleapi.ServerResponse{
13220			Header:         res.Header,
13221			HTTPStatusCode: res.StatusCode,
13222		},
13223	}
13224	target := &ret
13225	if err := gensupport.DecodeResponse(target, res); err != nil {
13226		return nil, err
13227	}
13228	return ret, nil
13229	// {
13230	//   "description": "Gets the specified Attribute definition.",
13231	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13232	//   "httpMethod": "GET",
13233	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get",
13234	//   "parameterOrder": [
13235	//     "name"
13236	//   ],
13237	//   "parameters": {
13238	//     "name": {
13239	//       "description": "Required. The resource name of the Attribute definition to get.",
13240	//       "location": "path",
13241	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13242	//       "required": true,
13243	//       "type": "string"
13244	//     }
13245	//   },
13246	//   "path": "v1beta1/{+name}",
13247	//   "response": {
13248	//     "$ref": "AttributeDefinition"
13249	//   },
13250	//   "scopes": [
13251	//     "https://www.googleapis.com/auth/cloud-platform"
13252	//   ]
13253	// }
13254
13255}
13256
13257// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list":
13258
13259type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall struct {
13260	s            *Service
13261	parent       string
13262	urlParams_   gensupport.URLParams
13263	ifNoneMatch_ string
13264	ctx_         context.Context
13265	header_      http.Header
13266}
13267
13268// List: Lists the Attribute definitions in the specified consent store.
13269//
13270// - parent: Name of the consent store to retrieve Attribute definitions
13271//   from.
13272func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13273	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13274	c.parent = parent
13275	return c
13276}
13277
13278// Filter sets the optional parameter "filter": Restricts the attributes
13279// returned to those matching a filter. The following syntax is
13280// available: * A string field value can be written as text inside
13281// quotation marks, for example "query text". The only valid
13282// relational operation for text fields is equality (`=`), where text is
13283// searched within the field, rather than having the field be equal to
13284// the text. For example, "Comment = great" returns messages with
13285// `great` in the comment field. * A number field value can be written
13286// as an integer, a decimal, or an exponential. The valid relational
13287// operators for number fields are the equality operator (`=`), along
13288// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
13289// Note that there is no inequality (`!=`) operator. You can prepend the
13290// `NOT` operator to an expression to negate it. * A date field value
13291// must be written in `yyyy-mm-dd` form. Fields with date and time use
13292// the RFC3339 time format. Leading zeros are required for one-digit
13293// months and days. The valid relational operators for date fields are
13294// the equality operator (`=`) , along with the less than/greater than
13295// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
13296// (`!=`) operator. You can prepend the `NOT` operator to an expression
13297// to negate it. * Multiple field query expressions can be combined in
13298// one query by adding `AND` or `OR` operators between the expressions.
13299// If a boolean operator appears within a quoted string, it is not
13300// treated as special, it's just another part of the character string to
13301// be matched. You can prepend the `NOT` operator to an expression to
13302// negate it. The only field available for filtering is `category`. For
13303// example, `filter=category=\"REQUEST\".
13304func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13305	c.urlParams_.Set("filter", filter)
13306	return c
13307}
13308
13309// PageSize sets the optional parameter "pageSize": Limit on the number
13310// of Attribute definitions to return in a single response. If not
13311// specified, 100 is used. May not be larger than 1000.
13312func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13313	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13314	return c
13315}
13316
13317// PageToken sets the optional parameter "pageToken": Token to retrieve
13318// the next page of results or empty to get the first page.
13319func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13320	c.urlParams_.Set("pageToken", pageToken)
13321	return c
13322}
13323
13324// Fields allows partial responses to be retrieved. See
13325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13326// for more information.
13327func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13329	return c
13330}
13331
13332// IfNoneMatch sets the optional parameter which makes the operation
13333// fail if the object's ETag matches the given value. This is useful for
13334// getting updates only after the object has changed since the last
13335// request. Use googleapi.IsNotModified to check whether the response
13336// error from Do is the result of In-None-Match.
13337func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13338	c.ifNoneMatch_ = entityTag
13339	return c
13340}
13341
13342// Context sets the context to be used in this call's Do method. Any
13343// pending HTTP request will be aborted if the provided context is
13344// canceled.
13345func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13346	c.ctx_ = ctx
13347	return c
13348}
13349
13350// Header returns an http.Header that can be modified by the caller to
13351// add HTTP headers to the request.
13352func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Header() http.Header {
13353	if c.header_ == nil {
13354		c.header_ = make(http.Header)
13355	}
13356	return c.header_
13357}
13358
13359func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
13360	reqHeaders := make(http.Header)
13361	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13362	for k, v := range c.header_ {
13363		reqHeaders[k] = v
13364	}
13365	reqHeaders.Set("User-Agent", c.s.userAgent())
13366	if c.ifNoneMatch_ != "" {
13367		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13368	}
13369	var body io.Reader = nil
13370	c.urlParams_.Set("alt", alt)
13371	c.urlParams_.Set("prettyPrint", "false")
13372	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
13373	urls += "?" + c.urlParams_.Encode()
13374	req, err := http.NewRequest("GET", urls, body)
13375	if err != nil {
13376		return nil, err
13377	}
13378	req.Header = reqHeaders
13379	googleapi.Expand(req.URL, map[string]string{
13380		"parent": c.parent,
13381	})
13382	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13383}
13384
13385// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list" call.
13386// Exactly one of *ListAttributeDefinitionsResponse or error will be
13387// non-nil. Any non-2xx status code is an error. Response headers are in
13388// either *ListAttributeDefinitionsResponse.ServerResponse.Header or (if
13389// a response was returned at all) in error.(*googleapi.Error).Header.
13390// Use googleapi.IsNotModified to check whether the returned error was
13391// because http.StatusNotModified was returned.
13392func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Do(opts ...googleapi.CallOption) (*ListAttributeDefinitionsResponse, error) {
13393	gensupport.SetOptions(c.urlParams_, opts...)
13394	res, err := c.doRequest("json")
13395	if res != nil && res.StatusCode == http.StatusNotModified {
13396		if res.Body != nil {
13397			res.Body.Close()
13398		}
13399		return nil, &googleapi.Error{
13400			Code:   res.StatusCode,
13401			Header: res.Header,
13402		}
13403	}
13404	if err != nil {
13405		return nil, err
13406	}
13407	defer googleapi.CloseBody(res)
13408	if err := googleapi.CheckResponse(res); err != nil {
13409		return nil, err
13410	}
13411	ret := &ListAttributeDefinitionsResponse{
13412		ServerResponse: googleapi.ServerResponse{
13413			Header:         res.Header,
13414			HTTPStatusCode: res.StatusCode,
13415		},
13416	}
13417	target := &ret
13418	if err := gensupport.DecodeResponse(target, res); err != nil {
13419		return nil, err
13420	}
13421	return ret, nil
13422	// {
13423	//   "description": "Lists the Attribute definitions in the specified consent store.",
13424	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
13425	//   "httpMethod": "GET",
13426	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list",
13427	//   "parameterOrder": [
13428	//     "parent"
13429	//   ],
13430	//   "parameters": {
13431	//     "filter": {
13432	//       "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\\\"`.",
13433	//       "location": "query",
13434	//       "type": "string"
13435	//     },
13436	//     "pageSize": {
13437	//       "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.",
13438	//       "format": "int32",
13439	//       "location": "query",
13440	//       "type": "integer"
13441	//     },
13442	//     "pageToken": {
13443	//       "description": "Optional. Token to retrieve the next page of results or empty to get the first page.",
13444	//       "location": "query",
13445	//       "type": "string"
13446	//     },
13447	//     "parent": {
13448	//       "description": "Required. Name of the consent store to retrieve Attribute definitions from.",
13449	//       "location": "path",
13450	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13451	//       "required": true,
13452	//       "type": "string"
13453	//     }
13454	//   },
13455	//   "path": "v1beta1/{+parent}/attributeDefinitions",
13456	//   "response": {
13457	//     "$ref": "ListAttributeDefinitionsResponse"
13458	//   },
13459	//   "scopes": [
13460	//     "https://www.googleapis.com/auth/cloud-platform"
13461	//   ]
13462	// }
13463
13464}
13465
13466// Pages invokes f for each page of results.
13467// A non-nil error returned from f will halt the iteration.
13468// The provided context supersedes any context provided to the Context method.
13469func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Pages(ctx context.Context, f func(*ListAttributeDefinitionsResponse) error) error {
13470	c.ctx_ = ctx
13471	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13472	for {
13473		x, err := c.Do()
13474		if err != nil {
13475			return err
13476		}
13477		if err := f(x); err != nil {
13478			return err
13479		}
13480		if x.NextPageToken == "" {
13481			return nil
13482		}
13483		c.PageToken(x.NextPageToken)
13484	}
13485}
13486
13487// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch":
13488
13489type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall struct {
13490	s                   *Service
13491	name                string
13492	attributedefinition *AttributeDefinition
13493	urlParams_          gensupport.URLParams
13494	ctx_                context.Context
13495	header_             http.Header
13496}
13497
13498// Patch: Updates the specified Attribute definition.
13499//
13500// - name: Resource name of the Attribute definition, of the form
13501//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
13502//   /consentStores/{consent_store_id}/attributeDefinitions/{attribute_de
13503//   finition_id}`. Cannot be changed after creation.
13504func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Patch(name string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13505	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13506	c.name = name
13507	c.attributedefinition = attributedefinition
13508	return c
13509}
13510
13511// UpdateMask sets the optional parameter "updateMask": Required. The
13512// update mask that applies to the resource. For the `FieldMask`
13513// definition, see
13514// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
13515// Only the `description`, `allowed_values`, `consent_default_values`
13516// and `data_mapping_default_value` fields can be updated. The updated
13517// `allowed_values` must contain all values from the previous
13518// `allowed_values`.
13519func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13520	c.urlParams_.Set("updateMask", updateMask)
13521	return c
13522}
13523
13524// Fields allows partial responses to be retrieved. See
13525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13526// for more information.
13527func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13529	return c
13530}
13531
13532// Context sets the context to be used in this call's Do method. Any
13533// pending HTTP request will be aborted if the provided context is
13534// canceled.
13535func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13536	c.ctx_ = ctx
13537	return c
13538}
13539
13540// Header returns an http.Header that can be modified by the caller to
13541// add HTTP headers to the request.
13542func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Header() http.Header {
13543	if c.header_ == nil {
13544		c.header_ = make(http.Header)
13545	}
13546	return c.header_
13547}
13548
13549func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) doRequest(alt string) (*http.Response, error) {
13550	reqHeaders := make(http.Header)
13551	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13552	for k, v := range c.header_ {
13553		reqHeaders[k] = v
13554	}
13555	reqHeaders.Set("User-Agent", c.s.userAgent())
13556	var body io.Reader = nil
13557	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
13558	if err != nil {
13559		return nil, err
13560	}
13561	reqHeaders.Set("Content-Type", "application/json")
13562	c.urlParams_.Set("alt", alt)
13563	c.urlParams_.Set("prettyPrint", "false")
13564	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13565	urls += "?" + c.urlParams_.Encode()
13566	req, err := http.NewRequest("PATCH", urls, body)
13567	if err != nil {
13568		return nil, err
13569	}
13570	req.Header = reqHeaders
13571	googleapi.Expand(req.URL, map[string]string{
13572		"name": c.name,
13573	})
13574	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13575}
13576
13577// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch" call.
13578// Exactly one of *AttributeDefinition or error will be non-nil. Any
13579// non-2xx status code is an error. Response headers are in either
13580// *AttributeDefinition.ServerResponse.Header or (if a response was
13581// returned at all) in error.(*googleapi.Error).Header. Use
13582// googleapi.IsNotModified to check whether the returned error was
13583// because http.StatusNotModified was returned.
13584func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13585	gensupport.SetOptions(c.urlParams_, opts...)
13586	res, err := c.doRequest("json")
13587	if res != nil && res.StatusCode == http.StatusNotModified {
13588		if res.Body != nil {
13589			res.Body.Close()
13590		}
13591		return nil, &googleapi.Error{
13592			Code:   res.StatusCode,
13593			Header: res.Header,
13594		}
13595	}
13596	if err != nil {
13597		return nil, err
13598	}
13599	defer googleapi.CloseBody(res)
13600	if err := googleapi.CheckResponse(res); err != nil {
13601		return nil, err
13602	}
13603	ret := &AttributeDefinition{
13604		ServerResponse: googleapi.ServerResponse{
13605			Header:         res.Header,
13606			HTTPStatusCode: res.StatusCode,
13607		},
13608	}
13609	target := &ret
13610	if err := gensupport.DecodeResponse(target, res); err != nil {
13611		return nil, err
13612	}
13613	return ret, nil
13614	// {
13615	//   "description": "Updates the specified Attribute definition.",
13616	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13617	//   "httpMethod": "PATCH",
13618	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch",
13619	//   "parameterOrder": [
13620	//     "name"
13621	//   ],
13622	//   "parameters": {
13623	//     "name": {
13624	//       "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.",
13625	//       "location": "path",
13626	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13627	//       "required": true,
13628	//       "type": "string"
13629	//     },
13630	//     "updateMask": {
13631	//       "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`.",
13632	//       "format": "google-fieldmask",
13633	//       "location": "query",
13634	//       "type": "string"
13635	//     }
13636	//   },
13637	//   "path": "v1beta1/{+name}",
13638	//   "request": {
13639	//     "$ref": "AttributeDefinition"
13640	//   },
13641	//   "response": {
13642	//     "$ref": "AttributeDefinition"
13643	//   },
13644	//   "scopes": [
13645	//     "https://www.googleapis.com/auth/cloud-platform"
13646	//   ]
13647	// }
13648
13649}
13650
13651// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create":
13652
13653type ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall struct {
13654	s               *Service
13655	parent          string
13656	consentartifact *ConsentArtifact
13657	urlParams_      gensupport.URLParams
13658	ctx_            context.Context
13659	header_         http.Header
13660}
13661
13662// Create: Creates a new Consent artifact in the parent consent store.
13663//
13664// - parent: The name of the consent store this Consent artifact belongs
13665//   to.
13666func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Create(parent string, consentartifact *ConsentArtifact) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13667	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13668	c.parent = parent
13669	c.consentartifact = consentartifact
13670	return c
13671}
13672
13673// Fields allows partial responses to be retrieved. See
13674// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13675// for more information.
13676func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13677	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13678	return c
13679}
13680
13681// Context sets the context to be used in this call's Do method. Any
13682// pending HTTP request will be aborted if the provided context is
13683// canceled.
13684func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13685	c.ctx_ = ctx
13686	return c
13687}
13688
13689// Header returns an http.Header that can be modified by the caller to
13690// add HTTP headers to the request.
13691func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Header() http.Header {
13692	if c.header_ == nil {
13693		c.header_ = make(http.Header)
13694	}
13695	return c.header_
13696}
13697
13698func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) doRequest(alt string) (*http.Response, error) {
13699	reqHeaders := make(http.Header)
13700	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13701	for k, v := range c.header_ {
13702		reqHeaders[k] = v
13703	}
13704	reqHeaders.Set("User-Agent", c.s.userAgent())
13705	var body io.Reader = nil
13706	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentartifact)
13707	if err != nil {
13708		return nil, err
13709	}
13710	reqHeaders.Set("Content-Type", "application/json")
13711	c.urlParams_.Set("alt", alt)
13712	c.urlParams_.Set("prettyPrint", "false")
13713	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
13714	urls += "?" + c.urlParams_.Encode()
13715	req, err := http.NewRequest("POST", urls, body)
13716	if err != nil {
13717		return nil, err
13718	}
13719	req.Header = reqHeaders
13720	googleapi.Expand(req.URL, map[string]string{
13721		"parent": c.parent,
13722	})
13723	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13724}
13725
13726// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create" call.
13727// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
13728// status code is an error. Response headers are in either
13729// *ConsentArtifact.ServerResponse.Header or (if a response was returned
13730// at all) in error.(*googleapi.Error).Header. Use
13731// googleapi.IsNotModified to check whether the returned error was
13732// because http.StatusNotModified was returned.
13733func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
13734	gensupport.SetOptions(c.urlParams_, opts...)
13735	res, err := c.doRequest("json")
13736	if res != nil && res.StatusCode == http.StatusNotModified {
13737		if res.Body != nil {
13738			res.Body.Close()
13739		}
13740		return nil, &googleapi.Error{
13741			Code:   res.StatusCode,
13742			Header: res.Header,
13743		}
13744	}
13745	if err != nil {
13746		return nil, err
13747	}
13748	defer googleapi.CloseBody(res)
13749	if err := googleapi.CheckResponse(res); err != nil {
13750		return nil, err
13751	}
13752	ret := &ConsentArtifact{
13753		ServerResponse: googleapi.ServerResponse{
13754			Header:         res.Header,
13755			HTTPStatusCode: res.StatusCode,
13756		},
13757	}
13758	target := &ret
13759	if err := gensupport.DecodeResponse(target, res); err != nil {
13760		return nil, err
13761	}
13762	return ret, nil
13763	// {
13764	//   "description": "Creates a new Consent artifact in the parent consent store.",
13765	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
13766	//   "httpMethod": "POST",
13767	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create",
13768	//   "parameterOrder": [
13769	//     "parent"
13770	//   ],
13771	//   "parameters": {
13772	//     "parent": {
13773	//       "description": "Required. The name of the consent store this Consent artifact belongs to.",
13774	//       "location": "path",
13775	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13776	//       "required": true,
13777	//       "type": "string"
13778	//     }
13779	//   },
13780	//   "path": "v1beta1/{+parent}/consentArtifacts",
13781	//   "request": {
13782	//     "$ref": "ConsentArtifact"
13783	//   },
13784	//   "response": {
13785	//     "$ref": "ConsentArtifact"
13786	//   },
13787	//   "scopes": [
13788	//     "https://www.googleapis.com/auth/cloud-platform"
13789	//   ]
13790	// }
13791
13792}
13793
13794// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete":
13795
13796type ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall struct {
13797	s          *Service
13798	name       string
13799	urlParams_ gensupport.URLParams
13800	ctx_       context.Context
13801	header_    http.Header
13802}
13803
13804// Delete: Deletes the specified Consent artifact. Fails if the artifact
13805// is referenced by the latest revision of any Consent.
13806//
13807// - name: The resource name of the Consent artifact to delete. To
13808//   preserve referential integrity, Consent artifacts referenced by the
13809//   latest revision of a Consent cannot be deleted.
13810func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13811	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13812	c.name = name
13813	return c
13814}
13815
13816// Fields allows partial responses to be retrieved. See
13817// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13818// for more information.
13819func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13820	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13821	return c
13822}
13823
13824// Context sets the context to be used in this call's Do method. Any
13825// pending HTTP request will be aborted if the provided context is
13826// canceled.
13827func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13828	c.ctx_ = ctx
13829	return c
13830}
13831
13832// Header returns an http.Header that can be modified by the caller to
13833// add HTTP headers to the request.
13834func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Header() http.Header {
13835	if c.header_ == nil {
13836		c.header_ = make(http.Header)
13837	}
13838	return c.header_
13839}
13840
13841func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) doRequest(alt string) (*http.Response, error) {
13842	reqHeaders := make(http.Header)
13843	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13844	for k, v := range c.header_ {
13845		reqHeaders[k] = v
13846	}
13847	reqHeaders.Set("User-Agent", c.s.userAgent())
13848	var body io.Reader = nil
13849	c.urlParams_.Set("alt", alt)
13850	c.urlParams_.Set("prettyPrint", "false")
13851	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13852	urls += "?" + c.urlParams_.Encode()
13853	req, err := http.NewRequest("DELETE", urls, body)
13854	if err != nil {
13855		return nil, err
13856	}
13857	req.Header = reqHeaders
13858	googleapi.Expand(req.URL, map[string]string{
13859		"name": c.name,
13860	})
13861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13862}
13863
13864// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete" call.
13865// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13866// code is an error. Response headers are in either
13867// *Empty.ServerResponse.Header or (if a response was returned at all)
13868// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13869// check whether the returned error was because http.StatusNotModified
13870// was returned.
13871func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13872	gensupport.SetOptions(c.urlParams_, opts...)
13873	res, err := c.doRequest("json")
13874	if res != nil && res.StatusCode == http.StatusNotModified {
13875		if res.Body != nil {
13876			res.Body.Close()
13877		}
13878		return nil, &googleapi.Error{
13879			Code:   res.StatusCode,
13880			Header: res.Header,
13881		}
13882	}
13883	if err != nil {
13884		return nil, err
13885	}
13886	defer googleapi.CloseBody(res)
13887	if err := googleapi.CheckResponse(res); err != nil {
13888		return nil, err
13889	}
13890	ret := &Empty{
13891		ServerResponse: googleapi.ServerResponse{
13892			Header:         res.Header,
13893			HTTPStatusCode: res.StatusCode,
13894		},
13895	}
13896	target := &ret
13897	if err := gensupport.DecodeResponse(target, res); err != nil {
13898		return nil, err
13899	}
13900	return ret, nil
13901	// {
13902	//   "description": "Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.",
13903	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
13904	//   "httpMethod": "DELETE",
13905	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete",
13906	//   "parameterOrder": [
13907	//     "name"
13908	//   ],
13909	//   "parameters": {
13910	//     "name": {
13911	//       "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.",
13912	//       "location": "path",
13913	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
13914	//       "required": true,
13915	//       "type": "string"
13916	//     }
13917	//   },
13918	//   "path": "v1beta1/{+name}",
13919	//   "response": {
13920	//     "$ref": "Empty"
13921	//   },
13922	//   "scopes": [
13923	//     "https://www.googleapis.com/auth/cloud-platform"
13924	//   ]
13925	// }
13926
13927}
13928
13929// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get":
13930
13931type ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall struct {
13932	s            *Service
13933	name         string
13934	urlParams_   gensupport.URLParams
13935	ifNoneMatch_ string
13936	ctx_         context.Context
13937	header_      http.Header
13938}
13939
13940// Get: Gets the specified Consent artifact.
13941//
13942// - name: The resource name of the Consent artifact to retrieve.
13943func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13944	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13945	c.name = name
13946	return c
13947}
13948
13949// Fields allows partial responses to be retrieved. See
13950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13951// for more information.
13952func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13954	return c
13955}
13956
13957// IfNoneMatch sets the optional parameter which makes the operation
13958// fail if the object's ETag matches the given value. This is useful for
13959// getting updates only after the object has changed since the last
13960// request. Use googleapi.IsNotModified to check whether the response
13961// error from Do is the result of In-None-Match.
13962func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13963	c.ifNoneMatch_ = entityTag
13964	return c
13965}
13966
13967// Context sets the context to be used in this call's Do method. Any
13968// pending HTTP request will be aborted if the provided context is
13969// canceled.
13970func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13971	c.ctx_ = ctx
13972	return c
13973}
13974
13975// Header returns an http.Header that can be modified by the caller to
13976// add HTTP headers to the request.
13977func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Header() http.Header {
13978	if c.header_ == nil {
13979		c.header_ = make(http.Header)
13980	}
13981	return c.header_
13982}
13983
13984func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) doRequest(alt string) (*http.Response, error) {
13985	reqHeaders := make(http.Header)
13986	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
13987	for k, v := range c.header_ {
13988		reqHeaders[k] = v
13989	}
13990	reqHeaders.Set("User-Agent", c.s.userAgent())
13991	if c.ifNoneMatch_ != "" {
13992		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13993	}
13994	var body io.Reader = nil
13995	c.urlParams_.Set("alt", alt)
13996	c.urlParams_.Set("prettyPrint", "false")
13997	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13998	urls += "?" + c.urlParams_.Encode()
13999	req, err := http.NewRequest("GET", urls, body)
14000	if err != nil {
14001		return nil, err
14002	}
14003	req.Header = reqHeaders
14004	googleapi.Expand(req.URL, map[string]string{
14005		"name": c.name,
14006	})
14007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14008}
14009
14010// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get" call.
14011// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
14012// status code is an error. Response headers are in either
14013// *ConsentArtifact.ServerResponse.Header or (if a response was returned
14014// at all) in error.(*googleapi.Error).Header. Use
14015// googleapi.IsNotModified to check whether the returned error was
14016// because http.StatusNotModified was returned.
14017func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
14018	gensupport.SetOptions(c.urlParams_, opts...)
14019	res, err := c.doRequest("json")
14020	if res != nil && res.StatusCode == http.StatusNotModified {
14021		if res.Body != nil {
14022			res.Body.Close()
14023		}
14024		return nil, &googleapi.Error{
14025			Code:   res.StatusCode,
14026			Header: res.Header,
14027		}
14028	}
14029	if err != nil {
14030		return nil, err
14031	}
14032	defer googleapi.CloseBody(res)
14033	if err := googleapi.CheckResponse(res); err != nil {
14034		return nil, err
14035	}
14036	ret := &ConsentArtifact{
14037		ServerResponse: googleapi.ServerResponse{
14038			Header:         res.Header,
14039			HTTPStatusCode: res.StatusCode,
14040		},
14041	}
14042	target := &ret
14043	if err := gensupport.DecodeResponse(target, res); err != nil {
14044		return nil, err
14045	}
14046	return ret, nil
14047	// {
14048	//   "description": "Gets the specified Consent artifact.",
14049	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
14050	//   "httpMethod": "GET",
14051	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get",
14052	//   "parameterOrder": [
14053	//     "name"
14054	//   ],
14055	//   "parameters": {
14056	//     "name": {
14057	//       "description": "Required. The resource name of the Consent artifact to retrieve.",
14058	//       "location": "path",
14059	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
14060	//       "required": true,
14061	//       "type": "string"
14062	//     }
14063	//   },
14064	//   "path": "v1beta1/{+name}",
14065	//   "response": {
14066	//     "$ref": "ConsentArtifact"
14067	//   },
14068	//   "scopes": [
14069	//     "https://www.googleapis.com/auth/cloud-platform"
14070	//   ]
14071	// }
14072
14073}
14074
14075// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list":
14076
14077type ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall struct {
14078	s            *Service
14079	parent       string
14080	urlParams_   gensupport.URLParams
14081	ifNoneMatch_ string
14082	ctx_         context.Context
14083	header_      http.Header
14084}
14085
14086// List: Lists the Consent artifacts in the specified consent store.
14087//
14088// - parent: Name of the consent store to retrieve consent artifacts
14089//   from.
14090func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14091	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14092	c.parent = parent
14093	return c
14094}
14095
14096// Filter sets the optional parameter "filter": Restricts the artifacts
14097// returned to those matching a filter. The following syntax is
14098// available: * A string field value can be written as text inside
14099// quotation marks, for example "query text". The only valid
14100// relational operation for text fields is equality (`=`), where text is
14101// searched within the field, rather than having the field be equal to
14102// the text. For example, "Comment = great" returns messages with
14103// `great` in the comment field. * A number field value can be written
14104// as an integer, a decimal, or an exponential. The valid relational
14105// operators for number fields are the equality operator (`=`), along
14106// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
14107// Note that there is no inequality (`!=`) operator. You can prepend the
14108// `NOT` operator to an expression to negate it. * A date field value
14109// must be written in `yyyy-mm-dd` form. Fields with date and time use
14110// the RFC3339 time format. Leading zeros are required for one-digit
14111// months and days. The valid relational operators for date fields are
14112// the equality operator (`=`) , along with the less than/greater than
14113// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
14114// (`!=`) operator. You can prepend the `NOT` operator to an expression
14115// to negate it. * Multiple field query expressions can be combined in
14116// one query by adding `AND` or `OR` operators between the expressions.
14117// If a boolean operator appears within a quoted string, it is not
14118// treated as special, it's just another part of the character string to
14119// be matched. You can prepend the `NOT` operator to an expression to
14120// negate it. The fields available for filtering are: - user_id. For
14121// example, `filter=user_id=\"user123\". - consent_content_version -
14122// metadata. For example, `filter=Metadata(\"testkey\")=\"value\" or
14123// `filter=HasMetadata(\"testkey\")`.
14124func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14125	c.urlParams_.Set("filter", filter)
14126	return c
14127}
14128
14129// PageSize sets the optional parameter "pageSize": Limit on the number
14130// of consent artifacts to return in a single response. If not
14131// specified, 100 is used. May not be larger than 1000.
14132func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14133	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14134	return c
14135}
14136
14137// PageToken sets the optional parameter "pageToken": The
14138// next_page_token value returned from the previous List request, if
14139// any.
14140func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14141	c.urlParams_.Set("pageToken", pageToken)
14142	return c
14143}
14144
14145// Fields allows partial responses to be retrieved. See
14146// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14147// for more information.
14148func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14149	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14150	return c
14151}
14152
14153// IfNoneMatch sets the optional parameter which makes the operation
14154// fail if the object's ETag matches the given value. This is useful for
14155// getting updates only after the object has changed since the last
14156// request. Use googleapi.IsNotModified to check whether the response
14157// error from Do is the result of In-None-Match.
14158func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14159	c.ifNoneMatch_ = entityTag
14160	return c
14161}
14162
14163// Context sets the context to be used in this call's Do method. Any
14164// pending HTTP request will be aborted if the provided context is
14165// canceled.
14166func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14167	c.ctx_ = ctx
14168	return c
14169}
14170
14171// Header returns an http.Header that can be modified by the caller to
14172// add HTTP headers to the request.
14173func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Header() http.Header {
14174	if c.header_ == nil {
14175		c.header_ = make(http.Header)
14176	}
14177	return c.header_
14178}
14179
14180func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) doRequest(alt string) (*http.Response, error) {
14181	reqHeaders := make(http.Header)
14182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14183	for k, v := range c.header_ {
14184		reqHeaders[k] = v
14185	}
14186	reqHeaders.Set("User-Agent", c.s.userAgent())
14187	if c.ifNoneMatch_ != "" {
14188		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14189	}
14190	var body io.Reader = nil
14191	c.urlParams_.Set("alt", alt)
14192	c.urlParams_.Set("prettyPrint", "false")
14193	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
14194	urls += "?" + c.urlParams_.Encode()
14195	req, err := http.NewRequest("GET", urls, body)
14196	if err != nil {
14197		return nil, err
14198	}
14199	req.Header = reqHeaders
14200	googleapi.Expand(req.URL, map[string]string{
14201		"parent": c.parent,
14202	})
14203	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14204}
14205
14206// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list" call.
14207// Exactly one of *ListConsentArtifactsResponse or error will be
14208// non-nil. Any non-2xx status code is an error. Response headers are in
14209// either *ListConsentArtifactsResponse.ServerResponse.Header or (if a
14210// response was returned at all) in error.(*googleapi.Error).Header. Use
14211// googleapi.IsNotModified to check whether the returned error was
14212// because http.StatusNotModified was returned.
14213func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Do(opts ...googleapi.CallOption) (*ListConsentArtifactsResponse, error) {
14214	gensupport.SetOptions(c.urlParams_, opts...)
14215	res, err := c.doRequest("json")
14216	if res != nil && res.StatusCode == http.StatusNotModified {
14217		if res.Body != nil {
14218			res.Body.Close()
14219		}
14220		return nil, &googleapi.Error{
14221			Code:   res.StatusCode,
14222			Header: res.Header,
14223		}
14224	}
14225	if err != nil {
14226		return nil, err
14227	}
14228	defer googleapi.CloseBody(res)
14229	if err := googleapi.CheckResponse(res); err != nil {
14230		return nil, err
14231	}
14232	ret := &ListConsentArtifactsResponse{
14233		ServerResponse: googleapi.ServerResponse{
14234			Header:         res.Header,
14235			HTTPStatusCode: res.StatusCode,
14236		},
14237	}
14238	target := &ret
14239	if err := gensupport.DecodeResponse(target, res); err != nil {
14240		return nil, err
14241	}
14242	return ret, nil
14243	// {
14244	//   "description": "Lists the Consent artifacts in the specified consent store.",
14245	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
14246	//   "httpMethod": "GET",
14247	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list",
14248	//   "parameterOrder": [
14249	//     "parent"
14250	//   ],
14251	//   "parameters": {
14252	//     "filter": {
14253	//       "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\\\")`.",
14254	//       "location": "query",
14255	//       "type": "string"
14256	//     },
14257	//     "pageSize": {
14258	//       "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.",
14259	//       "format": "int32",
14260	//       "location": "query",
14261	//       "type": "integer"
14262	//     },
14263	//     "pageToken": {
14264	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
14265	//       "location": "query",
14266	//       "type": "string"
14267	//     },
14268	//     "parent": {
14269	//       "description": "Required. Name of the consent store to retrieve consent artifacts from.",
14270	//       "location": "path",
14271	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14272	//       "required": true,
14273	//       "type": "string"
14274	//     }
14275	//   },
14276	//   "path": "v1beta1/{+parent}/consentArtifacts",
14277	//   "response": {
14278	//     "$ref": "ListConsentArtifactsResponse"
14279	//   },
14280	//   "scopes": [
14281	//     "https://www.googleapis.com/auth/cloud-platform"
14282	//   ]
14283	// }
14284
14285}
14286
14287// Pages invokes f for each page of results.
14288// A non-nil error returned from f will halt the iteration.
14289// The provided context supersedes any context provided to the Context method.
14290func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Pages(ctx context.Context, f func(*ListConsentArtifactsResponse) error) error {
14291	c.ctx_ = ctx
14292	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14293	for {
14294		x, err := c.Do()
14295		if err != nil {
14296			return err
14297		}
14298		if err := f(x); err != nil {
14299			return err
14300		}
14301		if x.NextPageToken == "" {
14302			return nil
14303		}
14304		c.PageToken(x.NextPageToken)
14305	}
14306}
14307
14308// method id "healthcare.projects.locations.datasets.consentStores.consents.activate":
14309
14310type ProjectsLocationsDatasetsConsentStoresConsentsActivateCall struct {
14311	s                      *Service
14312	name                   string
14313	activateconsentrequest *ActivateConsentRequest
14314	urlParams_             gensupport.URLParams
14315	ctx_                   context.Context
14316	header_                http.Header
14317}
14318
14319// Activate: Activates the latest revision of the specified Consent by
14320// committing a new revision with `state` updated to `ACTIVE`. If the
14321// latest revision of the specified Consent is in the `ACTIVE` state, no
14322// new revision is committed. A FAILED_PRECONDITION error occurs if the
14323// latest revision of the specified consent is in the `REJECTED` or
14324// `REVOKED` state.
14325//
14326// - name: The resource name of the Consent to activate, of the form
14327//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14328//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14329//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14330//   name.
14331func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Activate(name string, activateconsentrequest *ActivateConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14332	c := &ProjectsLocationsDatasetsConsentStoresConsentsActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14333	c.name = name
14334	c.activateconsentrequest = activateconsentrequest
14335	return c
14336}
14337
14338// Fields allows partial responses to be retrieved. See
14339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14340// for more information.
14341func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14342	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14343	return c
14344}
14345
14346// Context sets the context to be used in this call's Do method. Any
14347// pending HTTP request will be aborted if the provided context is
14348// canceled.
14349func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14350	c.ctx_ = ctx
14351	return c
14352}
14353
14354// Header returns an http.Header that can be modified by the caller to
14355// add HTTP headers to the request.
14356func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Header() http.Header {
14357	if c.header_ == nil {
14358		c.header_ = make(http.Header)
14359	}
14360	return c.header_
14361}
14362
14363func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) doRequest(alt string) (*http.Response, error) {
14364	reqHeaders := make(http.Header)
14365	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14366	for k, v := range c.header_ {
14367		reqHeaders[k] = v
14368	}
14369	reqHeaders.Set("User-Agent", c.s.userAgent())
14370	var body io.Reader = nil
14371	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activateconsentrequest)
14372	if err != nil {
14373		return nil, err
14374	}
14375	reqHeaders.Set("Content-Type", "application/json")
14376	c.urlParams_.Set("alt", alt)
14377	c.urlParams_.Set("prettyPrint", "false")
14378	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:activate")
14379	urls += "?" + c.urlParams_.Encode()
14380	req, err := http.NewRequest("POST", urls, body)
14381	if err != nil {
14382		return nil, err
14383	}
14384	req.Header = reqHeaders
14385	googleapi.Expand(req.URL, map[string]string{
14386		"name": c.name,
14387	})
14388	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14389}
14390
14391// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.activate" call.
14392// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14393// code is an error. Response headers are in either
14394// *Consent.ServerResponse.Header or (if a response was returned at all)
14395// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14396// check whether the returned error was because http.StatusNotModified
14397// was returned.
14398func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14399	gensupport.SetOptions(c.urlParams_, opts...)
14400	res, err := c.doRequest("json")
14401	if res != nil && res.StatusCode == http.StatusNotModified {
14402		if res.Body != nil {
14403			res.Body.Close()
14404		}
14405		return nil, &googleapi.Error{
14406			Code:   res.StatusCode,
14407			Header: res.Header,
14408		}
14409	}
14410	if err != nil {
14411		return nil, err
14412	}
14413	defer googleapi.CloseBody(res)
14414	if err := googleapi.CheckResponse(res); err != nil {
14415		return nil, err
14416	}
14417	ret := &Consent{
14418		ServerResponse: googleapi.ServerResponse{
14419			Header:         res.Header,
14420			HTTPStatusCode: res.StatusCode,
14421		},
14422	}
14423	target := &ret
14424	if err := gensupport.DecodeResponse(target, res); err != nil {
14425		return nil, err
14426	}
14427	return ret, nil
14428	// {
14429	//   "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.",
14430	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate",
14431	//   "httpMethod": "POST",
14432	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.activate",
14433	//   "parameterOrder": [
14434	//     "name"
14435	//   ],
14436	//   "parameters": {
14437	//     "name": {
14438	//       "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.",
14439	//       "location": "path",
14440	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14441	//       "required": true,
14442	//       "type": "string"
14443	//     }
14444	//   },
14445	//   "path": "v1beta1/{+name}:activate",
14446	//   "request": {
14447	//     "$ref": "ActivateConsentRequest"
14448	//   },
14449	//   "response": {
14450	//     "$ref": "Consent"
14451	//   },
14452	//   "scopes": [
14453	//     "https://www.googleapis.com/auth/cloud-platform"
14454	//   ]
14455	// }
14456
14457}
14458
14459// method id "healthcare.projects.locations.datasets.consentStores.consents.create":
14460
14461type ProjectsLocationsDatasetsConsentStoresConsentsCreateCall struct {
14462	s          *Service
14463	parent     string
14464	consent    *Consent
14465	urlParams_ gensupport.URLParams
14466	ctx_       context.Context
14467	header_    http.Header
14468}
14469
14470// Create: Creates a new Consent in the parent consent store.
14471//
14472// - parent: Name of the consent store.
14473func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Create(parent string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14474	c := &ProjectsLocationsDatasetsConsentStoresConsentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14475	c.parent = parent
14476	c.consent = consent
14477	return c
14478}
14479
14480// Fields allows partial responses to be retrieved. See
14481// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14482// for more information.
14483func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14484	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14485	return c
14486}
14487
14488// Context sets the context to be used in this call's Do method. Any
14489// pending HTTP request will be aborted if the provided context is
14490// canceled.
14491func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14492	c.ctx_ = ctx
14493	return c
14494}
14495
14496// Header returns an http.Header that can be modified by the caller to
14497// add HTTP headers to the request.
14498func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Header() http.Header {
14499	if c.header_ == nil {
14500		c.header_ = make(http.Header)
14501	}
14502	return c.header_
14503}
14504
14505func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) doRequest(alt string) (*http.Response, error) {
14506	reqHeaders := make(http.Header)
14507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14508	for k, v := range c.header_ {
14509		reqHeaders[k] = v
14510	}
14511	reqHeaders.Set("User-Agent", c.s.userAgent())
14512	var body io.Reader = nil
14513	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
14514	if err != nil {
14515		return nil, err
14516	}
14517	reqHeaders.Set("Content-Type", "application/json")
14518	c.urlParams_.Set("alt", alt)
14519	c.urlParams_.Set("prettyPrint", "false")
14520	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
14521	urls += "?" + c.urlParams_.Encode()
14522	req, err := http.NewRequest("POST", urls, body)
14523	if err != nil {
14524		return nil, err
14525	}
14526	req.Header = reqHeaders
14527	googleapi.Expand(req.URL, map[string]string{
14528		"parent": c.parent,
14529	})
14530	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14531}
14532
14533// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.create" call.
14534// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14535// code is an error. Response headers are in either
14536// *Consent.ServerResponse.Header or (if a response was returned at all)
14537// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14538// check whether the returned error was because http.StatusNotModified
14539// was returned.
14540func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14541	gensupport.SetOptions(c.urlParams_, opts...)
14542	res, err := c.doRequest("json")
14543	if res != nil && res.StatusCode == http.StatusNotModified {
14544		if res.Body != nil {
14545			res.Body.Close()
14546		}
14547		return nil, &googleapi.Error{
14548			Code:   res.StatusCode,
14549			Header: res.Header,
14550		}
14551	}
14552	if err != nil {
14553		return nil, err
14554	}
14555	defer googleapi.CloseBody(res)
14556	if err := googleapi.CheckResponse(res); err != nil {
14557		return nil, err
14558	}
14559	ret := &Consent{
14560		ServerResponse: googleapi.ServerResponse{
14561			Header:         res.Header,
14562			HTTPStatusCode: res.StatusCode,
14563		},
14564	}
14565	target := &ret
14566	if err := gensupport.DecodeResponse(target, res); err != nil {
14567		return nil, err
14568	}
14569	return ret, nil
14570	// {
14571	//   "description": "Creates a new Consent in the parent consent store.",
14572	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
14573	//   "httpMethod": "POST",
14574	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.create",
14575	//   "parameterOrder": [
14576	//     "parent"
14577	//   ],
14578	//   "parameters": {
14579	//     "parent": {
14580	//       "description": "Required. Name of the consent store.",
14581	//       "location": "path",
14582	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14583	//       "required": true,
14584	//       "type": "string"
14585	//     }
14586	//   },
14587	//   "path": "v1beta1/{+parent}/consents",
14588	//   "request": {
14589	//     "$ref": "Consent"
14590	//   },
14591	//   "response": {
14592	//     "$ref": "Consent"
14593	//   },
14594	//   "scopes": [
14595	//     "https://www.googleapis.com/auth/cloud-platform"
14596	//   ]
14597	// }
14598
14599}
14600
14601// method id "healthcare.projects.locations.datasets.consentStores.consents.delete":
14602
14603type ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall struct {
14604	s          *Service
14605	name       string
14606	urlParams_ gensupport.URLParams
14607	ctx_       context.Context
14608	header_    http.Header
14609}
14610
14611// Delete: Deletes the Consent and its revisions. To keep a record of
14612// the Consent but mark it inactive, see [RevokeConsent]. To delete a
14613// revision of a Consent, see [DeleteConsentRevision]. This operation
14614// does not delete the related Consent artifact.
14615//
14616// - name: The resource name of the Consent to delete, of the form
14617//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14618//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14619//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14620//   name.
14621func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14622	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14623	c.name = name
14624	return c
14625}
14626
14627// Fields allows partial responses to be retrieved. See
14628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14629// for more information.
14630func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14632	return c
14633}
14634
14635// Context sets the context to be used in this call's Do method. Any
14636// pending HTTP request will be aborted if the provided context is
14637// canceled.
14638func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14639	c.ctx_ = ctx
14640	return c
14641}
14642
14643// Header returns an http.Header that can be modified by the caller to
14644// add HTTP headers to the request.
14645func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Header() http.Header {
14646	if c.header_ == nil {
14647		c.header_ = make(http.Header)
14648	}
14649	return c.header_
14650}
14651
14652func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) doRequest(alt string) (*http.Response, error) {
14653	reqHeaders := make(http.Header)
14654	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14655	for k, v := range c.header_ {
14656		reqHeaders[k] = v
14657	}
14658	reqHeaders.Set("User-Agent", c.s.userAgent())
14659	var body io.Reader = nil
14660	c.urlParams_.Set("alt", alt)
14661	c.urlParams_.Set("prettyPrint", "false")
14662	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14663	urls += "?" + c.urlParams_.Encode()
14664	req, err := http.NewRequest("DELETE", urls, body)
14665	if err != nil {
14666		return nil, err
14667	}
14668	req.Header = reqHeaders
14669	googleapi.Expand(req.URL, map[string]string{
14670		"name": c.name,
14671	})
14672	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14673}
14674
14675// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.delete" call.
14676// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14677// code is an error. Response headers are in either
14678// *Empty.ServerResponse.Header or (if a response was returned at all)
14679// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14680// check whether the returned error was because http.StatusNotModified
14681// was returned.
14682func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14683	gensupport.SetOptions(c.urlParams_, opts...)
14684	res, err := c.doRequest("json")
14685	if res != nil && res.StatusCode == http.StatusNotModified {
14686		if res.Body != nil {
14687			res.Body.Close()
14688		}
14689		return nil, &googleapi.Error{
14690			Code:   res.StatusCode,
14691			Header: res.Header,
14692		}
14693	}
14694	if err != nil {
14695		return nil, err
14696	}
14697	defer googleapi.CloseBody(res)
14698	if err := googleapi.CheckResponse(res); err != nil {
14699		return nil, err
14700	}
14701	ret := &Empty{
14702		ServerResponse: googleapi.ServerResponse{
14703			Header:         res.Header,
14704			HTTPStatusCode: res.StatusCode,
14705		},
14706	}
14707	target := &ret
14708	if err := gensupport.DecodeResponse(target, res); err != nil {
14709		return nil, err
14710	}
14711	return ret, nil
14712	// {
14713	//   "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.",
14714	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
14715	//   "httpMethod": "DELETE",
14716	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.delete",
14717	//   "parameterOrder": [
14718	//     "name"
14719	//   ],
14720	//   "parameters": {
14721	//     "name": {
14722	//       "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.",
14723	//       "location": "path",
14724	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14725	//       "required": true,
14726	//       "type": "string"
14727	//     }
14728	//   },
14729	//   "path": "v1beta1/{+name}",
14730	//   "response": {
14731	//     "$ref": "Empty"
14732	//   },
14733	//   "scopes": [
14734	//     "https://www.googleapis.com/auth/cloud-platform"
14735	//   ]
14736	// }
14737
14738}
14739
14740// method id "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision":
14741
14742type ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall struct {
14743	s          *Service
14744	name       string
14745	urlParams_ gensupport.URLParams
14746	ctx_       context.Context
14747	header_    http.Header
14748}
14749
14750// DeleteRevision: Deletes the specified revision of a Consent. An
14751// INVALID_ARGUMENT error occurs if the specified revision is the latest
14752// revision.
14753//
14754// - name: The resource name of the Consent revision to delete, of the
14755//   form
14756//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14757//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
14758//   }`. An INVALID_ARGUMENT error occurs if `revision_id` is not
14759//   specified in the name.
14760func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) DeleteRevision(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14761	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14762	c.name = name
14763	return c
14764}
14765
14766// Fields allows partial responses to be retrieved. See
14767// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14768// for more information.
14769func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14770	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14771	return c
14772}
14773
14774// Context sets the context to be used in this call's Do method. Any
14775// pending HTTP request will be aborted if the provided context is
14776// canceled.
14777func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14778	c.ctx_ = ctx
14779	return c
14780}
14781
14782// Header returns an http.Header that can be modified by the caller to
14783// add HTTP headers to the request.
14784func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Header() http.Header {
14785	if c.header_ == nil {
14786		c.header_ = make(http.Header)
14787	}
14788	return c.header_
14789}
14790
14791func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) doRequest(alt string) (*http.Response, error) {
14792	reqHeaders := make(http.Header)
14793	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14794	for k, v := range c.header_ {
14795		reqHeaders[k] = v
14796	}
14797	reqHeaders.Set("User-Agent", c.s.userAgent())
14798	var body io.Reader = nil
14799	c.urlParams_.Set("alt", alt)
14800	c.urlParams_.Set("prettyPrint", "false")
14801	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:deleteRevision")
14802	urls += "?" + c.urlParams_.Encode()
14803	req, err := http.NewRequest("DELETE", urls, body)
14804	if err != nil {
14805		return nil, err
14806	}
14807	req.Header = reqHeaders
14808	googleapi.Expand(req.URL, map[string]string{
14809		"name": c.name,
14810	})
14811	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14812}
14813
14814// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision" call.
14815// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14816// code is an error. Response headers are in either
14817// *Empty.ServerResponse.Header or (if a response was returned at all)
14818// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14819// check whether the returned error was because http.StatusNotModified
14820// was returned.
14821func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14822	gensupport.SetOptions(c.urlParams_, opts...)
14823	res, err := c.doRequest("json")
14824	if res != nil && res.StatusCode == http.StatusNotModified {
14825		if res.Body != nil {
14826			res.Body.Close()
14827		}
14828		return nil, &googleapi.Error{
14829			Code:   res.StatusCode,
14830			Header: res.Header,
14831		}
14832	}
14833	if err != nil {
14834		return nil, err
14835	}
14836	defer googleapi.CloseBody(res)
14837	if err := googleapi.CheckResponse(res); err != nil {
14838		return nil, err
14839	}
14840	ret := &Empty{
14841		ServerResponse: googleapi.ServerResponse{
14842			Header:         res.Header,
14843			HTTPStatusCode: res.StatusCode,
14844		},
14845	}
14846	target := &ret
14847	if err := gensupport.DecodeResponse(target, res); err != nil {
14848		return nil, err
14849	}
14850	return ret, nil
14851	// {
14852	//   "description": "Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.",
14853	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision",
14854	//   "httpMethod": "DELETE",
14855	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision",
14856	//   "parameterOrder": [
14857	//     "name"
14858	//   ],
14859	//   "parameters": {
14860	//     "name": {
14861	//       "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.",
14862	//       "location": "path",
14863	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14864	//       "required": true,
14865	//       "type": "string"
14866	//     }
14867	//   },
14868	//   "path": "v1beta1/{+name}:deleteRevision",
14869	//   "response": {
14870	//     "$ref": "Empty"
14871	//   },
14872	//   "scopes": [
14873	//     "https://www.googleapis.com/auth/cloud-platform"
14874	//   ]
14875	// }
14876
14877}
14878
14879// method id "healthcare.projects.locations.datasets.consentStores.consents.get":
14880
14881type ProjectsLocationsDatasetsConsentStoresConsentsGetCall struct {
14882	s            *Service
14883	name         string
14884	urlParams_   gensupport.URLParams
14885	ifNoneMatch_ string
14886	ctx_         context.Context
14887	header_      http.Header
14888}
14889
14890// Get: Gets the specified revision of a Consent, or the latest revision
14891// if `revision_id` is not specified in the resource name.
14892//
14893// - name: The resource name of the Consent to retrieve, of the form
14894//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14895//   /consentStores/{consent_store_id}/consents/{consent_id}`. In order
14896//   to retrieve a previous revision of the Consent, also provide the
14897//   revision ID:
14898//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14899//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
14900//   }`.
14901func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14902	c := &ProjectsLocationsDatasetsConsentStoresConsentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14903	c.name = name
14904	return c
14905}
14906
14907// Fields allows partial responses to be retrieved. See
14908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14909// for more information.
14910func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14912	return c
14913}
14914
14915// IfNoneMatch sets the optional parameter which makes the operation
14916// fail if the object's ETag matches the given value. This is useful for
14917// getting updates only after the object has changed since the last
14918// request. Use googleapi.IsNotModified to check whether the response
14919// error from Do is the result of In-None-Match.
14920func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14921	c.ifNoneMatch_ = entityTag
14922	return c
14923}
14924
14925// Context sets the context to be used in this call's Do method. Any
14926// pending HTTP request will be aborted if the provided context is
14927// canceled.
14928func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14929	c.ctx_ = ctx
14930	return c
14931}
14932
14933// Header returns an http.Header that can be modified by the caller to
14934// add HTTP headers to the request.
14935func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Header() http.Header {
14936	if c.header_ == nil {
14937		c.header_ = make(http.Header)
14938	}
14939	return c.header_
14940}
14941
14942func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) doRequest(alt string) (*http.Response, error) {
14943	reqHeaders := make(http.Header)
14944	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
14945	for k, v := range c.header_ {
14946		reqHeaders[k] = v
14947	}
14948	reqHeaders.Set("User-Agent", c.s.userAgent())
14949	if c.ifNoneMatch_ != "" {
14950		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14951	}
14952	var body io.Reader = nil
14953	c.urlParams_.Set("alt", alt)
14954	c.urlParams_.Set("prettyPrint", "false")
14955	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14956	urls += "?" + c.urlParams_.Encode()
14957	req, err := http.NewRequest("GET", urls, body)
14958	if err != nil {
14959		return nil, err
14960	}
14961	req.Header = reqHeaders
14962	googleapi.Expand(req.URL, map[string]string{
14963		"name": c.name,
14964	})
14965	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14966}
14967
14968// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.get" call.
14969// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14970// code is an error. Response headers are in either
14971// *Consent.ServerResponse.Header or (if a response was returned at all)
14972// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14973// check whether the returned error was because http.StatusNotModified
14974// was returned.
14975func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14976	gensupport.SetOptions(c.urlParams_, opts...)
14977	res, err := c.doRequest("json")
14978	if res != nil && res.StatusCode == http.StatusNotModified {
14979		if res.Body != nil {
14980			res.Body.Close()
14981		}
14982		return nil, &googleapi.Error{
14983			Code:   res.StatusCode,
14984			Header: res.Header,
14985		}
14986	}
14987	if err != nil {
14988		return nil, err
14989	}
14990	defer googleapi.CloseBody(res)
14991	if err := googleapi.CheckResponse(res); err != nil {
14992		return nil, err
14993	}
14994	ret := &Consent{
14995		ServerResponse: googleapi.ServerResponse{
14996			Header:         res.Header,
14997			HTTPStatusCode: res.StatusCode,
14998		},
14999	}
15000	target := &ret
15001	if err := gensupport.DecodeResponse(target, res); err != nil {
15002		return nil, err
15003	}
15004	return ret, nil
15005	// {
15006	//   "description": "Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.",
15007	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15008	//   "httpMethod": "GET",
15009	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.get",
15010	//   "parameterOrder": [
15011	//     "name"
15012	//   ],
15013	//   "parameters": {
15014	//     "name": {
15015	//       "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}`",
15016	//       "location": "path",
15017	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15018	//       "required": true,
15019	//       "type": "string"
15020	//     }
15021	//   },
15022	//   "path": "v1beta1/{+name}",
15023	//   "response": {
15024	//     "$ref": "Consent"
15025	//   },
15026	//   "scopes": [
15027	//     "https://www.googleapis.com/auth/cloud-platform"
15028	//   ]
15029	// }
15030
15031}
15032
15033// method id "healthcare.projects.locations.datasets.consentStores.consents.list":
15034
15035type ProjectsLocationsDatasetsConsentStoresConsentsListCall struct {
15036	s            *Service
15037	parent       string
15038	urlParams_   gensupport.URLParams
15039	ifNoneMatch_ string
15040	ctx_         context.Context
15041	header_      http.Header
15042}
15043
15044// List: Lists the Consent in the given consent store, returning each
15045// Consent's latest revision.
15046//
15047// - parent: Name of the consent store to retrieve Consents from.
15048func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15049	c := &ProjectsLocationsDatasetsConsentStoresConsentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15050	c.parent = parent
15051	return c
15052}
15053
15054// Filter sets the optional parameter "filter": Restricts the consents
15055// returned to those matching a filter. The following syntax is
15056// available: * A string field value can be written as text inside
15057// quotation marks, for example "query text". The only valid
15058// relational operation for text fields is equality (`=`), where text is
15059// searched within the field, rather than having the field be equal to
15060// the text. For example, "Comment = great" returns messages with
15061// `great` in the comment field. * A number field value can be written
15062// as an integer, a decimal, or an exponential. The valid relational
15063// operators for number fields are the equality operator (`=`), along
15064// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15065// Note that there is no inequality (`!=`) operator. You can prepend the
15066// `NOT` operator to an expression to negate it. * A date field value
15067// must be written in `yyyy-mm-dd` form. Fields with date and time use
15068// the RFC3339 time format. Leading zeros are required for one-digit
15069// months and days. The valid relational operators for date fields are
15070// the equality operator (`=`) , along with the less than/greater than
15071// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15072// (`!=`) operator. You can prepend the `NOT` operator to an expression
15073// to negate it. * Multiple field query expressions can be combined in
15074// one query by adding `AND` or `OR` operators between the expressions.
15075// If a boolean operator appears within a quoted string, it is not
15076// treated as special, it's just another part of the character string to
15077// be matched. You can prepend the `NOT` operator to an expression to
15078// negate it. The fields available for filtering are: - user_id. For
15079// example, `filter='user_id="user123"'`. - consent_artifact - state -
15080// revision_create_time - metadata. For example,
15081// `filter=Metadata(\"testkey\")=\"value\" or
15082// `filter=HasMetadata(\"testkey\")`.
15083func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15084	c.urlParams_.Set("filter", filter)
15085	return c
15086}
15087
15088// PageSize sets the optional parameter "pageSize": Limit on the number
15089// of Consents to return in a single response. If not specified, 100 is
15090// used. May not be larger than 1000.
15091func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15092	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15093	return c
15094}
15095
15096// PageToken sets the optional parameter "pageToken": The
15097// next_page_token value returned from the previous List request, if
15098// any.
15099func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15100	c.urlParams_.Set("pageToken", pageToken)
15101	return c
15102}
15103
15104// Fields allows partial responses to be retrieved. See
15105// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15106// for more information.
15107func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15108	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15109	return c
15110}
15111
15112// IfNoneMatch sets the optional parameter which makes the operation
15113// fail if the object's ETag matches the given value. This is useful for
15114// getting updates only after the object has changed since the last
15115// request. Use googleapi.IsNotModified to check whether the response
15116// error from Do is the result of In-None-Match.
15117func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15118	c.ifNoneMatch_ = entityTag
15119	return c
15120}
15121
15122// Context sets the context to be used in this call's Do method. Any
15123// pending HTTP request will be aborted if the provided context is
15124// canceled.
15125func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15126	c.ctx_ = ctx
15127	return c
15128}
15129
15130// Header returns an http.Header that can be modified by the caller to
15131// add HTTP headers to the request.
15132func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Header() http.Header {
15133	if c.header_ == nil {
15134		c.header_ = make(http.Header)
15135	}
15136	return c.header_
15137}
15138
15139func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) doRequest(alt string) (*http.Response, error) {
15140	reqHeaders := make(http.Header)
15141	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
15142	for k, v := range c.header_ {
15143		reqHeaders[k] = v
15144	}
15145	reqHeaders.Set("User-Agent", c.s.userAgent())
15146	if c.ifNoneMatch_ != "" {
15147		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15148	}
15149	var body io.Reader = nil
15150	c.urlParams_.Set("alt", alt)
15151	c.urlParams_.Set("prettyPrint", "false")
15152	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
15153	urls += "?" + c.urlParams_.Encode()
15154	req, err := http.NewRequest("GET", urls, body)
15155	if err != nil {
15156		return nil, err
15157	}
15158	req.Header = reqHeaders
15159	googleapi.Expand(req.URL, map[string]string{
15160		"parent": c.parent,
15161	})
15162	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15163}
15164
15165// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.list" call.
15166// Exactly one of *ListConsentsResponse or error will be non-nil. Any
15167// non-2xx status code is an error. Response headers are in either
15168// *ListConsentsResponse.ServerResponse.Header or (if a response was
15169// returned at all) in error.(*googleapi.Error).Header. Use
15170// googleapi.IsNotModified to check whether the returned error was
15171// because http.StatusNotModified was returned.
15172func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Do(opts ...googleapi.CallOption) (*ListConsentsResponse, error) {
15173	gensupport.SetOptions(c.urlParams_, opts...)
15174	res, err := c.doRequest("json")
15175	if res != nil && res.StatusCode == http.StatusNotModified {
15176		if res.Body != nil {
15177			res.Body.Close()
15178		}
15179		return nil, &googleapi.Error{
15180			Code:   res.StatusCode,
15181			Header: res.Header,
15182		}
15183	}
15184	if err != nil {
15185		return nil, err
15186	}
15187	defer googleapi.CloseBody(res)
15188	if err := googleapi.CheckResponse(res); err != nil {
15189		return nil, err
15190	}
15191	ret := &ListConsentsResponse{
15192		ServerResponse: googleapi.ServerResponse{
15193			Header:         res.Header,
15194			HTTPStatusCode: res.StatusCode,
15195		},
15196	}
15197	target := &ret
15198	if err := gensupport.DecodeResponse(target, res); err != nil {
15199		return nil, err
15200	}
15201	return ret, nil
15202	// {
15203	//   "description": "Lists the Consent in the given consent store, returning each Consent's latest revision.",
15204	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
15205	//   "httpMethod": "GET",
15206	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.list",
15207	//   "parameterOrder": [
15208	//     "parent"
15209	//   ],
15210	//   "parameters": {
15211	//     "filter": {
15212	//       "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\\\")`.",
15213	//       "location": "query",
15214	//       "type": "string"
15215	//     },
15216	//     "pageSize": {
15217	//       "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.",
15218	//       "format": "int32",
15219	//       "location": "query",
15220	//       "type": "integer"
15221	//     },
15222	//     "pageToken": {
15223	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
15224	//       "location": "query",
15225	//       "type": "string"
15226	//     },
15227	//     "parent": {
15228	//       "description": "Required. Name of the consent store to retrieve Consents from.",
15229	//       "location": "path",
15230	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
15231	//       "required": true,
15232	//       "type": "string"
15233	//     }
15234	//   },
15235	//   "path": "v1beta1/{+parent}/consents",
15236	//   "response": {
15237	//     "$ref": "ListConsentsResponse"
15238	//   },
15239	//   "scopes": [
15240	//     "https://www.googleapis.com/auth/cloud-platform"
15241	//   ]
15242	// }
15243
15244}
15245
15246// Pages invokes f for each page of results.
15247// A non-nil error returned from f will halt the iteration.
15248// The provided context supersedes any context provided to the Context method.
15249func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Pages(ctx context.Context, f func(*ListConsentsResponse) error) error {
15250	c.ctx_ = ctx
15251	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15252	for {
15253		x, err := c.Do()
15254		if err != nil {
15255			return err
15256		}
15257		if err := f(x); err != nil {
15258			return err
15259		}
15260		if x.NextPageToken == "" {
15261			return nil
15262		}
15263		c.PageToken(x.NextPageToken)
15264	}
15265}
15266
15267// method id "healthcare.projects.locations.datasets.consentStores.consents.listRevisions":
15268
15269type ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall struct {
15270	s            *Service
15271	name         string
15272	urlParams_   gensupport.URLParams
15273	ifNoneMatch_ string
15274	ctx_         context.Context
15275	header_      http.Header
15276}
15277
15278// ListRevisions: Lists the revisions of the specified Consent in
15279// reverse chronological order.
15280//
15281// - name: The resource name of the Consent to retrieve revisions for.
15282func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) ListRevisions(name string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15283	c := &ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15284	c.name = name
15285	return c
15286}
15287
15288// Filter sets the optional parameter "filter": Restricts the revisions
15289// returned to those matching a filter. The following syntax is
15290// available: * A string field value can be written as text inside
15291// quotation marks, for example "query text". The only valid
15292// relational operation for text fields is equality (`=`), where text is
15293// searched within the field, rather than having the field be equal to
15294// the text. For example, "Comment = great" returns messages with
15295// `great` in the comment field. * A number field value can be written
15296// as an integer, a decimal, or an exponential. The valid relational
15297// operators for number fields are the equality operator (`=`), along
15298// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15299// Note that there is no inequality (`!=`) operator. You can prepend the
15300// `NOT` operator to an expression to negate it. * A date field value
15301// must be written in `yyyy-mm-dd` form. Fields with date and time use
15302// the RFC3339 time format. Leading zeros are required for one-digit
15303// months and days. The valid relational operators for date fields are
15304// the equality operator (`=`) , along with the less than/greater than
15305// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15306// (`!=`) operator. You can prepend the `NOT` operator to an expression
15307// to negate it. * Multiple field query expressions can be combined in
15308// one query by adding `AND` or `OR` operators between the expressions.
15309// If a boolean operator appears within a quoted string, it is not
15310// treated as special, it's just another part of the character string to
15311// be matched. You can prepend the `NOT` operator to an expression to
15312// negate it. Fields/functions available for filtering are: - user_id.
15313// For example, `filter='user_id="user123"'`. - consent_artifact - state
15314// - revision_create_time - metadata. For example,
15315// `filter=Metadata(\"testkey\")=\"value\" or
15316// `filter=HasMetadata(\"testkey\")`.
15317func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15318	c.urlParams_.Set("filter", filter)
15319	return c
15320}
15321
15322// PageSize sets the optional parameter "pageSize": Limit on the number
15323// of revisions to return in a single response. If not specified, 100 is
15324// used. May not be larger than 1000.
15325func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15326	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15327	return c
15328}
15329
15330// PageToken sets the optional parameter "pageToken": Token to retrieve
15331// the next page of results or empty if there are no more results in the
15332// list.
15333func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15334	c.urlParams_.Set("pageToken", pageToken)
15335	return c
15336}
15337
15338// Fields allows partial responses to be retrieved. See
15339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15340// for more information.
15341func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15342	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15343	return c
15344}
15345
15346// IfNoneMatch sets the optional parameter which makes the operation
15347// fail if the object's ETag matches the given value. This is useful for
15348// getting updates only after the object has changed since the last
15349// request. Use googleapi.IsNotModified to check whether the response
15350// error from Do is the result of In-None-Match.
15351func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15352	c.ifNoneMatch_ = entityTag
15353	return c
15354}
15355
15356// Context sets the context to be used in this call's Do method. Any
15357// pending HTTP request will be aborted if the provided context is
15358// canceled.
15359func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15360	c.ctx_ = ctx
15361	return c
15362}
15363
15364// Header returns an http.Header that can be modified by the caller to
15365// add HTTP headers to the request.
15366func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Header() http.Header {
15367	if c.header_ == nil {
15368		c.header_ = make(http.Header)
15369	}
15370	return c.header_
15371}
15372
15373func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) doRequest(alt string) (*http.Response, error) {
15374	reqHeaders := make(http.Header)
15375	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
15376	for k, v := range c.header_ {
15377		reqHeaders[k] = v
15378	}
15379	reqHeaders.Set("User-Agent", c.s.userAgent())
15380	if c.ifNoneMatch_ != "" {
15381		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15382	}
15383	var body io.Reader = nil
15384	c.urlParams_.Set("alt", alt)
15385	c.urlParams_.Set("prettyPrint", "false")
15386	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:listRevisions")
15387	urls += "?" + c.urlParams_.Encode()
15388	req, err := http.NewRequest("GET", urls, body)
15389	if err != nil {
15390		return nil, err
15391	}
15392	req.Header = reqHeaders
15393	googleapi.Expand(req.URL, map[string]string{
15394		"name": c.name,
15395	})
15396	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15397}
15398
15399// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.listRevisions" call.
15400// Exactly one of *ListConsentRevisionsResponse or error will be
15401// non-nil. Any non-2xx status code is an error. Response headers are in
15402// either *ListConsentRevisionsResponse.ServerResponse.Header or (if a
15403// response was returned at all) in error.(*googleapi.Error).Header. Use
15404// googleapi.IsNotModified to check whether the returned error was
15405// because http.StatusNotModified was returned.
15406func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Do(opts ...googleapi.CallOption) (*ListConsentRevisionsResponse, error) {
15407	gensupport.SetOptions(c.urlParams_, opts...)
15408	res, err := c.doRequest("json")
15409	if res != nil && res.StatusCode == http.StatusNotModified {
15410		if res.Body != nil {
15411			res.Body.Close()
15412		}
15413		return nil, &googleapi.Error{
15414			Code:   res.StatusCode,
15415			Header: res.Header,
15416		}
15417	}
15418	if err != nil {
15419		return nil, err
15420	}
15421	defer googleapi.CloseBody(res)
15422	if err := googleapi.CheckResponse(res); err != nil {
15423		return nil, err
15424	}
15425	ret := &ListConsentRevisionsResponse{
15426		ServerResponse: googleapi.ServerResponse{
15427			Header:         res.Header,
15428			HTTPStatusCode: res.StatusCode,
15429		},
15430	}
15431	target := &ret
15432	if err := gensupport.DecodeResponse(target, res); err != nil {
15433		return nil, err
15434	}
15435	return ret, nil
15436	// {
15437	//   "description": "Lists the revisions of the specified Consent in reverse chronological order.",
15438	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions",
15439	//   "httpMethod": "GET",
15440	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.listRevisions",
15441	//   "parameterOrder": [
15442	//     "name"
15443	//   ],
15444	//   "parameters": {
15445	//     "filter": {
15446	//       "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\\\")`.",
15447	//       "location": "query",
15448	//       "type": "string"
15449	//     },
15450	//     "name": {
15451	//       "description": "Required. The resource name of the Consent to retrieve revisions for.",
15452	//       "location": "path",
15453	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15454	//       "required": true,
15455	//       "type": "string"
15456	//     },
15457	//     "pageSize": {
15458	//       "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.",
15459	//       "format": "int32",
15460	//       "location": "query",
15461	//       "type": "integer"
15462	//     },
15463	//     "pageToken": {
15464	//       "description": "Optional. Token to retrieve the next page of results or empty if there are no more results in the list.",
15465	//       "location": "query",
15466	//       "type": "string"
15467	//     }
15468	//   },
15469	//   "path": "v1beta1/{+name}:listRevisions",
15470	//   "response": {
15471	//     "$ref": "ListConsentRevisionsResponse"
15472	//   },
15473	//   "scopes": [
15474	//     "https://www.googleapis.com/auth/cloud-platform"
15475	//   ]
15476	// }
15477
15478}
15479
15480// Pages invokes f for each page of results.
15481// A non-nil error returned from f will halt the iteration.
15482// The provided context supersedes any context provided to the Context method.
15483func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Pages(ctx context.Context, f func(*ListConsentRevisionsResponse) error) error {
15484	c.ctx_ = ctx
15485	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15486	for {
15487		x, err := c.Do()
15488		if err != nil {
15489			return err
15490		}
15491		if err := f(x); err != nil {
15492			return err
15493		}
15494		if x.NextPageToken == "" {
15495			return nil
15496		}
15497		c.PageToken(x.NextPageToken)
15498	}
15499}
15500
15501// method id "healthcare.projects.locations.datasets.consentStores.consents.patch":
15502
15503type ProjectsLocationsDatasetsConsentStoresConsentsPatchCall struct {
15504	s          *Service
15505	name       string
15506	consent    *Consent
15507	urlParams_ gensupport.URLParams
15508	ctx_       context.Context
15509	header_    http.Header
15510}
15511
15512// Patch: Updates the latest revision of the specified Consent by
15513// committing a new revision with the changes. A FAILED_PRECONDITION
15514// error occurs if the latest revision of the specified Consent is in
15515// the `REJECTED` or `REVOKED` state.
15516//
15517// - name: Resource name of the Consent, of the form
15518//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15519//   /consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be
15520//   changed after creation.
15521func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Patch(name string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15522	c := &ProjectsLocationsDatasetsConsentStoresConsentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15523	c.name = name
15524	c.consent = consent
15525	return c
15526}
15527
15528// UpdateMask sets the optional parameter "updateMask": Required. The
15529// update mask to apply to the resource. For the `FieldMask` definition,
15530// see
15531// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
15532// Only the `user_id`, `policies`, `consent_artifact`, and `metadata`
15533// fields can be updated.
15534func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15535	c.urlParams_.Set("updateMask", updateMask)
15536	return c
15537}
15538
15539// Fields allows partial responses to be retrieved. See
15540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15541// for more information.
15542func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15544	return c
15545}
15546
15547// Context sets the context to be used in this call's Do method. Any
15548// pending HTTP request will be aborted if the provided context is
15549// canceled.
15550func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15551	c.ctx_ = ctx
15552	return c
15553}
15554
15555// Header returns an http.Header that can be modified by the caller to
15556// add HTTP headers to the request.
15557func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Header() http.Header {
15558	if c.header_ == nil {
15559		c.header_ = make(http.Header)
15560	}
15561	return c.header_
15562}
15563
15564func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) doRequest(alt string) (*http.Response, error) {
15565	reqHeaders := make(http.Header)
15566	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
15567	for k, v := range c.header_ {
15568		reqHeaders[k] = v
15569	}
15570	reqHeaders.Set("User-Agent", c.s.userAgent())
15571	var body io.Reader = nil
15572	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
15573	if err != nil {
15574		return nil, err
15575	}
15576	reqHeaders.Set("Content-Type", "application/json")
15577	c.urlParams_.Set("alt", alt)
15578	c.urlParams_.Set("prettyPrint", "false")
15579	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
15580	urls += "?" + c.urlParams_.Encode()
15581	req, err := http.NewRequest("PATCH", urls, body)
15582	if err != nil {
15583		return nil, err
15584	}
15585	req.Header = reqHeaders
15586	googleapi.Expand(req.URL, map[string]string{
15587		"name": c.name,
15588	})
15589	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15590}
15591
15592// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.patch" call.
15593// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15594// code is an error. Response headers are in either
15595// *Consent.ServerResponse.Header or (if a response was returned at all)
15596// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15597// check whether the returned error was because http.StatusNotModified
15598// was returned.
15599func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15600	gensupport.SetOptions(c.urlParams_, opts...)
15601	res, err := c.doRequest("json")
15602	if res != nil && res.StatusCode == http.StatusNotModified {
15603		if res.Body != nil {
15604			res.Body.Close()
15605		}
15606		return nil, &googleapi.Error{
15607			Code:   res.StatusCode,
15608			Header: res.Header,
15609		}
15610	}
15611	if err != nil {
15612		return nil, err
15613	}
15614	defer googleapi.CloseBody(res)
15615	if err := googleapi.CheckResponse(res); err != nil {
15616		return nil, err
15617	}
15618	ret := &Consent{
15619		ServerResponse: googleapi.ServerResponse{
15620			Header:         res.Header,
15621			HTTPStatusCode: res.StatusCode,
15622		},
15623	}
15624	target := &ret
15625	if err := gensupport.DecodeResponse(target, res); err != nil {
15626		return nil, err
15627	}
15628	return ret, nil
15629	// {
15630	//   "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.",
15631	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15632	//   "httpMethod": "PATCH",
15633	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.patch",
15634	//   "parameterOrder": [
15635	//     "name"
15636	//   ],
15637	//   "parameters": {
15638	//     "name": {
15639	//       "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.",
15640	//       "location": "path",
15641	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15642	//       "required": true,
15643	//       "type": "string"
15644	//     },
15645	//     "updateMask": {
15646	//       "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.",
15647	//       "format": "google-fieldmask",
15648	//       "location": "query",
15649	//       "type": "string"
15650	//     }
15651	//   },
15652	//   "path": "v1beta1/{+name}",
15653	//   "request": {
15654	//     "$ref": "Consent"
15655	//   },
15656	//   "response": {
15657	//     "$ref": "Consent"
15658	//   },
15659	//   "scopes": [
15660	//     "https://www.googleapis.com/auth/cloud-platform"
15661	//   ]
15662	// }
15663
15664}
15665
15666// method id "healthcare.projects.locations.datasets.consentStores.consents.reject":
15667
15668type ProjectsLocationsDatasetsConsentStoresConsentsRejectCall struct {
15669	s                    *Service
15670	name                 string
15671	rejectconsentrequest *RejectConsentRequest
15672	urlParams_           gensupport.URLParams
15673	ctx_                 context.Context
15674	header_              http.Header
15675}
15676
15677// Reject: Rejects the latest revision of the specified Consent by
15678// committing a new revision with `state` updated to `REJECTED`. If the
15679// latest revision of the specified Consent is in the `REJECTED` state,
15680// no new revision is committed. A FAILED_PRECONDITION error occurs if
15681// the latest revision of the specified Consent is in the `ACTIVE` or
15682// `REVOKED` state.
15683//
15684// - name: The resource name of the Consent to reject, of the form
15685//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15686//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15687//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15688//   name.
15689func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Reject(name string, rejectconsentrequest *RejectConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15690	c := &ProjectsLocationsDatasetsConsentStoresConsentsRejectCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15691	c.name = name
15692	c.rejectconsentrequest = rejectconsentrequest
15693	return c
15694}
15695
15696// Fields allows partial responses to be retrieved. See
15697// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15698// for more information.
15699func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15700	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15701	return c
15702}
15703
15704// Context sets the context to be used in this call's Do method. Any
15705// pending HTTP request will be aborted if the provided context is
15706// canceled.
15707func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15708	c.ctx_ = ctx
15709	return c
15710}
15711
15712// Header returns an http.Header that can be modified by the caller to
15713// add HTTP headers to the request.
15714func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Header() http.Header {
15715	if c.header_ == nil {
15716		c.header_ = make(http.Header)
15717	}
15718	return c.header_
15719}
15720
15721func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) doRequest(alt string) (*http.Response, error) {
15722	reqHeaders := make(http.Header)
15723	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
15724	for k, v := range c.header_ {
15725		reqHeaders[k] = v
15726	}
15727	reqHeaders.Set("User-Agent", c.s.userAgent())
15728	var body io.Reader = nil
15729	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rejectconsentrequest)
15730	if err != nil {
15731		return nil, err
15732	}
15733	reqHeaders.Set("Content-Type", "application/json")
15734	c.urlParams_.Set("alt", alt)
15735	c.urlParams_.Set("prettyPrint", "false")
15736	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:reject")
15737	urls += "?" + c.urlParams_.Encode()
15738	req, err := http.NewRequest("POST", urls, body)
15739	if err != nil {
15740		return nil, err
15741	}
15742	req.Header = reqHeaders
15743	googleapi.Expand(req.URL, map[string]string{
15744		"name": c.name,
15745	})
15746	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15747}
15748
15749// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.reject" call.
15750// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15751// code is an error. Response headers are in either
15752// *Consent.ServerResponse.Header or (if a response was returned at all)
15753// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15754// check whether the returned error was because http.StatusNotModified
15755// was returned.
15756func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15757	gensupport.SetOptions(c.urlParams_, opts...)
15758	res, err := c.doRequest("json")
15759	if res != nil && res.StatusCode == http.StatusNotModified {
15760		if res.Body != nil {
15761			res.Body.Close()
15762		}
15763		return nil, &googleapi.Error{
15764			Code:   res.StatusCode,
15765			Header: res.Header,
15766		}
15767	}
15768	if err != nil {
15769		return nil, err
15770	}
15771	defer googleapi.CloseBody(res)
15772	if err := googleapi.CheckResponse(res); err != nil {
15773		return nil, err
15774	}
15775	ret := &Consent{
15776		ServerResponse: googleapi.ServerResponse{
15777			Header:         res.Header,
15778			HTTPStatusCode: res.StatusCode,
15779		},
15780	}
15781	target := &ret
15782	if err := gensupport.DecodeResponse(target, res); err != nil {
15783		return nil, err
15784	}
15785	return ret, nil
15786	// {
15787	//   "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.",
15788	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject",
15789	//   "httpMethod": "POST",
15790	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.reject",
15791	//   "parameterOrder": [
15792	//     "name"
15793	//   ],
15794	//   "parameters": {
15795	//     "name": {
15796	//       "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.",
15797	//       "location": "path",
15798	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15799	//       "required": true,
15800	//       "type": "string"
15801	//     }
15802	//   },
15803	//   "path": "v1beta1/{+name}:reject",
15804	//   "request": {
15805	//     "$ref": "RejectConsentRequest"
15806	//   },
15807	//   "response": {
15808	//     "$ref": "Consent"
15809	//   },
15810	//   "scopes": [
15811	//     "https://www.googleapis.com/auth/cloud-platform"
15812	//   ]
15813	// }
15814
15815}
15816
15817// method id "healthcare.projects.locations.datasets.consentStores.consents.revoke":
15818
15819type ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall struct {
15820	s                    *Service
15821	name                 string
15822	revokeconsentrequest *RevokeConsentRequest
15823	urlParams_           gensupport.URLParams
15824	ctx_                 context.Context
15825	header_              http.Header
15826}
15827
15828// Revoke: Revokes the latest revision of the specified Consent by
15829// committing a new revision with `state` updated to `REVOKED`. If the
15830// latest revision of the specified Consent is in the `REVOKED` state,
15831// no new revision is committed. A FAILED_PRECONDITION error occurs if
15832// the latest revision of the given consent is in `DRAFT` or `REJECTED`
15833// state.
15834//
15835// - name: The resource name of the Consent to revoke, of the form
15836//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15837//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15838//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15839//   name.
15840func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Revoke(name string, revokeconsentrequest *RevokeConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15841	c := &ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15842	c.name = name
15843	c.revokeconsentrequest = revokeconsentrequest
15844	return c
15845}
15846
15847// Fields allows partial responses to be retrieved. See
15848// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15849// for more information.
15850func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15851	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15852	return c
15853}
15854
15855// Context sets the context to be used in this call's Do method. Any
15856// pending HTTP request will be aborted if the provided context is
15857// canceled.
15858func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15859	c.ctx_ = ctx
15860	return c
15861}
15862
15863// Header returns an http.Header that can be modified by the caller to
15864// add HTTP headers to the request.
15865func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Header() http.Header {
15866	if c.header_ == nil {
15867		c.header_ = make(http.Header)
15868	}
15869	return c.header_
15870}
15871
15872func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) doRequest(alt string) (*http.Response, error) {
15873	reqHeaders := make(http.Header)
15874	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
15875	for k, v := range c.header_ {
15876		reqHeaders[k] = v
15877	}
15878	reqHeaders.Set("User-Agent", c.s.userAgent())
15879	var body io.Reader = nil
15880	body, err := googleapi.WithoutDataWrapper.JSONReader(c.revokeconsentrequest)
15881	if err != nil {
15882		return nil, err
15883	}
15884	reqHeaders.Set("Content-Type", "application/json")
15885	c.urlParams_.Set("alt", alt)
15886	c.urlParams_.Set("prettyPrint", "false")
15887	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:revoke")
15888	urls += "?" + c.urlParams_.Encode()
15889	req, err := http.NewRequest("POST", urls, body)
15890	if err != nil {
15891		return nil, err
15892	}
15893	req.Header = reqHeaders
15894	googleapi.Expand(req.URL, map[string]string{
15895		"name": c.name,
15896	})
15897	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15898}
15899
15900// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.revoke" call.
15901// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15902// code is an error. Response headers are in either
15903// *Consent.ServerResponse.Header or (if a response was returned at all)
15904// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15905// check whether the returned error was because http.StatusNotModified
15906// was returned.
15907func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15908	gensupport.SetOptions(c.urlParams_, opts...)
15909	res, err := c.doRequest("json")
15910	if res != nil && res.StatusCode == http.StatusNotModified {
15911		if res.Body != nil {
15912			res.Body.Close()
15913		}
15914		return nil, &googleapi.Error{
15915			Code:   res.StatusCode,
15916			Header: res.Header,
15917		}
15918	}
15919	if err != nil {
15920		return nil, err
15921	}
15922	defer googleapi.CloseBody(res)
15923	if err := googleapi.CheckResponse(res); err != nil {
15924		return nil, err
15925	}
15926	ret := &Consent{
15927		ServerResponse: googleapi.ServerResponse{
15928			Header:         res.Header,
15929			HTTPStatusCode: res.StatusCode,
15930		},
15931	}
15932	target := &ret
15933	if err := gensupport.DecodeResponse(target, res); err != nil {
15934		return nil, err
15935	}
15936	return ret, nil
15937	// {
15938	//   "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.",
15939	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke",
15940	//   "httpMethod": "POST",
15941	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.revoke",
15942	//   "parameterOrder": [
15943	//     "name"
15944	//   ],
15945	//   "parameters": {
15946	//     "name": {
15947	//       "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.",
15948	//       "location": "path",
15949	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15950	//       "required": true,
15951	//       "type": "string"
15952	//     }
15953	//   },
15954	//   "path": "v1beta1/{+name}:revoke",
15955	//   "request": {
15956	//     "$ref": "RevokeConsentRequest"
15957	//   },
15958	//   "response": {
15959	//     "$ref": "Consent"
15960	//   },
15961	//   "scopes": [
15962	//     "https://www.googleapis.com/auth/cloud-platform"
15963	//   ]
15964	// }
15965
15966}
15967
15968// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive":
15969
15970type ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall struct {
15971	s                             *Service
15972	name                          string
15973	archiveuserdatamappingrequest *ArchiveUserDataMappingRequest
15974	urlParams_                    gensupport.URLParams
15975	ctx_                          context.Context
15976	header_                       http.Header
15977}
15978
15979// Archive: Archives the specified User data mapping.
15980//
15981// - name: The resource name of the User data mapping to archive.
15982func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Archive(name string, archiveuserdatamappingrequest *ArchiveUserDataMappingRequest) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15983	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15984	c.name = name
15985	c.archiveuserdatamappingrequest = archiveuserdatamappingrequest
15986	return c
15987}
15988
15989// Fields allows partial responses to be retrieved. See
15990// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15991// for more information.
15992func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15993	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15994	return c
15995}
15996
15997// Context sets the context to be used in this call's Do method. Any
15998// pending HTTP request will be aborted if the provided context is
15999// canceled.
16000func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
16001	c.ctx_ = ctx
16002	return c
16003}
16004
16005// Header returns an http.Header that can be modified by the caller to
16006// add HTTP headers to the request.
16007func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Header() http.Header {
16008	if c.header_ == nil {
16009		c.header_ = make(http.Header)
16010	}
16011	return c.header_
16012}
16013
16014func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) doRequest(alt string) (*http.Response, error) {
16015	reqHeaders := make(http.Header)
16016	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16017	for k, v := range c.header_ {
16018		reqHeaders[k] = v
16019	}
16020	reqHeaders.Set("User-Agent", c.s.userAgent())
16021	var body io.Reader = nil
16022	body, err := googleapi.WithoutDataWrapper.JSONReader(c.archiveuserdatamappingrequest)
16023	if err != nil {
16024		return nil, err
16025	}
16026	reqHeaders.Set("Content-Type", "application/json")
16027	c.urlParams_.Set("alt", alt)
16028	c.urlParams_.Set("prettyPrint", "false")
16029	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:archive")
16030	urls += "?" + c.urlParams_.Encode()
16031	req, err := http.NewRequest("POST", urls, body)
16032	if err != nil {
16033		return nil, err
16034	}
16035	req.Header = reqHeaders
16036	googleapi.Expand(req.URL, map[string]string{
16037		"name": c.name,
16038	})
16039	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16040}
16041
16042// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive" call.
16043// Exactly one of *ArchiveUserDataMappingResponse or error will be
16044// non-nil. Any non-2xx status code is an error. Response headers are in
16045// either *ArchiveUserDataMappingResponse.ServerResponse.Header or (if a
16046// response was returned at all) in error.(*googleapi.Error).Header. Use
16047// googleapi.IsNotModified to check whether the returned error was
16048// because http.StatusNotModified was returned.
16049func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Do(opts ...googleapi.CallOption) (*ArchiveUserDataMappingResponse, error) {
16050	gensupport.SetOptions(c.urlParams_, opts...)
16051	res, err := c.doRequest("json")
16052	if res != nil && res.StatusCode == http.StatusNotModified {
16053		if res.Body != nil {
16054			res.Body.Close()
16055		}
16056		return nil, &googleapi.Error{
16057			Code:   res.StatusCode,
16058			Header: res.Header,
16059		}
16060	}
16061	if err != nil {
16062		return nil, err
16063	}
16064	defer googleapi.CloseBody(res)
16065	if err := googleapi.CheckResponse(res); err != nil {
16066		return nil, err
16067	}
16068	ret := &ArchiveUserDataMappingResponse{
16069		ServerResponse: googleapi.ServerResponse{
16070			Header:         res.Header,
16071			HTTPStatusCode: res.StatusCode,
16072		},
16073	}
16074	target := &ret
16075	if err := gensupport.DecodeResponse(target, res); err != nil {
16076		return nil, err
16077	}
16078	return ret, nil
16079	// {
16080	//   "description": "Archives the specified User data mapping.",
16081	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive",
16082	//   "httpMethod": "POST",
16083	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive",
16084	//   "parameterOrder": [
16085	//     "name"
16086	//   ],
16087	//   "parameters": {
16088	//     "name": {
16089	//       "description": "Required. The resource name of the User data mapping to archive.",
16090	//       "location": "path",
16091	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16092	//       "required": true,
16093	//       "type": "string"
16094	//     }
16095	//   },
16096	//   "path": "v1beta1/{+name}:archive",
16097	//   "request": {
16098	//     "$ref": "ArchiveUserDataMappingRequest"
16099	//   },
16100	//   "response": {
16101	//     "$ref": "ArchiveUserDataMappingResponse"
16102	//   },
16103	//   "scopes": [
16104	//     "https://www.googleapis.com/auth/cloud-platform"
16105	//   ]
16106	// }
16107
16108}
16109
16110// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.create":
16111
16112type ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall struct {
16113	s               *Service
16114	parent          string
16115	userdatamapping *UserDataMapping
16116	urlParams_      gensupport.URLParams
16117	ctx_            context.Context
16118	header_         http.Header
16119}
16120
16121// Create: Creates a new User data mapping in the parent consent store.
16122//
16123// - parent: Name of the consent store.
16124func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Create(parent string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16125	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16126	c.parent = parent
16127	c.userdatamapping = userdatamapping
16128	return c
16129}
16130
16131// Fields allows partial responses to be retrieved. See
16132// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16133// for more information.
16134func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16135	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16136	return c
16137}
16138
16139// Context sets the context to be used in this call's Do method. Any
16140// pending HTTP request will be aborted if the provided context is
16141// canceled.
16142func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16143	c.ctx_ = ctx
16144	return c
16145}
16146
16147// Header returns an http.Header that can be modified by the caller to
16148// add HTTP headers to the request.
16149func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Header() http.Header {
16150	if c.header_ == nil {
16151		c.header_ = make(http.Header)
16152	}
16153	return c.header_
16154}
16155
16156func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
16157	reqHeaders := make(http.Header)
16158	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16159	for k, v := range c.header_ {
16160		reqHeaders[k] = v
16161	}
16162	reqHeaders.Set("User-Agent", c.s.userAgent())
16163	var body io.Reader = nil
16164	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16165	if err != nil {
16166		return nil, err
16167	}
16168	reqHeaders.Set("Content-Type", "application/json")
16169	c.urlParams_.Set("alt", alt)
16170	c.urlParams_.Set("prettyPrint", "false")
16171	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16172	urls += "?" + c.urlParams_.Encode()
16173	req, err := http.NewRequest("POST", urls, body)
16174	if err != nil {
16175		return nil, err
16176	}
16177	req.Header = reqHeaders
16178	googleapi.Expand(req.URL, map[string]string{
16179		"parent": c.parent,
16180	})
16181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16182}
16183
16184// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.create" call.
16185// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16186// status code is an error. Response headers are in either
16187// *UserDataMapping.ServerResponse.Header or (if a response was returned
16188// at all) in error.(*googleapi.Error).Header. Use
16189// googleapi.IsNotModified to check whether the returned error was
16190// because http.StatusNotModified was returned.
16191func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16192	gensupport.SetOptions(c.urlParams_, opts...)
16193	res, err := c.doRequest("json")
16194	if res != nil && res.StatusCode == http.StatusNotModified {
16195		if res.Body != nil {
16196			res.Body.Close()
16197		}
16198		return nil, &googleapi.Error{
16199			Code:   res.StatusCode,
16200			Header: res.Header,
16201		}
16202	}
16203	if err != nil {
16204		return nil, err
16205	}
16206	defer googleapi.CloseBody(res)
16207	if err := googleapi.CheckResponse(res); err != nil {
16208		return nil, err
16209	}
16210	ret := &UserDataMapping{
16211		ServerResponse: googleapi.ServerResponse{
16212			Header:         res.Header,
16213			HTTPStatusCode: res.StatusCode,
16214		},
16215	}
16216	target := &ret
16217	if err := gensupport.DecodeResponse(target, res); err != nil {
16218		return nil, err
16219	}
16220	return ret, nil
16221	// {
16222	//   "description": "Creates a new User data mapping in the parent consent store.",
16223	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16224	//   "httpMethod": "POST",
16225	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.create",
16226	//   "parameterOrder": [
16227	//     "parent"
16228	//   ],
16229	//   "parameters": {
16230	//     "parent": {
16231	//       "description": "Required. Name of the consent store.",
16232	//       "location": "path",
16233	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16234	//       "required": true,
16235	//       "type": "string"
16236	//     }
16237	//   },
16238	//   "path": "v1beta1/{+parent}/userDataMappings",
16239	//   "request": {
16240	//     "$ref": "UserDataMapping"
16241	//   },
16242	//   "response": {
16243	//     "$ref": "UserDataMapping"
16244	//   },
16245	//   "scopes": [
16246	//     "https://www.googleapis.com/auth/cloud-platform"
16247	//   ]
16248	// }
16249
16250}
16251
16252// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete":
16253
16254type ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall struct {
16255	s          *Service
16256	name       string
16257	urlParams_ gensupport.URLParams
16258	ctx_       context.Context
16259	header_    http.Header
16260}
16261
16262// Delete: Deletes the specified User data mapping.
16263//
16264// - name: The resource name of the User data mapping to delete.
16265func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16266	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16267	c.name = name
16268	return c
16269}
16270
16271// Fields allows partial responses to be retrieved. See
16272// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16273// for more information.
16274func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16275	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16276	return c
16277}
16278
16279// Context sets the context to be used in this call's Do method. Any
16280// pending HTTP request will be aborted if the provided context is
16281// canceled.
16282func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16283	c.ctx_ = ctx
16284	return c
16285}
16286
16287// Header returns an http.Header that can be modified by the caller to
16288// add HTTP headers to the request.
16289func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Header() http.Header {
16290	if c.header_ == nil {
16291		c.header_ = make(http.Header)
16292	}
16293	return c.header_
16294}
16295
16296func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
16297	reqHeaders := make(http.Header)
16298	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16299	for k, v := range c.header_ {
16300		reqHeaders[k] = v
16301	}
16302	reqHeaders.Set("User-Agent", c.s.userAgent())
16303	var body io.Reader = nil
16304	c.urlParams_.Set("alt", alt)
16305	c.urlParams_.Set("prettyPrint", "false")
16306	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16307	urls += "?" + c.urlParams_.Encode()
16308	req, err := http.NewRequest("DELETE", urls, body)
16309	if err != nil {
16310		return nil, err
16311	}
16312	req.Header = reqHeaders
16313	googleapi.Expand(req.URL, map[string]string{
16314		"name": c.name,
16315	})
16316	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16317}
16318
16319// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete" call.
16320// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16321// code is an error. Response headers are in either
16322// *Empty.ServerResponse.Header or (if a response was returned at all)
16323// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16324// check whether the returned error was because http.StatusNotModified
16325// was returned.
16326func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16327	gensupport.SetOptions(c.urlParams_, opts...)
16328	res, err := c.doRequest("json")
16329	if res != nil && res.StatusCode == http.StatusNotModified {
16330		if res.Body != nil {
16331			res.Body.Close()
16332		}
16333		return nil, &googleapi.Error{
16334			Code:   res.StatusCode,
16335			Header: res.Header,
16336		}
16337	}
16338	if err != nil {
16339		return nil, err
16340	}
16341	defer googleapi.CloseBody(res)
16342	if err := googleapi.CheckResponse(res); err != nil {
16343		return nil, err
16344	}
16345	ret := &Empty{
16346		ServerResponse: googleapi.ServerResponse{
16347			Header:         res.Header,
16348			HTTPStatusCode: res.StatusCode,
16349		},
16350	}
16351	target := &ret
16352	if err := gensupport.DecodeResponse(target, res); err != nil {
16353		return nil, err
16354	}
16355	return ret, nil
16356	// {
16357	//   "description": "Deletes the specified User data mapping.",
16358	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16359	//   "httpMethod": "DELETE",
16360	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete",
16361	//   "parameterOrder": [
16362	//     "name"
16363	//   ],
16364	//   "parameters": {
16365	//     "name": {
16366	//       "description": "Required. The resource name of the User data mapping to delete.",
16367	//       "location": "path",
16368	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16369	//       "required": true,
16370	//       "type": "string"
16371	//     }
16372	//   },
16373	//   "path": "v1beta1/{+name}",
16374	//   "response": {
16375	//     "$ref": "Empty"
16376	//   },
16377	//   "scopes": [
16378	//     "https://www.googleapis.com/auth/cloud-platform"
16379	//   ]
16380	// }
16381
16382}
16383
16384// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.get":
16385
16386type ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall struct {
16387	s            *Service
16388	name         string
16389	urlParams_   gensupport.URLParams
16390	ifNoneMatch_ string
16391	ctx_         context.Context
16392	header_      http.Header
16393}
16394
16395// Get: Gets the specified User data mapping.
16396//
16397// - name: The resource name of the User data mapping to retrieve.
16398func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16399	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16400	c.name = name
16401	return c
16402}
16403
16404// Fields allows partial responses to be retrieved. See
16405// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16406// for more information.
16407func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16408	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16409	return c
16410}
16411
16412// IfNoneMatch sets the optional parameter which makes the operation
16413// fail if the object's ETag matches the given value. This is useful for
16414// getting updates only after the object has changed since the last
16415// request. Use googleapi.IsNotModified to check whether the response
16416// error from Do is the result of In-None-Match.
16417func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16418	c.ifNoneMatch_ = entityTag
16419	return c
16420}
16421
16422// Context sets the context to be used in this call's Do method. Any
16423// pending HTTP request will be aborted if the provided context is
16424// canceled.
16425func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16426	c.ctx_ = ctx
16427	return c
16428}
16429
16430// Header returns an http.Header that can be modified by the caller to
16431// add HTTP headers to the request.
16432func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Header() http.Header {
16433	if c.header_ == nil {
16434		c.header_ = make(http.Header)
16435	}
16436	return c.header_
16437}
16438
16439func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) doRequest(alt string) (*http.Response, error) {
16440	reqHeaders := make(http.Header)
16441	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16442	for k, v := range c.header_ {
16443		reqHeaders[k] = v
16444	}
16445	reqHeaders.Set("User-Agent", c.s.userAgent())
16446	if c.ifNoneMatch_ != "" {
16447		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16448	}
16449	var body io.Reader = nil
16450	c.urlParams_.Set("alt", alt)
16451	c.urlParams_.Set("prettyPrint", "false")
16452	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16453	urls += "?" + c.urlParams_.Encode()
16454	req, err := http.NewRequest("GET", urls, body)
16455	if err != nil {
16456		return nil, err
16457	}
16458	req.Header = reqHeaders
16459	googleapi.Expand(req.URL, map[string]string{
16460		"name": c.name,
16461	})
16462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16463}
16464
16465// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.get" call.
16466// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16467// status code is an error. Response headers are in either
16468// *UserDataMapping.ServerResponse.Header or (if a response was returned
16469// at all) in error.(*googleapi.Error).Header. Use
16470// googleapi.IsNotModified to check whether the returned error was
16471// because http.StatusNotModified was returned.
16472func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16473	gensupport.SetOptions(c.urlParams_, opts...)
16474	res, err := c.doRequest("json")
16475	if res != nil && res.StatusCode == http.StatusNotModified {
16476		if res.Body != nil {
16477			res.Body.Close()
16478		}
16479		return nil, &googleapi.Error{
16480			Code:   res.StatusCode,
16481			Header: res.Header,
16482		}
16483	}
16484	if err != nil {
16485		return nil, err
16486	}
16487	defer googleapi.CloseBody(res)
16488	if err := googleapi.CheckResponse(res); err != nil {
16489		return nil, err
16490	}
16491	ret := &UserDataMapping{
16492		ServerResponse: googleapi.ServerResponse{
16493			Header:         res.Header,
16494			HTTPStatusCode: res.StatusCode,
16495		},
16496	}
16497	target := &ret
16498	if err := gensupport.DecodeResponse(target, res); err != nil {
16499		return nil, err
16500	}
16501	return ret, nil
16502	// {
16503	//   "description": "Gets the specified User data mapping.",
16504	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16505	//   "httpMethod": "GET",
16506	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.get",
16507	//   "parameterOrder": [
16508	//     "name"
16509	//   ],
16510	//   "parameters": {
16511	//     "name": {
16512	//       "description": "Required. The resource name of the User data mapping to retrieve.",
16513	//       "location": "path",
16514	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16515	//       "required": true,
16516	//       "type": "string"
16517	//     }
16518	//   },
16519	//   "path": "v1beta1/{+name}",
16520	//   "response": {
16521	//     "$ref": "UserDataMapping"
16522	//   },
16523	//   "scopes": [
16524	//     "https://www.googleapis.com/auth/cloud-platform"
16525	//   ]
16526	// }
16527
16528}
16529
16530// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.list":
16531
16532type ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall struct {
16533	s            *Service
16534	parent       string
16535	urlParams_   gensupport.URLParams
16536	ifNoneMatch_ string
16537	ctx_         context.Context
16538	header_      http.Header
16539}
16540
16541// List: Lists the User data mappings in the specified consent store.
16542//
16543// - parent: Name of the consent store to retrieve User data mappings
16544//   from.
16545func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16546	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16547	c.parent = parent
16548	return c
16549}
16550
16551// Filter sets the optional parameter "filter": Restricts the user data
16552// mappings returned to those matching a filter. The following syntax is
16553// available: * A string field value can be written as text inside
16554// quotation marks, for example "query text". The only valid
16555// relational operation for text fields is equality (`=`), where text is
16556// searched within the field, rather than having the field be equal to
16557// the text. For example, "Comment = great" returns messages with
16558// `great` in the comment field. * A number field value can be written
16559// as an integer, a decimal, or an exponential. The valid relational
16560// operators for number fields are the equality operator (`=`), along
16561// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
16562// Note that there is no inequality (`!=`) operator. You can prepend the
16563// `NOT` operator to an expression to negate it. * A date field value
16564// must be written in `yyyy-mm-dd` form. Fields with date and time use
16565// the RFC3339 time format. Leading zeros are required for one-digit
16566// months and days. The valid relational operators for date fields are
16567// the equality operator (`=`) , along with the less than/greater than
16568// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
16569// (`!=`) operator. You can prepend the `NOT` operator to an expression
16570// to negate it. * Multiple field query expressions can be combined in
16571// one query by adding `AND` or `OR` operators between the expressions.
16572// If a boolean operator appears within a quoted string, it is not
16573// treated as special, it's just another part of the character string to
16574// be matched. You can prepend the `NOT` operator to an expression to
16575// negate it. The fields available for filtering are: - data_id -
16576// user_id. For example, `filter=user_id=\"user123\". - archived -
16577// archive_time
16578func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16579	c.urlParams_.Set("filter", filter)
16580	return c
16581}
16582
16583// PageSize sets the optional parameter "pageSize": Limit on the number
16584// of User data mappings to return in a single response. If not
16585// specified, 100 is used. May not be larger than 1000.
16586func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16587	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16588	return c
16589}
16590
16591// PageToken sets the optional parameter "pageToken": Token to retrieve
16592// the next page of results, or empty to get the first page.
16593func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16594	c.urlParams_.Set("pageToken", pageToken)
16595	return c
16596}
16597
16598// Fields allows partial responses to be retrieved. See
16599// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16600// for more information.
16601func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16602	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16603	return c
16604}
16605
16606// IfNoneMatch sets the optional parameter which makes the operation
16607// fail if the object's ETag matches the given value. This is useful for
16608// getting updates only after the object has changed since the last
16609// request. Use googleapi.IsNotModified to check whether the response
16610// error from Do is the result of In-None-Match.
16611func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16612	c.ifNoneMatch_ = entityTag
16613	return c
16614}
16615
16616// Context sets the context to be used in this call's Do method. Any
16617// pending HTTP request will be aborted if the provided context is
16618// canceled.
16619func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16620	c.ctx_ = ctx
16621	return c
16622}
16623
16624// Header returns an http.Header that can be modified by the caller to
16625// add HTTP headers to the request.
16626func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Header() http.Header {
16627	if c.header_ == nil {
16628		c.header_ = make(http.Header)
16629	}
16630	return c.header_
16631}
16632
16633func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) doRequest(alt string) (*http.Response, error) {
16634	reqHeaders := make(http.Header)
16635	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16636	for k, v := range c.header_ {
16637		reqHeaders[k] = v
16638	}
16639	reqHeaders.Set("User-Agent", c.s.userAgent())
16640	if c.ifNoneMatch_ != "" {
16641		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16642	}
16643	var body io.Reader = nil
16644	c.urlParams_.Set("alt", alt)
16645	c.urlParams_.Set("prettyPrint", "false")
16646	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16647	urls += "?" + c.urlParams_.Encode()
16648	req, err := http.NewRequest("GET", urls, body)
16649	if err != nil {
16650		return nil, err
16651	}
16652	req.Header = reqHeaders
16653	googleapi.Expand(req.URL, map[string]string{
16654		"parent": c.parent,
16655	})
16656	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16657}
16658
16659// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.list" call.
16660// Exactly one of *ListUserDataMappingsResponse or error will be
16661// non-nil. Any non-2xx status code is an error. Response headers are in
16662// either *ListUserDataMappingsResponse.ServerResponse.Header or (if a
16663// response was returned at all) in error.(*googleapi.Error).Header. Use
16664// googleapi.IsNotModified to check whether the returned error was
16665// because http.StatusNotModified was returned.
16666func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Do(opts ...googleapi.CallOption) (*ListUserDataMappingsResponse, error) {
16667	gensupport.SetOptions(c.urlParams_, opts...)
16668	res, err := c.doRequest("json")
16669	if res != nil && res.StatusCode == http.StatusNotModified {
16670		if res.Body != nil {
16671			res.Body.Close()
16672		}
16673		return nil, &googleapi.Error{
16674			Code:   res.StatusCode,
16675			Header: res.Header,
16676		}
16677	}
16678	if err != nil {
16679		return nil, err
16680	}
16681	defer googleapi.CloseBody(res)
16682	if err := googleapi.CheckResponse(res); err != nil {
16683		return nil, err
16684	}
16685	ret := &ListUserDataMappingsResponse{
16686		ServerResponse: googleapi.ServerResponse{
16687			Header:         res.Header,
16688			HTTPStatusCode: res.StatusCode,
16689		},
16690	}
16691	target := &ret
16692	if err := gensupport.DecodeResponse(target, res); err != nil {
16693		return nil, err
16694	}
16695	return ret, nil
16696	// {
16697	//   "description": "Lists the User data mappings in the specified consent store.",
16698	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16699	//   "httpMethod": "GET",
16700	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.list",
16701	//   "parameterOrder": [
16702	//     "parent"
16703	//   ],
16704	//   "parameters": {
16705	//     "filter": {
16706	//       "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",
16707	//       "location": "query",
16708	//       "type": "string"
16709	//     },
16710	//     "pageSize": {
16711	//       "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.",
16712	//       "format": "int32",
16713	//       "location": "query",
16714	//       "type": "integer"
16715	//     },
16716	//     "pageToken": {
16717	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
16718	//       "location": "query",
16719	//       "type": "string"
16720	//     },
16721	//     "parent": {
16722	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
16723	//       "location": "path",
16724	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16725	//       "required": true,
16726	//       "type": "string"
16727	//     }
16728	//   },
16729	//   "path": "v1beta1/{+parent}/userDataMappings",
16730	//   "response": {
16731	//     "$ref": "ListUserDataMappingsResponse"
16732	//   },
16733	//   "scopes": [
16734	//     "https://www.googleapis.com/auth/cloud-platform"
16735	//   ]
16736	// }
16737
16738}
16739
16740// Pages invokes f for each page of results.
16741// A non-nil error returned from f will halt the iteration.
16742// The provided context supersedes any context provided to the Context method.
16743func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Pages(ctx context.Context, f func(*ListUserDataMappingsResponse) error) error {
16744	c.ctx_ = ctx
16745	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16746	for {
16747		x, err := c.Do()
16748		if err != nil {
16749			return err
16750		}
16751		if err := f(x); err != nil {
16752			return err
16753		}
16754		if x.NextPageToken == "" {
16755			return nil
16756		}
16757		c.PageToken(x.NextPageToken)
16758	}
16759}
16760
16761// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch":
16762
16763type ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall struct {
16764	s               *Service
16765	name            string
16766	userdatamapping *UserDataMapping
16767	urlParams_      gensupport.URLParams
16768	ctx_            context.Context
16769	header_         http.Header
16770}
16771
16772// Patch: Updates the specified User data mapping.
16773//
16774// - name: Resource name of the User data mapping, of the form
16775//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
16776//   /consentStores/{consent_store_id}/userDataMappings/{user_data_mappin
16777//   g_id}`.
16778func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Patch(name string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16779	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16780	c.name = name
16781	c.userdatamapping = userdatamapping
16782	return c
16783}
16784
16785// UpdateMask sets the optional parameter "updateMask": Required. The
16786// update mask that applies to the resource. For the `FieldMask`
16787// definition, see
16788// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
16789// Only the `data_id`, `user_id` and `resource_attributes` fields can be
16790// updated.
16791func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16792	c.urlParams_.Set("updateMask", updateMask)
16793	return c
16794}
16795
16796// Fields allows partial responses to be retrieved. See
16797// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16798// for more information.
16799func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16800	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16801	return c
16802}
16803
16804// Context sets the context to be used in this call's Do method. Any
16805// pending HTTP request will be aborted if the provided context is
16806// canceled.
16807func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16808	c.ctx_ = ctx
16809	return c
16810}
16811
16812// Header returns an http.Header that can be modified by the caller to
16813// add HTTP headers to the request.
16814func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Header() http.Header {
16815	if c.header_ == nil {
16816		c.header_ = make(http.Header)
16817	}
16818	return c.header_
16819}
16820
16821func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
16822	reqHeaders := make(http.Header)
16823	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16824	for k, v := range c.header_ {
16825		reqHeaders[k] = v
16826	}
16827	reqHeaders.Set("User-Agent", c.s.userAgent())
16828	var body io.Reader = nil
16829	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16830	if err != nil {
16831		return nil, err
16832	}
16833	reqHeaders.Set("Content-Type", "application/json")
16834	c.urlParams_.Set("alt", alt)
16835	c.urlParams_.Set("prettyPrint", "false")
16836	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16837	urls += "?" + c.urlParams_.Encode()
16838	req, err := http.NewRequest("PATCH", urls, body)
16839	if err != nil {
16840		return nil, err
16841	}
16842	req.Header = reqHeaders
16843	googleapi.Expand(req.URL, map[string]string{
16844		"name": c.name,
16845	})
16846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16847}
16848
16849// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch" call.
16850// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16851// status code is an error. Response headers are in either
16852// *UserDataMapping.ServerResponse.Header or (if a response was returned
16853// at all) in error.(*googleapi.Error).Header. Use
16854// googleapi.IsNotModified to check whether the returned error was
16855// because http.StatusNotModified was returned.
16856func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16857	gensupport.SetOptions(c.urlParams_, opts...)
16858	res, err := c.doRequest("json")
16859	if res != nil && res.StatusCode == http.StatusNotModified {
16860		if res.Body != nil {
16861			res.Body.Close()
16862		}
16863		return nil, &googleapi.Error{
16864			Code:   res.StatusCode,
16865			Header: res.Header,
16866		}
16867	}
16868	if err != nil {
16869		return nil, err
16870	}
16871	defer googleapi.CloseBody(res)
16872	if err := googleapi.CheckResponse(res); err != nil {
16873		return nil, err
16874	}
16875	ret := &UserDataMapping{
16876		ServerResponse: googleapi.ServerResponse{
16877			Header:         res.Header,
16878			HTTPStatusCode: res.StatusCode,
16879		},
16880	}
16881	target := &ret
16882	if err := gensupport.DecodeResponse(target, res); err != nil {
16883		return nil, err
16884	}
16885	return ret, nil
16886	// {
16887	//   "description": "Updates the specified User data mapping.",
16888	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16889	//   "httpMethod": "PATCH",
16890	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch",
16891	//   "parameterOrder": [
16892	//     "name"
16893	//   ],
16894	//   "parameters": {
16895	//     "name": {
16896	//       "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}`.",
16897	//       "location": "path",
16898	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16899	//       "required": true,
16900	//       "type": "string"
16901	//     },
16902	//     "updateMask": {
16903	//       "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.",
16904	//       "format": "google-fieldmask",
16905	//       "location": "query",
16906	//       "type": "string"
16907	//     }
16908	//   },
16909	//   "path": "v1beta1/{+name}",
16910	//   "request": {
16911	//     "$ref": "UserDataMapping"
16912	//   },
16913	//   "response": {
16914	//     "$ref": "UserDataMapping"
16915	//   },
16916	//   "scopes": [
16917	//     "https://www.googleapis.com/auth/cloud-platform"
16918	//   ]
16919	// }
16920
16921}
16922
16923// method id "healthcare.projects.locations.datasets.dicomStores.create":
16924
16925type ProjectsLocationsDatasetsDicomStoresCreateCall struct {
16926	s          *Service
16927	parent     string
16928	dicomstore *DicomStore
16929	urlParams_ gensupport.URLParams
16930	ctx_       context.Context
16931	header_    http.Header
16932}
16933
16934// Create: Creates a new DICOM store within the parent dataset.
16935//
16936// - parent: The name of the dataset this DICOM store belongs to.
16937func (r *ProjectsLocationsDatasetsDicomStoresService) Create(parent string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16938	c := &ProjectsLocationsDatasetsDicomStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16939	c.parent = parent
16940	c.dicomstore = dicomstore
16941	return c
16942}
16943
16944// DicomStoreId sets the optional parameter "dicomStoreId": The ID of
16945// the DICOM store that is being created. Any string value up to 256
16946// characters in length.
16947func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) DicomStoreId(dicomStoreId string) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16948	c.urlParams_.Set("dicomStoreId", dicomStoreId)
16949	return c
16950}
16951
16952// Fields allows partial responses to be retrieved. See
16953// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16954// for more information.
16955func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16956	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16957	return c
16958}
16959
16960// Context sets the context to be used in this call's Do method. Any
16961// pending HTTP request will be aborted if the provided context is
16962// canceled.
16963func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16964	c.ctx_ = ctx
16965	return c
16966}
16967
16968// Header returns an http.Header that can be modified by the caller to
16969// add HTTP headers to the request.
16970func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Header() http.Header {
16971	if c.header_ == nil {
16972		c.header_ = make(http.Header)
16973	}
16974	return c.header_
16975}
16976
16977func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
16978	reqHeaders := make(http.Header)
16979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
16980	for k, v := range c.header_ {
16981		reqHeaders[k] = v
16982	}
16983	reqHeaders.Set("User-Agent", c.s.userAgent())
16984	var body io.Reader = nil
16985	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
16986	if err != nil {
16987		return nil, err
16988	}
16989	reqHeaders.Set("Content-Type", "application/json")
16990	c.urlParams_.Set("alt", alt)
16991	c.urlParams_.Set("prettyPrint", "false")
16992	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
16993	urls += "?" + c.urlParams_.Encode()
16994	req, err := http.NewRequest("POST", urls, body)
16995	if err != nil {
16996		return nil, err
16997	}
16998	req.Header = reqHeaders
16999	googleapi.Expand(req.URL, map[string]string{
17000		"parent": c.parent,
17001	})
17002	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17003}
17004
17005// Do executes the "healthcare.projects.locations.datasets.dicomStores.create" call.
17006// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17007// status code is an error. Response headers are in either
17008// *DicomStore.ServerResponse.Header or (if a response was returned at
17009// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17010// to check whether the returned error was because
17011// http.StatusNotModified was returned.
17012func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17013	gensupport.SetOptions(c.urlParams_, opts...)
17014	res, err := c.doRequest("json")
17015	if res != nil && res.StatusCode == http.StatusNotModified {
17016		if res.Body != nil {
17017			res.Body.Close()
17018		}
17019		return nil, &googleapi.Error{
17020			Code:   res.StatusCode,
17021			Header: res.Header,
17022		}
17023	}
17024	if err != nil {
17025		return nil, err
17026	}
17027	defer googleapi.CloseBody(res)
17028	if err := googleapi.CheckResponse(res); err != nil {
17029		return nil, err
17030	}
17031	ret := &DicomStore{
17032		ServerResponse: googleapi.ServerResponse{
17033			Header:         res.Header,
17034			HTTPStatusCode: res.StatusCode,
17035		},
17036	}
17037	target := &ret
17038	if err := gensupport.DecodeResponse(target, res); err != nil {
17039		return nil, err
17040	}
17041	return ret, nil
17042	// {
17043	//   "description": "Creates a new DICOM store within the parent dataset.",
17044	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
17045	//   "httpMethod": "POST",
17046	//   "id": "healthcare.projects.locations.datasets.dicomStores.create",
17047	//   "parameterOrder": [
17048	//     "parent"
17049	//   ],
17050	//   "parameters": {
17051	//     "dicomStoreId": {
17052	//       "description": "The ID of the DICOM store that is being created. Any string value up to 256 characters in length.",
17053	//       "location": "query",
17054	//       "type": "string"
17055	//     },
17056	//     "parent": {
17057	//       "description": "The name of the dataset this DICOM store belongs to.",
17058	//       "location": "path",
17059	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
17060	//       "required": true,
17061	//       "type": "string"
17062	//     }
17063	//   },
17064	//   "path": "v1beta1/{+parent}/dicomStores",
17065	//   "request": {
17066	//     "$ref": "DicomStore"
17067	//   },
17068	//   "response": {
17069	//     "$ref": "DicomStore"
17070	//   },
17071	//   "scopes": [
17072	//     "https://www.googleapis.com/auth/cloud-platform"
17073	//   ]
17074	// }
17075
17076}
17077
17078// method id "healthcare.projects.locations.datasets.dicomStores.deidentify":
17079
17080type ProjectsLocationsDatasetsDicomStoresDeidentifyCall struct {
17081	s                           *Service
17082	sourceStore                 string
17083	deidentifydicomstorerequest *DeidentifyDicomStoreRequest
17084	urlParams_                  gensupport.URLParams
17085	ctx_                        context.Context
17086	header_                     http.Header
17087}
17088
17089// Deidentify: De-identifies data from the source store and writes it to
17090// the destination store. The metadata field type is OperationMetadata.
17091// If the request is successful, the response field type is
17092// DeidentifyDicomStoreSummary. The LRO result may still be successful
17093// if de-identification fails for some DICOM instances. The output DICOM
17094// store will not contain these failed resources. The number of
17095// resources processed are tracked in Operation.metadata. Error details
17096// are logged to Cloud Logging. For more information, see Viewing error
17097// logs in Cloud Logging
17098// (https://cloud.google.com/healthcare/docs/how-tos/logging).
17099//
17100// - sourceStore: Source DICOM store resource name. For example,
17101//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17102//   /dicomStores/{dicom_store_id}`.
17103func (r *ProjectsLocationsDatasetsDicomStoresService) Deidentify(sourceStore string, deidentifydicomstorerequest *DeidentifyDicomStoreRequest) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17104	c := &ProjectsLocationsDatasetsDicomStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17105	c.sourceStore = sourceStore
17106	c.deidentifydicomstorerequest = deidentifydicomstorerequest
17107	return c
17108}
17109
17110// Fields allows partial responses to be retrieved. See
17111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17112// for more information.
17113func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17114	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17115	return c
17116}
17117
17118// Context sets the context to be used in this call's Do method. Any
17119// pending HTTP request will be aborted if the provided context is
17120// canceled.
17121func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17122	c.ctx_ = ctx
17123	return c
17124}
17125
17126// Header returns an http.Header that can be modified by the caller to
17127// add HTTP headers to the request.
17128func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Header() http.Header {
17129	if c.header_ == nil {
17130		c.header_ = make(http.Header)
17131	}
17132	return c.header_
17133}
17134
17135func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
17136	reqHeaders := make(http.Header)
17137	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17138	for k, v := range c.header_ {
17139		reqHeaders[k] = v
17140	}
17141	reqHeaders.Set("User-Agent", c.s.userAgent())
17142	var body io.Reader = nil
17143	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydicomstorerequest)
17144	if err != nil {
17145		return nil, err
17146	}
17147	reqHeaders.Set("Content-Type", "application/json")
17148	c.urlParams_.Set("alt", alt)
17149	c.urlParams_.Set("prettyPrint", "false")
17150	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
17151	urls += "?" + c.urlParams_.Encode()
17152	req, err := http.NewRequest("POST", urls, body)
17153	if err != nil {
17154		return nil, err
17155	}
17156	req.Header = reqHeaders
17157	googleapi.Expand(req.URL, map[string]string{
17158		"sourceStore": c.sourceStore,
17159	})
17160	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17161}
17162
17163// Do executes the "healthcare.projects.locations.datasets.dicomStores.deidentify" call.
17164// Exactly one of *Operation or error will be non-nil. Any non-2xx
17165// status code is an error. Response headers are in either
17166// *Operation.ServerResponse.Header or (if a response was returned at
17167// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17168// to check whether the returned error was because
17169// http.StatusNotModified was returned.
17170func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17171	gensupport.SetOptions(c.urlParams_, opts...)
17172	res, err := c.doRequest("json")
17173	if res != nil && res.StatusCode == http.StatusNotModified {
17174		if res.Body != nil {
17175			res.Body.Close()
17176		}
17177		return nil, &googleapi.Error{
17178			Code:   res.StatusCode,
17179			Header: res.Header,
17180		}
17181	}
17182	if err != nil {
17183		return nil, err
17184	}
17185	defer googleapi.CloseBody(res)
17186	if err := googleapi.CheckResponse(res); err != nil {
17187		return nil, err
17188	}
17189	ret := &Operation{
17190		ServerResponse: googleapi.ServerResponse{
17191			Header:         res.Header,
17192			HTTPStatusCode: res.StatusCode,
17193		},
17194	}
17195	target := &ret
17196	if err := gensupport.DecodeResponse(target, res); err != nil {
17197		return nil, err
17198	}
17199	return ret, nil
17200	// {
17201	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).",
17202	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify",
17203	//   "httpMethod": "POST",
17204	//   "id": "healthcare.projects.locations.datasets.dicomStores.deidentify",
17205	//   "parameterOrder": [
17206	//     "sourceStore"
17207	//   ],
17208	//   "parameters": {
17209	//     "sourceStore": {
17210	//       "description": "Source DICOM store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
17211	//       "location": "path",
17212	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17213	//       "required": true,
17214	//       "type": "string"
17215	//     }
17216	//   },
17217	//   "path": "v1beta1/{+sourceStore}:deidentify",
17218	//   "request": {
17219	//     "$ref": "DeidentifyDicomStoreRequest"
17220	//   },
17221	//   "response": {
17222	//     "$ref": "Operation"
17223	//   },
17224	//   "scopes": [
17225	//     "https://www.googleapis.com/auth/cloud-platform"
17226	//   ]
17227	// }
17228
17229}
17230
17231// method id "healthcare.projects.locations.datasets.dicomStores.delete":
17232
17233type ProjectsLocationsDatasetsDicomStoresDeleteCall struct {
17234	s          *Service
17235	name       string
17236	urlParams_ gensupport.URLParams
17237	ctx_       context.Context
17238	header_    http.Header
17239}
17240
17241// Delete: Deletes the specified DICOM store and removes all images that
17242// are contained within it.
17243//
17244// - name: The resource name of the DICOM store to delete.
17245func (r *ProjectsLocationsDatasetsDicomStoresService) Delete(name string) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17246	c := &ProjectsLocationsDatasetsDicomStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17247	c.name = name
17248	return c
17249}
17250
17251// Fields allows partial responses to be retrieved. See
17252// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17253// for more information.
17254func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17255	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17256	return c
17257}
17258
17259// Context sets the context to be used in this call's Do method. Any
17260// pending HTTP request will be aborted if the provided context is
17261// canceled.
17262func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17263	c.ctx_ = ctx
17264	return c
17265}
17266
17267// Header returns an http.Header that can be modified by the caller to
17268// add HTTP headers to the request.
17269func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Header() http.Header {
17270	if c.header_ == nil {
17271		c.header_ = make(http.Header)
17272	}
17273	return c.header_
17274}
17275
17276func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
17277	reqHeaders := make(http.Header)
17278	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17279	for k, v := range c.header_ {
17280		reqHeaders[k] = v
17281	}
17282	reqHeaders.Set("User-Agent", c.s.userAgent())
17283	var body io.Reader = nil
17284	c.urlParams_.Set("alt", alt)
17285	c.urlParams_.Set("prettyPrint", "false")
17286	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17287	urls += "?" + c.urlParams_.Encode()
17288	req, err := http.NewRequest("DELETE", urls, body)
17289	if err != nil {
17290		return nil, err
17291	}
17292	req.Header = reqHeaders
17293	googleapi.Expand(req.URL, map[string]string{
17294		"name": c.name,
17295	})
17296	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17297}
17298
17299// Do executes the "healthcare.projects.locations.datasets.dicomStores.delete" call.
17300// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17301// code is an error. Response headers are in either
17302// *Empty.ServerResponse.Header or (if a response was returned at all)
17303// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17304// check whether the returned error was because http.StatusNotModified
17305// was returned.
17306func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17307	gensupport.SetOptions(c.urlParams_, opts...)
17308	res, err := c.doRequest("json")
17309	if res != nil && res.StatusCode == http.StatusNotModified {
17310		if res.Body != nil {
17311			res.Body.Close()
17312		}
17313		return nil, &googleapi.Error{
17314			Code:   res.StatusCode,
17315			Header: res.Header,
17316		}
17317	}
17318	if err != nil {
17319		return nil, err
17320	}
17321	defer googleapi.CloseBody(res)
17322	if err := googleapi.CheckResponse(res); err != nil {
17323		return nil, err
17324	}
17325	ret := &Empty{
17326		ServerResponse: googleapi.ServerResponse{
17327			Header:         res.Header,
17328			HTTPStatusCode: res.StatusCode,
17329		},
17330	}
17331	target := &ret
17332	if err := gensupport.DecodeResponse(target, res); err != nil {
17333		return nil, err
17334	}
17335	return ret, nil
17336	// {
17337	//   "description": "Deletes the specified DICOM store and removes all images that are contained within it.",
17338	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17339	//   "httpMethod": "DELETE",
17340	//   "id": "healthcare.projects.locations.datasets.dicomStores.delete",
17341	//   "parameterOrder": [
17342	//     "name"
17343	//   ],
17344	//   "parameters": {
17345	//     "name": {
17346	//       "description": "The resource name of the DICOM store to delete.",
17347	//       "location": "path",
17348	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17349	//       "required": true,
17350	//       "type": "string"
17351	//     }
17352	//   },
17353	//   "path": "v1beta1/{+name}",
17354	//   "response": {
17355	//     "$ref": "Empty"
17356	//   },
17357	//   "scopes": [
17358	//     "https://www.googleapis.com/auth/cloud-platform"
17359	//   ]
17360	// }
17361
17362}
17363
17364// method id "healthcare.projects.locations.datasets.dicomStores.export":
17365
17366type ProjectsLocationsDatasetsDicomStoresExportCall struct {
17367	s                      *Service
17368	name                   string
17369	exportdicomdatarequest *ExportDicomDataRequest
17370	urlParams_             gensupport.URLParams
17371	ctx_                   context.Context
17372	header_                http.Header
17373}
17374
17375// Export: Exports data to the specified destination by copying it from
17376// the DICOM store. Errors are also logged to Cloud Logging. For more
17377// information, see Viewing errors in Cloud Logging
17378// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
17379// metadata field type is OperationMetadata.
17380//
17381// - name: The DICOM store resource name from which to export the data.
17382//   For example,
17383//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17384//   /dicomStores/{dicom_store_id}`.
17385func (r *ProjectsLocationsDatasetsDicomStoresService) Export(name string, exportdicomdatarequest *ExportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresExportCall {
17386	c := &ProjectsLocationsDatasetsDicomStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17387	c.name = name
17388	c.exportdicomdatarequest = exportdicomdatarequest
17389	return c
17390}
17391
17392// Fields allows partial responses to be retrieved. See
17393// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17394// for more information.
17395func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresExportCall {
17396	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17397	return c
17398}
17399
17400// Context sets the context to be used in this call's Do method. Any
17401// pending HTTP request will be aborted if the provided context is
17402// canceled.
17403func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresExportCall {
17404	c.ctx_ = ctx
17405	return c
17406}
17407
17408// Header returns an http.Header that can be modified by the caller to
17409// add HTTP headers to the request.
17410func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Header() http.Header {
17411	if c.header_ == nil {
17412		c.header_ = make(http.Header)
17413	}
17414	return c.header_
17415}
17416
17417func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
17418	reqHeaders := make(http.Header)
17419	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17420	for k, v := range c.header_ {
17421		reqHeaders[k] = v
17422	}
17423	reqHeaders.Set("User-Agent", c.s.userAgent())
17424	var body io.Reader = nil
17425	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportdicomdatarequest)
17426	if err != nil {
17427		return nil, err
17428	}
17429	reqHeaders.Set("Content-Type", "application/json")
17430	c.urlParams_.Set("alt", alt)
17431	c.urlParams_.Set("prettyPrint", "false")
17432	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
17433	urls += "?" + c.urlParams_.Encode()
17434	req, err := http.NewRequest("POST", urls, body)
17435	if err != nil {
17436		return nil, err
17437	}
17438	req.Header = reqHeaders
17439	googleapi.Expand(req.URL, map[string]string{
17440		"name": c.name,
17441	})
17442	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17443}
17444
17445// Do executes the "healthcare.projects.locations.datasets.dicomStores.export" call.
17446// Exactly one of *Operation or error will be non-nil. Any non-2xx
17447// status code is an error. Response headers are in either
17448// *Operation.ServerResponse.Header or (if a response was returned at
17449// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17450// to check whether the returned error was because
17451// http.StatusNotModified was returned.
17452func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17453	gensupport.SetOptions(c.urlParams_, opts...)
17454	res, err := c.doRequest("json")
17455	if res != nil && res.StatusCode == http.StatusNotModified {
17456		if res.Body != nil {
17457			res.Body.Close()
17458		}
17459		return nil, &googleapi.Error{
17460			Code:   res.StatusCode,
17461			Header: res.Header,
17462		}
17463	}
17464	if err != nil {
17465		return nil, err
17466	}
17467	defer googleapi.CloseBody(res)
17468	if err := googleapi.CheckResponse(res); err != nil {
17469		return nil, err
17470	}
17471	ret := &Operation{
17472		ServerResponse: googleapi.ServerResponse{
17473			Header:         res.Header,
17474			HTTPStatusCode: res.StatusCode,
17475		},
17476	}
17477	target := &ret
17478	if err := gensupport.DecodeResponse(target, res); err != nil {
17479		return nil, err
17480	}
17481	return ret, nil
17482	// {
17483	//   "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 errors in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.",
17484	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export",
17485	//   "httpMethod": "POST",
17486	//   "id": "healthcare.projects.locations.datasets.dicomStores.export",
17487	//   "parameterOrder": [
17488	//     "name"
17489	//   ],
17490	//   "parameters": {
17491	//     "name": {
17492	//       "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}`.",
17493	//       "location": "path",
17494	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17495	//       "required": true,
17496	//       "type": "string"
17497	//     }
17498	//   },
17499	//   "path": "v1beta1/{+name}:export",
17500	//   "request": {
17501	//     "$ref": "ExportDicomDataRequest"
17502	//   },
17503	//   "response": {
17504	//     "$ref": "Operation"
17505	//   },
17506	//   "scopes": [
17507	//     "https://www.googleapis.com/auth/cloud-platform"
17508	//   ]
17509	// }
17510
17511}
17512
17513// method id "healthcare.projects.locations.datasets.dicomStores.get":
17514
17515type ProjectsLocationsDatasetsDicomStoresGetCall struct {
17516	s            *Service
17517	name         string
17518	urlParams_   gensupport.URLParams
17519	ifNoneMatch_ string
17520	ctx_         context.Context
17521	header_      http.Header
17522}
17523
17524// Get: Gets the specified DICOM store.
17525//
17526// - name: The resource name of the DICOM store to get.
17527func (r *ProjectsLocationsDatasetsDicomStoresService) Get(name string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17528	c := &ProjectsLocationsDatasetsDicomStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17529	c.name = name
17530	return c
17531}
17532
17533// Fields allows partial responses to be retrieved. See
17534// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17535// for more information.
17536func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetCall {
17537	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17538	return c
17539}
17540
17541// IfNoneMatch sets the optional parameter which makes the operation
17542// fail if the object's ETag matches the given value. This is useful for
17543// getting updates only after the object has changed since the last
17544// request. Use googleapi.IsNotModified to check whether the response
17545// error from Do is the result of In-None-Match.
17546func (c *ProjectsLocationsDatasetsDicomStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17547	c.ifNoneMatch_ = entityTag
17548	return c
17549}
17550
17551// Context sets the context to be used in this call's Do method. Any
17552// pending HTTP request will be aborted if the provided context is
17553// canceled.
17554func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetCall {
17555	c.ctx_ = ctx
17556	return c
17557}
17558
17559// Header returns an http.Header that can be modified by the caller to
17560// add HTTP headers to the request.
17561func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Header() http.Header {
17562	if c.header_ == nil {
17563		c.header_ = make(http.Header)
17564	}
17565	return c.header_
17566}
17567
17568func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
17569	reqHeaders := make(http.Header)
17570	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17571	for k, v := range c.header_ {
17572		reqHeaders[k] = v
17573	}
17574	reqHeaders.Set("User-Agent", c.s.userAgent())
17575	if c.ifNoneMatch_ != "" {
17576		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17577	}
17578	var body io.Reader = nil
17579	c.urlParams_.Set("alt", alt)
17580	c.urlParams_.Set("prettyPrint", "false")
17581	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17582	urls += "?" + c.urlParams_.Encode()
17583	req, err := http.NewRequest("GET", urls, body)
17584	if err != nil {
17585		return nil, err
17586	}
17587	req.Header = reqHeaders
17588	googleapi.Expand(req.URL, map[string]string{
17589		"name": c.name,
17590	})
17591	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17592}
17593
17594// Do executes the "healthcare.projects.locations.datasets.dicomStores.get" call.
17595// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17596// status code is an error. Response headers are in either
17597// *DicomStore.ServerResponse.Header or (if a response was returned at
17598// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17599// to check whether the returned error was because
17600// http.StatusNotModified was returned.
17601func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17602	gensupport.SetOptions(c.urlParams_, opts...)
17603	res, err := c.doRequest("json")
17604	if res != nil && res.StatusCode == http.StatusNotModified {
17605		if res.Body != nil {
17606			res.Body.Close()
17607		}
17608		return nil, &googleapi.Error{
17609			Code:   res.StatusCode,
17610			Header: res.Header,
17611		}
17612	}
17613	if err != nil {
17614		return nil, err
17615	}
17616	defer googleapi.CloseBody(res)
17617	if err := googleapi.CheckResponse(res); err != nil {
17618		return nil, err
17619	}
17620	ret := &DicomStore{
17621		ServerResponse: googleapi.ServerResponse{
17622			Header:         res.Header,
17623			HTTPStatusCode: res.StatusCode,
17624		},
17625	}
17626	target := &ret
17627	if err := gensupport.DecodeResponse(target, res); err != nil {
17628		return nil, err
17629	}
17630	return ret, nil
17631	// {
17632	//   "description": "Gets the specified DICOM store.",
17633	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17634	//   "httpMethod": "GET",
17635	//   "id": "healthcare.projects.locations.datasets.dicomStores.get",
17636	//   "parameterOrder": [
17637	//     "name"
17638	//   ],
17639	//   "parameters": {
17640	//     "name": {
17641	//       "description": "The resource name of the DICOM store to get.",
17642	//       "location": "path",
17643	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17644	//       "required": true,
17645	//       "type": "string"
17646	//     }
17647	//   },
17648	//   "path": "v1beta1/{+name}",
17649	//   "response": {
17650	//     "$ref": "DicomStore"
17651	//   },
17652	//   "scopes": [
17653	//     "https://www.googleapis.com/auth/cloud-platform"
17654	//   ]
17655	// }
17656
17657}
17658
17659// method id "healthcare.projects.locations.datasets.dicomStores.getIamPolicy":
17660
17661type ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall struct {
17662	s            *Service
17663	resource     string
17664	urlParams_   gensupport.URLParams
17665	ifNoneMatch_ string
17666	ctx_         context.Context
17667	header_      http.Header
17668}
17669
17670// GetIamPolicy: Gets the access control policy for a resource. Returns
17671// an empty policy if the resource exists and does not have a policy
17672// set.
17673//
17674// - resource: REQUIRED: The resource for which the policy is being
17675//   requested. See the operation documentation for the appropriate
17676//   value for this field.
17677func (r *ProjectsLocationsDatasetsDicomStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17678	c := &ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17679	c.resource = resource
17680	return c
17681}
17682
17683// OptionsRequestedPolicyVersion sets the optional parameter
17684// "options.requestedPolicyVersion": The policy format version to be
17685// returned. Valid values are 0, 1, and 3. Requests specifying an
17686// invalid value will be rejected. Requests for policies with any
17687// conditional bindings must specify version 3. Policies without any
17688// conditional bindings may specify any valid value or leave the field
17689// unset. To learn which resources support conditions in their IAM
17690// policies, see the IAM documentation
17691// (https://cloud.google.com/iam/help/conditions/resource-policies).
17692func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17693	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
17694	return c
17695}
17696
17697// Fields allows partial responses to be retrieved. See
17698// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17699// for more information.
17700func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17701	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17702	return c
17703}
17704
17705// IfNoneMatch sets the optional parameter which makes the operation
17706// fail if the object's ETag matches the given value. This is useful for
17707// getting updates only after the object has changed since the last
17708// request. Use googleapi.IsNotModified to check whether the response
17709// error from Do is the result of In-None-Match.
17710func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17711	c.ifNoneMatch_ = entityTag
17712	return c
17713}
17714
17715// Context sets the context to be used in this call's Do method. Any
17716// pending HTTP request will be aborted if the provided context is
17717// canceled.
17718func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17719	c.ctx_ = ctx
17720	return c
17721}
17722
17723// Header returns an http.Header that can be modified by the caller to
17724// add HTTP headers to the request.
17725func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Header() http.Header {
17726	if c.header_ == nil {
17727		c.header_ = make(http.Header)
17728	}
17729	return c.header_
17730}
17731
17732func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
17733	reqHeaders := make(http.Header)
17734	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17735	for k, v := range c.header_ {
17736		reqHeaders[k] = v
17737	}
17738	reqHeaders.Set("User-Agent", c.s.userAgent())
17739	if c.ifNoneMatch_ != "" {
17740		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17741	}
17742	var body io.Reader = nil
17743	c.urlParams_.Set("alt", alt)
17744	c.urlParams_.Set("prettyPrint", "false")
17745	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
17746	urls += "?" + c.urlParams_.Encode()
17747	req, err := http.NewRequest("GET", urls, body)
17748	if err != nil {
17749		return nil, err
17750	}
17751	req.Header = reqHeaders
17752	googleapi.Expand(req.URL, map[string]string{
17753		"resource": c.resource,
17754	})
17755	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17756}
17757
17758// Do executes the "healthcare.projects.locations.datasets.dicomStores.getIamPolicy" call.
17759// Exactly one of *Policy or error will be non-nil. Any non-2xx status
17760// code is an error. Response headers are in either
17761// *Policy.ServerResponse.Header or (if a response was returned at all)
17762// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17763// check whether the returned error was because http.StatusNotModified
17764// was returned.
17765func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
17766	gensupport.SetOptions(c.urlParams_, opts...)
17767	res, err := c.doRequest("json")
17768	if res != nil && res.StatusCode == http.StatusNotModified {
17769		if res.Body != nil {
17770			res.Body.Close()
17771		}
17772		return nil, &googleapi.Error{
17773			Code:   res.StatusCode,
17774			Header: res.Header,
17775		}
17776	}
17777	if err != nil {
17778		return nil, err
17779	}
17780	defer googleapi.CloseBody(res)
17781	if err := googleapi.CheckResponse(res); err != nil {
17782		return nil, err
17783	}
17784	ret := &Policy{
17785		ServerResponse: googleapi.ServerResponse{
17786			Header:         res.Header,
17787			HTTPStatusCode: res.StatusCode,
17788		},
17789	}
17790	target := &ret
17791	if err := gensupport.DecodeResponse(target, res); err != nil {
17792		return nil, err
17793	}
17794	return ret, nil
17795	// {
17796	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
17797	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy",
17798	//   "httpMethod": "GET",
17799	//   "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy",
17800	//   "parameterOrder": [
17801	//     "resource"
17802	//   ],
17803	//   "parameters": {
17804	//     "options.requestedPolicyVersion": {
17805	//       "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).",
17806	//       "format": "int32",
17807	//       "location": "query",
17808	//       "type": "integer"
17809	//     },
17810	//     "resource": {
17811	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
17812	//       "location": "path",
17813	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17814	//       "required": true,
17815	//       "type": "string"
17816	//     }
17817	//   },
17818	//   "path": "v1beta1/{+resource}:getIamPolicy",
17819	//   "response": {
17820	//     "$ref": "Policy"
17821	//   },
17822	//   "scopes": [
17823	//     "https://www.googleapis.com/auth/cloud-platform"
17824	//   ]
17825	// }
17826
17827}
17828
17829// method id "healthcare.projects.locations.datasets.dicomStores.import":
17830
17831type ProjectsLocationsDatasetsDicomStoresImportCall struct {
17832	s                      *Service
17833	name                   string
17834	importdicomdatarequest *ImportDicomDataRequest
17835	urlParams_             gensupport.URLParams
17836	ctx_                   context.Context
17837	header_                http.Header
17838}
17839
17840// Import: Imports data into the DICOM store by copying it from the
17841// specified source. Errors are logged to Cloud Logging. For more
17842// information, see Viewing error logs in Cloud Logging
17843// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
17844// metadata field type is OperationMetadata.
17845//
17846// - name: The name of the DICOM store resource into which the data is
17847//   imported. For example,
17848//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17849//   /dicomStores/{dicom_store_id}`.
17850func (r *ProjectsLocationsDatasetsDicomStoresService) Import(name string, importdicomdatarequest *ImportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresImportCall {
17851	c := &ProjectsLocationsDatasetsDicomStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17852	c.name = name
17853	c.importdicomdatarequest = importdicomdatarequest
17854	return c
17855}
17856
17857// Fields allows partial responses to be retrieved. See
17858// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17859// for more information.
17860func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresImportCall {
17861	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17862	return c
17863}
17864
17865// Context sets the context to be used in this call's Do method. Any
17866// pending HTTP request will be aborted if the provided context is
17867// canceled.
17868func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresImportCall {
17869	c.ctx_ = ctx
17870	return c
17871}
17872
17873// Header returns an http.Header that can be modified by the caller to
17874// add HTTP headers to the request.
17875func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Header() http.Header {
17876	if c.header_ == nil {
17877		c.header_ = make(http.Header)
17878	}
17879	return c.header_
17880}
17881
17882func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
17883	reqHeaders := make(http.Header)
17884	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
17885	for k, v := range c.header_ {
17886		reqHeaders[k] = v
17887	}
17888	reqHeaders.Set("User-Agent", c.s.userAgent())
17889	var body io.Reader = nil
17890	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importdicomdatarequest)
17891	if err != nil {
17892		return nil, err
17893	}
17894	reqHeaders.Set("Content-Type", "application/json")
17895	c.urlParams_.Set("alt", alt)
17896	c.urlParams_.Set("prettyPrint", "false")
17897	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
17898	urls += "?" + c.urlParams_.Encode()
17899	req, err := http.NewRequest("POST", urls, body)
17900	if err != nil {
17901		return nil, err
17902	}
17903	req.Header = reqHeaders
17904	googleapi.Expand(req.URL, map[string]string{
17905		"name": c.name,
17906	})
17907	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17908}
17909
17910// Do executes the "healthcare.projects.locations.datasets.dicomStores.import" call.
17911// Exactly one of *Operation or error will be non-nil. Any non-2xx
17912// status code is an error. Response headers are in either
17913// *Operation.ServerResponse.Header or (if a response was returned at
17914// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17915// to check whether the returned error was because
17916// http.StatusNotModified was returned.
17917func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17918	gensupport.SetOptions(c.urlParams_, opts...)
17919	res, err := c.doRequest("json")
17920	if res != nil && res.StatusCode == http.StatusNotModified {
17921		if res.Body != nil {
17922			res.Body.Close()
17923		}
17924		return nil, &googleapi.Error{
17925			Code:   res.StatusCode,
17926			Header: res.Header,
17927		}
17928	}
17929	if err != nil {
17930		return nil, err
17931	}
17932	defer googleapi.CloseBody(res)
17933	if err := googleapi.CheckResponse(res); err != nil {
17934		return nil, err
17935	}
17936	ret := &Operation{
17937		ServerResponse: googleapi.ServerResponse{
17938			Header:         res.Header,
17939			HTTPStatusCode: res.StatusCode,
17940		},
17941	}
17942	target := &ret
17943	if err := gensupport.DecodeResponse(target, res); err != nil {
17944		return nil, err
17945	}
17946	return ret, nil
17947	// {
17948	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.",
17949	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import",
17950	//   "httpMethod": "POST",
17951	//   "id": "healthcare.projects.locations.datasets.dicomStores.import",
17952	//   "parameterOrder": [
17953	//     "name"
17954	//   ],
17955	//   "parameters": {
17956	//     "name": {
17957	//       "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}`.",
17958	//       "location": "path",
17959	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17960	//       "required": true,
17961	//       "type": "string"
17962	//     }
17963	//   },
17964	//   "path": "v1beta1/{+name}:import",
17965	//   "request": {
17966	//     "$ref": "ImportDicomDataRequest"
17967	//   },
17968	//   "response": {
17969	//     "$ref": "Operation"
17970	//   },
17971	//   "scopes": [
17972	//     "https://www.googleapis.com/auth/cloud-platform"
17973	//   ]
17974	// }
17975
17976}
17977
17978// method id "healthcare.projects.locations.datasets.dicomStores.list":
17979
17980type ProjectsLocationsDatasetsDicomStoresListCall struct {
17981	s            *Service
17982	parent       string
17983	urlParams_   gensupport.URLParams
17984	ifNoneMatch_ string
17985	ctx_         context.Context
17986	header_      http.Header
17987}
17988
17989// List: Lists the DICOM stores in the given dataset.
17990//
17991// - parent: Name of the dataset.
17992func (r *ProjectsLocationsDatasetsDicomStoresService) List(parent string) *ProjectsLocationsDatasetsDicomStoresListCall {
17993	c := &ProjectsLocationsDatasetsDicomStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17994	c.parent = parent
17995	return c
17996}
17997
17998// Filter sets the optional parameter "filter": Restricts stores
17999// returned to those matching a filter. The following syntax is
18000// available: * A string field value can be written as text inside
18001// quotation marks, for example "query text". The only valid
18002// relational operation for text fields is equality (`=`), where text is
18003// searched within the field, rather than having the field be equal to
18004// the text. For example, "Comment = great" returns messages with
18005// `great` in the comment field. * A number field value can be written
18006// as an integer, a decimal, or an exponential. The valid relational
18007// operators for number fields are the equality operator (`=`), along
18008// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
18009// Note that there is no inequality (`!=`) operator. You can prepend the
18010// `NOT` operator to an expression to negate it. * A date field value
18011// must be written in `yyyy-mm-dd` form. Fields with date and time use
18012// the RFC3339 time format. Leading zeros are required for one-digit
18013// months and days. The valid relational operators for date fields are
18014// the equality operator (`=`) , along with the less than/greater than
18015// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
18016// (`!=`) operator. You can prepend the `NOT` operator to an expression
18017// to negate it. * Multiple field query expressions can be combined in
18018// one query by adding `AND` or `OR` operators between the expressions.
18019// If a boolean operator appears within a quoted string, it is not
18020// treated as special, it's just another part of the character string to
18021// be matched. You can prepend the `NOT` operator to an expression to
18022// negate it. Only filtering on labels is supported. For example,
18023// `labels.key=value`.
18024func (c *ProjectsLocationsDatasetsDicomStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsDicomStoresListCall {
18025	c.urlParams_.Set("filter", filter)
18026	return c
18027}
18028
18029// PageSize sets the optional parameter "pageSize": Limit on the number
18030// of DICOM stores to return in a single response. If not specified, 100
18031// is used. May not be larger than 1000.
18032func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDicomStoresListCall {
18033	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18034	return c
18035}
18036
18037// PageToken sets the optional parameter "pageToken": The
18038// next_page_token value returned from the previous List request, if
18039// any.
18040func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDicomStoresListCall {
18041	c.urlParams_.Set("pageToken", pageToken)
18042	return c
18043}
18044
18045// Fields allows partial responses to be retrieved. See
18046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18047// for more information.
18048func (c *ProjectsLocationsDatasetsDicomStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresListCall {
18049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18050	return c
18051}
18052
18053// IfNoneMatch sets the optional parameter which makes the operation
18054// fail if the object's ETag matches the given value. This is useful for
18055// getting updates only after the object has changed since the last
18056// request. Use googleapi.IsNotModified to check whether the response
18057// error from Do is the result of In-None-Match.
18058func (c *ProjectsLocationsDatasetsDicomStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresListCall {
18059	c.ifNoneMatch_ = entityTag
18060	return c
18061}
18062
18063// Context sets the context to be used in this call's Do method. Any
18064// pending HTTP request will be aborted if the provided context is
18065// canceled.
18066func (c *ProjectsLocationsDatasetsDicomStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresListCall {
18067	c.ctx_ = ctx
18068	return c
18069}
18070
18071// Header returns an http.Header that can be modified by the caller to
18072// add HTTP headers to the request.
18073func (c *ProjectsLocationsDatasetsDicomStoresListCall) Header() http.Header {
18074	if c.header_ == nil {
18075		c.header_ = make(http.Header)
18076	}
18077	return c.header_
18078}
18079
18080func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
18081	reqHeaders := make(http.Header)
18082	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18083	for k, v := range c.header_ {
18084		reqHeaders[k] = v
18085	}
18086	reqHeaders.Set("User-Agent", c.s.userAgent())
18087	if c.ifNoneMatch_ != "" {
18088		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18089	}
18090	var body io.Reader = nil
18091	c.urlParams_.Set("alt", alt)
18092	c.urlParams_.Set("prettyPrint", "false")
18093	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
18094	urls += "?" + c.urlParams_.Encode()
18095	req, err := http.NewRequest("GET", urls, body)
18096	if err != nil {
18097		return nil, err
18098	}
18099	req.Header = reqHeaders
18100	googleapi.Expand(req.URL, map[string]string{
18101		"parent": c.parent,
18102	})
18103	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18104}
18105
18106// Do executes the "healthcare.projects.locations.datasets.dicomStores.list" call.
18107// Exactly one of *ListDicomStoresResponse or error will be non-nil. Any
18108// non-2xx status code is an error. Response headers are in either
18109// *ListDicomStoresResponse.ServerResponse.Header or (if a response was
18110// returned at all) in error.(*googleapi.Error).Header. Use
18111// googleapi.IsNotModified to check whether the returned error was
18112// because http.StatusNotModified was returned.
18113func (c *ProjectsLocationsDatasetsDicomStoresListCall) Do(opts ...googleapi.CallOption) (*ListDicomStoresResponse, error) {
18114	gensupport.SetOptions(c.urlParams_, opts...)
18115	res, err := c.doRequest("json")
18116	if res != nil && res.StatusCode == http.StatusNotModified {
18117		if res.Body != nil {
18118			res.Body.Close()
18119		}
18120		return nil, &googleapi.Error{
18121			Code:   res.StatusCode,
18122			Header: res.Header,
18123		}
18124	}
18125	if err != nil {
18126		return nil, err
18127	}
18128	defer googleapi.CloseBody(res)
18129	if err := googleapi.CheckResponse(res); err != nil {
18130		return nil, err
18131	}
18132	ret := &ListDicomStoresResponse{
18133		ServerResponse: googleapi.ServerResponse{
18134			Header:         res.Header,
18135			HTTPStatusCode: res.StatusCode,
18136		},
18137	}
18138	target := &ret
18139	if err := gensupport.DecodeResponse(target, res); err != nil {
18140		return nil, err
18141	}
18142	return ret, nil
18143	// {
18144	//   "description": "Lists the DICOM stores in the given dataset.",
18145	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
18146	//   "httpMethod": "GET",
18147	//   "id": "healthcare.projects.locations.datasets.dicomStores.list",
18148	//   "parameterOrder": [
18149	//     "parent"
18150	//   ],
18151	//   "parameters": {
18152	//     "filter": {
18153	//       "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`.",
18154	//       "location": "query",
18155	//       "type": "string"
18156	//     },
18157	//     "pageSize": {
18158	//       "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.",
18159	//       "format": "int32",
18160	//       "location": "query",
18161	//       "type": "integer"
18162	//     },
18163	//     "pageToken": {
18164	//       "description": "The next_page_token value returned from the previous List request, if any.",
18165	//       "location": "query",
18166	//       "type": "string"
18167	//     },
18168	//     "parent": {
18169	//       "description": "Name of the dataset.",
18170	//       "location": "path",
18171	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
18172	//       "required": true,
18173	//       "type": "string"
18174	//     }
18175	//   },
18176	//   "path": "v1beta1/{+parent}/dicomStores",
18177	//   "response": {
18178	//     "$ref": "ListDicomStoresResponse"
18179	//   },
18180	//   "scopes": [
18181	//     "https://www.googleapis.com/auth/cloud-platform"
18182	//   ]
18183	// }
18184
18185}
18186
18187// Pages invokes f for each page of results.
18188// A non-nil error returned from f will halt the iteration.
18189// The provided context supersedes any context provided to the Context method.
18190func (c *ProjectsLocationsDatasetsDicomStoresListCall) Pages(ctx context.Context, f func(*ListDicomStoresResponse) error) error {
18191	c.ctx_ = ctx
18192	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18193	for {
18194		x, err := c.Do()
18195		if err != nil {
18196			return err
18197		}
18198		if err := f(x); err != nil {
18199			return err
18200		}
18201		if x.NextPageToken == "" {
18202			return nil
18203		}
18204		c.PageToken(x.NextPageToken)
18205	}
18206}
18207
18208// method id "healthcare.projects.locations.datasets.dicomStores.patch":
18209
18210type ProjectsLocationsDatasetsDicomStoresPatchCall struct {
18211	s          *Service
18212	name       string
18213	dicomstore *DicomStore
18214	urlParams_ gensupport.URLParams
18215	ctx_       context.Context
18216	header_    http.Header
18217}
18218
18219// Patch: Updates the specified DICOM store.
18220//
18221// - name: Resource name of the DICOM store, of the form
18222//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18223//   /dicomStores/{dicom_store_id}`.
18224func (r *ProjectsLocationsDatasetsDicomStoresService) Patch(name string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18225	c := &ProjectsLocationsDatasetsDicomStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18226	c.name = name
18227	c.dicomstore = dicomstore
18228	return c
18229}
18230
18231// UpdateMask sets the optional parameter "updateMask": The update mask
18232// applies to the resource. For the `FieldMask` definition, see
18233// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
18234func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18235	c.urlParams_.Set("updateMask", updateMask)
18236	return c
18237}
18238
18239// Fields allows partial responses to be retrieved. See
18240// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18241// for more information.
18242func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18243	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18244	return c
18245}
18246
18247// Context sets the context to be used in this call's Do method. Any
18248// pending HTTP request will be aborted if the provided context is
18249// canceled.
18250func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18251	c.ctx_ = ctx
18252	return c
18253}
18254
18255// Header returns an http.Header that can be modified by the caller to
18256// add HTTP headers to the request.
18257func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Header() http.Header {
18258	if c.header_ == nil {
18259		c.header_ = make(http.Header)
18260	}
18261	return c.header_
18262}
18263
18264func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
18265	reqHeaders := make(http.Header)
18266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18267	for k, v := range c.header_ {
18268		reqHeaders[k] = v
18269	}
18270	reqHeaders.Set("User-Agent", c.s.userAgent())
18271	var body io.Reader = nil
18272	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
18273	if err != nil {
18274		return nil, err
18275	}
18276	reqHeaders.Set("Content-Type", "application/json")
18277	c.urlParams_.Set("alt", alt)
18278	c.urlParams_.Set("prettyPrint", "false")
18279	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
18280	urls += "?" + c.urlParams_.Encode()
18281	req, err := http.NewRequest("PATCH", urls, body)
18282	if err != nil {
18283		return nil, err
18284	}
18285	req.Header = reqHeaders
18286	googleapi.Expand(req.URL, map[string]string{
18287		"name": c.name,
18288	})
18289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18290}
18291
18292// Do executes the "healthcare.projects.locations.datasets.dicomStores.patch" call.
18293// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
18294// status code is an error. Response headers are in either
18295// *DicomStore.ServerResponse.Header or (if a response was returned at
18296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18297// to check whether the returned error was because
18298// http.StatusNotModified was returned.
18299func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
18300	gensupport.SetOptions(c.urlParams_, opts...)
18301	res, err := c.doRequest("json")
18302	if res != nil && res.StatusCode == http.StatusNotModified {
18303		if res.Body != nil {
18304			res.Body.Close()
18305		}
18306		return nil, &googleapi.Error{
18307			Code:   res.StatusCode,
18308			Header: res.Header,
18309		}
18310	}
18311	if err != nil {
18312		return nil, err
18313	}
18314	defer googleapi.CloseBody(res)
18315	if err := googleapi.CheckResponse(res); err != nil {
18316		return nil, err
18317	}
18318	ret := &DicomStore{
18319		ServerResponse: googleapi.ServerResponse{
18320			Header:         res.Header,
18321			HTTPStatusCode: res.StatusCode,
18322		},
18323	}
18324	target := &ret
18325	if err := gensupport.DecodeResponse(target, res); err != nil {
18326		return nil, err
18327	}
18328	return ret, nil
18329	// {
18330	//   "description": "Updates the specified DICOM store.",
18331	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
18332	//   "httpMethod": "PATCH",
18333	//   "id": "healthcare.projects.locations.datasets.dicomStores.patch",
18334	//   "parameterOrder": [
18335	//     "name"
18336	//   ],
18337	//   "parameters": {
18338	//     "name": {
18339	//       "description": "Resource name of the DICOM store, of the form `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	//     "updateMask": {
18346	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
18347	//       "format": "google-fieldmask",
18348	//       "location": "query",
18349	//       "type": "string"
18350	//     }
18351	//   },
18352	//   "path": "v1beta1/{+name}",
18353	//   "request": {
18354	//     "$ref": "DicomStore"
18355	//   },
18356	//   "response": {
18357	//     "$ref": "DicomStore"
18358	//   },
18359	//   "scopes": [
18360	//     "https://www.googleapis.com/auth/cloud-platform"
18361	//   ]
18362	// }
18363
18364}
18365
18366// method id "healthcare.projects.locations.datasets.dicomStores.searchForInstances":
18367
18368type ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall struct {
18369	s            *Service
18370	parent       string
18371	dicomWebPath string
18372	urlParams_   gensupport.URLParams
18373	ifNoneMatch_ string
18374	ctx_         context.Context
18375	header_      http.Header
18376}
18377
18378// SearchForInstances: SearchForInstances returns a list of matching
18379// instances. See RetrieveTransaction
18380// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18381// For details on the implementation of SearchForInstances, see Search
18382// transaction
18383// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18384// in the Cloud Healthcare API conformance statement. For samples that
18385// show how to call SearchForInstances, see Searching for studies,
18386// series, instances, and frames
18387// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18388//
18389// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
18390//   request. For example, `instances`, `series/{series_uid}/instances`,
18391//   or `studies/{study_uid}/instances`.
18392// - parent: The name of the DICOM store that is being accessed. For
18393//   example,
18394//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18395//   /dicomStores/{dicom_store_id}`.
18396func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18397	c := &ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18398	c.parent = parent
18399	c.dicomWebPath = dicomWebPath
18400	return c
18401}
18402
18403// Fields allows partial responses to be retrieved. See
18404// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18405// for more information.
18406func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18407	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18408	return c
18409}
18410
18411// IfNoneMatch sets the optional parameter which makes the operation
18412// fail if the object's ETag matches the given value. This is useful for
18413// getting updates only after the object has changed since the last
18414// request. Use googleapi.IsNotModified to check whether the response
18415// error from Do is the result of In-None-Match.
18416func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18417	c.ifNoneMatch_ = entityTag
18418	return c
18419}
18420
18421// Context sets the context to be used in this call's Do method. Any
18422// pending HTTP request will be aborted if the provided context is
18423// canceled.
18424func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18425	c.ctx_ = ctx
18426	return c
18427}
18428
18429// Header returns an http.Header that can be modified by the caller to
18430// add HTTP headers to the request.
18431func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Header() http.Header {
18432	if c.header_ == nil {
18433		c.header_ = make(http.Header)
18434	}
18435	return c.header_
18436}
18437
18438func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
18439	reqHeaders := make(http.Header)
18440	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18441	for k, v := range c.header_ {
18442		reqHeaders[k] = v
18443	}
18444	reqHeaders.Set("User-Agent", c.s.userAgent())
18445	if c.ifNoneMatch_ != "" {
18446		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18447	}
18448	var body io.Reader = nil
18449	c.urlParams_.Set("alt", alt)
18450	c.urlParams_.Set("prettyPrint", "false")
18451	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18452	urls += "?" + c.urlParams_.Encode()
18453	req, err := http.NewRequest("GET", urls, body)
18454	if err != nil {
18455		return nil, err
18456	}
18457	req.Header = reqHeaders
18458	googleapi.Expand(req.URL, map[string]string{
18459		"parent":       c.parent,
18460		"dicomWebPath": c.dicomWebPath,
18461	})
18462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18463}
18464
18465// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForInstances" call.
18466func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18467	gensupport.SetOptions(c.urlParams_, opts...)
18468	return c.doRequest("")
18469	// {
18470	//   "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).",
18471	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances",
18472	//   "httpMethod": "GET",
18473	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances",
18474	//   "parameterOrder": [
18475	//     "parent",
18476	//     "dicomWebPath"
18477	//   ],
18478	//   "parameters": {
18479	//     "dicomWebPath": {
18480	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
18481	//       "location": "path",
18482	//       "pattern": "^instances$",
18483	//       "required": true,
18484	//       "type": "string"
18485	//     },
18486	//     "parent": {
18487	//       "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}`.",
18488	//       "location": "path",
18489	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18490	//       "required": true,
18491	//       "type": "string"
18492	//     }
18493	//   },
18494	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18495	//   "response": {
18496	//     "$ref": "HttpBody"
18497	//   },
18498	//   "scopes": [
18499	//     "https://www.googleapis.com/auth/cloud-platform"
18500	//   ]
18501	// }
18502
18503}
18504
18505// method id "healthcare.projects.locations.datasets.dicomStores.searchForSeries":
18506
18507type ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall struct {
18508	s            *Service
18509	parent       string
18510	dicomWebPath string
18511	urlParams_   gensupport.URLParams
18512	ifNoneMatch_ string
18513	ctx_         context.Context
18514	header_      http.Header
18515}
18516
18517// SearchForSeries: SearchForSeries returns a list of matching series.
18518// See RetrieveTransaction
18519// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18520// For details on the implementation of SearchForSeries, see Search
18521// transaction
18522// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18523// in the Cloud Healthcare API conformance statement. For samples that
18524// show how to call SearchForSeries, see Searching for studies, series,
18525// instances, and frames
18526// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18527//
18528// - dicomWebPath: The path of the SearchForSeries DICOMweb request. For
18529//   example, `series` or `studies/{study_uid}/series`.
18530// - parent: The name of the DICOM store that is being accessed. For
18531//   example,
18532//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18533//   /dicomStores/{dicom_store_id}`.
18534func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18535	c := &ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18536	c.parent = parent
18537	c.dicomWebPath = dicomWebPath
18538	return c
18539}
18540
18541// Fields allows partial responses to be retrieved. See
18542// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18543// for more information.
18544func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18545	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18546	return c
18547}
18548
18549// IfNoneMatch sets the optional parameter which makes the operation
18550// fail if the object's ETag matches the given value. This is useful for
18551// getting updates only after the object has changed since the last
18552// request. Use googleapi.IsNotModified to check whether the response
18553// error from Do is the result of In-None-Match.
18554func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18555	c.ifNoneMatch_ = entityTag
18556	return c
18557}
18558
18559// Context sets the context to be used in this call's Do method. Any
18560// pending HTTP request will be aborted if the provided context is
18561// canceled.
18562func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18563	c.ctx_ = ctx
18564	return c
18565}
18566
18567// Header returns an http.Header that can be modified by the caller to
18568// add HTTP headers to the request.
18569func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Header() http.Header {
18570	if c.header_ == nil {
18571		c.header_ = make(http.Header)
18572	}
18573	return c.header_
18574}
18575
18576func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
18577	reqHeaders := make(http.Header)
18578	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18579	for k, v := range c.header_ {
18580		reqHeaders[k] = v
18581	}
18582	reqHeaders.Set("User-Agent", c.s.userAgent())
18583	if c.ifNoneMatch_ != "" {
18584		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18585	}
18586	var body io.Reader = nil
18587	c.urlParams_.Set("alt", alt)
18588	c.urlParams_.Set("prettyPrint", "false")
18589	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18590	urls += "?" + c.urlParams_.Encode()
18591	req, err := http.NewRequest("GET", urls, body)
18592	if err != nil {
18593		return nil, err
18594	}
18595	req.Header = reqHeaders
18596	googleapi.Expand(req.URL, map[string]string{
18597		"parent":       c.parent,
18598		"dicomWebPath": c.dicomWebPath,
18599	})
18600	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18601}
18602
18603// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForSeries" call.
18604func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18605	gensupport.SetOptions(c.urlParams_, opts...)
18606	return c.doRequest("")
18607	// {
18608	//   "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).",
18609	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series",
18610	//   "httpMethod": "GET",
18611	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries",
18612	//   "parameterOrder": [
18613	//     "parent",
18614	//     "dicomWebPath"
18615	//   ],
18616	//   "parameters": {
18617	//     "dicomWebPath": {
18618	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
18619	//       "location": "path",
18620	//       "pattern": "^series$",
18621	//       "required": true,
18622	//       "type": "string"
18623	//     },
18624	//     "parent": {
18625	//       "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}`.",
18626	//       "location": "path",
18627	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18628	//       "required": true,
18629	//       "type": "string"
18630	//     }
18631	//   },
18632	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18633	//   "response": {
18634	//     "$ref": "HttpBody"
18635	//   },
18636	//   "scopes": [
18637	//     "https://www.googleapis.com/auth/cloud-platform"
18638	//   ]
18639	// }
18640
18641}
18642
18643// method id "healthcare.projects.locations.datasets.dicomStores.searchForStudies":
18644
18645type ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall struct {
18646	s            *Service
18647	parent       string
18648	dicomWebPath string
18649	urlParams_   gensupport.URLParams
18650	ifNoneMatch_ string
18651	ctx_         context.Context
18652	header_      http.Header
18653}
18654
18655// SearchForStudies: SearchForStudies returns a list of matching
18656// studies. See RetrieveTransaction
18657// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18658// For details on the implementation of SearchForStudies, see Search
18659// transaction
18660// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18661// in the Cloud Healthcare API conformance statement. For samples that
18662// show how to call SearchForStudies, see Searching for studies, series,
18663// instances, and frames
18664// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18665//
18666// - dicomWebPath: The path of the SearchForStudies DICOMweb request.
18667//   For example, `studies`.
18668// - parent: The name of the DICOM store that is being accessed. For
18669//   example,
18670//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18671//   /dicomStores/{dicom_store_id}`.
18672func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForStudies(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18673	c := &ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18674	c.parent = parent
18675	c.dicomWebPath = dicomWebPath
18676	return c
18677}
18678
18679// Fields allows partial responses to be retrieved. See
18680// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18681// for more information.
18682func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18683	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18684	return c
18685}
18686
18687// IfNoneMatch sets the optional parameter which makes the operation
18688// fail if the object's ETag matches the given value. This is useful for
18689// getting updates only after the object has changed since the last
18690// request. Use googleapi.IsNotModified to check whether the response
18691// error from Do is the result of In-None-Match.
18692func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18693	c.ifNoneMatch_ = entityTag
18694	return c
18695}
18696
18697// Context sets the context to be used in this call's Do method. Any
18698// pending HTTP request will be aborted if the provided context is
18699// canceled.
18700func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18701	c.ctx_ = ctx
18702	return c
18703}
18704
18705// Header returns an http.Header that can be modified by the caller to
18706// add HTTP headers to the request.
18707func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Header() http.Header {
18708	if c.header_ == nil {
18709		c.header_ = make(http.Header)
18710	}
18711	return c.header_
18712}
18713
18714func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
18715	reqHeaders := make(http.Header)
18716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18717	for k, v := range c.header_ {
18718		reqHeaders[k] = v
18719	}
18720	reqHeaders.Set("User-Agent", c.s.userAgent())
18721	if c.ifNoneMatch_ != "" {
18722		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18723	}
18724	var body io.Reader = nil
18725	c.urlParams_.Set("alt", alt)
18726	c.urlParams_.Set("prettyPrint", "false")
18727	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18728	urls += "?" + c.urlParams_.Encode()
18729	req, err := http.NewRequest("GET", urls, body)
18730	if err != nil {
18731		return nil, err
18732	}
18733	req.Header = reqHeaders
18734	googleapi.Expand(req.URL, map[string]string{
18735		"parent":       c.parent,
18736		"dicomWebPath": c.dicomWebPath,
18737	})
18738	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18739}
18740
18741// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForStudies" call.
18742func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18743	gensupport.SetOptions(c.urlParams_, opts...)
18744	return c.doRequest("")
18745	// {
18746	//   "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).",
18747	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
18748	//   "httpMethod": "GET",
18749	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies",
18750	//   "parameterOrder": [
18751	//     "parent",
18752	//     "dicomWebPath"
18753	//   ],
18754	//   "parameters": {
18755	//     "dicomWebPath": {
18756	//       "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.",
18757	//       "location": "path",
18758	//       "pattern": "^studies$",
18759	//       "required": true,
18760	//       "type": "string"
18761	//     },
18762	//     "parent": {
18763	//       "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}`.",
18764	//       "location": "path",
18765	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18766	//       "required": true,
18767	//       "type": "string"
18768	//     }
18769	//   },
18770	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18771	//   "response": {
18772	//     "$ref": "HttpBody"
18773	//   },
18774	//   "scopes": [
18775	//     "https://www.googleapis.com/auth/cloud-platform"
18776	//   ]
18777	// }
18778
18779}
18780
18781// method id "healthcare.projects.locations.datasets.dicomStores.setIamPolicy":
18782
18783type ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall struct {
18784	s                   *Service
18785	resource            string
18786	setiampolicyrequest *SetIamPolicyRequest
18787	urlParams_          gensupport.URLParams
18788	ctx_                context.Context
18789	header_             http.Header
18790}
18791
18792// SetIamPolicy: Sets the access control policy on the specified
18793// resource. Replaces any existing policy. Can return `NOT_FOUND`,
18794// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
18795//
18796// - resource: REQUIRED: The resource for which the policy is being
18797//   specified. See the operation documentation for the appropriate
18798//   value for this field.
18799func (r *ProjectsLocationsDatasetsDicomStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18800	c := &ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18801	c.resource = resource
18802	c.setiampolicyrequest = setiampolicyrequest
18803	return c
18804}
18805
18806// Fields allows partial responses to be retrieved. See
18807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18808// for more information.
18809func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18811	return c
18812}
18813
18814// Context sets the context to be used in this call's Do method. Any
18815// pending HTTP request will be aborted if the provided context is
18816// canceled.
18817func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18818	c.ctx_ = ctx
18819	return c
18820}
18821
18822// Header returns an http.Header that can be modified by the caller to
18823// add HTTP headers to the request.
18824func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Header() http.Header {
18825	if c.header_ == nil {
18826		c.header_ = make(http.Header)
18827	}
18828	return c.header_
18829}
18830
18831func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
18832	reqHeaders := make(http.Header)
18833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18834	for k, v := range c.header_ {
18835		reqHeaders[k] = v
18836	}
18837	reqHeaders.Set("User-Agent", c.s.userAgent())
18838	var body io.Reader = nil
18839	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
18840	if err != nil {
18841		return nil, err
18842	}
18843	reqHeaders.Set("Content-Type", "application/json")
18844	c.urlParams_.Set("alt", alt)
18845	c.urlParams_.Set("prettyPrint", "false")
18846	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
18847	urls += "?" + c.urlParams_.Encode()
18848	req, err := http.NewRequest("POST", urls, body)
18849	if err != nil {
18850		return nil, err
18851	}
18852	req.Header = reqHeaders
18853	googleapi.Expand(req.URL, map[string]string{
18854		"resource": c.resource,
18855	})
18856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18857}
18858
18859// Do executes the "healthcare.projects.locations.datasets.dicomStores.setIamPolicy" call.
18860// Exactly one of *Policy or error will be non-nil. Any non-2xx status
18861// code is an error. Response headers are in either
18862// *Policy.ServerResponse.Header or (if a response was returned at all)
18863// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18864// check whether the returned error was because http.StatusNotModified
18865// was returned.
18866func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
18867	gensupport.SetOptions(c.urlParams_, opts...)
18868	res, err := c.doRequest("json")
18869	if res != nil && res.StatusCode == http.StatusNotModified {
18870		if res.Body != nil {
18871			res.Body.Close()
18872		}
18873		return nil, &googleapi.Error{
18874			Code:   res.StatusCode,
18875			Header: res.Header,
18876		}
18877	}
18878	if err != nil {
18879		return nil, err
18880	}
18881	defer googleapi.CloseBody(res)
18882	if err := googleapi.CheckResponse(res); err != nil {
18883		return nil, err
18884	}
18885	ret := &Policy{
18886		ServerResponse: googleapi.ServerResponse{
18887			Header:         res.Header,
18888			HTTPStatusCode: res.StatusCode,
18889		},
18890	}
18891	target := &ret
18892	if err := gensupport.DecodeResponse(target, res); err != nil {
18893		return nil, err
18894	}
18895	return ret, nil
18896	// {
18897	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
18898	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy",
18899	//   "httpMethod": "POST",
18900	//   "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy",
18901	//   "parameterOrder": [
18902	//     "resource"
18903	//   ],
18904	//   "parameters": {
18905	//     "resource": {
18906	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
18907	//       "location": "path",
18908	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18909	//       "required": true,
18910	//       "type": "string"
18911	//     }
18912	//   },
18913	//   "path": "v1beta1/{+resource}:setIamPolicy",
18914	//   "request": {
18915	//     "$ref": "SetIamPolicyRequest"
18916	//   },
18917	//   "response": {
18918	//     "$ref": "Policy"
18919	//   },
18920	//   "scopes": [
18921	//     "https://www.googleapis.com/auth/cloud-platform"
18922	//   ]
18923	// }
18924
18925}
18926
18927// method id "healthcare.projects.locations.datasets.dicomStores.storeInstances":
18928
18929type ProjectsLocationsDatasetsDicomStoresStoreInstancesCall struct {
18930	s            *Service
18931	parent       string
18932	dicomWebPath string
18933	body_        io.Reader
18934	urlParams_   gensupport.URLParams
18935	ctx_         context.Context
18936	header_      http.Header
18937}
18938
18939// StoreInstances: StoreInstances stores DICOM instances associated with
18940// study instance unique identifiers (SUID). See Store Transaction
18941// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
18942// For details on the implementation of StoreInstances, see Store
18943// transaction
18944// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
18945// the Cloud Healthcare API conformance statement. For samples that show
18946// how to call StoreInstances, see Storing DICOM data
18947// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
18948//
18949// - dicomWebPath: The path of the StoreInstances DICOMweb request. For
18950//   example, `studies/[{study_uid}]`. Note that the `study_uid` is
18951//   optional.
18952// - parent: The name of the DICOM store that is being accessed. For
18953//   example,
18954//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18955//   /dicomStores/{dicom_store_id}`.
18956func (r *ProjectsLocationsDatasetsDicomStoresService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18957	c := &ProjectsLocationsDatasetsDicomStoresStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18958	c.parent = parent
18959	c.dicomWebPath = dicomWebPath
18960	c.body_ = body_
18961	return c
18962}
18963
18964// Fields allows partial responses to be retrieved. See
18965// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18966// for more information.
18967func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18968	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18969	return c
18970}
18971
18972// Context sets the context to be used in this call's Do method. Any
18973// pending HTTP request will be aborted if the provided context is
18974// canceled.
18975func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18976	c.ctx_ = ctx
18977	return c
18978}
18979
18980// Header returns an http.Header that can be modified by the caller to
18981// add HTTP headers to the request.
18982func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Header() http.Header {
18983	if c.header_ == nil {
18984		c.header_ = make(http.Header)
18985	}
18986	return c.header_
18987}
18988
18989func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
18990	reqHeaders := make(http.Header)
18991	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
18992	for k, v := range c.header_ {
18993		reqHeaders[k] = v
18994	}
18995	reqHeaders.Set("User-Agent", c.s.userAgent())
18996	var body io.Reader = nil
18997	body = c.body_
18998	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18999	urls += "?" + c.urlParams_.Encode()
19000	req, err := http.NewRequest("POST", urls, body)
19001	if err != nil {
19002		return nil, err
19003	}
19004	req.Header = reqHeaders
19005	googleapi.Expand(req.URL, map[string]string{
19006		"parent":       c.parent,
19007		"dicomWebPath": c.dicomWebPath,
19008	})
19009	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19010}
19011
19012// Do executes the "healthcare.projects.locations.datasets.dicomStores.storeInstances" call.
19013func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19014	gensupport.SetOptions(c.urlParams_, opts...)
19015	return c.doRequest("")
19016	// {
19017	//   "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).",
19018	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
19019	//   "httpMethod": "POST",
19020	//   "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances",
19021	//   "parameterOrder": [
19022	//     "parent",
19023	//     "dicomWebPath"
19024	//   ],
19025	//   "parameters": {
19026	//     "dicomWebPath": {
19027	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
19028	//       "location": "path",
19029	//       "pattern": "^studies$",
19030	//       "required": true,
19031	//       "type": "string"
19032	//     },
19033	//     "parent": {
19034	//       "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}`.",
19035	//       "location": "path",
19036	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19037	//       "required": true,
19038	//       "type": "string"
19039	//     }
19040	//   },
19041	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19042	//   "request": {
19043	//     "$ref": "HttpBody"
19044	//   },
19045	//   "response": {
19046	//     "$ref": "HttpBody"
19047	//   },
19048	//   "scopes": [
19049	//     "https://www.googleapis.com/auth/cloud-platform"
19050	//   ]
19051	// }
19052
19053}
19054
19055// method id "healthcare.projects.locations.datasets.dicomStores.testIamPermissions":
19056
19057type ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall struct {
19058	s                         *Service
19059	resource                  string
19060	testiampermissionsrequest *TestIamPermissionsRequest
19061	urlParams_                gensupport.URLParams
19062	ctx_                      context.Context
19063	header_                   http.Header
19064}
19065
19066// TestIamPermissions: Returns permissions that a caller has on the
19067// specified resource. If the resource does not exist, this will return
19068// an empty set of permissions, not a `NOT_FOUND` error. Note: This
19069// operation is designed to be used for building permission-aware UIs
19070// and command-line tools, not for authorization checking. This
19071// operation may "fail open" without warning.
19072//
19073// - resource: REQUIRED: The resource for which the policy detail is
19074//   being requested. See the operation documentation for the
19075//   appropriate value for this field.
19076func (r *ProjectsLocationsDatasetsDicomStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19077	c := &ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19078	c.resource = resource
19079	c.testiampermissionsrequest = testiampermissionsrequest
19080	return c
19081}
19082
19083// Fields allows partial responses to be retrieved. See
19084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19085// for more information.
19086func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19088	return c
19089}
19090
19091// Context sets the context to be used in this call's Do method. Any
19092// pending HTTP request will be aborted if the provided context is
19093// canceled.
19094func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19095	c.ctx_ = ctx
19096	return c
19097}
19098
19099// Header returns an http.Header that can be modified by the caller to
19100// add HTTP headers to the request.
19101func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Header() http.Header {
19102	if c.header_ == nil {
19103		c.header_ = make(http.Header)
19104	}
19105	return c.header_
19106}
19107
19108func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
19109	reqHeaders := make(http.Header)
19110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19111	for k, v := range c.header_ {
19112		reqHeaders[k] = v
19113	}
19114	reqHeaders.Set("User-Agent", c.s.userAgent())
19115	var body io.Reader = nil
19116	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
19117	if err != nil {
19118		return nil, err
19119	}
19120	reqHeaders.Set("Content-Type", "application/json")
19121	c.urlParams_.Set("alt", alt)
19122	c.urlParams_.Set("prettyPrint", "false")
19123	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
19124	urls += "?" + c.urlParams_.Encode()
19125	req, err := http.NewRequest("POST", urls, body)
19126	if err != nil {
19127		return nil, err
19128	}
19129	req.Header = reqHeaders
19130	googleapi.Expand(req.URL, map[string]string{
19131		"resource": c.resource,
19132	})
19133	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19134}
19135
19136// Do executes the "healthcare.projects.locations.datasets.dicomStores.testIamPermissions" call.
19137// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
19138// Any non-2xx status code is an error. Response headers are in either
19139// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
19140// was returned at all) in error.(*googleapi.Error).Header. Use
19141// googleapi.IsNotModified to check whether the returned error was
19142// because http.StatusNotModified was returned.
19143func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
19144	gensupport.SetOptions(c.urlParams_, opts...)
19145	res, err := c.doRequest("json")
19146	if res != nil && res.StatusCode == http.StatusNotModified {
19147		if res.Body != nil {
19148			res.Body.Close()
19149		}
19150		return nil, &googleapi.Error{
19151			Code:   res.StatusCode,
19152			Header: res.Header,
19153		}
19154	}
19155	if err != nil {
19156		return nil, err
19157	}
19158	defer googleapi.CloseBody(res)
19159	if err := googleapi.CheckResponse(res); err != nil {
19160		return nil, err
19161	}
19162	ret := &TestIamPermissionsResponse{
19163		ServerResponse: googleapi.ServerResponse{
19164			Header:         res.Header,
19165			HTTPStatusCode: res.StatusCode,
19166		},
19167	}
19168	target := &ret
19169	if err := gensupport.DecodeResponse(target, res); err != nil {
19170		return nil, err
19171	}
19172	return ret, nil
19173	// {
19174	//   "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.",
19175	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions",
19176	//   "httpMethod": "POST",
19177	//   "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions",
19178	//   "parameterOrder": [
19179	//     "resource"
19180	//   ],
19181	//   "parameters": {
19182	//     "resource": {
19183	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
19184	//       "location": "path",
19185	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19186	//       "required": true,
19187	//       "type": "string"
19188	//     }
19189	//   },
19190	//   "path": "v1beta1/{+resource}:testIamPermissions",
19191	//   "request": {
19192	//     "$ref": "TestIamPermissionsRequest"
19193	//   },
19194	//   "response": {
19195	//     "$ref": "TestIamPermissionsResponse"
19196	//   },
19197	//   "scopes": [
19198	//     "https://www.googleapis.com/auth/cloud-platform"
19199	//   ]
19200	// }
19201
19202}
19203
19204// method id "healthcare.projects.locations.datasets.dicomStores.studies.delete":
19205
19206type ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall struct {
19207	s            *Service
19208	parent       string
19209	dicomWebPath string
19210	urlParams_   gensupport.URLParams
19211	ctx_         context.Context
19212	header_      http.Header
19213}
19214
19215// Delete: DeleteStudy deletes all instances within the given study
19216// using a long running operation. The method returns an Operation which
19217// will be marked successful when the deletion is complete. Warning:
19218// Instances cannot be inserted into a study that is being deleted by an
19219// operation until the operation completes. For samples that show how to
19220// call DeleteStudy, see Deleting a study, series, or instance
19221// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
19222//
19223// - dicomWebPath: The path of the DeleteStudy request. For example,
19224//   `studies/{study_uid}`.
19225// - parent: .
19226func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19227	c := &ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19228	c.parent = parent
19229	c.dicomWebPath = dicomWebPath
19230	return c
19231}
19232
19233// Fields allows partial responses to be retrieved. See
19234// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19235// for more information.
19236func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19237	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19238	return c
19239}
19240
19241// Context sets the context to be used in this call's Do method. Any
19242// pending HTTP request will be aborted if the provided context is
19243// canceled.
19244func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19245	c.ctx_ = ctx
19246	return c
19247}
19248
19249// Header returns an http.Header that can be modified by the caller to
19250// add HTTP headers to the request.
19251func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Header() http.Header {
19252	if c.header_ == nil {
19253		c.header_ = make(http.Header)
19254	}
19255	return c.header_
19256}
19257
19258func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
19259	reqHeaders := make(http.Header)
19260	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19261	for k, v := range c.header_ {
19262		reqHeaders[k] = v
19263	}
19264	reqHeaders.Set("User-Agent", c.s.userAgent())
19265	var body io.Reader = nil
19266	c.urlParams_.Set("alt", alt)
19267	c.urlParams_.Set("prettyPrint", "false")
19268	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19269	urls += "?" + c.urlParams_.Encode()
19270	req, err := http.NewRequest("DELETE", urls, body)
19271	if err != nil {
19272		return nil, err
19273	}
19274	req.Header = reqHeaders
19275	googleapi.Expand(req.URL, map[string]string{
19276		"parent":       c.parent,
19277		"dicomWebPath": c.dicomWebPath,
19278	})
19279	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19280}
19281
19282// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.delete" call.
19283// Exactly one of *Operation or error will be non-nil. Any non-2xx
19284// status code is an error. Response headers are in either
19285// *Operation.ServerResponse.Header or (if a response was returned at
19286// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19287// to check whether the returned error was because
19288// http.StatusNotModified was returned.
19289func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
19290	gensupport.SetOptions(c.urlParams_, opts...)
19291	res, err := c.doRequest("json")
19292	if res != nil && res.StatusCode == http.StatusNotModified {
19293		if res.Body != nil {
19294			res.Body.Close()
19295		}
19296		return nil, &googleapi.Error{
19297			Code:   res.StatusCode,
19298			Header: res.Header,
19299		}
19300	}
19301	if err != nil {
19302		return nil, err
19303	}
19304	defer googleapi.CloseBody(res)
19305	if err := googleapi.CheckResponse(res); err != nil {
19306		return nil, err
19307	}
19308	ret := &Operation{
19309		ServerResponse: googleapi.ServerResponse{
19310			Header:         res.Header,
19311			HTTPStatusCode: res.StatusCode,
19312		},
19313	}
19314	target := &ret
19315	if err := gensupport.DecodeResponse(target, res); err != nil {
19316		return nil, err
19317	}
19318	return ret, nil
19319	// {
19320	//   "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: Instances cannot be inserted into a study that is being deleted by an operation until the operation completes. 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).",
19321	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19322	//   "httpMethod": "DELETE",
19323	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete",
19324	//   "parameterOrder": [
19325	//     "parent",
19326	//     "dicomWebPath"
19327	//   ],
19328	//   "parameters": {
19329	//     "dicomWebPath": {
19330	//       "description": "The path of the DeleteStudy request. For example, `studies/{study_uid}`.",
19331	//       "location": "path",
19332	//       "pattern": "^studies/[^/]+$",
19333	//       "required": true,
19334	//       "type": "string"
19335	//     },
19336	//     "parent": {
19337	//       "location": "path",
19338	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19339	//       "required": true,
19340	//       "type": "string"
19341	//     }
19342	//   },
19343	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19344	//   "response": {
19345	//     "$ref": "Operation"
19346	//   },
19347	//   "scopes": [
19348	//     "https://www.googleapis.com/auth/cloud-platform"
19349	//   ]
19350	// }
19351
19352}
19353
19354// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata":
19355
19356type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall struct {
19357	s            *Service
19358	parent       string
19359	dicomWebPath string
19360	urlParams_   gensupport.URLParams
19361	ifNoneMatch_ string
19362	ctx_         context.Context
19363	header_      http.Header
19364}
19365
19366// RetrieveMetadata: RetrieveStudyMetadata returns instance associated
19367// with the given study presented as metadata with the bulk data
19368// removed. See RetrieveTransaction
19369// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19370// For details on the implementation of RetrieveStudyMetadata, see
19371// Metadata resources
19372// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
19373// in the Cloud Healthcare API conformance statement. For samples that
19374// show how to call RetrieveStudyMetadata, see Retrieving metadata
19375// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
19376//
19377// - dicomWebPath: The path of the RetrieveStudyMetadata DICOMweb
19378//   request. For example, `studies/{study_uid}/metadata`.
19379// - parent: The name of the DICOM store that is being accessed. For
19380//   example,
19381//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19382//   /dicomStores/{dicom_store_id}`.
19383func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19384	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19385	c.parent = parent
19386	c.dicomWebPath = dicomWebPath
19387	return c
19388}
19389
19390// Fields allows partial responses to be retrieved. See
19391// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19392// for more information.
19393func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19394	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19395	return c
19396}
19397
19398// IfNoneMatch sets the optional parameter which makes the operation
19399// fail if the object's ETag matches the given value. This is useful for
19400// getting updates only after the object has changed since the last
19401// request. Use googleapi.IsNotModified to check whether the response
19402// error from Do is the result of In-None-Match.
19403func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19404	c.ifNoneMatch_ = entityTag
19405	return c
19406}
19407
19408// Context sets the context to be used in this call's Do method. Any
19409// pending HTTP request will be aborted if the provided context is
19410// canceled.
19411func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19412	c.ctx_ = ctx
19413	return c
19414}
19415
19416// Header returns an http.Header that can be modified by the caller to
19417// add HTTP headers to the request.
19418func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Header() http.Header {
19419	if c.header_ == nil {
19420		c.header_ = make(http.Header)
19421	}
19422	return c.header_
19423}
19424
19425func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
19426	reqHeaders := make(http.Header)
19427	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19428	for k, v := range c.header_ {
19429		reqHeaders[k] = v
19430	}
19431	reqHeaders.Set("User-Agent", c.s.userAgent())
19432	if c.ifNoneMatch_ != "" {
19433		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19434	}
19435	var body io.Reader = nil
19436	c.urlParams_.Set("alt", alt)
19437	c.urlParams_.Set("prettyPrint", "false")
19438	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19439	urls += "?" + c.urlParams_.Encode()
19440	req, err := http.NewRequest("GET", urls, body)
19441	if err != nil {
19442		return nil, err
19443	}
19444	req.Header = reqHeaders
19445	googleapi.Expand(req.URL, map[string]string{
19446		"parent":       c.parent,
19447		"dicomWebPath": c.dicomWebPath,
19448	})
19449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19450}
19451
19452// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata" call.
19453func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19454	gensupport.SetOptions(c.urlParams_, opts...)
19455	return c.doRequest("")
19456	// {
19457	//   "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).",
19458	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata",
19459	//   "httpMethod": "GET",
19460	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata",
19461	//   "parameterOrder": [
19462	//     "parent",
19463	//     "dicomWebPath"
19464	//   ],
19465	//   "parameters": {
19466	//     "dicomWebPath": {
19467	//       "description": "The path of the RetrieveStudyMetadata DICOMweb request. For example, `studies/{study_uid}/metadata`.",
19468	//       "location": "path",
19469	//       "pattern": "^studies/[^/]+/metadata$",
19470	//       "required": true,
19471	//       "type": "string"
19472	//     },
19473	//     "parent": {
19474	//       "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}`.",
19475	//       "location": "path",
19476	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19477	//       "required": true,
19478	//       "type": "string"
19479	//     }
19480	//   },
19481	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19482	//   "response": {
19483	//     "$ref": "HttpBody"
19484	//   },
19485	//   "scopes": [
19486	//     "https://www.googleapis.com/auth/cloud-platform"
19487	//   ]
19488	// }
19489
19490}
19491
19492// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy":
19493
19494type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall struct {
19495	s            *Service
19496	parent       string
19497	dicomWebPath string
19498	urlParams_   gensupport.URLParams
19499	ifNoneMatch_ string
19500	ctx_         context.Context
19501	header_      http.Header
19502}
19503
19504// RetrieveStudy: RetrieveStudy returns all instances within the given
19505// study. See RetrieveTransaction
19506// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19507// For details on the implementation of RetrieveStudy, see DICOM
19508// study/series/instances
19509// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
19510// in the Cloud Healthcare API conformance statement. For samples that
19511// show how to call RetrieveStudy, see Retrieving DICOM data
19512// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
19513//
19514// - dicomWebPath: The path of the RetrieveStudy DICOMweb request. For
19515//   example, `studies/{study_uid}`.
19516// - parent: The name of the DICOM store that is being accessed. For
19517//   example,
19518//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19519//   /dicomStores/{dicom_store_id}`.
19520func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveStudy(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19521	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19522	c.parent = parent
19523	c.dicomWebPath = dicomWebPath
19524	return c
19525}
19526
19527// Fields allows partial responses to be retrieved. See
19528// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19529// for more information.
19530func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19531	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19532	return c
19533}
19534
19535// IfNoneMatch sets the optional parameter which makes the operation
19536// fail if the object's ETag matches the given value. This is useful for
19537// getting updates only after the object has changed since the last
19538// request. Use googleapi.IsNotModified to check whether the response
19539// error from Do is the result of In-None-Match.
19540func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19541	c.ifNoneMatch_ = entityTag
19542	return c
19543}
19544
19545// Context sets the context to be used in this call's Do method. Any
19546// pending HTTP request will be aborted if the provided context is
19547// canceled.
19548func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19549	c.ctx_ = ctx
19550	return c
19551}
19552
19553// Header returns an http.Header that can be modified by the caller to
19554// add HTTP headers to the request.
19555func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Header() http.Header {
19556	if c.header_ == nil {
19557		c.header_ = make(http.Header)
19558	}
19559	return c.header_
19560}
19561
19562func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) doRequest(alt string) (*http.Response, error) {
19563	reqHeaders := make(http.Header)
19564	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19565	for k, v := range c.header_ {
19566		reqHeaders[k] = v
19567	}
19568	reqHeaders.Set("User-Agent", c.s.userAgent())
19569	if c.ifNoneMatch_ != "" {
19570		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19571	}
19572	var body io.Reader = nil
19573	c.urlParams_.Set("alt", alt)
19574	c.urlParams_.Set("prettyPrint", "false")
19575	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19576	urls += "?" + c.urlParams_.Encode()
19577	req, err := http.NewRequest("GET", urls, body)
19578	if err != nil {
19579		return nil, err
19580	}
19581	req.Header = reqHeaders
19582	googleapi.Expand(req.URL, map[string]string{
19583		"parent":       c.parent,
19584		"dicomWebPath": c.dicomWebPath,
19585	})
19586	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19587}
19588
19589// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy" call.
19590func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19591	gensupport.SetOptions(c.urlParams_, opts...)
19592	return c.doRequest("")
19593	// {
19594	//   "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).",
19595	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19596	//   "httpMethod": "GET",
19597	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy",
19598	//   "parameterOrder": [
19599	//     "parent",
19600	//     "dicomWebPath"
19601	//   ],
19602	//   "parameters": {
19603	//     "dicomWebPath": {
19604	//       "description": "The path of the RetrieveStudy DICOMweb request. For example, `studies/{study_uid}`.",
19605	//       "location": "path",
19606	//       "pattern": "^studies/[^/]+$",
19607	//       "required": true,
19608	//       "type": "string"
19609	//     },
19610	//     "parent": {
19611	//       "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}`.",
19612	//       "location": "path",
19613	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19614	//       "required": true,
19615	//       "type": "string"
19616	//     }
19617	//   },
19618	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19619	//   "response": {
19620	//     "$ref": "HttpBody"
19621	//   },
19622	//   "scopes": [
19623	//     "https://www.googleapis.com/auth/cloud-platform"
19624	//   ]
19625	// }
19626
19627}
19628
19629// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances":
19630
19631type ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall struct {
19632	s            *Service
19633	parent       string
19634	dicomWebPath string
19635	urlParams_   gensupport.URLParams
19636	ifNoneMatch_ string
19637	ctx_         context.Context
19638	header_      http.Header
19639}
19640
19641// SearchForInstances: SearchForInstances returns a list of matching
19642// instances. See RetrieveTransaction
19643// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19644// For details on the implementation of SearchForInstances, see Search
19645// transaction
19646// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19647// in the Cloud Healthcare API conformance statement. For samples that
19648// show how to call SearchForInstances, see Searching for studies,
19649// series, instances, and frames
19650// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19651//
19652// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
19653//   request. For example, `instances`, `series/{series_uid}/instances`,
19654//   or `studies/{study_uid}/instances`.
19655// - parent: The name of the DICOM store that is being accessed. For
19656//   example,
19657//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19658//   /dicomStores/{dicom_store_id}`.
19659func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19660	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19661	c.parent = parent
19662	c.dicomWebPath = dicomWebPath
19663	return c
19664}
19665
19666// Fields allows partial responses to be retrieved. See
19667// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19668// for more information.
19669func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19670	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19671	return c
19672}
19673
19674// IfNoneMatch sets the optional parameter which makes the operation
19675// fail if the object's ETag matches the given value. This is useful for
19676// getting updates only after the object has changed since the last
19677// request. Use googleapi.IsNotModified to check whether the response
19678// error from Do is the result of In-None-Match.
19679func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19680	c.ifNoneMatch_ = entityTag
19681	return c
19682}
19683
19684// Context sets the context to be used in this call's Do method. Any
19685// pending HTTP request will be aborted if the provided context is
19686// canceled.
19687func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19688	c.ctx_ = ctx
19689	return c
19690}
19691
19692// Header returns an http.Header that can be modified by the caller to
19693// add HTTP headers to the request.
19694func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Header() http.Header {
19695	if c.header_ == nil {
19696		c.header_ = make(http.Header)
19697	}
19698	return c.header_
19699}
19700
19701func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
19702	reqHeaders := make(http.Header)
19703	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19704	for k, v := range c.header_ {
19705		reqHeaders[k] = v
19706	}
19707	reqHeaders.Set("User-Agent", c.s.userAgent())
19708	if c.ifNoneMatch_ != "" {
19709		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19710	}
19711	var body io.Reader = nil
19712	c.urlParams_.Set("alt", alt)
19713	c.urlParams_.Set("prettyPrint", "false")
19714	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19715	urls += "?" + c.urlParams_.Encode()
19716	req, err := http.NewRequest("GET", urls, body)
19717	if err != nil {
19718		return nil, err
19719	}
19720	req.Header = reqHeaders
19721	googleapi.Expand(req.URL, map[string]string{
19722		"parent":       c.parent,
19723		"dicomWebPath": c.dicomWebPath,
19724	})
19725	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19726}
19727
19728// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances" call.
19729func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19730	gensupport.SetOptions(c.urlParams_, opts...)
19731	return c.doRequest("")
19732	// {
19733	//   "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).",
19734	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances",
19735	//   "httpMethod": "GET",
19736	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances",
19737	//   "parameterOrder": [
19738	//     "parent",
19739	//     "dicomWebPath"
19740	//   ],
19741	//   "parameters": {
19742	//     "dicomWebPath": {
19743	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
19744	//       "location": "path",
19745	//       "pattern": "^studies/[^/]+/instances$",
19746	//       "required": true,
19747	//       "type": "string"
19748	//     },
19749	//     "parent": {
19750	//       "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}`.",
19751	//       "location": "path",
19752	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19753	//       "required": true,
19754	//       "type": "string"
19755	//     }
19756	//   },
19757	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19758	//   "response": {
19759	//     "$ref": "HttpBody"
19760	//   },
19761	//   "scopes": [
19762	//     "https://www.googleapis.com/auth/cloud-platform"
19763	//   ]
19764	// }
19765
19766}
19767
19768// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries":
19769
19770type ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall struct {
19771	s            *Service
19772	parent       string
19773	dicomWebPath string
19774	urlParams_   gensupport.URLParams
19775	ifNoneMatch_ string
19776	ctx_         context.Context
19777	header_      http.Header
19778}
19779
19780// SearchForSeries: SearchForSeries returns a list of matching series.
19781// See RetrieveTransaction
19782// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19783// For details on the implementation of SearchForSeries, see Search
19784// transaction
19785// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19786// in the Cloud Healthcare API conformance statement. For samples that
19787// show how to call SearchForSeries, see Searching for studies, series,
19788// instances, and frames
19789// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19790//
19791// - dicomWebPath: The path of the SearchForSeries DICOMweb request. For
19792//   example, `series` or `studies/{study_uid}/series`.
19793// - parent: The name of the DICOM store that is being accessed. For
19794//   example,
19795//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19796//   /dicomStores/{dicom_store_id}`.
19797func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19798	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19799	c.parent = parent
19800	c.dicomWebPath = dicomWebPath
19801	return c
19802}
19803
19804// Fields allows partial responses to be retrieved. See
19805// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19806// for more information.
19807func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19808	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19809	return c
19810}
19811
19812// IfNoneMatch sets the optional parameter which makes the operation
19813// fail if the object's ETag matches the given value. This is useful for
19814// getting updates only after the object has changed since the last
19815// request. Use googleapi.IsNotModified to check whether the response
19816// error from Do is the result of In-None-Match.
19817func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19818	c.ifNoneMatch_ = entityTag
19819	return c
19820}
19821
19822// Context sets the context to be used in this call's Do method. Any
19823// pending HTTP request will be aborted if the provided context is
19824// canceled.
19825func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19826	c.ctx_ = ctx
19827	return c
19828}
19829
19830// Header returns an http.Header that can be modified by the caller to
19831// add HTTP headers to the request.
19832func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Header() http.Header {
19833	if c.header_ == nil {
19834		c.header_ = make(http.Header)
19835	}
19836	return c.header_
19837}
19838
19839func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
19840	reqHeaders := make(http.Header)
19841	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19842	for k, v := range c.header_ {
19843		reqHeaders[k] = v
19844	}
19845	reqHeaders.Set("User-Agent", c.s.userAgent())
19846	if c.ifNoneMatch_ != "" {
19847		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19848	}
19849	var body io.Reader = nil
19850	c.urlParams_.Set("alt", alt)
19851	c.urlParams_.Set("prettyPrint", "false")
19852	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19853	urls += "?" + c.urlParams_.Encode()
19854	req, err := http.NewRequest("GET", urls, body)
19855	if err != nil {
19856		return nil, err
19857	}
19858	req.Header = reqHeaders
19859	googleapi.Expand(req.URL, map[string]string{
19860		"parent":       c.parent,
19861		"dicomWebPath": c.dicomWebPath,
19862	})
19863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19864}
19865
19866// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries" call.
19867func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19868	gensupport.SetOptions(c.urlParams_, opts...)
19869	return c.doRequest("")
19870	// {
19871	//   "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).",
19872	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series",
19873	//   "httpMethod": "GET",
19874	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries",
19875	//   "parameterOrder": [
19876	//     "parent",
19877	//     "dicomWebPath"
19878	//   ],
19879	//   "parameters": {
19880	//     "dicomWebPath": {
19881	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
19882	//       "location": "path",
19883	//       "pattern": "^studies/[^/]+/series$",
19884	//       "required": true,
19885	//       "type": "string"
19886	//     },
19887	//     "parent": {
19888	//       "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}`.",
19889	//       "location": "path",
19890	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19891	//       "required": true,
19892	//       "type": "string"
19893	//     }
19894	//   },
19895	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19896	//   "response": {
19897	//     "$ref": "HttpBody"
19898	//   },
19899	//   "scopes": [
19900	//     "https://www.googleapis.com/auth/cloud-platform"
19901	//   ]
19902	// }
19903
19904}
19905
19906// method id "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances":
19907
19908type ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall struct {
19909	s            *Service
19910	parent       string
19911	dicomWebPath string
19912	body_        io.Reader
19913	urlParams_   gensupport.URLParams
19914	ctx_         context.Context
19915	header_      http.Header
19916}
19917
19918// StoreInstances: StoreInstances stores DICOM instances associated with
19919// study instance unique identifiers (SUID). See Store Transaction
19920// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
19921// For details on the implementation of StoreInstances, see Store
19922// transaction
19923// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
19924// the Cloud Healthcare API conformance statement. For samples that show
19925// how to call StoreInstances, see Storing DICOM data
19926// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
19927//
19928// - dicomWebPath: The path of the StoreInstances DICOMweb request. For
19929//   example, `studies/[{study_uid}]`. Note that the `study_uid` is
19930//   optional.
19931// - parent: The name of the DICOM store that is being accessed. For
19932//   example,
19933//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19934//   /dicomStores/{dicom_store_id}`.
19935func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19936	c := &ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19937	c.parent = parent
19938	c.dicomWebPath = dicomWebPath
19939	c.body_ = body_
19940	return c
19941}
19942
19943// Fields allows partial responses to be retrieved. See
19944// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19945// for more information.
19946func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19947	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19948	return c
19949}
19950
19951// Context sets the context to be used in this call's Do method. Any
19952// pending HTTP request will be aborted if the provided context is
19953// canceled.
19954func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
19955	c.ctx_ = ctx
19956	return c
19957}
19958
19959// Header returns an http.Header that can be modified by the caller to
19960// add HTTP headers to the request.
19961func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Header() http.Header {
19962	if c.header_ == nil {
19963		c.header_ = make(http.Header)
19964	}
19965	return c.header_
19966}
19967
19968func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
19969	reqHeaders := make(http.Header)
19970	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
19971	for k, v := range c.header_ {
19972		reqHeaders[k] = v
19973	}
19974	reqHeaders.Set("User-Agent", c.s.userAgent())
19975	var body io.Reader = nil
19976	body = c.body_
19977	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19978	urls += "?" + c.urlParams_.Encode()
19979	req, err := http.NewRequest("POST", urls, body)
19980	if err != nil {
19981		return nil, err
19982	}
19983	req.Header = reqHeaders
19984	googleapi.Expand(req.URL, map[string]string{
19985		"parent":       c.parent,
19986		"dicomWebPath": c.dicomWebPath,
19987	})
19988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19989}
19990
19991// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances" call.
19992func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19993	gensupport.SetOptions(c.urlParams_, opts...)
19994	return c.doRequest("")
19995	// {
19996	//   "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).",
19997	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19998	//   "httpMethod": "POST",
19999	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances",
20000	//   "parameterOrder": [
20001	//     "parent",
20002	//     "dicomWebPath"
20003	//   ],
20004	//   "parameters": {
20005	//     "dicomWebPath": {
20006	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
20007	//       "location": "path",
20008	//       "pattern": "^studies/[^/]+$",
20009	//       "required": true,
20010	//       "type": "string"
20011	//     },
20012	//     "parent": {
20013	//       "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}`.",
20014	//       "location": "path",
20015	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20016	//       "required": true,
20017	//       "type": "string"
20018	//     }
20019	//   },
20020	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20021	//   "request": {
20022	//     "$ref": "HttpBody"
20023	//   },
20024	//   "response": {
20025	//     "$ref": "HttpBody"
20026	//   },
20027	//   "scopes": [
20028	//     "https://www.googleapis.com/auth/cloud-platform"
20029	//   ]
20030	// }
20031
20032}
20033
20034// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.delete":
20035
20036type ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall struct {
20037	s            *Service
20038	parent       string
20039	dicomWebPath string
20040	urlParams_   gensupport.URLParams
20041	ctx_         context.Context
20042	header_      http.Header
20043}
20044
20045// Delete: DeleteSeries deletes all instances within the given study and
20046// series using a long running operation. The method returns an
20047// Operation which will be marked successful when the deletion is
20048// complete. Warning: Instances cannot be inserted into a series that is
20049// being deleted by an operation until the operation completes. For
20050// samples that show how to call DeleteSeries, see Deleting a study,
20051// series, or instance
20052// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20053//
20054// - dicomWebPath: The path of the DeleteSeries request. For example,
20055//   `studies/{study_uid}/series/{series_uid}`.
20056// - parent: The name of the DICOM store that is being accessed. For
20057//   example,
20058//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20059//   /dicomStores/{dicom_store_id}`.
20060func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20061	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20062	c.parent = parent
20063	c.dicomWebPath = dicomWebPath
20064	return c
20065}
20066
20067// Fields allows partial responses to be retrieved. See
20068// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20069// for more information.
20070func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20071	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20072	return c
20073}
20074
20075// Context sets the context to be used in this call's Do method. Any
20076// pending HTTP request will be aborted if the provided context is
20077// canceled.
20078func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20079	c.ctx_ = ctx
20080	return c
20081}
20082
20083// Header returns an http.Header that can be modified by the caller to
20084// add HTTP headers to the request.
20085func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Header() http.Header {
20086	if c.header_ == nil {
20087		c.header_ = make(http.Header)
20088	}
20089	return c.header_
20090}
20091
20092func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
20093	reqHeaders := make(http.Header)
20094	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20095	for k, v := range c.header_ {
20096		reqHeaders[k] = v
20097	}
20098	reqHeaders.Set("User-Agent", c.s.userAgent())
20099	var body io.Reader = nil
20100	c.urlParams_.Set("alt", alt)
20101	c.urlParams_.Set("prettyPrint", "false")
20102	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20103	urls += "?" + c.urlParams_.Encode()
20104	req, err := http.NewRequest("DELETE", urls, body)
20105	if err != nil {
20106		return nil, err
20107	}
20108	req.Header = reqHeaders
20109	googleapi.Expand(req.URL, map[string]string{
20110		"parent":       c.parent,
20111		"dicomWebPath": c.dicomWebPath,
20112	})
20113	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20114}
20115
20116// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.delete" call.
20117// Exactly one of *Operation or error will be non-nil. Any non-2xx
20118// status code is an error. Response headers are in either
20119// *Operation.ServerResponse.Header or (if a response was returned at
20120// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20121// to check whether the returned error was because
20122// http.StatusNotModified was returned.
20123func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
20124	gensupport.SetOptions(c.urlParams_, opts...)
20125	res, err := c.doRequest("json")
20126	if res != nil && res.StatusCode == http.StatusNotModified {
20127		if res.Body != nil {
20128			res.Body.Close()
20129		}
20130		return nil, &googleapi.Error{
20131			Code:   res.StatusCode,
20132			Header: res.Header,
20133		}
20134	}
20135	if err != nil {
20136		return nil, err
20137	}
20138	defer googleapi.CloseBody(res)
20139	if err := googleapi.CheckResponse(res); err != nil {
20140		return nil, err
20141	}
20142	ret := &Operation{
20143		ServerResponse: googleapi.ServerResponse{
20144			Header:         res.Header,
20145			HTTPStatusCode: res.StatusCode,
20146		},
20147	}
20148	target := &ret
20149	if err := gensupport.DecodeResponse(target, res); err != nil {
20150		return nil, err
20151	}
20152	return ret, nil
20153	// {
20154	//   "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: Instances cannot be inserted into a series that is being deleted by an operation until the operation completes. 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).",
20155	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20156	//   "httpMethod": "DELETE",
20157	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete",
20158	//   "parameterOrder": [
20159	//     "parent",
20160	//     "dicomWebPath"
20161	//   ],
20162	//   "parameters": {
20163	//     "dicomWebPath": {
20164	//       "description": "The path of the DeleteSeries request. For example, `studies/{study_uid}/series/{series_uid}`.",
20165	//       "location": "path",
20166	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20167	//       "required": true,
20168	//       "type": "string"
20169	//     },
20170	//     "parent": {
20171	//       "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}`.",
20172	//       "location": "path",
20173	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20174	//       "required": true,
20175	//       "type": "string"
20176	//     }
20177	//   },
20178	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20179	//   "response": {
20180	//     "$ref": "Operation"
20181	//   },
20182	//   "scopes": [
20183	//     "https://www.googleapis.com/auth/cloud-platform"
20184	//   ]
20185	// }
20186
20187}
20188
20189// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata":
20190
20191type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall struct {
20192	s            *Service
20193	parent       string
20194	dicomWebPath string
20195	urlParams_   gensupport.URLParams
20196	ifNoneMatch_ string
20197	ctx_         context.Context
20198	header_      http.Header
20199}
20200
20201// RetrieveMetadata: RetrieveSeriesMetadata returns instance associated
20202// with the given study and series, presented as metadata with the bulk
20203// data removed. See RetrieveTransaction
20204// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20205// For details on the implementation of RetrieveSeriesMetadata, see
20206// Metadata resources
20207// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20208// in the Cloud Healthcare API conformance statement. For samples that
20209// show how to call RetrieveSeriesMetadata, see Retrieving metadata
20210// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20211//
20212// - dicomWebPath: The path of the RetrieveSeriesMetadata DICOMweb
20213//   request. For example,
20214//   `studies/{study_uid}/series/{series_uid}/metadata`.
20215// - parent: The name of the DICOM store that is being accessed. For
20216//   example,
20217//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20218//   /dicomStores/{dicom_store_id}`.
20219func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20220	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20221	c.parent = parent
20222	c.dicomWebPath = dicomWebPath
20223	return c
20224}
20225
20226// Fields allows partial responses to be retrieved. See
20227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20228// for more information.
20229func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20231	return c
20232}
20233
20234// IfNoneMatch sets the optional parameter which makes the operation
20235// fail if the object's ETag matches the given value. This is useful for
20236// getting updates only after the object has changed since the last
20237// request. Use googleapi.IsNotModified to check whether the response
20238// error from Do is the result of In-None-Match.
20239func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20240	c.ifNoneMatch_ = entityTag
20241	return c
20242}
20243
20244// Context sets the context to be used in this call's Do method. Any
20245// pending HTTP request will be aborted if the provided context is
20246// canceled.
20247func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20248	c.ctx_ = ctx
20249	return c
20250}
20251
20252// Header returns an http.Header that can be modified by the caller to
20253// add HTTP headers to the request.
20254func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Header() http.Header {
20255	if c.header_ == nil {
20256		c.header_ = make(http.Header)
20257	}
20258	return c.header_
20259}
20260
20261func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20262	reqHeaders := make(http.Header)
20263	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20264	for k, v := range c.header_ {
20265		reqHeaders[k] = v
20266	}
20267	reqHeaders.Set("User-Agent", c.s.userAgent())
20268	if c.ifNoneMatch_ != "" {
20269		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20270	}
20271	var body io.Reader = nil
20272	c.urlParams_.Set("alt", alt)
20273	c.urlParams_.Set("prettyPrint", "false")
20274	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20275	urls += "?" + c.urlParams_.Encode()
20276	req, err := http.NewRequest("GET", urls, body)
20277	if err != nil {
20278		return nil, err
20279	}
20280	req.Header = reqHeaders
20281	googleapi.Expand(req.URL, map[string]string{
20282		"parent":       c.parent,
20283		"dicomWebPath": c.dicomWebPath,
20284	})
20285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20286}
20287
20288// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata" call.
20289func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20290	gensupport.SetOptions(c.urlParams_, opts...)
20291	return c.doRequest("")
20292	// {
20293	//   "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).",
20294	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata",
20295	//   "httpMethod": "GET",
20296	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata",
20297	//   "parameterOrder": [
20298	//     "parent",
20299	//     "dicomWebPath"
20300	//   ],
20301	//   "parameters": {
20302	//     "dicomWebPath": {
20303	//       "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.",
20304	//       "location": "path",
20305	//       "pattern": "^studies/[^/]+/series/[^/]+/metadata$",
20306	//       "required": true,
20307	//       "type": "string"
20308	//     },
20309	//     "parent": {
20310	//       "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}`.",
20311	//       "location": "path",
20312	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20313	//       "required": true,
20314	//       "type": "string"
20315	//     }
20316	//   },
20317	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20318	//   "response": {
20319	//     "$ref": "HttpBody"
20320	//   },
20321	//   "scopes": [
20322	//     "https://www.googleapis.com/auth/cloud-platform"
20323	//   ]
20324	// }
20325
20326}
20327
20328// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries":
20329
20330type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall struct {
20331	s            *Service
20332	parent       string
20333	dicomWebPath string
20334	urlParams_   gensupport.URLParams
20335	ifNoneMatch_ string
20336	ctx_         context.Context
20337	header_      http.Header
20338}
20339
20340// RetrieveSeries: RetrieveSeries returns all instances within the given
20341// study and series. See RetrieveTransaction
20342// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20343// For details on the implementation of RetrieveSeries, see DICOM
20344// study/series/instances
20345// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20346// in the Cloud Healthcare API conformance statement. For samples that
20347// show how to call RetrieveSeries, see Retrieving DICOM data
20348// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
20349//
20350// - dicomWebPath: The path of the RetrieveSeries DICOMweb request. For
20351//   example, `studies/{study_uid}/series/{series_uid}`.
20352// - parent: The name of the DICOM store that is being accessed. For
20353//   example,
20354//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20355//   /dicomStores/{dicom_store_id}`.
20356func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20357	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20358	c.parent = parent
20359	c.dicomWebPath = dicomWebPath
20360	return c
20361}
20362
20363// Fields allows partial responses to be retrieved. See
20364// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20365// for more information.
20366func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20367	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20368	return c
20369}
20370
20371// IfNoneMatch sets the optional parameter which makes the operation
20372// fail if the object's ETag matches the given value. This is useful for
20373// getting updates only after the object has changed since the last
20374// request. Use googleapi.IsNotModified to check whether the response
20375// error from Do is the result of In-None-Match.
20376func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20377	c.ifNoneMatch_ = entityTag
20378	return c
20379}
20380
20381// Context sets the context to be used in this call's Do method. Any
20382// pending HTTP request will be aborted if the provided context is
20383// canceled.
20384func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20385	c.ctx_ = ctx
20386	return c
20387}
20388
20389// Header returns an http.Header that can be modified by the caller to
20390// add HTTP headers to the request.
20391func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Header() http.Header {
20392	if c.header_ == nil {
20393		c.header_ = make(http.Header)
20394	}
20395	return c.header_
20396}
20397
20398func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
20399	reqHeaders := make(http.Header)
20400	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20401	for k, v := range c.header_ {
20402		reqHeaders[k] = v
20403	}
20404	reqHeaders.Set("User-Agent", c.s.userAgent())
20405	if c.ifNoneMatch_ != "" {
20406		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20407	}
20408	var body io.Reader = nil
20409	c.urlParams_.Set("alt", alt)
20410	c.urlParams_.Set("prettyPrint", "false")
20411	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20412	urls += "?" + c.urlParams_.Encode()
20413	req, err := http.NewRequest("GET", urls, body)
20414	if err != nil {
20415		return nil, err
20416	}
20417	req.Header = reqHeaders
20418	googleapi.Expand(req.URL, map[string]string{
20419		"parent":       c.parent,
20420		"dicomWebPath": c.dicomWebPath,
20421	})
20422	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20423}
20424
20425// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries" call.
20426func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20427	gensupport.SetOptions(c.urlParams_, opts...)
20428	return c.doRequest("")
20429	// {
20430	//   "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).",
20431	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20432	//   "httpMethod": "GET",
20433	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries",
20434	//   "parameterOrder": [
20435	//     "parent",
20436	//     "dicomWebPath"
20437	//   ],
20438	//   "parameters": {
20439	//     "dicomWebPath": {
20440	//       "description": "The path of the RetrieveSeries DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}`.",
20441	//       "location": "path",
20442	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20443	//       "required": true,
20444	//       "type": "string"
20445	//     },
20446	//     "parent": {
20447	//       "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}`.",
20448	//       "location": "path",
20449	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20450	//       "required": true,
20451	//       "type": "string"
20452	//     }
20453	//   },
20454	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20455	//   "response": {
20456	//     "$ref": "HttpBody"
20457	//   },
20458	//   "scopes": [
20459	//     "https://www.googleapis.com/auth/cloud-platform"
20460	//   ]
20461	// }
20462
20463}
20464
20465// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances":
20466
20467type ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall struct {
20468	s            *Service
20469	parent       string
20470	dicomWebPath string
20471	urlParams_   gensupport.URLParams
20472	ifNoneMatch_ string
20473	ctx_         context.Context
20474	header_      http.Header
20475}
20476
20477// SearchForInstances: SearchForInstances returns a list of matching
20478// instances. See RetrieveTransaction
20479// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20480// For details on the implementation of SearchForInstances, see Search
20481// transaction
20482// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
20483// in the Cloud Healthcare API conformance statement. For samples that
20484// show how to call SearchForInstances, see Searching for studies,
20485// series, instances, and frames
20486// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
20487//
20488// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
20489//   request. For example, `instances`, `series/{series_uid}/instances`,
20490//   or `studies/{study_uid}/instances`.
20491// - parent: The name of the DICOM store that is being accessed. For
20492//   example,
20493//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20494//   /dicomStores/{dicom_store_id}`.
20495func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20496	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20497	c.parent = parent
20498	c.dicomWebPath = dicomWebPath
20499	return c
20500}
20501
20502// Fields allows partial responses to be retrieved. See
20503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20504// for more information.
20505func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20507	return c
20508}
20509
20510// IfNoneMatch sets the optional parameter which makes the operation
20511// fail if the object's ETag matches the given value. This is useful for
20512// getting updates only after the object has changed since the last
20513// request. Use googleapi.IsNotModified to check whether the response
20514// error from Do is the result of In-None-Match.
20515func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20516	c.ifNoneMatch_ = entityTag
20517	return c
20518}
20519
20520// Context sets the context to be used in this call's Do method. Any
20521// pending HTTP request will be aborted if the provided context is
20522// canceled.
20523func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20524	c.ctx_ = ctx
20525	return c
20526}
20527
20528// Header returns an http.Header that can be modified by the caller to
20529// add HTTP headers to the request.
20530func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Header() http.Header {
20531	if c.header_ == nil {
20532		c.header_ = make(http.Header)
20533	}
20534	return c.header_
20535}
20536
20537func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
20538	reqHeaders := make(http.Header)
20539	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20540	for k, v := range c.header_ {
20541		reqHeaders[k] = v
20542	}
20543	reqHeaders.Set("User-Agent", c.s.userAgent())
20544	if c.ifNoneMatch_ != "" {
20545		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20546	}
20547	var body io.Reader = nil
20548	c.urlParams_.Set("alt", alt)
20549	c.urlParams_.Set("prettyPrint", "false")
20550	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20551	urls += "?" + c.urlParams_.Encode()
20552	req, err := http.NewRequest("GET", urls, body)
20553	if err != nil {
20554		return nil, err
20555	}
20556	req.Header = reqHeaders
20557	googleapi.Expand(req.URL, map[string]string{
20558		"parent":       c.parent,
20559		"dicomWebPath": c.dicomWebPath,
20560	})
20561	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20562}
20563
20564// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances" call.
20565func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20566	gensupport.SetOptions(c.urlParams_, opts...)
20567	return c.doRequest("")
20568	// {
20569	//   "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).",
20570	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances",
20571	//   "httpMethod": "GET",
20572	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances",
20573	//   "parameterOrder": [
20574	//     "parent",
20575	//     "dicomWebPath"
20576	//   ],
20577	//   "parameters": {
20578	//     "dicomWebPath": {
20579	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
20580	//       "location": "path",
20581	//       "pattern": "^studies/[^/]+/series/[^/]+/instances$",
20582	//       "required": true,
20583	//       "type": "string"
20584	//     },
20585	//     "parent": {
20586	//       "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}`.",
20587	//       "location": "path",
20588	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20589	//       "required": true,
20590	//       "type": "string"
20591	//     }
20592	//   },
20593	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20594	//   "response": {
20595	//     "$ref": "HttpBody"
20596	//   },
20597	//   "scopes": [
20598	//     "https://www.googleapis.com/auth/cloud-platform"
20599	//   ]
20600	// }
20601
20602}
20603
20604// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete":
20605
20606type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall struct {
20607	s            *Service
20608	parent       string
20609	dicomWebPath string
20610	urlParams_   gensupport.URLParams
20611	ctx_         context.Context
20612	header_      http.Header
20613}
20614
20615// Delete: DeleteInstance deletes an instance associated with the given
20616// study, series, and SOP Instance UID. Delete requests are equivalent
20617// to the GET requests specified in the Retrieve transaction. Study and
20618// series search results can take a few seconds to be updated after an
20619// instance is deleted using DeleteInstance. For samples that show how
20620// to call DeleteInstance, see Deleting a study, series, or instance
20621// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20622//
20623// - dicomWebPath: The path of the DeleteInstance request. For example,
20624//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20625// - parent: The name of the DICOM store that is being accessed. For
20626//   example,
20627//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20628//   /dicomStores/{dicom_store_id}`.
20629func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20630	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20631	c.parent = parent
20632	c.dicomWebPath = dicomWebPath
20633	return c
20634}
20635
20636// Fields allows partial responses to be retrieved. See
20637// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20638// for more information.
20639func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20640	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20641	return c
20642}
20643
20644// Context sets the context to be used in this call's Do method. Any
20645// pending HTTP request will be aborted if the provided context is
20646// canceled.
20647func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20648	c.ctx_ = ctx
20649	return c
20650}
20651
20652// Header returns an http.Header that can be modified by the caller to
20653// add HTTP headers to the request.
20654func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Header() http.Header {
20655	if c.header_ == nil {
20656		c.header_ = make(http.Header)
20657	}
20658	return c.header_
20659}
20660
20661func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
20662	reqHeaders := make(http.Header)
20663	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20664	for k, v := range c.header_ {
20665		reqHeaders[k] = v
20666	}
20667	reqHeaders.Set("User-Agent", c.s.userAgent())
20668	var body io.Reader = nil
20669	c.urlParams_.Set("alt", alt)
20670	c.urlParams_.Set("prettyPrint", "false")
20671	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20672	urls += "?" + c.urlParams_.Encode()
20673	req, err := http.NewRequest("DELETE", urls, body)
20674	if err != nil {
20675		return nil, err
20676	}
20677	req.Header = reqHeaders
20678	googleapi.Expand(req.URL, map[string]string{
20679		"parent":       c.parent,
20680		"dicomWebPath": c.dicomWebPath,
20681	})
20682	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20683}
20684
20685// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete" call.
20686// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20687// code is an error. Response headers are in either
20688// *Empty.ServerResponse.Header or (if a response was returned at all)
20689// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20690// check whether the returned error was because http.StatusNotModified
20691// was returned.
20692func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20693	gensupport.SetOptions(c.urlParams_, opts...)
20694	res, err := c.doRequest("json")
20695	if res != nil && res.StatusCode == http.StatusNotModified {
20696		if res.Body != nil {
20697			res.Body.Close()
20698		}
20699		return nil, &googleapi.Error{
20700			Code:   res.StatusCode,
20701			Header: res.Header,
20702		}
20703	}
20704	if err != nil {
20705		return nil, err
20706	}
20707	defer googleapi.CloseBody(res)
20708	if err := googleapi.CheckResponse(res); err != nil {
20709		return nil, err
20710	}
20711	ret := &Empty{
20712		ServerResponse: googleapi.ServerResponse{
20713			Header:         res.Header,
20714			HTTPStatusCode: res.StatusCode,
20715		},
20716	}
20717	target := &ret
20718	if err := gensupport.DecodeResponse(target, res); err != nil {
20719		return nil, err
20720	}
20721	return ret, nil
20722	// {
20723	//   "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).",
20724	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20725	//   "httpMethod": "DELETE",
20726	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete",
20727	//   "parameterOrder": [
20728	//     "parent",
20729	//     "dicomWebPath"
20730	//   ],
20731	//   "parameters": {
20732	//     "dicomWebPath": {
20733	//       "description": "The path of the DeleteInstance request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20734	//       "location": "path",
20735	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20736	//       "required": true,
20737	//       "type": "string"
20738	//     },
20739	//     "parent": {
20740	//       "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}`.",
20741	//       "location": "path",
20742	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20743	//       "required": true,
20744	//       "type": "string"
20745	//     }
20746	//   },
20747	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20748	//   "response": {
20749	//     "$ref": "Empty"
20750	//   },
20751	//   "scopes": [
20752	//     "https://www.googleapis.com/auth/cloud-platform"
20753	//   ]
20754	// }
20755
20756}
20757
20758// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance":
20759
20760type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall struct {
20761	s            *Service
20762	parent       string
20763	dicomWebPath string
20764	urlParams_   gensupport.URLParams
20765	ifNoneMatch_ string
20766	ctx_         context.Context
20767	header_      http.Header
20768}
20769
20770// RetrieveInstance: RetrieveInstance returns instance associated with
20771// the given study, series, and SOP Instance UID. See
20772// RetrieveTransaction
20773// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20774// For details on the implementation of RetrieveInstance, see DICOM
20775// study/series/instances
20776// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20777// and DICOM instances
20778// (https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in
20779// the Cloud Healthcare API conformance statement. For samples that show
20780// how to call RetrieveInstance, see Retrieving an instance
20781// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).
20782//
20783// - dicomWebPath: The path of the RetrieveInstance DICOMweb request.
20784//   For example,
20785//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20786// - parent: The name of the DICOM store that is being accessed. For
20787//   example,
20788//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20789//   /dicomStores/{dicom_store_id}`.
20790func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveInstance(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20791	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20792	c.parent = parent
20793	c.dicomWebPath = dicomWebPath
20794	return c
20795}
20796
20797// Fields allows partial responses to be retrieved. See
20798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20799// for more information.
20800func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20802	return c
20803}
20804
20805// IfNoneMatch sets the optional parameter which makes the operation
20806// fail if the object's ETag matches the given value. This is useful for
20807// getting updates only after the object has changed since the last
20808// request. Use googleapi.IsNotModified to check whether the response
20809// error from Do is the result of In-None-Match.
20810func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20811	c.ifNoneMatch_ = entityTag
20812	return c
20813}
20814
20815// Context sets the context to be used in this call's Do method. Any
20816// pending HTTP request will be aborted if the provided context is
20817// canceled.
20818func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20819	c.ctx_ = ctx
20820	return c
20821}
20822
20823// Header returns an http.Header that can be modified by the caller to
20824// add HTTP headers to the request.
20825func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Header() http.Header {
20826	if c.header_ == nil {
20827		c.header_ = make(http.Header)
20828	}
20829	return c.header_
20830}
20831
20832func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
20833	reqHeaders := make(http.Header)
20834	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20835	for k, v := range c.header_ {
20836		reqHeaders[k] = v
20837	}
20838	reqHeaders.Set("User-Agent", c.s.userAgent())
20839	if c.ifNoneMatch_ != "" {
20840		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20841	}
20842	var body io.Reader = nil
20843	c.urlParams_.Set("alt", alt)
20844	c.urlParams_.Set("prettyPrint", "false")
20845	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20846	urls += "?" + c.urlParams_.Encode()
20847	req, err := http.NewRequest("GET", urls, body)
20848	if err != nil {
20849		return nil, err
20850	}
20851	req.Header = reqHeaders
20852	googleapi.Expand(req.URL, map[string]string{
20853		"parent":       c.parent,
20854		"dicomWebPath": c.dicomWebPath,
20855	})
20856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20857}
20858
20859// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance" call.
20860func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20861	gensupport.SetOptions(c.urlParams_, opts...)
20862	return c.doRequest("")
20863	// {
20864	//   "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).",
20865	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20866	//   "httpMethod": "GET",
20867	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance",
20868	//   "parameterOrder": [
20869	//     "parent",
20870	//     "dicomWebPath"
20871	//   ],
20872	//   "parameters": {
20873	//     "dicomWebPath": {
20874	//       "description": "The path of the RetrieveInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20875	//       "location": "path",
20876	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20877	//       "required": true,
20878	//       "type": "string"
20879	//     },
20880	//     "parent": {
20881	//       "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}`.",
20882	//       "location": "path",
20883	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20884	//       "required": true,
20885	//       "type": "string"
20886	//     }
20887	//   },
20888	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20889	//   "response": {
20890	//     "$ref": "HttpBody"
20891	//   },
20892	//   "scopes": [
20893	//     "https://www.googleapis.com/auth/cloud-platform"
20894	//   ]
20895	// }
20896
20897}
20898
20899// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata":
20900
20901type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall struct {
20902	s            *Service
20903	parent       string
20904	dicomWebPath string
20905	urlParams_   gensupport.URLParams
20906	ifNoneMatch_ string
20907	ctx_         context.Context
20908	header_      http.Header
20909}
20910
20911// RetrieveMetadata: RetrieveInstanceMetadata returns instance
20912// associated with the given study, series, and SOP Instance UID
20913// presented as metadata with the bulk data removed. See
20914// RetrieveTransaction
20915// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20916// For details on the implementation of RetrieveInstanceMetadata, see
20917// Metadata resources
20918// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20919// in the Cloud Healthcare API conformance statement. For samples that
20920// show how to call RetrieveInstanceMetadata, see Retrieving metadata
20921// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20922//
20923// - dicomWebPath: The path of the RetrieveInstanceMetadata DICOMweb
20924//   request. For example,
20925//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/me
20926//   tadata`.
20927// - parent: The name of the DICOM store that is being accessed. For
20928//   example,
20929//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20930//   /dicomStores/{dicom_store_id}`.
20931func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20932	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20933	c.parent = parent
20934	c.dicomWebPath = dicomWebPath
20935	return c
20936}
20937
20938// Fields allows partial responses to be retrieved. See
20939// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20940// for more information.
20941func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20942	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20943	return c
20944}
20945
20946// IfNoneMatch sets the optional parameter which makes the operation
20947// fail if the object's ETag matches the given value. This is useful for
20948// getting updates only after the object has changed since the last
20949// request. Use googleapi.IsNotModified to check whether the response
20950// error from Do is the result of In-None-Match.
20951func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20952	c.ifNoneMatch_ = entityTag
20953	return c
20954}
20955
20956// Context sets the context to be used in this call's Do method. Any
20957// pending HTTP request will be aborted if the provided context is
20958// canceled.
20959func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20960	c.ctx_ = ctx
20961	return c
20962}
20963
20964// Header returns an http.Header that can be modified by the caller to
20965// add HTTP headers to the request.
20966func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Header() http.Header {
20967	if c.header_ == nil {
20968		c.header_ = make(http.Header)
20969	}
20970	return c.header_
20971}
20972
20973func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20974	reqHeaders := make(http.Header)
20975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
20976	for k, v := range c.header_ {
20977		reqHeaders[k] = v
20978	}
20979	reqHeaders.Set("User-Agent", c.s.userAgent())
20980	if c.ifNoneMatch_ != "" {
20981		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20982	}
20983	var body io.Reader = nil
20984	c.urlParams_.Set("alt", alt)
20985	c.urlParams_.Set("prettyPrint", "false")
20986	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20987	urls += "?" + c.urlParams_.Encode()
20988	req, err := http.NewRequest("GET", urls, body)
20989	if err != nil {
20990		return nil, err
20991	}
20992	req.Header = reqHeaders
20993	googleapi.Expand(req.URL, map[string]string{
20994		"parent":       c.parent,
20995		"dicomWebPath": c.dicomWebPath,
20996	})
20997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20998}
20999
21000// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata" call.
21001func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21002	gensupport.SetOptions(c.urlParams_, opts...)
21003	return c.doRequest("")
21004	// {
21005	//   "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).",
21006	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata",
21007	//   "httpMethod": "GET",
21008	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata",
21009	//   "parameterOrder": [
21010	//     "parent",
21011	//     "dicomWebPath"
21012	//   ],
21013	//   "parameters": {
21014	//     "dicomWebPath": {
21015	//       "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.",
21016	//       "location": "path",
21017	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$",
21018	//       "required": true,
21019	//       "type": "string"
21020	//     },
21021	//     "parent": {
21022	//       "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}`.",
21023	//       "location": "path",
21024	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21025	//       "required": true,
21026	//       "type": "string"
21027	//     }
21028	//   },
21029	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21030	//   "response": {
21031	//     "$ref": "HttpBody"
21032	//   },
21033	//   "scopes": [
21034	//     "https://www.googleapis.com/auth/cloud-platform"
21035	//   ]
21036	// }
21037
21038}
21039
21040// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered":
21041
21042type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall struct {
21043	s            *Service
21044	parent       string
21045	dicomWebPath string
21046	urlParams_   gensupport.URLParams
21047	ifNoneMatch_ string
21048	ctx_         context.Context
21049	header_      http.Header
21050}
21051
21052// RetrieveRendered: RetrieveRenderedInstance returns instance
21053// associated with the given study, series, and SOP Instance UID in an
21054// acceptable Rendered Media Type. See RetrieveTransaction
21055// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21056// For details on the implementation of RetrieveRenderedInstance, see
21057// Rendered resources
21058// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21059// in the Cloud Healthcare API conformance statement. For samples that
21060// show how to call RetrieveRenderedInstance, see Retrieving consumer
21061// image formats
21062// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21063//
21064// - dicomWebPath: The path of the RetrieveRenderedInstance DICOMweb
21065//   request. For example,
21066//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/re
21067//   ndered`.
21068// - parent: The name of the DICOM store that is being accessed. For
21069//   example,
21070//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21071//   /dicomStores/{dicom_store_id}`.
21072func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21073	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21074	c.parent = parent
21075	c.dicomWebPath = dicomWebPath
21076	return c
21077}
21078
21079// Fields allows partial responses to be retrieved. See
21080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21081// for more information.
21082func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21084	return c
21085}
21086
21087// IfNoneMatch sets the optional parameter which makes the operation
21088// fail if the object's ETag matches the given value. This is useful for
21089// getting updates only after the object has changed since the last
21090// request. Use googleapi.IsNotModified to check whether the response
21091// error from Do is the result of In-None-Match.
21092func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21093	c.ifNoneMatch_ = entityTag
21094	return c
21095}
21096
21097// Context sets the context to be used in this call's Do method. Any
21098// pending HTTP request will be aborted if the provided context is
21099// canceled.
21100func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21101	c.ctx_ = ctx
21102	return c
21103}
21104
21105// Header returns an http.Header that can be modified by the caller to
21106// add HTTP headers to the request.
21107func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Header() http.Header {
21108	if c.header_ == nil {
21109		c.header_ = make(http.Header)
21110	}
21111	return c.header_
21112}
21113
21114func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21115	reqHeaders := make(http.Header)
21116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21117	for k, v := range c.header_ {
21118		reqHeaders[k] = v
21119	}
21120	reqHeaders.Set("User-Agent", c.s.userAgent())
21121	if c.ifNoneMatch_ != "" {
21122		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21123	}
21124	var body io.Reader = nil
21125	c.urlParams_.Set("alt", alt)
21126	c.urlParams_.Set("prettyPrint", "false")
21127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21128	urls += "?" + c.urlParams_.Encode()
21129	req, err := http.NewRequest("GET", urls, body)
21130	if err != nil {
21131		return nil, err
21132	}
21133	req.Header = reqHeaders
21134	googleapi.Expand(req.URL, map[string]string{
21135		"parent":       c.parent,
21136		"dicomWebPath": c.dicomWebPath,
21137	})
21138	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21139}
21140
21141// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered" call.
21142func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21143	gensupport.SetOptions(c.urlParams_, opts...)
21144	return c.doRequest("")
21145	// {
21146	//   "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).",
21147	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered",
21148	//   "httpMethod": "GET",
21149	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered",
21150	//   "parameterOrder": [
21151	//     "parent",
21152	//     "dicomWebPath"
21153	//   ],
21154	//   "parameters": {
21155	//     "dicomWebPath": {
21156	//       "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.",
21157	//       "location": "path",
21158	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$",
21159	//       "required": true,
21160	//       "type": "string"
21161	//     },
21162	//     "parent": {
21163	//       "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}`.",
21164	//       "location": "path",
21165	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21166	//       "required": true,
21167	//       "type": "string"
21168	//     }
21169	//   },
21170	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21171	//   "response": {
21172	//     "$ref": "HttpBody"
21173	//   },
21174	//   "scopes": [
21175	//     "https://www.googleapis.com/auth/cloud-platform"
21176	//   ]
21177	// }
21178
21179}
21180
21181// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames":
21182
21183type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall struct {
21184	s            *Service
21185	parent       string
21186	dicomWebPath string
21187	urlParams_   gensupport.URLParams
21188	ifNoneMatch_ string
21189	ctx_         context.Context
21190	header_      http.Header
21191}
21192
21193// RetrieveFrames: RetrieveFrames returns instances associated with the
21194// given study, series, SOP Instance UID and frame numbers. See
21195// RetrieveTransaction
21196// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21197// For details on the implementation of RetrieveFrames, see DICOM frames
21198// (https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the
21199// Cloud Healthcare API conformance statement. For samples that show how
21200// to call RetrieveFrames, see Retrieving DICOM data
21201// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
21202//
21203// - dicomWebPath: The path of the RetrieveFrames DICOMweb request. For
21204//   example,
21205//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21206//   ames/{frame_list}`.
21207// - parent: The name of the DICOM store that is being accessed. For
21208//   example,
21209//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21210//   /dicomStores/{dicom_store_id}`.
21211func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveFrames(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21212	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21213	c.parent = parent
21214	c.dicomWebPath = dicomWebPath
21215	return c
21216}
21217
21218// Fields allows partial responses to be retrieved. See
21219// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21220// for more information.
21221func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21222	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21223	return c
21224}
21225
21226// IfNoneMatch sets the optional parameter which makes the operation
21227// fail if the object's ETag matches the given value. This is useful for
21228// getting updates only after the object has changed since the last
21229// request. Use googleapi.IsNotModified to check whether the response
21230// error from Do is the result of In-None-Match.
21231func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21232	c.ifNoneMatch_ = entityTag
21233	return c
21234}
21235
21236// Context sets the context to be used in this call's Do method. Any
21237// pending HTTP request will be aborted if the provided context is
21238// canceled.
21239func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21240	c.ctx_ = ctx
21241	return c
21242}
21243
21244// Header returns an http.Header that can be modified by the caller to
21245// add HTTP headers to the request.
21246func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Header() http.Header {
21247	if c.header_ == nil {
21248		c.header_ = make(http.Header)
21249	}
21250	return c.header_
21251}
21252
21253func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
21254	reqHeaders := make(http.Header)
21255	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21256	for k, v := range c.header_ {
21257		reqHeaders[k] = v
21258	}
21259	reqHeaders.Set("User-Agent", c.s.userAgent())
21260	if c.ifNoneMatch_ != "" {
21261		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21262	}
21263	var body io.Reader = nil
21264	c.urlParams_.Set("alt", alt)
21265	c.urlParams_.Set("prettyPrint", "false")
21266	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21267	urls += "?" + c.urlParams_.Encode()
21268	req, err := http.NewRequest("GET", urls, body)
21269	if err != nil {
21270		return nil, err
21271	}
21272	req.Header = reqHeaders
21273	googleapi.Expand(req.URL, map[string]string{
21274		"parent":       c.parent,
21275		"dicomWebPath": c.dicomWebPath,
21276	})
21277	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21278}
21279
21280// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames" call.
21281func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21282	gensupport.SetOptions(c.urlParams_, opts...)
21283	return c.doRequest("")
21284	// {
21285	//   "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).",
21286	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}",
21287	//   "httpMethod": "GET",
21288	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames",
21289	//   "parameterOrder": [
21290	//     "parent",
21291	//     "dicomWebPath"
21292	//   ],
21293	//   "parameters": {
21294	//     "dicomWebPath": {
21295	//       "description": "The path of the RetrieveFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.",
21296	//       "location": "path",
21297	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$",
21298	//       "required": true,
21299	//       "type": "string"
21300	//     },
21301	//     "parent": {
21302	//       "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}`.",
21303	//       "location": "path",
21304	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21305	//       "required": true,
21306	//       "type": "string"
21307	//     }
21308	//   },
21309	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21310	//   "response": {
21311	//     "$ref": "HttpBody"
21312	//   },
21313	//   "scopes": [
21314	//     "https://www.googleapis.com/auth/cloud-platform"
21315	//   ]
21316	// }
21317
21318}
21319
21320// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered":
21321
21322type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall struct {
21323	s            *Service
21324	parent       string
21325	dicomWebPath string
21326	urlParams_   gensupport.URLParams
21327	ifNoneMatch_ string
21328	ctx_         context.Context
21329	header_      http.Header
21330}
21331
21332// RetrieveRendered: RetrieveRenderedFrames returns instances associated
21333// with the given study, series, SOP Instance UID and frame numbers in
21334// an acceptable Rendered Media Type. See RetrieveTransaction
21335// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21336// For details on the implementation of RetrieveRenderedFrames, see
21337// Rendered resources
21338// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21339// in the Cloud Healthcare API conformance statement. For samples that
21340// show how to call RetrieveRenderedFrames, see Retrieving consumer
21341// image formats
21342// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21343//
21344// - dicomWebPath: The path of the RetrieveRenderedFrames DICOMweb
21345//   request. For example,
21346//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21347//   ames/{frame_list}/rendered`.
21348// - parent: The name of the DICOM store that is being accessed. For
21349//   example,
21350//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21351//   /dicomStores/{dicom_store_id}`.
21352func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21353	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21354	c.parent = parent
21355	c.dicomWebPath = dicomWebPath
21356	return c
21357}
21358
21359// Fields allows partial responses to be retrieved. See
21360// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21361// for more information.
21362func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21363	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21364	return c
21365}
21366
21367// IfNoneMatch sets the optional parameter which makes the operation
21368// fail if the object's ETag matches the given value. This is useful for
21369// getting updates only after the object has changed since the last
21370// request. Use googleapi.IsNotModified to check whether the response
21371// error from Do is the result of In-None-Match.
21372func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21373	c.ifNoneMatch_ = entityTag
21374	return c
21375}
21376
21377// Context sets the context to be used in this call's Do method. Any
21378// pending HTTP request will be aborted if the provided context is
21379// canceled.
21380func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21381	c.ctx_ = ctx
21382	return c
21383}
21384
21385// Header returns an http.Header that can be modified by the caller to
21386// add HTTP headers to the request.
21387func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Header() http.Header {
21388	if c.header_ == nil {
21389		c.header_ = make(http.Header)
21390	}
21391	return c.header_
21392}
21393
21394func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21395	reqHeaders := make(http.Header)
21396	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21397	for k, v := range c.header_ {
21398		reqHeaders[k] = v
21399	}
21400	reqHeaders.Set("User-Agent", c.s.userAgent())
21401	if c.ifNoneMatch_ != "" {
21402		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21403	}
21404	var body io.Reader = nil
21405	c.urlParams_.Set("alt", alt)
21406	c.urlParams_.Set("prettyPrint", "false")
21407	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21408	urls += "?" + c.urlParams_.Encode()
21409	req, err := http.NewRequest("GET", urls, body)
21410	if err != nil {
21411		return nil, err
21412	}
21413	req.Header = reqHeaders
21414	googleapi.Expand(req.URL, map[string]string{
21415		"parent":       c.parent,
21416		"dicomWebPath": c.dicomWebPath,
21417	})
21418	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21419}
21420
21421// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered" call.
21422func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21423	gensupport.SetOptions(c.urlParams_, opts...)
21424	return c.doRequest("")
21425	// {
21426	//   "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).",
21427	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered",
21428	//   "httpMethod": "GET",
21429	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered",
21430	//   "parameterOrder": [
21431	//     "parent",
21432	//     "dicomWebPath"
21433	//   ],
21434	//   "parameters": {
21435	//     "dicomWebPath": {
21436	//       "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.",
21437	//       "location": "path",
21438	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$",
21439	//       "required": true,
21440	//       "type": "string"
21441	//     },
21442	//     "parent": {
21443	//       "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}`.",
21444	//       "location": "path",
21445	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21446	//       "required": true,
21447	//       "type": "string"
21448	//     }
21449	//   },
21450	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21451	//   "response": {
21452	//     "$ref": "HttpBody"
21453	//   },
21454	//   "scopes": [
21455	//     "https://www.googleapis.com/auth/cloud-platform"
21456	//   ]
21457	// }
21458
21459}
21460
21461// method id "healthcare.projects.locations.datasets.fhirStores.create":
21462
21463type ProjectsLocationsDatasetsFhirStoresCreateCall struct {
21464	s          *Service
21465	parent     string
21466	fhirstore  *FhirStore
21467	urlParams_ gensupport.URLParams
21468	ctx_       context.Context
21469	header_    http.Header
21470}
21471
21472// Create: Creates a new FHIR store within the parent dataset.
21473//
21474// - parent: The name of the dataset this FHIR store belongs to.
21475func (r *ProjectsLocationsDatasetsFhirStoresService) Create(parent string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21476	c := &ProjectsLocationsDatasetsFhirStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21477	c.parent = parent
21478	c.fhirstore = fhirstore
21479	return c
21480}
21481
21482// FhirStoreId sets the optional parameter "fhirStoreId": The ID of the
21483// FHIR store that is being created. The string must match the following
21484// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
21485func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) FhirStoreId(fhirStoreId string) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21486	c.urlParams_.Set("fhirStoreId", fhirStoreId)
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 *ProjectsLocationsDatasetsFhirStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresCreateCall {
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 *ProjectsLocationsDatasetsFhirStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresCreateCall {
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 *ProjectsLocationsDatasetsFhirStoresCreateCall) Header() http.Header {
21509	if c.header_ == nil {
21510		c.header_ = make(http.Header)
21511	}
21512	return c.header_
21513}
21514
21515func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
21516	reqHeaders := make(http.Header)
21517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
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.fhirstore)
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/{+parent}/fhirStores")
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		"parent": c.parent,
21539	})
21540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21541}
21542
21543// Do executes the "healthcare.projects.locations.datasets.fhirStores.create" call.
21544// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
21545// status code is an error. Response headers are in either
21546// *FhirStore.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 *ProjectsLocationsDatasetsFhirStoresCreateCall) Do(opts ...googleapi.CallOption) (*FhirStore, 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 := &FhirStore{
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": "Creates a new FHIR store within the parent dataset.",
21582	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
21583	//   "httpMethod": "POST",
21584	//   "id": "healthcare.projects.locations.datasets.fhirStores.create",
21585	//   "parameterOrder": [
21586	//     "parent"
21587	//   ],
21588	//   "parameters": {
21589	//     "fhirStoreId": {
21590	//       "description": "The ID of the FHIR store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
21591	//       "location": "query",
21592	//       "type": "string"
21593	//     },
21594	//     "parent": {
21595	//       "description": "The name of the dataset this FHIR store belongs to.",
21596	//       "location": "path",
21597	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
21598	//       "required": true,
21599	//       "type": "string"
21600	//     }
21601	//   },
21602	//   "path": "v1beta1/{+parent}/fhirStores",
21603	//   "request": {
21604	//     "$ref": "FhirStore"
21605	//   },
21606	//   "response": {
21607	//     "$ref": "FhirStore"
21608	//   },
21609	//   "scopes": [
21610	//     "https://www.googleapis.com/auth/cloud-platform"
21611	//   ]
21612	// }
21613
21614}
21615
21616// method id "healthcare.projects.locations.datasets.fhirStores.deidentify":
21617
21618type ProjectsLocationsDatasetsFhirStoresDeidentifyCall struct {
21619	s                          *Service
21620	sourceStore                string
21621	deidentifyfhirstorerequest *DeidentifyFhirStoreRequest
21622	urlParams_                 gensupport.URLParams
21623	ctx_                       context.Context
21624	header_                    http.Header
21625}
21626
21627// Deidentify: De-identifies data from the source store and writes it to
21628// the destination store. The metadata field type is OperationMetadata.
21629// If the request is successful, the response field type is
21630// DeidentifyFhirStoreSummary. The number of resources processed are
21631// tracked in Operation.metadata. Error details are logged to Cloud
21632// Logging. For more information, see Viewing error logs in Cloud
21633// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
21634//
21635// - sourceStore: Source FHIR store resource name. For example,
21636//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21637//   /fhirStores/{fhir_store_id}`.
21638func (r *ProjectsLocationsDatasetsFhirStoresService) Deidentify(sourceStore string, deidentifyfhirstorerequest *DeidentifyFhirStoreRequest) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21639	c := &ProjectsLocationsDatasetsFhirStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21640	c.sourceStore = sourceStore
21641	c.deidentifyfhirstorerequest = deidentifyfhirstorerequest
21642	return c
21643}
21644
21645// Fields allows partial responses to be retrieved. See
21646// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21647// for more information.
21648func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21649	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21650	return c
21651}
21652
21653// Context sets the context to be used in this call's Do method. Any
21654// pending HTTP request will be aborted if the provided context is
21655// canceled.
21656func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21657	c.ctx_ = ctx
21658	return c
21659}
21660
21661// Header returns an http.Header that can be modified by the caller to
21662// add HTTP headers to the request.
21663func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Header() http.Header {
21664	if c.header_ == nil {
21665		c.header_ = make(http.Header)
21666	}
21667	return c.header_
21668}
21669
21670func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
21671	reqHeaders := make(http.Header)
21672	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21673	for k, v := range c.header_ {
21674		reqHeaders[k] = v
21675	}
21676	reqHeaders.Set("User-Agent", c.s.userAgent())
21677	var body io.Reader = nil
21678	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifyfhirstorerequest)
21679	if err != nil {
21680		return nil, err
21681	}
21682	reqHeaders.Set("Content-Type", "application/json")
21683	c.urlParams_.Set("alt", alt)
21684	c.urlParams_.Set("prettyPrint", "false")
21685	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
21686	urls += "?" + c.urlParams_.Encode()
21687	req, err := http.NewRequest("POST", urls, body)
21688	if err != nil {
21689		return nil, err
21690	}
21691	req.Header = reqHeaders
21692	googleapi.Expand(req.URL, map[string]string{
21693		"sourceStore": c.sourceStore,
21694	})
21695	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21696}
21697
21698// Do executes the "healthcare.projects.locations.datasets.fhirStores.deidentify" call.
21699// Exactly one of *Operation or error will be non-nil. Any non-2xx
21700// status code is an error. Response headers are in either
21701// *Operation.ServerResponse.Header or (if a response was returned at
21702// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21703// to check whether the returned error was because
21704// http.StatusNotModified was returned.
21705func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21706	gensupport.SetOptions(c.urlParams_, opts...)
21707	res, err := c.doRequest("json")
21708	if res != nil && res.StatusCode == http.StatusNotModified {
21709		if res.Body != nil {
21710			res.Body.Close()
21711		}
21712		return nil, &googleapi.Error{
21713			Code:   res.StatusCode,
21714			Header: res.Header,
21715		}
21716	}
21717	if err != nil {
21718		return nil, err
21719	}
21720	defer googleapi.CloseBody(res)
21721	if err := googleapi.CheckResponse(res); err != nil {
21722		return nil, err
21723	}
21724	ret := &Operation{
21725		ServerResponse: googleapi.ServerResponse{
21726			Header:         res.Header,
21727			HTTPStatusCode: res.StatusCode,
21728		},
21729	}
21730	target := &ret
21731	if err := gensupport.DecodeResponse(target, res); err != nil {
21732		return nil, err
21733	}
21734	return ret, nil
21735	// {
21736	//   "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 error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging).",
21737	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify",
21738	//   "httpMethod": "POST",
21739	//   "id": "healthcare.projects.locations.datasets.fhirStores.deidentify",
21740	//   "parameterOrder": [
21741	//     "sourceStore"
21742	//   ],
21743	//   "parameters": {
21744	//     "sourceStore": {
21745	//       "description": "Source FHIR store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
21746	//       "location": "path",
21747	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21748	//       "required": true,
21749	//       "type": "string"
21750	//     }
21751	//   },
21752	//   "path": "v1beta1/{+sourceStore}:deidentify",
21753	//   "request": {
21754	//     "$ref": "DeidentifyFhirStoreRequest"
21755	//   },
21756	//   "response": {
21757	//     "$ref": "Operation"
21758	//   },
21759	//   "scopes": [
21760	//     "https://www.googleapis.com/auth/cloud-platform"
21761	//   ]
21762	// }
21763
21764}
21765
21766// method id "healthcare.projects.locations.datasets.fhirStores.delete":
21767
21768type ProjectsLocationsDatasetsFhirStoresDeleteCall struct {
21769	s          *Service
21770	name       string
21771	urlParams_ gensupport.URLParams
21772	ctx_       context.Context
21773	header_    http.Header
21774}
21775
21776// Delete: Deletes the specified FHIR store and removes all resources
21777// within it.
21778//
21779// - name: The resource name of the FHIR store to delete.
21780func (r *ProjectsLocationsDatasetsFhirStoresService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21781	c := &ProjectsLocationsDatasetsFhirStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21782	c.name = name
21783	return c
21784}
21785
21786// Fields allows partial responses to be retrieved. See
21787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21788// for more information.
21789func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21791	return c
21792}
21793
21794// Context sets the context to be used in this call's Do method. Any
21795// pending HTTP request will be aborted if the provided context is
21796// canceled.
21797func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21798	c.ctx_ = ctx
21799	return c
21800}
21801
21802// Header returns an http.Header that can be modified by the caller to
21803// add HTTP headers to the request.
21804func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Header() http.Header {
21805	if c.header_ == nil {
21806		c.header_ = make(http.Header)
21807	}
21808	return c.header_
21809}
21810
21811func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
21812	reqHeaders := make(http.Header)
21813	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21814	for k, v := range c.header_ {
21815		reqHeaders[k] = v
21816	}
21817	reqHeaders.Set("User-Agent", c.s.userAgent())
21818	var body io.Reader = nil
21819	c.urlParams_.Set("alt", alt)
21820	c.urlParams_.Set("prettyPrint", "false")
21821	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
21822	urls += "?" + c.urlParams_.Encode()
21823	req, err := http.NewRequest("DELETE", urls, body)
21824	if err != nil {
21825		return nil, err
21826	}
21827	req.Header = reqHeaders
21828	googleapi.Expand(req.URL, map[string]string{
21829		"name": c.name,
21830	})
21831	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21832}
21833
21834// Do executes the "healthcare.projects.locations.datasets.fhirStores.delete" call.
21835// Exactly one of *Empty or error will be non-nil. Any non-2xx status
21836// code is an error. Response headers are in either
21837// *Empty.ServerResponse.Header or (if a response was returned at all)
21838// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21839// check whether the returned error was because http.StatusNotModified
21840// was returned.
21841func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
21842	gensupport.SetOptions(c.urlParams_, opts...)
21843	res, err := c.doRequest("json")
21844	if res != nil && res.StatusCode == http.StatusNotModified {
21845		if res.Body != nil {
21846			res.Body.Close()
21847		}
21848		return nil, &googleapi.Error{
21849			Code:   res.StatusCode,
21850			Header: res.Header,
21851		}
21852	}
21853	if err != nil {
21854		return nil, err
21855	}
21856	defer googleapi.CloseBody(res)
21857	if err := googleapi.CheckResponse(res); err != nil {
21858		return nil, err
21859	}
21860	ret := &Empty{
21861		ServerResponse: googleapi.ServerResponse{
21862			Header:         res.Header,
21863			HTTPStatusCode: res.StatusCode,
21864		},
21865	}
21866	target := &ret
21867	if err := gensupport.DecodeResponse(target, res); err != nil {
21868		return nil, err
21869	}
21870	return ret, nil
21871	// {
21872	//   "description": "Deletes the specified FHIR store and removes all resources within it.",
21873	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
21874	//   "httpMethod": "DELETE",
21875	//   "id": "healthcare.projects.locations.datasets.fhirStores.delete",
21876	//   "parameterOrder": [
21877	//     "name"
21878	//   ],
21879	//   "parameters": {
21880	//     "name": {
21881	//       "description": "The resource name of the FHIR store to delete.",
21882	//       "location": "path",
21883	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21884	//       "required": true,
21885	//       "type": "string"
21886	//     }
21887	//   },
21888	//   "path": "v1beta1/{+name}",
21889	//   "response": {
21890	//     "$ref": "Empty"
21891	//   },
21892	//   "scopes": [
21893	//     "https://www.googleapis.com/auth/cloud-platform"
21894	//   ]
21895	// }
21896
21897}
21898
21899// method id "healthcare.projects.locations.datasets.fhirStores.export":
21900
21901type ProjectsLocationsDatasetsFhirStoresExportCall struct {
21902	s                      *Service
21903	name                   string
21904	exportresourcesrequest *ExportResourcesRequest
21905	urlParams_             gensupport.URLParams
21906	ctx_                   context.Context
21907	header_                http.Header
21908}
21909
21910// Export: Export resources from the FHIR store to the specified
21911// destination. This method returns an Operation that can be used to
21912// track the status of the export by calling GetOperation. Immediate
21913// fatal errors appear in the error field, errors are also logged to
21914// Cloud Logging (see Viewing error logs in Cloud Logging
21915// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
21916// Otherwise, when the operation finishes, a detailed response of type
21917// ExportResourcesResponse is returned in the response field. The
21918// metadata field type for this operation is OperationMetadata.
21919//
21920// - name: The name of the FHIR store to export resource from, in the
21921//   format of
21922//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21923//   /fhirStores/{fhir_store_id}`.
21924func (r *ProjectsLocationsDatasetsFhirStoresService) Export(name string, exportresourcesrequest *ExportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresExportCall {
21925	c := &ProjectsLocationsDatasetsFhirStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21926	c.name = name
21927	c.exportresourcesrequest = exportresourcesrequest
21928	return c
21929}
21930
21931// Fields allows partial responses to be retrieved. See
21932// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21933// for more information.
21934func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresExportCall {
21935	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21936	return c
21937}
21938
21939// Context sets the context to be used in this call's Do method. Any
21940// pending HTTP request will be aborted if the provided context is
21941// canceled.
21942func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresExportCall {
21943	c.ctx_ = ctx
21944	return c
21945}
21946
21947// Header returns an http.Header that can be modified by the caller to
21948// add HTTP headers to the request.
21949func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Header() http.Header {
21950	if c.header_ == nil {
21951		c.header_ = make(http.Header)
21952	}
21953	return c.header_
21954}
21955
21956func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
21957	reqHeaders := make(http.Header)
21958	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
21959	for k, v := range c.header_ {
21960		reqHeaders[k] = v
21961	}
21962	reqHeaders.Set("User-Agent", c.s.userAgent())
21963	var body io.Reader = nil
21964	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportresourcesrequest)
21965	if err != nil {
21966		return nil, err
21967	}
21968	reqHeaders.Set("Content-Type", "application/json")
21969	c.urlParams_.Set("alt", alt)
21970	c.urlParams_.Set("prettyPrint", "false")
21971	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
21972	urls += "?" + c.urlParams_.Encode()
21973	req, err := http.NewRequest("POST", urls, body)
21974	if err != nil {
21975		return nil, err
21976	}
21977	req.Header = reqHeaders
21978	googleapi.Expand(req.URL, map[string]string{
21979		"name": c.name,
21980	})
21981	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21982}
21983
21984// Do executes the "healthcare.projects.locations.datasets.fhirStores.export" call.
21985// Exactly one of *Operation or error will be non-nil. Any non-2xx
21986// status code is an error. Response headers are in either
21987// *Operation.ServerResponse.Header or (if a response was returned at
21988// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21989// to check whether the returned error was because
21990// http.StatusNotModified was returned.
21991func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21992	gensupport.SetOptions(c.urlParams_, opts...)
21993	res, err := c.doRequest("json")
21994	if res != nil && res.StatusCode == http.StatusNotModified {
21995		if res.Body != nil {
21996			res.Body.Close()
21997		}
21998		return nil, &googleapi.Error{
21999			Code:   res.StatusCode,
22000			Header: res.Header,
22001		}
22002	}
22003	if err != nil {
22004		return nil, err
22005	}
22006	defer googleapi.CloseBody(res)
22007	if err := googleapi.CheckResponse(res); err != nil {
22008		return nil, err
22009	}
22010	ret := &Operation{
22011		ServerResponse: googleapi.ServerResponse{
22012			Header:         res.Header,
22013			HTTPStatusCode: res.StatusCode,
22014		},
22015	}
22016	target := &ret
22017	if err := gensupport.DecodeResponse(target, res); err != nil {
22018		return nil, err
22019	}
22020	return ret, nil
22021	// {
22022	//   "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](https://cloud.google.com/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.",
22023	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export",
22024	//   "httpMethod": "POST",
22025	//   "id": "healthcare.projects.locations.datasets.fhirStores.export",
22026	//   "parameterOrder": [
22027	//     "name"
22028	//   ],
22029	//   "parameters": {
22030	//     "name": {
22031	//       "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}`.",
22032	//       "location": "path",
22033	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22034	//       "required": true,
22035	//       "type": "string"
22036	//     }
22037	//   },
22038	//   "path": "v1beta1/{+name}:export",
22039	//   "request": {
22040	//     "$ref": "ExportResourcesRequest"
22041	//   },
22042	//   "response": {
22043	//     "$ref": "Operation"
22044	//   },
22045	//   "scopes": [
22046	//     "https://www.googleapis.com/auth/cloud-platform"
22047	//   ]
22048	// }
22049
22050}
22051
22052// method id "healthcare.projects.locations.datasets.fhirStores.get":
22053
22054type ProjectsLocationsDatasetsFhirStoresGetCall struct {
22055	s            *Service
22056	name         string
22057	urlParams_   gensupport.URLParams
22058	ifNoneMatch_ string
22059	ctx_         context.Context
22060	header_      http.Header
22061}
22062
22063// Get: Gets the configuration of the specified FHIR store.
22064//
22065// - name: The resource name of the FHIR store to get.
22066func (r *ProjectsLocationsDatasetsFhirStoresService) Get(name string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22067	c := &ProjectsLocationsDatasetsFhirStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22068	c.name = name
22069	return c
22070}
22071
22072// Fields allows partial responses to be retrieved. See
22073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22074// for more information.
22075func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetCall {
22076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22077	return c
22078}
22079
22080// IfNoneMatch sets the optional parameter which makes the operation
22081// fail if the object's ETag matches the given value. This is useful for
22082// getting updates only after the object has changed since the last
22083// request. Use googleapi.IsNotModified to check whether the response
22084// error from Do is the result of In-None-Match.
22085func (c *ProjectsLocationsDatasetsFhirStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22086	c.ifNoneMatch_ = entityTag
22087	return c
22088}
22089
22090// Context sets the context to be used in this call's Do method. Any
22091// pending HTTP request will be aborted if the provided context is
22092// canceled.
22093func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetCall {
22094	c.ctx_ = ctx
22095	return c
22096}
22097
22098// Header returns an http.Header that can be modified by the caller to
22099// add HTTP headers to the request.
22100func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Header() http.Header {
22101	if c.header_ == nil {
22102		c.header_ = make(http.Header)
22103	}
22104	return c.header_
22105}
22106
22107func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
22108	reqHeaders := make(http.Header)
22109	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
22110	for k, v := range c.header_ {
22111		reqHeaders[k] = v
22112	}
22113	reqHeaders.Set("User-Agent", c.s.userAgent())
22114	if c.ifNoneMatch_ != "" {
22115		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22116	}
22117	var body io.Reader = nil
22118	c.urlParams_.Set("alt", alt)
22119	c.urlParams_.Set("prettyPrint", "false")
22120	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22121	urls += "?" + c.urlParams_.Encode()
22122	req, err := http.NewRequest("GET", urls, body)
22123	if err != nil {
22124		return nil, err
22125	}
22126	req.Header = reqHeaders
22127	googleapi.Expand(req.URL, map[string]string{
22128		"name": c.name,
22129	})
22130	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22131}
22132
22133// Do executes the "healthcare.projects.locations.datasets.fhirStores.get" call.
22134// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22135// status code is an error. Response headers are in either
22136// *FhirStore.ServerResponse.Header or (if a response was returned at
22137// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22138// to check whether the returned error was because
22139// http.StatusNotModified was returned.
22140func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22141	gensupport.SetOptions(c.urlParams_, opts...)
22142	res, err := c.doRequest("json")
22143	if res != nil && res.StatusCode == http.StatusNotModified {
22144		if res.Body != nil {
22145			res.Body.Close()
22146		}
22147		return nil, &googleapi.Error{
22148			Code:   res.StatusCode,
22149			Header: res.Header,
22150		}
22151	}
22152	if err != nil {
22153		return nil, err
22154	}
22155	defer googleapi.CloseBody(res)
22156	if err := googleapi.CheckResponse(res); err != nil {
22157		return nil, err
22158	}
22159	ret := &FhirStore{
22160		ServerResponse: googleapi.ServerResponse{
22161			Header:         res.Header,
22162			HTTPStatusCode: res.StatusCode,
22163		},
22164	}
22165	target := &ret
22166	if err := gensupport.DecodeResponse(target, res); err != nil {
22167		return nil, err
22168	}
22169	return ret, nil
22170	// {
22171	//   "description": "Gets the configuration of the specified FHIR store.",
22172	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22173	//   "httpMethod": "GET",
22174	//   "id": "healthcare.projects.locations.datasets.fhirStores.get",
22175	//   "parameterOrder": [
22176	//     "name"
22177	//   ],
22178	//   "parameters": {
22179	//     "name": {
22180	//       "description": "The resource name of the FHIR store to get.",
22181	//       "location": "path",
22182	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22183	//       "required": true,
22184	//       "type": "string"
22185	//     }
22186	//   },
22187	//   "path": "v1beta1/{+name}",
22188	//   "response": {
22189	//     "$ref": "FhirStore"
22190	//   },
22191	//   "scopes": [
22192	//     "https://www.googleapis.com/auth/cloud-platform"
22193	//   ]
22194	// }
22195
22196}
22197
22198// method id "healthcare.projects.locations.datasets.fhirStores.getIamPolicy":
22199
22200type ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall struct {
22201	s            *Service
22202	resource     string
22203	urlParams_   gensupport.URLParams
22204	ifNoneMatch_ string
22205	ctx_         context.Context
22206	header_      http.Header
22207}
22208
22209// GetIamPolicy: Gets the access control policy for a resource. Returns
22210// an empty policy if the resource exists and does not have a policy
22211// set.
22212//
22213// - resource: REQUIRED: The resource for which the policy is being
22214//   requested. See the operation documentation for the appropriate
22215//   value for this field.
22216func (r *ProjectsLocationsDatasetsFhirStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22217	c := &ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22218	c.resource = resource
22219	return c
22220}
22221
22222// OptionsRequestedPolicyVersion sets the optional parameter
22223// "options.requestedPolicyVersion": The policy format version to be
22224// returned. Valid values are 0, 1, and 3. Requests specifying an
22225// invalid value will be rejected. Requests for policies with any
22226// conditional bindings must specify version 3. Policies without any
22227// conditional bindings may specify any valid value or leave the field
22228// unset. To learn which resources support conditions in their IAM
22229// policies, see the IAM documentation
22230// (https://cloud.google.com/iam/help/conditions/resource-policies).
22231func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22232	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
22233	return c
22234}
22235
22236// Fields allows partial responses to be retrieved. See
22237// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22238// for more information.
22239func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22240	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22241	return c
22242}
22243
22244// IfNoneMatch sets the optional parameter which makes the operation
22245// fail if the object's ETag matches the given value. This is useful for
22246// getting updates only after the object has changed since the last
22247// request. Use googleapi.IsNotModified to check whether the response
22248// error from Do is the result of In-None-Match.
22249func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22250	c.ifNoneMatch_ = entityTag
22251	return c
22252}
22253
22254// Context sets the context to be used in this call's Do method. Any
22255// pending HTTP request will be aborted if the provided context is
22256// canceled.
22257func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22258	c.ctx_ = ctx
22259	return c
22260}
22261
22262// Header returns an http.Header that can be modified by the caller to
22263// add HTTP headers to the request.
22264func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Header() http.Header {
22265	if c.header_ == nil {
22266		c.header_ = make(http.Header)
22267	}
22268	return c.header_
22269}
22270
22271func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
22272	reqHeaders := make(http.Header)
22273	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
22274	for k, v := range c.header_ {
22275		reqHeaders[k] = v
22276	}
22277	reqHeaders.Set("User-Agent", c.s.userAgent())
22278	if c.ifNoneMatch_ != "" {
22279		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22280	}
22281	var body io.Reader = nil
22282	c.urlParams_.Set("alt", alt)
22283	c.urlParams_.Set("prettyPrint", "false")
22284	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
22285	urls += "?" + c.urlParams_.Encode()
22286	req, err := http.NewRequest("GET", urls, body)
22287	if err != nil {
22288		return nil, err
22289	}
22290	req.Header = reqHeaders
22291	googleapi.Expand(req.URL, map[string]string{
22292		"resource": c.resource,
22293	})
22294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22295}
22296
22297// Do executes the "healthcare.projects.locations.datasets.fhirStores.getIamPolicy" call.
22298// Exactly one of *Policy or error will be non-nil. Any non-2xx status
22299// code is an error. Response headers are in either
22300// *Policy.ServerResponse.Header or (if a response was returned at all)
22301// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22302// check whether the returned error was because http.StatusNotModified
22303// was returned.
22304func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
22305	gensupport.SetOptions(c.urlParams_, opts...)
22306	res, err := c.doRequest("json")
22307	if res != nil && res.StatusCode == http.StatusNotModified {
22308		if res.Body != nil {
22309			res.Body.Close()
22310		}
22311		return nil, &googleapi.Error{
22312			Code:   res.StatusCode,
22313			Header: res.Header,
22314		}
22315	}
22316	if err != nil {
22317		return nil, err
22318	}
22319	defer googleapi.CloseBody(res)
22320	if err := googleapi.CheckResponse(res); err != nil {
22321		return nil, err
22322	}
22323	ret := &Policy{
22324		ServerResponse: googleapi.ServerResponse{
22325			Header:         res.Header,
22326			HTTPStatusCode: res.StatusCode,
22327		},
22328	}
22329	target := &ret
22330	if err := gensupport.DecodeResponse(target, res); err != nil {
22331		return nil, err
22332	}
22333	return ret, nil
22334	// {
22335	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
22336	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy",
22337	//   "httpMethod": "GET",
22338	//   "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy",
22339	//   "parameterOrder": [
22340	//     "resource"
22341	//   ],
22342	//   "parameters": {
22343	//     "options.requestedPolicyVersion": {
22344	//       "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).",
22345	//       "format": "int32",
22346	//       "location": "query",
22347	//       "type": "integer"
22348	//     },
22349	//     "resource": {
22350	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
22351	//       "location": "path",
22352	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22353	//       "required": true,
22354	//       "type": "string"
22355	//     }
22356	//   },
22357	//   "path": "v1beta1/{+resource}:getIamPolicy",
22358	//   "response": {
22359	//     "$ref": "Policy"
22360	//   },
22361	//   "scopes": [
22362	//     "https://www.googleapis.com/auth/cloud-platform"
22363	//   ]
22364	// }
22365
22366}
22367
22368// method id "healthcare.projects.locations.datasets.fhirStores.import":
22369
22370type ProjectsLocationsDatasetsFhirStoresImportCall struct {
22371	s                      *Service
22372	name                   string
22373	importresourcesrequest *ImportResourcesRequest
22374	urlParams_             gensupport.URLParams
22375	ctx_                   context.Context
22376	header_                http.Header
22377}
22378
22379// Import: Import resources to the FHIR store by loading data from the
22380// specified sources. This method is optimized to load large quantities
22381// of data using import semantics that ignore some FHIR store
22382// configuration options and are not suitable for all use cases. It is
22383// primarily intended to load data into an empty FHIR store that is not
22384// being used by other clients. In cases where this method is not
22385// appropriate, consider using ExecuteBundle to load data. Every
22386// resource in the input must contain a client-supplied ID. Each
22387// resource is stored using the supplied ID regardless of the
22388// enable_update_create setting on the FHIR store. It is strongly
22389// advised not to include or encode any sensitive data such as patient
22390// identifiers in client-specified resource IDs. Those IDs are part of
22391// the FHIR resource path recorded in Cloud Audit Logs and Cloud Pub/Sub
22392// notifications. Those IDs can also be contained in reference fields
22393// within other resources. The import process does not enforce
22394// referential integrity, regardless of the
22395// disable_referential_integrity setting on the FHIR store. This allows
22396// the import of resources with arbitrary interdependencies without
22397// considering grouping or ordering, but if the input data contains
22398// invalid references or if some resources fail to be imported, the FHIR
22399// store might be left in a state that violates referential integrity.
22400// The import process does not trigger Pub/Sub notification or BigQuery
22401// streaming update, regardless of how those are configured on the FHIR
22402// store. If a resource with the specified ID already exists, the most
22403// recent version of the resource is overwritten without creating a new
22404// historical version, regardless of the disable_resource_versioning
22405// setting on the FHIR store. If transient failures occur during the
22406// import, it is possible that successfully imported resources will be
22407// overwritten more than once. The import operation is idempotent unless
22408// the input data contains multiple valid resources with the same ID but
22409// different contents. In that case, after the import completes, the
22410// store contains exactly one resource with that ID but there is no
22411// ordering guarantee on which version of the contents it will have. The
22412// operation result counters do not count duplicate IDs as an error and
22413// count one success for each resource in the input, which might result
22414// in a success count larger than the number of resources in the FHIR
22415// store. This often occurs when importing data organized in bundles
22416// produced by Patient-everything where each bundle contains its own
22417// copy of a resource such as Practitioner that might be referred to by
22418// many patients. If some resources fail to import, for example due to
22419// parsing errors, successfully imported resources are not rolled back.
22420// The location and format of the input data are specified by the
22421// parameters in ImportResourcesRequest. Note that if no format is
22422// specified, this method assumes the `BUNDLE` format. When using the
22423// `BUNDLE` format this method ignores the `Bundle.type` field, except
22424// that `history` bundles are rejected, and does not apply any of the
22425// bundle processing semantics for batch or transaction bundles. Unlike
22426// in ExecuteBundle, transaction bundles are not executed as a single
22427// transaction and bundle-internal references are not rewritten. The
22428// bundle is treated as a collection of resources to be written as
22429// provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`.
22430// As an example, this allows the import of `searchset` bundles produced
22431// by a FHIR search or Patient-everything operation. This method returns
22432// an Operation that can be used to track the status of the import by
22433// calling GetOperation. Immediate fatal errors appear in the error
22434// field, errors are also logged to Cloud Logging (see Viewing error
22435// logs in Cloud Logging
22436// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
22437// Otherwise, when the operation finishes, a detailed response of type
22438// ImportResourcesResponse is returned in the response field. The
22439// metadata field type for this operation is OperationMetadata.
22440//
22441// - name: The name of the FHIR store to import FHIR resources to, in
22442//   the format of
22443//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
22444//   /fhirStores/{fhir_store_id}`.
22445func (r *ProjectsLocationsDatasetsFhirStoresService) Import(name string, importresourcesrequest *ImportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresImportCall {
22446	c := &ProjectsLocationsDatasetsFhirStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22447	c.name = name
22448	c.importresourcesrequest = importresourcesrequest
22449	return c
22450}
22451
22452// Fields allows partial responses to be retrieved. See
22453// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22454// for more information.
22455func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresImportCall {
22456	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22457	return c
22458}
22459
22460// Context sets the context to be used in this call's Do method. Any
22461// pending HTTP request will be aborted if the provided context is
22462// canceled.
22463func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresImportCall {
22464	c.ctx_ = ctx
22465	return c
22466}
22467
22468// Header returns an http.Header that can be modified by the caller to
22469// add HTTP headers to the request.
22470func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Header() http.Header {
22471	if c.header_ == nil {
22472		c.header_ = make(http.Header)
22473	}
22474	return c.header_
22475}
22476
22477func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
22478	reqHeaders := make(http.Header)
22479	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
22480	for k, v := range c.header_ {
22481		reqHeaders[k] = v
22482	}
22483	reqHeaders.Set("User-Agent", c.s.userAgent())
22484	var body io.Reader = nil
22485	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importresourcesrequest)
22486	if err != nil {
22487		return nil, err
22488	}
22489	reqHeaders.Set("Content-Type", "application/json")
22490	c.urlParams_.Set("alt", alt)
22491	c.urlParams_.Set("prettyPrint", "false")
22492	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
22493	urls += "?" + c.urlParams_.Encode()
22494	req, err := http.NewRequest("POST", urls, body)
22495	if err != nil {
22496		return nil, err
22497	}
22498	req.Header = reqHeaders
22499	googleapi.Expand(req.URL, map[string]string{
22500		"name": c.name,
22501	})
22502	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22503}
22504
22505// Do executes the "healthcare.projects.locations.datasets.fhirStores.import" call.
22506// Exactly one of *Operation or error will be non-nil. Any non-2xx
22507// status code is an error. Response headers are in either
22508// *Operation.ServerResponse.Header or (if a response was returned at
22509// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22510// to check whether the returned error was because
22511// http.StatusNotModified was returned.
22512func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22513	gensupport.SetOptions(c.urlParams_, opts...)
22514	res, err := c.doRequest("json")
22515	if res != nil && res.StatusCode == http.StatusNotModified {
22516		if res.Body != nil {
22517			res.Body.Close()
22518		}
22519		return nil, &googleapi.Error{
22520			Code:   res.StatusCode,
22521			Header: res.Header,
22522		}
22523	}
22524	if err != nil {
22525		return nil, err
22526	}
22527	defer googleapi.CloseBody(res)
22528	if err := googleapi.CheckResponse(res); err != nil {
22529		return nil, err
22530	}
22531	ret := &Operation{
22532		ServerResponse: googleapi.ServerResponse{
22533			Header:         res.Header,
22534			HTTPStatusCode: res.StatusCode,
22535		},
22536	}
22537	target := &ret
22538	if err := gensupport.DecodeResponse(target, res); err != nil {
22539		return nil, err
22540	}
22541	return ret, nil
22542	// {
22543	//   "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 error logs in Cloud Logging](https://cloud.google.com/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.",
22544	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import",
22545	//   "httpMethod": "POST",
22546	//   "id": "healthcare.projects.locations.datasets.fhirStores.import",
22547	//   "parameterOrder": [
22548	//     "name"
22549	//   ],
22550	//   "parameters": {
22551	//     "name": {
22552	//       "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}`.",
22553	//       "location": "path",
22554	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22555	//       "required": true,
22556	//       "type": "string"
22557	//     }
22558	//   },
22559	//   "path": "v1beta1/{+name}:import",
22560	//   "request": {
22561	//     "$ref": "ImportResourcesRequest"
22562	//   },
22563	//   "response": {
22564	//     "$ref": "Operation"
22565	//   },
22566	//   "scopes": [
22567	//     "https://www.googleapis.com/auth/cloud-platform"
22568	//   ]
22569	// }
22570
22571}
22572
22573// method id "healthcare.projects.locations.datasets.fhirStores.list":
22574
22575type ProjectsLocationsDatasetsFhirStoresListCall struct {
22576	s            *Service
22577	parent       string
22578	urlParams_   gensupport.URLParams
22579	ifNoneMatch_ string
22580	ctx_         context.Context
22581	header_      http.Header
22582}
22583
22584// List: Lists the FHIR stores in the given dataset.
22585//
22586// - parent: Name of the dataset.
22587func (r *ProjectsLocationsDatasetsFhirStoresService) List(parent string) *ProjectsLocationsDatasetsFhirStoresListCall {
22588	c := &ProjectsLocationsDatasetsFhirStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22589	c.parent = parent
22590	return c
22591}
22592
22593// Filter sets the optional parameter "filter": Restricts stores
22594// returned to those matching a filter. The following syntax is
22595// available: * A string field value can be written as text inside
22596// quotation marks, for example "query text". The only valid
22597// relational operation for text fields is equality (`=`), where text is
22598// searched within the field, rather than having the field be equal to
22599// the text. For example, "Comment = great" returns messages with
22600// `great` in the comment field. * A number field value can be written
22601// as an integer, a decimal, or an exponential. The valid relational
22602// operators for number fields are the equality operator (`=`), along
22603// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
22604// Note that there is no inequality (`!=`) operator. You can prepend the
22605// `NOT` operator to an expression to negate it. * A date field value
22606// must be written in `yyyy-mm-dd` form. Fields with date and time use
22607// the RFC3339 time format. Leading zeros are required for one-digit
22608// months and days. The valid relational operators for date fields are
22609// the equality operator (`=`) , along with the less than/greater than
22610// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
22611// (`!=`) operator. You can prepend the `NOT` operator to an expression
22612// to negate it. * Multiple field query expressions can be combined in
22613// one query by adding `AND` or `OR` operators between the expressions.
22614// If a boolean operator appears within a quoted string, it is not
22615// treated as special, it's just another part of the character string to
22616// be matched. You can prepend the `NOT` operator to an expression to
22617// negate it. Only filtering on labels is supported, for example
22618// `labels.key=value`.
22619func (c *ProjectsLocationsDatasetsFhirStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsFhirStoresListCall {
22620	c.urlParams_.Set("filter", filter)
22621	return c
22622}
22623
22624// PageSize sets the optional parameter "pageSize": Limit on the number
22625// of FHIR stores to return in a single response. If not specified, 100
22626// is used. May not be larger than 1000.
22627func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsFhirStoresListCall {
22628	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22629	return c
22630}
22631
22632// PageToken sets the optional parameter "pageToken": The
22633// next_page_token value returned from the previous List request, if
22634// any.
22635func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsFhirStoresListCall {
22636	c.urlParams_.Set("pageToken", pageToken)
22637	return c
22638}
22639
22640// Fields allows partial responses to be retrieved. See
22641// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22642// for more information.
22643func (c *ProjectsLocationsDatasetsFhirStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresListCall {
22644	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22645	return c
22646}
22647
22648// IfNoneMatch sets the optional parameter which makes the operation
22649// fail if the object's ETag matches the given value. This is useful for
22650// getting updates only after the object has changed since the last
22651// request. Use googleapi.IsNotModified to check whether the response
22652// error from Do is the result of In-None-Match.
22653func (c *ProjectsLocationsDatasetsFhirStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresListCall {
22654	c.ifNoneMatch_ = entityTag
22655	return c
22656}
22657
22658// Context sets the context to be used in this call's Do method. Any
22659// pending HTTP request will be aborted if the provided context is
22660// canceled.
22661func (c *ProjectsLocationsDatasetsFhirStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresListCall {
22662	c.ctx_ = ctx
22663	return c
22664}
22665
22666// Header returns an http.Header that can be modified by the caller to
22667// add HTTP headers to the request.
22668func (c *ProjectsLocationsDatasetsFhirStoresListCall) Header() http.Header {
22669	if c.header_ == nil {
22670		c.header_ = make(http.Header)
22671	}
22672	return c.header_
22673}
22674
22675func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
22676	reqHeaders := make(http.Header)
22677	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
22678	for k, v := range c.header_ {
22679		reqHeaders[k] = v
22680	}
22681	reqHeaders.Set("User-Agent", c.s.userAgent())
22682	if c.ifNoneMatch_ != "" {
22683		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22684	}
22685	var body io.Reader = nil
22686	c.urlParams_.Set("alt", alt)
22687	c.urlParams_.Set("prettyPrint", "false")
22688	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
22689	urls += "?" + c.urlParams_.Encode()
22690	req, err := http.NewRequest("GET", urls, body)
22691	if err != nil {
22692		return nil, err
22693	}
22694	req.Header = reqHeaders
22695	googleapi.Expand(req.URL, map[string]string{
22696		"parent": c.parent,
22697	})
22698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22699}
22700
22701// Do executes the "healthcare.projects.locations.datasets.fhirStores.list" call.
22702// Exactly one of *ListFhirStoresResponse or error will be non-nil. Any
22703// non-2xx status code is an error. Response headers are in either
22704// *ListFhirStoresResponse.ServerResponse.Header or (if a response was
22705// returned at all) in error.(*googleapi.Error).Header. Use
22706// googleapi.IsNotModified to check whether the returned error was
22707// because http.StatusNotModified was returned.
22708func (c *ProjectsLocationsDatasetsFhirStoresListCall) Do(opts ...googleapi.CallOption) (*ListFhirStoresResponse, error) {
22709	gensupport.SetOptions(c.urlParams_, opts...)
22710	res, err := c.doRequest("json")
22711	if res != nil && res.StatusCode == http.StatusNotModified {
22712		if res.Body != nil {
22713			res.Body.Close()
22714		}
22715		return nil, &googleapi.Error{
22716			Code:   res.StatusCode,
22717			Header: res.Header,
22718		}
22719	}
22720	if err != nil {
22721		return nil, err
22722	}
22723	defer googleapi.CloseBody(res)
22724	if err := googleapi.CheckResponse(res); err != nil {
22725		return nil, err
22726	}
22727	ret := &ListFhirStoresResponse{
22728		ServerResponse: googleapi.ServerResponse{
22729			Header:         res.Header,
22730			HTTPStatusCode: res.StatusCode,
22731		},
22732	}
22733	target := &ret
22734	if err := gensupport.DecodeResponse(target, res); err != nil {
22735		return nil, err
22736	}
22737	return ret, nil
22738	// {
22739	//   "description": "Lists the FHIR stores in the given dataset.",
22740	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
22741	//   "httpMethod": "GET",
22742	//   "id": "healthcare.projects.locations.datasets.fhirStores.list",
22743	//   "parameterOrder": [
22744	//     "parent"
22745	//   ],
22746	//   "parameters": {
22747	//     "filter": {
22748	//       "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`.",
22749	//       "location": "query",
22750	//       "type": "string"
22751	//     },
22752	//     "pageSize": {
22753	//       "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.",
22754	//       "format": "int32",
22755	//       "location": "query",
22756	//       "type": "integer"
22757	//     },
22758	//     "pageToken": {
22759	//       "description": "The next_page_token value returned from the previous List request, if any.",
22760	//       "location": "query",
22761	//       "type": "string"
22762	//     },
22763	//     "parent": {
22764	//       "description": "Name of the dataset.",
22765	//       "location": "path",
22766	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
22767	//       "required": true,
22768	//       "type": "string"
22769	//     }
22770	//   },
22771	//   "path": "v1beta1/{+parent}/fhirStores",
22772	//   "response": {
22773	//     "$ref": "ListFhirStoresResponse"
22774	//   },
22775	//   "scopes": [
22776	//     "https://www.googleapis.com/auth/cloud-platform"
22777	//   ]
22778	// }
22779
22780}
22781
22782// Pages invokes f for each page of results.
22783// A non-nil error returned from f will halt the iteration.
22784// The provided context supersedes any context provided to the Context method.
22785func (c *ProjectsLocationsDatasetsFhirStoresListCall) Pages(ctx context.Context, f func(*ListFhirStoresResponse) error) error {
22786	c.ctx_ = ctx
22787	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22788	for {
22789		x, err := c.Do()
22790		if err != nil {
22791			return err
22792		}
22793		if err := f(x); err != nil {
22794			return err
22795		}
22796		if x.NextPageToken == "" {
22797			return nil
22798		}
22799		c.PageToken(x.NextPageToken)
22800	}
22801}
22802
22803// method id "healthcare.projects.locations.datasets.fhirStores.patch":
22804
22805type ProjectsLocationsDatasetsFhirStoresPatchCall struct {
22806	s          *Service
22807	name       string
22808	fhirstore  *FhirStore
22809	urlParams_ gensupport.URLParams
22810	ctx_       context.Context
22811	header_    http.Header
22812}
22813
22814// Patch: Updates the configuration of the specified FHIR store.
22815//
22816// - name: Output only. Resource name of the FHIR store, of the form
22817//   `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_
22818//   id}`.
22819func (r *ProjectsLocationsDatasetsFhirStoresService) Patch(name string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22820	c := &ProjectsLocationsDatasetsFhirStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22821	c.name = name
22822	c.fhirstore = fhirstore
22823	return c
22824}
22825
22826// UpdateMask sets the optional parameter "updateMask": The update mask
22827// applies to the resource. For the `FieldMask` definition, see
22828// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
22829func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22830	c.urlParams_.Set("updateMask", updateMask)
22831	return c
22832}
22833
22834// Fields allows partial responses to be retrieved. See
22835// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22836// for more information.
22837func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22838	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22839	return c
22840}
22841
22842// Context sets the context to be used in this call's Do method. Any
22843// pending HTTP request will be aborted if the provided context is
22844// canceled.
22845func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22846	c.ctx_ = ctx
22847	return c
22848}
22849
22850// Header returns an http.Header that can be modified by the caller to
22851// add HTTP headers to the request.
22852func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Header() http.Header {
22853	if c.header_ == nil {
22854		c.header_ = make(http.Header)
22855	}
22856	return c.header_
22857}
22858
22859func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
22860	reqHeaders := make(http.Header)
22861	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
22862	for k, v := range c.header_ {
22863		reqHeaders[k] = v
22864	}
22865	reqHeaders.Set("User-Agent", c.s.userAgent())
22866	var body io.Reader = nil
22867	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
22868	if err != nil {
22869		return nil, err
22870	}
22871	reqHeaders.Set("Content-Type", "application/json")
22872	c.urlParams_.Set("alt", alt)
22873	c.urlParams_.Set("prettyPrint", "false")
22874	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22875	urls += "?" + c.urlParams_.Encode()
22876	req, err := http.NewRequest("PATCH", urls, body)
22877	if err != nil {
22878		return nil, err
22879	}
22880	req.Header = reqHeaders
22881	googleapi.Expand(req.URL, map[string]string{
22882		"name": c.name,
22883	})
22884	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22885}
22886
22887// Do executes the "healthcare.projects.locations.datasets.fhirStores.patch" call.
22888// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22889// status code is an error. Response headers are in either
22890// *FhirStore.ServerResponse.Header or (if a response was returned at
22891// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22892// to check whether the returned error was because
22893// http.StatusNotModified was returned.
22894func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22895	gensupport.SetOptions(c.urlParams_, opts...)
22896	res, err := c.doRequest("json")
22897	if res != nil && res.StatusCode == http.StatusNotModified {
22898		if res.Body != nil {
22899			res.Body.Close()
22900		}
22901		return nil, &googleapi.Error{
22902			Code:   res.StatusCode,
22903			Header: res.Header,
22904		}
22905	}
22906	if err != nil {
22907		return nil, err
22908	}
22909	defer googleapi.CloseBody(res)
22910	if err := googleapi.CheckResponse(res); err != nil {
22911		return nil, err
22912	}
22913	ret := &FhirStore{
22914		ServerResponse: googleapi.ServerResponse{
22915			Header:         res.Header,
22916			HTTPStatusCode: res.StatusCode,
22917		},
22918	}
22919	target := &ret
22920	if err := gensupport.DecodeResponse(target, res); err != nil {
22921		return nil, err
22922	}
22923	return ret, nil
22924	// {
22925	//   "description": "Updates the configuration of the specified FHIR store.",
22926	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22927	//   "httpMethod": "PATCH",
22928	//   "id": "healthcare.projects.locations.datasets.fhirStores.patch",
22929	//   "parameterOrder": [
22930	//     "name"
22931	//   ],
22932	//   "parameters": {
22933	//     "name": {
22934	//       "description": "Output only. Resource name of the FHIR store, of the form `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
22935	//       "location": "path",
22936	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22937	//       "required": true,
22938	//       "type": "string"
22939	//     },
22940	//     "updateMask": {
22941	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
22942	//       "format": "google-fieldmask",
22943	//       "location": "query",
22944	//       "type": "string"
22945	//     }
22946	//   },
22947	//   "path": "v1beta1/{+name}",
22948	//   "request": {
22949	//     "$ref": "FhirStore"
22950	//   },
22951	//   "response": {
22952	//     "$ref": "FhirStore"
22953	//   },
22954	//   "scopes": [
22955	//     "https://www.googleapis.com/auth/cloud-platform"
22956	//   ]
22957	// }
22958
22959}
22960
22961// method id "healthcare.projects.locations.datasets.fhirStores.setIamPolicy":
22962
22963type ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall struct {
22964	s                   *Service
22965	resource            string
22966	setiampolicyrequest *SetIamPolicyRequest
22967	urlParams_          gensupport.URLParams
22968	ctx_                context.Context
22969	header_             http.Header
22970}
22971
22972// SetIamPolicy: Sets the access control policy on the specified
22973// resource. Replaces any existing policy. Can return `NOT_FOUND`,
22974// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
22975//
22976// - resource: REQUIRED: The resource for which the policy is being
22977//   specified. See the operation documentation for the appropriate
22978//   value for this field.
22979func (r *ProjectsLocationsDatasetsFhirStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22980	c := &ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22981	c.resource = resource
22982	c.setiampolicyrequest = setiampolicyrequest
22983	return c
22984}
22985
22986// Fields allows partial responses to be retrieved. See
22987// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22988// for more information.
22989func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22990	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22991	return c
22992}
22993
22994// Context sets the context to be used in this call's Do method. Any
22995// pending HTTP request will be aborted if the provided context is
22996// canceled.
22997func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22998	c.ctx_ = ctx
22999	return c
23000}
23001
23002// Header returns an http.Header that can be modified by the caller to
23003// add HTTP headers to the request.
23004func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Header() http.Header {
23005	if c.header_ == nil {
23006		c.header_ = make(http.Header)
23007	}
23008	return c.header_
23009}
23010
23011func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
23012	reqHeaders := make(http.Header)
23013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23014	for k, v := range c.header_ {
23015		reqHeaders[k] = v
23016	}
23017	reqHeaders.Set("User-Agent", c.s.userAgent())
23018	var body io.Reader = nil
23019	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
23020	if err != nil {
23021		return nil, err
23022	}
23023	reqHeaders.Set("Content-Type", "application/json")
23024	c.urlParams_.Set("alt", alt)
23025	c.urlParams_.Set("prettyPrint", "false")
23026	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
23027	urls += "?" + c.urlParams_.Encode()
23028	req, err := http.NewRequest("POST", urls, body)
23029	if err != nil {
23030		return nil, err
23031	}
23032	req.Header = reqHeaders
23033	googleapi.Expand(req.URL, map[string]string{
23034		"resource": c.resource,
23035	})
23036	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23037}
23038
23039// Do executes the "healthcare.projects.locations.datasets.fhirStores.setIamPolicy" call.
23040// Exactly one of *Policy or error will be non-nil. Any non-2xx status
23041// code is an error. Response headers are in either
23042// *Policy.ServerResponse.Header or (if a response was returned at all)
23043// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23044// check whether the returned error was because http.StatusNotModified
23045// was returned.
23046func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
23047	gensupport.SetOptions(c.urlParams_, opts...)
23048	res, err := c.doRequest("json")
23049	if res != nil && res.StatusCode == http.StatusNotModified {
23050		if res.Body != nil {
23051			res.Body.Close()
23052		}
23053		return nil, &googleapi.Error{
23054			Code:   res.StatusCode,
23055			Header: res.Header,
23056		}
23057	}
23058	if err != nil {
23059		return nil, err
23060	}
23061	defer googleapi.CloseBody(res)
23062	if err := googleapi.CheckResponse(res); err != nil {
23063		return nil, err
23064	}
23065	ret := &Policy{
23066		ServerResponse: googleapi.ServerResponse{
23067			Header:         res.Header,
23068			HTTPStatusCode: res.StatusCode,
23069		},
23070	}
23071	target := &ret
23072	if err := gensupport.DecodeResponse(target, res); err != nil {
23073		return nil, err
23074	}
23075	return ret, nil
23076	// {
23077	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
23078	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy",
23079	//   "httpMethod": "POST",
23080	//   "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy",
23081	//   "parameterOrder": [
23082	//     "resource"
23083	//   ],
23084	//   "parameters": {
23085	//     "resource": {
23086	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
23087	//       "location": "path",
23088	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23089	//       "required": true,
23090	//       "type": "string"
23091	//     }
23092	//   },
23093	//   "path": "v1beta1/{+resource}:setIamPolicy",
23094	//   "request": {
23095	//     "$ref": "SetIamPolicyRequest"
23096	//   },
23097	//   "response": {
23098	//     "$ref": "Policy"
23099	//   },
23100	//   "scopes": [
23101	//     "https://www.googleapis.com/auth/cloud-platform"
23102	//   ]
23103	// }
23104
23105}
23106
23107// method id "healthcare.projects.locations.datasets.fhirStores.testIamPermissions":
23108
23109type ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall struct {
23110	s                         *Service
23111	resource                  string
23112	testiampermissionsrequest *TestIamPermissionsRequest
23113	urlParams_                gensupport.URLParams
23114	ctx_                      context.Context
23115	header_                   http.Header
23116}
23117
23118// TestIamPermissions: Returns permissions that a caller has on the
23119// specified resource. If the resource does not exist, this will return
23120// an empty set of permissions, not a `NOT_FOUND` error. Note: This
23121// operation is designed to be used for building permission-aware UIs
23122// and command-line tools, not for authorization checking. This
23123// operation may "fail open" without warning.
23124//
23125// - resource: REQUIRED: The resource for which the policy detail is
23126//   being requested. See the operation documentation for the
23127//   appropriate value for this field.
23128func (r *ProjectsLocationsDatasetsFhirStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23129	c := &ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23130	c.resource = resource
23131	c.testiampermissionsrequest = testiampermissionsrequest
23132	return c
23133}
23134
23135// Fields allows partial responses to be retrieved. See
23136// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23137// for more information.
23138func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23139	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23140	return c
23141}
23142
23143// Context sets the context to be used in this call's Do method. Any
23144// pending HTTP request will be aborted if the provided context is
23145// canceled.
23146func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23147	c.ctx_ = ctx
23148	return c
23149}
23150
23151// Header returns an http.Header that can be modified by the caller to
23152// add HTTP headers to the request.
23153func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Header() http.Header {
23154	if c.header_ == nil {
23155		c.header_ = make(http.Header)
23156	}
23157	return c.header_
23158}
23159
23160func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
23161	reqHeaders := make(http.Header)
23162	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23163	for k, v := range c.header_ {
23164		reqHeaders[k] = v
23165	}
23166	reqHeaders.Set("User-Agent", c.s.userAgent())
23167	var body io.Reader = nil
23168	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
23169	if err != nil {
23170		return nil, err
23171	}
23172	reqHeaders.Set("Content-Type", "application/json")
23173	c.urlParams_.Set("alt", alt)
23174	c.urlParams_.Set("prettyPrint", "false")
23175	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
23176	urls += "?" + c.urlParams_.Encode()
23177	req, err := http.NewRequest("POST", urls, body)
23178	if err != nil {
23179		return nil, err
23180	}
23181	req.Header = reqHeaders
23182	googleapi.Expand(req.URL, map[string]string{
23183		"resource": c.resource,
23184	})
23185	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23186}
23187
23188// Do executes the "healthcare.projects.locations.datasets.fhirStores.testIamPermissions" call.
23189// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
23190// Any non-2xx status code is an error. Response headers are in either
23191// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
23192// was returned at all) in error.(*googleapi.Error).Header. Use
23193// googleapi.IsNotModified to check whether the returned error was
23194// because http.StatusNotModified was returned.
23195func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
23196	gensupport.SetOptions(c.urlParams_, opts...)
23197	res, err := c.doRequest("json")
23198	if res != nil && res.StatusCode == http.StatusNotModified {
23199		if res.Body != nil {
23200			res.Body.Close()
23201		}
23202		return nil, &googleapi.Error{
23203			Code:   res.StatusCode,
23204			Header: res.Header,
23205		}
23206	}
23207	if err != nil {
23208		return nil, err
23209	}
23210	defer googleapi.CloseBody(res)
23211	if err := googleapi.CheckResponse(res); err != nil {
23212		return nil, err
23213	}
23214	ret := &TestIamPermissionsResponse{
23215		ServerResponse: googleapi.ServerResponse{
23216			Header:         res.Header,
23217			HTTPStatusCode: res.StatusCode,
23218		},
23219	}
23220	target := &ret
23221	if err := gensupport.DecodeResponse(target, res); err != nil {
23222		return nil, err
23223	}
23224	return ret, nil
23225	// {
23226	//   "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.",
23227	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions",
23228	//   "httpMethod": "POST",
23229	//   "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions",
23230	//   "parameterOrder": [
23231	//     "resource"
23232	//   ],
23233	//   "parameters": {
23234	//     "resource": {
23235	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
23236	//       "location": "path",
23237	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23238	//       "required": true,
23239	//       "type": "string"
23240	//     }
23241	//   },
23242	//   "path": "v1beta1/{+resource}:testIamPermissions",
23243	//   "request": {
23244	//     "$ref": "TestIamPermissionsRequest"
23245	//   },
23246	//   "response": {
23247	//     "$ref": "TestIamPermissionsResponse"
23248	//   },
23249	//   "scopes": [
23250	//     "https://www.googleapis.com/auth/cloud-platform"
23251	//   ]
23252	// }
23253
23254}
23255
23256// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate":
23257
23258type ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall struct {
23259	s            *Service
23260	parent       string
23261	urlParams_   gensupport.URLParams
23262	ifNoneMatch_ string
23263	ctx_         context.Context
23264	header_      http.Header
23265}
23266
23267// ConceptMapSearchTranslate: Translates a code from one value set to
23268// another by searching for appropriate concept maps. Implements the
23269// FHIR standard $translate operation (DSTU2
23270// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23271// STU3
23272// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23273// R4
23274// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23275// On success, the response body contains a JSON-encoded representation
23276// of a FHIR Parameters resource, which includes the translation result.
23277// Errors generated by the FHIR store contain a JSON-encoded
23278// `OperationOutcome` resource describing the reason for the error. If
23279// the request cannot be mapped to a valid API method on a FHIR store, a
23280// generic GCP error might be returned instead.
23281//
23282// - parent: The name for the FHIR store containing the concept map(s)
23283//   to use for the translation.
23284func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapSearchTranslate(parent string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23285	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23286	c.parent = parent
23287	return c
23288}
23289
23290// Code sets the optional parameter "code": The code to translate.
23291func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23292	c.urlParams_.Set("code", code)
23293	return c
23294}
23295
23296// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23297// The version of the concept map to use. If unset, the most current
23298// version is used.
23299func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23300	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23301	return c
23302}
23303
23304// Source sets the optional parameter "source": The source value set of
23305// the concept map to be used. If unset, target is used to search for
23306// concept maps.
23307func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Source(source string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23308	c.urlParams_.Set("source", source)
23309	return c
23310}
23311
23312// System sets the optional parameter "system": The system for the code
23313// to be translated.
23314func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23315	c.urlParams_.Set("system", system)
23316	return c
23317}
23318
23319// Target sets the optional parameter "target": The target value set of
23320// the concept map to be used. If unset, source is used to search for
23321// concept maps.
23322func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Target(target string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23323	c.urlParams_.Set("target", target)
23324	return c
23325}
23326
23327// Url sets the optional parameter "url": The canonical url of the
23328// concept map to use. If unset, the source and target is used to search
23329// for concept maps.
23330func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Url(url string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23331	c.urlParams_.Set("url", url)
23332	return c
23333}
23334
23335// Fields allows partial responses to be retrieved. See
23336// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23337// for more information.
23338func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23339	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23340	return c
23341}
23342
23343// IfNoneMatch sets the optional parameter which makes the operation
23344// fail if the object's ETag matches the given value. This is useful for
23345// getting updates only after the object has changed since the last
23346// request. Use googleapi.IsNotModified to check whether the response
23347// error from Do is the result of In-None-Match.
23348func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23349	c.ifNoneMatch_ = entityTag
23350	return c
23351}
23352
23353// Context sets the context to be used in this call's Do method. Any
23354// pending HTTP request will be aborted if the provided context is
23355// canceled.
23356func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23357	c.ctx_ = ctx
23358	return c
23359}
23360
23361// Header returns an http.Header that can be modified by the caller to
23362// add HTTP headers to the request.
23363func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Header() http.Header {
23364	if c.header_ == nil {
23365		c.header_ = make(http.Header)
23366	}
23367	return c.header_
23368}
23369
23370func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) doRequest(alt string) (*http.Response, error) {
23371	reqHeaders := make(http.Header)
23372	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23373	for k, v := range c.header_ {
23374		reqHeaders[k] = v
23375	}
23376	reqHeaders.Set("User-Agent", c.s.userAgent())
23377	if c.ifNoneMatch_ != "" {
23378		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23379	}
23380	var body io.Reader = nil
23381	c.urlParams_.Set("alt", alt)
23382	c.urlParams_.Set("prettyPrint", "false")
23383	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/ConceptMap/$translate")
23384	urls += "?" + c.urlParams_.Encode()
23385	req, err := http.NewRequest("GET", urls, body)
23386	if err != nil {
23387		return nil, err
23388	}
23389	req.Header = reqHeaders
23390	googleapi.Expand(req.URL, map[string]string{
23391		"parent": c.parent,
23392	})
23393	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23394}
23395
23396// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate" call.
23397func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23398	gensupport.SetOptions(c.urlParams_, opts...)
23399	return c.doRequest("")
23400	// {
23401	//   "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.",
23402	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate",
23403	//   "httpMethod": "GET",
23404	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate",
23405	//   "parameterOrder": [
23406	//     "parent"
23407	//   ],
23408	//   "parameters": {
23409	//     "code": {
23410	//       "description": "The code to translate.",
23411	//       "location": "query",
23412	//       "type": "string"
23413	//     },
23414	//     "conceptMapVersion": {
23415	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23416	//       "location": "query",
23417	//       "type": "string"
23418	//     },
23419	//     "parent": {
23420	//       "description": "The name for the FHIR store containing the concept map(s) to use for the translation.",
23421	//       "location": "path",
23422	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23423	//       "required": true,
23424	//       "type": "string"
23425	//     },
23426	//     "source": {
23427	//       "description": "The source value set of the concept map to be used. If unset, target is used to search for concept maps.",
23428	//       "location": "query",
23429	//       "type": "string"
23430	//     },
23431	//     "system": {
23432	//       "description": "The system for the code to be translated.",
23433	//       "location": "query",
23434	//       "type": "string"
23435	//     },
23436	//     "target": {
23437	//       "description": "The target value set of the concept map to be used. If unset, source is used to search for concept maps.",
23438	//       "location": "query",
23439	//       "type": "string"
23440	//     },
23441	//     "url": {
23442	//       "description": "The canonical url of the concept map to use. If unset, the source and target is used to search for concept maps.",
23443	//       "location": "query",
23444	//       "type": "string"
23445	//     }
23446	//   },
23447	//   "path": "v1beta1/{+parent}/fhir/ConceptMap/$translate",
23448	//   "response": {
23449	//     "$ref": "HttpBody"
23450	//   },
23451	//   "scopes": [
23452	//     "https://www.googleapis.com/auth/cloud-platform"
23453	//   ]
23454	// }
23455
23456}
23457
23458// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate":
23459
23460type ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall struct {
23461	s            *Service
23462	name         string
23463	urlParams_   gensupport.URLParams
23464	ifNoneMatch_ string
23465	ctx_         context.Context
23466	header_      http.Header
23467}
23468
23469// ConceptMapTranslate: Translates a code from one value set to another
23470// using a concept map. You can provide your own concept maps to
23471// translate any code system to another code system. Implements the FHIR
23472// standard $translate operation (DSTU2
23473// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23474// STU3
23475// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23476// R4
23477// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23478// On success, the response body contains a JSON-encoded representation
23479// of a FHIR Parameters resource, which includes the translation result.
23480// Errors generated by the FHIR store contain a JSON-encoded
23481// `OperationOutcome` resource describing the reason for the error. If
23482// the request cannot be mapped to a valid API method on a FHIR store, a
23483// generic GCP error might be returned instead.
23484//
23485// - name: The URL for the concept map to use for the translation.
23486func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapTranslate(name string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23487	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23488	c.name = name
23489	return c
23490}
23491
23492// Code sets the optional parameter "code": The code to translate.
23493func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23494	c.urlParams_.Set("code", code)
23495	return c
23496}
23497
23498// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23499// The version of the concept map to use. If unset, the most current
23500// version is used.
23501func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23502	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23503	return c
23504}
23505
23506// System sets the optional parameter "system": The system for the code
23507// to be translated.
23508func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23509	c.urlParams_.Set("system", system)
23510	return c
23511}
23512
23513// Fields allows partial responses to be retrieved. See
23514// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23515// for more information.
23516func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23517	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23518	return c
23519}
23520
23521// IfNoneMatch sets the optional parameter which makes the operation
23522// fail if the object's ETag matches the given value. This is useful for
23523// getting updates only after the object has changed since the last
23524// request. Use googleapi.IsNotModified to check whether the response
23525// error from Do is the result of In-None-Match.
23526func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23527	c.ifNoneMatch_ = entityTag
23528	return c
23529}
23530
23531// Context sets the context to be used in this call's Do method. Any
23532// pending HTTP request will be aborted if the provided context is
23533// canceled.
23534func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23535	c.ctx_ = ctx
23536	return c
23537}
23538
23539// Header returns an http.Header that can be modified by the caller to
23540// add HTTP headers to the request.
23541func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Header() http.Header {
23542	if c.header_ == nil {
23543		c.header_ = make(http.Header)
23544	}
23545	return c.header_
23546}
23547
23548func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) doRequest(alt string) (*http.Response, error) {
23549	reqHeaders := make(http.Header)
23550	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23551	for k, v := range c.header_ {
23552		reqHeaders[k] = v
23553	}
23554	reqHeaders.Set("User-Agent", c.s.userAgent())
23555	if c.ifNoneMatch_ != "" {
23556		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23557	}
23558	var body io.Reader = nil
23559	c.urlParams_.Set("alt", alt)
23560	c.urlParams_.Set("prettyPrint", "false")
23561	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$translate")
23562	urls += "?" + c.urlParams_.Encode()
23563	req, err := http.NewRequest("GET", urls, body)
23564	if err != nil {
23565		return nil, err
23566	}
23567	req.Header = reqHeaders
23568	googleapi.Expand(req.URL, map[string]string{
23569		"name": c.name,
23570	})
23571	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23572}
23573
23574// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate" call.
23575func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23576	gensupport.SetOptions(c.urlParams_, opts...)
23577	return c.doRequest("")
23578	// {
23579	//   "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.",
23580	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate",
23581	//   "httpMethod": "GET",
23582	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate",
23583	//   "parameterOrder": [
23584	//     "name"
23585	//   ],
23586	//   "parameters": {
23587	//     "code": {
23588	//       "description": "The code to translate.",
23589	//       "location": "query",
23590	//       "type": "string"
23591	//     },
23592	//     "conceptMapVersion": {
23593	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23594	//       "location": "query",
23595	//       "type": "string"
23596	//     },
23597	//     "name": {
23598	//       "description": "The URL for the concept map to use for the translation.",
23599	//       "location": "path",
23600	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$",
23601	//       "required": true,
23602	//       "type": "string"
23603	//     },
23604	//     "system": {
23605	//       "description": "The system for the code to be translated.",
23606	//       "location": "query",
23607	//       "type": "string"
23608	//     }
23609	//   },
23610	//   "path": "v1beta1/{+name}/$translate",
23611	//   "response": {
23612	//     "$ref": "HttpBody"
23613	//   },
23614	//   "scopes": [
23615	//     "https://www.googleapis.com/auth/cloud-platform"
23616	//   ]
23617	// }
23618
23619}
23620
23621// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn":
23622
23623type ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall struct {
23624	s            *Service
23625	parent       string
23626	urlParams_   gensupport.URLParams
23627	ifNoneMatch_ string
23628	ctx_         context.Context
23629	header_      http.Header
23630}
23631
23632// ObservationLastn: Retrieves the N most recent `Observation` resources
23633// for a subject matching search criteria specified as query parameters,
23634// grouped by `Observation.code`, sorted from most recent to oldest.
23635// Implements the FHIR extended operation Observation-lastn (STU3
23636// (https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),
23637// R4
23638// (https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).
23639// DSTU2 doesn't define the Observation-lastn method, but the server
23640// supports it the same way it supports STU3. Search terms are provided
23641// as query parameters following the same pattern as the search method.
23642// The following search parameters must be provided: - `subject` or
23643// `patient` to specify a subject for the Observation. - `code`,
23644// `category` or any of the composite parameters that include `code`.
23645// Any other valid Observation search parameters can also be provided.
23646// This operation accepts an additional query parameter `max`, which
23647// specifies N, the maximum number of Observations to return from each
23648// group, with a default of 1. Searches with over 1000 results are
23649// rejected. Results are counted before grouping and limiting the
23650// results with `max`. To stay within the limit, constrain these
23651// searches using Observation search parameters such as `_lastUpdated`
23652// or `date`. On success, the response body contains a JSON-encoded
23653// representation of a `Bundle` resource of type `searchset`, containing
23654// the results of the operation. Errors generated by the FHIR store
23655// contain a JSON-encoded `OperationOutcome` resource describing the
23656// reason for the error. If the request cannot be mapped to a valid API
23657// method on a FHIR store, a generic GCP error might be returned
23658// instead.
23659//
23660// - parent: Name of the FHIR store to retrieve resources from.
23661func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ObservationLastn(parent string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23662	c := &ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23663	c.parent = parent
23664	return c
23665}
23666
23667// Fields allows partial responses to be retrieved. See
23668// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23669// for more information.
23670func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23671	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23672	return c
23673}
23674
23675// IfNoneMatch sets the optional parameter which makes the operation
23676// fail if the object's ETag matches the given value. This is useful for
23677// getting updates only after the object has changed since the last
23678// request. Use googleapi.IsNotModified to check whether the response
23679// error from Do is the result of In-None-Match.
23680func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23681	c.ifNoneMatch_ = entityTag
23682	return c
23683}
23684
23685// Context sets the context to be used in this call's Do method. Any
23686// pending HTTP request will be aborted if the provided context is
23687// canceled.
23688func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23689	c.ctx_ = ctx
23690	return c
23691}
23692
23693// Header returns an http.Header that can be modified by the caller to
23694// add HTTP headers to the request.
23695func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Header() http.Header {
23696	if c.header_ == nil {
23697		c.header_ = make(http.Header)
23698	}
23699	return c.header_
23700}
23701
23702func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) doRequest(alt string) (*http.Response, error) {
23703	reqHeaders := make(http.Header)
23704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23705	for k, v := range c.header_ {
23706		reqHeaders[k] = v
23707	}
23708	reqHeaders.Set("User-Agent", c.s.userAgent())
23709	if c.ifNoneMatch_ != "" {
23710		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23711	}
23712	var body io.Reader = nil
23713	c.urlParams_.Set("alt", alt)
23714	c.urlParams_.Set("prettyPrint", "false")
23715	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/Observation/$lastn")
23716	urls += "?" + c.urlParams_.Encode()
23717	req, err := http.NewRequest("GET", urls, body)
23718	if err != nil {
23719		return nil, err
23720	}
23721	req.Header = reqHeaders
23722	googleapi.Expand(req.URL, map[string]string{
23723		"parent": c.parent,
23724	})
23725	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23726}
23727
23728// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn" call.
23729func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23730	gensupport.SetOptions(c.urlParams_, opts...)
23731	return c.doRequest("")
23732	// {
23733	//   "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.",
23734	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn",
23735	//   "httpMethod": "GET",
23736	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn",
23737	//   "parameterOrder": [
23738	//     "parent"
23739	//   ],
23740	//   "parameters": {
23741	//     "parent": {
23742	//       "description": "Name of the FHIR store to retrieve resources from.",
23743	//       "location": "path",
23744	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23745	//       "required": true,
23746	//       "type": "string"
23747	//     }
23748	//   },
23749	//   "path": "v1beta1/{+parent}/fhir/Observation/$lastn",
23750	//   "response": {
23751	//     "$ref": "HttpBody"
23752	//   },
23753	//   "scopes": [
23754	//     "https://www.googleapis.com/auth/cloud-platform"
23755	//   ]
23756	// }
23757
23758}
23759
23760// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything":
23761
23762type ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall struct {
23763	s            *Service
23764	name         string
23765	urlParams_   gensupport.URLParams
23766	ifNoneMatch_ string
23767	ctx_         context.Context
23768	header_      http.Header
23769}
23770
23771// PatientEverything: Retrieves a Patient resource and resources related
23772// to that patient. Implements the FHIR extended operation
23773// Patient-everything (DSTU2
23774// (https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),
23775// STU3
23776// (https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),
23777// R4
23778// (https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).
23779// On success, the response body contains a JSON-encoded representation
23780// of a `Bundle` resource of type `searchset`, containing the results of
23781// the operation. Errors generated by the FHIR store contain a
23782// JSON-encoded `OperationOutcome` resource describing the reason for
23783// the error. If the request cannot be mapped to a valid API method on a
23784// FHIR store, a generic GCP error might be returned instead. The
23785// resources in scope for the response are: * The patient resource
23786// itself. * All the resources directly referenced by the patient
23787// resource. * Resources directly referencing the patient resource that
23788// meet the inclusion criteria. The inclusion criteria are based on the
23789// membership rules in the patient compartment definition (DSTU2
23790// (https://hl7.org/fhir/DSTU2/compartment-patient.html), STU3
23791// (http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), R4
23792// (https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which
23793// details the eligible resource types and referencing search
23794// parameters. For samples that show how to call `Patient-everything`,
23795// see Getting all patient compartment resources
23796// (/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartme
23797// nt_resources).
23798//
23799// - name: Name of the `Patient` resource for which the information is
23800//   required.
23801func (r *ProjectsLocationsDatasetsFhirStoresFhirService) PatientEverything(name string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23802	c := &ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23803	c.name = name
23804	return c
23805}
23806
23807// Count sets the optional parameter "_count": Maximum number of
23808// resources in a page. If not specified, 100 is used. May not be larger
23809// than 1000.
23810func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23811	c.urlParams_.Set("_count", fmt.Sprint(Count))
23812	return c
23813}
23814
23815// PageToken sets the optional parameter "_page_token": Used to retrieve
23816// the next or previous page of results when using pagination. Set
23817// `_page_token` to the value of _page_token set in next or previous
23818// page links' url. Next and previous page are returned in the response
23819// bundle's links field, where `link.relation` is "previous" or "next".
23820// Omit `_page_token` if no previous request has been made.
23821func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23822	c.urlParams_.Set("_page_token", PageToken)
23823	return c
23824}
23825
23826// Since sets the optional parameter "_since": If provided, only
23827// resources updated after this time are returned. The time uses the
23828// format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example,
23829// `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time
23830// must be specified to the second and include a time zone.
23831func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23832	c.urlParams_.Set("_since", Since)
23833	return c
23834}
23835
23836// Type sets the optional parameter "_type": String of comma-delimited
23837// FHIR resource types. If provided, only resources of the specified
23838// resource type(s) are returned.
23839func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Type(Type string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23840	c.urlParams_.Set("_type", Type)
23841	return c
23842}
23843
23844// End sets the optional parameter "end": The response includes records
23845// prior to the end date. If no end date is provided, all records
23846// subsequent to the start date are in scope.
23847func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) End(end string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23848	c.urlParams_.Set("end", end)
23849	return c
23850}
23851
23852// Start sets the optional parameter "start": The response includes
23853// records subsequent to the start date. If no start date is provided,
23854// all records prior to the end date are in scope.
23855func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Start(start string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23856	c.urlParams_.Set("start", start)
23857	return c
23858}
23859
23860// Fields allows partial responses to be retrieved. See
23861// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23862// for more information.
23863func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23864	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23865	return c
23866}
23867
23868// IfNoneMatch sets the optional parameter which makes the operation
23869// fail if the object's ETag matches the given value. This is useful for
23870// getting updates only after the object has changed since the last
23871// request. Use googleapi.IsNotModified to check whether the response
23872// error from Do is the result of In-None-Match.
23873func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23874	c.ifNoneMatch_ = entityTag
23875	return c
23876}
23877
23878// Context sets the context to be used in this call's Do method. Any
23879// pending HTTP request will be aborted if the provided context is
23880// canceled.
23881func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23882	c.ctx_ = ctx
23883	return c
23884}
23885
23886// Header returns an http.Header that can be modified by the caller to
23887// add HTTP headers to the request.
23888func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Header() http.Header {
23889	if c.header_ == nil {
23890		c.header_ = make(http.Header)
23891	}
23892	return c.header_
23893}
23894
23895func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
23896	reqHeaders := make(http.Header)
23897	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
23898	for k, v := range c.header_ {
23899		reqHeaders[k] = v
23900	}
23901	reqHeaders.Set("User-Agent", c.s.userAgent())
23902	if c.ifNoneMatch_ != "" {
23903		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23904	}
23905	var body io.Reader = nil
23906	c.urlParams_.Set("alt", alt)
23907	c.urlParams_.Set("prettyPrint", "false")
23908	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$everything")
23909	urls += "?" + c.urlParams_.Encode()
23910	req, err := http.NewRequest("GET", urls, body)
23911	if err != nil {
23912		return nil, err
23913	}
23914	req.Header = reqHeaders
23915	googleapi.Expand(req.URL, map[string]string{
23916		"name": c.name,
23917	})
23918	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23919}
23920
23921// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything" call.
23922func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23923	gensupport.SetOptions(c.urlParams_, opts...)
23924	return c.doRequest("")
23925	// {
23926	//   "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).",
23927	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything",
23928	//   "httpMethod": "GET",
23929	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything",
23930	//   "parameterOrder": [
23931	//     "name"
23932	//   ],
23933	//   "parameters": {
23934	//     "_count": {
23935	//       "description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.",
23936	//       "format": "int32",
23937	//       "location": "query",
23938	//       "type": "integer"
23939	//     },
23940	//     "_page_token": {
23941	//       "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.",
23942	//       "location": "query",
23943	//       "type": "string"
23944	//     },
23945	//     "_since": {
23946	//       "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.",
23947	//       "location": "query",
23948	//       "type": "string"
23949	//     },
23950	//     "_type": {
23951	//       "description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned.",
23952	//       "location": "query",
23953	//       "type": "string"
23954	//     },
23955	//     "end": {
23956	//       "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.",
23957	//       "location": "query",
23958	//       "type": "string"
23959	//     },
23960	//     "name": {
23961	//       "description": "Name of the `Patient` resource for which the information is required.",
23962	//       "location": "path",
23963	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$",
23964	//       "required": true,
23965	//       "type": "string"
23966	//     },
23967	//     "start": {
23968	//       "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.",
23969	//       "location": "query",
23970	//       "type": "string"
23971	//     }
23972	//   },
23973	//   "path": "v1beta1/{+name}/$everything",
23974	//   "response": {
23975	//     "$ref": "HttpBody"
23976	//   },
23977	//   "scopes": [
23978	//     "https://www.googleapis.com/auth/cloud-platform"
23979	//   ]
23980	// }
23981
23982}
23983
23984// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge":
23985
23986type ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall struct {
23987	s          *Service
23988	name       string
23989	urlParams_ gensupport.URLParams
23990	ctx_       context.Context
23991	header_    http.Header
23992}
23993
23994// ResourcePurge: Deletes all the historical versions of a resource
23995// (excluding the current version) from the FHIR store. To remove all
23996// versions of a resource, first delete the current version and then
23997// call this method. This is not a FHIR standard operation. For samples
23998// that show how to call `Resource-purge`, see Deleting historical
23999// versions of a FHIR resource
24000// (/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_
24001// of_a_fhir_resource).
24002//
24003// - name: The name of the resource to purge.
24004func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourcePurge(name string) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24005	c := &ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24006	c.name = name
24007	return c
24008}
24009
24010// Fields allows partial responses to be retrieved. See
24011// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24012// for more information.
24013func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24014	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24015	return c
24016}
24017
24018// Context sets the context to be used in this call's Do method. Any
24019// pending HTTP request will be aborted if the provided context is
24020// canceled.
24021func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24022	c.ctx_ = ctx
24023	return c
24024}
24025
24026// Header returns an http.Header that can be modified by the caller to
24027// add HTTP headers to the request.
24028func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Header() http.Header {
24029	if c.header_ == nil {
24030		c.header_ = make(http.Header)
24031	}
24032	return c.header_
24033}
24034
24035func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
24036	reqHeaders := make(http.Header)
24037	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24038	for k, v := range c.header_ {
24039		reqHeaders[k] = v
24040	}
24041	reqHeaders.Set("User-Agent", c.s.userAgent())
24042	var body io.Reader = nil
24043	c.urlParams_.Set("alt", alt)
24044	c.urlParams_.Set("prettyPrint", "false")
24045	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$purge")
24046	urls += "?" + c.urlParams_.Encode()
24047	req, err := http.NewRequest("DELETE", urls, body)
24048	if err != nil {
24049		return nil, err
24050	}
24051	req.Header = reqHeaders
24052	googleapi.Expand(req.URL, map[string]string{
24053		"name": c.name,
24054	})
24055	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24056}
24057
24058// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge" call.
24059// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24060// code is an error. Response headers are in either
24061// *Empty.ServerResponse.Header or (if a response was returned at all)
24062// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24063// check whether the returned error was because http.StatusNotModified
24064// was returned.
24065func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24066	gensupport.SetOptions(c.urlParams_, opts...)
24067	res, err := c.doRequest("json")
24068	if res != nil && res.StatusCode == http.StatusNotModified {
24069		if res.Body != nil {
24070			res.Body.Close()
24071		}
24072		return nil, &googleapi.Error{
24073			Code:   res.StatusCode,
24074			Header: res.Header,
24075		}
24076	}
24077	if err != nil {
24078		return nil, err
24079	}
24080	defer googleapi.CloseBody(res)
24081	if err := googleapi.CheckResponse(res); err != nil {
24082		return nil, err
24083	}
24084	ret := &Empty{
24085		ServerResponse: googleapi.ServerResponse{
24086			Header:         res.Header,
24087			HTTPStatusCode: res.StatusCode,
24088		},
24089	}
24090	target := &ret
24091	if err := gensupport.DecodeResponse(target, res); err != nil {
24092		return nil, err
24093	}
24094	return ret, nil
24095	// {
24096	//   "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).",
24097	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge",
24098	//   "httpMethod": "DELETE",
24099	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge",
24100	//   "parameterOrder": [
24101	//     "name"
24102	//   ],
24103	//   "parameters": {
24104	//     "name": {
24105	//       "description": "The name of the resource to purge.",
24106	//       "location": "path",
24107	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
24108	//       "required": true,
24109	//       "type": "string"
24110	//     }
24111	//   },
24112	//   "path": "v1beta1/{+name}/$purge",
24113	//   "response": {
24114	//     "$ref": "Empty"
24115	//   },
24116	//   "scopes": [
24117	//     "https://www.googleapis.com/auth/cloud-platform"
24118	//   ]
24119	// }
24120
24121}
24122
24123// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate":
24124
24125type ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall struct {
24126	s          *Service
24127	parent     string
24128	type_      string
24129	body_      io.Reader
24130	urlParams_ gensupport.URLParams
24131	ctx_       context.Context
24132	header_    http.Header
24133}
24134
24135// ResourceValidate: Validates an input FHIR resource's conformance to
24136// its profiles and the profiles configured on the FHIR store.
24137// Implements the FHIR extended operation $validate (DSTU2
24138// (http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate),
24139// STU3
24140// (http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate),
24141// or R4
24142// (http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)).
24143// The request body must contain a JSON-encoded FHIR resource, and the
24144// request headers must contain `Content-Type: application/fhir+json`.
24145// The `Parameters` input syntax is not supported. The `profile` query
24146// parameter can be used to request that the resource only be validated
24147// against a specific profile. If a profile with the given URL cannot be
24148// found in the FHIR store then an error is returned. Errors generated
24149// by validation contain a JSON-encoded `OperationOutcome` resource
24150// describing the reason for the error. If the request cannot be mapped
24151// to a valid API method on a FHIR store, a generic GCP error might be
24152// returned instead.
24153//
24154// - parent: The name of the FHIR store that holds the profiles being
24155//   used for validation.
24156// - type: The FHIR resource type of the resource being validated. For a
24157//   complete list, see the FHIR Resource Index (DSTU2
24158//   (http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24159//   STU3
24160//   (http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24161//   or R4
24162//   (http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24163//   Must match the resource type in the provided content.
24164func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourceValidate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24165	c := &ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24166	c.parent = parent
24167	c.type_ = type_
24168	c.body_ = body_
24169	return c
24170}
24171
24172// Profile sets the optional parameter "profile": A profile that this
24173// resource should be validated against.
24174func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Profile(profile string) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24175	c.urlParams_.Set("profile", profile)
24176	return c
24177}
24178
24179// Fields allows partial responses to be retrieved. See
24180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24181// for more information.
24182func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24184	return c
24185}
24186
24187// Context sets the context to be used in this call's Do method. Any
24188// pending HTTP request will be aborted if the provided context is
24189// canceled.
24190func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24191	c.ctx_ = ctx
24192	return c
24193}
24194
24195// Header returns an http.Header that can be modified by the caller to
24196// add HTTP headers to the request.
24197func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Header() http.Header {
24198	if c.header_ == nil {
24199		c.header_ = make(http.Header)
24200	}
24201	return c.header_
24202}
24203
24204func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) doRequest(alt string) (*http.Response, error) {
24205	reqHeaders := make(http.Header)
24206	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24207	for k, v := range c.header_ {
24208		reqHeaders[k] = v
24209	}
24210	reqHeaders.Set("User-Agent", c.s.userAgent())
24211	var body io.Reader = nil
24212	body = c.body_
24213	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}/$validate")
24214	urls += "?" + c.urlParams_.Encode()
24215	req, err := http.NewRequest("POST", urls, body)
24216	if err != nil {
24217		return nil, err
24218	}
24219	req.Header = reqHeaders
24220	googleapi.Expand(req.URL, map[string]string{
24221		"parent": c.parent,
24222		"type":   c.type_,
24223	})
24224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24225}
24226
24227// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate" call.
24228func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24229	gensupport.SetOptions(c.urlParams_, opts...)
24230	return c.doRequest("")
24231	// {
24232	//   "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.",
24233	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/$validate",
24234	//   "httpMethod": "POST",
24235	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate",
24236	//   "parameterOrder": [
24237	//     "parent",
24238	//     "type"
24239	//   ],
24240	//   "parameters": {
24241	//     "parent": {
24242	//       "description": "The name of the FHIR store that holds the profiles being used for validation.",
24243	//       "location": "path",
24244	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24245	//       "required": true,
24246	//       "type": "string"
24247	//     },
24248	//     "profile": {
24249	//       "description": "A profile that this resource should be validated against.",
24250	//       "location": "query",
24251	//       "type": "string"
24252	//     },
24253	//     "type": {
24254	//       "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.",
24255	//       "location": "path",
24256	//       "pattern": "^[^/]+$",
24257	//       "required": true,
24258	//       "type": "string"
24259	//     }
24260	//   },
24261	//   "path": "v1beta1/{+parent}/fhir/{+type}/$validate",
24262	//   "request": {
24263	//     "$ref": "HttpBody"
24264	//   },
24265	//   "response": {
24266	//     "$ref": "HttpBody"
24267	//   },
24268	//   "scopes": [
24269	//     "https://www.googleapis.com/auth/cloud-platform"
24270	//   ]
24271	// }
24272
24273}
24274
24275// method id "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities":
24276
24277type ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall struct {
24278	s            *Service
24279	name         string
24280	urlParams_   gensupport.URLParams
24281	ifNoneMatch_ string
24282	ctx_         context.Context
24283	header_      http.Header
24284}
24285
24286// Capabilities: Gets the FHIR capability statement (STU3
24287// (https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),
24288// R4
24289// (https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),
24290// or the conformance statement
24291// (https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in
24292// the DSTU2 case for the store, which contains a description of
24293// functionality supported by the server. Implements the FHIR standard
24294// capabilities interaction (STU3
24295// (https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),
24296// R4
24297// (https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),
24298// or the conformance interaction
24299// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)
24300// in the DSTU2 case. On success, the response body contains a
24301// JSON-encoded representation of a `CapabilityStatement` resource.
24302//
24303// - name: Name of the FHIR store to retrieve the capabilities for.
24304func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Capabilities(name string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24305	c := &ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24306	c.name = name
24307	return c
24308}
24309
24310// Fields allows partial responses to be retrieved. See
24311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24312// for more information.
24313func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24315	return c
24316}
24317
24318// IfNoneMatch sets the optional parameter which makes the operation
24319// fail if the object's ETag matches the given value. This is useful for
24320// getting updates only after the object has changed since the last
24321// request. Use googleapi.IsNotModified to check whether the response
24322// error from Do is the result of In-None-Match.
24323func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24324	c.ifNoneMatch_ = entityTag
24325	return c
24326}
24327
24328// Context sets the context to be used in this call's Do method. Any
24329// pending HTTP request will be aborted if the provided context is
24330// canceled.
24331func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24332	c.ctx_ = ctx
24333	return c
24334}
24335
24336// Header returns an http.Header that can be modified by the caller to
24337// add HTTP headers to the request.
24338func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Header() http.Header {
24339	if c.header_ == nil {
24340		c.header_ = make(http.Header)
24341	}
24342	return c.header_
24343}
24344
24345func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
24346	reqHeaders := make(http.Header)
24347	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24348	for k, v := range c.header_ {
24349		reqHeaders[k] = v
24350	}
24351	reqHeaders.Set("User-Agent", c.s.userAgent())
24352	if c.ifNoneMatch_ != "" {
24353		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24354	}
24355	var body io.Reader = nil
24356	c.urlParams_.Set("alt", alt)
24357	c.urlParams_.Set("prettyPrint", "false")
24358	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/fhir/metadata")
24359	urls += "?" + c.urlParams_.Encode()
24360	req, err := http.NewRequest("GET", urls, body)
24361	if err != nil {
24362		return nil, err
24363	}
24364	req.Header = reqHeaders
24365	googleapi.Expand(req.URL, map[string]string{
24366		"name": c.name,
24367	})
24368	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24369}
24370
24371// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities" call.
24372func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24373	gensupport.SetOptions(c.urlParams_, opts...)
24374	return c.doRequest("")
24375	// {
24376	//   "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.",
24377	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata",
24378	//   "httpMethod": "GET",
24379	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities",
24380	//   "parameterOrder": [
24381	//     "name"
24382	//   ],
24383	//   "parameters": {
24384	//     "name": {
24385	//       "description": "Name of the FHIR store to retrieve the capabilities for.",
24386	//       "location": "path",
24387	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24388	//       "required": true,
24389	//       "type": "string"
24390	//     }
24391	//   },
24392	//   "path": "v1beta1/{+name}/fhir/metadata",
24393	//   "response": {
24394	//     "$ref": "HttpBody"
24395	//   },
24396	//   "scopes": [
24397	//     "https://www.googleapis.com/auth/cloud-platform"
24398	//   ]
24399	// }
24400
24401}
24402
24403// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete":
24404
24405type ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall struct {
24406	s          *Service
24407	parent     string
24408	type_      string
24409	urlParams_ gensupport.URLParams
24410	ctx_       context.Context
24411	header_    http.Header
24412}
24413
24414// ConditionalDelete: Deletes FHIR resources that match a search query.
24415// Implements the FHIR standard conditional delete interaction (DSTU2
24416// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),
24417// STU3
24418// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),
24419// R4
24420// (https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).
24421// If multiple resources match, all matching resources are deleted.
24422// Search terms are provided as query parameters following the same
24423// pattern as the search method. Note: Unless resource versioning is
24424// disabled by setting the disable_resource_versioning flag on the FHIR
24425// store, the deleted resources are moved to a history repository that
24426// can still be retrieved through vread and related methods, unless they
24427// are removed by the purge method. This method requires
24428// the`healthcare.fhirStores.searchResources` and
24429// `healthcare.fhirResources.delete` permissions on the parent FHIR
24430// store. For samples that show how to call `conditionalDelete`, see
24431// Conditionally deleting a FHIR resource
24432// (/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir
24433// _resource).
24434//
24435// - parent: The name of the FHIR store this resource belongs to.
24436// - type: The FHIR resource type to delete, such as Patient or
24437//   Observation. For a complete list, see the FHIR Resource Index
24438//   (DSTU2
24439//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24440//   STU3
24441//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24442//   R4
24443//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24444func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalDelete(parent string, type_ string) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24445	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24446	c.parent = parent
24447	c.type_ = type_
24448	return c
24449}
24450
24451// Fields allows partial responses to be retrieved. See
24452// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24453// for more information.
24454func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24455	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24456	return c
24457}
24458
24459// Context sets the context to be used in this call's Do method. Any
24460// pending HTTP request will be aborted if the provided context is
24461// canceled.
24462func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24463	c.ctx_ = ctx
24464	return c
24465}
24466
24467// Header returns an http.Header that can be modified by the caller to
24468// add HTTP headers to the request.
24469func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Header() http.Header {
24470	if c.header_ == nil {
24471		c.header_ = make(http.Header)
24472	}
24473	return c.header_
24474}
24475
24476func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) doRequest(alt string) (*http.Response, error) {
24477	reqHeaders := make(http.Header)
24478	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24479	for k, v := range c.header_ {
24480		reqHeaders[k] = v
24481	}
24482	reqHeaders.Set("User-Agent", c.s.userAgent())
24483	var body io.Reader = nil
24484	c.urlParams_.Set("alt", alt)
24485	c.urlParams_.Set("prettyPrint", "false")
24486	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24487	urls += "?" + c.urlParams_.Encode()
24488	req, err := http.NewRequest("DELETE", urls, body)
24489	if err != nil {
24490		return nil, err
24491	}
24492	req.Header = reqHeaders
24493	googleapi.Expand(req.URL, map[string]string{
24494		"parent": c.parent,
24495		"type":   c.type_,
24496	})
24497	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24498}
24499
24500// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete" call.
24501// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24502// code is an error. Response headers are in either
24503// *Empty.ServerResponse.Header or (if a response was returned at all)
24504// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24505// check whether the returned error was because http.StatusNotModified
24506// was returned.
24507func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24508	gensupport.SetOptions(c.urlParams_, opts...)
24509	res, err := c.doRequest("json")
24510	if res != nil && res.StatusCode == http.StatusNotModified {
24511		if res.Body != nil {
24512			res.Body.Close()
24513		}
24514		return nil, &googleapi.Error{
24515			Code:   res.StatusCode,
24516			Header: res.Header,
24517		}
24518	}
24519	if err != nil {
24520		return nil, err
24521	}
24522	defer googleapi.CloseBody(res)
24523	if err := googleapi.CheckResponse(res); err != nil {
24524		return nil, err
24525	}
24526	ret := &Empty{
24527		ServerResponse: googleapi.ServerResponse{
24528			Header:         res.Header,
24529			HTTPStatusCode: res.StatusCode,
24530		},
24531	}
24532	target := &ret
24533	if err := gensupport.DecodeResponse(target, res); err != nil {
24534		return nil, err
24535	}
24536	return ret, nil
24537	// {
24538	//   "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).",
24539	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24540	//   "httpMethod": "DELETE",
24541	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete",
24542	//   "parameterOrder": [
24543	//     "parent",
24544	//     "type"
24545	//   ],
24546	//   "parameters": {
24547	//     "parent": {
24548	//       "description": "The name of the FHIR store this resource belongs to.",
24549	//       "location": "path",
24550	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24551	//       "required": true,
24552	//       "type": "string"
24553	//     },
24554	//     "type": {
24555	//       "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)).",
24556	//       "location": "path",
24557	//       "pattern": "^[^/]+$",
24558	//       "required": true,
24559	//       "type": "string"
24560	//     }
24561	//   },
24562	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24563	//   "response": {
24564	//     "$ref": "Empty"
24565	//   },
24566	//   "scopes": [
24567	//     "https://www.googleapis.com/auth/cloud-platform"
24568	//   ]
24569	// }
24570
24571}
24572
24573// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch":
24574
24575type ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall struct {
24576	s          *Service
24577	parent     string
24578	type_      string
24579	body_      io.Reader
24580	urlParams_ gensupport.URLParams
24581	ctx_       context.Context
24582	header_    http.Header
24583}
24584
24585// ConditionalPatch: If a resource is found based on the search criteria
24586// specified in the query parameters, updates part of that resource by
24587// applying the operations specified in a JSON Patch
24588// (http://jsonpatch.com/) document. Implements the FHIR standard
24589// conditional patch interaction (STU3
24590// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
24591// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
24592// doesn't define a conditional patch method, but the server supports it
24593// in the same way it supports STU3. Search terms are provided as query
24594// parameters following the same pattern as the search method. If the
24595// search criteria identify more than one match, the request returns a
24596// `412 Precondition Failed` error. The request body must contain a JSON
24597// Patch document, and the request headers must contain `Content-Type:
24598// application/json-patch+json`. On success, the response body contains
24599// a JSON-encoded representation of the updated resource, including the
24600// server-assigned version ID. Errors generated by the FHIR store
24601// contain a JSON-encoded `OperationOutcome` resource describing the
24602// reason for the error. If the request cannot be mapped to a valid API
24603// method on a FHIR store, a generic GCP error might be returned
24604// instead. This method requires
24605// the`healthcare.fhirStores.searchResources` permission on the parent
24606// FHIR store and the `healthcare.fhirResources.patch` permission on the
24607// requested FHIR store resource. For samples that show how to call
24608// `conditionalPatch`, see Conditionally patching a FHIR resource
24609// (/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir
24610// _resource).
24611//
24612// - parent: The name of the FHIR store this resource belongs to.
24613// - type: The FHIR resource type to update, such as Patient or
24614//   Observation. For a complete list, see the FHIR Resource Index
24615//   (DSTU2
24616//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24617//   STU3
24618//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24619//   R4
24620//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24621func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalPatch(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24622	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24623	c.parent = parent
24624	c.type_ = type_
24625	c.body_ = body_
24626	return c
24627}
24628
24629// Fields allows partial responses to be retrieved. See
24630// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24631// for more information.
24632func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24633	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24634	return c
24635}
24636
24637// Context sets the context to be used in this call's Do method. Any
24638// pending HTTP request will be aborted if the provided context is
24639// canceled.
24640func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24641	c.ctx_ = ctx
24642	return c
24643}
24644
24645// Header returns an http.Header that can be modified by the caller to
24646// add HTTP headers to the request.
24647func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Header() http.Header {
24648	if c.header_ == nil {
24649		c.header_ = make(http.Header)
24650	}
24651	return c.header_
24652}
24653
24654func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) doRequest(alt string) (*http.Response, error) {
24655	reqHeaders := make(http.Header)
24656	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24657	for k, v := range c.header_ {
24658		reqHeaders[k] = v
24659	}
24660	reqHeaders.Set("User-Agent", c.s.userAgent())
24661	var body io.Reader = nil
24662	body = c.body_
24663	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24664	urls += "?" + c.urlParams_.Encode()
24665	req, err := http.NewRequest("PATCH", urls, body)
24666	if err != nil {
24667		return nil, err
24668	}
24669	req.Header = reqHeaders
24670	googleapi.Expand(req.URL, map[string]string{
24671		"parent": c.parent,
24672		"type":   c.type_,
24673	})
24674	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24675}
24676
24677// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch" call.
24678func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24679	gensupport.SetOptions(c.urlParams_, opts...)
24680	return c.doRequest("")
24681	// {
24682	//   "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).",
24683	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24684	//   "httpMethod": "PATCH",
24685	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch",
24686	//   "parameterOrder": [
24687	//     "parent",
24688	//     "type"
24689	//   ],
24690	//   "parameters": {
24691	//     "parent": {
24692	//       "description": "The name of the FHIR store this resource belongs to.",
24693	//       "location": "path",
24694	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24695	//       "required": true,
24696	//       "type": "string"
24697	//     },
24698	//     "type": {
24699	//       "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)).",
24700	//       "location": "path",
24701	//       "pattern": "^[^/]+$",
24702	//       "required": true,
24703	//       "type": "string"
24704	//     }
24705	//   },
24706	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24707	//   "request": {
24708	//     "$ref": "HttpBody"
24709	//   },
24710	//   "response": {
24711	//     "$ref": "HttpBody"
24712	//   },
24713	//   "scopes": [
24714	//     "https://www.googleapis.com/auth/cloud-platform"
24715	//   ]
24716	// }
24717
24718}
24719
24720// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate":
24721
24722type ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall struct {
24723	s          *Service
24724	parent     string
24725	type_      string
24726	body_      io.Reader
24727	urlParams_ gensupport.URLParams
24728	ctx_       context.Context
24729	header_    http.Header
24730}
24731
24732// ConditionalUpdate: If a resource is found based on the search
24733// criteria specified in the query parameters, updates the entire
24734// contents of that resource. Implements the FHIR standard conditional
24735// update interaction (DSTU2
24736// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),
24737// STU3
24738// (https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),
24739// R4
24740// (https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).
24741// Search terms are provided as query parameters following the same
24742// pattern as the search method. If the search criteria identify more
24743// than one match, the request returns a `412 Precondition Failed`
24744// error. If the search criteria identify zero matches, and the supplied
24745// resource body contains an `id`, and the FHIR store has
24746// enable_update_create set, creates the resource with the
24747// client-specified ID. It is strongly advised not to include or encode
24748// any sensitive data such as patient identifiers in client-specified
24749// resource IDs. Those IDs are part of the FHIR resource path recorded
24750// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
24751// contained in reference fields within other resources. If the search
24752// criteria identify zero matches, and the supplied resource body does
24753// not contain an `id`, the resource is created with a server-assigned
24754// ID as per the create method. The request body must contain a
24755// JSON-encoded FHIR resource, and the request headers must contain
24756// `Content-Type: application/fhir+json`. On success, the response body
24757// contains a JSON-encoded representation of the updated resource,
24758// including the server-assigned version ID. Errors generated by the
24759// FHIR store contain a JSON-encoded `OperationOutcome` resource
24760// describing the reason for the error. If the request cannot be mapped
24761// to a valid API method on a FHIR store, a generic GCP error might be
24762// returned instead. This method requires
24763// the`healthcare.fhirStores.searchResources` and
24764// `healthcare.fhirResources.update` permissions on the parent FHIR
24765// store. For samples that show how to call `conditionalUpdate`, see
24766// Conditionally updating a FHIR resource
24767// (/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir
24768// _resource).
24769//
24770// - parent: The name of the FHIR store this resource belongs to.
24771// - type: The FHIR resource type to update, such as Patient or
24772//   Observation. For a complete list, see the FHIR Resource Index
24773//   (DSTU2
24774//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24775//   STU3
24776//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24777//   R4
24778//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24779//   Must match the resource type in the provided content.
24780func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalUpdate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24781	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24782	c.parent = parent
24783	c.type_ = type_
24784	c.body_ = body_
24785	return c
24786}
24787
24788// Fields allows partial responses to be retrieved. See
24789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24790// for more information.
24791func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24793	return c
24794}
24795
24796// Context sets the context to be used in this call's Do method. Any
24797// pending HTTP request will be aborted if the provided context is
24798// canceled.
24799func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24800	c.ctx_ = ctx
24801	return c
24802}
24803
24804// Header returns an http.Header that can be modified by the caller to
24805// add HTTP headers to the request.
24806func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Header() http.Header {
24807	if c.header_ == nil {
24808		c.header_ = make(http.Header)
24809	}
24810	return c.header_
24811}
24812
24813func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) doRequest(alt string) (*http.Response, error) {
24814	reqHeaders := make(http.Header)
24815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24816	for k, v := range c.header_ {
24817		reqHeaders[k] = v
24818	}
24819	reqHeaders.Set("User-Agent", c.s.userAgent())
24820	var body io.Reader = nil
24821	body = c.body_
24822	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24823	urls += "?" + c.urlParams_.Encode()
24824	req, err := http.NewRequest("PUT", urls, body)
24825	if err != nil {
24826		return nil, err
24827	}
24828	req.Header = reqHeaders
24829	googleapi.Expand(req.URL, map[string]string{
24830		"parent": c.parent,
24831		"type":   c.type_,
24832	})
24833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24834}
24835
24836// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate" call.
24837func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24838	gensupport.SetOptions(c.urlParams_, opts...)
24839	return c.doRequest("")
24840	// {
24841	//   "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 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).",
24842	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24843	//   "httpMethod": "PUT",
24844	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate",
24845	//   "parameterOrder": [
24846	//     "parent",
24847	//     "type"
24848	//   ],
24849	//   "parameters": {
24850	//     "parent": {
24851	//       "description": "The name of the FHIR store this resource belongs to.",
24852	//       "location": "path",
24853	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24854	//       "required": true,
24855	//       "type": "string"
24856	//     },
24857	//     "type": {
24858	//       "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.",
24859	//       "location": "path",
24860	//       "pattern": "^[^/]+$",
24861	//       "required": true,
24862	//       "type": "string"
24863	//     }
24864	//   },
24865	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24866	//   "request": {
24867	//     "$ref": "HttpBody"
24868	//   },
24869	//   "response": {
24870	//     "$ref": "HttpBody"
24871	//   },
24872	//   "scopes": [
24873	//     "https://www.googleapis.com/auth/cloud-platform"
24874	//   ]
24875	// }
24876
24877}
24878
24879// method id "healthcare.projects.locations.datasets.fhirStores.fhir.create":
24880
24881type ProjectsLocationsDatasetsFhirStoresFhirCreateCall struct {
24882	s          *Service
24883	parent     string
24884	type_      string
24885	body_      io.Reader
24886	urlParams_ gensupport.URLParams
24887	ctx_       context.Context
24888	header_    http.Header
24889}
24890
24891// Create: Creates a FHIR resource. Implements the FHIR standard create
24892// interaction (DSTU2
24893// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#create),
24894// STU3
24895// (https://hl7.org/implement/standards/fhir/STU3/http.html#create), R4
24896// (https://hl7.org/implement/standards/fhir/R4/http.html#create)),
24897// which creates a new resource with a server-assigned resource ID. Also
24898// supports the FHIR standard conditional create interaction (DSTU2
24899// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),
24900// STU3
24901// (https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), R4
24902// (https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),
24903// specified by supplying an `If-None-Exist` header containing a FHIR
24904// search query. If no resources match this search query, the server
24905// processes the create operation as normal. The request body must
24906// contain a JSON-encoded FHIR resource, and the request headers must
24907// contain `Content-Type: application/fhir+json`. On success, the
24908// response body contains a JSON-encoded representation of the resource
24909// as it was created on the server, including the server-assigned
24910// resource ID and version ID. Errors generated by the FHIR store
24911// contain a JSON-encoded `OperationOutcome` resource describing the
24912// reason for the error. If the request cannot be mapped to a valid API
24913// method on a FHIR store, a generic GCP error might be returned
24914// instead. For samples that show how to call `create`, see Creating a
24915// FHIR resource
24916// (/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).
24917//
24918// - parent: The name of the FHIR store this resource belongs to.
24919// - type: The FHIR resource type to create, such as Patient or
24920//   Observation. For a complete list, see the FHIR Resource Index
24921//   (DSTU2
24922//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24923//   STU3
24924//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24925//   R4
24926//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24927//   Must match the resource type in the provided content.
24928func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Create(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24929	c := &ProjectsLocationsDatasetsFhirStoresFhirCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24930	c.parent = parent
24931	c.type_ = type_
24932	c.body_ = body_
24933	return c
24934}
24935
24936// Fields allows partial responses to be retrieved. See
24937// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24938// for more information.
24939func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24940	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24941	return c
24942}
24943
24944// Context sets the context to be used in this call's Do method. Any
24945// pending HTTP request will be aborted if the provided context is
24946// canceled.
24947func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24948	c.ctx_ = ctx
24949	return c
24950}
24951
24952// Header returns an http.Header that can be modified by the caller to
24953// add HTTP headers to the request.
24954func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Header() http.Header {
24955	if c.header_ == nil {
24956		c.header_ = make(http.Header)
24957	}
24958	return c.header_
24959}
24960
24961func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
24962	reqHeaders := make(http.Header)
24963	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
24964	for k, v := range c.header_ {
24965		reqHeaders[k] = v
24966	}
24967	reqHeaders.Set("User-Agent", c.s.userAgent())
24968	var body io.Reader = nil
24969	body = c.body_
24970	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24971	urls += "?" + c.urlParams_.Encode()
24972	req, err := http.NewRequest("POST", urls, body)
24973	if err != nil {
24974		return nil, err
24975	}
24976	req.Header = reqHeaders
24977	googleapi.Expand(req.URL, map[string]string{
24978		"parent": c.parent,
24979		"type":   c.type_,
24980	})
24981	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24982}
24983
24984// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.create" call.
24985func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24986	gensupport.SetOptions(c.urlParams_, opts...)
24987	return c.doRequest("")
24988	// {
24989	//   "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).",
24990	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24991	//   "httpMethod": "POST",
24992	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create",
24993	//   "parameterOrder": [
24994	//     "parent",
24995	//     "type"
24996	//   ],
24997	//   "parameters": {
24998	//     "parent": {
24999	//       "description": "The name of the FHIR store this resource belongs to.",
25000	//       "location": "path",
25001	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25002	//       "required": true,
25003	//       "type": "string"
25004	//     },
25005	//     "type": {
25006	//       "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.",
25007	//       "location": "path",
25008	//       "pattern": "^[^/]+$",
25009	//       "required": true,
25010	//       "type": "string"
25011	//     }
25012	//   },
25013	//   "path": "v1beta1/{+parent}/fhir/{+type}",
25014	//   "request": {
25015	//     "$ref": "HttpBody"
25016	//   },
25017	//   "response": {
25018	//     "$ref": "HttpBody"
25019	//   },
25020	//   "scopes": [
25021	//     "https://www.googleapis.com/auth/cloud-platform"
25022	//   ]
25023	// }
25024
25025}
25026
25027// method id "healthcare.projects.locations.datasets.fhirStores.fhir.delete":
25028
25029type ProjectsLocationsDatasetsFhirStoresFhirDeleteCall struct {
25030	s          *Service
25031	name       string
25032	urlParams_ gensupport.URLParams
25033	ctx_       context.Context
25034	header_    http.Header
25035}
25036
25037// Delete: Deletes a FHIR resource. Implements the FHIR standard delete
25038// interaction (DSTU2
25039// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),
25040// STU3
25041// (https://hl7.org/implement/standards/fhir/STU3/http.html#delete), R4
25042// (https://hl7.org/implement/standards/fhir/R4/http.html#delete)).
25043// Note: Unless resource versioning is disabled by setting the
25044// disable_resource_versioning flag on the FHIR store, the deleted
25045// resources are moved to a history repository that can still be
25046// retrieved through vread and related methods, unless they are removed
25047// by the purge method. For samples that show how to call `delete`, see
25048// Deleting a FHIR resource
25049// (/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).
25050//
25051// - name: The name of the resource to delete.
25052func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25053	c := &ProjectsLocationsDatasetsFhirStoresFhirDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25054	c.name = name
25055	return c
25056}
25057
25058// Fields allows partial responses to be retrieved. See
25059// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25060// for more information.
25061func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25062	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25063	return c
25064}
25065
25066// Context sets the context to be used in this call's Do method. Any
25067// pending HTTP request will be aborted if the provided context is
25068// canceled.
25069func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25070	c.ctx_ = ctx
25071	return c
25072}
25073
25074// Header returns an http.Header that can be modified by the caller to
25075// add HTTP headers to the request.
25076func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Header() http.Header {
25077	if c.header_ == nil {
25078		c.header_ = make(http.Header)
25079	}
25080	return c.header_
25081}
25082
25083func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
25084	reqHeaders := make(http.Header)
25085	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25086	for k, v := range c.header_ {
25087		reqHeaders[k] = v
25088	}
25089	reqHeaders.Set("User-Agent", c.s.userAgent())
25090	var body io.Reader = nil
25091	c.urlParams_.Set("alt", alt)
25092	c.urlParams_.Set("prettyPrint", "false")
25093	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25094	urls += "?" + c.urlParams_.Encode()
25095	req, err := http.NewRequest("DELETE", urls, body)
25096	if err != nil {
25097		return nil, err
25098	}
25099	req.Header = reqHeaders
25100	googleapi.Expand(req.URL, map[string]string{
25101		"name": c.name,
25102	})
25103	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25104}
25105
25106// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.delete" call.
25107func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25108	gensupport.SetOptions(c.urlParams_, opts...)
25109	return c.doRequest("")
25110	// {
25111	//   "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).",
25112	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25113	//   "httpMethod": "DELETE",
25114	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete",
25115	//   "parameterOrder": [
25116	//     "name"
25117	//   ],
25118	//   "parameters": {
25119	//     "name": {
25120	//       "description": "The name of the resource to delete.",
25121	//       "location": "path",
25122	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25123	//       "required": true,
25124	//       "type": "string"
25125	//     }
25126	//   },
25127	//   "path": "v1beta1/{+name}",
25128	//   "response": {
25129	//     "$ref": "HttpBody"
25130	//   },
25131	//   "scopes": [
25132	//     "https://www.googleapis.com/auth/cloud-platform"
25133	//   ]
25134	// }
25135
25136}
25137
25138// method id "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle":
25139
25140type ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall struct {
25141	s          *Service
25142	parent     string
25143	body_      io.Reader
25144	urlParams_ gensupport.URLParams
25145	ctx_       context.Context
25146	header_    http.Header
25147}
25148
25149// ExecuteBundle: Executes all the requests in the given Bundle.
25150// Implements the FHIR standard batch/transaction interaction (DSTU2
25151// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),
25152// STU3
25153// (https://hl7.org/implement/standards/fhir/STU3/http.html#transaction),
25154// R4
25155// (https://hl7.org/implement/standards/fhir/R4/http.html#transaction)).
25156// Supports all interactions within a bundle, except search. This method
25157// accepts Bundles of type `batch` and `transaction`, processing them
25158// according to the batch processing rules (DSTU2
25159// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),
25160// STU3
25161// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),
25162// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#brules))
25163// and transaction processing rules (DSTU2
25164// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),
25165// STU3
25166// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),
25167// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#trules)).
25168// The request body must contain a JSON-encoded FHIR `Bundle` resource,
25169// and the request headers must contain `Content-Type:
25170// application/fhir+json`. For a batch bundle or a successful
25171// transaction the response body contains a JSON-encoded representation
25172// of a `Bundle` resource of type `batch-response` or
25173// `transaction-response` containing one entry for each entry in the
25174// request, with the outcome of processing the entry. In the case of an
25175// error for a transaction bundle, the response body contains a
25176// JSON-encoded `OperationOutcome` resource describing the reason for
25177// the error. If the request cannot be mapped to a valid API method on a
25178// FHIR store, a generic GCP error might be returned instead. This
25179// method requires permission for executing the requests in the bundle.
25180// The `executeBundle` permission grants permission to execute the
25181// request in the bundle but you must grant sufficient permissions to
25182// execute the individual requests in the bundle. For example, if the
25183// bundle contains a `create` request, you must have permission to
25184// execute the `create` request. Logging is available for the
25185// `executeBundle` permission. For samples that show how to call
25186// `executeBundle`, see Managing FHIR resources using FHIR bundles
25187// (/healthcare/docs/how-tos/fhir-bundles).
25188//
25189// - parent: Name of the FHIR store in which this bundle will be
25190//   executed.
25191func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ExecuteBundle(parent string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25192	c := &ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25193	c.parent = parent
25194	c.body_ = body_
25195	return c
25196}
25197
25198// Fields allows partial responses to be retrieved. See
25199// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25200// for more information.
25201func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25202	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25203	return c
25204}
25205
25206// Context sets the context to be used in this call's Do method. Any
25207// pending HTTP request will be aborted if the provided context is
25208// canceled.
25209func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25210	c.ctx_ = ctx
25211	return c
25212}
25213
25214// Header returns an http.Header that can be modified by the caller to
25215// add HTTP headers to the request.
25216func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Header() http.Header {
25217	if c.header_ == nil {
25218		c.header_ = make(http.Header)
25219	}
25220	return c.header_
25221}
25222
25223func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
25224	reqHeaders := make(http.Header)
25225	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25226	for k, v := range c.header_ {
25227		reqHeaders[k] = v
25228	}
25229	reqHeaders.Set("User-Agent", c.s.userAgent())
25230	var body io.Reader = nil
25231	body = c.body_
25232	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir")
25233	urls += "?" + c.urlParams_.Encode()
25234	req, err := http.NewRequest("POST", urls, body)
25235	if err != nil {
25236		return nil, err
25237	}
25238	req.Header = reqHeaders
25239	googleapi.Expand(req.URL, map[string]string{
25240		"parent": c.parent,
25241	})
25242	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25243}
25244
25245// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle" call.
25246func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25247	gensupport.SetOptions(c.urlParams_, opts...)
25248	return c.doRequest("")
25249	// {
25250	//   "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).",
25251	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir",
25252	//   "httpMethod": "POST",
25253	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle",
25254	//   "parameterOrder": [
25255	//     "parent"
25256	//   ],
25257	//   "parameters": {
25258	//     "parent": {
25259	//       "description": "Name of the FHIR store in which this bundle will be executed.",
25260	//       "location": "path",
25261	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25262	//       "required": true,
25263	//       "type": "string"
25264	//     }
25265	//   },
25266	//   "path": "v1beta1/{+parent}/fhir",
25267	//   "request": {
25268	//     "$ref": "HttpBody"
25269	//   },
25270	//   "response": {
25271	//     "$ref": "HttpBody"
25272	//   },
25273	//   "scopes": [
25274	//     "https://www.googleapis.com/auth/cloud-platform"
25275	//   ]
25276	// }
25277
25278}
25279
25280// method id "healthcare.projects.locations.datasets.fhirStores.fhir.history":
25281
25282type ProjectsLocationsDatasetsFhirStoresFhirHistoryCall struct {
25283	s            *Service
25284	name         string
25285	urlParams_   gensupport.URLParams
25286	ifNoneMatch_ string
25287	ctx_         context.Context
25288	header_      http.Header
25289}
25290
25291// History: Lists all the versions of a resource (including the current
25292// version and deleted versions) from the FHIR store. Implements the
25293// per-resource form of the FHIR standard history interaction (DSTU2
25294// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#history),
25295// STU3
25296// (https://hl7.org/implement/standards/fhir/STU3/http.html#history), R4
25297// (https://hl7.org/implement/standards/fhir/R4/http.html#history)). On
25298// success, the response body contains a JSON-encoded representation of
25299// a `Bundle` resource of type `history`, containing the version history
25300// sorted from most recent to oldest versions. Errors generated by the
25301// FHIR store contain a JSON-encoded `OperationOutcome` resource
25302// describing the reason for the error. If the request cannot be mapped
25303// to a valid API method on a FHIR store, a generic GCP error might be
25304// returned instead. For samples that show how to call `history`, see
25305// Listing FHIR resource versions
25306// (/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_version
25307// s).
25308//
25309// - name: The name of the resource to retrieve.
25310func (r *ProjectsLocationsDatasetsFhirStoresFhirService) History(name string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25311	c := &ProjectsLocationsDatasetsFhirStoresFhirHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25312	c.name = name
25313	return c
25314}
25315
25316// At sets the optional parameter "_at": Only include resource versions
25317// that were current at some point during the time period specified in
25318// the date time value. The date parameter format is
25319// yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the
25320// following: * An entire year: `_at=2019` * An entire month:
25321// `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second:
25322// `_at=2018-12-31T23:59:58Z`
25323func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) At(At string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25324	c.urlParams_.Set("_at", At)
25325	return c
25326}
25327
25328// Count sets the optional parameter "_count": The maximum number of
25329// search results on a page. If not specified, 100 is used. May not be
25330// larger than 1000.
25331func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25332	c.urlParams_.Set("_count", fmt.Sprint(Count))
25333	return c
25334}
25335
25336// PageToken sets the optional parameter "_page_token": Used to retrieve
25337// the first, previous, next, or last page of resource versions when
25338// using pagination. Value should be set to the value of `_page_token`
25339// set in next or previous page links' URLs. Next and previous page are
25340// returned in the response bundle's links field, where `link.relation`
25341// is "previous" or "next". Omit `_page_token` if no previous request
25342// has been made.
25343func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25344	c.urlParams_.Set("_page_token", PageToken)
25345	return c
25346}
25347
25348// Since sets the optional parameter "_since": Only include resource
25349// versions that were created at or after the given instant in time. The
25350// instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for
25351// example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The
25352// time must be specified to the second and include a time zone.
25353func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25354	c.urlParams_.Set("_since", Since)
25355	return c
25356}
25357
25358// Fields allows partial responses to be retrieved. See
25359// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25360// for more information.
25361func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25362	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25363	return c
25364}
25365
25366// IfNoneMatch sets the optional parameter which makes the operation
25367// fail if the object's ETag matches the given value. This is useful for
25368// getting updates only after the object has changed since the last
25369// request. Use googleapi.IsNotModified to check whether the response
25370// error from Do is the result of In-None-Match.
25371func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25372	c.ifNoneMatch_ = entityTag
25373	return c
25374}
25375
25376// Context sets the context to be used in this call's Do method. Any
25377// pending HTTP request will be aborted if the provided context is
25378// canceled.
25379func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25380	c.ctx_ = ctx
25381	return c
25382}
25383
25384// Header returns an http.Header that can be modified by the caller to
25385// add HTTP headers to the request.
25386func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Header() http.Header {
25387	if c.header_ == nil {
25388		c.header_ = make(http.Header)
25389	}
25390	return c.header_
25391}
25392
25393func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
25394	reqHeaders := make(http.Header)
25395	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25396	for k, v := range c.header_ {
25397		reqHeaders[k] = v
25398	}
25399	reqHeaders.Set("User-Agent", c.s.userAgent())
25400	if c.ifNoneMatch_ != "" {
25401		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25402	}
25403	var body io.Reader = nil
25404	c.urlParams_.Set("alt", alt)
25405	c.urlParams_.Set("prettyPrint", "false")
25406	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/_history")
25407	urls += "?" + c.urlParams_.Encode()
25408	req, err := http.NewRequest("GET", urls, body)
25409	if err != nil {
25410		return nil, err
25411	}
25412	req.Header = reqHeaders
25413	googleapi.Expand(req.URL, map[string]string{
25414		"name": c.name,
25415	})
25416	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25417}
25418
25419// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.history" call.
25420func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25421	gensupport.SetOptions(c.urlParams_, opts...)
25422	return c.doRequest("")
25423	// {
25424	//   "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).",
25425	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history",
25426	//   "httpMethod": "GET",
25427	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history",
25428	//   "parameterOrder": [
25429	//     "name"
25430	//   ],
25431	//   "parameters": {
25432	//     "_at": {
25433	//       "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`",
25434	//       "location": "query",
25435	//       "type": "string"
25436	//     },
25437	//     "_count": {
25438	//       "description": "The maximum number of search results on a page. If not specified, 100 is used. May not be larger than 1000.",
25439	//       "format": "int32",
25440	//       "location": "query",
25441	//       "type": "integer"
25442	//     },
25443	//     "_page_token": {
25444	//       "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.",
25445	//       "location": "query",
25446	//       "type": "string"
25447	//     },
25448	//     "_since": {
25449	//       "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.",
25450	//       "location": "query",
25451	//       "type": "string"
25452	//     },
25453	//     "name": {
25454	//       "description": "The name of the resource to retrieve.",
25455	//       "location": "path",
25456	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25457	//       "required": true,
25458	//       "type": "string"
25459	//     }
25460	//   },
25461	//   "path": "v1beta1/{+name}/_history",
25462	//   "response": {
25463	//     "$ref": "HttpBody"
25464	//   },
25465	//   "scopes": [
25466	//     "https://www.googleapis.com/auth/cloud-platform"
25467	//   ]
25468	// }
25469
25470}
25471
25472// method id "healthcare.projects.locations.datasets.fhirStores.fhir.patch":
25473
25474type ProjectsLocationsDatasetsFhirStoresFhirPatchCall struct {
25475	s          *Service
25476	name       string
25477	body_      io.Reader
25478	urlParams_ gensupport.URLParams
25479	ctx_       context.Context
25480	header_    http.Header
25481}
25482
25483// Patch: Updates part of an existing resource by applying the
25484// operations specified in a JSON Patch (http://jsonpatch.com/)
25485// document. Implements the FHIR standard patch interaction (STU3
25486// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
25487// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
25488// doesn't define a patch method, but the server supports it in the same
25489// way it supports STU3. The request body must contain a JSON Patch
25490// document, and the request headers must contain `Content-Type:
25491// application/json-patch+json`. On success, the response body contains
25492// a JSON-encoded representation of the updated resource, including the
25493// server-assigned version ID. Errors generated by the FHIR store
25494// contain a JSON-encoded `OperationOutcome` resource describing the
25495// reason for the error. If the request cannot be mapped to a valid API
25496// method on a FHIR store, a generic GCP error might be returned
25497// instead. For samples that show how to call `patch`, see Patching a
25498// FHIR resource
25499// (/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).
25500//
25501// - name: The name of the resource to update.
25502func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Patch(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25503	c := &ProjectsLocationsDatasetsFhirStoresFhirPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25504	c.name = name
25505	c.body_ = body_
25506	return c
25507}
25508
25509// Fields allows partial responses to be retrieved. See
25510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25511// for more information.
25512func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25514	return c
25515}
25516
25517// Context sets the context to be used in this call's Do method. Any
25518// pending HTTP request will be aborted if the provided context is
25519// canceled.
25520func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25521	c.ctx_ = ctx
25522	return c
25523}
25524
25525// Header returns an http.Header that can be modified by the caller to
25526// add HTTP headers to the request.
25527func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Header() http.Header {
25528	if c.header_ == nil {
25529		c.header_ = make(http.Header)
25530	}
25531	return c.header_
25532}
25533
25534func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
25535	reqHeaders := make(http.Header)
25536	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25537	for k, v := range c.header_ {
25538		reqHeaders[k] = v
25539	}
25540	reqHeaders.Set("User-Agent", c.s.userAgent())
25541	var body io.Reader = nil
25542	body = c.body_
25543	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25544	urls += "?" + c.urlParams_.Encode()
25545	req, err := http.NewRequest("PATCH", urls, body)
25546	if err != nil {
25547		return nil, err
25548	}
25549	req.Header = reqHeaders
25550	googleapi.Expand(req.URL, map[string]string{
25551		"name": c.name,
25552	})
25553	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25554}
25555
25556// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.patch" call.
25557func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25558	gensupport.SetOptions(c.urlParams_, opts...)
25559	return c.doRequest("")
25560	// {
25561	//   "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).",
25562	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25563	//   "httpMethod": "PATCH",
25564	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch",
25565	//   "parameterOrder": [
25566	//     "name"
25567	//   ],
25568	//   "parameters": {
25569	//     "name": {
25570	//       "description": "The name of the resource to update.",
25571	//       "location": "path",
25572	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25573	//       "required": true,
25574	//       "type": "string"
25575	//     }
25576	//   },
25577	//   "path": "v1beta1/{+name}",
25578	//   "request": {
25579	//     "$ref": "HttpBody"
25580	//   },
25581	//   "response": {
25582	//     "$ref": "HttpBody"
25583	//   },
25584	//   "scopes": [
25585	//     "https://www.googleapis.com/auth/cloud-platform"
25586	//   ]
25587	// }
25588
25589}
25590
25591// method id "healthcare.projects.locations.datasets.fhirStores.fhir.read":
25592
25593type ProjectsLocationsDatasetsFhirStoresFhirReadCall struct {
25594	s            *Service
25595	name         string
25596	urlParams_   gensupport.URLParams
25597	ifNoneMatch_ string
25598	ctx_         context.Context
25599	header_      http.Header
25600}
25601
25602// Read: Gets the contents of a FHIR resource. Implements the FHIR
25603// standard read interaction (DSTU2
25604// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), STU3
25605// (https://hl7.org/implement/standards/fhir/STU3/http.html#read), R4
25606// (https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also
25607// supports the FHIR standard conditional read interaction (DSTU2
25608// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),
25609// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#cread),
25610// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#cread))
25611// specified by supplying an `If-Modified-Since` header with a date/time
25612// value or an `If-None-Match` header with an ETag value. On success,
25613// the response body contains a JSON-encoded representation of the
25614// resource. Errors generated by the FHIR store contain a JSON-encoded
25615// `OperationOutcome` resource describing the reason for the error. If
25616// the request cannot be mapped to a valid API method on a FHIR store, a
25617// generic GCP error might be returned instead. For samples that show
25618// how to call `read`, see Getting a FHIR resource
25619// (/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).
25620//
25621// - name: The name of the resource to retrieve.
25622func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Read(name string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25623	c := &ProjectsLocationsDatasetsFhirStoresFhirReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25624	c.name = name
25625	return c
25626}
25627
25628// Fields allows partial responses to be retrieved. See
25629// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25630// for more information.
25631func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25632	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25633	return c
25634}
25635
25636// IfNoneMatch sets the optional parameter which makes the operation
25637// fail if the object's ETag matches the given value. This is useful for
25638// getting updates only after the object has changed since the last
25639// request. Use googleapi.IsNotModified to check whether the response
25640// error from Do is the result of In-None-Match.
25641func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25642	c.ifNoneMatch_ = entityTag
25643	return c
25644}
25645
25646// Context sets the context to be used in this call's Do method. Any
25647// pending HTTP request will be aborted if the provided context is
25648// canceled.
25649func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25650	c.ctx_ = ctx
25651	return c
25652}
25653
25654// Header returns an http.Header that can be modified by the caller to
25655// add HTTP headers to the request.
25656func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Header() http.Header {
25657	if c.header_ == nil {
25658		c.header_ = make(http.Header)
25659	}
25660	return c.header_
25661}
25662
25663func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
25664	reqHeaders := make(http.Header)
25665	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25666	for k, v := range c.header_ {
25667		reqHeaders[k] = v
25668	}
25669	reqHeaders.Set("User-Agent", c.s.userAgent())
25670	if c.ifNoneMatch_ != "" {
25671		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25672	}
25673	var body io.Reader = nil
25674	c.urlParams_.Set("alt", alt)
25675	c.urlParams_.Set("prettyPrint", "false")
25676	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25677	urls += "?" + c.urlParams_.Encode()
25678	req, err := http.NewRequest("GET", urls, body)
25679	if err != nil {
25680		return nil, err
25681	}
25682	req.Header = reqHeaders
25683	googleapi.Expand(req.URL, map[string]string{
25684		"name": c.name,
25685	})
25686	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25687}
25688
25689// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.read" call.
25690func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25691	gensupport.SetOptions(c.urlParams_, opts...)
25692	return c.doRequest("")
25693	// {
25694	//   "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).",
25695	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25696	//   "httpMethod": "GET",
25697	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read",
25698	//   "parameterOrder": [
25699	//     "name"
25700	//   ],
25701	//   "parameters": {
25702	//     "name": {
25703	//       "description": "The name of the resource to retrieve.",
25704	//       "location": "path",
25705	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25706	//       "required": true,
25707	//       "type": "string"
25708	//     }
25709	//   },
25710	//   "path": "v1beta1/{+name}",
25711	//   "response": {
25712	//     "$ref": "HttpBody"
25713	//   },
25714	//   "scopes": [
25715	//     "https://www.googleapis.com/auth/cloud-platform"
25716	//   ]
25717	// }
25718
25719}
25720
25721// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search":
25722
25723type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct {
25724	s                      *Service
25725	parent                 string
25726	searchresourcesrequest *SearchResourcesRequest
25727	urlParams_             gensupport.URLParams
25728	ctx_                   context.Context
25729	header_                http.Header
25730}
25731
25732// Search: Searches for resources in the given FHIR store according to
25733// criteria specified as query parameters. Implements the FHIR standard
25734// search interaction (DSTU2
25735// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25736// STU3
25737// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25738// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25739// the search semantics described in the FHIR Search specification
25740// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25741// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25742// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25743// four methods of search defined by the specification: * `GET
25744// [base]?[parameters]` to search across all resources. * `GET
25745// [base]/[type]?[parameters]` to search resources of a specified type.
25746// * `POST [base]/_search?[parameters]` as an alternate form having the
25747// same semantics as the `GET` method across all resources. * `POST
25748// [base]/[type]/_search?[parameters]` as an alternate form having the
25749// same semantics as the `GET` method for the specified type. The `GET`
25750// and `POST` methods do not support compartment searches. The `POST`
25751// method does not support `application/x-www-form-urlencoded` search
25752// parameters. On success, the response body contains a JSON-encoded
25753// representation of a `Bundle` resource of type `searchset`, containing
25754// the results of the search. Errors generated by the FHIR store contain
25755// a JSON-encoded `OperationOutcome` resource describing the reason for
25756// the error. If the request cannot be mapped to a valid API method on a
25757// FHIR store, a generic GCP error might be returned instead. The
25758// server's capability statement, retrieved through capabilities,
25759// indicates what search parameters are supported on each FHIR resource.
25760// A list of all search parameters defined by the specification can be
25761// found in the FHIR Search Parameter Registry (STU3
25762// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25763// R4
25764// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25765// FHIR search parameters for DSTU2 can be found on each resource's
25766// definition page. Supported search modifiers: `:missing`, `:exact`,
25767// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25768// `:[type]`, `:not`, and `:recurse`. Supported search result
25769// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25770// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25771// of search results returned defaults to 100, which can be overridden
25772// by the `_count` parameter up to a maximum limit of 1000. If there are
25773// additional results, the returned `Bundle` contains pagination links.
25774// Resources with a total size larger than 5MB or a field count larger
25775// than 50,000 might not be fully searchable as the server might trim
25776// its generated search index in those cases. Note: FHIR resources are
25777// indexed asynchronously, so there might be a slight delay between the
25778// time a resource is created or changes and when the change is
25779// reflected in search results. For samples and detailed information,
25780// see Searching for FHIR resources
25781// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25782// features (/healthcare/docs/how-tos/fhir-advanced-search).
25783//
25784// - parent: Name of the FHIR store to retrieve resources from.
25785func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Search(parent string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25786	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25787	c.parent = parent
25788	c.searchresourcesrequest = searchresourcesrequest
25789	return c
25790}
25791
25792// Fields allows partial responses to be retrieved. See
25793// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25794// for more information.
25795func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25796	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25797	return c
25798}
25799
25800// Context sets the context to be used in this call's Do method. Any
25801// pending HTTP request will be aborted if the provided context is
25802// canceled.
25803func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25804	c.ctx_ = ctx
25805	return c
25806}
25807
25808// Header returns an http.Header that can be modified by the caller to
25809// add HTTP headers to the request.
25810func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Header() http.Header {
25811	if c.header_ == nil {
25812		c.header_ = make(http.Header)
25813	}
25814	return c.header_
25815}
25816
25817func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
25818	reqHeaders := make(http.Header)
25819	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25820	for k, v := range c.header_ {
25821		reqHeaders[k] = v
25822	}
25823	reqHeaders.Set("User-Agent", c.s.userAgent())
25824	var body io.Reader = nil
25825	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25826	if err != nil {
25827		return nil, err
25828	}
25829	reqHeaders.Set("Content-Type", "application/json")
25830	c.urlParams_.Set("alt", alt)
25831	c.urlParams_.Set("prettyPrint", "false")
25832	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/_search")
25833	urls += "?" + c.urlParams_.Encode()
25834	req, err := http.NewRequest("POST", urls, body)
25835	if err != nil {
25836		return nil, err
25837	}
25838	req.Header = reqHeaders
25839	googleapi.Expand(req.URL, map[string]string{
25840		"parent": c.parent,
25841	})
25842	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25843}
25844
25845// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search" call.
25846func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25847	gensupport.SetOptions(c.urlParams_, opts...)
25848	return c.doRequest("")
25849	// {
25850	//   "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).",
25851	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
25852	//   "httpMethod": "POST",
25853	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
25854	//   "parameterOrder": [
25855	//     "parent"
25856	//   ],
25857	//   "parameters": {
25858	//     "parent": {
25859	//       "description": "Name of the FHIR store to retrieve resources from.",
25860	//       "location": "path",
25861	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25862	//       "required": true,
25863	//       "type": "string"
25864	//     }
25865	//   },
25866	//   "path": "v1beta1/{+parent}/fhir/_search",
25867	//   "request": {
25868	//     "$ref": "SearchResourcesRequest"
25869	//   },
25870	//   "response": {
25871	//     "$ref": "HttpBody"
25872	//   },
25873	//   "scopes": [
25874	//     "https://www.googleapis.com/auth/cloud-platform"
25875	//   ]
25876	// }
25877
25878}
25879
25880// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search-type":
25881
25882type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct {
25883	s                      *Service
25884	parent                 string
25885	resourceType           string
25886	searchresourcesrequest *SearchResourcesRequest
25887	urlParams_             gensupport.URLParams
25888	ctx_                   context.Context
25889	header_                http.Header
25890}
25891
25892// SearchType: Searches for resources in the given FHIR store according
25893// to criteria specified as query parameters. Implements the FHIR
25894// standard search interaction (DSTU2
25895// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25896// STU3
25897// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25898// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25899// the search semantics described in the FHIR Search specification
25900// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25901// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25902// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25903// four methods of search defined by the specification: * `GET
25904// [base]?[parameters]` to search across all resources. * `GET
25905// [base]/[type]?[parameters]` to search resources of a specified type.
25906// * `POST [base]/_search?[parameters]` as an alternate form having the
25907// same semantics as the `GET` method across all resources. * `POST
25908// [base]/[type]/_search?[parameters]` as an alternate form having the
25909// same semantics as the `GET` method for the specified type. The `GET`
25910// and `POST` methods do not support compartment searches. The `POST`
25911// method does not support `application/x-www-form-urlencoded` search
25912// parameters. On success, the response body contains a JSON-encoded
25913// representation of a `Bundle` resource of type `searchset`, containing
25914// the results of the search. Errors generated by the FHIR store contain
25915// a JSON-encoded `OperationOutcome` resource describing the reason for
25916// the error. If the request cannot be mapped to a valid API method on a
25917// FHIR store, a generic GCP error might be returned instead. The
25918// server's capability statement, retrieved through capabilities,
25919// indicates what search parameters are supported on each FHIR resource.
25920// A list of all search parameters defined by the specification can be
25921// found in the FHIR Search Parameter Registry (STU3
25922// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25923// R4
25924// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25925// FHIR search parameters for DSTU2 can be found on each resource's
25926// definition page. Supported search modifiers: `:missing`, `:exact`,
25927// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25928// `:[type]`, `:not`, and `:recurse`. Supported search result
25929// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25930// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25931// of search results returned defaults to 100, which can be overridden
25932// by the `_count` parameter up to a maximum limit of 1000. If there are
25933// additional results, the returned `Bundle` contains pagination links.
25934// Resources with a total size larger than 5MB or a field count larger
25935// than 50,000 might not be fully searchable as the server might trim
25936// its generated search index in those cases. Note: FHIR resources are
25937// indexed asynchronously, so there might be a slight delay between the
25938// time a resource is created or changes and when the change is
25939// reflected in search results. For samples and detailed information,
25940// see Searching for FHIR resources
25941// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25942// features (/healthcare/docs/how-tos/fhir-advanced-search).
25943//
25944// - parent: Name of the FHIR store to retrieve resources from.
25945// - resourceType: The FHIR resource type to search, such as Patient or
25946//   Observation. For a complete list, see the FHIR Resource Index
25947//   (DSTU2
25948//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
25949//   STU3
25950//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
25951//   R4
25952//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
25953func (r *ProjectsLocationsDatasetsFhirStoresFhirService) SearchType(parent string, resourceType string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25954	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25955	c.parent = parent
25956	c.resourceType = resourceType
25957	c.searchresourcesrequest = searchresourcesrequest
25958	return c
25959}
25960
25961// Fields allows partial responses to be retrieved. See
25962// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25963// for more information.
25964func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25965	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25966	return c
25967}
25968
25969// Context sets the context to be used in this call's Do method. Any
25970// pending HTTP request will be aborted if the provided context is
25971// canceled.
25972func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25973	c.ctx_ = ctx
25974	return c
25975}
25976
25977// Header returns an http.Header that can be modified by the caller to
25978// add HTTP headers to the request.
25979func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Header() http.Header {
25980	if c.header_ == nil {
25981		c.header_ = make(http.Header)
25982	}
25983	return c.header_
25984}
25985
25986func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) doRequest(alt string) (*http.Response, error) {
25987	reqHeaders := make(http.Header)
25988	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
25989	for k, v := range c.header_ {
25990		reqHeaders[k] = v
25991	}
25992	reqHeaders.Set("User-Agent", c.s.userAgent())
25993	var body io.Reader = nil
25994	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25995	if err != nil {
25996		return nil, err
25997	}
25998	reqHeaders.Set("Content-Type", "application/json")
25999	c.urlParams_.Set("alt", alt)
26000	c.urlParams_.Set("prettyPrint", "false")
26001	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{resourceType}/_search")
26002	urls += "?" + c.urlParams_.Encode()
26003	req, err := http.NewRequest("POST", urls, body)
26004	if err != nil {
26005		return nil, err
26006	}
26007	req.Header = reqHeaders
26008	googleapi.Expand(req.URL, map[string]string{
26009		"parent":       c.parent,
26010		"resourceType": c.resourceType,
26011	})
26012	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26013}
26014
26015// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search-type" call.
26016func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26017	gensupport.SetOptions(c.urlParams_, opts...)
26018	return c.doRequest("")
26019	// {
26020	//   "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).",
26021	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
26022	//   "httpMethod": "POST",
26023	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
26024	//   "parameterOrder": [
26025	//     "parent",
26026	//     "resourceType"
26027	//   ],
26028	//   "parameters": {
26029	//     "parent": {
26030	//       "description": "Name of the FHIR store to retrieve resources from.",
26031	//       "location": "path",
26032	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
26033	//       "required": true,
26034	//       "type": "string"
26035	//     },
26036	//     "resourceType": {
26037	//       "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)).",
26038	//       "location": "path",
26039	//       "required": true,
26040	//       "type": "string"
26041	//     }
26042	//   },
26043	//   "path": "v1beta1/{+parent}/fhir/{resourceType}/_search",
26044	//   "request": {
26045	//     "$ref": "SearchResourcesRequest"
26046	//   },
26047	//   "response": {
26048	//     "$ref": "HttpBody"
26049	//   },
26050	//   "scopes": [
26051	//     "https://www.googleapis.com/auth/cloud-platform"
26052	//   ]
26053	// }
26054
26055}
26056
26057// method id "healthcare.projects.locations.datasets.fhirStores.fhir.update":
26058
26059type ProjectsLocationsDatasetsFhirStoresFhirUpdateCall struct {
26060	s          *Service
26061	name       string
26062	body_      io.Reader
26063	urlParams_ gensupport.URLParams
26064	ctx_       context.Context
26065	header_    http.Header
26066}
26067
26068// Update: Updates the entire contents of a resource. Implements the
26069// FHIR standard update interaction (DSTU2
26070// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#update),
26071// STU3
26072// (https://hl7.org/implement/standards/fhir/STU3/http.html#update), R4
26073// (https://hl7.org/implement/standards/fhir/R4/http.html#update)). If
26074// the specified resource does not exist and the FHIR store has
26075// enable_update_create set, creates the resource with the
26076// client-specified ID. It is strongly advised not to include or encode
26077// any sensitive data such as patient identifiers in client-specified
26078// resource IDs. Those IDs are part of the FHIR resource path recorded
26079// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
26080// contained in reference fields within other resources. The request
26081// body must contain a JSON-encoded FHIR resource, and the request
26082// headers must contain `Content-Type: application/fhir+json`. The
26083// resource must contain an `id` element having an identical value to
26084// the ID in the REST path of the request. On success, the response body
26085// contains a JSON-encoded representation of the updated resource,
26086// including the server-assigned version ID. Errors generated by the
26087// FHIR store contain a JSON-encoded `OperationOutcome` resource
26088// describing the reason for the error. If the request cannot be mapped
26089// to a valid API method on a FHIR store, a generic GCP error might be
26090// returned instead. For samples that show how to call `update`, see
26091// Updating a FHIR resource
26092// (/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).
26093//
26094// - name: The name of the resource to update.
26095func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Update(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26096	c := &ProjectsLocationsDatasetsFhirStoresFhirUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26097	c.name = name
26098	c.body_ = body_
26099	return c
26100}
26101
26102// Fields allows partial responses to be retrieved. See
26103// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26104// for more information.
26105func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26106	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26107	return c
26108}
26109
26110// Context sets the context to be used in this call's Do method. Any
26111// pending HTTP request will be aborted if the provided context is
26112// canceled.
26113func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26114	c.ctx_ = ctx
26115	return c
26116}
26117
26118// Header returns an http.Header that can be modified by the caller to
26119// add HTTP headers to the request.
26120func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Header() http.Header {
26121	if c.header_ == nil {
26122		c.header_ = make(http.Header)
26123	}
26124	return c.header_
26125}
26126
26127func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
26128	reqHeaders := make(http.Header)
26129	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26130	for k, v := range c.header_ {
26131		reqHeaders[k] = v
26132	}
26133	reqHeaders.Set("User-Agent", c.s.userAgent())
26134	var body io.Reader = nil
26135	body = c.body_
26136	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26137	urls += "?" + c.urlParams_.Encode()
26138	req, err := http.NewRequest("PUT", urls, body)
26139	if err != nil {
26140		return nil, err
26141	}
26142	req.Header = reqHeaders
26143	googleapi.Expand(req.URL, map[string]string{
26144		"name": c.name,
26145	})
26146	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26147}
26148
26149// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.update" call.
26150func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26151	gensupport.SetOptions(c.urlParams_, opts...)
26152	return c.doRequest("")
26153	// {
26154	//   "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 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).",
26155	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
26156	//   "httpMethod": "PUT",
26157	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update",
26158	//   "parameterOrder": [
26159	//     "name"
26160	//   ],
26161	//   "parameters": {
26162	//     "name": {
26163	//       "description": "The name of the resource to update.",
26164	//       "location": "path",
26165	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
26166	//       "required": true,
26167	//       "type": "string"
26168	//     }
26169	//   },
26170	//   "path": "v1beta1/{+name}",
26171	//   "request": {
26172	//     "$ref": "HttpBody"
26173	//   },
26174	//   "response": {
26175	//     "$ref": "HttpBody"
26176	//   },
26177	//   "scopes": [
26178	//     "https://www.googleapis.com/auth/cloud-platform"
26179	//   ]
26180	// }
26181
26182}
26183
26184// method id "healthcare.projects.locations.datasets.fhirStores.fhir.vread":
26185
26186type ProjectsLocationsDatasetsFhirStoresFhirVreadCall struct {
26187	s            *Service
26188	name         string
26189	urlParams_   gensupport.URLParams
26190	ifNoneMatch_ string
26191	ctx_         context.Context
26192	header_      http.Header
26193}
26194
26195// Vread: Gets the contents of a version (current or historical) of a
26196// FHIR resource by version ID. Implements the FHIR standard vread
26197// interaction (DSTU2
26198// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),
26199// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#vread),
26200// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On
26201// success, the response body contains a JSON-encoded representation of
26202// the resource. Errors generated by the FHIR store contain a
26203// JSON-encoded `OperationOutcome` resource describing the reason for
26204// the error. If the request cannot be mapped to a valid API method on a
26205// FHIR store, a generic GCP error might be returned instead. For
26206// samples that show how to call `vread`, see Retrieving a FHIR resource
26207// version
26208// (/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_ve
26209// rsion).
26210//
26211// - name: The name of the resource version to retrieve.
26212func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Vread(name string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26213	c := &ProjectsLocationsDatasetsFhirStoresFhirVreadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26214	c.name = name
26215	return c
26216}
26217
26218// Fields allows partial responses to be retrieved. See
26219// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26220// for more information.
26221func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26222	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26223	return c
26224}
26225
26226// IfNoneMatch sets the optional parameter which makes the operation
26227// fail if the object's ETag matches the given value. This is useful for
26228// getting updates only after the object has changed since the last
26229// request. Use googleapi.IsNotModified to check whether the response
26230// error from Do is the result of In-None-Match.
26231func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26232	c.ifNoneMatch_ = entityTag
26233	return c
26234}
26235
26236// Context sets the context to be used in this call's Do method. Any
26237// pending HTTP request will be aborted if the provided context is
26238// canceled.
26239func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26240	c.ctx_ = ctx
26241	return c
26242}
26243
26244// Header returns an http.Header that can be modified by the caller to
26245// add HTTP headers to the request.
26246func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Header() http.Header {
26247	if c.header_ == nil {
26248		c.header_ = make(http.Header)
26249	}
26250	return c.header_
26251}
26252
26253func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
26254	reqHeaders := make(http.Header)
26255	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26256	for k, v := range c.header_ {
26257		reqHeaders[k] = v
26258	}
26259	reqHeaders.Set("User-Agent", c.s.userAgent())
26260	if c.ifNoneMatch_ != "" {
26261		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26262	}
26263	var body io.Reader = nil
26264	c.urlParams_.Set("alt", alt)
26265	c.urlParams_.Set("prettyPrint", "false")
26266	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26267	urls += "?" + c.urlParams_.Encode()
26268	req, err := http.NewRequest("GET", urls, body)
26269	if err != nil {
26270		return nil, err
26271	}
26272	req.Header = reqHeaders
26273	googleapi.Expand(req.URL, map[string]string{
26274		"name": c.name,
26275	})
26276	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26277}
26278
26279// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.vread" call.
26280func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26281	gensupport.SetOptions(c.urlParams_, opts...)
26282	return c.doRequest("")
26283	// {
26284	//   "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).",
26285	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}",
26286	//   "httpMethod": "GET",
26287	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread",
26288	//   "parameterOrder": [
26289	//     "name"
26290	//   ],
26291	//   "parameters": {
26292	//     "name": {
26293	//       "description": "The name of the resource version to retrieve.",
26294	//       "location": "path",
26295	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$",
26296	//       "required": true,
26297	//       "type": "string"
26298	//     }
26299	//   },
26300	//   "path": "v1beta1/{+name}",
26301	//   "response": {
26302	//     "$ref": "HttpBody"
26303	//   },
26304	//   "scopes": [
26305	//     "https://www.googleapis.com/auth/cloud-platform"
26306	//   ]
26307	// }
26308
26309}
26310
26311// method id "healthcare.projects.locations.datasets.hl7V2Stores.create":
26312
26313type ProjectsLocationsDatasetsHl7V2StoresCreateCall struct {
26314	s          *Service
26315	parent     string
26316	hl7v2store *Hl7V2Store
26317	urlParams_ gensupport.URLParams
26318	ctx_       context.Context
26319	header_    http.Header
26320}
26321
26322// Create: Creates a new HL7v2 store within the parent dataset.
26323//
26324// - parent: The name of the dataset this HL7v2 store belongs to.
26325func (r *ProjectsLocationsDatasetsHl7V2StoresService) Create(parent string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26326	c := &ProjectsLocationsDatasetsHl7V2StoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26327	c.parent = parent
26328	c.hl7v2store = hl7v2store
26329	return c
26330}
26331
26332// Hl7V2StoreId sets the optional parameter "hl7V2StoreId": The ID of
26333// the HL7v2 store that is being created. The string must match the
26334// following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
26335func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Hl7V2StoreId(hl7V2StoreId string) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26336	c.urlParams_.Set("hl7V2StoreId", hl7V2StoreId)
26337	return c
26338}
26339
26340// Fields allows partial responses to be retrieved. See
26341// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26342// for more information.
26343func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26344	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26345	return c
26346}
26347
26348// Context sets the context to be used in this call's Do method. Any
26349// pending HTTP request will be aborted if the provided context is
26350// canceled.
26351func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26352	c.ctx_ = ctx
26353	return c
26354}
26355
26356// Header returns an http.Header that can be modified by the caller to
26357// add HTTP headers to the request.
26358func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Header() http.Header {
26359	if c.header_ == nil {
26360		c.header_ = make(http.Header)
26361	}
26362	return c.header_
26363}
26364
26365func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
26366	reqHeaders := make(http.Header)
26367	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26368	for k, v := range c.header_ {
26369		reqHeaders[k] = v
26370	}
26371	reqHeaders.Set("User-Agent", c.s.userAgent())
26372	var body io.Reader = nil
26373	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
26374	if err != nil {
26375		return nil, err
26376	}
26377	reqHeaders.Set("Content-Type", "application/json")
26378	c.urlParams_.Set("alt", alt)
26379	c.urlParams_.Set("prettyPrint", "false")
26380	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
26381	urls += "?" + c.urlParams_.Encode()
26382	req, err := http.NewRequest("POST", urls, body)
26383	if err != nil {
26384		return nil, err
26385	}
26386	req.Header = reqHeaders
26387	googleapi.Expand(req.URL, map[string]string{
26388		"parent": c.parent,
26389	})
26390	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26391}
26392
26393// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.create" call.
26394// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26395// status code is an error. Response headers are in either
26396// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26397// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26398// to check whether the returned error was because
26399// http.StatusNotModified was returned.
26400func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26401	gensupport.SetOptions(c.urlParams_, opts...)
26402	res, err := c.doRequest("json")
26403	if res != nil && res.StatusCode == http.StatusNotModified {
26404		if res.Body != nil {
26405			res.Body.Close()
26406		}
26407		return nil, &googleapi.Error{
26408			Code:   res.StatusCode,
26409			Header: res.Header,
26410		}
26411	}
26412	if err != nil {
26413		return nil, err
26414	}
26415	defer googleapi.CloseBody(res)
26416	if err := googleapi.CheckResponse(res); err != nil {
26417		return nil, err
26418	}
26419	ret := &Hl7V2Store{
26420		ServerResponse: googleapi.ServerResponse{
26421			Header:         res.Header,
26422			HTTPStatusCode: res.StatusCode,
26423		},
26424	}
26425	target := &ret
26426	if err := gensupport.DecodeResponse(target, res); err != nil {
26427		return nil, err
26428	}
26429	return ret, nil
26430	// {
26431	//   "description": "Creates a new HL7v2 store within the parent dataset.",
26432	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
26433	//   "httpMethod": "POST",
26434	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.create",
26435	//   "parameterOrder": [
26436	//     "parent"
26437	//   ],
26438	//   "parameters": {
26439	//     "hl7V2StoreId": {
26440	//       "description": "The ID of the HL7v2 store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
26441	//       "location": "query",
26442	//       "type": "string"
26443	//     },
26444	//     "parent": {
26445	//       "description": "The name of the dataset this HL7v2 store belongs to.",
26446	//       "location": "path",
26447	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
26448	//       "required": true,
26449	//       "type": "string"
26450	//     }
26451	//   },
26452	//   "path": "v1beta1/{+parent}/hl7V2Stores",
26453	//   "request": {
26454	//     "$ref": "Hl7V2Store"
26455	//   },
26456	//   "response": {
26457	//     "$ref": "Hl7V2Store"
26458	//   },
26459	//   "scopes": [
26460	//     "https://www.googleapis.com/auth/cloud-platform"
26461	//   ]
26462	// }
26463
26464}
26465
26466// method id "healthcare.projects.locations.datasets.hl7V2Stores.delete":
26467
26468type ProjectsLocationsDatasetsHl7V2StoresDeleteCall struct {
26469	s          *Service
26470	name       string
26471	urlParams_ gensupport.URLParams
26472	ctx_       context.Context
26473	header_    http.Header
26474}
26475
26476// Delete: Deletes the specified HL7v2 store and removes all messages
26477// that it contains.
26478//
26479// - name: The resource name of the HL7v2 store to delete.
26480func (r *ProjectsLocationsDatasetsHl7V2StoresService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26481	c := &ProjectsLocationsDatasetsHl7V2StoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26482	c.name = name
26483	return c
26484}
26485
26486// Fields allows partial responses to be retrieved. See
26487// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26488// for more information.
26489func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26490	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26491	return c
26492}
26493
26494// Context sets the context to be used in this call's Do method. Any
26495// pending HTTP request will be aborted if the provided context is
26496// canceled.
26497func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26498	c.ctx_ = ctx
26499	return c
26500}
26501
26502// Header returns an http.Header that can be modified by the caller to
26503// add HTTP headers to the request.
26504func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Header() http.Header {
26505	if c.header_ == nil {
26506		c.header_ = make(http.Header)
26507	}
26508	return c.header_
26509}
26510
26511func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
26512	reqHeaders := make(http.Header)
26513	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26514	for k, v := range c.header_ {
26515		reqHeaders[k] = v
26516	}
26517	reqHeaders.Set("User-Agent", c.s.userAgent())
26518	var body io.Reader = nil
26519	c.urlParams_.Set("alt", alt)
26520	c.urlParams_.Set("prettyPrint", "false")
26521	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26522	urls += "?" + c.urlParams_.Encode()
26523	req, err := http.NewRequest("DELETE", urls, body)
26524	if err != nil {
26525		return nil, err
26526	}
26527	req.Header = reqHeaders
26528	googleapi.Expand(req.URL, map[string]string{
26529		"name": c.name,
26530	})
26531	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26532}
26533
26534// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.delete" call.
26535// Exactly one of *Empty or error will be non-nil. Any non-2xx status
26536// code is an error. Response headers are in either
26537// *Empty.ServerResponse.Header or (if a response was returned at all)
26538// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
26539// check whether the returned error was because http.StatusNotModified
26540// was returned.
26541func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
26542	gensupport.SetOptions(c.urlParams_, opts...)
26543	res, err := c.doRequest("json")
26544	if res != nil && res.StatusCode == http.StatusNotModified {
26545		if res.Body != nil {
26546			res.Body.Close()
26547		}
26548		return nil, &googleapi.Error{
26549			Code:   res.StatusCode,
26550			Header: res.Header,
26551		}
26552	}
26553	if err != nil {
26554		return nil, err
26555	}
26556	defer googleapi.CloseBody(res)
26557	if err := googleapi.CheckResponse(res); err != nil {
26558		return nil, err
26559	}
26560	ret := &Empty{
26561		ServerResponse: googleapi.ServerResponse{
26562			Header:         res.Header,
26563			HTTPStatusCode: res.StatusCode,
26564		},
26565	}
26566	target := &ret
26567	if err := gensupport.DecodeResponse(target, res); err != nil {
26568		return nil, err
26569	}
26570	return ret, nil
26571	// {
26572	//   "description": "Deletes the specified HL7v2 store and removes all messages that it contains.",
26573	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26574	//   "httpMethod": "DELETE",
26575	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete",
26576	//   "parameterOrder": [
26577	//     "name"
26578	//   ],
26579	//   "parameters": {
26580	//     "name": {
26581	//       "description": "The resource name of the HL7v2 store to delete.",
26582	//       "location": "path",
26583	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26584	//       "required": true,
26585	//       "type": "string"
26586	//     }
26587	//   },
26588	//   "path": "v1beta1/{+name}",
26589	//   "response": {
26590	//     "$ref": "Empty"
26591	//   },
26592	//   "scopes": [
26593	//     "https://www.googleapis.com/auth/cloud-platform"
26594	//   ]
26595	// }
26596
26597}
26598
26599// method id "healthcare.projects.locations.datasets.hl7V2Stores.export":
26600
26601type ProjectsLocationsDatasetsHl7V2StoresExportCall struct {
26602	s                     *Service
26603	name                  string
26604	exportmessagesrequest *ExportMessagesRequest
26605	urlParams_            gensupport.URLParams
26606	ctx_                  context.Context
26607	header_               http.Header
26608}
26609
26610// Export: Exports the messages to a destination. To filter messages to
26611// be exported, define a filter using the start and end time, relative
26612// to the message generation time (MSH.7). This API returns an Operation
26613// that can be used to track the status of the job by calling
26614// GetOperation. Immediate fatal errors appear in the error field.
26615// Otherwise, when the operation finishes, a detailed response of type
26616// ExportMessagesResponse is returned in the response field. The
26617// metadata field type for this operation is OperationMetadata.
26618//
26619// - name: The name of the source HL7v2 store, in the format
26620//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
26621//   /hl7v2Stores/{hl7v2_store_id}`.
26622func (r *ProjectsLocationsDatasetsHl7V2StoresService) Export(name string, exportmessagesrequest *ExportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26623	c := &ProjectsLocationsDatasetsHl7V2StoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26624	c.name = name
26625	c.exportmessagesrequest = exportmessagesrequest
26626	return c
26627}
26628
26629// Fields allows partial responses to be retrieved. See
26630// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26631// for more information.
26632func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26633	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26634	return c
26635}
26636
26637// Context sets the context to be used in this call's Do method. Any
26638// pending HTTP request will be aborted if the provided context is
26639// canceled.
26640func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26641	c.ctx_ = ctx
26642	return c
26643}
26644
26645// Header returns an http.Header that can be modified by the caller to
26646// add HTTP headers to the request.
26647func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Header() http.Header {
26648	if c.header_ == nil {
26649		c.header_ = make(http.Header)
26650	}
26651	return c.header_
26652}
26653
26654func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) doRequest(alt string) (*http.Response, error) {
26655	reqHeaders := make(http.Header)
26656	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26657	for k, v := range c.header_ {
26658		reqHeaders[k] = v
26659	}
26660	reqHeaders.Set("User-Agent", c.s.userAgent())
26661	var body io.Reader = nil
26662	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportmessagesrequest)
26663	if err != nil {
26664		return nil, err
26665	}
26666	reqHeaders.Set("Content-Type", "application/json")
26667	c.urlParams_.Set("alt", alt)
26668	c.urlParams_.Set("prettyPrint", "false")
26669	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
26670	urls += "?" + c.urlParams_.Encode()
26671	req, err := http.NewRequest("POST", urls, body)
26672	if err != nil {
26673		return nil, err
26674	}
26675	req.Header = reqHeaders
26676	googleapi.Expand(req.URL, map[string]string{
26677		"name": c.name,
26678	})
26679	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26680}
26681
26682// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.export" call.
26683// Exactly one of *Operation or error will be non-nil. Any non-2xx
26684// status code is an error. Response headers are in either
26685// *Operation.ServerResponse.Header or (if a response was returned at
26686// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26687// to check whether the returned error was because
26688// http.StatusNotModified was returned.
26689func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
26690	gensupport.SetOptions(c.urlParams_, opts...)
26691	res, err := c.doRequest("json")
26692	if res != nil && res.StatusCode == http.StatusNotModified {
26693		if res.Body != nil {
26694			res.Body.Close()
26695		}
26696		return nil, &googleapi.Error{
26697			Code:   res.StatusCode,
26698			Header: res.Header,
26699		}
26700	}
26701	if err != nil {
26702		return nil, err
26703	}
26704	defer googleapi.CloseBody(res)
26705	if err := googleapi.CheckResponse(res); err != nil {
26706		return nil, err
26707	}
26708	ret := &Operation{
26709		ServerResponse: googleapi.ServerResponse{
26710			Header:         res.Header,
26711			HTTPStatusCode: res.StatusCode,
26712		},
26713	}
26714	target := &ret
26715	if err := gensupport.DecodeResponse(target, res); err != nil {
26716		return nil, err
26717	}
26718	return ret, nil
26719	// {
26720	//   "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.",
26721	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export",
26722	//   "httpMethod": "POST",
26723	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.export",
26724	//   "parameterOrder": [
26725	//     "name"
26726	//   ],
26727	//   "parameters": {
26728	//     "name": {
26729	//       "description": "The name of the source HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
26730	//       "location": "path",
26731	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26732	//       "required": true,
26733	//       "type": "string"
26734	//     }
26735	//   },
26736	//   "path": "v1beta1/{+name}:export",
26737	//   "request": {
26738	//     "$ref": "ExportMessagesRequest"
26739	//   },
26740	//   "response": {
26741	//     "$ref": "Operation"
26742	//   },
26743	//   "scopes": [
26744	//     "https://www.googleapis.com/auth/cloud-platform"
26745	//   ]
26746	// }
26747
26748}
26749
26750// method id "healthcare.projects.locations.datasets.hl7V2Stores.get":
26751
26752type ProjectsLocationsDatasetsHl7V2StoresGetCall struct {
26753	s            *Service
26754	name         string
26755	urlParams_   gensupport.URLParams
26756	ifNoneMatch_ string
26757	ctx_         context.Context
26758	header_      http.Header
26759}
26760
26761// Get: Gets the specified HL7v2 store.
26762//
26763// - name: The resource name of the HL7v2 store to get.
26764func (r *ProjectsLocationsDatasetsHl7V2StoresService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26765	c := &ProjectsLocationsDatasetsHl7V2StoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26766	c.name = name
26767	return c
26768}
26769
26770// Fields allows partial responses to be retrieved. See
26771// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26772// for more information.
26773func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26774	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26775	return c
26776}
26777
26778// IfNoneMatch sets the optional parameter which makes the operation
26779// fail if the object's ETag matches the given value. This is useful for
26780// getting updates only after the object has changed since the last
26781// request. Use googleapi.IsNotModified to check whether the response
26782// error from Do is the result of In-None-Match.
26783func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26784	c.ifNoneMatch_ = entityTag
26785	return c
26786}
26787
26788// Context sets the context to be used in this call's Do method. Any
26789// pending HTTP request will be aborted if the provided context is
26790// canceled.
26791func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26792	c.ctx_ = ctx
26793	return c
26794}
26795
26796// Header returns an http.Header that can be modified by the caller to
26797// add HTTP headers to the request.
26798func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Header() http.Header {
26799	if c.header_ == nil {
26800		c.header_ = make(http.Header)
26801	}
26802	return c.header_
26803}
26804
26805func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
26806	reqHeaders := make(http.Header)
26807	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26808	for k, v := range c.header_ {
26809		reqHeaders[k] = v
26810	}
26811	reqHeaders.Set("User-Agent", c.s.userAgent())
26812	if c.ifNoneMatch_ != "" {
26813		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26814	}
26815	var body io.Reader = nil
26816	c.urlParams_.Set("alt", alt)
26817	c.urlParams_.Set("prettyPrint", "false")
26818	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26819	urls += "?" + c.urlParams_.Encode()
26820	req, err := http.NewRequest("GET", urls, body)
26821	if err != nil {
26822		return nil, err
26823	}
26824	req.Header = reqHeaders
26825	googleapi.Expand(req.URL, map[string]string{
26826		"name": c.name,
26827	})
26828	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26829}
26830
26831// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.get" call.
26832// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26833// status code is an error. Response headers are in either
26834// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26835// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26836// to check whether the returned error was because
26837// http.StatusNotModified was returned.
26838func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26839	gensupport.SetOptions(c.urlParams_, opts...)
26840	res, err := c.doRequest("json")
26841	if res != nil && res.StatusCode == http.StatusNotModified {
26842		if res.Body != nil {
26843			res.Body.Close()
26844		}
26845		return nil, &googleapi.Error{
26846			Code:   res.StatusCode,
26847			Header: res.Header,
26848		}
26849	}
26850	if err != nil {
26851		return nil, err
26852	}
26853	defer googleapi.CloseBody(res)
26854	if err := googleapi.CheckResponse(res); err != nil {
26855		return nil, err
26856	}
26857	ret := &Hl7V2Store{
26858		ServerResponse: googleapi.ServerResponse{
26859			Header:         res.Header,
26860			HTTPStatusCode: res.StatusCode,
26861		},
26862	}
26863	target := &ret
26864	if err := gensupport.DecodeResponse(target, res); err != nil {
26865		return nil, err
26866	}
26867	return ret, nil
26868	// {
26869	//   "description": "Gets the specified HL7v2 store.",
26870	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26871	//   "httpMethod": "GET",
26872	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.get",
26873	//   "parameterOrder": [
26874	//     "name"
26875	//   ],
26876	//   "parameters": {
26877	//     "name": {
26878	//       "description": "The resource name of the HL7v2 store to get.",
26879	//       "location": "path",
26880	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26881	//       "required": true,
26882	//       "type": "string"
26883	//     }
26884	//   },
26885	//   "path": "v1beta1/{+name}",
26886	//   "response": {
26887	//     "$ref": "Hl7V2Store"
26888	//   },
26889	//   "scopes": [
26890	//     "https://www.googleapis.com/auth/cloud-platform"
26891	//   ]
26892	// }
26893
26894}
26895
26896// method id "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy":
26897
26898type ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall struct {
26899	s            *Service
26900	resource     string
26901	urlParams_   gensupport.URLParams
26902	ifNoneMatch_ string
26903	ctx_         context.Context
26904	header_      http.Header
26905}
26906
26907// GetIamPolicy: Gets the access control policy for a resource. Returns
26908// an empty policy if the resource exists and does not have a policy
26909// set.
26910//
26911// - resource: REQUIRED: The resource for which the policy is being
26912//   requested. See the operation documentation for the appropriate
26913//   value for this field.
26914func (r *ProjectsLocationsDatasetsHl7V2StoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26915	c := &ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26916	c.resource = resource
26917	return c
26918}
26919
26920// OptionsRequestedPolicyVersion sets the optional parameter
26921// "options.requestedPolicyVersion": The policy format version to be
26922// returned. Valid values are 0, 1, and 3. Requests specifying an
26923// invalid value will be rejected. Requests for policies with any
26924// conditional bindings must specify version 3. Policies without any
26925// conditional bindings may specify any valid value or leave the field
26926// unset. To learn which resources support conditions in their IAM
26927// policies, see the IAM documentation
26928// (https://cloud.google.com/iam/help/conditions/resource-policies).
26929func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26930	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
26931	return c
26932}
26933
26934// Fields allows partial responses to be retrieved. See
26935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26936// for more information.
26937func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26939	return c
26940}
26941
26942// IfNoneMatch sets the optional parameter which makes the operation
26943// fail if the object's ETag matches the given value. This is useful for
26944// getting updates only after the object has changed since the last
26945// request. Use googleapi.IsNotModified to check whether the response
26946// error from Do is the result of In-None-Match.
26947func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26948	c.ifNoneMatch_ = entityTag
26949	return c
26950}
26951
26952// Context sets the context to be used in this call's Do method. Any
26953// pending HTTP request will be aborted if the provided context is
26954// canceled.
26955func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26956	c.ctx_ = ctx
26957	return c
26958}
26959
26960// Header returns an http.Header that can be modified by the caller to
26961// add HTTP headers to the request.
26962func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Header() http.Header {
26963	if c.header_ == nil {
26964		c.header_ = make(http.Header)
26965	}
26966	return c.header_
26967}
26968
26969func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
26970	reqHeaders := make(http.Header)
26971	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
26972	for k, v := range c.header_ {
26973		reqHeaders[k] = v
26974	}
26975	reqHeaders.Set("User-Agent", c.s.userAgent())
26976	if c.ifNoneMatch_ != "" {
26977		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26978	}
26979	var body io.Reader = nil
26980	c.urlParams_.Set("alt", alt)
26981	c.urlParams_.Set("prettyPrint", "false")
26982	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
26983	urls += "?" + c.urlParams_.Encode()
26984	req, err := http.NewRequest("GET", urls, body)
26985	if err != nil {
26986		return nil, err
26987	}
26988	req.Header = reqHeaders
26989	googleapi.Expand(req.URL, map[string]string{
26990		"resource": c.resource,
26991	})
26992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26993}
26994
26995// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy" call.
26996// Exactly one of *Policy or error will be non-nil. Any non-2xx status
26997// code is an error. Response headers are in either
26998// *Policy.ServerResponse.Header or (if a response was returned at all)
26999// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27000// check whether the returned error was because http.StatusNotModified
27001// was returned.
27002func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27003	gensupport.SetOptions(c.urlParams_, opts...)
27004	res, err := c.doRequest("json")
27005	if res != nil && res.StatusCode == http.StatusNotModified {
27006		if res.Body != nil {
27007			res.Body.Close()
27008		}
27009		return nil, &googleapi.Error{
27010			Code:   res.StatusCode,
27011			Header: res.Header,
27012		}
27013	}
27014	if err != nil {
27015		return nil, err
27016	}
27017	defer googleapi.CloseBody(res)
27018	if err := googleapi.CheckResponse(res); err != nil {
27019		return nil, err
27020	}
27021	ret := &Policy{
27022		ServerResponse: googleapi.ServerResponse{
27023			Header:         res.Header,
27024			HTTPStatusCode: res.StatusCode,
27025		},
27026	}
27027	target := &ret
27028	if err := gensupport.DecodeResponse(target, res); err != nil {
27029		return nil, err
27030	}
27031	return ret, nil
27032	// {
27033	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
27034	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy",
27035	//   "httpMethod": "GET",
27036	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy",
27037	//   "parameterOrder": [
27038	//     "resource"
27039	//   ],
27040	//   "parameters": {
27041	//     "options.requestedPolicyVersion": {
27042	//       "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).",
27043	//       "format": "int32",
27044	//       "location": "query",
27045	//       "type": "integer"
27046	//     },
27047	//     "resource": {
27048	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
27049	//       "location": "path",
27050	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27051	//       "required": true,
27052	//       "type": "string"
27053	//     }
27054	//   },
27055	//   "path": "v1beta1/{+resource}:getIamPolicy",
27056	//   "response": {
27057	//     "$ref": "Policy"
27058	//   },
27059	//   "scopes": [
27060	//     "https://www.googleapis.com/auth/cloud-platform"
27061	//   ]
27062	// }
27063
27064}
27065
27066// method id "healthcare.projects.locations.datasets.hl7V2Stores.import":
27067
27068type ProjectsLocationsDatasetsHl7V2StoresImportCall struct {
27069	s                     *Service
27070	name                  string
27071	importmessagesrequest *ImportMessagesRequest
27072	urlParams_            gensupport.URLParams
27073	ctx_                  context.Context
27074	header_               http.Header
27075}
27076
27077// Import: Import messages to the HL7v2 store by loading data from the
27078// specified sources. This method is optimized to load large quantities
27079// of data using import semantics that ignore some HL7v2 store
27080// configuration options and are not suitable for all use cases. It is
27081// primarily intended to load data into an empty HL7v2 store that is not
27082// being used by other clients. An existing message will be overwritten
27083// if a duplicate message is imported. A duplicate message is a message
27084// with the same raw bytes as a message that already exists in this
27085// HL7v2 store. When a message is overwritten, its labels will also be
27086// overwritten. The import operation is idempotent unless the input data
27087// contains multiple valid messages with the same raw bytes but
27088// different labels. In that case, after the import completes, the store
27089// contains exactly one message with those raw bytes but there is no
27090// ordering guarantee on which version of the labels it has. The
27091// operation result counters do not count duplicated raw bytes as an
27092// error and count one success for each message in the input, which
27093// might result in a success count larger than the number of messages in
27094// the HL7v2 store. If some messages fail to import, for example due to
27095// parsing errors, successfully imported messages are not rolled back.
27096// This method returns an Operation that can be used to track the status
27097// of the import by calling GetOperation. Immediate fatal errors appear
27098// in the error field, errors are also logged to Cloud Logging (see
27099// Viewing error logs in Cloud Logging
27100// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
27101// Otherwise, when the operation finishes, a response of type
27102// ImportMessagesResponse is returned in the response field. The
27103// metadata field type for this operation is OperationMetadata.
27104//
27105// - name: The name of the target HL7v2 store, in the format
27106//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
27107//   /hl7v2Stores/{hl7v2_store_id}`.
27108func (r *ProjectsLocationsDatasetsHl7V2StoresService) Import(name string, importmessagesrequest *ImportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27109	c := &ProjectsLocationsDatasetsHl7V2StoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27110	c.name = name
27111	c.importmessagesrequest = importmessagesrequest
27112	return c
27113}
27114
27115// Fields allows partial responses to be retrieved. See
27116// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27117// for more information.
27118func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27119	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27120	return c
27121}
27122
27123// Context sets the context to be used in this call's Do method. Any
27124// pending HTTP request will be aborted if the provided context is
27125// canceled.
27126func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27127	c.ctx_ = ctx
27128	return c
27129}
27130
27131// Header returns an http.Header that can be modified by the caller to
27132// add HTTP headers to the request.
27133func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Header() http.Header {
27134	if c.header_ == nil {
27135		c.header_ = make(http.Header)
27136	}
27137	return c.header_
27138}
27139
27140func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) doRequest(alt string) (*http.Response, error) {
27141	reqHeaders := make(http.Header)
27142	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
27143	for k, v := range c.header_ {
27144		reqHeaders[k] = v
27145	}
27146	reqHeaders.Set("User-Agent", c.s.userAgent())
27147	var body io.Reader = nil
27148	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importmessagesrequest)
27149	if err != nil {
27150		return nil, err
27151	}
27152	reqHeaders.Set("Content-Type", "application/json")
27153	c.urlParams_.Set("alt", alt)
27154	c.urlParams_.Set("prettyPrint", "false")
27155	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
27156	urls += "?" + c.urlParams_.Encode()
27157	req, err := http.NewRequest("POST", urls, body)
27158	if err != nil {
27159		return nil, err
27160	}
27161	req.Header = reqHeaders
27162	googleapi.Expand(req.URL, map[string]string{
27163		"name": c.name,
27164	})
27165	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27166}
27167
27168// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.import" call.
27169// Exactly one of *Operation or error will be non-nil. Any non-2xx
27170// status code is an error. Response headers are in either
27171// *Operation.ServerResponse.Header or (if a response was returned at
27172// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27173// to check whether the returned error was because
27174// http.StatusNotModified was returned.
27175func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
27176	gensupport.SetOptions(c.urlParams_, opts...)
27177	res, err := c.doRequest("json")
27178	if res != nil && res.StatusCode == http.StatusNotModified {
27179		if res.Body != nil {
27180			res.Body.Close()
27181		}
27182		return nil, &googleapi.Error{
27183			Code:   res.StatusCode,
27184			Header: res.Header,
27185		}
27186	}
27187	if err != nil {
27188		return nil, err
27189	}
27190	defer googleapi.CloseBody(res)
27191	if err := googleapi.CheckResponse(res); err != nil {
27192		return nil, err
27193	}
27194	ret := &Operation{
27195		ServerResponse: googleapi.ServerResponse{
27196			Header:         res.Header,
27197			HTTPStatusCode: res.StatusCode,
27198		},
27199	}
27200	target := &ret
27201	if err := gensupport.DecodeResponse(target, res); err != nil {
27202		return nil, err
27203	}
27204	return ret, nil
27205	// {
27206	//   "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 error logs in Cloud Logging](https://cloud.google.com/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.",
27207	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import",
27208	//   "httpMethod": "POST",
27209	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.import",
27210	//   "parameterOrder": [
27211	//     "name"
27212	//   ],
27213	//   "parameters": {
27214	//     "name": {
27215	//       "description": "The name of the target HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
27216	//       "location": "path",
27217	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27218	//       "required": true,
27219	//       "type": "string"
27220	//     }
27221	//   },
27222	//   "path": "v1beta1/{+name}:import",
27223	//   "request": {
27224	//     "$ref": "ImportMessagesRequest"
27225	//   },
27226	//   "response": {
27227	//     "$ref": "Operation"
27228	//   },
27229	//   "scopes": [
27230	//     "https://www.googleapis.com/auth/cloud-platform"
27231	//   ]
27232	// }
27233
27234}
27235
27236// method id "healthcare.projects.locations.datasets.hl7V2Stores.list":
27237
27238type ProjectsLocationsDatasetsHl7V2StoresListCall struct {
27239	s            *Service
27240	parent       string
27241	urlParams_   gensupport.URLParams
27242	ifNoneMatch_ string
27243	ctx_         context.Context
27244	header_      http.Header
27245}
27246
27247// List: Lists the HL7v2 stores in the given dataset.
27248//
27249// - parent: Name of the dataset.
27250func (r *ProjectsLocationsDatasetsHl7V2StoresService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27251	c := &ProjectsLocationsDatasetsHl7V2StoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27252	c.parent = parent
27253	return c
27254}
27255
27256// Filter sets the optional parameter "filter": Restricts stores
27257// returned to those matching a filter. The following syntax is
27258// available: * A string field value can be written as text inside
27259// quotation marks, for example "query text". The only valid
27260// relational operation for text fields is equality (`=`), where text is
27261// searched within the field, rather than having the field be equal to
27262// the text. For example, "Comment = great" returns messages with
27263// `great` in the comment field. * A number field value can be written
27264// as an integer, a decimal, or an exponential. The valid relational
27265// operators for number fields are the equality operator (`=`), along
27266// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
27267// Note that there is no inequality (`!=`) operator. You can prepend the
27268// `NOT` operator to an expression to negate it. * A date field value
27269// must be written in `yyyy-mm-dd` form. Fields with date and time use
27270// the RFC3339 time format. Leading zeros are required for one-digit
27271// months and days. The valid relational operators for date fields are
27272// the equality operator (`=`) , along with the less than/greater than
27273// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
27274// (`!=`) operator. You can prepend the `NOT` operator to an expression
27275// to negate it. * Multiple field query expressions can be combined in
27276// one query by adding `AND` or `OR` operators between the expressions.
27277// If a boolean operator appears within a quoted string, it is not
27278// treated as special, it's just another part of the character string to
27279// be matched. You can prepend the `NOT` operator to an expression to
27280// negate it. Only filtering on labels is supported. For example,
27281// `labels.key=value`.
27282func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27283	c.urlParams_.Set("filter", filter)
27284	return c
27285}
27286
27287// PageSize sets the optional parameter "pageSize": Limit on the number
27288// of HL7v2 stores to return in a single response. If not specified, 100
27289// is used. May not be larger than 1000.
27290func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27291	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27292	return c
27293}
27294
27295// PageToken sets the optional parameter "pageToken": The
27296// next_page_token value returned from the previous List request, if
27297// any.
27298func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27299	c.urlParams_.Set("pageToken", pageToken)
27300	return c
27301}
27302
27303// Fields allows partial responses to be retrieved. See
27304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27305// for more information.
27306func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27308	return c
27309}
27310
27311// IfNoneMatch sets the optional parameter which makes the operation
27312// fail if the object's ETag matches the given value. This is useful for
27313// getting updates only after the object has changed since the last
27314// request. Use googleapi.IsNotModified to check whether the response
27315// error from Do is the result of In-None-Match.
27316func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27317	c.ifNoneMatch_ = entityTag
27318	return c
27319}
27320
27321// Context sets the context to be used in this call's Do method. Any
27322// pending HTTP request will be aborted if the provided context is
27323// canceled.
27324func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27325	c.ctx_ = ctx
27326	return c
27327}
27328
27329// Header returns an http.Header that can be modified by the caller to
27330// add HTTP headers to the request.
27331func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Header() http.Header {
27332	if c.header_ == nil {
27333		c.header_ = make(http.Header)
27334	}
27335	return c.header_
27336}
27337
27338func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
27339	reqHeaders := make(http.Header)
27340	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
27341	for k, v := range c.header_ {
27342		reqHeaders[k] = v
27343	}
27344	reqHeaders.Set("User-Agent", c.s.userAgent())
27345	if c.ifNoneMatch_ != "" {
27346		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27347	}
27348	var body io.Reader = nil
27349	c.urlParams_.Set("alt", alt)
27350	c.urlParams_.Set("prettyPrint", "false")
27351	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
27352	urls += "?" + c.urlParams_.Encode()
27353	req, err := http.NewRequest("GET", urls, body)
27354	if err != nil {
27355		return nil, err
27356	}
27357	req.Header = reqHeaders
27358	googleapi.Expand(req.URL, map[string]string{
27359		"parent": c.parent,
27360	})
27361	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27362}
27363
27364// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.list" call.
27365// Exactly one of *ListHl7V2StoresResponse or error will be non-nil. Any
27366// non-2xx status code is an error. Response headers are in either
27367// *ListHl7V2StoresResponse.ServerResponse.Header or (if a response was
27368// returned at all) in error.(*googleapi.Error).Header. Use
27369// googleapi.IsNotModified to check whether the returned error was
27370// because http.StatusNotModified was returned.
27371func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Do(opts ...googleapi.CallOption) (*ListHl7V2StoresResponse, error) {
27372	gensupport.SetOptions(c.urlParams_, opts...)
27373	res, err := c.doRequest("json")
27374	if res != nil && res.StatusCode == http.StatusNotModified {
27375		if res.Body != nil {
27376			res.Body.Close()
27377		}
27378		return nil, &googleapi.Error{
27379			Code:   res.StatusCode,
27380			Header: res.Header,
27381		}
27382	}
27383	if err != nil {
27384		return nil, err
27385	}
27386	defer googleapi.CloseBody(res)
27387	if err := googleapi.CheckResponse(res); err != nil {
27388		return nil, err
27389	}
27390	ret := &ListHl7V2StoresResponse{
27391		ServerResponse: googleapi.ServerResponse{
27392			Header:         res.Header,
27393			HTTPStatusCode: res.StatusCode,
27394		},
27395	}
27396	target := &ret
27397	if err := gensupport.DecodeResponse(target, res); err != nil {
27398		return nil, err
27399	}
27400	return ret, nil
27401	// {
27402	//   "description": "Lists the HL7v2 stores in the given dataset.",
27403	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
27404	//   "httpMethod": "GET",
27405	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.list",
27406	//   "parameterOrder": [
27407	//     "parent"
27408	//   ],
27409	//   "parameters": {
27410	//     "filter": {
27411	//       "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`.",
27412	//       "location": "query",
27413	//       "type": "string"
27414	//     },
27415	//     "pageSize": {
27416	//       "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.",
27417	//       "format": "int32",
27418	//       "location": "query",
27419	//       "type": "integer"
27420	//     },
27421	//     "pageToken": {
27422	//       "description": "The next_page_token value returned from the previous List request, if any.",
27423	//       "location": "query",
27424	//       "type": "string"
27425	//     },
27426	//     "parent": {
27427	//       "description": "Name of the dataset.",
27428	//       "location": "path",
27429	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
27430	//       "required": true,
27431	//       "type": "string"
27432	//     }
27433	//   },
27434	//   "path": "v1beta1/{+parent}/hl7V2Stores",
27435	//   "response": {
27436	//     "$ref": "ListHl7V2StoresResponse"
27437	//   },
27438	//   "scopes": [
27439	//     "https://www.googleapis.com/auth/cloud-platform"
27440	//   ]
27441	// }
27442
27443}
27444
27445// Pages invokes f for each page of results.
27446// A non-nil error returned from f will halt the iteration.
27447// The provided context supersedes any context provided to the Context method.
27448func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Pages(ctx context.Context, f func(*ListHl7V2StoresResponse) error) error {
27449	c.ctx_ = ctx
27450	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27451	for {
27452		x, err := c.Do()
27453		if err != nil {
27454			return err
27455		}
27456		if err := f(x); err != nil {
27457			return err
27458		}
27459		if x.NextPageToken == "" {
27460			return nil
27461		}
27462		c.PageToken(x.NextPageToken)
27463	}
27464}
27465
27466// method id "healthcare.projects.locations.datasets.hl7V2Stores.patch":
27467
27468type ProjectsLocationsDatasetsHl7V2StoresPatchCall struct {
27469	s          *Service
27470	name       string
27471	hl7v2store *Hl7V2Store
27472	urlParams_ gensupport.URLParams
27473	ctx_       context.Context
27474	header_    http.Header
27475}
27476
27477// Patch: Updates the HL7v2 store.
27478//
27479// - name: Resource name of the HL7v2 store, of the form
27480//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_stor
27481//   e_id}`.
27482func (r *ProjectsLocationsDatasetsHl7V2StoresService) Patch(name string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27483	c := &ProjectsLocationsDatasetsHl7V2StoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27484	c.name = name
27485	c.hl7v2store = hl7v2store
27486	return c
27487}
27488
27489// UpdateMask sets the optional parameter "updateMask": The update mask
27490// applies to the resource. For the `FieldMask` definition, see
27491// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
27492func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27493	c.urlParams_.Set("updateMask", updateMask)
27494	return c
27495}
27496
27497// Fields allows partial responses to be retrieved. See
27498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27499// for more information.
27500func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27502	return c
27503}
27504
27505// Context sets the context to be used in this call's Do method. Any
27506// pending HTTP request will be aborted if the provided context is
27507// canceled.
27508func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27509	c.ctx_ = ctx
27510	return c
27511}
27512
27513// Header returns an http.Header that can be modified by the caller to
27514// add HTTP headers to the request.
27515func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Header() http.Header {
27516	if c.header_ == nil {
27517		c.header_ = make(http.Header)
27518	}
27519	return c.header_
27520}
27521
27522func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
27523	reqHeaders := make(http.Header)
27524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
27525	for k, v := range c.header_ {
27526		reqHeaders[k] = v
27527	}
27528	reqHeaders.Set("User-Agent", c.s.userAgent())
27529	var body io.Reader = nil
27530	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
27531	if err != nil {
27532		return nil, err
27533	}
27534	reqHeaders.Set("Content-Type", "application/json")
27535	c.urlParams_.Set("alt", alt)
27536	c.urlParams_.Set("prettyPrint", "false")
27537	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27538	urls += "?" + c.urlParams_.Encode()
27539	req, err := http.NewRequest("PATCH", urls, body)
27540	if err != nil {
27541		return nil, err
27542	}
27543	req.Header = reqHeaders
27544	googleapi.Expand(req.URL, map[string]string{
27545		"name": c.name,
27546	})
27547	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27548}
27549
27550// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.patch" call.
27551// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
27552// status code is an error. Response headers are in either
27553// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
27554// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27555// to check whether the returned error was because
27556// http.StatusNotModified was returned.
27557func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
27558	gensupport.SetOptions(c.urlParams_, opts...)
27559	res, err := c.doRequest("json")
27560	if res != nil && res.StatusCode == http.StatusNotModified {
27561		if res.Body != nil {
27562			res.Body.Close()
27563		}
27564		return nil, &googleapi.Error{
27565			Code:   res.StatusCode,
27566			Header: res.Header,
27567		}
27568	}
27569	if err != nil {
27570		return nil, err
27571	}
27572	defer googleapi.CloseBody(res)
27573	if err := googleapi.CheckResponse(res); err != nil {
27574		return nil, err
27575	}
27576	ret := &Hl7V2Store{
27577		ServerResponse: googleapi.ServerResponse{
27578			Header:         res.Header,
27579			HTTPStatusCode: res.StatusCode,
27580		},
27581	}
27582	target := &ret
27583	if err := gensupport.DecodeResponse(target, res); err != nil {
27584		return nil, err
27585	}
27586	return ret, nil
27587	// {
27588	//   "description": "Updates the HL7v2 store.",
27589	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
27590	//   "httpMethod": "PATCH",
27591	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch",
27592	//   "parameterOrder": [
27593	//     "name"
27594	//   ],
27595	//   "parameters": {
27596	//     "name": {
27597	//       "description": "Resource name of the HL7v2 store, of the form `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
27598	//       "location": "path",
27599	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27600	//       "required": true,
27601	//       "type": "string"
27602	//     },
27603	//     "updateMask": {
27604	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
27605	//       "format": "google-fieldmask",
27606	//       "location": "query",
27607	//       "type": "string"
27608	//     }
27609	//   },
27610	//   "path": "v1beta1/{+name}",
27611	//   "request": {
27612	//     "$ref": "Hl7V2Store"
27613	//   },
27614	//   "response": {
27615	//     "$ref": "Hl7V2Store"
27616	//   },
27617	//   "scopes": [
27618	//     "https://www.googleapis.com/auth/cloud-platform"
27619	//   ]
27620	// }
27621
27622}
27623
27624// method id "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy":
27625
27626type ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall struct {
27627	s                   *Service
27628	resource            string
27629	setiampolicyrequest *SetIamPolicyRequest
27630	urlParams_          gensupport.URLParams
27631	ctx_                context.Context
27632	header_             http.Header
27633}
27634
27635// SetIamPolicy: Sets the access control policy on the specified
27636// resource. Replaces any existing policy. Can return `NOT_FOUND`,
27637// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
27638//
27639// - resource: REQUIRED: The resource for which the policy is being
27640//   specified. See the operation documentation for the appropriate
27641//   value for this field.
27642func (r *ProjectsLocationsDatasetsHl7V2StoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27643	c := &ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27644	c.resource = resource
27645	c.setiampolicyrequest = setiampolicyrequest
27646	return c
27647}
27648
27649// Fields allows partial responses to be retrieved. See
27650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27651// for more information.
27652func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27653	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27654	return c
27655}
27656
27657// Context sets the context to be used in this call's Do method. Any
27658// pending HTTP request will be aborted if the provided context is
27659// canceled.
27660func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27661	c.ctx_ = ctx
27662	return c
27663}
27664
27665// Header returns an http.Header that can be modified by the caller to
27666// add HTTP headers to the request.
27667func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Header() http.Header {
27668	if c.header_ == nil {
27669		c.header_ = make(http.Header)
27670	}
27671	return c.header_
27672}
27673
27674func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
27675	reqHeaders := make(http.Header)
27676	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
27677	for k, v := range c.header_ {
27678		reqHeaders[k] = v
27679	}
27680	reqHeaders.Set("User-Agent", c.s.userAgent())
27681	var body io.Reader = nil
27682	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
27683	if err != nil {
27684		return nil, err
27685	}
27686	reqHeaders.Set("Content-Type", "application/json")
27687	c.urlParams_.Set("alt", alt)
27688	c.urlParams_.Set("prettyPrint", "false")
27689	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
27690	urls += "?" + c.urlParams_.Encode()
27691	req, err := http.NewRequest("POST", urls, body)
27692	if err != nil {
27693		return nil, err
27694	}
27695	req.Header = reqHeaders
27696	googleapi.Expand(req.URL, map[string]string{
27697		"resource": c.resource,
27698	})
27699	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27700}
27701
27702// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy" call.
27703// Exactly one of *Policy or error will be non-nil. Any non-2xx status
27704// code is an error. Response headers are in either
27705// *Policy.ServerResponse.Header or (if a response was returned at all)
27706// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27707// check whether the returned error was because http.StatusNotModified
27708// was returned.
27709func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27710	gensupport.SetOptions(c.urlParams_, opts...)
27711	res, err := c.doRequest("json")
27712	if res != nil && res.StatusCode == http.StatusNotModified {
27713		if res.Body != nil {
27714			res.Body.Close()
27715		}
27716		return nil, &googleapi.Error{
27717			Code:   res.StatusCode,
27718			Header: res.Header,
27719		}
27720	}
27721	if err != nil {
27722		return nil, err
27723	}
27724	defer googleapi.CloseBody(res)
27725	if err := googleapi.CheckResponse(res); err != nil {
27726		return nil, err
27727	}
27728	ret := &Policy{
27729		ServerResponse: googleapi.ServerResponse{
27730			Header:         res.Header,
27731			HTTPStatusCode: res.StatusCode,
27732		},
27733	}
27734	target := &ret
27735	if err := gensupport.DecodeResponse(target, res); err != nil {
27736		return nil, err
27737	}
27738	return ret, nil
27739	// {
27740	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
27741	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy",
27742	//   "httpMethod": "POST",
27743	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy",
27744	//   "parameterOrder": [
27745	//     "resource"
27746	//   ],
27747	//   "parameters": {
27748	//     "resource": {
27749	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
27750	//       "location": "path",
27751	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27752	//       "required": true,
27753	//       "type": "string"
27754	//     }
27755	//   },
27756	//   "path": "v1beta1/{+resource}:setIamPolicy",
27757	//   "request": {
27758	//     "$ref": "SetIamPolicyRequest"
27759	//   },
27760	//   "response": {
27761	//     "$ref": "Policy"
27762	//   },
27763	//   "scopes": [
27764	//     "https://www.googleapis.com/auth/cloud-platform"
27765	//   ]
27766	// }
27767
27768}
27769
27770// method id "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions":
27771
27772type ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall struct {
27773	s                         *Service
27774	resource                  string
27775	testiampermissionsrequest *TestIamPermissionsRequest
27776	urlParams_                gensupport.URLParams
27777	ctx_                      context.Context
27778	header_                   http.Header
27779}
27780
27781// TestIamPermissions: Returns permissions that a caller has on the
27782// specified resource. If the resource does not exist, this will return
27783// an empty set of permissions, not a `NOT_FOUND` error. Note: This
27784// operation is designed to be used for building permission-aware UIs
27785// and command-line tools, not for authorization checking. This
27786// operation may "fail open" without warning.
27787//
27788// - resource: REQUIRED: The resource for which the policy detail is
27789//   being requested. See the operation documentation for the
27790//   appropriate value for this field.
27791func (r *ProjectsLocationsDatasetsHl7V2StoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27792	c := &ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27793	c.resource = resource
27794	c.testiampermissionsrequest = testiampermissionsrequest
27795	return c
27796}
27797
27798// Fields allows partial responses to be retrieved. See
27799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27800// for more information.
27801func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27803	return c
27804}
27805
27806// Context sets the context to be used in this call's Do method. Any
27807// pending HTTP request will be aborted if the provided context is
27808// canceled.
27809func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27810	c.ctx_ = ctx
27811	return c
27812}
27813
27814// Header returns an http.Header that can be modified by the caller to
27815// add HTTP headers to the request.
27816func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Header() http.Header {
27817	if c.header_ == nil {
27818		c.header_ = make(http.Header)
27819	}
27820	return c.header_
27821}
27822
27823func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
27824	reqHeaders := make(http.Header)
27825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
27826	for k, v := range c.header_ {
27827		reqHeaders[k] = v
27828	}
27829	reqHeaders.Set("User-Agent", c.s.userAgent())
27830	var body io.Reader = nil
27831	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
27832	if err != nil {
27833		return nil, err
27834	}
27835	reqHeaders.Set("Content-Type", "application/json")
27836	c.urlParams_.Set("alt", alt)
27837	c.urlParams_.Set("prettyPrint", "false")
27838	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
27839	urls += "?" + c.urlParams_.Encode()
27840	req, err := http.NewRequest("POST", urls, body)
27841	if err != nil {
27842		return nil, err
27843	}
27844	req.Header = reqHeaders
27845	googleapi.Expand(req.URL, map[string]string{
27846		"resource": c.resource,
27847	})
27848	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27849}
27850
27851// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions" call.
27852// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
27853// Any non-2xx status code is an error. Response headers are in either
27854// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
27855// was returned at all) in error.(*googleapi.Error).Header. Use
27856// googleapi.IsNotModified to check whether the returned error was
27857// because http.StatusNotModified was returned.
27858func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
27859	gensupport.SetOptions(c.urlParams_, opts...)
27860	res, err := c.doRequest("json")
27861	if res != nil && res.StatusCode == http.StatusNotModified {
27862		if res.Body != nil {
27863			res.Body.Close()
27864		}
27865		return nil, &googleapi.Error{
27866			Code:   res.StatusCode,
27867			Header: res.Header,
27868		}
27869	}
27870	if err != nil {
27871		return nil, err
27872	}
27873	defer googleapi.CloseBody(res)
27874	if err := googleapi.CheckResponse(res); err != nil {
27875		return nil, err
27876	}
27877	ret := &TestIamPermissionsResponse{
27878		ServerResponse: googleapi.ServerResponse{
27879			Header:         res.Header,
27880			HTTPStatusCode: res.StatusCode,
27881		},
27882	}
27883	target := &ret
27884	if err := gensupport.DecodeResponse(target, res); err != nil {
27885		return nil, err
27886	}
27887	return ret, nil
27888	// {
27889	//   "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.",
27890	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions",
27891	//   "httpMethod": "POST",
27892	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions",
27893	//   "parameterOrder": [
27894	//     "resource"
27895	//   ],
27896	//   "parameters": {
27897	//     "resource": {
27898	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
27899	//       "location": "path",
27900	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27901	//       "required": true,
27902	//       "type": "string"
27903	//     }
27904	//   },
27905	//   "path": "v1beta1/{+resource}:testIamPermissions",
27906	//   "request": {
27907	//     "$ref": "TestIamPermissionsRequest"
27908	//   },
27909	//   "response": {
27910	//     "$ref": "TestIamPermissionsResponse"
27911	//   },
27912	//   "scopes": [
27913	//     "https://www.googleapis.com/auth/cloud-platform"
27914	//   ]
27915	// }
27916
27917}
27918
27919// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet":
27920
27921type ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall struct {
27922	s            *Service
27923	parent       string
27924	urlParams_   gensupport.URLParams
27925	ifNoneMatch_ string
27926	ctx_         context.Context
27927	header_      http.Header
27928}
27929
27930// BatchGet: Gets multiple messages in the given HL7v2 store.
27931//
27932// - parent: Name of the HL7v2 store to retrieve messages from, in the
27933//   format:
27934//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
27935//   /hl7v2Stores/{hl7v2_store_id}`.
27936func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) BatchGet(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27937	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27938	c.parent = parent
27939	return c
27940}
27941
27942// Ids sets the optional parameter "ids": The resource id of the HL7v2
27943// messages to retrieve in the format: `{message_id}`, where the full
27944// resource name is `{parent}/messages/{message_id}` A maximum of 100
27945// messages can be retrieved in a batch. All 'ids' have to be under
27946// parent.
27947func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Ids(ids ...string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27948	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
27949	return c
27950}
27951
27952// View sets the optional parameter "view": Specifies the parts of the
27953// Messages resource to return in the response. When unspecified,
27954// equivalent to BASIC.
27955//
27956// Possible values:
27957//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
27958// getMessage, equivalent to BASIC for listMessages.
27959//   "RAW_ONLY" - Server responses include all the message fields except
27960// parsed_data, and schematized_data fields.
27961//   "PARSED_ONLY" - Server responses include all the message fields
27962// except data and schematized_data fields.
27963//   "FULL" - Server responses include all the message fields.
27964//   "SCHEMATIZED_ONLY" - Server responses include all the message
27965// fields except data and parsed_data fields.
27966//   "BASIC" - Server responses include only the name field.
27967func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27968	c.urlParams_.Set("view", view)
27969	return c
27970}
27971
27972// Fields allows partial responses to be retrieved. See
27973// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27974// for more information.
27975func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27976	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27977	return c
27978}
27979
27980// IfNoneMatch sets the optional parameter which makes the operation
27981// fail if the object's ETag matches the given value. This is useful for
27982// getting updates only after the object has changed since the last
27983// request. Use googleapi.IsNotModified to check whether the response
27984// error from Do is the result of In-None-Match.
27985func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27986	c.ifNoneMatch_ = entityTag
27987	return c
27988}
27989
27990// Context sets the context to be used in this call's Do method. Any
27991// pending HTTP request will be aborted if the provided context is
27992// canceled.
27993func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27994	c.ctx_ = ctx
27995	return c
27996}
27997
27998// Header returns an http.Header that can be modified by the caller to
27999// add HTTP headers to the request.
28000func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Header() http.Header {
28001	if c.header_ == nil {
28002		c.header_ = make(http.Header)
28003	}
28004	return c.header_
28005}
28006
28007func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) doRequest(alt string) (*http.Response, error) {
28008	reqHeaders := make(http.Header)
28009	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28010	for k, v := range c.header_ {
28011		reqHeaders[k] = v
28012	}
28013	reqHeaders.Set("User-Agent", c.s.userAgent())
28014	if c.ifNoneMatch_ != "" {
28015		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28016	}
28017	var body io.Reader = nil
28018	c.urlParams_.Set("alt", alt)
28019	c.urlParams_.Set("prettyPrint", "false")
28020	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:batchGet")
28021	urls += "?" + c.urlParams_.Encode()
28022	req, err := http.NewRequest("GET", urls, body)
28023	if err != nil {
28024		return nil, err
28025	}
28026	req.Header = reqHeaders
28027	googleapi.Expand(req.URL, map[string]string{
28028		"parent": c.parent,
28029	})
28030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28031}
28032
28033// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet" call.
28034// Exactly one of *BatchGetMessagesResponse or error will be non-nil.
28035// Any non-2xx status code is an error. Response headers are in either
28036// *BatchGetMessagesResponse.ServerResponse.Header or (if a response was
28037// returned at all) in error.(*googleapi.Error).Header. Use
28038// googleapi.IsNotModified to check whether the returned error was
28039// because http.StatusNotModified was returned.
28040func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetMessagesResponse, error) {
28041	gensupport.SetOptions(c.urlParams_, opts...)
28042	res, err := c.doRequest("json")
28043	if res != nil && res.StatusCode == http.StatusNotModified {
28044		if res.Body != nil {
28045			res.Body.Close()
28046		}
28047		return nil, &googleapi.Error{
28048			Code:   res.StatusCode,
28049			Header: res.Header,
28050		}
28051	}
28052	if err != nil {
28053		return nil, err
28054	}
28055	defer googleapi.CloseBody(res)
28056	if err := googleapi.CheckResponse(res); err != nil {
28057		return nil, err
28058	}
28059	ret := &BatchGetMessagesResponse{
28060		ServerResponse: googleapi.ServerResponse{
28061			Header:         res.Header,
28062			HTTPStatusCode: res.StatusCode,
28063		},
28064	}
28065	target := &ret
28066	if err := gensupport.DecodeResponse(target, res); err != nil {
28067		return nil, err
28068	}
28069	return ret, nil
28070	// {
28071	//   "description": "Gets multiple messages in the given HL7v2 store.",
28072	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:batchGet",
28073	//   "httpMethod": "GET",
28074	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet",
28075	//   "parameterOrder": [
28076	//     "parent"
28077	//   ],
28078	//   "parameters": {
28079	//     "ids": {
28080	//       "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.",
28081	//       "location": "query",
28082	//       "repeated": true,
28083	//       "type": "string"
28084	//     },
28085	//     "parent": {
28086	//       "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}`.",
28087	//       "location": "path",
28088	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28089	//       "required": true,
28090	//       "type": "string"
28091	//     },
28092	//     "view": {
28093	//       "description": "Specifies the parts of the Messages resource to return in the response. When unspecified, equivalent to BASIC.",
28094	//       "enum": [
28095	//         "MESSAGE_VIEW_UNSPECIFIED",
28096	//         "RAW_ONLY",
28097	//         "PARSED_ONLY",
28098	//         "FULL",
28099	//         "SCHEMATIZED_ONLY",
28100	//         "BASIC"
28101	//       ],
28102	//       "enumDescriptions": [
28103	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28104	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28105	//         "Server responses include all the message fields except data and schematized_data fields.",
28106	//         "Server responses include all the message fields.",
28107	//         "Server responses include all the message fields except data and parsed_data fields.",
28108	//         "Server responses include only the name field."
28109	//       ],
28110	//       "location": "query",
28111	//       "type": "string"
28112	//     }
28113	//   },
28114	//   "path": "v1beta1/{+parent}/messages:batchGet",
28115	//   "response": {
28116	//     "$ref": "BatchGetMessagesResponse"
28117	//   },
28118	//   "scopes": [
28119	//     "https://www.googleapis.com/auth/cloud-platform"
28120	//   ]
28121	// }
28122
28123}
28124
28125// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.create":
28126
28127type ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall struct {
28128	s                    *Service
28129	parent               string
28130	createmessagerequest *CreateMessageRequest
28131	urlParams_           gensupport.URLParams
28132	ctx_                 context.Context
28133	header_              http.Header
28134}
28135
28136// Create: Parses and stores an HL7v2 message. This method triggers an
28137// asynchronous notification to any Pub/Sub topic configured in
28138// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28139// message. If an MLLP adapter is configured to listen to a Pub/Sub
28140// topic, the adapter transmits the message when a notification is
28141// received.
28142//
28143// - parent: The name of the dataset this message belongs to.
28144func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Create(parent string, createmessagerequest *CreateMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28145	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28146	c.parent = parent
28147	c.createmessagerequest = createmessagerequest
28148	return c
28149}
28150
28151// Fields allows partial responses to be retrieved. See
28152// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28153// for more information.
28154func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28155	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28156	return c
28157}
28158
28159// Context sets the context to be used in this call's Do method. Any
28160// pending HTTP request will be aborted if the provided context is
28161// canceled.
28162func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28163	c.ctx_ = ctx
28164	return c
28165}
28166
28167// Header returns an http.Header that can be modified by the caller to
28168// add HTTP headers to the request.
28169func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Header() http.Header {
28170	if c.header_ == nil {
28171		c.header_ = make(http.Header)
28172	}
28173	return c.header_
28174}
28175
28176func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
28177	reqHeaders := make(http.Header)
28178	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28179	for k, v := range c.header_ {
28180		reqHeaders[k] = v
28181	}
28182	reqHeaders.Set("User-Agent", c.s.userAgent())
28183	var body io.Reader = nil
28184	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createmessagerequest)
28185	if err != nil {
28186		return nil, err
28187	}
28188	reqHeaders.Set("Content-Type", "application/json")
28189	c.urlParams_.Set("alt", alt)
28190	c.urlParams_.Set("prettyPrint", "false")
28191	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28192	urls += "?" + c.urlParams_.Encode()
28193	req, err := http.NewRequest("POST", urls, body)
28194	if err != nil {
28195		return nil, err
28196	}
28197	req.Header = reqHeaders
28198	googleapi.Expand(req.URL, map[string]string{
28199		"parent": c.parent,
28200	})
28201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28202}
28203
28204// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.create" call.
28205// Exactly one of *Message or error will be non-nil. Any non-2xx status
28206// code is an error. Response headers are in either
28207// *Message.ServerResponse.Header or (if a response was returned at all)
28208// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28209// check whether the returned error was because http.StatusNotModified
28210// was returned.
28211func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28212	gensupport.SetOptions(c.urlParams_, opts...)
28213	res, err := c.doRequest("json")
28214	if res != nil && res.StatusCode == http.StatusNotModified {
28215		if res.Body != nil {
28216			res.Body.Close()
28217		}
28218		return nil, &googleapi.Error{
28219			Code:   res.StatusCode,
28220			Header: res.Header,
28221		}
28222	}
28223	if err != nil {
28224		return nil, err
28225	}
28226	defer googleapi.CloseBody(res)
28227	if err := googleapi.CheckResponse(res); err != nil {
28228		return nil, err
28229	}
28230	ret := &Message{
28231		ServerResponse: googleapi.ServerResponse{
28232			Header:         res.Header,
28233			HTTPStatusCode: res.StatusCode,
28234		},
28235	}
28236	target := &ret
28237	if err := gensupport.DecodeResponse(target, res); err != nil {
28238		return nil, err
28239	}
28240	return ret, nil
28241	// {
28242	//   "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received.",
28243	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28244	//   "httpMethod": "POST",
28245	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create",
28246	//   "parameterOrder": [
28247	//     "parent"
28248	//   ],
28249	//   "parameters": {
28250	//     "parent": {
28251	//       "description": "The name of the dataset this message belongs to.",
28252	//       "location": "path",
28253	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28254	//       "required": true,
28255	//       "type": "string"
28256	//     }
28257	//   },
28258	//   "path": "v1beta1/{+parent}/messages",
28259	//   "request": {
28260	//     "$ref": "CreateMessageRequest"
28261	//   },
28262	//   "response": {
28263	//     "$ref": "Message"
28264	//   },
28265	//   "scopes": [
28266	//     "https://www.googleapis.com/auth/cloud-platform"
28267	//   ]
28268	// }
28269
28270}
28271
28272// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete":
28273
28274type ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall struct {
28275	s          *Service
28276	name       string
28277	urlParams_ gensupport.URLParams
28278	ctx_       context.Context
28279	header_    http.Header
28280}
28281
28282// Delete: Deletes an HL7v2 message.
28283//
28284// - name: The resource name of the HL7v2 message to delete.
28285func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28286	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28287	c.name = name
28288	return c
28289}
28290
28291// Fields allows partial responses to be retrieved. See
28292// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28293// for more information.
28294func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28295	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28296	return c
28297}
28298
28299// Context sets the context to be used in this call's Do method. Any
28300// pending HTTP request will be aborted if the provided context is
28301// canceled.
28302func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28303	c.ctx_ = ctx
28304	return c
28305}
28306
28307// Header returns an http.Header that can be modified by the caller to
28308// add HTTP headers to the request.
28309func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Header() http.Header {
28310	if c.header_ == nil {
28311		c.header_ = make(http.Header)
28312	}
28313	return c.header_
28314}
28315
28316func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
28317	reqHeaders := make(http.Header)
28318	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28319	for k, v := range c.header_ {
28320		reqHeaders[k] = v
28321	}
28322	reqHeaders.Set("User-Agent", c.s.userAgent())
28323	var body io.Reader = nil
28324	c.urlParams_.Set("alt", alt)
28325	c.urlParams_.Set("prettyPrint", "false")
28326	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28327	urls += "?" + c.urlParams_.Encode()
28328	req, err := http.NewRequest("DELETE", urls, body)
28329	if err != nil {
28330		return nil, err
28331	}
28332	req.Header = reqHeaders
28333	googleapi.Expand(req.URL, map[string]string{
28334		"name": c.name,
28335	})
28336	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28337}
28338
28339// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete" call.
28340// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28341// code is an error. Response headers are in either
28342// *Empty.ServerResponse.Header or (if a response was returned at all)
28343// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28344// check whether the returned error was because http.StatusNotModified
28345// was returned.
28346func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28347	gensupport.SetOptions(c.urlParams_, opts...)
28348	res, err := c.doRequest("json")
28349	if res != nil && res.StatusCode == http.StatusNotModified {
28350		if res.Body != nil {
28351			res.Body.Close()
28352		}
28353		return nil, &googleapi.Error{
28354			Code:   res.StatusCode,
28355			Header: res.Header,
28356		}
28357	}
28358	if err != nil {
28359		return nil, err
28360	}
28361	defer googleapi.CloseBody(res)
28362	if err := googleapi.CheckResponse(res); err != nil {
28363		return nil, err
28364	}
28365	ret := &Empty{
28366		ServerResponse: googleapi.ServerResponse{
28367			Header:         res.Header,
28368			HTTPStatusCode: res.StatusCode,
28369		},
28370	}
28371	target := &ret
28372	if err := gensupport.DecodeResponse(target, res); err != nil {
28373		return nil, err
28374	}
28375	return ret, nil
28376	// {
28377	//   "description": "Deletes an HL7v2 message.",
28378	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28379	//   "httpMethod": "DELETE",
28380	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete",
28381	//   "parameterOrder": [
28382	//     "name"
28383	//   ],
28384	//   "parameters": {
28385	//     "name": {
28386	//       "description": "The resource name of the HL7v2 message to delete.",
28387	//       "location": "path",
28388	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28389	//       "required": true,
28390	//       "type": "string"
28391	//     }
28392	//   },
28393	//   "path": "v1beta1/{+name}",
28394	//   "response": {
28395	//     "$ref": "Empty"
28396	//   },
28397	//   "scopes": [
28398	//     "https://www.googleapis.com/auth/cloud-platform"
28399	//   ]
28400	// }
28401
28402}
28403
28404// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.get":
28405
28406type ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall struct {
28407	s            *Service
28408	name         string
28409	urlParams_   gensupport.URLParams
28410	ifNoneMatch_ string
28411	ctx_         context.Context
28412	header_      http.Header
28413}
28414
28415// Get: Gets an HL7v2 message.
28416//
28417// - name: The resource name of the HL7v2 message to retrieve.
28418func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28419	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28420	c.name = name
28421	return c
28422}
28423
28424// View sets the optional parameter "view": Specifies which parts of the
28425// Message resource to return in the response. When unspecified,
28426// equivalent to FULL.
28427//
28428// Possible values:
28429//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28430// getMessage, equivalent to BASIC for listMessages.
28431//   "RAW_ONLY" - Server responses include all the message fields except
28432// parsed_data, and schematized_data fields.
28433//   "PARSED_ONLY" - Server responses include all the message fields
28434// except data and schematized_data fields.
28435//   "FULL" - Server responses include all the message fields.
28436//   "SCHEMATIZED_ONLY" - Server responses include all the message
28437// fields except data and parsed_data fields.
28438//   "BASIC" - Server responses include only the name field.
28439func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28440	c.urlParams_.Set("view", view)
28441	return c
28442}
28443
28444// Fields allows partial responses to be retrieved. See
28445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28446// for more information.
28447func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28449	return c
28450}
28451
28452// IfNoneMatch sets the optional parameter which makes the operation
28453// fail if the object's ETag matches the given value. This is useful for
28454// getting updates only after the object has changed since the last
28455// request. Use googleapi.IsNotModified to check whether the response
28456// error from Do is the result of In-None-Match.
28457func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28458	c.ifNoneMatch_ = entityTag
28459	return c
28460}
28461
28462// Context sets the context to be used in this call's Do method. Any
28463// pending HTTP request will be aborted if the provided context is
28464// canceled.
28465func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28466	c.ctx_ = ctx
28467	return c
28468}
28469
28470// Header returns an http.Header that can be modified by the caller to
28471// add HTTP headers to the request.
28472func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Header() http.Header {
28473	if c.header_ == nil {
28474		c.header_ = make(http.Header)
28475	}
28476	return c.header_
28477}
28478
28479func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
28480	reqHeaders := make(http.Header)
28481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28482	for k, v := range c.header_ {
28483		reqHeaders[k] = v
28484	}
28485	reqHeaders.Set("User-Agent", c.s.userAgent())
28486	if c.ifNoneMatch_ != "" {
28487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28488	}
28489	var body io.Reader = nil
28490	c.urlParams_.Set("alt", alt)
28491	c.urlParams_.Set("prettyPrint", "false")
28492	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28493	urls += "?" + c.urlParams_.Encode()
28494	req, err := http.NewRequest("GET", urls, body)
28495	if err != nil {
28496		return nil, err
28497	}
28498	req.Header = reqHeaders
28499	googleapi.Expand(req.URL, map[string]string{
28500		"name": c.name,
28501	})
28502	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28503}
28504
28505// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.get" call.
28506// Exactly one of *Message or error will be non-nil. Any non-2xx status
28507// code is an error. Response headers are in either
28508// *Message.ServerResponse.Header or (if a response was returned at all)
28509// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28510// check whether the returned error was because http.StatusNotModified
28511// was returned.
28512func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28513	gensupport.SetOptions(c.urlParams_, opts...)
28514	res, err := c.doRequest("json")
28515	if res != nil && res.StatusCode == http.StatusNotModified {
28516		if res.Body != nil {
28517			res.Body.Close()
28518		}
28519		return nil, &googleapi.Error{
28520			Code:   res.StatusCode,
28521			Header: res.Header,
28522		}
28523	}
28524	if err != nil {
28525		return nil, err
28526	}
28527	defer googleapi.CloseBody(res)
28528	if err := googleapi.CheckResponse(res); err != nil {
28529		return nil, err
28530	}
28531	ret := &Message{
28532		ServerResponse: googleapi.ServerResponse{
28533			Header:         res.Header,
28534			HTTPStatusCode: res.StatusCode,
28535		},
28536	}
28537	target := &ret
28538	if err := gensupport.DecodeResponse(target, res); err != nil {
28539		return nil, err
28540	}
28541	return ret, nil
28542	// {
28543	//   "description": "Gets an HL7v2 message.",
28544	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28545	//   "httpMethod": "GET",
28546	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get",
28547	//   "parameterOrder": [
28548	//     "name"
28549	//   ],
28550	//   "parameters": {
28551	//     "name": {
28552	//       "description": "The resource name of the HL7v2 message to retrieve.",
28553	//       "location": "path",
28554	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28555	//       "required": true,
28556	//       "type": "string"
28557	//     },
28558	//     "view": {
28559	//       "description": "Specifies which parts of the Message resource to return in the response. When unspecified, equivalent to FULL.",
28560	//       "enum": [
28561	//         "MESSAGE_VIEW_UNSPECIFIED",
28562	//         "RAW_ONLY",
28563	//         "PARSED_ONLY",
28564	//         "FULL",
28565	//         "SCHEMATIZED_ONLY",
28566	//         "BASIC"
28567	//       ],
28568	//       "enumDescriptions": [
28569	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28570	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28571	//         "Server responses include all the message fields except data and schematized_data fields.",
28572	//         "Server responses include all the message fields.",
28573	//         "Server responses include all the message fields except data and parsed_data fields.",
28574	//         "Server responses include only the name field."
28575	//       ],
28576	//       "location": "query",
28577	//       "type": "string"
28578	//     }
28579	//   },
28580	//   "path": "v1beta1/{+name}",
28581	//   "response": {
28582	//     "$ref": "Message"
28583	//   },
28584	//   "scopes": [
28585	//     "https://www.googleapis.com/auth/cloud-platform"
28586	//   ]
28587	// }
28588
28589}
28590
28591// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest":
28592
28593type ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall struct {
28594	s                    *Service
28595	parent               string
28596	ingestmessagerequest *IngestMessageRequest
28597	urlParams_           gensupport.URLParams
28598	ctx_                 context.Context
28599	header_              http.Header
28600}
28601
28602// Ingest: Parses and stores an HL7v2 message. This method triggers an
28603// asynchronous notification to any Pub/Sub topic configured in
28604// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28605// message. If an MLLP adapter is configured to listen to a Pub/Sub
28606// topic, the adapter transmits the message when a notification is
28607// received. If the method is successful, it generates a response
28608// containing an HL7v2 acknowledgment (`ACK`) message. If the method
28609// encounters an error, it returns a negative acknowledgment (`NACK`)
28610// message. This behavior is suitable for replying to HL7v2 interface
28611// systems that expect these acknowledgments.
28612//
28613// - parent: The name of the HL7v2 store this message belongs to.
28614func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Ingest(parent string, ingestmessagerequest *IngestMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28615	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28616	c.parent = parent
28617	c.ingestmessagerequest = ingestmessagerequest
28618	return c
28619}
28620
28621// Fields allows partial responses to be retrieved. See
28622// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28623// for more information.
28624func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28625	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28626	return c
28627}
28628
28629// Context sets the context to be used in this call's Do method. Any
28630// pending HTTP request will be aborted if the provided context is
28631// canceled.
28632func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28633	c.ctx_ = ctx
28634	return c
28635}
28636
28637// Header returns an http.Header that can be modified by the caller to
28638// add HTTP headers to the request.
28639func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Header() http.Header {
28640	if c.header_ == nil {
28641		c.header_ = make(http.Header)
28642	}
28643	return c.header_
28644}
28645
28646func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
28647	reqHeaders := make(http.Header)
28648	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28649	for k, v := range c.header_ {
28650		reqHeaders[k] = v
28651	}
28652	reqHeaders.Set("User-Agent", c.s.userAgent())
28653	var body io.Reader = nil
28654	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ingestmessagerequest)
28655	if err != nil {
28656		return nil, err
28657	}
28658	reqHeaders.Set("Content-Type", "application/json")
28659	c.urlParams_.Set("alt", alt)
28660	c.urlParams_.Set("prettyPrint", "false")
28661	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:ingest")
28662	urls += "?" + c.urlParams_.Encode()
28663	req, err := http.NewRequest("POST", urls, body)
28664	if err != nil {
28665		return nil, err
28666	}
28667	req.Header = reqHeaders
28668	googleapi.Expand(req.URL, map[string]string{
28669		"parent": c.parent,
28670	})
28671	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28672}
28673
28674// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest" call.
28675// Exactly one of *IngestMessageResponse or error will be non-nil. Any
28676// non-2xx status code is an error. Response headers are in either
28677// *IngestMessageResponse.ServerResponse.Header or (if a response was
28678// returned at all) in error.(*googleapi.Error).Header. Use
28679// googleapi.IsNotModified to check whether the returned error was
28680// because http.StatusNotModified was returned.
28681func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Do(opts ...googleapi.CallOption) (*IngestMessageResponse, error) {
28682	gensupport.SetOptions(c.urlParams_, opts...)
28683	res, err := c.doRequest("json")
28684	if res != nil && res.StatusCode == http.StatusNotModified {
28685		if res.Body != nil {
28686			res.Body.Close()
28687		}
28688		return nil, &googleapi.Error{
28689			Code:   res.StatusCode,
28690			Header: res.Header,
28691		}
28692	}
28693	if err != nil {
28694		return nil, err
28695	}
28696	defer googleapi.CloseBody(res)
28697	if err := googleapi.CheckResponse(res); err != nil {
28698		return nil, err
28699	}
28700	ret := &IngestMessageResponse{
28701		ServerResponse: googleapi.ServerResponse{
28702			Header:         res.Header,
28703			HTTPStatusCode: res.StatusCode,
28704		},
28705	}
28706	target := &ret
28707	if err := gensupport.DecodeResponse(target, res); err != nil {
28708		return nil, err
28709	}
28710	return ret, nil
28711	// {
28712	//   "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received. If the method is successful, it generates a response containing an HL7v2 acknowledgment (`ACK`) message. If the method encounters an error, it returns a negative acknowledgment (`NACK`) message. This behavior is suitable for replying to HL7v2 interface systems that expect these acknowledgments.",
28713	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest",
28714	//   "httpMethod": "POST",
28715	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest",
28716	//   "parameterOrder": [
28717	//     "parent"
28718	//   ],
28719	//   "parameters": {
28720	//     "parent": {
28721	//       "description": "The name of the HL7v2 store this message belongs to.",
28722	//       "location": "path",
28723	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28724	//       "required": true,
28725	//       "type": "string"
28726	//     }
28727	//   },
28728	//   "path": "v1beta1/{+parent}/messages:ingest",
28729	//   "request": {
28730	//     "$ref": "IngestMessageRequest"
28731	//   },
28732	//   "response": {
28733	//     "$ref": "IngestMessageResponse"
28734	//   },
28735	//   "scopes": [
28736	//     "https://www.googleapis.com/auth/cloud-platform"
28737	//   ]
28738	// }
28739
28740}
28741
28742// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.list":
28743
28744type ProjectsLocationsDatasetsHl7V2StoresMessagesListCall struct {
28745	s            *Service
28746	parent       string
28747	urlParams_   gensupport.URLParams
28748	ifNoneMatch_ string
28749	ctx_         context.Context
28750	header_      http.Header
28751}
28752
28753// List: Lists all the messages in the given HL7v2 store with support
28754// for filtering. Note: HL7v2 messages are indexed asynchronously, so
28755// there might be a slight delay between the time a message is created
28756// and when it can be found through a filter.
28757//
28758// - parent: Name of the HL7v2 store to retrieve messages from.
28759func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28760	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28761	c.parent = parent
28762	return c
28763}
28764
28765// Filter sets the optional parameter "filter": Restricts messages
28766// returned to those matching a filter. The following syntax is
28767// available: * A string field value can be written as text inside
28768// quotation marks, for example "query text". The only valid
28769// relational operation for text fields is equality (`=`), where text is
28770// searched within the field, rather than having the field be equal to
28771// the text. For example, "Comment = great" returns messages with
28772// `great` in the comment field. * A number field value can be written
28773// as an integer, a decimal, or an exponential. The valid relational
28774// operators for number fields are the equality operator (`=`), along
28775// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
28776// Note that there is no inequality (`!=`) operator. You can prepend the
28777// `NOT` operator to an expression to negate it. * A date field value
28778// must be written in `yyyy-mm-dd` form. Fields with date and time use
28779// the RFC3339 time format. Leading zeros are required for one-digit
28780// months and days. The valid relational operators for date fields are
28781// the equality operator (`=`) , along with the less than/greater than
28782// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
28783// (`!=`) operator. You can prepend the `NOT` operator to an expression
28784// to negate it. * Multiple field query expressions can be combined in
28785// one query by adding `AND` or `OR` operators between the expressions.
28786// If a boolean operator appears within a quoted string, it is not
28787// treated as special, it's just another part of the character string to
28788// be matched. You can prepend the `NOT` operator to an expression to
28789// negate it. Fields/functions available for filtering are: *
28790// `message_type`, from the MSH-9.1 field. For example, `NOT
28791// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
28792// date the message was sent in the dataset's time_zone, from the MSH-7
28793// segment. For example, `send_date < "2017-01-02". * `send_time`, the
28794// timestamp when the message was sent, using the RFC3339 time format
28795// for comparisons, from the MSH-7 segment. For example, `send_time <
28796// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
28797// message was created in the HL7v2 store. Use the RFC3339 time format
28798// for comparisons. For example, `create_time <
28799// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
28800// the message came from, from the MSH-4 segment. For example,
28801// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
28802// the message lists a patient having an ID of the given value and type
28803// in the PID-2, PID-3, or PID-4 segments. For example,
28804// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
28805// label with key `x` as set using the Message.labels map. For example,
28806// `labels."priority"="high". The operator `:*` can be used to assert
28807// the existence of a label. For example, `labels."priority":*`.
28808func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28809	c.urlParams_.Set("filter", filter)
28810	return c
28811}
28812
28813// OrderBy sets the optional parameter "orderBy": Orders messages
28814// returned by the specified order_by clause. Syntax:
28815// https://cloud.google.com/apis/design/design_patterns#sorting_order
28816// Fields available for ordering are: * `send_time`
28817func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28818	c.urlParams_.Set("orderBy", orderBy)
28819	return c
28820}
28821
28822// PageSize sets the optional parameter "pageSize": Limit on the number
28823// of messages to return in a single response. If not specified, 100 is
28824// used. May not be larger than 1000.
28825func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28826	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28827	return c
28828}
28829
28830// PageToken sets the optional parameter "pageToken": The
28831// next_page_token value returned from the previous List request, if
28832// any.
28833func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28834	c.urlParams_.Set("pageToken", pageToken)
28835	return c
28836}
28837
28838// View sets the optional parameter "view": Specifies the parts of the
28839// Message to return in the response. When unspecified, equivalent to
28840// BASIC. Setting this to anything other than BASIC with a `page_size`
28841// larger than the default can generate a large response, which impacts
28842// the performance of this method.
28843//
28844// Possible values:
28845//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28846// getMessage, equivalent to BASIC for listMessages.
28847//   "RAW_ONLY" - Server responses include all the message fields except
28848// parsed_data, and schematized_data fields.
28849//   "PARSED_ONLY" - Server responses include all the message fields
28850// except data and schematized_data fields.
28851//   "FULL" - Server responses include all the message fields.
28852//   "SCHEMATIZED_ONLY" - Server responses include all the message
28853// fields except data and parsed_data fields.
28854//   "BASIC" - Server responses include only the name field.
28855func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28856	c.urlParams_.Set("view", view)
28857	return c
28858}
28859
28860// Fields allows partial responses to be retrieved. See
28861// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28862// for more information.
28863func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28864	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28865	return c
28866}
28867
28868// IfNoneMatch sets the optional parameter which makes the operation
28869// fail if the object's ETag matches the given value. This is useful for
28870// getting updates only after the object has changed since the last
28871// request. Use googleapi.IsNotModified to check whether the response
28872// error from Do is the result of In-None-Match.
28873func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28874	c.ifNoneMatch_ = entityTag
28875	return c
28876}
28877
28878// Context sets the context to be used in this call's Do method. Any
28879// pending HTTP request will be aborted if the provided context is
28880// canceled.
28881func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28882	c.ctx_ = ctx
28883	return c
28884}
28885
28886// Header returns an http.Header that can be modified by the caller to
28887// add HTTP headers to the request.
28888func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Header() http.Header {
28889	if c.header_ == nil {
28890		c.header_ = make(http.Header)
28891	}
28892	return c.header_
28893}
28894
28895func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
28896	reqHeaders := make(http.Header)
28897	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
28898	for k, v := range c.header_ {
28899		reqHeaders[k] = v
28900	}
28901	reqHeaders.Set("User-Agent", c.s.userAgent())
28902	if c.ifNoneMatch_ != "" {
28903		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28904	}
28905	var body io.Reader = nil
28906	c.urlParams_.Set("alt", alt)
28907	c.urlParams_.Set("prettyPrint", "false")
28908	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28909	urls += "?" + c.urlParams_.Encode()
28910	req, err := http.NewRequest("GET", urls, body)
28911	if err != nil {
28912		return nil, err
28913	}
28914	req.Header = reqHeaders
28915	googleapi.Expand(req.URL, map[string]string{
28916		"parent": c.parent,
28917	})
28918	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28919}
28920
28921// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.list" call.
28922// Exactly one of *ListMessagesResponse or error will be non-nil. Any
28923// non-2xx status code is an error. Response headers are in either
28924// *ListMessagesResponse.ServerResponse.Header or (if a response was
28925// returned at all) in error.(*googleapi.Error).Header. Use
28926// googleapi.IsNotModified to check whether the returned error was
28927// because http.StatusNotModified was returned.
28928func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Do(opts ...googleapi.CallOption) (*ListMessagesResponse, error) {
28929	gensupport.SetOptions(c.urlParams_, opts...)
28930	res, err := c.doRequest("json")
28931	if res != nil && res.StatusCode == http.StatusNotModified {
28932		if res.Body != nil {
28933			res.Body.Close()
28934		}
28935		return nil, &googleapi.Error{
28936			Code:   res.StatusCode,
28937			Header: res.Header,
28938		}
28939	}
28940	if err != nil {
28941		return nil, err
28942	}
28943	defer googleapi.CloseBody(res)
28944	if err := googleapi.CheckResponse(res); err != nil {
28945		return nil, err
28946	}
28947	ret := &ListMessagesResponse{
28948		ServerResponse: googleapi.ServerResponse{
28949			Header:         res.Header,
28950			HTTPStatusCode: res.StatusCode,
28951		},
28952	}
28953	target := &ret
28954	if err := gensupport.DecodeResponse(target, res); err != nil {
28955		return nil, err
28956	}
28957	return ret, nil
28958	// {
28959	//   "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.",
28960	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28961	//   "httpMethod": "GET",
28962	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list",
28963	//   "parameterOrder": [
28964	//     "parent"
28965	//   ],
28966	//   "parameters": {
28967	//     "filter": {
28968	//       "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\":*`.",
28969	//       "location": "query",
28970	//       "type": "string"
28971	//     },
28972	//     "orderBy": {
28973	//       "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`",
28974	//       "location": "query",
28975	//       "type": "string"
28976	//     },
28977	//     "pageSize": {
28978	//       "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.",
28979	//       "format": "int32",
28980	//       "location": "query",
28981	//       "type": "integer"
28982	//     },
28983	//     "pageToken": {
28984	//       "description": "The next_page_token value returned from the previous List request, if any.",
28985	//       "location": "query",
28986	//       "type": "string"
28987	//     },
28988	//     "parent": {
28989	//       "description": "Name of the HL7v2 store to retrieve messages from.",
28990	//       "location": "path",
28991	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28992	//       "required": true,
28993	//       "type": "string"
28994	//     },
28995	//     "view": {
28996	//       "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.",
28997	//       "enum": [
28998	//         "MESSAGE_VIEW_UNSPECIFIED",
28999	//         "RAW_ONLY",
29000	//         "PARSED_ONLY",
29001	//         "FULL",
29002	//         "SCHEMATIZED_ONLY",
29003	//         "BASIC"
29004	//       ],
29005	//       "enumDescriptions": [
29006	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
29007	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
29008	//         "Server responses include all the message fields except data and schematized_data fields.",
29009	//         "Server responses include all the message fields.",
29010	//         "Server responses include all the message fields except data and parsed_data fields.",
29011	//         "Server responses include only the name field."
29012	//       ],
29013	//       "location": "query",
29014	//       "type": "string"
29015	//     }
29016	//   },
29017	//   "path": "v1beta1/{+parent}/messages",
29018	//   "response": {
29019	//     "$ref": "ListMessagesResponse"
29020	//   },
29021	//   "scopes": [
29022	//     "https://www.googleapis.com/auth/cloud-platform"
29023	//   ]
29024	// }
29025
29026}
29027
29028// Pages invokes f for each page of results.
29029// A non-nil error returned from f will halt the iteration.
29030// The provided context supersedes any context provided to the Context method.
29031func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Pages(ctx context.Context, f func(*ListMessagesResponse) error) error {
29032	c.ctx_ = ctx
29033	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29034	for {
29035		x, err := c.Do()
29036		if err != nil {
29037			return err
29038		}
29039		if err := f(x); err != nil {
29040			return err
29041		}
29042		if x.NextPageToken == "" {
29043			return nil
29044		}
29045		c.PageToken(x.NextPageToken)
29046	}
29047}
29048
29049// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch":
29050
29051type ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall struct {
29052	s          *Service
29053	name       string
29054	message    *Message
29055	urlParams_ gensupport.URLParams
29056	ctx_       context.Context
29057	header_    http.Header
29058}
29059
29060// Patch: Update the message. The contents of the message in
29061// Message.data and data extracted from the contents such as
29062// Message.create_time can't be altered. Only the Message.labels field
29063// is allowed to be updated. The labels in the request are merged with
29064// the existing set of labels. Existing labels with the same keys are
29065// updated.
29066//
29067// - name: Resource name of the Message, of the form
29068//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_sto
29069//   re_id}/messages/{message_id}`. Assigned by the server.
29070func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Patch(name string, message *Message) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29071	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29072	c.name = name
29073	c.message = message
29074	return c
29075}
29076
29077// UpdateMask sets the optional parameter "updateMask": The update mask
29078// applies to the resource. For the `FieldMask` definition, see
29079// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
29080func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29081	c.urlParams_.Set("updateMask", updateMask)
29082	return c
29083}
29084
29085// Fields allows partial responses to be retrieved. See
29086// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29087// for more information.
29088func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29089	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29090	return c
29091}
29092
29093// Context sets the context to be used in this call's Do method. Any
29094// pending HTTP request will be aborted if the provided context is
29095// canceled.
29096func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29097	c.ctx_ = ctx
29098	return c
29099}
29100
29101// Header returns an http.Header that can be modified by the caller to
29102// add HTTP headers to the request.
29103func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Header() http.Header {
29104	if c.header_ == nil {
29105		c.header_ = make(http.Header)
29106	}
29107	return c.header_
29108}
29109
29110func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
29111	reqHeaders := make(http.Header)
29112	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
29113	for k, v := range c.header_ {
29114		reqHeaders[k] = v
29115	}
29116	reqHeaders.Set("User-Agent", c.s.userAgent())
29117	var body io.Reader = nil
29118	body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
29119	if err != nil {
29120		return nil, err
29121	}
29122	reqHeaders.Set("Content-Type", "application/json")
29123	c.urlParams_.Set("alt", alt)
29124	c.urlParams_.Set("prettyPrint", "false")
29125	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29126	urls += "?" + c.urlParams_.Encode()
29127	req, err := http.NewRequest("PATCH", urls, body)
29128	if err != nil {
29129		return nil, err
29130	}
29131	req.Header = reqHeaders
29132	googleapi.Expand(req.URL, map[string]string{
29133		"name": c.name,
29134	})
29135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29136}
29137
29138// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch" call.
29139// Exactly one of *Message or error will be non-nil. Any non-2xx status
29140// code is an error. Response headers are in either
29141// *Message.ServerResponse.Header or (if a response was returned at all)
29142// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29143// check whether the returned error was because http.StatusNotModified
29144// was returned.
29145func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Do(opts ...googleapi.CallOption) (*Message, error) {
29146	gensupport.SetOptions(c.urlParams_, opts...)
29147	res, err := c.doRequest("json")
29148	if res != nil && res.StatusCode == http.StatusNotModified {
29149		if res.Body != nil {
29150			res.Body.Close()
29151		}
29152		return nil, &googleapi.Error{
29153			Code:   res.StatusCode,
29154			Header: res.Header,
29155		}
29156	}
29157	if err != nil {
29158		return nil, err
29159	}
29160	defer googleapi.CloseBody(res)
29161	if err := googleapi.CheckResponse(res); err != nil {
29162		return nil, err
29163	}
29164	ret := &Message{
29165		ServerResponse: googleapi.ServerResponse{
29166			Header:         res.Header,
29167			HTTPStatusCode: res.StatusCode,
29168		},
29169	}
29170	target := &ret
29171	if err := gensupport.DecodeResponse(target, res); err != nil {
29172		return nil, err
29173	}
29174	return ret, nil
29175	// {
29176	//   "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.",
29177	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
29178	//   "httpMethod": "PATCH",
29179	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch",
29180	//   "parameterOrder": [
29181	//     "name"
29182	//   ],
29183	//   "parameters": {
29184	//     "name": {
29185	//       "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.",
29186	//       "location": "path",
29187	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
29188	//       "required": true,
29189	//       "type": "string"
29190	//     },
29191	//     "updateMask": {
29192	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
29193	//       "format": "google-fieldmask",
29194	//       "location": "query",
29195	//       "type": "string"
29196	//     }
29197	//   },
29198	//   "path": "v1beta1/{+name}",
29199	//   "request": {
29200	//     "$ref": "Message"
29201	//   },
29202	//   "response": {
29203	//     "$ref": "Message"
29204	//   },
29205	//   "scopes": [
29206	//     "https://www.googleapis.com/auth/cloud-platform"
29207	//   ]
29208	// }
29209
29210}
29211
29212// method id "healthcare.projects.locations.datasets.operations.cancel":
29213
29214type ProjectsLocationsDatasetsOperationsCancelCall struct {
29215	s                      *Service
29216	name                   string
29217	canceloperationrequest *CancelOperationRequest
29218	urlParams_             gensupport.URLParams
29219	ctx_                   context.Context
29220	header_                http.Header
29221}
29222
29223// Cancel: Starts asynchronous cancellation on a long-running operation.
29224// The server makes a best effort to cancel the operation, but success
29225// is not guaranteed. If the server doesn't support this method, it
29226// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
29227// Operations.GetOperation or other methods to check whether the
29228// cancellation succeeded or whether the operation completed despite
29229// cancellation. On successful cancellation, the operation is not
29230// deleted; instead, it becomes an operation with an Operation.error
29231// value with a google.rpc.Status.code of 1, corresponding to
29232// `Code.CANCELLED`.
29233//
29234// - name: The name of the operation resource to be cancelled.
29235func (r *ProjectsLocationsDatasetsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsDatasetsOperationsCancelCall {
29236	c := &ProjectsLocationsDatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29237	c.name = name
29238	c.canceloperationrequest = canceloperationrequest
29239	return c
29240}
29241
29242// Fields allows partial responses to be retrieved. See
29243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29244// for more information.
29245func (c *ProjectsLocationsDatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsCancelCall {
29246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29247	return c
29248}
29249
29250// Context sets the context to be used in this call's Do method. Any
29251// pending HTTP request will be aborted if the provided context is
29252// canceled.
29253func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
29254	c.ctx_ = ctx
29255	return c
29256}
29257
29258// Header returns an http.Header that can be modified by the caller to
29259// add HTTP headers to the request.
29260func (c *ProjectsLocationsDatasetsOperationsCancelCall) Header() http.Header {
29261	if c.header_ == nil {
29262		c.header_ = make(http.Header)
29263	}
29264	return c.header_
29265}
29266
29267func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
29268	reqHeaders := make(http.Header)
29269	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
29270	for k, v := range c.header_ {
29271		reqHeaders[k] = v
29272	}
29273	reqHeaders.Set("User-Agent", c.s.userAgent())
29274	var body io.Reader = nil
29275	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
29276	if err != nil {
29277		return nil, err
29278	}
29279	reqHeaders.Set("Content-Type", "application/json")
29280	c.urlParams_.Set("alt", alt)
29281	c.urlParams_.Set("prettyPrint", "false")
29282	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
29283	urls += "?" + c.urlParams_.Encode()
29284	req, err := http.NewRequest("POST", urls, body)
29285	if err != nil {
29286		return nil, err
29287	}
29288	req.Header = reqHeaders
29289	googleapi.Expand(req.URL, map[string]string{
29290		"name": c.name,
29291	})
29292	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29293}
29294
29295// Do executes the "healthcare.projects.locations.datasets.operations.cancel" call.
29296// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29297// code is an error. Response headers are in either
29298// *Empty.ServerResponse.Header or (if a response was returned at all)
29299// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29300// check whether the returned error was because http.StatusNotModified
29301// was returned.
29302func (c *ProjectsLocationsDatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29303	gensupport.SetOptions(c.urlParams_, opts...)
29304	res, err := c.doRequest("json")
29305	if res != nil && res.StatusCode == http.StatusNotModified {
29306		if res.Body != nil {
29307			res.Body.Close()
29308		}
29309		return nil, &googleapi.Error{
29310			Code:   res.StatusCode,
29311			Header: res.Header,
29312		}
29313	}
29314	if err != nil {
29315		return nil, err
29316	}
29317	defer googleapi.CloseBody(res)
29318	if err := googleapi.CheckResponse(res); err != nil {
29319		return nil, err
29320	}
29321	ret := &Empty{
29322		ServerResponse: googleapi.ServerResponse{
29323			Header:         res.Header,
29324			HTTPStatusCode: res.StatusCode,
29325		},
29326	}
29327	target := &ret
29328	if err := gensupport.DecodeResponse(target, res); err != nil {
29329		return nil, err
29330	}
29331	return ret, nil
29332	// {
29333	//   "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`.",
29334	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
29335	//   "httpMethod": "POST",
29336	//   "id": "healthcare.projects.locations.datasets.operations.cancel",
29337	//   "parameterOrder": [
29338	//     "name"
29339	//   ],
29340	//   "parameters": {
29341	//     "name": {
29342	//       "description": "The name of the operation resource to be cancelled.",
29343	//       "location": "path",
29344	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29345	//       "required": true,
29346	//       "type": "string"
29347	//     }
29348	//   },
29349	//   "path": "v1beta1/{+name}:cancel",
29350	//   "request": {
29351	//     "$ref": "CancelOperationRequest"
29352	//   },
29353	//   "response": {
29354	//     "$ref": "Empty"
29355	//   },
29356	//   "scopes": [
29357	//     "https://www.googleapis.com/auth/cloud-platform"
29358	//   ]
29359	// }
29360
29361}
29362
29363// method id "healthcare.projects.locations.datasets.operations.get":
29364
29365type ProjectsLocationsDatasetsOperationsGetCall struct {
29366	s            *Service
29367	name         string
29368	urlParams_   gensupport.URLParams
29369	ifNoneMatch_ string
29370	ctx_         context.Context
29371	header_      http.Header
29372}
29373
29374// Get: Gets the latest state of a long-running operation. Clients can
29375// use this method to poll the operation result at intervals as
29376// recommended by the API service.
29377//
29378// - name: The name of the operation resource.
29379func (r *ProjectsLocationsDatasetsOperationsService) Get(name string) *ProjectsLocationsDatasetsOperationsGetCall {
29380	c := &ProjectsLocationsDatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29381	c.name = name
29382	return c
29383}
29384
29385// Fields allows partial responses to be retrieved. See
29386// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29387// for more information.
29388func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
29389	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29390	return c
29391}
29392
29393// IfNoneMatch sets the optional parameter which makes the operation
29394// fail if the object's ETag matches the given value. This is useful for
29395// getting updates only after the object has changed since the last
29396// request. Use googleapi.IsNotModified to check whether the response
29397// error from Do is the result of In-None-Match.
29398func (c *ProjectsLocationsDatasetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsGetCall {
29399	c.ifNoneMatch_ = entityTag
29400	return c
29401}
29402
29403// Context sets the context to be used in this call's Do method. Any
29404// pending HTTP request will be aborted if the provided context is
29405// canceled.
29406func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
29407	c.ctx_ = ctx
29408	return c
29409}
29410
29411// Header returns an http.Header that can be modified by the caller to
29412// add HTTP headers to the request.
29413func (c *ProjectsLocationsDatasetsOperationsGetCall) Header() http.Header {
29414	if c.header_ == nil {
29415		c.header_ = make(http.Header)
29416	}
29417	return c.header_
29418}
29419
29420func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
29421	reqHeaders := make(http.Header)
29422	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
29423	for k, v := range c.header_ {
29424		reqHeaders[k] = v
29425	}
29426	reqHeaders.Set("User-Agent", c.s.userAgent())
29427	if c.ifNoneMatch_ != "" {
29428		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29429	}
29430	var body io.Reader = nil
29431	c.urlParams_.Set("alt", alt)
29432	c.urlParams_.Set("prettyPrint", "false")
29433	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29434	urls += "?" + c.urlParams_.Encode()
29435	req, err := http.NewRequest("GET", urls, body)
29436	if err != nil {
29437		return nil, err
29438	}
29439	req.Header = reqHeaders
29440	googleapi.Expand(req.URL, map[string]string{
29441		"name": c.name,
29442	})
29443	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29444}
29445
29446// Do executes the "healthcare.projects.locations.datasets.operations.get" call.
29447// Exactly one of *Operation or error will be non-nil. Any non-2xx
29448// status code is an error. Response headers are in either
29449// *Operation.ServerResponse.Header or (if a response was returned at
29450// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29451// to check whether the returned error was because
29452// http.StatusNotModified was returned.
29453func (c *ProjectsLocationsDatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
29454	gensupport.SetOptions(c.urlParams_, opts...)
29455	res, err := c.doRequest("json")
29456	if res != nil && res.StatusCode == http.StatusNotModified {
29457		if res.Body != nil {
29458			res.Body.Close()
29459		}
29460		return nil, &googleapi.Error{
29461			Code:   res.StatusCode,
29462			Header: res.Header,
29463		}
29464	}
29465	if err != nil {
29466		return nil, err
29467	}
29468	defer googleapi.CloseBody(res)
29469	if err := googleapi.CheckResponse(res); err != nil {
29470		return nil, err
29471	}
29472	ret := &Operation{
29473		ServerResponse: googleapi.ServerResponse{
29474			Header:         res.Header,
29475			HTTPStatusCode: res.StatusCode,
29476		},
29477	}
29478	target := &ret
29479	if err := gensupport.DecodeResponse(target, res); err != nil {
29480		return nil, err
29481	}
29482	return ret, nil
29483	// {
29484	//   "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.",
29485	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
29486	//   "httpMethod": "GET",
29487	//   "id": "healthcare.projects.locations.datasets.operations.get",
29488	//   "parameterOrder": [
29489	//     "name"
29490	//   ],
29491	//   "parameters": {
29492	//     "name": {
29493	//       "description": "The name of the operation resource.",
29494	//       "location": "path",
29495	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29496	//       "required": true,
29497	//       "type": "string"
29498	//     }
29499	//   },
29500	//   "path": "v1beta1/{+name}",
29501	//   "response": {
29502	//     "$ref": "Operation"
29503	//   },
29504	//   "scopes": [
29505	//     "https://www.googleapis.com/auth/cloud-platform"
29506	//   ]
29507	// }
29508
29509}
29510
29511// method id "healthcare.projects.locations.datasets.operations.list":
29512
29513type ProjectsLocationsDatasetsOperationsListCall struct {
29514	s            *Service
29515	name         string
29516	urlParams_   gensupport.URLParams
29517	ifNoneMatch_ string
29518	ctx_         context.Context
29519	header_      http.Header
29520}
29521
29522// List: Lists operations that match the specified filter in the
29523// request. If the server doesn't support this method, it returns
29524// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
29525// override the binding to use different resource name schemes, such as
29526// `users/*/operations`. To override the binding, API services can add a
29527// binding such as "/v1/{name=users/*}/operations" to their service
29528// configuration. For backwards compatibility, the default name includes
29529// the operations collection id, however overriding users must ensure
29530// the name binding is the parent resource, without the operations
29531// collection id.
29532//
29533// - name: The name of the operation's parent resource.
29534func (r *ProjectsLocationsDatasetsOperationsService) List(name string) *ProjectsLocationsDatasetsOperationsListCall {
29535	c := &ProjectsLocationsDatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29536	c.name = name
29537	return c
29538}
29539
29540// Filter sets the optional parameter "filter": The standard list
29541// filter.
29542func (c *ProjectsLocationsDatasetsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsOperationsListCall {
29543	c.urlParams_.Set("filter", filter)
29544	return c
29545}
29546
29547// PageSize sets the optional parameter "pageSize": The standard list
29548// page size.
29549func (c *ProjectsLocationsDatasetsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsOperationsListCall {
29550	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29551	return c
29552}
29553
29554// PageToken sets the optional parameter "pageToken": The standard list
29555// page token.
29556func (c *ProjectsLocationsDatasetsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsOperationsListCall {
29557	c.urlParams_.Set("pageToken", pageToken)
29558	return c
29559}
29560
29561// Fields allows partial responses to be retrieved. See
29562// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29563// for more information.
29564func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
29565	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29566	return c
29567}
29568
29569// IfNoneMatch sets the optional parameter which makes the operation
29570// fail if the object's ETag matches the given value. This is useful for
29571// getting updates only after the object has changed since the last
29572// request. Use googleapi.IsNotModified to check whether the response
29573// error from Do is the result of In-None-Match.
29574func (c *ProjectsLocationsDatasetsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsListCall {
29575	c.ifNoneMatch_ = entityTag
29576	return c
29577}
29578
29579// Context sets the context to be used in this call's Do method. Any
29580// pending HTTP request will be aborted if the provided context is
29581// canceled.
29582func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
29583	c.ctx_ = ctx
29584	return c
29585}
29586
29587// Header returns an http.Header that can be modified by the caller to
29588// add HTTP headers to the request.
29589func (c *ProjectsLocationsDatasetsOperationsListCall) Header() http.Header {
29590	if c.header_ == nil {
29591		c.header_ = make(http.Header)
29592	}
29593	return c.header_
29594}
29595
29596func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
29597	reqHeaders := make(http.Header)
29598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
29599	for k, v := range c.header_ {
29600		reqHeaders[k] = v
29601	}
29602	reqHeaders.Set("User-Agent", c.s.userAgent())
29603	if c.ifNoneMatch_ != "" {
29604		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29605	}
29606	var body io.Reader = nil
29607	c.urlParams_.Set("alt", alt)
29608	c.urlParams_.Set("prettyPrint", "false")
29609	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations")
29610	urls += "?" + c.urlParams_.Encode()
29611	req, err := http.NewRequest("GET", urls, body)
29612	if err != nil {
29613		return nil, err
29614	}
29615	req.Header = reqHeaders
29616	googleapi.Expand(req.URL, map[string]string{
29617		"name": c.name,
29618	})
29619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29620}
29621
29622// Do executes the "healthcare.projects.locations.datasets.operations.list" call.
29623// Exactly one of *ListOperationsResponse or error will be non-nil. Any
29624// non-2xx status code is an error. Response headers are in either
29625// *ListOperationsResponse.ServerResponse.Header or (if a response was
29626// returned at all) in error.(*googleapi.Error).Header. Use
29627// googleapi.IsNotModified to check whether the returned error was
29628// because http.StatusNotModified was returned.
29629func (c *ProjectsLocationsDatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
29630	gensupport.SetOptions(c.urlParams_, opts...)
29631	res, err := c.doRequest("json")
29632	if res != nil && res.StatusCode == http.StatusNotModified {
29633		if res.Body != nil {
29634			res.Body.Close()
29635		}
29636		return nil, &googleapi.Error{
29637			Code:   res.StatusCode,
29638			Header: res.Header,
29639		}
29640	}
29641	if err != nil {
29642		return nil, err
29643	}
29644	defer googleapi.CloseBody(res)
29645	if err := googleapi.CheckResponse(res); err != nil {
29646		return nil, err
29647	}
29648	ret := &ListOperationsResponse{
29649		ServerResponse: googleapi.ServerResponse{
29650			Header:         res.Header,
29651			HTTPStatusCode: res.StatusCode,
29652		},
29653	}
29654	target := &ret
29655	if err := gensupport.DecodeResponse(target, res); err != nil {
29656		return nil, err
29657	}
29658	return ret, nil
29659	// {
29660	//   "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.",
29661	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
29662	//   "httpMethod": "GET",
29663	//   "id": "healthcare.projects.locations.datasets.operations.list",
29664	//   "parameterOrder": [
29665	//     "name"
29666	//   ],
29667	//   "parameters": {
29668	//     "filter": {
29669	//       "description": "The standard list filter.",
29670	//       "location": "query",
29671	//       "type": "string"
29672	//     },
29673	//     "name": {
29674	//       "description": "The name of the operation's parent resource.",
29675	//       "location": "path",
29676	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
29677	//       "required": true,
29678	//       "type": "string"
29679	//     },
29680	//     "pageSize": {
29681	//       "description": "The standard list page size.",
29682	//       "format": "int32",
29683	//       "location": "query",
29684	//       "type": "integer"
29685	//     },
29686	//     "pageToken": {
29687	//       "description": "The standard list page token.",
29688	//       "location": "query",
29689	//       "type": "string"
29690	//     }
29691	//   },
29692	//   "path": "v1beta1/{+name}/operations",
29693	//   "response": {
29694	//     "$ref": "ListOperationsResponse"
29695	//   },
29696	//   "scopes": [
29697	//     "https://www.googleapis.com/auth/cloud-platform"
29698	//   ]
29699	// }
29700
29701}
29702
29703// Pages invokes f for each page of results.
29704// A non-nil error returned from f will halt the iteration.
29705// The provided context supersedes any context provided to the Context method.
29706func (c *ProjectsLocationsDatasetsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
29707	c.ctx_ = ctx
29708	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29709	for {
29710		x, err := c.Do()
29711		if err != nil {
29712			return err
29713		}
29714		if err := f(x); err != nil {
29715			return err
29716		}
29717		if x.NextPageToken == "" {
29718			return nil
29719		}
29720		c.PageToken(x.NextPageToken)
29721	}
29722}
29723
29724// method id "healthcare.projects.locations.services.nlp.analyzeEntities":
29725
29726type ProjectsLocationsServicesNlpAnalyzeEntitiesCall struct {
29727	s                      *Service
29728	nlpService             string
29729	analyzeentitiesrequest *AnalyzeEntitiesRequest
29730	urlParams_             gensupport.URLParams
29731	ctx_                   context.Context
29732	header_                http.Header
29733}
29734
29735// AnalyzeEntities: Analyze heathcare entity in a document. Its response
29736// includes the recognized entity mentions and the relationships between
29737// them. AnalyzeEntities uses context aware models to detect entities.
29738//
29739// - nlpService: The resource name of the service of the form:
29740//   "projects/{project_id}/locations/{location_id}/services/nlp".
29741func (r *ProjectsLocationsServicesNlpService) AnalyzeEntities(nlpService string, analyzeentitiesrequest *AnalyzeEntitiesRequest) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29742	c := &ProjectsLocationsServicesNlpAnalyzeEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29743	c.nlpService = nlpService
29744	c.analyzeentitiesrequest = analyzeentitiesrequest
29745	return c
29746}
29747
29748// Fields allows partial responses to be retrieved. See
29749// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29750// for more information.
29751func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29752	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29753	return c
29754}
29755
29756// Context sets the context to be used in this call's Do method. Any
29757// pending HTTP request will be aborted if the provided context is
29758// canceled.
29759func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Context(ctx context.Context) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29760	c.ctx_ = ctx
29761	return c
29762}
29763
29764// Header returns an http.Header that can be modified by the caller to
29765// add HTTP headers to the request.
29766func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Header() http.Header {
29767	if c.header_ == nil {
29768		c.header_ = make(http.Header)
29769	}
29770	return c.header_
29771}
29772
29773func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
29774	reqHeaders := make(http.Header)
29775	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210502")
29776	for k, v := range c.header_ {
29777		reqHeaders[k] = v
29778	}
29779	reqHeaders.Set("User-Agent", c.s.userAgent())
29780	var body io.Reader = nil
29781	body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzeentitiesrequest)
29782	if err != nil {
29783		return nil, err
29784	}
29785	reqHeaders.Set("Content-Type", "application/json")
29786	c.urlParams_.Set("alt", alt)
29787	c.urlParams_.Set("prettyPrint", "false")
29788	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+nlpService}:analyzeEntities")
29789	urls += "?" + c.urlParams_.Encode()
29790	req, err := http.NewRequest("POST", urls, body)
29791	if err != nil {
29792		return nil, err
29793	}
29794	req.Header = reqHeaders
29795	googleapi.Expand(req.URL, map[string]string{
29796		"nlpService": c.nlpService,
29797	})
29798	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29799}
29800
29801// Do executes the "healthcare.projects.locations.services.nlp.analyzeEntities" call.
29802// Exactly one of *AnalyzeEntitiesResponse or error will be non-nil. Any
29803// non-2xx status code is an error. Response headers are in either
29804// *AnalyzeEntitiesResponse.ServerResponse.Header or (if a response was
29805// returned at all) in error.(*googleapi.Error).Header. Use
29806// googleapi.IsNotModified to check whether the returned error was
29807// because http.StatusNotModified was returned.
29808func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*AnalyzeEntitiesResponse, error) {
29809	gensupport.SetOptions(c.urlParams_, opts...)
29810	res, err := c.doRequest("json")
29811	if res != nil && res.StatusCode == http.StatusNotModified {
29812		if res.Body != nil {
29813			res.Body.Close()
29814		}
29815		return nil, &googleapi.Error{
29816			Code:   res.StatusCode,
29817			Header: res.Header,
29818		}
29819	}
29820	if err != nil {
29821		return nil, err
29822	}
29823	defer googleapi.CloseBody(res)
29824	if err := googleapi.CheckResponse(res); err != nil {
29825		return nil, err
29826	}
29827	ret := &AnalyzeEntitiesResponse{
29828		ServerResponse: googleapi.ServerResponse{
29829			Header:         res.Header,
29830			HTTPStatusCode: res.StatusCode,
29831		},
29832	}
29833	target := &ret
29834	if err := gensupport.DecodeResponse(target, res); err != nil {
29835		return nil, err
29836	}
29837	return ret, nil
29838	// {
29839	//   "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.",
29840	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/services/nlp:analyzeEntities",
29841	//   "httpMethod": "POST",
29842	//   "id": "healthcare.projects.locations.services.nlp.analyzeEntities",
29843	//   "parameterOrder": [
29844	//     "nlpService"
29845	//   ],
29846	//   "parameters": {
29847	//     "nlpService": {
29848	//       "description": "The resource name of the service of the form: \"projects/{project_id}/locations/{location_id}/services/nlp\".",
29849	//       "location": "path",
29850	//       "pattern": "^projects/[^/]+/locations/[^/]+/services/nlp$",
29851	//       "required": true,
29852	//       "type": "string"
29853	//     }
29854	//   },
29855	//   "path": "v1beta1/{+nlpService}:analyzeEntities",
29856	//   "request": {
29857	//     "$ref": "AnalyzeEntitiesRequest"
29858	//   },
29859	//   "response": {
29860	//     "$ref": "AnalyzeEntitiesResponse"
29861	//   },
29862	//   "scopes": [
29863	//     "https://www.googleapis.com/auth/cloud-platform"
29864	//   ]
29865	// }
29866
29867}
29868