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 whether existing tables in the
3130	// destination dataset are overwritten or appended to. If a
3131	// write_disposition is specified, the `force` parameter is ignored.
3132	//
3133	// Possible values:
3134	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3135	// WRITE_EMPTY.
3136	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3137	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3138	// writing the instances.
3139	//   "WRITE_APPEND" - Append data to the existing table.
3140	WriteDisposition string `json:"writeDisposition,omitempty"`
3141
3142	// ForceSendFields is a list of field names (e.g. "Force") to
3143	// unconditionally include in API requests. By default, fields with
3144	// empty values are omitted from API requests. However, any non-pointer,
3145	// non-interface field appearing in ForceSendFields will be sent to the
3146	// server regardless of whether the field is empty or not. This may be
3147	// used to include empty fields in Patch requests.
3148	ForceSendFields []string `json:"-"`
3149
3150	// NullFields is a list of field names (e.g. "Force") to include in API
3151	// requests with the JSON null value. By default, fields with empty
3152	// values are omitted from API requests. However, any field with an
3153	// empty value appearing in NullFields will be sent to the server as
3154	// null. It is an error if a field in this list has a non-empty value.
3155	// This may be used to include null fields in Patch requests.
3156	NullFields []string `json:"-"`
3157}
3158
3159func (s *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination) MarshalJSON() ([]byte, error) {
3160	type NoMethod GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination
3161	raw := NoMethod(*s)
3162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3163}
3164
3165// GoogleCloudHealthcareV1beta1AnnotationGcsDestination: The Cloud
3166// Storage location for export.
3167type GoogleCloudHealthcareV1beta1AnnotationGcsDestination struct {
3168	// UriPrefix: The Cloud Storage destination to export to. URI for a
3169	// Cloud Storage directory where the server writes result files, in the
3170	// format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no
3171	// trailing slash, the service appends one when composing the object
3172	// path. The user is responsible for creating the Cloud Storage bucket
3173	// referenced in `uri_prefix`.
3174	UriPrefix string `json:"uriPrefix,omitempty"`
3175
3176	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3177	// unconditionally include in API requests. By default, fields with
3178	// empty values are omitted from API requests. However, any non-pointer,
3179	// non-interface field appearing in ForceSendFields will be sent to the
3180	// server regardless of whether the field is empty or not. This may be
3181	// used to include empty fields in Patch requests.
3182	ForceSendFields []string `json:"-"`
3183
3184	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3185	// API requests with the JSON null value. By default, fields with empty
3186	// values are omitted from API requests. However, any field with an
3187	// empty value appearing in NullFields will be sent to the server as
3188	// null. It is an error if a field in this list has a non-empty value.
3189	// This may be used to include null fields in Patch requests.
3190	NullFields []string `json:"-"`
3191}
3192
3193func (s *GoogleCloudHealthcareV1beta1AnnotationGcsDestination) MarshalJSON() ([]byte, error) {
3194	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsDestination
3195	raw := NoMethod(*s)
3196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3197}
3198
3199// GoogleCloudHealthcareV1beta1AnnotationGcsSource: Specifies the
3200// configuration for importing data from Cloud Storage.
3201type GoogleCloudHealthcareV1beta1AnnotationGcsSource struct {
3202	// Uri: Points to a Cloud Storage URI containing file(s) with content
3203	// only. The URI must be in the following format:
3204	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3205	// `object_id` and thus identify multiple files. Supported wildcards:
3206	// '*' to match 0 or more non-separator characters '**' to match 0 or
3207	// more characters (including separators). Must be used at the end of a
3208	// path and with no other wildcards in the path. Can also be used with a
3209	// file extension (such as .dcm), which imports all files with the
3210	// extension in the specified directory and its sub-directories. For
3211	// example, `gs://my-bucket/my-directory/**.json` imports all files with
3212	// .json extensions in `my-directory/` and its sub-directories. '?' to
3213	// match 1 character All other URI formats are invalid. Files matching
3214	// the wildcard are expected to contain content only, no metadata.
3215	Uri string `json:"uri,omitempty"`
3216
3217	// ForceSendFields is a list of field names (e.g. "Uri") to
3218	// unconditionally include in API requests. By default, fields with
3219	// empty values are omitted from API requests. However, any non-pointer,
3220	// non-interface field appearing in ForceSendFields will be sent to the
3221	// server regardless of whether the field is empty or not. This may be
3222	// used to include empty fields in Patch requests.
3223	ForceSendFields []string `json:"-"`
3224
3225	// NullFields is a list of field names (e.g. "Uri") to include in API
3226	// requests with the JSON null value. By default, fields with empty
3227	// values are omitted from API requests. However, any field with an
3228	// empty value appearing in NullFields will be sent to the server as
3229	// null. It is an error if a field in this list has a non-empty value.
3230	// This may be used to include null fields in Patch requests.
3231	NullFields []string `json:"-"`
3232}
3233
3234func (s *GoogleCloudHealthcareV1beta1AnnotationGcsSource) MarshalJSON() ([]byte, error) {
3235	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsSource
3236	raw := NoMethod(*s)
3237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3238}
3239
3240// GoogleCloudHealthcareV1beta1ConsentGcsDestination: The Cloud Storage
3241// location for export.
3242type GoogleCloudHealthcareV1beta1ConsentGcsDestination struct {
3243	// UriPrefix: URI for a Cloud Storage directory where the server writes
3244	// result files, in the format
3245	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3246	// slash, the service appends one when composing the object path. The
3247	// user is responsible for creating the Cloud Storage bucket and
3248	// directory referenced in `uri_prefix`.
3249	UriPrefix string `json:"uriPrefix,omitempty"`
3250
3251	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3252	// unconditionally include in API requests. By default, fields with
3253	// empty values are omitted from API requests. However, any non-pointer,
3254	// non-interface field appearing in ForceSendFields will be sent to the
3255	// server regardless of whether the field is empty or not. This may be
3256	// used to include empty fields in Patch requests.
3257	ForceSendFields []string `json:"-"`
3258
3259	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3260	// API requests with the JSON null value. By default, fields with empty
3261	// values are omitted from API requests. However, any field with an
3262	// empty value appearing in NullFields will be sent to the server as
3263	// null. It is an error if a field in this list has a non-empty value.
3264	// This may be used to include null fields in Patch requests.
3265	NullFields []string `json:"-"`
3266}
3267
3268func (s *GoogleCloudHealthcareV1beta1ConsentGcsDestination) MarshalJSON() ([]byte, error) {
3269	type NoMethod GoogleCloudHealthcareV1beta1ConsentGcsDestination
3270	raw := NoMethod(*s)
3271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3272}
3273
3274// GoogleCloudHealthcareV1beta1ConsentPolicy: Represents a user's
3275// consent in terms of the resources that can be accessed and under what
3276// conditions.
3277type GoogleCloudHealthcareV1beta1ConsentPolicy struct {
3278	// AuthorizationRule: Required. The request conditions to meet to grant
3279	// access. In addition to any supported comparison operators,
3280	// authorization rules may have `IN` operator as well as at most 10
3281	// logical operators that are limited to `AND` (`&&`), `OR` (`||`).
3282	AuthorizationRule *Expr `json:"authorizationRule,omitempty"`
3283
3284	// ResourceAttributes: The resources that this policy applies to. A
3285	// resource is a match if it matches all the attributes listed here. If
3286	// empty, this policy applies to all User data mappings for the given
3287	// user.
3288	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
3289
3290	// ForceSendFields is a list of field names (e.g. "AuthorizationRule")
3291	// to unconditionally include in API requests. By default, fields with
3292	// empty values are omitted from API requests. However, any non-pointer,
3293	// non-interface field appearing in ForceSendFields will be sent to the
3294	// server regardless of whether the field is empty or not. This may be
3295	// used to include empty fields in Patch requests.
3296	ForceSendFields []string `json:"-"`
3297
3298	// NullFields is a list of field names (e.g. "AuthorizationRule") to
3299	// include in API requests with the JSON null value. By default, fields
3300	// with empty values are omitted from API requests. However, any field
3301	// with an empty value appearing in NullFields will be sent to the
3302	// server as null. It is an error if a field in this list has a
3303	// non-empty value. This may be used to include null fields in Patch
3304	// requests.
3305	NullFields []string `json:"-"`
3306}
3307
3308func (s *GoogleCloudHealthcareV1beta1ConsentPolicy) MarshalJSON() ([]byte, error) {
3309	type NoMethod GoogleCloudHealthcareV1beta1ConsentPolicy
3310	raw := NoMethod(*s)
3311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3312}
3313
3314// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary:
3315// Contains a summary of the DeidentifyDicomStore operation.
3316type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary struct {
3317}
3318
3319// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary:
3320// Contains a summary of the DeidentifyFhirStore operation.
3321type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary struct {
3322}
3323
3324// GoogleCloudHealthcareV1beta1DicomBigQueryDestination: The BigQuery
3325// table where the server writes output.
3326type GoogleCloudHealthcareV1beta1DicomBigQueryDestination struct {
3327	// Force: Use `write_disposition` instead. If `write_disposition` is
3328	// specified, this parameter is ignored. force=false is equivalent to
3329	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3330	// write_disposition=WRITE_TRUNCATE.
3331	Force bool `json:"force,omitempty"`
3332
3333	// TableUri: BigQuery URI to a table, up to 2000 characters long, in the
3334	// format `bq://projectId.bqDatasetId.tableId`
3335	TableUri string `json:"tableUri,omitempty"`
3336
3337	// WriteDisposition: Determines whether the existing table in the
3338	// destination is to be overwritten or appended to. If a
3339	// write_disposition is specified, the `force` parameter is ignored.
3340	//
3341	// Possible values:
3342	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3343	// WRITE_EMPTY.
3344	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3345	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3346	// writing the instances.
3347	//   "WRITE_APPEND" - Append data to the existing table.
3348	WriteDisposition string `json:"writeDisposition,omitempty"`
3349
3350	// ForceSendFields is a list of field names (e.g. "Force") to
3351	// unconditionally include in API requests. By default, fields with
3352	// empty values are omitted from API requests. However, any non-pointer,
3353	// non-interface field appearing in ForceSendFields will be sent to the
3354	// server regardless of whether the field is empty or not. This may be
3355	// used to include empty fields in Patch requests.
3356	ForceSendFields []string `json:"-"`
3357
3358	// NullFields is a list of field names (e.g. "Force") to include in API
3359	// requests with the JSON null value. By default, fields with empty
3360	// values are omitted from API requests. However, any field with an
3361	// empty value appearing in NullFields will be sent to the server as
3362	// null. It is an error if a field in this list has a non-empty value.
3363	// This may be used to include null fields in Patch requests.
3364	NullFields []string `json:"-"`
3365}
3366
3367func (s *GoogleCloudHealthcareV1beta1DicomBigQueryDestination) MarshalJSON() ([]byte, error) {
3368	type NoMethod GoogleCloudHealthcareV1beta1DicomBigQueryDestination
3369	raw := NoMethod(*s)
3370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3371}
3372
3373// GoogleCloudHealthcareV1beta1DicomGcsDestination: The Cloud Storage
3374// location where the server writes the output and the export
3375// configuration.
3376type GoogleCloudHealthcareV1beta1DicomGcsDestination struct {
3377	// MimeType: MIME types supported by DICOM spec. Each file is written in
3378	// the following format:
3379	// `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}
3380	// ` The frame_number component exists only for multi-frame instances.
3381	// Supported MIME types are consistent with supported formats in
3382	// DICOMweb:
3383	// https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
3384	// Specifically, the following are supported: - application/dicom;
3385	// transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) -
3386	// application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with
3387	// embedded JPEG Baseline) - application/dicom;
3388	// transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000
3389	// Lossless Only) - application/dicom;
3390	// transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG
3391	// 2000)h - application/dicom; transfer-syntax=* (DICOM with no
3392	// transcoding) - application/octet-stream;
3393	// transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) -
3394	// application/octet-stream; transfer-syntax=* (raw PixelData in
3395	// whatever format it was uploaded in) - image/jpeg;
3396	// transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png
3397	// The following extensions are used for output files: -
3398	// application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png -
3399	// application/octet-stream -> no extension If unspecified, the
3400	// instances are exported in the original DICOM format they were
3401	// uploaded in.
3402	MimeType string `json:"mimeType,omitempty"`
3403
3404	// UriPrefix: The Cloud Storage destination to export to. URI for a
3405	// Cloud Storage directory where the server writes the result files, in
3406	// the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is
3407	// no trailing slash, the service appends one when composing the object
3408	// path. The user is responsible for creating the Cloud Storage bucket
3409	// referenced in `uri_prefix`.
3410	UriPrefix string `json:"uriPrefix,omitempty"`
3411
3412	// ForceSendFields is a list of field names (e.g. "MimeType") to
3413	// unconditionally include in API requests. By default, fields with
3414	// empty values are omitted from API requests. However, any non-pointer,
3415	// non-interface field appearing in ForceSendFields will be sent to the
3416	// server regardless of whether the field is empty or not. This may be
3417	// used to include empty fields in Patch requests.
3418	ForceSendFields []string `json:"-"`
3419
3420	// NullFields is a list of field names (e.g. "MimeType") to include in
3421	// API requests with the JSON null value. By default, fields with empty
3422	// values are omitted from API requests. However, any field with an
3423	// empty value appearing in NullFields will be sent to the server as
3424	// null. It is an error if a field in this list has a non-empty value.
3425	// This may be used to include null fields in Patch requests.
3426	NullFields []string `json:"-"`
3427}
3428
3429func (s *GoogleCloudHealthcareV1beta1DicomGcsDestination) MarshalJSON() ([]byte, error) {
3430	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsDestination
3431	raw := NoMethod(*s)
3432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3433}
3434
3435// GoogleCloudHealthcareV1beta1DicomGcsSource: Specifies the
3436// configuration for importing data from Cloud Storage.
3437type GoogleCloudHealthcareV1beta1DicomGcsSource struct {
3438	// Uri: Points to a Cloud Storage URI containing file(s) with content
3439	// only. The URI must be in the following format:
3440	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3441	// `object_id` and thus identify multiple files. Supported wildcards: *
3442	// '*' to match 0 or more non-separator characters * '**' to match 0 or
3443	// more characters (including separators). Must be used at the end of a
3444	// path and with no other wildcards in the path. Can also be used with a
3445	// file extension (such as .dcm), which imports all files with the
3446	// extension in the specified directory and its sub-directories. For
3447	// example, `gs://my-bucket/my-directory/**.dcm` imports all files with
3448	// .dcm extensions in `my-directory/` and its sub-directories. * '?' to
3449	// match 1 character. All other URI formats are invalid. Files matching
3450	// the wildcard are expected to contain content only, no metadata.
3451	Uri string `json:"uri,omitempty"`
3452
3453	// ForceSendFields is a list of field names (e.g. "Uri") to
3454	// unconditionally include in API requests. By default, fields with
3455	// empty values are omitted from API requests. However, any non-pointer,
3456	// non-interface field appearing in ForceSendFields will be sent to the
3457	// server regardless of whether the field is empty or not. This may be
3458	// used to include empty fields in Patch requests.
3459	ForceSendFields []string `json:"-"`
3460
3461	// NullFields is a list of field names (e.g. "Uri") to include in API
3462	// requests with the JSON null value. By default, fields with empty
3463	// values are omitted from API requests. However, any field with an
3464	// empty value appearing in NullFields will be sent to the server as
3465	// null. It is an error if a field in this list has a non-empty value.
3466	// This may be used to include null fields in Patch requests.
3467	NullFields []string `json:"-"`
3468}
3469
3470func (s *GoogleCloudHealthcareV1beta1DicomGcsSource) MarshalJSON() ([]byte, error) {
3471	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsSource
3472	raw := NoMethod(*s)
3473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3474}
3475
3476// GoogleCloudHealthcareV1beta1DicomStreamConfig: StreamConfig specifies
3477// configuration for a streaming DICOM export.
3478type GoogleCloudHealthcareV1beta1DicomStreamConfig struct {
3479	// BigqueryDestination: Results are appended to this table. The server
3480	// creates a new table in the given BigQuery dataset if the specified
3481	// table does not exist. To enable the Cloud Healthcare API to write to
3482	// your BigQuery table, you must give the Cloud Healthcare API service
3483	// account the bigquery.dataEditor role. The service account is:
3484	// `service-{PROJECT_NUMBER}@gcp-sa-healthcare.iam.gserviceaccount.com`.
3485	// The PROJECT_NUMBER identifies the project that the DICOM store
3486	// resides in. To get the project number, go to the Cloud Console
3487	// Dashboard. It is recommended to not have a custom schema in the
3488	// destination table which could conflict with the schema created by the
3489	// Cloud Healthcare API. Instance deletions are not applied to the
3490	// destination table. The destination's table schema will be
3491	// automatically updated in case a new instance's data is incompatible
3492	// with the current schema. The schema should not be updated manually as
3493	// this can cause incompatibilies that cannot be resolved automatically.
3494	// One resolution in this case is to delete the incompatible table and
3495	// let the server recreate one, though the newly created table only
3496	// contains data after the table recreation. BigQuery imposes a 1 MB
3497	// limit on streaming insert row size, therefore any instance that
3498	// generates more than 1 MB of BigQuery data will not be streamed. If an
3499	// instance cannot be streamed to BigQuery, errors will be logged to
3500	// Cloud Logging (see Viewing error logs in Cloud Logging
3501	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
3502	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
3503
3504	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
3505	// to unconditionally include in API requests. By default, fields with
3506	// empty values are omitted from API requests. However, any non-pointer,
3507	// non-interface field appearing in ForceSendFields will be sent to the
3508	// server regardless of whether the field is empty or not. This may be
3509	// used to include empty fields in Patch requests.
3510	ForceSendFields []string `json:"-"`
3511
3512	// NullFields is a list of field names (e.g. "BigqueryDestination") to
3513	// include in API requests with the JSON null value. By default, fields
3514	// with empty values are omitted from API requests. However, any field
3515	// with an empty value appearing in NullFields will be sent to the
3516	// server as null. It is an error if a field in this list has a
3517	// non-empty value. This may be used to include null fields in Patch
3518	// requests.
3519	NullFields []string `json:"-"`
3520}
3521
3522func (s *GoogleCloudHealthcareV1beta1DicomStreamConfig) MarshalJSON() ([]byte, error) {
3523	type NoMethod GoogleCloudHealthcareV1beta1DicomStreamConfig
3524	raw := NoMethod(*s)
3525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3526}
3527
3528// GoogleCloudHealthcareV1beta1FhirBigQueryDestination: The
3529// configuration for exporting to BigQuery.
3530type GoogleCloudHealthcareV1beta1FhirBigQueryDestination struct {
3531	// DatasetUri: BigQuery URI to an existing dataset, up to 2000
3532	// characters long, in the format `bq://projectId.bqDatasetId`.
3533	DatasetUri string `json:"datasetUri,omitempty"`
3534
3535	// Force: Use `write_disposition` instead. If `write_disposition` is
3536	// specified, this parameter is ignored. force=false is equivalent to
3537	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3538	// write_disposition=WRITE_TRUNCATE.
3539	Force bool `json:"force,omitempty"`
3540
3541	// SchemaConfig: The configuration for the exported BigQuery schema.
3542	SchemaConfig *SchemaConfig `json:"schemaConfig,omitempty"`
3543
3544	// WriteDisposition: Determines whether existing tables in the
3545	// destination dataset are overwritten or appended to. If a
3546	// write_disposition is specified, the `force` parameter is ignored.
3547	//
3548	// Possible values:
3549	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3550	// WRITE_EMPTY.
3551	//   "WRITE_EMPTY" - Only export data if the destination tables are
3552	// empty.
3553	//   "WRITE_TRUNCATE" - Erase all existing data in the tables before
3554	// writing the instances.
3555	//   "WRITE_APPEND" - Append data to the existing tables.
3556	WriteDisposition string `json:"writeDisposition,omitempty"`
3557
3558	// ForceSendFields is a list of field names (e.g. "DatasetUri") to
3559	// unconditionally include in API requests. By default, fields with
3560	// empty values are omitted from API requests. However, any non-pointer,
3561	// non-interface field appearing in ForceSendFields will be sent to the
3562	// server regardless of whether the field is empty or not. This may be
3563	// used to include empty fields in Patch requests.
3564	ForceSendFields []string `json:"-"`
3565
3566	// NullFields is a list of field names (e.g. "DatasetUri") to include in
3567	// API requests with the JSON null value. By default, fields with empty
3568	// values are omitted from API requests. However, any field with an
3569	// empty value appearing in NullFields will be sent to the server as
3570	// null. It is an error if a field in this list has a non-empty value.
3571	// This may be used to include null fields in Patch requests.
3572	NullFields []string `json:"-"`
3573}
3574
3575func (s *GoogleCloudHealthcareV1beta1FhirBigQueryDestination) MarshalJSON() ([]byte, error) {
3576	type NoMethod GoogleCloudHealthcareV1beta1FhirBigQueryDestination
3577	raw := NoMethod(*s)
3578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3579}
3580
3581// GoogleCloudHealthcareV1beta1FhirExportResourcesResponse: Response
3582// when all resources export successfully. This structure is included in
3583// the response to describe the detailed outcome after the operation
3584// finishes successfully.
3585type GoogleCloudHealthcareV1beta1FhirExportResourcesResponse struct {
3586}
3587
3588// GoogleCloudHealthcareV1beta1FhirGcsDestination: The configuration for
3589// exporting to Cloud Storage.
3590type GoogleCloudHealthcareV1beta1FhirGcsDestination struct {
3591	// UriPrefix: URI for a Cloud Storage directory where result files
3592	// should be written (in the format
3593	// `gs://{bucket-id}/{path/to/destination/dir}`). If there is no
3594	// trailing slash, the service appends one when composing the object
3595	// path. The Cloud Storage bucket referenced in `uri_prefix` must exist
3596	// or an error occurs.
3597	UriPrefix string `json:"uriPrefix,omitempty"`
3598
3599	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3600	// unconditionally include in API requests. By default, fields with
3601	// empty values are omitted from API requests. However, any non-pointer,
3602	// non-interface field appearing in ForceSendFields will be sent to the
3603	// server regardless of whether the field is empty or not. This may be
3604	// used to include empty fields in Patch requests.
3605	ForceSendFields []string `json:"-"`
3606
3607	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3608	// API requests with the JSON null value. By default, fields with empty
3609	// values are omitted from API requests. However, any field with an
3610	// empty value appearing in NullFields will be sent to the server as
3611	// null. It is an error if a field in this list has a non-empty value.
3612	// This may be used to include null fields in Patch requests.
3613	NullFields []string `json:"-"`
3614}
3615
3616func (s *GoogleCloudHealthcareV1beta1FhirGcsDestination) MarshalJSON() ([]byte, error) {
3617	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsDestination
3618	raw := NoMethod(*s)
3619	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3620}
3621
3622// GoogleCloudHealthcareV1beta1FhirGcsSource: Specifies the
3623// configuration for importing data from Cloud Storage.
3624type GoogleCloudHealthcareV1beta1FhirGcsSource struct {
3625	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3626	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3627	// The URI can include wildcards in `object_id` and thus identify
3628	// multiple files. Supported wildcards: * `*` to match 0 or more
3629	// non-separator characters * `**` to match 0 or more characters
3630	// (including separators). Must be used at the end of a path and with no
3631	// other wildcards in the path. Can also be used with a file extension
3632	// (such as .ndjson), which imports all files with the extension in the
3633	// specified directory and its sub-directories. For example,
3634	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3635	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3636	// `?` to match 1 character Files matching the wildcard are expected to
3637	// contain content only, no metadata.
3638	Uri string `json:"uri,omitempty"`
3639
3640	// ForceSendFields is a list of field names (e.g. "Uri") to
3641	// unconditionally include in API requests. By default, fields with
3642	// empty values are omitted from API requests. However, any non-pointer,
3643	// non-interface field appearing in ForceSendFields will be sent to the
3644	// server regardless of whether the field is empty or not. This may be
3645	// used to include empty fields in Patch requests.
3646	ForceSendFields []string `json:"-"`
3647
3648	// NullFields is a list of field names (e.g. "Uri") to include in API
3649	// requests with the JSON null value. By default, fields with empty
3650	// values are omitted from API requests. However, any field with an
3651	// empty value appearing in NullFields will be sent to the server as
3652	// null. It is an error if a field in this list has a non-empty value.
3653	// This may be used to include null fields in Patch requests.
3654	NullFields []string `json:"-"`
3655}
3656
3657func (s *GoogleCloudHealthcareV1beta1FhirGcsSource) MarshalJSON() ([]byte, error) {
3658	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsSource
3659	raw := NoMethod(*s)
3660	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3661}
3662
3663// GoogleCloudHealthcareV1beta1FhirImportResourcesResponse: Final
3664// response of importing resources. This structure is included in the
3665// response to describe the detailed outcome after the operation
3666// finishes successfully.
3667type GoogleCloudHealthcareV1beta1FhirImportResourcesResponse struct {
3668}
3669
3670// GroupOrSegment: Construct representing a logical group or a segment.
3671type GroupOrSegment struct {
3672	Group *SchemaGroup `json:"group,omitempty"`
3673
3674	Segment *SchemaSegment `json:"segment,omitempty"`
3675
3676	// ForceSendFields is a list of field names (e.g. "Group") to
3677	// unconditionally include in API requests. By default, fields with
3678	// empty values are omitted from API requests. However, any non-pointer,
3679	// non-interface field appearing in ForceSendFields will be sent to the
3680	// server regardless of whether the field is empty or not. This may be
3681	// used to include empty fields in Patch requests.
3682	ForceSendFields []string `json:"-"`
3683
3684	// NullFields is a list of field names (e.g. "Group") to include in API
3685	// requests with the JSON null value. By default, fields with empty
3686	// values are omitted from API requests. However, any field with an
3687	// empty value appearing in NullFields will be sent to the server as
3688	// null. It is an error if a field in this list has a non-empty value.
3689	// This may be used to include null fields in Patch requests.
3690	NullFields []string `json:"-"`
3691}
3692
3693func (s *GroupOrSegment) MarshalJSON() ([]byte, error) {
3694	type NoMethod GroupOrSegment
3695	raw := NoMethod(*s)
3696	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3697}
3698
3699// Hl7SchemaConfig: Root config message for HL7v2 schema. This contains
3700// a schema structure of groups and segments, and filters that determine
3701// which messages to apply the schema structure to.
3702type Hl7SchemaConfig struct {
3703	// MessageSchemaConfigs: Map from each HL7v2 message type and trigger
3704	// event pair, such as ADT_A04, to its schema configuration root group.
3705	MessageSchemaConfigs map[string]SchemaGroup `json:"messageSchemaConfigs,omitempty"`
3706
3707	// Version: Each VersionSource is tested and only if they all match is
3708	// the schema used for the message.
3709	Version []*VersionSource `json:"version,omitempty"`
3710
3711	// ForceSendFields is a list of field names (e.g.
3712	// "MessageSchemaConfigs") to unconditionally include in API requests.
3713	// By default, fields with empty values are omitted from API requests.
3714	// However, any non-pointer, non-interface field appearing in
3715	// ForceSendFields will be sent to the server regardless of whether the
3716	// field is empty or not. This may be used to include empty fields in
3717	// Patch requests.
3718	ForceSendFields []string `json:"-"`
3719
3720	// NullFields is a list of field names (e.g. "MessageSchemaConfigs") to
3721	// include in API requests with the JSON null value. By default, fields
3722	// with empty values are omitted from API requests. However, any field
3723	// with an empty value appearing in NullFields will be sent to the
3724	// server as null. It is an error if a field in this list has a
3725	// non-empty value. This may be used to include null fields in Patch
3726	// requests.
3727	NullFields []string `json:"-"`
3728}
3729
3730func (s *Hl7SchemaConfig) MarshalJSON() ([]byte, error) {
3731	type NoMethod Hl7SchemaConfig
3732	raw := NoMethod(*s)
3733	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3734}
3735
3736// Hl7TypesConfig: Root config for HL7v2 datatype definitions for a
3737// specific HL7v2 version.
3738type Hl7TypesConfig struct {
3739	// Type: The HL7v2 type definitions.
3740	Type []*Type `json:"type,omitempty"`
3741
3742	// Version: The version selectors that this config applies to. A message
3743	// must match ALL version sources to apply.
3744	Version []*VersionSource `json:"version,omitempty"`
3745
3746	// ForceSendFields is a list of field names (e.g. "Type") to
3747	// unconditionally include in API requests. By default, fields with
3748	// empty values are omitted from API requests. However, any non-pointer,
3749	// non-interface field appearing in ForceSendFields will be sent to the
3750	// server regardless of whether the field is empty or not. This may be
3751	// used to include empty fields in Patch requests.
3752	ForceSendFields []string `json:"-"`
3753
3754	// NullFields is a list of field names (e.g. "Type") to include in API
3755	// requests with the JSON null value. By default, fields with empty
3756	// values are omitted from API requests. However, any field with an
3757	// empty value appearing in NullFields will be sent to the server as
3758	// null. It is an error if a field in this list has a non-empty value.
3759	// This may be used to include null fields in Patch requests.
3760	NullFields []string `json:"-"`
3761}
3762
3763func (s *Hl7TypesConfig) MarshalJSON() ([]byte, error) {
3764	type NoMethod Hl7TypesConfig
3765	raw := NoMethod(*s)
3766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3767}
3768
3769// Hl7V2NotificationConfig: Specifies where and whether to send
3770// notifications upon changes to a data store.
3771type Hl7V2NotificationConfig struct {
3772	// Filter: Restricts notifications sent for messages matching a filter.
3773	// If this is empty, all messages are matched. The following syntax is
3774	// available: * A string field value can be written as text inside
3775	// quotation marks, for example "query text". The only valid
3776	// relational operation for text fields is equality (`=`), where text is
3777	// searched within the field, rather than having the field be equal to
3778	// the text. For example, "Comment = great" returns messages with
3779	// `great` in the comment field. * A number field value can be written
3780	// as an integer, a decimal, or an exponential. The valid relational
3781	// operators for number fields are the equality operator (`=`), along
3782	// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
3783	// Note that there is no inequality (`!=`) operator. You can prepend the
3784	// `NOT` operator to an expression to negate it. * A date field value
3785	// must be written in `yyyy-mm-dd` form. Fields with date and time use
3786	// the RFC3339 time format. Leading zeros are required for one-digit
3787	// months and days. The valid relational operators for date fields are
3788	// the equality operator (`=`) , along with the less than/greater than
3789	// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
3790	// (`!=`) operator. You can prepend the `NOT` operator to an expression
3791	// to negate it. * Multiple field query expressions can be combined in
3792	// one query by adding `AND` or `OR` operators between the expressions.
3793	// If a boolean operator appears within a quoted string, it is not
3794	// treated as special, it's just another part of the character string to
3795	// be matched. You can prepend the `NOT` operator to an expression to
3796	// negate it. Fields/functions available for filtering are: *
3797	// `message_type`, from the MSH-9.1 field. For example, `NOT
3798	// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
3799	// date the message was sent in the dataset's time_zone, from the MSH-7
3800	// segment. For example, `send_date < "2017-01-02". * `send_time`, the
3801	// timestamp when the message was sent, using the RFC3339 time format
3802	// for comparisons, from the MSH-7 segment. For example, `send_time <
3803	// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
3804	// message was created in the HL7v2 store. Use the RFC3339 time format
3805	// for comparisons. For example, `create_time <
3806	// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
3807	// the message came from, from the MSH-4 segment. For example,
3808	// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
3809	// the message lists a patient having an ID of the given value and type
3810	// in the PID-2, PID-3, or PID-4 segments. For example,
3811	// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
3812	// label with key `x` as set using the Message.labels map. For example,
3813	// `labels."priority"="high". The operator `:*` can be used to assert
3814	// the existence of a label. For example, `labels."priority":*`.
3815	Filter string `json:"filter,omitempty"`
3816
3817	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
3818	// topic that notifications of changes are published on. Supplied by the
3819	// client. The notification is a `PubsubMessage` with the following
3820	// fields: * `PubsubMessage.Data` contains the resource name. *
3821	// `PubsubMessage.MessageId` is the ID of this notification. It is
3822	// guaranteed to be unique within the topic. *
3823	// `PubsubMessage.PublishTime` is the time when the message was
3824	// published. Note that notifications are only sent if the topic is
3825	// non-empty. Topic names
3826	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
3827	// to a project. Cloud Healthcare API service account must have
3828	// publisher permissions on the given Pub/Sub topic. Not having adequate
3829	// permissions causes the calls that send notifications to fail. If a
3830	// notification can't be published to Pub/Sub, errors are logged to
3831	// Cloud Logging. For more information, see Viewing error logs in Cloud
3832	// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
3833	PubsubTopic string `json:"pubsubTopic,omitempty"`
3834
3835	// ForceSendFields is a list of field names (e.g. "Filter") to
3836	// unconditionally include in API requests. By default, fields with
3837	// empty values are omitted from API requests. However, any non-pointer,
3838	// non-interface field appearing in ForceSendFields will be sent to the
3839	// server regardless of whether the field is empty or not. This may be
3840	// used to include empty fields in Patch requests.
3841	ForceSendFields []string `json:"-"`
3842
3843	// NullFields is a list of field names (e.g. "Filter") to include in API
3844	// requests with the JSON null value. By default, fields with empty
3845	// values are omitted from API requests. However, any field with an
3846	// empty value appearing in NullFields will be sent to the server as
3847	// null. It is an error if a field in this list has a non-empty value.
3848	// This may be used to include null fields in Patch requests.
3849	NullFields []string `json:"-"`
3850}
3851
3852func (s *Hl7V2NotificationConfig) MarshalJSON() ([]byte, error) {
3853	type NoMethod Hl7V2NotificationConfig
3854	raw := NoMethod(*s)
3855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3856}
3857
3858// Hl7V2Store: Represents an HL7v2 store.
3859type Hl7V2Store struct {
3860	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
3861	// Label keys must be between 1 and 63 characters long, have a UTF-8
3862	// encoding of maximum 128 bytes, and must conform to the following PCRE
3863	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
3864	// must be between 1 and 63 characters long, have a UTF-8 encoding of
3865	// maximum 128 bytes, and must conform to the following PCRE regular
3866	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
3867	// associated with a given store.
3868	Labels map[string]string `json:"labels,omitempty"`
3869
3870	// Name: Resource name of the HL7v2 store, of the form
3871	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_
3872	// id}`.
3873	Name string `json:"name,omitempty"`
3874
3875	// NotificationConfig: The notification destination all messages (both
3876	// Ingest & Create) are published on. Only the message name is sent as
3877	// part of the notification. If this is unset, no notifications are
3878	// sent. Supplied by the client.
3879	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
3880
3881	// NotificationConfigs: A list of notification configs. Each
3882	// configuration uses a filter to determine whether to publish a message
3883	// (both Ingest & Create) on the corresponding notification destination.
3884	// Only the message name is sent as part of the notification. Supplied
3885	// by the client.
3886	NotificationConfigs []*Hl7V2NotificationConfig `json:"notificationConfigs,omitempty"`
3887
3888	// ParserConfig: The configuration for the parser. It determines how the
3889	// server parses the messages.
3890	ParserConfig *ParserConfig `json:"parserConfig,omitempty"`
3891
3892	// RejectDuplicateMessage: Determines whether to reject duplicate
3893	// messages. A duplicate message is a message with the same raw bytes as
3894	// a message that has already been ingested/created in this HL7v2 store.
3895	// The default value is false, meaning that the store accepts the
3896	// duplicate messages and it also returns the same ACK message in the
3897	// IngestMessageResponse as has been returned previously. Note that only
3898	// one resource is created in the store. When this field is set to true,
3899	// CreateMessage/IngestMessage requests with a duplicate message will be
3900	// rejected by the store, and IngestMessageErrorDetail returns a NACK
3901	// message upon rejection.
3902	RejectDuplicateMessage bool `json:"rejectDuplicateMessage,omitempty"`
3903
3904	// ServerResponse contains the HTTP response code and headers from the
3905	// server.
3906	googleapi.ServerResponse `json:"-"`
3907
3908	// ForceSendFields is a list of field names (e.g. "Labels") to
3909	// unconditionally include in API requests. By default, fields with
3910	// empty values are omitted from API requests. However, any non-pointer,
3911	// non-interface field appearing in ForceSendFields will be sent to the
3912	// server regardless of whether the field is empty or not. This may be
3913	// used to include empty fields in Patch requests.
3914	ForceSendFields []string `json:"-"`
3915
3916	// NullFields is a list of field names (e.g. "Labels") to include in API
3917	// requests with the JSON null value. By default, fields with empty
3918	// values are omitted from API requests. However, any field with an
3919	// empty value appearing in NullFields will be sent to the server as
3920	// null. It is an error if a field in this list has a non-empty value.
3921	// This may be used to include null fields in Patch requests.
3922	NullFields []string `json:"-"`
3923}
3924
3925func (s *Hl7V2Store) MarshalJSON() ([]byte, error) {
3926	type NoMethod Hl7V2Store
3927	raw := NoMethod(*s)
3928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3929}
3930
3931// HttpBody: Message that represents an arbitrary HTTP body. It should
3932// only be used for payload formats that can't be represented as JSON,
3933// such as raw binary or an HTML page. This message can be used both in
3934// streaming and non-streaming API methods in the request as well as the
3935// response. It can be used as a top-level request field, which is
3936// convenient if one wants to extract parameters from either the URL or
3937// HTTP template into the request fields and also want access to the raw
3938// HTTP body. Example: message GetResourceRequest { // A unique request
3939// id. string request_id = 1; // The raw HTTP body is bound to this
3940// field. google.api.HttpBody http_body = 2; } service ResourceService {
3941// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
3942// rpc UpdateResource(google.api.HttpBody) returns
3943// (google.protobuf.Empty); } Example with streaming methods: service
3944// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns
3945// (stream google.api.HttpBody); rpc UpdateCalendar(stream
3946// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
3947// this type only changes how the request and response bodies are
3948// handled, all other features will continue to work unchanged.
3949type HttpBody struct {
3950	// ContentType: The HTTP Content-Type header value specifying the
3951	// content type of the body.
3952	ContentType string `json:"contentType,omitempty"`
3953
3954	// Data: The HTTP request/response body as raw binary.
3955	Data string `json:"data,omitempty"`
3956
3957	// Extensions: Application specific response metadata. Must be set in
3958	// the first response for streaming APIs.
3959	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
3960
3961	// ServerResponse contains the HTTP response code and headers from the
3962	// server.
3963	googleapi.ServerResponse `json:"-"`
3964
3965	// ForceSendFields is a list of field names (e.g. "ContentType") to
3966	// unconditionally include in API requests. By default, fields with
3967	// empty values are omitted from API requests. However, any non-pointer,
3968	// non-interface field appearing in ForceSendFields will be sent to the
3969	// server regardless of whether the field is empty or not. This may be
3970	// used to include empty fields in Patch requests.
3971	ForceSendFields []string `json:"-"`
3972
3973	// NullFields is a list of field names (e.g. "ContentType") to include
3974	// in API requests with the JSON null value. By default, fields with
3975	// empty values are omitted from API requests. However, any field with
3976	// an empty value appearing in NullFields will be sent to the server as
3977	// null. It is an error if a field in this list has a non-empty value.
3978	// This may be used to include null fields in Patch requests.
3979	NullFields []string `json:"-"`
3980}
3981
3982func (s *HttpBody) MarshalJSON() ([]byte, error) {
3983	type NoMethod HttpBody
3984	raw := NoMethod(*s)
3985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3986}
3987
3988// Image: Raw bytes representing consent artifact content.
3989type Image struct {
3990	// GcsUri: Input only. Points to a Cloud Storage URI containing the
3991	// consent artifact content. The URI must be in the following format:
3992	// `gs://{bucket_id}/{object_id}`. The Cloud Healthcare API service
3993	// account must have the `roles/storage.objectViewer` Cloud IAM role for
3994	// this Cloud Storage location. The consent artifact content at this URI
3995	// is copied to a Cloud Storage location managed by the Cloud Healthcare
3996	// API. Responses to fetching requests return the consent artifact
3997	// content in raw_bytes.
3998	GcsUri string `json:"gcsUri,omitempty"`
3999
4000	// RawBytes: Consent artifact content represented as a stream of bytes.
4001	// This field is populated when returned in GetConsentArtifact response,
4002	// but not included in CreateConsentArtifact and ListConsentArtifact
4003	// response.
4004	RawBytes string `json:"rawBytes,omitempty"`
4005
4006	// ForceSendFields is a list of field names (e.g. "GcsUri") to
4007	// unconditionally include in API requests. By default, fields with
4008	// empty values are omitted from API requests. However, any non-pointer,
4009	// non-interface field appearing in ForceSendFields will be sent to the
4010	// server regardless of whether the field is empty or not. This may be
4011	// used to include empty fields in Patch requests.
4012	ForceSendFields []string `json:"-"`
4013
4014	// NullFields is a list of field names (e.g. "GcsUri") to include in API
4015	// requests with the JSON null value. By default, fields with empty
4016	// values are omitted from API requests. However, any field with an
4017	// empty value appearing in NullFields will be sent to the server as
4018	// null. It is an error if a field in this list has a non-empty value.
4019	// This may be used to include null fields in Patch requests.
4020	NullFields []string `json:"-"`
4021}
4022
4023func (s *Image) MarshalJSON() ([]byte, error) {
4024	type NoMethod Image
4025	raw := NoMethod(*s)
4026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4027}
4028
4029// ImageAnnotation: Image annotation.
4030type ImageAnnotation struct {
4031	// BoundingPolys: The list of polygons outlining the sensitive regions
4032	// in the image.
4033	BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"`
4034
4035	// FrameIndex: 0-based index of the image frame. For example, an image
4036	// frame in a DICOM instance.
4037	FrameIndex int64 `json:"frameIndex,omitempty"`
4038
4039	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
4040	// unconditionally include in API requests. By default, fields with
4041	// empty values are omitted from API requests. However, any non-pointer,
4042	// non-interface field appearing in ForceSendFields will be sent to the
4043	// server regardless of whether the field is empty or not. This may be
4044	// used to include empty fields in Patch requests.
4045	ForceSendFields []string `json:"-"`
4046
4047	// NullFields is a list of field names (e.g. "BoundingPolys") to include
4048	// in API requests with the JSON null value. By default, fields with
4049	// empty values are omitted from API requests. However, any field with
4050	// an empty value appearing in NullFields will be sent to the server as
4051	// null. It is an error if a field in this list has a non-empty value.
4052	// This may be used to include null fields in Patch requests.
4053	NullFields []string `json:"-"`
4054}
4055
4056func (s *ImageAnnotation) MarshalJSON() ([]byte, error) {
4057	type NoMethod ImageAnnotation
4058	raw := NoMethod(*s)
4059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4060}
4061
4062// ImageConfig: Specifies how to handle de-identification of image
4063// pixels.
4064type ImageConfig struct {
4065	// TextRedactionMode: Determines how to redact text from image.
4066	//
4067	// Possible values:
4068	//   "TEXT_REDACTION_MODE_UNSPECIFIED" - No text redaction specified.
4069	// Same as REDACT_NO_TEXT.
4070	//   "REDACT_ALL_TEXT" - Redact all text.
4071	//   "REDACT_SENSITIVE_TEXT" - Redact sensitive text.
4072	//   "REDACT_NO_TEXT" - Do not redact text.
4073	TextRedactionMode string `json:"textRedactionMode,omitempty"`
4074
4075	// ForceSendFields is a list of field names (e.g. "TextRedactionMode")
4076	// to unconditionally include in API requests. By default, fields with
4077	// empty values are omitted from API requests. However, any non-pointer,
4078	// non-interface field appearing in ForceSendFields will be sent to the
4079	// server regardless of whether the field is empty or not. This may be
4080	// used to include empty fields in Patch requests.
4081	ForceSendFields []string `json:"-"`
4082
4083	// NullFields is a list of field names (e.g. "TextRedactionMode") to
4084	// include in API requests with the JSON null value. By default, fields
4085	// with empty values are omitted from API requests. However, any field
4086	// with an empty value appearing in NullFields will be sent to the
4087	// server as null. It is an error if a field in this list has a
4088	// non-empty value. This may be used to include null fields in Patch
4089	// requests.
4090	NullFields []string `json:"-"`
4091}
4092
4093func (s *ImageConfig) MarshalJSON() ([]byte, error) {
4094	type NoMethod ImageConfig
4095	raw := NoMethod(*s)
4096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4097}
4098
4099// ImportAnnotationsRequest: Request to import Annotations. The
4100// Annotations to be imported must have client-supplied resource names
4101// which indicate the annotation resource. The import operation is not
4102// atomic. If a failure occurs, any annotations already imported are not
4103// removed.
4104type ImportAnnotationsRequest struct {
4105	GcsSource *GoogleCloudHealthcareV1beta1AnnotationGcsSource `json:"gcsSource,omitempty"`
4106
4107	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4108	// unconditionally include in API requests. By default, fields with
4109	// empty values are omitted from API requests. However, any non-pointer,
4110	// non-interface field appearing in ForceSendFields will be sent to the
4111	// server regardless of whether the field is empty or not. This may be
4112	// used to include empty fields in Patch requests.
4113	ForceSendFields []string `json:"-"`
4114
4115	// NullFields is a list of field names (e.g. "GcsSource") to include in
4116	// API requests with the JSON null value. By default, fields with empty
4117	// values are omitted from API requests. However, any field with an
4118	// empty value appearing in NullFields will be sent to the server as
4119	// null. It is an error if a field in this list has a non-empty value.
4120	// This may be used to include null fields in Patch requests.
4121	NullFields []string `json:"-"`
4122}
4123
4124func (s *ImportAnnotationsRequest) MarshalJSON() ([]byte, error) {
4125	type NoMethod ImportAnnotationsRequest
4126	raw := NoMethod(*s)
4127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4128}
4129
4130// ImportAnnotationsResponse: Final response of importing Annotations in
4131// successful case. This structure is included in the response. It is
4132// only included when the operation finishes.
4133type ImportAnnotationsResponse struct {
4134}
4135
4136// ImportDicomDataRequest: Imports data into the specified DICOM store.
4137// Returns an error if any of the files to import are not DICOM files.
4138// This API accepts duplicate DICOM instances by ignoring the
4139// newly-pushed instance. It does not overwrite.
4140type ImportDicomDataRequest struct {
4141	// GcsSource: Cloud Storage source data location and import
4142	// configuration. The Cloud Healthcare Service Agent requires the
4143	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4144	// location.
4145	GcsSource *GoogleCloudHealthcareV1beta1DicomGcsSource `json:"gcsSource,omitempty"`
4146
4147	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4148	// unconditionally include in API requests. By default, fields with
4149	// empty values are omitted from API requests. However, any non-pointer,
4150	// non-interface field appearing in ForceSendFields will be sent to the
4151	// server regardless of whether the field is empty or not. This may be
4152	// used to include empty fields in Patch requests.
4153	ForceSendFields []string `json:"-"`
4154
4155	// NullFields is a list of field names (e.g. "GcsSource") to include in
4156	// API requests with the JSON null value. By default, fields with empty
4157	// values are omitted from API requests. However, any field with an
4158	// empty value appearing in NullFields will be sent to the server as
4159	// null. It is an error if a field in this list has a non-empty value.
4160	// This may be used to include null fields in Patch requests.
4161	NullFields []string `json:"-"`
4162}
4163
4164func (s *ImportDicomDataRequest) MarshalJSON() ([]byte, error) {
4165	type NoMethod ImportDicomDataRequest
4166	raw := NoMethod(*s)
4167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4168}
4169
4170// ImportDicomDataResponse: Returns additional information in regards to
4171// a completed DICOM store import.
4172type ImportDicomDataResponse struct {
4173}
4174
4175// ImportMessagesRequest: Request to import messages.
4176type ImportMessagesRequest struct {
4177	// GcsSource: Cloud Storage source data location and import
4178	// configuration. The Cloud Healthcare Service Agent requires the
4179	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4180	// location.
4181	GcsSource *GcsSource `json:"gcsSource,omitempty"`
4182
4183	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4184	// unconditionally include in API requests. By default, fields with
4185	// empty values are omitted from API requests. However, any non-pointer,
4186	// non-interface field appearing in ForceSendFields will be sent to the
4187	// server regardless of whether the field is empty or not. This may be
4188	// used to include empty fields in Patch requests.
4189	ForceSendFields []string `json:"-"`
4190
4191	// NullFields is a list of field names (e.g. "GcsSource") to include in
4192	// API requests with the JSON null value. By default, fields with empty
4193	// values are omitted from API requests. However, any field with an
4194	// empty value appearing in NullFields will be sent to the server as
4195	// null. It is an error if a field in this list has a non-empty value.
4196	// This may be used to include null fields in Patch requests.
4197	NullFields []string `json:"-"`
4198}
4199
4200func (s *ImportMessagesRequest) MarshalJSON() ([]byte, error) {
4201	type NoMethod ImportMessagesRequest
4202	raw := NoMethod(*s)
4203	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4204}
4205
4206// ImportMessagesResponse: Final response of importing messages. This
4207// structure is included in the response to describe the detailed
4208// outcome. It is only included when the operation finishes
4209// successfully.
4210type ImportMessagesResponse struct {
4211}
4212
4213// ImportResourcesRequest: Request to import resources.
4214type ImportResourcesRequest struct {
4215	// ContentStructure: The content structure in the source location. If
4216	// not specified, the server treats the input source files as BUNDLE.
4217	//
4218	// Possible values:
4219	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
4220	// specified, the default value `BUNDLE` is used.
4221	//   "BUNDLE" - The source file contains one or more lines of
4222	// newline-delimited JSON (ndjson). Each line is a bundle that contains
4223	// one or more resources.
4224	//   "RESOURCE" - The source file contains one or more lines of
4225	// newline-delimited JSON (ndjson). Each line is a single resource.
4226	//   "BUNDLE_PRETTY" - The entire file is one JSON bundle. The JSON can
4227	// span multiple lines.
4228	//   "RESOURCE_PRETTY" - The entire file is one JSON resource. The JSON
4229	// can span multiple lines.
4230	ContentStructure string `json:"contentStructure,omitempty"`
4231
4232	// GcsSource: Cloud Storage source data location and import
4233	// configuration. The Cloud Healthcare Service Agent requires the
4234	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4235	// location. The Healthcare Service Agent Each Cloud Storage object
4236	// should be a text file that contains the format specified in
4237	// ContentStructure.
4238	GcsSource *GoogleCloudHealthcareV1beta1FhirGcsSource `json:"gcsSource,omitempty"`
4239
4240	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
4241	// unconditionally include in API requests. By default, fields with
4242	// empty values are omitted from API requests. However, any non-pointer,
4243	// non-interface field appearing in ForceSendFields will be sent to the
4244	// server regardless of whether the field is empty or not. This may be
4245	// used to include empty fields in Patch requests.
4246	ForceSendFields []string `json:"-"`
4247
4248	// NullFields is a list of field names (e.g. "ContentStructure") to
4249	// include in API requests with the JSON null value. By default, fields
4250	// with empty values are omitted from API requests. However, any field
4251	// with an empty value appearing in NullFields will be sent to the
4252	// server as null. It is an error if a field in this list has a
4253	// non-empty value. This may be used to include null fields in Patch
4254	// requests.
4255	NullFields []string `json:"-"`
4256}
4257
4258func (s *ImportResourcesRequest) MarshalJSON() ([]byte, error) {
4259	type NoMethod ImportResourcesRequest
4260	raw := NoMethod(*s)
4261	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4262}
4263
4264// InfoTypeConfig: Specifies how to use infoTypes for evaluation. For
4265// example, a user might only want to evaluate `PERSON`, `LOCATION`, and
4266// `AGE`.
4267type InfoTypeConfig struct {
4268	EvaluateList *FilterList `json:"evaluateList,omitempty"`
4269
4270	IgnoreList *FilterList `json:"ignoreList,omitempty"`
4271
4272	// StrictMatching: If `TRUE`, infoTypes described by `filter` are used
4273	// for evaluation. Otherwise, infoTypes are not considered for
4274	// evaluation. For example: * Annotated text: "Toronto is a location" *
4275	// Finding 1: `{"infoType": "PERSON", "quote": "Toronto", "start": 0,
4276	// "end": 7}` * Finding 2: `{"infoType": "CITY", "quote": "Toronto",
4277	// "start": 0, "end": 7}` * Finding 3: `{}` * Ground truth:
4278	// `{"infoType": "LOCATION", "quote": "Toronto", "start": 0, "end": 7}`
4279	// When `strict_matching` is `TRUE`: * Finding 1: 1 false positive *
4280	// Finding 2: 1 false positive * Finding 3: 1 false negative When
4281	// `strict_matching` is `FALSE`: * Finding 1: 1 true positive * Finding
4282	// 2: 1 true positive * Finding 3: 1 false negative
4283	StrictMatching bool `json:"strictMatching,omitempty"`
4284
4285	// ForceSendFields is a list of field names (e.g. "EvaluateList") to
4286	// unconditionally include in API requests. By default, fields with
4287	// empty values are omitted from API requests. However, any non-pointer,
4288	// non-interface field appearing in ForceSendFields will be sent to the
4289	// server regardless of whether the field is empty or not. This may be
4290	// used to include empty fields in Patch requests.
4291	ForceSendFields []string `json:"-"`
4292
4293	// NullFields is a list of field names (e.g. "EvaluateList") to include
4294	// in API requests with the JSON null value. By default, fields with
4295	// empty values are omitted from API requests. However, any field with
4296	// an empty value appearing in NullFields will be sent to the server as
4297	// null. It is an error if a field in this list has a non-empty value.
4298	// This may be used to include null fields in Patch requests.
4299	NullFields []string `json:"-"`
4300}
4301
4302func (s *InfoTypeConfig) MarshalJSON() ([]byte, error) {
4303	type NoMethod InfoTypeConfig
4304	raw := NoMethod(*s)
4305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4306}
4307
4308// InfoTypeTransformation: A transformation to apply to text that is
4309// identified as a specific info_type.
4310type InfoTypeTransformation struct {
4311	// CharacterMaskConfig: Config for character mask.
4312	CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"`
4313
4314	// CryptoHashConfig: Config for crypto hash.
4315	CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"`
4316
4317	// DateShiftConfig: Config for date shift.
4318	DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"`
4319
4320	// InfoTypes: InfoTypes to apply this transformation to. If this is not
4321	// specified, this transformation becomes the default transformation,
4322	// and is used for any info_type that is not specified in another
4323	// transformation.
4324	InfoTypes []string `json:"infoTypes,omitempty"`
4325
4326	// RedactConfig: Config for text redaction.
4327	RedactConfig *RedactConfig `json:"redactConfig,omitempty"`
4328
4329	// ReplaceWithInfoTypeConfig: Config for replace with InfoType.
4330	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"`
4331
4332	// ForceSendFields is a list of field names (e.g. "CharacterMaskConfig")
4333	// to unconditionally include in API requests. By default, fields with
4334	// empty values are omitted from API requests. However, any non-pointer,
4335	// non-interface field appearing in ForceSendFields will be sent to the
4336	// server regardless of whether the field is empty or not. This may be
4337	// used to include empty fields in Patch requests.
4338	ForceSendFields []string `json:"-"`
4339
4340	// NullFields is a list of field names (e.g. "CharacterMaskConfig") to
4341	// include in API requests with the JSON null value. By default, fields
4342	// with empty values are omitted from API requests. However, any field
4343	// with an empty value appearing in NullFields will be sent to the
4344	// server as null. It is an error if a field in this list has a
4345	// non-empty value. This may be used to include null fields in Patch
4346	// requests.
4347	NullFields []string `json:"-"`
4348}
4349
4350func (s *InfoTypeTransformation) MarshalJSON() ([]byte, error) {
4351	type NoMethod InfoTypeTransformation
4352	raw := NoMethod(*s)
4353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4354}
4355
4356// IngestMessageRequest: Ingests a message into the specified HL7v2
4357// store.
4358type IngestMessageRequest struct {
4359	// Message: HL7v2 message to ingest.
4360	Message *Message `json:"message,omitempty"`
4361
4362	// ForceSendFields is a list of field names (e.g. "Message") to
4363	// unconditionally include in API requests. By default, fields with
4364	// empty values are omitted from API requests. However, any non-pointer,
4365	// non-interface field appearing in ForceSendFields will be sent to the
4366	// server regardless of whether the field is empty or not. This may be
4367	// used to include empty fields in Patch requests.
4368	ForceSendFields []string `json:"-"`
4369
4370	// NullFields is a list of field names (e.g. "Message") to include in
4371	// API requests with the JSON null value. By default, fields with empty
4372	// values are omitted from API requests. However, any field with an
4373	// empty value appearing in NullFields will be sent to the server as
4374	// null. It is an error if a field in this list has a non-empty value.
4375	// This may be used to include null fields in Patch requests.
4376	NullFields []string `json:"-"`
4377}
4378
4379func (s *IngestMessageRequest) MarshalJSON() ([]byte, error) {
4380	type NoMethod IngestMessageRequest
4381	raw := NoMethod(*s)
4382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4383}
4384
4385// IngestMessageResponse: Acknowledges that a message has been ingested
4386// into the specified HL7v2 store.
4387type IngestMessageResponse struct {
4388	// Hl7Ack: HL7v2 ACK message.
4389	Hl7Ack string `json:"hl7Ack,omitempty"`
4390
4391	// Message: Created message resource.
4392	Message *Message `json:"message,omitempty"`
4393
4394	// ServerResponse contains the HTTP response code and headers from the
4395	// server.
4396	googleapi.ServerResponse `json:"-"`
4397
4398	// ForceSendFields is a list of field names (e.g. "Hl7Ack") to
4399	// unconditionally include in API requests. By default, fields with
4400	// empty values are omitted from API requests. However, any non-pointer,
4401	// non-interface field appearing in ForceSendFields will be sent to the
4402	// server regardless of whether the field is empty or not. This may be
4403	// used to include empty fields in Patch requests.
4404	ForceSendFields []string `json:"-"`
4405
4406	// NullFields is a list of field names (e.g. "Hl7Ack") to include in API
4407	// requests with the JSON null value. By default, fields with empty
4408	// values are omitted from API requests. However, any field with an
4409	// empty value appearing in NullFields will be sent to the server as
4410	// null. It is an error if a field in this list has a non-empty value.
4411	// This may be used to include null fields in Patch requests.
4412	NullFields []string `json:"-"`
4413}
4414
4415func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) {
4416	type NoMethod IngestMessageResponse
4417	raw := NoMethod(*s)
4418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4419}
4420
4421// LinkedEntity: EntityMentions can be linked to multiple entities using
4422// a LinkedEntity message lets us add other fields, e.g. confidence.
4423type LinkedEntity struct {
4424	// EntityId: entity_id is a concept unique identifier. These are
4425	// prefixed by a string that identifies the entity coding system,
4426	// followed by the unique identifier within that system. For example,
4427	// "UMLS/C0000970". This also supports ad hoc entities, which are formed
4428	// by normalizing entity mention content.
4429	EntityId string `json:"entityId,omitempty"`
4430
4431	// ForceSendFields is a list of field names (e.g. "EntityId") to
4432	// unconditionally include in API requests. By default, fields with
4433	// empty values are omitted from API requests. However, any non-pointer,
4434	// non-interface field appearing in ForceSendFields will be sent to the
4435	// server regardless of whether the field is empty or not. This may be
4436	// used to include empty fields in Patch requests.
4437	ForceSendFields []string `json:"-"`
4438
4439	// NullFields is a list of field names (e.g. "EntityId") to include in
4440	// API requests with the JSON null value. By default, fields with empty
4441	// values are omitted from API requests. However, any field with an
4442	// empty value appearing in NullFields will be sent to the server as
4443	// null. It is an error if a field in this list has a non-empty value.
4444	// This may be used to include null fields in Patch requests.
4445	NullFields []string `json:"-"`
4446}
4447
4448func (s *LinkedEntity) MarshalJSON() ([]byte, error) {
4449	type NoMethod LinkedEntity
4450	raw := NoMethod(*s)
4451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4452}
4453
4454// ListAnnotationStoresResponse: Lists the Annotation stores in the
4455// given dataset.
4456type ListAnnotationStoresResponse struct {
4457	// AnnotationStores: The returned Annotation stores. Won't be more
4458	// Annotation stores than the value of page_size in the request.
4459	AnnotationStores []*AnnotationStore `json:"annotationStores,omitempty"`
4460
4461	// NextPageToken: Token to retrieve the next page of results or empty if
4462	// there are no more results in the list.
4463	NextPageToken string `json:"nextPageToken,omitempty"`
4464
4465	// ServerResponse contains the HTTP response code and headers from the
4466	// server.
4467	googleapi.ServerResponse `json:"-"`
4468
4469	// ForceSendFields is a list of field names (e.g. "AnnotationStores") to
4470	// unconditionally include in API requests. By default, fields with
4471	// empty values are omitted from API requests. However, any non-pointer,
4472	// non-interface field appearing in ForceSendFields will be sent to the
4473	// server regardless of whether the field is empty or not. This may be
4474	// used to include empty fields in Patch requests.
4475	ForceSendFields []string `json:"-"`
4476
4477	// NullFields is a list of field names (e.g. "AnnotationStores") to
4478	// include in API requests with the JSON null value. By default, fields
4479	// with empty values are omitted from API requests. However, any field
4480	// with an empty value appearing in NullFields will be sent to the
4481	// server as null. It is an error if a field in this list has a
4482	// non-empty value. This may be used to include null fields in Patch
4483	// requests.
4484	NullFields []string `json:"-"`
4485}
4486
4487func (s *ListAnnotationStoresResponse) MarshalJSON() ([]byte, error) {
4488	type NoMethod ListAnnotationStoresResponse
4489	raw := NoMethod(*s)
4490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4491}
4492
4493// ListAnnotationsResponse: Lists the Annotations in the specified
4494// Annotation store.
4495type ListAnnotationsResponse struct {
4496	// Annotations: The returned Annotations. Won't be more values than the
4497	// value of page_size in the request. See `AnnotationView` in the
4498	// request for populated fields.
4499	Annotations []*Annotation `json:"annotations,omitempty"`
4500
4501	// NextPageToken: Token to retrieve the next page of results or empty if
4502	// there are no more results in the list.
4503	NextPageToken string `json:"nextPageToken,omitempty"`
4504
4505	// ServerResponse contains the HTTP response code and headers from the
4506	// server.
4507	googleapi.ServerResponse `json:"-"`
4508
4509	// ForceSendFields is a list of field names (e.g. "Annotations") to
4510	// unconditionally include in API requests. By default, fields with
4511	// empty values are omitted from API requests. However, any non-pointer,
4512	// non-interface field appearing in ForceSendFields will be sent to the
4513	// server regardless of whether the field is empty or not. This may be
4514	// used to include empty fields in Patch requests.
4515	ForceSendFields []string `json:"-"`
4516
4517	// NullFields is a list of field names (e.g. "Annotations") to include
4518	// in API requests with the JSON null value. By default, fields with
4519	// empty values are omitted from API requests. However, any field with
4520	// an empty value appearing in NullFields will be sent to the server as
4521	// null. It is an error if a field in this list has a non-empty value.
4522	// This may be used to include null fields in Patch requests.
4523	NullFields []string `json:"-"`
4524}
4525
4526func (s *ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
4527	type NoMethod ListAnnotationsResponse
4528	raw := NoMethod(*s)
4529	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4530}
4531
4532type ListAttributeDefinitionsResponse struct {
4533	// AttributeDefinitions: The returned Attribute definitions. The maximum
4534	// number of attributes returned is determined by the value of page_size
4535	// in the ListAttributeDefinitionsRequest.
4536	AttributeDefinitions []*AttributeDefinition `json:"attributeDefinitions,omitempty"`
4537
4538	// NextPageToken: Token to retrieve the next page of results, or empty
4539	// if there are no more results in the list.
4540	NextPageToken string `json:"nextPageToken,omitempty"`
4541
4542	// ServerResponse contains the HTTP response code and headers from the
4543	// server.
4544	googleapi.ServerResponse `json:"-"`
4545
4546	// ForceSendFields is a list of field names (e.g.
4547	// "AttributeDefinitions") to unconditionally include in API requests.
4548	// By default, fields with empty values are omitted from API requests.
4549	// However, any non-pointer, non-interface field appearing in
4550	// ForceSendFields will be sent to the server regardless of whether the
4551	// field is empty or not. This may be used to include empty fields in
4552	// Patch requests.
4553	ForceSendFields []string `json:"-"`
4554
4555	// NullFields is a list of field names (e.g. "AttributeDefinitions") to
4556	// include in API requests with the JSON null value. By default, fields
4557	// with empty values are omitted from API requests. However, any field
4558	// with an empty value appearing in NullFields will be sent to the
4559	// server as null. It is an error if a field in this list has a
4560	// non-empty value. This may be used to include null fields in Patch
4561	// requests.
4562	NullFields []string `json:"-"`
4563}
4564
4565func (s *ListAttributeDefinitionsResponse) MarshalJSON() ([]byte, error) {
4566	type NoMethod ListAttributeDefinitionsResponse
4567	raw := NoMethod(*s)
4568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4569}
4570
4571type ListConsentArtifactsResponse struct {
4572	// ConsentArtifacts: The returned Consent artifacts. The maximum number
4573	// of artifacts returned is determined by the value of page_size in the
4574	// ListConsentArtifactsRequest.
4575	ConsentArtifacts []*ConsentArtifact `json:"consentArtifacts,omitempty"`
4576
4577	// NextPageToken: Token to retrieve the next page of results, or empty
4578	// if there are no more results in the list.
4579	NextPageToken string `json:"nextPageToken,omitempty"`
4580
4581	// ServerResponse contains the HTTP response code and headers from the
4582	// server.
4583	googleapi.ServerResponse `json:"-"`
4584
4585	// ForceSendFields is a list of field names (e.g. "ConsentArtifacts") to
4586	// unconditionally include in API requests. By default, fields with
4587	// empty values are omitted from API requests. However, any non-pointer,
4588	// non-interface field appearing in ForceSendFields will be sent to the
4589	// server regardless of whether the field is empty or not. This may be
4590	// used to include empty fields in Patch requests.
4591	ForceSendFields []string `json:"-"`
4592
4593	// NullFields is a list of field names (e.g. "ConsentArtifacts") to
4594	// include in API requests with the JSON null value. By default, fields
4595	// with empty values are omitted from API requests. However, any field
4596	// with an empty value appearing in NullFields will be sent to the
4597	// server as null. It is an error if a field in this list has a
4598	// non-empty value. This may be used to include null fields in Patch
4599	// requests.
4600	NullFields []string `json:"-"`
4601}
4602
4603func (s *ListConsentArtifactsResponse) MarshalJSON() ([]byte, error) {
4604	type NoMethod ListConsentArtifactsResponse
4605	raw := NoMethod(*s)
4606	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4607}
4608
4609type ListConsentRevisionsResponse struct {
4610	// Consents: The returned Consent revisions. The maximum number of
4611	// revisions returned is determined by the value of `page_size` in the
4612	// ListConsentRevisionsRequest.
4613	Consents []*Consent `json:"consents,omitempty"`
4614
4615	// NextPageToken: Token to retrieve the next page of results, or empty
4616	// if there are no more results in the list.
4617	NextPageToken string `json:"nextPageToken,omitempty"`
4618
4619	// ServerResponse contains the HTTP response code and headers from the
4620	// server.
4621	googleapi.ServerResponse `json:"-"`
4622
4623	// ForceSendFields is a list of field names (e.g. "Consents") to
4624	// unconditionally include in API requests. By default, fields with
4625	// empty values are omitted from API requests. However, any non-pointer,
4626	// non-interface field appearing in ForceSendFields will be sent to the
4627	// server regardless of whether the field is empty or not. This may be
4628	// used to include empty fields in Patch requests.
4629	ForceSendFields []string `json:"-"`
4630
4631	// NullFields is a list of field names (e.g. "Consents") to include in
4632	// API requests with the JSON null value. By default, fields with empty
4633	// values are omitted from API requests. However, any field with an
4634	// empty value appearing in NullFields will be sent to the server as
4635	// null. It is an error if a field in this list has a non-empty value.
4636	// This may be used to include null fields in Patch requests.
4637	NullFields []string `json:"-"`
4638}
4639
4640func (s *ListConsentRevisionsResponse) MarshalJSON() ([]byte, error) {
4641	type NoMethod ListConsentRevisionsResponse
4642	raw := NoMethod(*s)
4643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4644}
4645
4646type ListConsentStoresResponse struct {
4647	// ConsentStores: The returned consent stores. The maximum number of
4648	// stores returned is determined by the value of page_size in the
4649	// ListConsentStoresRequest.
4650	ConsentStores []*ConsentStore `json:"consentStores,omitempty"`
4651
4652	// NextPageToken: Token to retrieve the next page of results, or empty
4653	// if there are no more results in the list.
4654	NextPageToken string `json:"nextPageToken,omitempty"`
4655
4656	// ServerResponse contains the HTTP response code and headers from the
4657	// server.
4658	googleapi.ServerResponse `json:"-"`
4659
4660	// ForceSendFields is a list of field names (e.g. "ConsentStores") to
4661	// unconditionally include in API requests. By default, fields with
4662	// empty values are omitted from API requests. However, any non-pointer,
4663	// non-interface field appearing in ForceSendFields will be sent to the
4664	// server regardless of whether the field is empty or not. This may be
4665	// used to include empty fields in Patch requests.
4666	ForceSendFields []string `json:"-"`
4667
4668	// NullFields is a list of field names (e.g. "ConsentStores") to include
4669	// in API requests with the JSON null value. By default, fields with
4670	// empty values are omitted from API requests. However, any field with
4671	// an empty value appearing in NullFields will be sent to the server as
4672	// null. It is an error if a field in this list has a non-empty value.
4673	// This may be used to include null fields in Patch requests.
4674	NullFields []string `json:"-"`
4675}
4676
4677func (s *ListConsentStoresResponse) MarshalJSON() ([]byte, error) {
4678	type NoMethod ListConsentStoresResponse
4679	raw := NoMethod(*s)
4680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4681}
4682
4683type ListConsentsResponse struct {
4684	// Consents: The returned Consents. The maximum number of Consents
4685	// returned is determined by the value of page_size in the
4686	// ListConsentsRequest.
4687	Consents []*Consent `json:"consents,omitempty"`
4688
4689	// NextPageToken: Token to retrieve the next page of results, or empty
4690	// if there are no more results in the list.
4691	NextPageToken string `json:"nextPageToken,omitempty"`
4692
4693	// ServerResponse contains the HTTP response code and headers from the
4694	// server.
4695	googleapi.ServerResponse `json:"-"`
4696
4697	// ForceSendFields is a list of field names (e.g. "Consents") to
4698	// unconditionally include in API requests. By default, fields with
4699	// empty values are omitted from API requests. However, any non-pointer,
4700	// non-interface field appearing in ForceSendFields will be sent to the
4701	// server regardless of whether the field is empty or not. This may be
4702	// used to include empty fields in Patch requests.
4703	ForceSendFields []string `json:"-"`
4704
4705	// NullFields is a list of field names (e.g. "Consents") to include in
4706	// API requests with the JSON null value. By default, fields with empty
4707	// values are omitted from API requests. However, any field with an
4708	// empty value appearing in NullFields will be sent to the server as
4709	// null. It is an error if a field in this list has a non-empty value.
4710	// This may be used to include null fields in Patch requests.
4711	NullFields []string `json:"-"`
4712}
4713
4714func (s *ListConsentsResponse) MarshalJSON() ([]byte, error) {
4715	type NoMethod ListConsentsResponse
4716	raw := NoMethod(*s)
4717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4718}
4719
4720// ListDatasetsResponse: Lists the available datasets.
4721type ListDatasetsResponse struct {
4722	// Datasets: The first page of datasets.
4723	Datasets []*Dataset `json:"datasets,omitempty"`
4724
4725	// NextPageToken: Token to retrieve the next page of results, or empty
4726	// if there are no more results in the list.
4727	NextPageToken string `json:"nextPageToken,omitempty"`
4728
4729	// ServerResponse contains the HTTP response code and headers from the
4730	// server.
4731	googleapi.ServerResponse `json:"-"`
4732
4733	// ForceSendFields is a list of field names (e.g. "Datasets") to
4734	// unconditionally include in API requests. By default, fields with
4735	// empty values are omitted from API requests. However, any non-pointer,
4736	// non-interface field appearing in ForceSendFields will be sent to the
4737	// server regardless of whether the field is empty or not. This may be
4738	// used to include empty fields in Patch requests.
4739	ForceSendFields []string `json:"-"`
4740
4741	// NullFields is a list of field names (e.g. "Datasets") to include in
4742	// API requests with the JSON null value. By default, fields with empty
4743	// values are omitted from API requests. However, any field with an
4744	// empty value appearing in NullFields will be sent to the server as
4745	// null. It is an error if a field in this list has a non-empty value.
4746	// This may be used to include null fields in Patch requests.
4747	NullFields []string `json:"-"`
4748}
4749
4750func (s *ListDatasetsResponse) MarshalJSON() ([]byte, error) {
4751	type NoMethod ListDatasetsResponse
4752	raw := NoMethod(*s)
4753	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4754}
4755
4756// ListDicomStoresResponse: Lists the DICOM stores in the given dataset.
4757type ListDicomStoresResponse struct {
4758	// DicomStores: The returned DICOM stores. Won't be more DICOM stores
4759	// than the value of page_size in the request.
4760	DicomStores []*DicomStore `json:"dicomStores,omitempty"`
4761
4762	// NextPageToken: Token to retrieve the next page of results or empty if
4763	// there are no more results in the list.
4764	NextPageToken string `json:"nextPageToken,omitempty"`
4765
4766	// ServerResponse contains the HTTP response code and headers from the
4767	// server.
4768	googleapi.ServerResponse `json:"-"`
4769
4770	// ForceSendFields is a list of field names (e.g. "DicomStores") to
4771	// unconditionally include in API requests. By default, fields with
4772	// empty values are omitted from API requests. However, any non-pointer,
4773	// non-interface field appearing in ForceSendFields will be sent to the
4774	// server regardless of whether the field is empty or not. This may be
4775	// used to include empty fields in Patch requests.
4776	ForceSendFields []string `json:"-"`
4777
4778	// NullFields is a list of field names (e.g. "DicomStores") to include
4779	// in API requests with the JSON null value. By default, fields with
4780	// empty values are omitted from API requests. However, any field with
4781	// an empty value appearing in NullFields will be sent to the server as
4782	// null. It is an error if a field in this list has a non-empty value.
4783	// This may be used to include null fields in Patch requests.
4784	NullFields []string `json:"-"`
4785}
4786
4787func (s *ListDicomStoresResponse) MarshalJSON() ([]byte, error) {
4788	type NoMethod ListDicomStoresResponse
4789	raw := NoMethod(*s)
4790	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4791}
4792
4793// ListFhirStoresResponse: Lists the FHIR stores in the given dataset.
4794type ListFhirStoresResponse struct {
4795	// FhirStores: The returned FHIR stores. Won't be more FHIR stores than
4796	// the value of page_size in the request.
4797	FhirStores []*FhirStore `json:"fhirStores,omitempty"`
4798
4799	// NextPageToken: Token to retrieve the next page of results or empty if
4800	// there are no more results in the list.
4801	NextPageToken string `json:"nextPageToken,omitempty"`
4802
4803	// ServerResponse contains the HTTP response code and headers from the
4804	// server.
4805	googleapi.ServerResponse `json:"-"`
4806
4807	// ForceSendFields is a list of field names (e.g. "FhirStores") to
4808	// unconditionally include in API requests. By default, fields with
4809	// empty values are omitted from API requests. However, any non-pointer,
4810	// non-interface field appearing in ForceSendFields will be sent to the
4811	// server regardless of whether the field is empty or not. This may be
4812	// used to include empty fields in Patch requests.
4813	ForceSendFields []string `json:"-"`
4814
4815	// NullFields is a list of field names (e.g. "FhirStores") to include in
4816	// API requests with the JSON null value. By default, fields with empty
4817	// values are omitted from API requests. However, any field with an
4818	// empty value appearing in NullFields will be sent to the server as
4819	// null. It is an error if a field in this list has a non-empty value.
4820	// This may be used to include null fields in Patch requests.
4821	NullFields []string `json:"-"`
4822}
4823
4824func (s *ListFhirStoresResponse) MarshalJSON() ([]byte, error) {
4825	type NoMethod ListFhirStoresResponse
4826	raw := NoMethod(*s)
4827	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4828}
4829
4830// ListHl7V2StoresResponse: Lists the HL7v2 stores in the given dataset.
4831type ListHl7V2StoresResponse struct {
4832	// Hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores
4833	// than the value of page_size in the request.
4834	Hl7V2Stores []*Hl7V2Store `json:"hl7V2Stores,omitempty"`
4835
4836	// NextPageToken: Token to retrieve the next page of results or empty if
4837	// there are no more results in the list.
4838	NextPageToken string `json:"nextPageToken,omitempty"`
4839
4840	// ServerResponse contains the HTTP response code and headers from the
4841	// server.
4842	googleapi.ServerResponse `json:"-"`
4843
4844	// ForceSendFields is a list of field names (e.g. "Hl7V2Stores") to
4845	// unconditionally include in API requests. By default, fields with
4846	// empty values are omitted from API requests. However, any non-pointer,
4847	// non-interface field appearing in ForceSendFields will be sent to the
4848	// server regardless of whether the field is empty or not. This may be
4849	// used to include empty fields in Patch requests.
4850	ForceSendFields []string `json:"-"`
4851
4852	// NullFields is a list of field names (e.g. "Hl7V2Stores") to include
4853	// in API requests with the JSON null value. By default, fields with
4854	// empty values are omitted from API requests. However, any field with
4855	// an empty value appearing in NullFields will be sent to the server as
4856	// null. It is an error if a field in this list has a non-empty value.
4857	// This may be used to include null fields in Patch requests.
4858	NullFields []string `json:"-"`
4859}
4860
4861func (s *ListHl7V2StoresResponse) MarshalJSON() ([]byte, error) {
4862	type NoMethod ListHl7V2StoresResponse
4863	raw := NoMethod(*s)
4864	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4865}
4866
4867// ListLocationsResponse: The response message for
4868// Locations.ListLocations.
4869type ListLocationsResponse struct {
4870	// Locations: A list of locations that matches the specified filter in
4871	// the request.
4872	Locations []*Location `json:"locations,omitempty"`
4873
4874	// NextPageToken: The standard List next-page token.
4875	NextPageToken string `json:"nextPageToken,omitempty"`
4876
4877	// ServerResponse contains the HTTP response code and headers from the
4878	// server.
4879	googleapi.ServerResponse `json:"-"`
4880
4881	// ForceSendFields is a list of field names (e.g. "Locations") to
4882	// unconditionally include in API requests. By default, fields with
4883	// empty values are omitted from API requests. However, any non-pointer,
4884	// non-interface field appearing in ForceSendFields will be sent to the
4885	// server regardless of whether the field is empty or not. This may be
4886	// used to include empty fields in Patch requests.
4887	ForceSendFields []string `json:"-"`
4888
4889	// NullFields is a list of field names (e.g. "Locations") to include in
4890	// API requests with the JSON null value. By default, fields with empty
4891	// values are omitted from API requests. However, any field with an
4892	// empty value appearing in NullFields will be sent to the server as
4893	// null. It is an error if a field in this list has a non-empty value.
4894	// This may be used to include null fields in Patch requests.
4895	NullFields []string `json:"-"`
4896}
4897
4898func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
4899	type NoMethod ListLocationsResponse
4900	raw := NoMethod(*s)
4901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4902}
4903
4904// ListMessagesResponse: Lists the messages in the specified HL7v2
4905// store.
4906type ListMessagesResponse struct {
4907	// Hl7V2Messages: The returned Messages. Won't be more Messages than the
4908	// value of page_size in the request. See view for populated fields.
4909	Hl7V2Messages []*Message `json:"hl7V2Messages,omitempty"`
4910
4911	// NextPageToken: Token to retrieve the next page of results or empty if
4912	// there are no more results in the list.
4913	NextPageToken string `json:"nextPageToken,omitempty"`
4914
4915	// ServerResponse contains the HTTP response code and headers from the
4916	// server.
4917	googleapi.ServerResponse `json:"-"`
4918
4919	// ForceSendFields is a list of field names (e.g. "Hl7V2Messages") to
4920	// unconditionally include in API requests. By default, fields with
4921	// empty values are omitted from API requests. However, any non-pointer,
4922	// non-interface field appearing in ForceSendFields will be sent to the
4923	// server regardless of whether the field is empty or not. This may be
4924	// used to include empty fields in Patch requests.
4925	ForceSendFields []string `json:"-"`
4926
4927	// NullFields is a list of field names (e.g. "Hl7V2Messages") to include
4928	// in API requests with the JSON null value. By default, fields with
4929	// empty values are omitted from API requests. However, any field with
4930	// an empty value appearing in NullFields will be sent to the server as
4931	// null. It is an error if a field in this list has a non-empty value.
4932	// This may be used to include null fields in Patch requests.
4933	NullFields []string `json:"-"`
4934}
4935
4936func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) {
4937	type NoMethod ListMessagesResponse
4938	raw := NoMethod(*s)
4939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4940}
4941
4942// ListOperationsResponse: The response message for
4943// Operations.ListOperations.
4944type ListOperationsResponse struct {
4945	// NextPageToken: The standard List next-page token.
4946	NextPageToken string `json:"nextPageToken,omitempty"`
4947
4948	// Operations: A list of operations that matches the specified filter in
4949	// the request.
4950	Operations []*Operation `json:"operations,omitempty"`
4951
4952	// ServerResponse contains the HTTP response code and headers from the
4953	// server.
4954	googleapi.ServerResponse `json:"-"`
4955
4956	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4957	// unconditionally include in API requests. By default, fields with
4958	// empty values are omitted from API requests. However, any non-pointer,
4959	// non-interface field appearing in ForceSendFields will be sent to the
4960	// server regardless of whether the field is empty or not. This may be
4961	// used to include empty fields in Patch requests.
4962	ForceSendFields []string `json:"-"`
4963
4964	// NullFields is a list of field names (e.g. "NextPageToken") to include
4965	// in API requests with the JSON null value. By default, fields with
4966	// empty values are omitted from API requests. However, any field with
4967	// an empty value appearing in NullFields will be sent to the server as
4968	// null. It is an error if a field in this list has a non-empty value.
4969	// This may be used to include null fields in Patch requests.
4970	NullFields []string `json:"-"`
4971}
4972
4973func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
4974	type NoMethod ListOperationsResponse
4975	raw := NoMethod(*s)
4976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4977}
4978
4979type ListUserDataMappingsResponse struct {
4980	// NextPageToken: Token to retrieve the next page of results, or empty
4981	// if there are no more results in the list.
4982	NextPageToken string `json:"nextPageToken,omitempty"`
4983
4984	// UserDataMappings: The returned User data mappings. The maximum number
4985	// of User data mappings returned is determined by the value of
4986	// page_size in the ListUserDataMappingsRequest.
4987	UserDataMappings []*UserDataMapping `json:"userDataMappings,omitempty"`
4988
4989	// ServerResponse contains the HTTP response code and headers from the
4990	// server.
4991	googleapi.ServerResponse `json:"-"`
4992
4993	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4994	// unconditionally include in API requests. By default, fields with
4995	// empty values are omitted from API requests. However, any non-pointer,
4996	// non-interface field appearing in ForceSendFields will be sent to the
4997	// server regardless of whether the field is empty or not. This may be
4998	// used to include empty fields in Patch requests.
4999	ForceSendFields []string `json:"-"`
5000
5001	// NullFields is a list of field names (e.g. "NextPageToken") to include
5002	// in API requests with the JSON null value. By default, fields with
5003	// empty values are omitted from API requests. However, any field with
5004	// an empty value appearing in NullFields will be sent to the server as
5005	// null. It is an error if a field in this list has a non-empty value.
5006	// This may be used to include null fields in Patch requests.
5007	NullFields []string `json:"-"`
5008}
5009
5010func (s *ListUserDataMappingsResponse) MarshalJSON() ([]byte, error) {
5011	type NoMethod ListUserDataMappingsResponse
5012	raw := NoMethod(*s)
5013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5014}
5015
5016// Location: A resource that represents Google Cloud Platform location.
5017type Location struct {
5018	// DisplayName: The friendly name for this location, typically a nearby
5019	// city name. For example, "Tokyo".
5020	DisplayName string `json:"displayName,omitempty"`
5021
5022	// Labels: Cross-service attributes for the location. For example
5023	// {"cloud.googleapis.com/region": "us-east1"}
5024	Labels map[string]string `json:"labels,omitempty"`
5025
5026	// LocationId: The canonical id for this location. For example:
5027	// "us-east1".
5028	LocationId string `json:"locationId,omitempty"`
5029
5030	// Metadata: Service-specific metadata. For example the available
5031	// capacity at the given location.
5032	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5033
5034	// Name: Resource name for the location, which may vary between
5035	// implementations. For example:
5036	// "projects/example-project/locations/us-east1"
5037	Name string `json:"name,omitempty"`
5038
5039	// ServerResponse contains the HTTP response code and headers from the
5040	// server.
5041	googleapi.ServerResponse `json:"-"`
5042
5043	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5044	// unconditionally include in API requests. By default, fields with
5045	// empty values are omitted from API requests. However, any non-pointer,
5046	// non-interface field appearing in ForceSendFields will be sent to the
5047	// server regardless of whether the field is empty or not. This may be
5048	// used to include empty fields in Patch requests.
5049	ForceSendFields []string `json:"-"`
5050
5051	// NullFields is a list of field names (e.g. "DisplayName") to include
5052	// in API requests with the JSON null value. By default, fields with
5053	// empty values are omitted from API requests. However, any field with
5054	// an empty value appearing in NullFields will be sent to the server as
5055	// null. It is an error if a field in this list has a non-empty value.
5056	// This may be used to include null fields in Patch requests.
5057	NullFields []string `json:"-"`
5058}
5059
5060func (s *Location) MarshalJSON() ([]byte, error) {
5061	type NoMethod Location
5062	raw := NoMethod(*s)
5063	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5064}
5065
5066// Message: A complete HL7v2 message. See [Introduction to HL7
5067// Standards]
5068// (https://www.hl7.org/implement/standards/index.cfm?ref=common) for
5069// details on the standard.
5070type Message struct {
5071	// CreateTime: Output only. The datetime when the message was created.
5072	// Set by the server.
5073	CreateTime string `json:"createTime,omitempty"`
5074
5075	// Data: Raw message bytes.
5076	Data string `json:"data,omitempty"`
5077
5078	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
5079	// Label keys must be between 1 and 63 characters long, have a UTF-8
5080	// encoding of maximum 128 bytes, and must conform to the following PCRE
5081	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
5082	// must be between 1 and 63 characters long, have a UTF-8 encoding of
5083	// maximum 128 bytes, and must conform to the following PCRE regular
5084	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
5085	// associated with a given store.
5086	Labels map[string]string `json:"labels,omitempty"`
5087
5088	// MessageType: The message type for this message. MSH-9.1.
5089	MessageType string `json:"messageType,omitempty"`
5090
5091	// Name: Resource name of the Message, of the form
5092	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store
5093	// _id}/messages/{message_id}`. Assigned by the server.
5094	Name string `json:"name,omitempty"`
5095
5096	// ParsedData: Output only. The parsed version of the raw message data.
5097	ParsedData *ParsedData `json:"parsedData,omitempty"`
5098
5099	// PatientIds: All patient IDs listed in the PID-2, PID-3, and PID-4
5100	// segments of this message.
5101	PatientIds []*PatientId `json:"patientIds,omitempty"`
5102
5103	// SchematizedData: The parsed version of the raw message data
5104	// schematized according to this store's schemas and type definitions.
5105	SchematizedData *SchematizedData `json:"schematizedData,omitempty"`
5106
5107	// SendFacility: The hospital that this message came from. MSH-4.
5108	SendFacility string `json:"sendFacility,omitempty"`
5109
5110	// SendTime: The datetime the sending application sent this message.
5111	// MSH-7.
5112	SendTime string `json:"sendTime,omitempty"`
5113
5114	// ServerResponse contains the HTTP response code and headers from the
5115	// server.
5116	googleapi.ServerResponse `json:"-"`
5117
5118	// ForceSendFields is a list of field names (e.g. "CreateTime") to
5119	// unconditionally include in API requests. By default, fields with
5120	// empty values are omitted from API requests. However, any non-pointer,
5121	// non-interface field appearing in ForceSendFields will be sent to the
5122	// server regardless of whether the field is empty or not. This may be
5123	// used to include empty fields in Patch requests.
5124	ForceSendFields []string `json:"-"`
5125
5126	// NullFields is a list of field names (e.g. "CreateTime") to include in
5127	// API requests with the JSON null value. By default, fields with empty
5128	// values are omitted from API requests. However, any field with an
5129	// empty value appearing in NullFields will be sent to the server as
5130	// null. It is an error if a field in this list has a non-empty value.
5131	// This may be used to include null fields in Patch requests.
5132	NullFields []string `json:"-"`
5133}
5134
5135func (s *Message) MarshalJSON() ([]byte, error) {
5136	type NoMethod Message
5137	raw := NoMethod(*s)
5138	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5139}
5140
5141// NotificationConfig: Specifies where to send notifications upon
5142// changes to a data store.
5143type NotificationConfig struct {
5144	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
5145	// topic that notifications of changes are published on. Supplied by the
5146	// client. PubsubMessage.Data contains the resource name.
5147	// PubsubMessage.MessageId is the ID of this message. It is guaranteed
5148	// to be unique within the topic. PubsubMessage.PublishTime is the time
5149	// at which the message was published. Notifications are only sent if
5150	// the topic is non-empty. Topic names
5151	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
5152	// to a project. Cloud Healthcare API service account must have
5153	// publisher permissions on the given Pub/Sub topic. Not having adequate
5154	// permissions causes the calls that send notifications to fail. If a
5155	// notification can't be published to Pub/Sub, errors are logged to
5156	// Cloud Logging (see Viewing error logs in Cloud Logging
5157	// (https://cloud.google.com/healthcare/docs/how-tos/logging)). If the
5158	// number of errors exceeds a certain rate, some aren't submitted. Note
5159	// that not all operations trigger notifications, see Configuring
5160	// Pub/Sub notifications
5161	// (https://cloud.google.com/healthcare/docs/how-tos/pubsub) for
5162	// specific details.
5163	PubsubTopic string `json:"pubsubTopic,omitempty"`
5164
5165	// ForceSendFields is a list of field names (e.g. "PubsubTopic") to
5166	// unconditionally include in API requests. By default, fields with
5167	// empty values are omitted from API requests. However, any non-pointer,
5168	// non-interface field appearing in ForceSendFields will be sent to the
5169	// server regardless of whether the field is empty or not. This may be
5170	// used to include empty fields in Patch requests.
5171	ForceSendFields []string `json:"-"`
5172
5173	// NullFields is a list of field names (e.g. "PubsubTopic") to include
5174	// in API requests with the JSON null value. By default, fields with
5175	// empty values are omitted from API requests. However, any field with
5176	// an empty value appearing in NullFields will be sent to the server as
5177	// null. It is an error if a field in this list has a non-empty value.
5178	// This may be used to include null fields in Patch requests.
5179	NullFields []string `json:"-"`
5180}
5181
5182func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
5183	type NoMethod NotificationConfig
5184	raw := NoMethod(*s)
5185	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5186}
5187
5188// Operation: This resource represents a long-running operation that is
5189// the result of a network API call.
5190type Operation struct {
5191	// Done: If the value is `false`, it means the operation is still in
5192	// progress. If `true`, the operation is completed, and either `error`
5193	// or `response` is available.
5194	Done bool `json:"done,omitempty"`
5195
5196	// Error: The error result of the operation in case of failure or
5197	// cancellation.
5198	Error *Status `json:"error,omitempty"`
5199
5200	// Metadata: Service-specific metadata associated with the operation. It
5201	// typically contains progress information and common metadata such as
5202	// create time. Some services might not provide such metadata. Any
5203	// method that returns a long-running operation should document the
5204	// metadata type, if any.
5205	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5206
5207	// Name: The server-assigned name, which is only unique within the same
5208	// service that originally returns it. If you use the default HTTP
5209	// mapping, the `name` should be a resource name ending with
5210	// `operations/{unique_id}`.
5211	Name string `json:"name,omitempty"`
5212
5213	// Response: The normal response of the operation in case of success. If
5214	// the original method returns no data on success, such as `Delete`, the
5215	// response is `google.protobuf.Empty`. If the original method is
5216	// standard `Get`/`Create`/`Update`, the response should be the
5217	// resource. For other methods, the response should have the type
5218	// `XxxResponse`, where `Xxx` is the original method name. For example,
5219	// if the original method name is `TakeSnapshot()`, the inferred
5220	// response type is `TakeSnapshotResponse`.
5221	Response googleapi.RawMessage `json:"response,omitempty"`
5222
5223	// ServerResponse contains the HTTP response code and headers from the
5224	// server.
5225	googleapi.ServerResponse `json:"-"`
5226
5227	// ForceSendFields is a list of field names (e.g. "Done") to
5228	// unconditionally include in API requests. By default, fields with
5229	// empty values are omitted from API requests. However, any non-pointer,
5230	// non-interface field appearing in ForceSendFields will be sent to the
5231	// server regardless of whether the field is empty or not. This may be
5232	// used to include empty fields in Patch requests.
5233	ForceSendFields []string `json:"-"`
5234
5235	// NullFields is a list of field names (e.g. "Done") to include in API
5236	// requests with the JSON null value. By default, fields with empty
5237	// values are omitted from API requests. However, any field with an
5238	// empty value appearing in NullFields will be sent to the server as
5239	// null. It is an error if a field in this list has a non-empty value.
5240	// This may be used to include null fields in Patch requests.
5241	NullFields []string `json:"-"`
5242}
5243
5244func (s *Operation) MarshalJSON() ([]byte, error) {
5245	type NoMethod Operation
5246	raw := NoMethod(*s)
5247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5248}
5249
5250// OperationMetadata: OperationMetadata provides information about the
5251// operation execution. Returned in the long-running operation's
5252// metadata field.
5253type OperationMetadata struct {
5254	// ApiMethodName: The name of the API method that initiated the
5255	// operation.
5256	ApiMethodName string `json:"apiMethodName,omitempty"`
5257
5258	// CancelRequested: Specifies if cancellation was requested for the
5259	// operation.
5260	CancelRequested bool `json:"cancelRequested,omitempty"`
5261
5262	Counter *ProgressCounter `json:"counter,omitempty"`
5263
5264	// CreateTime: The time at which the operation was created by the API.
5265	CreateTime string `json:"createTime,omitempty"`
5266
5267	// EndTime: The time at which execution was completed.
5268	EndTime string `json:"endTime,omitempty"`
5269
5270	// LogsUrl: A link to audit and error logs in the log viewer. Error logs
5271	// are generated only by some operations, listed at Viewing error logs
5272	// in Cloud Logging
5273	// (https://cloud.google.com/healthcare/docs/how-tos/logging).
5274	LogsUrl string `json:"logsUrl,omitempty"`
5275
5276	// ForceSendFields is a list of field names (e.g. "ApiMethodName") to
5277	// unconditionally include in API requests. By default, fields with
5278	// empty values are omitted from API requests. However, any non-pointer,
5279	// non-interface field appearing in ForceSendFields will be sent to the
5280	// server regardless of whether the field is empty or not. This may be
5281	// used to include empty fields in Patch requests.
5282	ForceSendFields []string `json:"-"`
5283
5284	// NullFields is a list of field names (e.g. "ApiMethodName") to include
5285	// in API requests with the JSON null value. By default, fields with
5286	// empty values are omitted from API requests. However, any field with
5287	// an empty value appearing in NullFields will be sent to the server as
5288	// null. It is an error if a field in this list has a non-empty value.
5289	// This may be used to include null fields in Patch requests.
5290	NullFields []string `json:"-"`
5291}
5292
5293func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
5294	type NoMethod OperationMetadata
5295	raw := NoMethod(*s)
5296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5297}
5298
5299// ParsedData: The content of an HL7v2 message in a structured format.
5300type ParsedData struct {
5301	Segments []*Segment `json:"segments,omitempty"`
5302
5303	// ForceSendFields is a list of field names (e.g. "Segments") to
5304	// unconditionally include in API requests. By default, fields with
5305	// empty values are omitted from API requests. However, any non-pointer,
5306	// non-interface field appearing in ForceSendFields will be sent to the
5307	// server regardless of whether the field is empty or not. This may be
5308	// used to include empty fields in Patch requests.
5309	ForceSendFields []string `json:"-"`
5310
5311	// NullFields is a list of field names (e.g. "Segments") to include in
5312	// API requests with the JSON null value. By default, fields with empty
5313	// values are omitted from API requests. However, any field with an
5314	// empty value appearing in NullFields will be sent to the server as
5315	// null. It is an error if a field in this list has a non-empty value.
5316	// This may be used to include null fields in Patch requests.
5317	NullFields []string `json:"-"`
5318}
5319
5320func (s *ParsedData) MarshalJSON() ([]byte, error) {
5321	type NoMethod ParsedData
5322	raw := NoMethod(*s)
5323	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5324}
5325
5326// ParserConfig: The configuration for the parser. It determines how the
5327// server parses the messages.
5328type ParserConfig struct {
5329	// AllowNullHeader: Determines whether messages with no header are
5330	// allowed.
5331	AllowNullHeader bool `json:"allowNullHeader,omitempty"`
5332
5333	// Schema: Schemas used to parse messages in this store, if schematized
5334	// parsing is desired.
5335	Schema *SchemaPackage `json:"schema,omitempty"`
5336
5337	// SegmentTerminator: Byte(s) to use as the segment terminator. If this
5338	// is unset, '\r' is used as segment terminator, matching the HL7
5339	// version 2 specification.
5340	SegmentTerminator string `json:"segmentTerminator,omitempty"`
5341
5342	// Version: Immutable. Determines the version of the unschematized
5343	// parser to be used when `schema` is not given. This field is immutable
5344	// after store creation.
5345	//
5346	// Possible values:
5347	//   "PARSER_VERSION_UNSPECIFIED" - Unspecified parser version,
5348	// equivalent to V1.
5349	//   "V1" - The `parsed_data` includes every given non-empty message
5350	// field except the Field Separator (MSH-1) field. As a result, the
5351	// parsed MSH segment starts with the MSH-2 field and the field numbers
5352	// are off-by-one with respect to the HL7 standard.
5353	//   "V2" - The `parsed_data` includes every given non-empty message
5354	// field.
5355	Version string `json:"version,omitempty"`
5356
5357	// ForceSendFields is a list of field names (e.g. "AllowNullHeader") to
5358	// unconditionally include in API requests. By default, fields with
5359	// empty values are omitted from API requests. However, any non-pointer,
5360	// non-interface field appearing in ForceSendFields will be sent to the
5361	// server regardless of whether the field is empty or not. This may be
5362	// used to include empty fields in Patch requests.
5363	ForceSendFields []string `json:"-"`
5364
5365	// NullFields is a list of field names (e.g. "AllowNullHeader") to
5366	// include in API requests with the JSON null value. By default, fields
5367	// with empty values are omitted from API requests. However, any field
5368	// with an empty value appearing in NullFields will be sent to the
5369	// server as null. It is an error if a field in this list has a
5370	// non-empty value. This may be used to include null fields in Patch
5371	// requests.
5372	NullFields []string `json:"-"`
5373}
5374
5375func (s *ParserConfig) MarshalJSON() ([]byte, error) {
5376	type NoMethod ParserConfig
5377	raw := NoMethod(*s)
5378	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5379}
5380
5381// PatientId: A patient identifier and associated type.
5382type PatientId struct {
5383	// Type: ID type. For example, MRN or NHS.
5384	Type string `json:"type,omitempty"`
5385
5386	// Value: The patient's unique identifier.
5387	Value string `json:"value,omitempty"`
5388
5389	// ForceSendFields is a list of field names (e.g. "Type") to
5390	// unconditionally include in API requests. By default, fields with
5391	// empty values are omitted from API requests. However, any non-pointer,
5392	// non-interface field appearing in ForceSendFields will be sent to the
5393	// server regardless of whether the field is empty or not. This may be
5394	// used to include empty fields in Patch requests.
5395	ForceSendFields []string `json:"-"`
5396
5397	// NullFields is a list of field names (e.g. "Type") to include in API
5398	// requests with the JSON null value. By default, fields with empty
5399	// values are omitted from API requests. However, any field with an
5400	// empty value appearing in NullFields will be sent to the server as
5401	// null. It is an error if a field in this list has a non-empty value.
5402	// This may be used to include null fields in Patch requests.
5403	NullFields []string `json:"-"`
5404}
5405
5406func (s *PatientId) MarshalJSON() ([]byte, error) {
5407	type NoMethod PatientId
5408	raw := NoMethod(*s)
5409	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5410}
5411
5412// Policy: An Identity and Access Management (IAM) policy, which
5413// specifies access controls for Google Cloud resources. A `Policy` is a
5414// collection of `bindings`. A `binding` binds one or more `members` to
5415// a single `role`. Members can be user accounts, service accounts,
5416// Google groups, and domains (such as G Suite). A `role` is a named
5417// list of permissions; each `role` can be an IAM predefined role or a
5418// user-created custom role. For some types of Google Cloud resources, a
5419// `binding` can also specify a `condition`, which is a logical
5420// expression that allows access to a resource only if the expression
5421// evaluates to `true`. A condition can add constraints based on
5422// attributes of the request, the resource, or both. To learn which
5423// resources support conditions in their IAM policies, see the IAM
5424// documentation
5425// (https://cloud.google.com/iam/help/conditions/resource-policies).
5426// **JSON example:** { "bindings": [ { "role":
5427// "roles/resourcemanager.organizationAdmin", "members": [
5428// "user:mike@example.com", "group:admins@example.com",
5429// "domain:google.com",
5430// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
5431// "role": "roles/resourcemanager.organizationViewer", "members": [
5432// "user:eve@example.com" ], "condition": { "title": "expirable access",
5433// "description": "Does not grant access after Sep 2020", "expression":
5434// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
5435// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
5436// members: - user:mike@example.com - group:admins@example.com -
5437// domain:google.com -
5438// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
5439// roles/resourcemanager.organizationAdmin - members: -
5440// user:eve@example.com role: roles/resourcemanager.organizationViewer
5441// condition: title: expirable access description: Does not grant access
5442// after Sep 2020 expression: request.time <
5443// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
5444// 3 For a description of IAM and its features, see the IAM
5445// documentation (https://cloud.google.com/iam/docs/).
5446type Policy struct {
5447	// AuditConfigs: Specifies cloud audit logging configuration for this
5448	// policy.
5449	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
5450
5451	// Bindings: Associates a list of `members` to a `role`. Optionally, may
5452	// specify a `condition` that determines how and when the `bindings` are
5453	// applied. Each of the `bindings` must contain at least one member.
5454	Bindings []*Binding `json:"bindings,omitempty"`
5455
5456	// Etag: `etag` is used for optimistic concurrency control as a way to
5457	// help prevent simultaneous updates of a policy from overwriting each
5458	// other. It is strongly suggested that systems make use of the `etag`
5459	// in the read-modify-write cycle to perform policy updates in order to
5460	// avoid race conditions: An `etag` is returned in the response to
5461	// `getIamPolicy`, and systems are expected to put that etag in the
5462	// request to `setIamPolicy` to ensure that their change will be applied
5463	// to the same version of the policy. **Important:** If you use IAM
5464	// Conditions, you must include the `etag` field whenever you call
5465	// `setIamPolicy`. If you omit this field, then IAM allows you to
5466	// overwrite a version `3` policy with a version `1` policy, and all of
5467	// the conditions in the version `3` policy are lost.
5468	Etag string `json:"etag,omitempty"`
5469
5470	// Version: Specifies the format of the policy. Valid values are `0`,
5471	// `1`, and `3`. Requests that specify an invalid value are rejected.
5472	// Any operation that affects conditional role bindings must specify
5473	// version `3`. This requirement applies to the following operations: *
5474	// Getting a policy that includes a conditional role binding * Adding a
5475	// conditional role binding to a policy * Changing a conditional role
5476	// binding in a policy * Removing any role binding, with or without a
5477	// condition, from a policy that includes conditions **Important:** If
5478	// you use IAM Conditions, you must include the `etag` field whenever
5479	// you call `setIamPolicy`. If you omit this field, then IAM allows you
5480	// to overwrite a version `3` policy with a version `1` policy, and all
5481	// of the conditions in the version `3` policy are lost. If a policy
5482	// does not include any conditions, operations on that policy may
5483	// specify any valid version or leave the field unset. To learn which
5484	// resources support conditions in their IAM policies, see the IAM
5485	// documentation
5486	// (https://cloud.google.com/iam/help/conditions/resource-policies).
5487	Version int64 `json:"version,omitempty"`
5488
5489	// ServerResponse contains the HTTP response code and headers from the
5490	// server.
5491	googleapi.ServerResponse `json:"-"`
5492
5493	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
5494	// unconditionally include in API requests. By default, fields with
5495	// empty values are omitted from API requests. However, any non-pointer,
5496	// non-interface field appearing in ForceSendFields will be sent to the
5497	// server regardless of whether the field is empty or not. This may be
5498	// used to include empty fields in Patch requests.
5499	ForceSendFields []string `json:"-"`
5500
5501	// NullFields is a list of field names (e.g. "AuditConfigs") to include
5502	// in API requests with the JSON null value. By default, fields with
5503	// empty values are omitted from API requests. However, any field with
5504	// an empty value appearing in NullFields will be sent to the server as
5505	// null. It is an error if a field in this list has a non-empty value.
5506	// This may be used to include null fields in Patch requests.
5507	NullFields []string `json:"-"`
5508}
5509
5510func (s *Policy) MarshalJSON() ([]byte, error) {
5511	type NoMethod Policy
5512	raw := NoMethod(*s)
5513	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5514}
5515
5516// ProgressCounter: ProgressCounter provides counters to describe an
5517// operation's progress.
5518type ProgressCounter struct {
5519	// Failure: The number of units that failed in the operation.
5520	Failure int64 `json:"failure,omitempty,string"`
5521
5522	// Pending: The number of units that are pending in the operation.
5523	Pending int64 `json:"pending,omitempty,string"`
5524
5525	// Success: The number of units that succeeded in the operation.
5526	Success int64 `json:"success,omitempty,string"`
5527
5528	// ForceSendFields is a list of field names (e.g. "Failure") to
5529	// unconditionally include in API requests. By default, fields with
5530	// empty values are omitted from API requests. However, any non-pointer,
5531	// non-interface field appearing in ForceSendFields will be sent to the
5532	// server regardless of whether the field is empty or not. This may be
5533	// used to include empty fields in Patch requests.
5534	ForceSendFields []string `json:"-"`
5535
5536	// NullFields is a list of field names (e.g. "Failure") to include in
5537	// API requests with the JSON null value. By default, fields with empty
5538	// values are omitted from API requests. However, any field with an
5539	// empty value appearing in NullFields will be sent to the server as
5540	// null. It is an error if a field in this list has a non-empty value.
5541	// This may be used to include null fields in Patch requests.
5542	NullFields []string `json:"-"`
5543}
5544
5545func (s *ProgressCounter) MarshalJSON() ([]byte, error) {
5546	type NoMethod ProgressCounter
5547	raw := NoMethod(*s)
5548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5549}
5550
5551// QueryAccessibleDataRequest: Queries all data_ids that are consented
5552// for a given use in the given consent store and writes them to a
5553// specified destination. The returned Operation includes a progress
5554// counter for the number of User data mappings processed. Errors are
5555// logged to Cloud Logging (see [Viewing error logs in Cloud Logging]
5556// (https://cloud.google.com/healthcare/docs/how-tos/logging) and
5557// [QueryAccessibleData] for a sample log entry).
5558type QueryAccessibleDataRequest struct {
5559	// GcsDestination: The Cloud Storage destination. The Cloud Healthcare
5560	// API service account must have the `roles/storage.objectAdmin` Cloud
5561	// IAM role for this Cloud Storage location.
5562	GcsDestination *GoogleCloudHealthcareV1beta1ConsentGcsDestination `json:"gcsDestination,omitempty"`
5563
5564	// RequestAttributes: The values of request attributes associated with
5565	// this access request.
5566	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
5567
5568	// ResourceAttributes: Optional. The values of resource attributes
5569	// associated with the type of resources being requested. If no values
5570	// are specified, then all resource types are included in the output.
5571	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
5572
5573	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
5574	// unconditionally include in API requests. By default, fields with
5575	// empty values are omitted from API requests. However, any non-pointer,
5576	// non-interface field appearing in ForceSendFields will be sent to the
5577	// server regardless of whether the field is empty or not. This may be
5578	// used to include empty fields in Patch requests.
5579	ForceSendFields []string `json:"-"`
5580
5581	// NullFields is a list of field names (e.g. "GcsDestination") to
5582	// include in API requests with the JSON null value. By default, fields
5583	// with empty values are omitted from API requests. However, any field
5584	// with an empty value appearing in NullFields will be sent to the
5585	// server as null. It is an error if a field in this list has a
5586	// non-empty value. This may be used to include null fields in Patch
5587	// requests.
5588	NullFields []string `json:"-"`
5589}
5590
5591func (s *QueryAccessibleDataRequest) MarshalJSON() ([]byte, error) {
5592	type NoMethod QueryAccessibleDataRequest
5593	raw := NoMethod(*s)
5594	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5595}
5596
5597// RedactConfig: Define how to redact sensitive values. Default
5598// behaviour is erase. For example, "My name is Jane." becomes "My name
5599// is ."
5600type RedactConfig struct {
5601}
5602
5603// RejectConsentRequest: Rejects the latest revision of the specified
5604// Consent by committing a new revision with `state` updated to
5605// `REJECTED`. If the latest revision of the given Consent is in the
5606// `REJECTED` state, no new revision is committed.
5607type RejectConsentRequest struct {
5608	// ConsentArtifact: Optional. The resource name of the Consent artifact
5609	// that contains documentation of the user's rejection of the draft
5610	// Consent, of the form
5611	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5612	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5613	// `. If the draft Consent had a Consent artifact, this Consent artifact
5614	// overwrites it.
5615	ConsentArtifact string `json:"consentArtifact,omitempty"`
5616
5617	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5618	// unconditionally include in API requests. By default, fields with
5619	// empty values are omitted from API requests. However, any non-pointer,
5620	// non-interface field appearing in ForceSendFields will be sent to the
5621	// server regardless of whether the field is empty or not. This may be
5622	// used to include empty fields in Patch requests.
5623	ForceSendFields []string `json:"-"`
5624
5625	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5626	// include in API requests with the JSON null value. By default, fields
5627	// with empty values are omitted from API requests. However, any field
5628	// with an empty value appearing in NullFields will be sent to the
5629	// server as null. It is an error if a field in this list has a
5630	// non-empty value. This may be used to include null fields in Patch
5631	// requests.
5632	NullFields []string `json:"-"`
5633}
5634
5635func (s *RejectConsentRequest) MarshalJSON() ([]byte, error) {
5636	type NoMethod RejectConsentRequest
5637	raw := NoMethod(*s)
5638	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5639}
5640
5641// ReplaceWithInfoTypeConfig: When using the INSPECT_AND_TRANSFORM
5642// action, each match is replaced with the name of the info_type. For
5643// example, "My name is Jane" becomes "My name is [PERSON_NAME]." The
5644// TRANSFORM action is equivalent to redacting.
5645type ReplaceWithInfoTypeConfig struct {
5646}
5647
5648// ResourceAnnotation: Resource level annotation.
5649type ResourceAnnotation struct {
5650	// Label: A description of the annotation record.
5651	Label string `json:"label,omitempty"`
5652
5653	// ForceSendFields is a list of field names (e.g. "Label") to
5654	// unconditionally include in API requests. By default, fields with
5655	// empty values are omitted from API requests. However, any non-pointer,
5656	// non-interface field appearing in ForceSendFields will be sent to the
5657	// server regardless of whether the field is empty or not. This may be
5658	// used to include empty fields in Patch requests.
5659	ForceSendFields []string `json:"-"`
5660
5661	// NullFields is a list of field names (e.g. "Label") to include in API
5662	// requests with the JSON null value. By default, fields with empty
5663	// values are omitted from API requests. However, any field with an
5664	// empty value appearing in NullFields will be sent to the server as
5665	// null. It is an error if a field in this list has a non-empty value.
5666	// This may be used to include null fields in Patch requests.
5667	NullFields []string `json:"-"`
5668}
5669
5670func (s *ResourceAnnotation) MarshalJSON() ([]byte, error) {
5671	type NoMethod ResourceAnnotation
5672	raw := NoMethod(*s)
5673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5674}
5675
5676// Resources: A list of FHIR resources.
5677type Resources struct {
5678	// Resources: List of resources IDs. For example, "Patient/1234".
5679	Resources []string `json:"resources,omitempty"`
5680
5681	// ForceSendFields is a list of field names (e.g. "Resources") to
5682	// unconditionally include in API requests. By default, fields with
5683	// empty values are omitted from API requests. However, any non-pointer,
5684	// non-interface field appearing in ForceSendFields will be sent to the
5685	// server regardless of whether the field is empty or not. This may be
5686	// used to include empty fields in Patch requests.
5687	ForceSendFields []string `json:"-"`
5688
5689	// NullFields is a list of field names (e.g. "Resources") to include in
5690	// API requests with the JSON null value. By default, fields with empty
5691	// values are omitted from API requests. However, any field with an
5692	// empty value appearing in NullFields will be sent to the server as
5693	// null. It is an error if a field in this list has a non-empty value.
5694	// This may be used to include null fields in Patch requests.
5695	NullFields []string `json:"-"`
5696}
5697
5698func (s *Resources) MarshalJSON() ([]byte, error) {
5699	type NoMethod Resources
5700	raw := NoMethod(*s)
5701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5702}
5703
5704// Result: The consent evaluation result for a single `data_id`.
5705type Result struct {
5706	// ConsentDetails: The resource names of all evaluated Consents mapped
5707	// to their evaluation.
5708	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
5709
5710	// Consented: Whether the resource is consented for the given use.
5711	Consented bool `json:"consented,omitempty"`
5712
5713	// DataId: The unique identifier of the evaluated resource.
5714	DataId string `json:"dataId,omitempty"`
5715
5716	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
5717	// unconditionally include in API requests. By default, fields with
5718	// empty values are omitted from API requests. However, any non-pointer,
5719	// non-interface field appearing in ForceSendFields will be sent to the
5720	// server regardless of whether the field is empty or not. This may be
5721	// used to include empty fields in Patch requests.
5722	ForceSendFields []string `json:"-"`
5723
5724	// NullFields is a list of field names (e.g. "ConsentDetails") to
5725	// include in API requests with the JSON null value. By default, fields
5726	// with empty values are omitted from API requests. However, any field
5727	// with an empty value appearing in NullFields will be sent to the
5728	// server as null. It is an error if a field in this list has a
5729	// non-empty value. This may be used to include null fields in Patch
5730	// requests.
5731	NullFields []string `json:"-"`
5732}
5733
5734func (s *Result) MarshalJSON() ([]byte, error) {
5735	type NoMethod Result
5736	raw := NoMethod(*s)
5737	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5738}
5739
5740// RevokeConsentRequest: Revokes the latest revision of the specified
5741// Consent by committing a new revision with `state` updated to
5742// `REVOKED`. If the latest revision of the given Consent is in the
5743// `REVOKED` state, no new revision is committed.
5744type RevokeConsentRequest struct {
5745	// ConsentArtifact: Optional. The resource name of the Consent artifact
5746	// that contains proof of the user's revocation of the Consent, of the
5747	// form
5748	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5749	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5750	// `.
5751	ConsentArtifact string `json:"consentArtifact,omitempty"`
5752
5753	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5754	// unconditionally include in API requests. By default, fields with
5755	// empty values are omitted from API requests. However, any non-pointer,
5756	// non-interface field appearing in ForceSendFields will be sent to the
5757	// server regardless of whether the field is empty or not. This may be
5758	// used to include empty fields in Patch requests.
5759	ForceSendFields []string `json:"-"`
5760
5761	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5762	// include in API requests with the JSON null value. By default, fields
5763	// with empty values are omitted from API requests. However, any field
5764	// with an empty value appearing in NullFields will be sent to the
5765	// server as null. It is an error if a field in this list has a
5766	// non-empty value. This may be used to include null fields in Patch
5767	// requests.
5768	NullFields []string `json:"-"`
5769}
5770
5771func (s *RevokeConsentRequest) MarshalJSON() ([]byte, error) {
5772	type NoMethod RevokeConsentRequest
5773	raw := NoMethod(*s)
5774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5775}
5776
5777// SchemaConfig: Configuration for the FHIR BigQuery schema. Determines
5778// how the server generates the schema.
5779type SchemaConfig struct {
5780	// RecursiveStructureDepth: The depth for all recursive structures in
5781	// the output analytics schema. For example, `concept` in the CodeSystem
5782	// resource is a recursive structure; when the depth is 2, the
5783	// CodeSystem table will have a column called `concept.concept` but not
5784	// `concept.concept.concept`. If not specified or set to 0, the server
5785	// will use the default value 2. The maximum depth allowed is 5.
5786	RecursiveStructureDepth int64 `json:"recursiveStructureDepth,omitempty,string"`
5787
5788	// SchemaType: Specifies the output schema type. Schema type is
5789	// required.
5790	//
5791	// Possible values:
5792	//   "SCHEMA_TYPE_UNSPECIFIED" - No schema type specified. This type is
5793	// unsupported.
5794	//   "LOSSLESS" - A data-driven schema generated from the fields present
5795	// in the FHIR data being exported, with no additional simplification.
5796	//   "ANALYTICS" - Analytics schema defined by the FHIR community. See
5797	// https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
5798	// BigQuery only allows a maximum of 10,000 columns per table. Due to
5799	// this limitation, the server will not generate schemas for fields of
5800	// type `Resource`, which can hold any resource type. The affected
5801	// fields are `Parameters.parameter.resource`, `Bundle.entry.resource`,
5802	// and `Bundle.entry.response.outcome`.
5803	SchemaType string `json:"schemaType,omitempty"`
5804
5805	// ForceSendFields is a list of field names (e.g.
5806	// "RecursiveStructureDepth") to unconditionally include in API
5807	// requests. By default, fields with empty values are omitted from API
5808	// requests. However, any non-pointer, non-interface field appearing in
5809	// ForceSendFields will be sent to the server regardless of whether the
5810	// field is empty or not. This may be used to include empty fields in
5811	// Patch requests.
5812	ForceSendFields []string `json:"-"`
5813
5814	// NullFields is a list of field names (e.g. "RecursiveStructureDepth")
5815	// to include in API requests with the JSON null value. By default,
5816	// fields with empty values are omitted from API requests. However, any
5817	// field with an empty value appearing in NullFields will be sent to the
5818	// server as null. It is an error if a field in this list has a
5819	// non-empty value. This may be used to include null fields in Patch
5820	// requests.
5821	NullFields []string `json:"-"`
5822}
5823
5824func (s *SchemaConfig) MarshalJSON() ([]byte, error) {
5825	type NoMethod SchemaConfig
5826	raw := NoMethod(*s)
5827	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5828}
5829
5830// SchemaGroup: An HL7v2 logical group construct.
5831type SchemaGroup struct {
5832	// Choice: True indicates that this is a choice group, meaning that only
5833	// one of its segments can exist in a given message.
5834	Choice bool `json:"choice,omitempty"`
5835
5836	// MaxOccurs: The maximum number of times this group can be repeated. 0
5837	// or -1 means unbounded.
5838	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5839
5840	// Members: Nested groups and/or segments.
5841	Members []*GroupOrSegment `json:"members,omitempty"`
5842
5843	// MinOccurs: The minimum number of times this group must be
5844	// present/repeated.
5845	MinOccurs int64 `json:"minOccurs,omitempty"`
5846
5847	// Name: The name of this group. For example, "ORDER_DETAIL".
5848	Name string `json:"name,omitempty"`
5849
5850	// ForceSendFields is a list of field names (e.g. "Choice") to
5851	// unconditionally include in API requests. By default, fields with
5852	// empty values are omitted from API requests. However, any non-pointer,
5853	// non-interface field appearing in ForceSendFields will be sent to the
5854	// server regardless of whether the field is empty or not. This may be
5855	// used to include empty fields in Patch requests.
5856	ForceSendFields []string `json:"-"`
5857
5858	// NullFields is a list of field names (e.g. "Choice") to include in API
5859	// requests with the JSON null value. By default, fields with empty
5860	// values are omitted from API requests. However, any field with an
5861	// empty value appearing in NullFields will be sent to the server as
5862	// null. It is an error if a field in this list has a non-empty value.
5863	// This may be used to include null fields in Patch requests.
5864	NullFields []string `json:"-"`
5865}
5866
5867func (s *SchemaGroup) MarshalJSON() ([]byte, error) {
5868	type NoMethod SchemaGroup
5869	raw := NoMethod(*s)
5870	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5871}
5872
5873// SchemaPackage: A schema package contains a set of schemas and type
5874// definitions.
5875type SchemaPackage struct {
5876	// IgnoreMinOccurs: Flag to ignore all min_occurs restrictions in the
5877	// schema. This means that incoming messages can omit any group,
5878	// segment, field, component, or subcomponent.
5879	IgnoreMinOccurs bool `json:"ignoreMinOccurs,omitempty"`
5880
5881	// Schemas: Schema configs that are layered based on their
5882	// VersionSources that match the incoming message. Schema configs
5883	// present in higher indices override those in lower indices with the
5884	// same message type and trigger event if their VersionSources all match
5885	// an incoming message.
5886	Schemas []*Hl7SchemaConfig `json:"schemas,omitempty"`
5887
5888	// SchematizedParsingType: Determines how messages that fail to parse
5889	// are handled.
5890	//
5891	// Possible values:
5892	//   "SCHEMATIZED_PARSING_TYPE_UNSPECIFIED" - Unspecified schematized
5893	// parsing type, equivalent to `SOFT_FAIL`.
5894	//   "SOFT_FAIL" - Messages that fail to parse are still stored and
5895	// ACKed but a parser error is stored in place of the schematized data.
5896	//   "HARD_FAIL" - Messages that fail to parse are rejected from
5897	// ingestion/insertion and return an error code.
5898	SchematizedParsingType string `json:"schematizedParsingType,omitempty"`
5899
5900	// Types: Schema type definitions that are layered based on their
5901	// VersionSources that match the incoming message. Type definitions
5902	// present in higher indices override those in lower indices with the
5903	// same type name if their VersionSources all match an incoming message.
5904	Types []*Hl7TypesConfig `json:"types,omitempty"`
5905
5906	// UnexpectedSegmentHandling: Determines how unexpected segments
5907	// (segments not matched to the schema) are handled.
5908	//
5909	// Possible values:
5910	//   "UNEXPECTED_SEGMENT_HANDLING_MODE_UNSPECIFIED" - Unspecified
5911	// handling mode, equivalent to FAIL.
5912	//   "FAIL" - Unexpected segments fail to parse and return an error.
5913	//   "SKIP" - Unexpected segments do not fail, but are omitted from the
5914	// output.
5915	//   "PARSE" - Unexpected segments do not fail, but are parsed in place
5916	// and added to the current group. If a segment has a type definition,
5917	// it is used, otherwise it is parsed as VARIES.
5918	UnexpectedSegmentHandling string `json:"unexpectedSegmentHandling,omitempty"`
5919
5920	// ForceSendFields is a list of field names (e.g. "IgnoreMinOccurs") to
5921	// unconditionally include in API requests. By default, fields with
5922	// empty values are omitted from API requests. However, any non-pointer,
5923	// non-interface field appearing in ForceSendFields will be sent to the
5924	// server regardless of whether the field is empty or not. This may be
5925	// used to include empty fields in Patch requests.
5926	ForceSendFields []string `json:"-"`
5927
5928	// NullFields is a list of field names (e.g. "IgnoreMinOccurs") to
5929	// include in API requests with the JSON null value. By default, fields
5930	// with empty values are omitted from API requests. However, any field
5931	// with an empty value appearing in NullFields will be sent to the
5932	// server as null. It is an error if a field in this list has a
5933	// non-empty value. This may be used to include null fields in Patch
5934	// requests.
5935	NullFields []string `json:"-"`
5936}
5937
5938func (s *SchemaPackage) MarshalJSON() ([]byte, error) {
5939	type NoMethod SchemaPackage
5940	raw := NoMethod(*s)
5941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5942}
5943
5944// SchemaSegment: An HL7v2 Segment.
5945type SchemaSegment struct {
5946	// MaxOccurs: The maximum number of times this segment can be present in
5947	// this group. 0 or -1 means unbounded.
5948	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5949
5950	// MinOccurs: The minimum number of times this segment can be present in
5951	// this group.
5952	MinOccurs int64 `json:"minOccurs,omitempty"`
5953
5954	// Type: The Segment type. For example, "PID".
5955	Type string `json:"type,omitempty"`
5956
5957	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
5958	// unconditionally include in API requests. By default, fields with
5959	// empty values are omitted from API requests. However, any non-pointer,
5960	// non-interface field appearing in ForceSendFields will be sent to the
5961	// server regardless of whether the field is empty or not. This may be
5962	// used to include empty fields in Patch requests.
5963	ForceSendFields []string `json:"-"`
5964
5965	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
5966	// API requests with the JSON null value. By default, fields with empty
5967	// values are omitted from API requests. However, any field with an
5968	// empty value appearing in NullFields will be sent to the server as
5969	// null. It is an error if a field in this list has a non-empty value.
5970	// This may be used to include null fields in Patch requests.
5971	NullFields []string `json:"-"`
5972}
5973
5974func (s *SchemaSegment) MarshalJSON() ([]byte, error) {
5975	type NoMethod SchemaSegment
5976	raw := NoMethod(*s)
5977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5978}
5979
5980// SchematizedData: The content of an HL7v2 message in a structured
5981// format as specified by a schema.
5982type SchematizedData struct {
5983	// Data: JSON output of the parser.
5984	Data string `json:"data,omitempty"`
5985
5986	// Error: The error output of the parser.
5987	Error string `json:"error,omitempty"`
5988
5989	// ForceSendFields is a list of field names (e.g. "Data") to
5990	// unconditionally include in API requests. By default, fields with
5991	// empty values are omitted from API requests. However, any non-pointer,
5992	// non-interface field appearing in ForceSendFields will be sent to the
5993	// server regardless of whether the field is empty or not. This may be
5994	// used to include empty fields in Patch requests.
5995	ForceSendFields []string `json:"-"`
5996
5997	// NullFields is a list of field names (e.g. "Data") to include in API
5998	// requests with the JSON null value. By default, fields with empty
5999	// values are omitted from API requests. However, any field with an
6000	// empty value appearing in NullFields will be sent to the server as
6001	// null. It is an error if a field in this list has a non-empty value.
6002	// This may be used to include null fields in Patch requests.
6003	NullFields []string `json:"-"`
6004}
6005
6006func (s *SchematizedData) MarshalJSON() ([]byte, error) {
6007	type NoMethod SchematizedData
6008	raw := NoMethod(*s)
6009	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6010}
6011
6012// SearchResourcesRequest: Request to search the resources in the
6013// specified FHIR store.
6014type SearchResourcesRequest struct {
6015	// ResourceType: The FHIR resource type to search, such as Patient or
6016	// Observation. For a complete list, see the FHIR Resource Index (DSTU2
6017	// (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
6018	// STU3
6019	// (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), R4
6020	// (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
6021	ResourceType string `json:"resourceType,omitempty"`
6022
6023	// ForceSendFields is a list of field names (e.g. "ResourceType") to
6024	// unconditionally include in API requests. By default, fields with
6025	// empty values are omitted from API requests. However, any non-pointer,
6026	// non-interface field appearing in ForceSendFields will be sent to the
6027	// server regardless of whether the field is empty or not. This may be
6028	// used to include empty fields in Patch requests.
6029	ForceSendFields []string `json:"-"`
6030
6031	// NullFields is a list of field names (e.g. "ResourceType") to include
6032	// in API requests with the JSON null value. By default, fields with
6033	// empty values are omitted from API requests. However, any field with
6034	// an empty value appearing in NullFields will be sent to the server as
6035	// null. It is an error if a field in this list has a non-empty value.
6036	// This may be used to include null fields in Patch requests.
6037	NullFields []string `json:"-"`
6038}
6039
6040func (s *SearchResourcesRequest) MarshalJSON() ([]byte, error) {
6041	type NoMethod SearchResourcesRequest
6042	raw := NoMethod(*s)
6043	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6044}
6045
6046// Segment: A segment in a structured format.
6047type Segment struct {
6048	// Fields: A mapping from the positional location to the value. The key
6049	// string uses zero-based indexes separated by dots to identify Fields,
6050	// components and sub-components. A bracket notation is also used to
6051	// identify different instances of a repeated field. Regex for key:
6052	// (\d+)(\[\d+\])?(.\d+)?(.\d+)? Examples of (key, value) pairs: * (0.1,
6053	// "hemoglobin") denotes that the first component of Field 0 has the
6054	// value "hemoglobin". * (1.1.2, "CBC") denotes that the second
6055	// sub-component of the first component of Field 1 has the value "CBC".
6056	// * (1[0].1, "HbA1c") denotes that the first component of the first
6057	// Instance of Field 1, which is repeated, has the value "HbA1c".
6058	Fields map[string]string `json:"fields,omitempty"`
6059
6060	// SegmentId: A string that indicates the type of segment. For example,
6061	// EVN or PID.
6062	SegmentId string `json:"segmentId,omitempty"`
6063
6064	// SetId: Set ID for segments that can be in a set. This can be empty if
6065	// it's missing or isn't applicable.
6066	SetId string `json:"setId,omitempty"`
6067
6068	// ForceSendFields is a list of field names (e.g. "Fields") to
6069	// unconditionally include in API requests. By default, fields with
6070	// empty values are omitted from API requests. However, any non-pointer,
6071	// non-interface field appearing in ForceSendFields will be sent to the
6072	// server regardless of whether the field is empty or not. This may be
6073	// used to include empty fields in Patch requests.
6074	ForceSendFields []string `json:"-"`
6075
6076	// NullFields is a list of field names (e.g. "Fields") to include in API
6077	// requests with the JSON null value. By default, fields with empty
6078	// values are omitted from API requests. However, any field with an
6079	// empty value appearing in NullFields will be sent to the server as
6080	// null. It is an error if a field in this list has a non-empty value.
6081	// This may be used to include null fields in Patch requests.
6082	NullFields []string `json:"-"`
6083}
6084
6085func (s *Segment) MarshalJSON() ([]byte, error) {
6086	type NoMethod Segment
6087	raw := NoMethod(*s)
6088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6089}
6090
6091// SensitiveTextAnnotation: A TextAnnotation specifies a text range that
6092// includes sensitive information.
6093type SensitiveTextAnnotation struct {
6094	// Details: Maps from a resource slice. For example, FHIR resource field
6095	// path to a set of sensitive text findings. For example,
6096	// Appointment.Narrative text1 --> {findings_1, findings_2, findings_3}
6097	Details map[string]Detail `json:"details,omitempty"`
6098
6099	// ForceSendFields is a list of field names (e.g. "Details") to
6100	// unconditionally include in API requests. By default, fields with
6101	// empty values are omitted from API requests. However, any non-pointer,
6102	// non-interface field appearing in ForceSendFields will be sent to the
6103	// server regardless of whether the field is empty or not. This may be
6104	// used to include empty fields in Patch requests.
6105	ForceSendFields []string `json:"-"`
6106
6107	// NullFields is a list of field names (e.g. "Details") to include in
6108	// API requests with the JSON null value. By default, fields with empty
6109	// values are omitted from API requests. However, any field with an
6110	// empty value appearing in NullFields will be sent to the server as
6111	// null. It is an error if a field in this list has a non-empty value.
6112	// This may be used to include null fields in Patch requests.
6113	NullFields []string `json:"-"`
6114}
6115
6116func (s *SensitiveTextAnnotation) MarshalJSON() ([]byte, error) {
6117	type NoMethod SensitiveTextAnnotation
6118	raw := NoMethod(*s)
6119	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6120}
6121
6122// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
6123type SetIamPolicyRequest struct {
6124	// Policy: REQUIRED: The complete policy to be applied to the
6125	// `resource`. The size of the policy is limited to a few 10s of KB. An
6126	// empty policy is a valid policy but certain Cloud Platform services
6127	// (such as Projects) might reject them.
6128	Policy *Policy `json:"policy,omitempty"`
6129
6130	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
6131	// policy to modify. Only the fields in the mask will be modified. If no
6132	// mask is provided, the following default mask is used: `paths:
6133	// "bindings, etag"
6134	UpdateMask string `json:"updateMask,omitempty"`
6135
6136	// ForceSendFields is a list of field names (e.g. "Policy") to
6137	// unconditionally include in API requests. By default, fields with
6138	// empty values are omitted from API requests. However, any non-pointer,
6139	// non-interface field appearing in ForceSendFields will be sent to the
6140	// server regardless of whether the field is empty or not. This may be
6141	// used to include empty fields in Patch requests.
6142	ForceSendFields []string `json:"-"`
6143
6144	// NullFields is a list of field names (e.g. "Policy") to include in API
6145	// requests with the JSON null value. By default, fields with empty
6146	// values are omitted from API requests. However, any field with an
6147	// empty value appearing in NullFields will be sent to the server as
6148	// null. It is an error if a field in this list has a non-empty value.
6149	// This may be used to include null fields in Patch requests.
6150	NullFields []string `json:"-"`
6151}
6152
6153func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
6154	type NoMethod SetIamPolicyRequest
6155	raw := NoMethod(*s)
6156	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6157}
6158
6159// Signature: User signature.
6160type Signature struct {
6161	// Image: Optional. An image of the user's signature.
6162	Image *Image `json:"image,omitempty"`
6163
6164	// Metadata: Optional. Metadata associated with the user's signature.
6165	// For example, the user's name or the user's title.
6166	Metadata map[string]string `json:"metadata,omitempty"`
6167
6168	// SignatureTime: Optional. Timestamp of the signature.
6169	SignatureTime string `json:"signatureTime,omitempty"`
6170
6171	// UserId: Required. User's UUID provided by the client.
6172	UserId string `json:"userId,omitempty"`
6173
6174	// ForceSendFields is a list of field names (e.g. "Image") to
6175	// unconditionally include in API requests. By default, fields with
6176	// empty values are omitted from API requests. However, any non-pointer,
6177	// non-interface field appearing in ForceSendFields will be sent to the
6178	// server regardless of whether the field is empty or not. This may be
6179	// used to include empty fields in Patch requests.
6180	ForceSendFields []string `json:"-"`
6181
6182	// NullFields is a list of field names (e.g. "Image") to include in API
6183	// requests with the JSON null value. By default, fields with empty
6184	// values are omitted from API requests. However, any field with an
6185	// empty value appearing in NullFields will be sent to the server as
6186	// null. It is an error if a field in this list has a non-empty value.
6187	// This may be used to include null fields in Patch requests.
6188	NullFields []string `json:"-"`
6189}
6190
6191func (s *Signature) MarshalJSON() ([]byte, error) {
6192	type NoMethod Signature
6193	raw := NoMethod(*s)
6194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6195}
6196
6197// Status: The `Status` type defines a logical error model that is
6198// suitable for different programming environments, including REST APIs
6199// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
6200// `Status` message contains three pieces of data: error code, error
6201// message, and error details. You can find out more about this error
6202// model and how to work with it in the API Design Guide
6203// (https://cloud.google.com/apis/design/errors).
6204type Status struct {
6205	// Code: The status code, which should be an enum value of
6206	// google.rpc.Code.
6207	Code int64 `json:"code,omitempty"`
6208
6209	// Details: A list of messages that carry the error details. There is a
6210	// common set of message types for APIs to use.
6211	Details []googleapi.RawMessage `json:"details,omitempty"`
6212
6213	// Message: A developer-facing error message, which should be in
6214	// English. Any user-facing error message should be localized and sent
6215	// in the google.rpc.Status.details field, or localized by the client.
6216	Message string `json:"message,omitempty"`
6217
6218	// ForceSendFields is a list of field names (e.g. "Code") to
6219	// unconditionally include in API requests. By default, fields with
6220	// empty values are omitted from API requests. However, any non-pointer,
6221	// non-interface field appearing in ForceSendFields will be sent to the
6222	// server regardless of whether the field is empty or not. This may be
6223	// used to include empty fields in Patch requests.
6224	ForceSendFields []string `json:"-"`
6225
6226	// NullFields is a list of field names (e.g. "Code") to include in API
6227	// requests with the JSON null value. By default, fields with empty
6228	// values are omitted from API requests. However, any field with an
6229	// empty value appearing in NullFields will be sent to the server as
6230	// null. It is an error if a field in this list has a non-empty value.
6231	// This may be used to include null fields in Patch requests.
6232	NullFields []string `json:"-"`
6233}
6234
6235func (s *Status) MarshalJSON() ([]byte, error) {
6236	type NoMethod Status
6237	raw := NoMethod(*s)
6238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6239}
6240
6241// StreamConfig: Contains configuration for streaming FHIR export.
6242type StreamConfig struct {
6243	// BigqueryDestination: The destination BigQuery structure that contains
6244	// both the dataset location and corresponding schema config. The output
6245	// is organized in one table per resource type. The server reuses the
6246	// existing tables (if any) that are named after the resource types,
6247	// e.g. "Patient", "Observation". When there is no existing table for a
6248	// given resource type, the server attempts to create one. When a table
6249	// schema doesn't align with the schema config, either because of
6250	// existing incompatible schema or out of band incompatible
6251	// modification, the server does not stream in new data. One resolution
6252	// in this case is to delete the incompatible table and let the server
6253	// recreate one, though the newly created table only contains data after
6254	// the table recreation. BigQuery imposes a 1 MB limit on streaming
6255	// insert row size, therefore any resource mutation that generates more
6256	// than 1 MB of BigQuery data will not be streamed. Results are appended
6257	// to the corresponding BigQuery tables. Different versions of the same
6258	// resource are distinguishable by the meta.versionId and
6259	// meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that
6260	// results in the new version is recorded in the meta.tag. The tables
6261	// contain all historical resource versions since streaming was enabled.
6262	// For query convenience, the server also creates one view per table of
6263	// the same name containing only the current resource version. The
6264	// streamed data in the BigQuery dataset is not guaranteed to be
6265	// completely unique. The combination of the id and meta.versionId
6266	// columns should ideally identify a single unique row. But in rare
6267	// cases, duplicates may exist. At query time, users may use the SQL
6268	// select statement to keep only one of the duplicate rows given an id
6269	// and meta.versionId pair. Alternatively, the server created view
6270	// mentioned above also filters out duplicates. If a resource mutation
6271	// cannot be streamed to BigQuery, errors will be logged to Cloud
6272	// Logging (see Viewing error logs in Cloud Logging
6273	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
6274	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
6275
6276	// ResourceTypes: Supply a FHIR resource type (such as "Patient" or
6277	// "Observation"). See
6278	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of
6279	// all FHIR resource types. The server treats an empty list as an intent
6280	// to stream all the supported resource types in this FHIR store.
6281	ResourceTypes []string `json:"resourceTypes,omitempty"`
6282
6283	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
6284	// to unconditionally include in API requests. By default, fields with
6285	// empty values are omitted from API requests. However, any non-pointer,
6286	// non-interface field appearing in ForceSendFields will be sent to the
6287	// server regardless of whether the field is empty or not. This may be
6288	// used to include empty fields in Patch requests.
6289	ForceSendFields []string `json:"-"`
6290
6291	// NullFields is a list of field names (e.g. "BigqueryDestination") to
6292	// include in API requests with the JSON null value. By default, fields
6293	// with empty values are omitted from API requests. However, any field
6294	// with an empty value appearing in NullFields will be sent to the
6295	// server as null. It is an error if a field in this list has a
6296	// non-empty value. This may be used to include null fields in Patch
6297	// requests.
6298	NullFields []string `json:"-"`
6299}
6300
6301func (s *StreamConfig) MarshalJSON() ([]byte, error) {
6302	type NoMethod StreamConfig
6303	raw := NoMethod(*s)
6304	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6305}
6306
6307// TagFilterList: List of tags to be filtered.
6308type TagFilterList struct {
6309	// Tags: Tags to be filtered. Tags must be DICOM Data Elements, File
6310	// Meta Elements, or Directory Structuring Elements, as defined at:
6311	// http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.
6312	// They may be provided by "Keyword" or "Tag". For example, "PatientID",
6313	// "00100010".
6314	Tags []string `json:"tags,omitempty"`
6315
6316	// ForceSendFields is a list of field names (e.g. "Tags") to
6317	// unconditionally include in API requests. By default, fields with
6318	// empty values are omitted from API requests. However, any non-pointer,
6319	// non-interface field appearing in ForceSendFields will be sent to the
6320	// server regardless of whether the field is empty or not. This may be
6321	// used to include empty fields in Patch requests.
6322	ForceSendFields []string `json:"-"`
6323
6324	// NullFields is a list of field names (e.g. "Tags") to include in API
6325	// requests with the JSON null value. By default, fields with empty
6326	// values are omitted from API requests. However, any field with an
6327	// empty value appearing in NullFields will be sent to the server as
6328	// null. It is an error if a field in this list has a non-empty value.
6329	// This may be used to include null fields in Patch requests.
6330	NullFields []string `json:"-"`
6331}
6332
6333func (s *TagFilterList) MarshalJSON() ([]byte, error) {
6334	type NoMethod TagFilterList
6335	raw := NoMethod(*s)
6336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6337}
6338
6339// TestIamPermissionsRequest: Request message for `TestIamPermissions`
6340// method.
6341type TestIamPermissionsRequest struct {
6342	// Permissions: The set of permissions to check for the `resource`.
6343	// Permissions with wildcards (such as '*' or 'storage.*') are not
6344	// allowed. For more information see IAM Overview
6345	// (https://cloud.google.com/iam/docs/overview#permissions).
6346	Permissions []string `json:"permissions,omitempty"`
6347
6348	// ForceSendFields is a list of field names (e.g. "Permissions") to
6349	// unconditionally include in API requests. By default, fields with
6350	// empty values are omitted from API requests. However, any non-pointer,
6351	// non-interface field appearing in ForceSendFields will be sent to the
6352	// server regardless of whether the field is empty or not. This may be
6353	// used to include empty fields in Patch requests.
6354	ForceSendFields []string `json:"-"`
6355
6356	// NullFields is a list of field names (e.g. "Permissions") to include
6357	// in API requests with the JSON null value. By default, fields with
6358	// empty values are omitted from API requests. However, any field with
6359	// an empty value appearing in NullFields will be sent to the server as
6360	// null. It is an error if a field in this list has a non-empty value.
6361	// This may be used to include null fields in Patch requests.
6362	NullFields []string `json:"-"`
6363}
6364
6365func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
6366	type NoMethod TestIamPermissionsRequest
6367	raw := NoMethod(*s)
6368	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6369}
6370
6371// TestIamPermissionsResponse: Response message for `TestIamPermissions`
6372// method.
6373type TestIamPermissionsResponse struct {
6374	// Permissions: A subset of `TestPermissionsRequest.permissions` that
6375	// the caller is allowed.
6376	Permissions []string `json:"permissions,omitempty"`
6377
6378	// ServerResponse contains the HTTP response code and headers from the
6379	// server.
6380	googleapi.ServerResponse `json:"-"`
6381
6382	// ForceSendFields is a list of field names (e.g. "Permissions") to
6383	// unconditionally include in API requests. By default, fields with
6384	// empty values are omitted from API requests. However, any non-pointer,
6385	// non-interface field appearing in ForceSendFields will be sent to the
6386	// server regardless of whether the field is empty or not. This may be
6387	// used to include empty fields in Patch requests.
6388	ForceSendFields []string `json:"-"`
6389
6390	// NullFields is a list of field names (e.g. "Permissions") to include
6391	// in API requests with the JSON null value. By default, fields with
6392	// empty values are omitted from API requests. However, any field with
6393	// an empty value appearing in NullFields will be sent to the server as
6394	// null. It is an error if a field in this list has a non-empty value.
6395	// This may be used to include null fields in Patch requests.
6396	NullFields []string `json:"-"`
6397}
6398
6399func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
6400	type NoMethod TestIamPermissionsResponse
6401	raw := NoMethod(*s)
6402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6403}
6404
6405type TextConfig struct {
6406	// Transformations: The transformations to apply to the detected data.
6407	Transformations []*InfoTypeTransformation `json:"transformations,omitempty"`
6408
6409	// ForceSendFields is a list of field names (e.g. "Transformations") to
6410	// unconditionally include in API requests. By default, fields with
6411	// empty values are omitted from API requests. However, any non-pointer,
6412	// non-interface field appearing in ForceSendFields will be sent to the
6413	// server regardless of whether the field is empty or not. This may be
6414	// used to include empty fields in Patch requests.
6415	ForceSendFields []string `json:"-"`
6416
6417	// NullFields is a list of field names (e.g. "Transformations") to
6418	// include in API requests with the JSON null value. By default, fields
6419	// with empty values are omitted from API requests. However, any field
6420	// with an empty value appearing in NullFields will be sent to the
6421	// server as null. It is an error if a field in this list has a
6422	// non-empty value. This may be used to include null fields in Patch
6423	// requests.
6424	NullFields []string `json:"-"`
6425}
6426
6427func (s *TextConfig) MarshalJSON() ([]byte, error) {
6428	type NoMethod TextConfig
6429	raw := NoMethod(*s)
6430	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6431}
6432
6433// TextSpan: A span of text in the provided document.
6434type TextSpan struct {
6435	// BeginOffset: The unicode codepoint index of the beginning of this
6436	// span.
6437	BeginOffset int64 `json:"beginOffset,omitempty"`
6438
6439	// Content: The original text contained in this span.
6440	Content string `json:"content,omitempty"`
6441
6442	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
6443	// unconditionally include in API requests. By default, fields with
6444	// empty values are omitted from API requests. However, any non-pointer,
6445	// non-interface field appearing in ForceSendFields will be sent to the
6446	// server regardless of whether the field is empty or not. This may be
6447	// used to include empty fields in Patch requests.
6448	ForceSendFields []string `json:"-"`
6449
6450	// NullFields is a list of field names (e.g. "BeginOffset") to include
6451	// in API requests with the JSON null value. By default, fields with
6452	// empty values are omitted from API requests. However, any field with
6453	// an empty value appearing in NullFields will be sent to the server as
6454	// null. It is an error if a field in this list has a non-empty value.
6455	// This may be used to include null fields in Patch requests.
6456	NullFields []string `json:"-"`
6457}
6458
6459func (s *TextSpan) MarshalJSON() ([]byte, error) {
6460	type NoMethod TextSpan
6461	raw := NoMethod(*s)
6462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6463}
6464
6465// Type: A type definition for some HL7v2 type (incl. Segments and
6466// Datatypes).
6467type Type struct {
6468	// Fields: The (sub) fields this type has (if not primitive).
6469	Fields []*Field `json:"fields,omitempty"`
6470
6471	// Name: The name of this type. This would be the segment or datatype
6472	// name. For example, "PID" or "XPN".
6473	Name string `json:"name,omitempty"`
6474
6475	// Primitive: If this is a primitive type then this field is the type of
6476	// the primitive For example, STRING. Leave unspecified for composite
6477	// types.
6478	//
6479	// Possible values:
6480	//   "PRIMITIVE_UNSPECIFIED" - Not a primitive.
6481	//   "STRING" - String primitive.
6482	//   "VARIES" - Element that can have unschematized children.
6483	//   "UNESCAPED_STRING" - Like STRING, but all delimiters below this
6484	// element are ignored.
6485	Primitive string `json:"primitive,omitempty"`
6486
6487	// ForceSendFields is a list of field names (e.g. "Fields") to
6488	// unconditionally include in API requests. By default, fields with
6489	// empty values are omitted from API requests. However, any non-pointer,
6490	// non-interface field appearing in ForceSendFields will be sent to the
6491	// server regardless of whether the field is empty or not. This may be
6492	// used to include empty fields in Patch requests.
6493	ForceSendFields []string `json:"-"`
6494
6495	// NullFields is a list of field names (e.g. "Fields") to include in API
6496	// requests with the JSON null value. By default, fields with empty
6497	// values are omitted from API requests. However, any field with an
6498	// empty value appearing in NullFields will be sent to the server as
6499	// null. It is an error if a field in this list has a non-empty value.
6500	// This may be used to include null fields in Patch requests.
6501	NullFields []string `json:"-"`
6502}
6503
6504func (s *Type) MarshalJSON() ([]byte, error) {
6505	type NoMethod Type
6506	raw := NoMethod(*s)
6507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6508}
6509
6510// UserDataMapping: Maps a resource to the associated user and
6511// Attributes.
6512type UserDataMapping struct {
6513	// ArchiveTime: Output only. Indicates the time when this mapping was
6514	// archived.
6515	ArchiveTime string `json:"archiveTime,omitempty"`
6516
6517	// Archived: Output only. Indicates whether this mapping is archived.
6518	Archived bool `json:"archived,omitempty"`
6519
6520	// DataId: Required. A unique identifier for the mapped resource.
6521	DataId string `json:"dataId,omitempty"`
6522
6523	// Name: Resource name of the User data mapping, of the form
6524	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
6525	// onsentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id
6526	// }`.
6527	Name string `json:"name,omitempty"`
6528
6529	// ResourceAttributes: Attributes of the resource. Only explicitly set
6530	// attributes are displayed here. Attribute definitions with defaults
6531	// set implicitly apply to these User data mappings. Attributes listed
6532	// here must be single valued, that is, exactly one value is specified
6533	// for the field "values" in each Attribute.
6534	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
6535
6536	// UserId: Required. User's UUID provided by the client.
6537	UserId string `json:"userId,omitempty"`
6538
6539	// ServerResponse contains the HTTP response code and headers from the
6540	// server.
6541	googleapi.ServerResponse `json:"-"`
6542
6543	// ForceSendFields is a list of field names (e.g. "ArchiveTime") to
6544	// unconditionally include in API requests. By default, fields with
6545	// empty values are omitted from API requests. However, any non-pointer,
6546	// non-interface field appearing in ForceSendFields will be sent to the
6547	// server regardless of whether the field is empty or not. This may be
6548	// used to include empty fields in Patch requests.
6549	ForceSendFields []string `json:"-"`
6550
6551	// NullFields is a list of field names (e.g. "ArchiveTime") to include
6552	// in API requests with the JSON null value. By default, fields with
6553	// empty values are omitted from API requests. However, any field with
6554	// an empty value appearing in NullFields will be sent to the server as
6555	// null. It is an error if a field in this list has a non-empty value.
6556	// This may be used to include null fields in Patch requests.
6557	NullFields []string `json:"-"`
6558}
6559
6560func (s *UserDataMapping) MarshalJSON() ([]byte, error) {
6561	type NoMethod UserDataMapping
6562	raw := NoMethod(*s)
6563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6564}
6565
6566// ValidationConfig: Contains the configuration for FHIR profiles and
6567// validation.
6568type ValidationConfig struct {
6569	// DisableProfileValidation: Whether to disable profile validation for
6570	// this FHIR store. Set this to true to disable checking incoming
6571	// resources for conformance against StructureDefinitions in this FHIR
6572	// store.
6573	DisableProfileValidation bool `json:"disableProfileValidation,omitempty"`
6574
6575	// EnabledImplementationGuides: A list of ImplementationGuide URLs in
6576	// this FHIR store that are used to configure the profiles to use for
6577	// validation. For example, to use the US Core profiles for validation,
6578	// set `enabled_implementation_guides` to
6579	// `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If
6580	// `enabled_implementation_guides` is empty or omitted, then incoming
6581	// resources are only required to conform to the base FHIR profiles.
6582	// Otherwise, a resource must conform to at least one profile listed in
6583	// the `global` property of one of the enabled ImplementationGuides. The
6584	// Cloud Healthcare API does not currently enforce all of the rules in a
6585	// StructureDefinition. The following rules are supported: - min/max -
6586	// minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on
6587	// simple types - slicing, when using "value" as the discriminator type
6588	// When a URL cannot be resolved (for example, in a type assertion), the
6589	// server does not return an error.
6590	EnabledImplementationGuides []string `json:"enabledImplementationGuides,omitempty"`
6591
6592	// ForceSendFields is a list of field names (e.g.
6593	// "DisableProfileValidation") to unconditionally include in API
6594	// requests. By default, fields with empty values are omitted from API
6595	// requests. However, any non-pointer, non-interface field appearing in
6596	// ForceSendFields will be sent to the server regardless of whether the
6597	// field is empty or not. This may be used to include empty fields in
6598	// Patch requests.
6599	ForceSendFields []string `json:"-"`
6600
6601	// NullFields is a list of field names (e.g. "DisableProfileValidation")
6602	// to include in API requests with the JSON null value. By default,
6603	// fields with empty values are omitted from API requests. However, any
6604	// field with an empty value appearing in NullFields will be sent to the
6605	// server as null. It is an error if a field in this list has a
6606	// non-empty value. This may be used to include null fields in Patch
6607	// requests.
6608	NullFields []string `json:"-"`
6609}
6610
6611func (s *ValidationConfig) MarshalJSON() ([]byte, error) {
6612	type NoMethod ValidationConfig
6613	raw := NoMethod(*s)
6614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6615}
6616
6617// VersionSource: Describes a selector for extracting and matching an
6618// MSH field to a value.
6619type VersionSource struct {
6620	// MshField: The field to extract from the MSH segment. For example,
6621	// "3.1" or "18[1].1".
6622	MshField string `json:"mshField,omitempty"`
6623
6624	// Value: The value to match with the field. For example, "My
6625	// Application Name" or "2.3".
6626	Value string `json:"value,omitempty"`
6627
6628	// ForceSendFields is a list of field names (e.g. "MshField") to
6629	// unconditionally include in API requests. By default, fields with
6630	// empty values are omitted from API requests. However, any non-pointer,
6631	// non-interface field appearing in ForceSendFields will be sent to the
6632	// server regardless of whether the field is empty or not. This may be
6633	// used to include empty fields in Patch requests.
6634	ForceSendFields []string `json:"-"`
6635
6636	// NullFields is a list of field names (e.g. "MshField") to include in
6637	// API requests with the JSON null value. By default, fields with empty
6638	// values are omitted from API requests. However, any field with an
6639	// empty value appearing in NullFields will be sent to the server as
6640	// null. It is an error if a field in this list has a non-empty value.
6641	// This may be used to include null fields in Patch requests.
6642	NullFields []string `json:"-"`
6643}
6644
6645func (s *VersionSource) MarshalJSON() ([]byte, error) {
6646	type NoMethod VersionSource
6647	raw := NoMethod(*s)
6648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6649}
6650
6651// Vertex: A 2D coordinate in an image. The origin is the top-left.
6652type Vertex struct {
6653	// X: X coordinate.
6654	X float64 `json:"x,omitempty"`
6655
6656	// Y: Y coordinate.
6657	Y float64 `json:"y,omitempty"`
6658
6659	// ForceSendFields is a list of field names (e.g. "X") to
6660	// unconditionally include in API requests. By default, fields with
6661	// empty values are omitted from API requests. However, any non-pointer,
6662	// non-interface field appearing in ForceSendFields will be sent to the
6663	// server regardless of whether the field is empty or not. This may be
6664	// used to include empty fields in Patch requests.
6665	ForceSendFields []string `json:"-"`
6666
6667	// NullFields is a list of field names (e.g. "X") to include in API
6668	// requests with the JSON null value. By default, fields with empty
6669	// values are omitted from API requests. However, any field with an
6670	// empty value appearing in NullFields will be sent to the server as
6671	// null. It is an error if a field in this list has a non-empty value.
6672	// This may be used to include null fields in Patch requests.
6673	NullFields []string `json:"-"`
6674}
6675
6676func (s *Vertex) MarshalJSON() ([]byte, error) {
6677	type NoMethod Vertex
6678	raw := NoMethod(*s)
6679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6680}
6681
6682func (s *Vertex) UnmarshalJSON(data []byte) error {
6683	type NoMethod Vertex
6684	var s1 struct {
6685		X gensupport.JSONFloat64 `json:"x"`
6686		Y gensupport.JSONFloat64 `json:"y"`
6687		*NoMethod
6688	}
6689	s1.NoMethod = (*NoMethod)(s)
6690	if err := json.Unmarshal(data, &s1); err != nil {
6691		return err
6692	}
6693	s.X = float64(s1.X)
6694	s.Y = float64(s1.Y)
6695	return nil
6696}
6697
6698// method id "healthcare.projects.locations.get":
6699
6700type ProjectsLocationsGetCall struct {
6701	s            *Service
6702	name         string
6703	urlParams_   gensupport.URLParams
6704	ifNoneMatch_ string
6705	ctx_         context.Context
6706	header_      http.Header
6707}
6708
6709// Get: Gets information about a location.
6710//
6711// - name: Resource name for the location.
6712func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
6713	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6714	c.name = name
6715	return c
6716}
6717
6718// Fields allows partial responses to be retrieved. See
6719// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6720// for more information.
6721func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
6722	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6723	return c
6724}
6725
6726// IfNoneMatch sets the optional parameter which makes the operation
6727// fail if the object's ETag matches the given value. This is useful for
6728// getting updates only after the object has changed since the last
6729// request. Use googleapi.IsNotModified to check whether the response
6730// error from Do is the result of In-None-Match.
6731func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
6732	c.ifNoneMatch_ = entityTag
6733	return c
6734}
6735
6736// Context sets the context to be used in this call's Do method. Any
6737// pending HTTP request will be aborted if the provided context is
6738// canceled.
6739func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
6740	c.ctx_ = ctx
6741	return c
6742}
6743
6744// Header returns an http.Header that can be modified by the caller to
6745// add HTTP headers to the request.
6746func (c *ProjectsLocationsGetCall) Header() http.Header {
6747	if c.header_ == nil {
6748		c.header_ = make(http.Header)
6749	}
6750	return c.header_
6751}
6752
6753func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
6754	reqHeaders := make(http.Header)
6755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6756	for k, v := range c.header_ {
6757		reqHeaders[k] = v
6758	}
6759	reqHeaders.Set("User-Agent", c.s.userAgent())
6760	if c.ifNoneMatch_ != "" {
6761		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6762	}
6763	var body io.Reader = nil
6764	c.urlParams_.Set("alt", alt)
6765	c.urlParams_.Set("prettyPrint", "false")
6766	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6767	urls += "?" + c.urlParams_.Encode()
6768	req, err := http.NewRequest("GET", urls, body)
6769	if err != nil {
6770		return nil, err
6771	}
6772	req.Header = reqHeaders
6773	googleapi.Expand(req.URL, map[string]string{
6774		"name": c.name,
6775	})
6776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6777}
6778
6779// Do executes the "healthcare.projects.locations.get" call.
6780// Exactly one of *Location or error will be non-nil. Any non-2xx status
6781// code is an error. Response headers are in either
6782// *Location.ServerResponse.Header or (if a response was returned at
6783// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6784// to check whether the returned error was because
6785// http.StatusNotModified was returned.
6786func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
6787	gensupport.SetOptions(c.urlParams_, opts...)
6788	res, err := c.doRequest("json")
6789	if res != nil && res.StatusCode == http.StatusNotModified {
6790		if res.Body != nil {
6791			res.Body.Close()
6792		}
6793		return nil, &googleapi.Error{
6794			Code:   res.StatusCode,
6795			Header: res.Header,
6796		}
6797	}
6798	if err != nil {
6799		return nil, err
6800	}
6801	defer googleapi.CloseBody(res)
6802	if err := googleapi.CheckResponse(res); err != nil {
6803		return nil, err
6804	}
6805	ret := &Location{
6806		ServerResponse: googleapi.ServerResponse{
6807			Header:         res.Header,
6808			HTTPStatusCode: res.StatusCode,
6809		},
6810	}
6811	target := &ret
6812	if err := gensupport.DecodeResponse(target, res); err != nil {
6813		return nil, err
6814	}
6815	return ret, nil
6816	// {
6817	//   "description": "Gets information about a location.",
6818	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}",
6819	//   "httpMethod": "GET",
6820	//   "id": "healthcare.projects.locations.get",
6821	//   "parameterOrder": [
6822	//     "name"
6823	//   ],
6824	//   "parameters": {
6825	//     "name": {
6826	//       "description": "Resource name for the location.",
6827	//       "location": "path",
6828	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6829	//       "required": true,
6830	//       "type": "string"
6831	//     }
6832	//   },
6833	//   "path": "v1beta1/{+name}",
6834	//   "response": {
6835	//     "$ref": "Location"
6836	//   },
6837	//   "scopes": [
6838	//     "https://www.googleapis.com/auth/cloud-platform"
6839	//   ]
6840	// }
6841
6842}
6843
6844// method id "healthcare.projects.locations.list":
6845
6846type ProjectsLocationsListCall struct {
6847	s            *Service
6848	name         string
6849	urlParams_   gensupport.URLParams
6850	ifNoneMatch_ string
6851	ctx_         context.Context
6852	header_      http.Header
6853}
6854
6855// List: Lists information about the supported locations for this
6856// service.
6857//
6858// - name: The resource that owns the locations collection, if
6859//   applicable.
6860func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
6861	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6862	c.name = name
6863	return c
6864}
6865
6866// Filter sets the optional parameter "filter": A filter to narrow down
6867// results to a preferred subset. The filtering language accepts strings
6868// like "displayName=tokyo", and is documented in more detail in AIP-160
6869// (https://google.aip.dev/160).
6870func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
6871	c.urlParams_.Set("filter", filter)
6872	return c
6873}
6874
6875// PageSize sets the optional parameter "pageSize": The maximum number
6876// of results to return. If not set, the service will select a default.
6877func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
6878	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6879	return c
6880}
6881
6882// PageToken sets the optional parameter "pageToken": A page token
6883// received from the `next_page_token` field in the response. Send that
6884// page token to receive the subsequent page.
6885func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
6886	c.urlParams_.Set("pageToken", pageToken)
6887	return c
6888}
6889
6890// Fields allows partial responses to be retrieved. See
6891// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6892// for more information.
6893func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
6894	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6895	return c
6896}
6897
6898// IfNoneMatch sets the optional parameter which makes the operation
6899// fail if the object's ETag matches the given value. This is useful for
6900// getting updates only after the object has changed since the last
6901// request. Use googleapi.IsNotModified to check whether the response
6902// error from Do is the result of In-None-Match.
6903func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
6904	c.ifNoneMatch_ = entityTag
6905	return c
6906}
6907
6908// Context sets the context to be used in this call's Do method. Any
6909// pending HTTP request will be aborted if the provided context is
6910// canceled.
6911func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
6912	c.ctx_ = ctx
6913	return c
6914}
6915
6916// Header returns an http.Header that can be modified by the caller to
6917// add HTTP headers to the request.
6918func (c *ProjectsLocationsListCall) Header() http.Header {
6919	if c.header_ == nil {
6920		c.header_ = make(http.Header)
6921	}
6922	return c.header_
6923}
6924
6925func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
6926	reqHeaders := make(http.Header)
6927	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6928	for k, v := range c.header_ {
6929		reqHeaders[k] = v
6930	}
6931	reqHeaders.Set("User-Agent", c.s.userAgent())
6932	if c.ifNoneMatch_ != "" {
6933		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6934	}
6935	var body io.Reader = nil
6936	c.urlParams_.Set("alt", alt)
6937	c.urlParams_.Set("prettyPrint", "false")
6938	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/locations")
6939	urls += "?" + c.urlParams_.Encode()
6940	req, err := http.NewRequest("GET", urls, body)
6941	if err != nil {
6942		return nil, err
6943	}
6944	req.Header = reqHeaders
6945	googleapi.Expand(req.URL, map[string]string{
6946		"name": c.name,
6947	})
6948	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6949}
6950
6951// Do executes the "healthcare.projects.locations.list" call.
6952// Exactly one of *ListLocationsResponse or error will be non-nil. Any
6953// non-2xx status code is an error. Response headers are in either
6954// *ListLocationsResponse.ServerResponse.Header or (if a response was
6955// returned at all) in error.(*googleapi.Error).Header. Use
6956// googleapi.IsNotModified to check whether the returned error was
6957// because http.StatusNotModified was returned.
6958func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
6959	gensupport.SetOptions(c.urlParams_, opts...)
6960	res, err := c.doRequest("json")
6961	if res != nil && res.StatusCode == http.StatusNotModified {
6962		if res.Body != nil {
6963			res.Body.Close()
6964		}
6965		return nil, &googleapi.Error{
6966			Code:   res.StatusCode,
6967			Header: res.Header,
6968		}
6969	}
6970	if err != nil {
6971		return nil, err
6972	}
6973	defer googleapi.CloseBody(res)
6974	if err := googleapi.CheckResponse(res); err != nil {
6975		return nil, err
6976	}
6977	ret := &ListLocationsResponse{
6978		ServerResponse: googleapi.ServerResponse{
6979			Header:         res.Header,
6980			HTTPStatusCode: res.StatusCode,
6981		},
6982	}
6983	target := &ret
6984	if err := gensupport.DecodeResponse(target, res); err != nil {
6985		return nil, err
6986	}
6987	return ret, nil
6988	// {
6989	//   "description": "Lists information about the supported locations for this service.",
6990	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
6991	//   "httpMethod": "GET",
6992	//   "id": "healthcare.projects.locations.list",
6993	//   "parameterOrder": [
6994	//     "name"
6995	//   ],
6996	//   "parameters": {
6997	//     "filter": {
6998	//       "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).",
6999	//       "location": "query",
7000	//       "type": "string"
7001	//     },
7002	//     "name": {
7003	//       "description": "The resource that owns the locations collection, if applicable.",
7004	//       "location": "path",
7005	//       "pattern": "^projects/[^/]+$",
7006	//       "required": true,
7007	//       "type": "string"
7008	//     },
7009	//     "pageSize": {
7010	//       "description": "The maximum number of results to return. If not set, the service will select a default.",
7011	//       "format": "int32",
7012	//       "location": "query",
7013	//       "type": "integer"
7014	//     },
7015	//     "pageToken": {
7016	//       "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
7017	//       "location": "query",
7018	//       "type": "string"
7019	//     }
7020	//   },
7021	//   "path": "v1beta1/{+name}/locations",
7022	//   "response": {
7023	//     "$ref": "ListLocationsResponse"
7024	//   },
7025	//   "scopes": [
7026	//     "https://www.googleapis.com/auth/cloud-platform"
7027	//   ]
7028	// }
7029
7030}
7031
7032// Pages invokes f for each page of results.
7033// A non-nil error returned from f will halt the iteration.
7034// The provided context supersedes any context provided to the Context method.
7035func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
7036	c.ctx_ = ctx
7037	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7038	for {
7039		x, err := c.Do()
7040		if err != nil {
7041			return err
7042		}
7043		if err := f(x); err != nil {
7044			return err
7045		}
7046		if x.NextPageToken == "" {
7047			return nil
7048		}
7049		c.PageToken(x.NextPageToken)
7050	}
7051}
7052
7053// method id "healthcare.projects.locations.datasets.create":
7054
7055type ProjectsLocationsDatasetsCreateCall struct {
7056	s          *Service
7057	parent     string
7058	dataset    *Dataset
7059	urlParams_ gensupport.URLParams
7060	ctx_       context.Context
7061	header_    http.Header
7062}
7063
7064// Create: Creates a new health dataset. Results are returned through
7065// the Operation interface which returns either an `Operation.response`
7066// which contains a Dataset or `Operation.error`. The metadata field
7067// type is OperationMetadata.
7068//
7069// - parent: The name of the project where the server creates the
7070//   dataset. For example,
7071//   `projects/{project_id}/locations/{location_id}`.
7072func (r *ProjectsLocationsDatasetsService) Create(parent string, dataset *Dataset) *ProjectsLocationsDatasetsCreateCall {
7073	c := &ProjectsLocationsDatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7074	c.parent = parent
7075	c.dataset = dataset
7076	return c
7077}
7078
7079// DatasetId sets the optional parameter "datasetId": The ID of the
7080// dataset that is being created. The string must match the following
7081// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
7082func (c *ProjectsLocationsDatasetsCreateCall) DatasetId(datasetId string) *ProjectsLocationsDatasetsCreateCall {
7083	c.urlParams_.Set("datasetId", datasetId)
7084	return c
7085}
7086
7087// Fields allows partial responses to be retrieved. See
7088// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7089// for more information.
7090func (c *ProjectsLocationsDatasetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsCreateCall {
7091	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7092	return c
7093}
7094
7095// Context sets the context to be used in this call's Do method. Any
7096// pending HTTP request will be aborted if the provided context is
7097// canceled.
7098func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
7099	c.ctx_ = ctx
7100	return c
7101}
7102
7103// Header returns an http.Header that can be modified by the caller to
7104// add HTTP headers to the request.
7105func (c *ProjectsLocationsDatasetsCreateCall) Header() http.Header {
7106	if c.header_ == nil {
7107		c.header_ = make(http.Header)
7108	}
7109	return c.header_
7110}
7111
7112func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
7113	reqHeaders := make(http.Header)
7114	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7115	for k, v := range c.header_ {
7116		reqHeaders[k] = v
7117	}
7118	reqHeaders.Set("User-Agent", c.s.userAgent())
7119	var body io.Reader = nil
7120	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
7121	if err != nil {
7122		return nil, err
7123	}
7124	reqHeaders.Set("Content-Type", "application/json")
7125	c.urlParams_.Set("alt", alt)
7126	c.urlParams_.Set("prettyPrint", "false")
7127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7128	urls += "?" + c.urlParams_.Encode()
7129	req, err := http.NewRequest("POST", urls, body)
7130	if err != nil {
7131		return nil, err
7132	}
7133	req.Header = reqHeaders
7134	googleapi.Expand(req.URL, map[string]string{
7135		"parent": c.parent,
7136	})
7137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7138}
7139
7140// Do executes the "healthcare.projects.locations.datasets.create" call.
7141// Exactly one of *Operation or error will be non-nil. Any non-2xx
7142// status code is an error. Response headers are in either
7143// *Operation.ServerResponse.Header or (if a response was returned at
7144// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7145// to check whether the returned error was because
7146// http.StatusNotModified was returned.
7147func (c *ProjectsLocationsDatasetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7148	gensupport.SetOptions(c.urlParams_, opts...)
7149	res, err := c.doRequest("json")
7150	if res != nil && res.StatusCode == http.StatusNotModified {
7151		if res.Body != nil {
7152			res.Body.Close()
7153		}
7154		return nil, &googleapi.Error{
7155			Code:   res.StatusCode,
7156			Header: res.Header,
7157		}
7158	}
7159	if err != nil {
7160		return nil, err
7161	}
7162	defer googleapi.CloseBody(res)
7163	if err := googleapi.CheckResponse(res); err != nil {
7164		return nil, err
7165	}
7166	ret := &Operation{
7167		ServerResponse: googleapi.ServerResponse{
7168			Header:         res.Header,
7169			HTTPStatusCode: res.StatusCode,
7170		},
7171	}
7172	target := &ret
7173	if err := gensupport.DecodeResponse(target, res); err != nil {
7174		return nil, err
7175	}
7176	return ret, nil
7177	// {
7178	//   "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.",
7179	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7180	//   "httpMethod": "POST",
7181	//   "id": "healthcare.projects.locations.datasets.create",
7182	//   "parameterOrder": [
7183	//     "parent"
7184	//   ],
7185	//   "parameters": {
7186	//     "datasetId": {
7187	//       "description": "The ID of the dataset that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
7188	//       "location": "query",
7189	//       "type": "string"
7190	//     },
7191	//     "parent": {
7192	//       "description": "The name of the project where the server creates the dataset. For example, `projects/{project_id}/locations/{location_id}`.",
7193	//       "location": "path",
7194	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7195	//       "required": true,
7196	//       "type": "string"
7197	//     }
7198	//   },
7199	//   "path": "v1beta1/{+parent}/datasets",
7200	//   "request": {
7201	//     "$ref": "Dataset"
7202	//   },
7203	//   "response": {
7204	//     "$ref": "Operation"
7205	//   },
7206	//   "scopes": [
7207	//     "https://www.googleapis.com/auth/cloud-platform"
7208	//   ]
7209	// }
7210
7211}
7212
7213// method id "healthcare.projects.locations.datasets.deidentify":
7214
7215type ProjectsLocationsDatasetsDeidentifyCall struct {
7216	s                        *Service
7217	sourceDataset            string
7218	deidentifydatasetrequest *DeidentifyDatasetRequest
7219	urlParams_               gensupport.URLParams
7220	ctx_                     context.Context
7221	header_                  http.Header
7222}
7223
7224// Deidentify: Creates a new dataset containing de-identified data from
7225// the source dataset. The metadata field type is OperationMetadata. If
7226// the request is successful, the response field type is
7227// DeidentifySummary. The LRO result may still be successful if
7228// de-identification fails for some resources. The new de-identified
7229// dataset will not contain these failed resources. The number of
7230// resources processed are tracked in Operation.metadata. Error details
7231// are logged to Cloud Logging. For more information, see Viewing error
7232// logs in Cloud Logging
7233// (https://cloud.google.com/healthcare/docs/how-tos/logging).
7234//
7235// - sourceDataset: Source dataset resource name. For example,
7236//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7237//   `.
7238func (r *ProjectsLocationsDatasetsService) Deidentify(sourceDataset string, deidentifydatasetrequest *DeidentifyDatasetRequest) *ProjectsLocationsDatasetsDeidentifyCall {
7239	c := &ProjectsLocationsDatasetsDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7240	c.sourceDataset = sourceDataset
7241	c.deidentifydatasetrequest = deidentifydatasetrequest
7242	return c
7243}
7244
7245// Fields allows partial responses to be retrieved. See
7246// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7247// for more information.
7248func (c *ProjectsLocationsDatasetsDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeidentifyCall {
7249	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7250	return c
7251}
7252
7253// Context sets the context to be used in this call's Do method. Any
7254// pending HTTP request will be aborted if the provided context is
7255// canceled.
7256func (c *ProjectsLocationsDatasetsDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeidentifyCall {
7257	c.ctx_ = ctx
7258	return c
7259}
7260
7261// Header returns an http.Header that can be modified by the caller to
7262// add HTTP headers to the request.
7263func (c *ProjectsLocationsDatasetsDeidentifyCall) Header() http.Header {
7264	if c.header_ == nil {
7265		c.header_ = make(http.Header)
7266	}
7267	return c.header_
7268}
7269
7270func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
7271	reqHeaders := make(http.Header)
7272	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7273	for k, v := range c.header_ {
7274		reqHeaders[k] = v
7275	}
7276	reqHeaders.Set("User-Agent", c.s.userAgent())
7277	var body io.Reader = nil
7278	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydatasetrequest)
7279	if err != nil {
7280		return nil, err
7281	}
7282	reqHeaders.Set("Content-Type", "application/json")
7283	c.urlParams_.Set("alt", alt)
7284	c.urlParams_.Set("prettyPrint", "false")
7285	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceDataset}:deidentify")
7286	urls += "?" + c.urlParams_.Encode()
7287	req, err := http.NewRequest("POST", urls, body)
7288	if err != nil {
7289		return nil, err
7290	}
7291	req.Header = reqHeaders
7292	googleapi.Expand(req.URL, map[string]string{
7293		"sourceDataset": c.sourceDataset,
7294	})
7295	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7296}
7297
7298// Do executes the "healthcare.projects.locations.datasets.deidentify" call.
7299// Exactly one of *Operation or error will be non-nil. Any non-2xx
7300// status code is an error. Response headers are in either
7301// *Operation.ServerResponse.Header or (if a response was returned at
7302// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7303// to check whether the returned error was because
7304// http.StatusNotModified was returned.
7305func (c *ProjectsLocationsDatasetsDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7306	gensupport.SetOptions(c.urlParams_, opts...)
7307	res, err := c.doRequest("json")
7308	if res != nil && res.StatusCode == http.StatusNotModified {
7309		if res.Body != nil {
7310			res.Body.Close()
7311		}
7312		return nil, &googleapi.Error{
7313			Code:   res.StatusCode,
7314			Header: res.Header,
7315		}
7316	}
7317	if err != nil {
7318		return nil, err
7319	}
7320	defer googleapi.CloseBody(res)
7321	if err := googleapi.CheckResponse(res); err != nil {
7322		return nil, err
7323	}
7324	ret := &Operation{
7325		ServerResponse: googleapi.ServerResponse{
7326			Header:         res.Header,
7327			HTTPStatusCode: res.StatusCode,
7328		},
7329	}
7330	target := &ret
7331	if err := gensupport.DecodeResponse(target, res); err != nil {
7332		return nil, err
7333	}
7334	return ret, nil
7335	// {
7336	//   "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).",
7337	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify",
7338	//   "httpMethod": "POST",
7339	//   "id": "healthcare.projects.locations.datasets.deidentify",
7340	//   "parameterOrder": [
7341	//     "sourceDataset"
7342	//   ],
7343	//   "parameters": {
7344	//     "sourceDataset": {
7345	//       "description": "Source dataset resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7346	//       "location": "path",
7347	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7348	//       "required": true,
7349	//       "type": "string"
7350	//     }
7351	//   },
7352	//   "path": "v1beta1/{+sourceDataset}:deidentify",
7353	//   "request": {
7354	//     "$ref": "DeidentifyDatasetRequest"
7355	//   },
7356	//   "response": {
7357	//     "$ref": "Operation"
7358	//   },
7359	//   "scopes": [
7360	//     "https://www.googleapis.com/auth/cloud-platform"
7361	//   ]
7362	// }
7363
7364}
7365
7366// method id "healthcare.projects.locations.datasets.delete":
7367
7368type ProjectsLocationsDatasetsDeleteCall struct {
7369	s          *Service
7370	name       string
7371	urlParams_ gensupport.URLParams
7372	ctx_       context.Context
7373	header_    http.Header
7374}
7375
7376// Delete: Deletes the specified health dataset and all data contained
7377// in the dataset. Deleting a dataset does not affect the sources from
7378// which the dataset was imported (if any).
7379//
7380// - name: The name of the dataset to delete. For example,
7381//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7382//   `.
7383func (r *ProjectsLocationsDatasetsService) Delete(name string) *ProjectsLocationsDatasetsDeleteCall {
7384	c := &ProjectsLocationsDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7385	c.name = name
7386	return c
7387}
7388
7389// Fields allows partial responses to be retrieved. See
7390// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7391// for more information.
7392func (c *ProjectsLocationsDatasetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeleteCall {
7393	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7394	return c
7395}
7396
7397// Context sets the context to be used in this call's Do method. Any
7398// pending HTTP request will be aborted if the provided context is
7399// canceled.
7400func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
7401	c.ctx_ = ctx
7402	return c
7403}
7404
7405// Header returns an http.Header that can be modified by the caller to
7406// add HTTP headers to the request.
7407func (c *ProjectsLocationsDatasetsDeleteCall) Header() http.Header {
7408	if c.header_ == nil {
7409		c.header_ = make(http.Header)
7410	}
7411	return c.header_
7412}
7413
7414func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
7415	reqHeaders := make(http.Header)
7416	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7417	for k, v := range c.header_ {
7418		reqHeaders[k] = v
7419	}
7420	reqHeaders.Set("User-Agent", c.s.userAgent())
7421	var body io.Reader = nil
7422	c.urlParams_.Set("alt", alt)
7423	c.urlParams_.Set("prettyPrint", "false")
7424	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7425	urls += "?" + c.urlParams_.Encode()
7426	req, err := http.NewRequest("DELETE", urls, body)
7427	if err != nil {
7428		return nil, err
7429	}
7430	req.Header = reqHeaders
7431	googleapi.Expand(req.URL, map[string]string{
7432		"name": c.name,
7433	})
7434	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7435}
7436
7437// Do executes the "healthcare.projects.locations.datasets.delete" call.
7438// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7439// code is an error. Response headers are in either
7440// *Empty.ServerResponse.Header or (if a response was returned at all)
7441// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7442// check whether the returned error was because http.StatusNotModified
7443// was returned.
7444func (c *ProjectsLocationsDatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7445	gensupport.SetOptions(c.urlParams_, opts...)
7446	res, err := c.doRequest("json")
7447	if res != nil && res.StatusCode == http.StatusNotModified {
7448		if res.Body != nil {
7449			res.Body.Close()
7450		}
7451		return nil, &googleapi.Error{
7452			Code:   res.StatusCode,
7453			Header: res.Header,
7454		}
7455	}
7456	if err != nil {
7457		return nil, err
7458	}
7459	defer googleapi.CloseBody(res)
7460	if err := googleapi.CheckResponse(res); err != nil {
7461		return nil, err
7462	}
7463	ret := &Empty{
7464		ServerResponse: googleapi.ServerResponse{
7465			Header:         res.Header,
7466			HTTPStatusCode: res.StatusCode,
7467		},
7468	}
7469	target := &ret
7470	if err := gensupport.DecodeResponse(target, res); err != nil {
7471		return nil, err
7472	}
7473	return ret, nil
7474	// {
7475	//   "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).",
7476	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7477	//   "httpMethod": "DELETE",
7478	//   "id": "healthcare.projects.locations.datasets.delete",
7479	//   "parameterOrder": [
7480	//     "name"
7481	//   ],
7482	//   "parameters": {
7483	//     "name": {
7484	//       "description": "The name of the dataset to delete. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7485	//       "location": "path",
7486	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7487	//       "required": true,
7488	//       "type": "string"
7489	//     }
7490	//   },
7491	//   "path": "v1beta1/{+name}",
7492	//   "response": {
7493	//     "$ref": "Empty"
7494	//   },
7495	//   "scopes": [
7496	//     "https://www.googleapis.com/auth/cloud-platform"
7497	//   ]
7498	// }
7499
7500}
7501
7502// method id "healthcare.projects.locations.datasets.get":
7503
7504type ProjectsLocationsDatasetsGetCall struct {
7505	s            *Service
7506	name         string
7507	urlParams_   gensupport.URLParams
7508	ifNoneMatch_ string
7509	ctx_         context.Context
7510	header_      http.Header
7511}
7512
7513// Get: Gets any metadata associated with a dataset.
7514//
7515// - name: The name of the dataset to read. For example,
7516//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7517//   `.
7518func (r *ProjectsLocationsDatasetsService) Get(name string) *ProjectsLocationsDatasetsGetCall {
7519	c := &ProjectsLocationsDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7520	c.name = name
7521	return c
7522}
7523
7524// Fields allows partial responses to be retrieved. See
7525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7526// for more information.
7527func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
7528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7529	return c
7530}
7531
7532// IfNoneMatch sets the optional parameter which makes the operation
7533// fail if the object's ETag matches the given value. This is useful for
7534// getting updates only after the object has changed since the last
7535// request. Use googleapi.IsNotModified to check whether the response
7536// error from Do is the result of In-None-Match.
7537func (c *ProjectsLocationsDatasetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetCall {
7538	c.ifNoneMatch_ = entityTag
7539	return c
7540}
7541
7542// Context sets the context to be used in this call's Do method. Any
7543// pending HTTP request will be aborted if the provided context is
7544// canceled.
7545func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
7546	c.ctx_ = ctx
7547	return c
7548}
7549
7550// Header returns an http.Header that can be modified by the caller to
7551// add HTTP headers to the request.
7552func (c *ProjectsLocationsDatasetsGetCall) Header() http.Header {
7553	if c.header_ == nil {
7554		c.header_ = make(http.Header)
7555	}
7556	return c.header_
7557}
7558
7559func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
7560	reqHeaders := make(http.Header)
7561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7562	for k, v := range c.header_ {
7563		reqHeaders[k] = v
7564	}
7565	reqHeaders.Set("User-Agent", c.s.userAgent())
7566	if c.ifNoneMatch_ != "" {
7567		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7568	}
7569	var body io.Reader = nil
7570	c.urlParams_.Set("alt", alt)
7571	c.urlParams_.Set("prettyPrint", "false")
7572	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7573	urls += "?" + c.urlParams_.Encode()
7574	req, err := http.NewRequest("GET", urls, body)
7575	if err != nil {
7576		return nil, err
7577	}
7578	req.Header = reqHeaders
7579	googleapi.Expand(req.URL, map[string]string{
7580		"name": c.name,
7581	})
7582	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7583}
7584
7585// Do executes the "healthcare.projects.locations.datasets.get" call.
7586// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
7587// code is an error. Response headers are in either
7588// *Dataset.ServerResponse.Header or (if a response was returned at all)
7589// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7590// check whether the returned error was because http.StatusNotModified
7591// was returned.
7592func (c *ProjectsLocationsDatasetsGetCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
7593	gensupport.SetOptions(c.urlParams_, opts...)
7594	res, err := c.doRequest("json")
7595	if res != nil && res.StatusCode == http.StatusNotModified {
7596		if res.Body != nil {
7597			res.Body.Close()
7598		}
7599		return nil, &googleapi.Error{
7600			Code:   res.StatusCode,
7601			Header: res.Header,
7602		}
7603	}
7604	if err != nil {
7605		return nil, err
7606	}
7607	defer googleapi.CloseBody(res)
7608	if err := googleapi.CheckResponse(res); err != nil {
7609		return nil, err
7610	}
7611	ret := &Dataset{
7612		ServerResponse: googleapi.ServerResponse{
7613			Header:         res.Header,
7614			HTTPStatusCode: res.StatusCode,
7615		},
7616	}
7617	target := &ret
7618	if err := gensupport.DecodeResponse(target, res); err != nil {
7619		return nil, err
7620	}
7621	return ret, nil
7622	// {
7623	//   "description": "Gets any metadata associated with a dataset.",
7624	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7625	//   "httpMethod": "GET",
7626	//   "id": "healthcare.projects.locations.datasets.get",
7627	//   "parameterOrder": [
7628	//     "name"
7629	//   ],
7630	//   "parameters": {
7631	//     "name": {
7632	//       "description": "The name of the dataset to read. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7633	//       "location": "path",
7634	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7635	//       "required": true,
7636	//       "type": "string"
7637	//     }
7638	//   },
7639	//   "path": "v1beta1/{+name}",
7640	//   "response": {
7641	//     "$ref": "Dataset"
7642	//   },
7643	//   "scopes": [
7644	//     "https://www.googleapis.com/auth/cloud-platform"
7645	//   ]
7646	// }
7647
7648}
7649
7650// method id "healthcare.projects.locations.datasets.getIamPolicy":
7651
7652type ProjectsLocationsDatasetsGetIamPolicyCall struct {
7653	s            *Service
7654	resource     string
7655	urlParams_   gensupport.URLParams
7656	ifNoneMatch_ string
7657	ctx_         context.Context
7658	header_      http.Header
7659}
7660
7661// GetIamPolicy: Gets the access control policy for a resource. Returns
7662// an empty policy if the resource exists and does not have a policy
7663// set.
7664//
7665// - resource: REQUIRED: The resource for which the policy is being
7666//   requested. See the operation documentation for the appropriate
7667//   value for this field.
7668func (r *ProjectsLocationsDatasetsService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7669	c := &ProjectsLocationsDatasetsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7670	c.resource = resource
7671	return c
7672}
7673
7674// OptionsRequestedPolicyVersion sets the optional parameter
7675// "options.requestedPolicyVersion": The policy format version to be
7676// returned. Valid values are 0, 1, and 3. Requests specifying an
7677// invalid value will be rejected. Requests for policies with any
7678// conditional bindings must specify version 3. Policies without any
7679// conditional bindings may specify any valid value or leave the field
7680// unset. To learn which resources support conditions in their IAM
7681// policies, see the IAM documentation
7682// (https://cloud.google.com/iam/help/conditions/resource-policies).
7683func (c *ProjectsLocationsDatasetsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsGetIamPolicyCall {
7684	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
7685	return c
7686}
7687
7688// Fields allows partial responses to be retrieved. See
7689// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7690// for more information.
7691func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetIamPolicyCall {
7692	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7693	return c
7694}
7695
7696// IfNoneMatch sets the optional parameter which makes the operation
7697// fail if the object's ETag matches the given value. This is useful for
7698// getting updates only after the object has changed since the last
7699// request. Use googleapi.IsNotModified to check whether the response
7700// error from Do is the result of In-None-Match.
7701func (c *ProjectsLocationsDatasetsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7702	c.ifNoneMatch_ = entityTag
7703	return c
7704}
7705
7706// Context sets the context to be used in this call's Do method. Any
7707// pending HTTP request will be aborted if the provided context is
7708// canceled.
7709func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetIamPolicyCall {
7710	c.ctx_ = ctx
7711	return c
7712}
7713
7714// Header returns an http.Header that can be modified by the caller to
7715// add HTTP headers to the request.
7716func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Header() http.Header {
7717	if c.header_ == nil {
7718		c.header_ = make(http.Header)
7719	}
7720	return c.header_
7721}
7722
7723func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7724	reqHeaders := make(http.Header)
7725	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7726	for k, v := range c.header_ {
7727		reqHeaders[k] = v
7728	}
7729	reqHeaders.Set("User-Agent", c.s.userAgent())
7730	if c.ifNoneMatch_ != "" {
7731		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7732	}
7733	var body io.Reader = nil
7734	c.urlParams_.Set("alt", alt)
7735	c.urlParams_.Set("prettyPrint", "false")
7736	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7737	urls += "?" + c.urlParams_.Encode()
7738	req, err := http.NewRequest("GET", urls, body)
7739	if err != nil {
7740		return nil, err
7741	}
7742	req.Header = reqHeaders
7743	googleapi.Expand(req.URL, map[string]string{
7744		"resource": c.resource,
7745	})
7746	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7747}
7748
7749// Do executes the "healthcare.projects.locations.datasets.getIamPolicy" call.
7750// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7751// code is an error. Response headers are in either
7752// *Policy.ServerResponse.Header or (if a response was returned at all)
7753// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7754// check whether the returned error was because http.StatusNotModified
7755// was returned.
7756func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7757	gensupport.SetOptions(c.urlParams_, opts...)
7758	res, err := c.doRequest("json")
7759	if res != nil && res.StatusCode == http.StatusNotModified {
7760		if res.Body != nil {
7761			res.Body.Close()
7762		}
7763		return nil, &googleapi.Error{
7764			Code:   res.StatusCode,
7765			Header: res.Header,
7766		}
7767	}
7768	if err != nil {
7769		return nil, err
7770	}
7771	defer googleapi.CloseBody(res)
7772	if err := googleapi.CheckResponse(res); err != nil {
7773		return nil, err
7774	}
7775	ret := &Policy{
7776		ServerResponse: googleapi.ServerResponse{
7777			Header:         res.Header,
7778			HTTPStatusCode: res.StatusCode,
7779		},
7780	}
7781	target := &ret
7782	if err := gensupport.DecodeResponse(target, res); err != nil {
7783		return nil, err
7784	}
7785	return ret, nil
7786	// {
7787	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
7788	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy",
7789	//   "httpMethod": "GET",
7790	//   "id": "healthcare.projects.locations.datasets.getIamPolicy",
7791	//   "parameterOrder": [
7792	//     "resource"
7793	//   ],
7794	//   "parameters": {
7795	//     "options.requestedPolicyVersion": {
7796	//       "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).",
7797	//       "format": "int32",
7798	//       "location": "query",
7799	//       "type": "integer"
7800	//     },
7801	//     "resource": {
7802	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7803	//       "location": "path",
7804	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7805	//       "required": true,
7806	//       "type": "string"
7807	//     }
7808	//   },
7809	//   "path": "v1beta1/{+resource}:getIamPolicy",
7810	//   "response": {
7811	//     "$ref": "Policy"
7812	//   },
7813	//   "scopes": [
7814	//     "https://www.googleapis.com/auth/cloud-platform"
7815	//   ]
7816	// }
7817
7818}
7819
7820// method id "healthcare.projects.locations.datasets.list":
7821
7822type ProjectsLocationsDatasetsListCall struct {
7823	s            *Service
7824	parent       string
7825	urlParams_   gensupport.URLParams
7826	ifNoneMatch_ string
7827	ctx_         context.Context
7828	header_      http.Header
7829}
7830
7831// List: Lists the health datasets in the current project.
7832//
7833// - parent: The name of the project whose datasets should be listed.
7834//   For example, `projects/{project_id}/locations/{location_id}`.
7835func (r *ProjectsLocationsDatasetsService) List(parent string) *ProjectsLocationsDatasetsListCall {
7836	c := &ProjectsLocationsDatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7837	c.parent = parent
7838	return c
7839}
7840
7841// PageSize sets the optional parameter "pageSize": The maximum number
7842// of items to return. If not specified, 100 is used. May not be larger
7843// than 1000.
7844func (c *ProjectsLocationsDatasetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsListCall {
7845	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7846	return c
7847}
7848
7849// PageToken sets the optional parameter "pageToken": The
7850// next_page_token value returned from a previous List request, if any.
7851func (c *ProjectsLocationsDatasetsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsListCall {
7852	c.urlParams_.Set("pageToken", pageToken)
7853	return c
7854}
7855
7856// Fields allows partial responses to be retrieved. See
7857// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7858// for more information.
7859func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
7860	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7861	return c
7862}
7863
7864// IfNoneMatch sets the optional parameter which makes the operation
7865// fail if the object's ETag matches the given value. This is useful for
7866// getting updates only after the object has changed since the last
7867// request. Use googleapi.IsNotModified to check whether the response
7868// error from Do is the result of In-None-Match.
7869func (c *ProjectsLocationsDatasetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsListCall {
7870	c.ifNoneMatch_ = entityTag
7871	return c
7872}
7873
7874// Context sets the context to be used in this call's Do method. Any
7875// pending HTTP request will be aborted if the provided context is
7876// canceled.
7877func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
7878	c.ctx_ = ctx
7879	return c
7880}
7881
7882// Header returns an http.Header that can be modified by the caller to
7883// add HTTP headers to the request.
7884func (c *ProjectsLocationsDatasetsListCall) Header() http.Header {
7885	if c.header_ == nil {
7886		c.header_ = make(http.Header)
7887	}
7888	return c.header_
7889}
7890
7891func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
7892	reqHeaders := make(http.Header)
7893	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7894	for k, v := range c.header_ {
7895		reqHeaders[k] = v
7896	}
7897	reqHeaders.Set("User-Agent", c.s.userAgent())
7898	if c.ifNoneMatch_ != "" {
7899		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7900	}
7901	var body io.Reader = nil
7902	c.urlParams_.Set("alt", alt)
7903	c.urlParams_.Set("prettyPrint", "false")
7904	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7905	urls += "?" + c.urlParams_.Encode()
7906	req, err := http.NewRequest("GET", urls, body)
7907	if err != nil {
7908		return nil, err
7909	}
7910	req.Header = reqHeaders
7911	googleapi.Expand(req.URL, map[string]string{
7912		"parent": c.parent,
7913	})
7914	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7915}
7916
7917// Do executes the "healthcare.projects.locations.datasets.list" call.
7918// Exactly one of *ListDatasetsResponse or error will be non-nil. Any
7919// non-2xx status code is an error. Response headers are in either
7920// *ListDatasetsResponse.ServerResponse.Header or (if a response was
7921// returned at all) in error.(*googleapi.Error).Header. Use
7922// googleapi.IsNotModified to check whether the returned error was
7923// because http.StatusNotModified was returned.
7924func (c *ProjectsLocationsDatasetsListCall) Do(opts ...googleapi.CallOption) (*ListDatasetsResponse, error) {
7925	gensupport.SetOptions(c.urlParams_, opts...)
7926	res, err := c.doRequest("json")
7927	if res != nil && res.StatusCode == http.StatusNotModified {
7928		if res.Body != nil {
7929			res.Body.Close()
7930		}
7931		return nil, &googleapi.Error{
7932			Code:   res.StatusCode,
7933			Header: res.Header,
7934		}
7935	}
7936	if err != nil {
7937		return nil, err
7938	}
7939	defer googleapi.CloseBody(res)
7940	if err := googleapi.CheckResponse(res); err != nil {
7941		return nil, err
7942	}
7943	ret := &ListDatasetsResponse{
7944		ServerResponse: googleapi.ServerResponse{
7945			Header:         res.Header,
7946			HTTPStatusCode: res.StatusCode,
7947		},
7948	}
7949	target := &ret
7950	if err := gensupport.DecodeResponse(target, res); err != nil {
7951		return nil, err
7952	}
7953	return ret, nil
7954	// {
7955	//   "description": "Lists the health datasets in the current project.",
7956	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7957	//   "httpMethod": "GET",
7958	//   "id": "healthcare.projects.locations.datasets.list",
7959	//   "parameterOrder": [
7960	//     "parent"
7961	//   ],
7962	//   "parameters": {
7963	//     "pageSize": {
7964	//       "description": "The maximum number of items to return. If not specified, 100 is used. May not be larger than 1000.",
7965	//       "format": "int32",
7966	//       "location": "query",
7967	//       "type": "integer"
7968	//     },
7969	//     "pageToken": {
7970	//       "description": "The next_page_token value returned from a previous List request, if any.",
7971	//       "location": "query",
7972	//       "type": "string"
7973	//     },
7974	//     "parent": {
7975	//       "description": "The name of the project whose datasets should be listed. For example, `projects/{project_id}/locations/{location_id}`.",
7976	//       "location": "path",
7977	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7978	//       "required": true,
7979	//       "type": "string"
7980	//     }
7981	//   },
7982	//   "path": "v1beta1/{+parent}/datasets",
7983	//   "response": {
7984	//     "$ref": "ListDatasetsResponse"
7985	//   },
7986	//   "scopes": [
7987	//     "https://www.googleapis.com/auth/cloud-platform"
7988	//   ]
7989	// }
7990
7991}
7992
7993// Pages invokes f for each page of results.
7994// A non-nil error returned from f will halt the iteration.
7995// The provided context supersedes any context provided to the Context method.
7996func (c *ProjectsLocationsDatasetsListCall) Pages(ctx context.Context, f func(*ListDatasetsResponse) error) error {
7997	c.ctx_ = ctx
7998	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7999	for {
8000		x, err := c.Do()
8001		if err != nil {
8002			return err
8003		}
8004		if err := f(x); err != nil {
8005			return err
8006		}
8007		if x.NextPageToken == "" {
8008			return nil
8009		}
8010		c.PageToken(x.NextPageToken)
8011	}
8012}
8013
8014// method id "healthcare.projects.locations.datasets.patch":
8015
8016type ProjectsLocationsDatasetsPatchCall struct {
8017	s          *Service
8018	name       string
8019	dataset    *Dataset
8020	urlParams_ gensupport.URLParams
8021	ctx_       context.Context
8022	header_    http.Header
8023}
8024
8025// Patch: Updates dataset metadata.
8026//
8027// - name: Resource name of the dataset, of the form
8028//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8029//   `.
8030func (r *ProjectsLocationsDatasetsService) Patch(name string, dataset *Dataset) *ProjectsLocationsDatasetsPatchCall {
8031	c := &ProjectsLocationsDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8032	c.name = name
8033	c.dataset = dataset
8034	return c
8035}
8036
8037// UpdateMask sets the optional parameter "updateMask": The update mask
8038// applies to the resource. For the `FieldMask` definition, see
8039// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
8040func (c *ProjectsLocationsDatasetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsPatchCall {
8041	c.urlParams_.Set("updateMask", updateMask)
8042	return c
8043}
8044
8045// Fields allows partial responses to be retrieved. See
8046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8047// for more information.
8048func (c *ProjectsLocationsDatasetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsPatchCall {
8049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8050	return c
8051}
8052
8053// Context sets the context to be used in this call's Do method. Any
8054// pending HTTP request will be aborted if the provided context is
8055// canceled.
8056func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
8057	c.ctx_ = ctx
8058	return c
8059}
8060
8061// Header returns an http.Header that can be modified by the caller to
8062// add HTTP headers to the request.
8063func (c *ProjectsLocationsDatasetsPatchCall) Header() http.Header {
8064	if c.header_ == nil {
8065		c.header_ = make(http.Header)
8066	}
8067	return c.header_
8068}
8069
8070func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
8071	reqHeaders := make(http.Header)
8072	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8073	for k, v := range c.header_ {
8074		reqHeaders[k] = v
8075	}
8076	reqHeaders.Set("User-Agent", c.s.userAgent())
8077	var body io.Reader = nil
8078	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
8079	if err != nil {
8080		return nil, err
8081	}
8082	reqHeaders.Set("Content-Type", "application/json")
8083	c.urlParams_.Set("alt", alt)
8084	c.urlParams_.Set("prettyPrint", "false")
8085	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8086	urls += "?" + c.urlParams_.Encode()
8087	req, err := http.NewRequest("PATCH", urls, body)
8088	if err != nil {
8089		return nil, err
8090	}
8091	req.Header = reqHeaders
8092	googleapi.Expand(req.URL, map[string]string{
8093		"name": c.name,
8094	})
8095	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8096}
8097
8098// Do executes the "healthcare.projects.locations.datasets.patch" call.
8099// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
8100// code is an error. Response headers are in either
8101// *Dataset.ServerResponse.Header or (if a response was returned at all)
8102// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8103// check whether the returned error was because http.StatusNotModified
8104// was returned.
8105func (c *ProjectsLocationsDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
8106	gensupport.SetOptions(c.urlParams_, opts...)
8107	res, err := c.doRequest("json")
8108	if res != nil && res.StatusCode == http.StatusNotModified {
8109		if res.Body != nil {
8110			res.Body.Close()
8111		}
8112		return nil, &googleapi.Error{
8113			Code:   res.StatusCode,
8114			Header: res.Header,
8115		}
8116	}
8117	if err != nil {
8118		return nil, err
8119	}
8120	defer googleapi.CloseBody(res)
8121	if err := googleapi.CheckResponse(res); err != nil {
8122		return nil, err
8123	}
8124	ret := &Dataset{
8125		ServerResponse: googleapi.ServerResponse{
8126			Header:         res.Header,
8127			HTTPStatusCode: res.StatusCode,
8128		},
8129	}
8130	target := &ret
8131	if err := gensupport.DecodeResponse(target, res); err != nil {
8132		return nil, err
8133	}
8134	return ret, nil
8135	// {
8136	//   "description": "Updates dataset metadata.",
8137	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
8138	//   "httpMethod": "PATCH",
8139	//   "id": "healthcare.projects.locations.datasets.patch",
8140	//   "parameterOrder": [
8141	//     "name"
8142	//   ],
8143	//   "parameters": {
8144	//     "name": {
8145	//       "description": "Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
8146	//       "location": "path",
8147	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8148	//       "required": true,
8149	//       "type": "string"
8150	//     },
8151	//     "updateMask": {
8152	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
8153	//       "format": "google-fieldmask",
8154	//       "location": "query",
8155	//       "type": "string"
8156	//     }
8157	//   },
8158	//   "path": "v1beta1/{+name}",
8159	//   "request": {
8160	//     "$ref": "Dataset"
8161	//   },
8162	//   "response": {
8163	//     "$ref": "Dataset"
8164	//   },
8165	//   "scopes": [
8166	//     "https://www.googleapis.com/auth/cloud-platform"
8167	//   ]
8168	// }
8169
8170}
8171
8172// method id "healthcare.projects.locations.datasets.setIamPolicy":
8173
8174type ProjectsLocationsDatasetsSetIamPolicyCall struct {
8175	s                   *Service
8176	resource            string
8177	setiampolicyrequest *SetIamPolicyRequest
8178	urlParams_          gensupport.URLParams
8179	ctx_                context.Context
8180	header_             http.Header
8181}
8182
8183// SetIamPolicy: Sets the access control policy on the specified
8184// resource. Replaces any existing policy. Can return `NOT_FOUND`,
8185// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
8186//
8187// - resource: REQUIRED: The resource for which the policy is being
8188//   specified. See the operation documentation for the appropriate
8189//   value for this field.
8190func (r *ProjectsLocationsDatasetsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsSetIamPolicyCall {
8191	c := &ProjectsLocationsDatasetsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8192	c.resource = resource
8193	c.setiampolicyrequest = setiampolicyrequest
8194	return c
8195}
8196
8197// Fields allows partial responses to be retrieved. See
8198// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8199// for more information.
8200func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSetIamPolicyCall {
8201	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8202	return c
8203}
8204
8205// Context sets the context to be used in this call's Do method. Any
8206// pending HTTP request will be aborted if the provided context is
8207// canceled.
8208func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSetIamPolicyCall {
8209	c.ctx_ = ctx
8210	return c
8211}
8212
8213// Header returns an http.Header that can be modified by the caller to
8214// add HTTP headers to the request.
8215func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Header() http.Header {
8216	if c.header_ == nil {
8217		c.header_ = make(http.Header)
8218	}
8219	return c.header_
8220}
8221
8222func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
8223	reqHeaders := make(http.Header)
8224	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8225	for k, v := range c.header_ {
8226		reqHeaders[k] = v
8227	}
8228	reqHeaders.Set("User-Agent", c.s.userAgent())
8229	var body io.Reader = nil
8230	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
8231	if err != nil {
8232		return nil, err
8233	}
8234	reqHeaders.Set("Content-Type", "application/json")
8235	c.urlParams_.Set("alt", alt)
8236	c.urlParams_.Set("prettyPrint", "false")
8237	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
8238	urls += "?" + c.urlParams_.Encode()
8239	req, err := http.NewRequest("POST", urls, body)
8240	if err != nil {
8241		return nil, err
8242	}
8243	req.Header = reqHeaders
8244	googleapi.Expand(req.URL, map[string]string{
8245		"resource": c.resource,
8246	})
8247	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8248}
8249
8250// Do executes the "healthcare.projects.locations.datasets.setIamPolicy" call.
8251// Exactly one of *Policy or error will be non-nil. Any non-2xx status
8252// code is an error. Response headers are in either
8253// *Policy.ServerResponse.Header or (if a response was returned at all)
8254// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8255// check whether the returned error was because http.StatusNotModified
8256// was returned.
8257func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
8258	gensupport.SetOptions(c.urlParams_, opts...)
8259	res, err := c.doRequest("json")
8260	if res != nil && res.StatusCode == http.StatusNotModified {
8261		if res.Body != nil {
8262			res.Body.Close()
8263		}
8264		return nil, &googleapi.Error{
8265			Code:   res.StatusCode,
8266			Header: res.Header,
8267		}
8268	}
8269	if err != nil {
8270		return nil, err
8271	}
8272	defer googleapi.CloseBody(res)
8273	if err := googleapi.CheckResponse(res); err != nil {
8274		return nil, err
8275	}
8276	ret := &Policy{
8277		ServerResponse: googleapi.ServerResponse{
8278			Header:         res.Header,
8279			HTTPStatusCode: res.StatusCode,
8280		},
8281	}
8282	target := &ret
8283	if err := gensupport.DecodeResponse(target, res); err != nil {
8284		return nil, err
8285	}
8286	return ret, nil
8287	// {
8288	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
8289	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy",
8290	//   "httpMethod": "POST",
8291	//   "id": "healthcare.projects.locations.datasets.setIamPolicy",
8292	//   "parameterOrder": [
8293	//     "resource"
8294	//   ],
8295	//   "parameters": {
8296	//     "resource": {
8297	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
8298	//       "location": "path",
8299	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8300	//       "required": true,
8301	//       "type": "string"
8302	//     }
8303	//   },
8304	//   "path": "v1beta1/{+resource}:setIamPolicy",
8305	//   "request": {
8306	//     "$ref": "SetIamPolicyRequest"
8307	//   },
8308	//   "response": {
8309	//     "$ref": "Policy"
8310	//   },
8311	//   "scopes": [
8312	//     "https://www.googleapis.com/auth/cloud-platform"
8313	//   ]
8314	// }
8315
8316}
8317
8318// method id "healthcare.projects.locations.datasets.testIamPermissions":
8319
8320type ProjectsLocationsDatasetsTestIamPermissionsCall struct {
8321	s                         *Service
8322	resource                  string
8323	testiampermissionsrequest *TestIamPermissionsRequest
8324	urlParams_                gensupport.URLParams
8325	ctx_                      context.Context
8326	header_                   http.Header
8327}
8328
8329// TestIamPermissions: Returns permissions that a caller has on the
8330// specified resource. If the resource does not exist, this will return
8331// an empty set of permissions, not a `NOT_FOUND` error. Note: This
8332// operation is designed to be used for building permission-aware UIs
8333// and command-line tools, not for authorization checking. This
8334// operation may "fail open" without warning.
8335//
8336// - resource: REQUIRED: The resource for which the policy detail is
8337//   being requested. See the operation documentation for the
8338//   appropriate value for this field.
8339func (r *ProjectsLocationsDatasetsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8340	c := &ProjectsLocationsDatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8341	c.resource = resource
8342	c.testiampermissionsrequest = testiampermissionsrequest
8343	return c
8344}
8345
8346// Fields allows partial responses to be retrieved. See
8347// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8348// for more information.
8349func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8350	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8351	return c
8352}
8353
8354// Context sets the context to be used in this call's Do method. Any
8355// pending HTTP request will be aborted if the provided context is
8356// canceled.
8357func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8358	c.ctx_ = ctx
8359	return c
8360}
8361
8362// Header returns an http.Header that can be modified by the caller to
8363// add HTTP headers to the request.
8364func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Header() http.Header {
8365	if c.header_ == nil {
8366		c.header_ = make(http.Header)
8367	}
8368	return c.header_
8369}
8370
8371func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
8372	reqHeaders := make(http.Header)
8373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8374	for k, v := range c.header_ {
8375		reqHeaders[k] = v
8376	}
8377	reqHeaders.Set("User-Agent", c.s.userAgent())
8378	var body io.Reader = nil
8379	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
8380	if err != nil {
8381		return nil, err
8382	}
8383	reqHeaders.Set("Content-Type", "application/json")
8384	c.urlParams_.Set("alt", alt)
8385	c.urlParams_.Set("prettyPrint", "false")
8386	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
8387	urls += "?" + c.urlParams_.Encode()
8388	req, err := http.NewRequest("POST", urls, body)
8389	if err != nil {
8390		return nil, err
8391	}
8392	req.Header = reqHeaders
8393	googleapi.Expand(req.URL, map[string]string{
8394		"resource": c.resource,
8395	})
8396	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8397}
8398
8399// Do executes the "healthcare.projects.locations.datasets.testIamPermissions" call.
8400// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
8401// Any non-2xx status code is an error. Response headers are in either
8402// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
8403// was returned at all) in error.(*googleapi.Error).Header. Use
8404// googleapi.IsNotModified to check whether the returned error was
8405// because http.StatusNotModified was returned.
8406func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
8407	gensupport.SetOptions(c.urlParams_, opts...)
8408	res, err := c.doRequest("json")
8409	if res != nil && res.StatusCode == http.StatusNotModified {
8410		if res.Body != nil {
8411			res.Body.Close()
8412		}
8413		return nil, &googleapi.Error{
8414			Code:   res.StatusCode,
8415			Header: res.Header,
8416		}
8417	}
8418	if err != nil {
8419		return nil, err
8420	}
8421	defer googleapi.CloseBody(res)
8422	if err := googleapi.CheckResponse(res); err != nil {
8423		return nil, err
8424	}
8425	ret := &TestIamPermissionsResponse{
8426		ServerResponse: googleapi.ServerResponse{
8427			Header:         res.Header,
8428			HTTPStatusCode: res.StatusCode,
8429		},
8430	}
8431	target := &ret
8432	if err := gensupport.DecodeResponse(target, res); err != nil {
8433		return nil, err
8434	}
8435	return ret, nil
8436	// {
8437	//   "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.",
8438	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions",
8439	//   "httpMethod": "POST",
8440	//   "id": "healthcare.projects.locations.datasets.testIamPermissions",
8441	//   "parameterOrder": [
8442	//     "resource"
8443	//   ],
8444	//   "parameters": {
8445	//     "resource": {
8446	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
8447	//       "location": "path",
8448	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8449	//       "required": true,
8450	//       "type": "string"
8451	//     }
8452	//   },
8453	//   "path": "v1beta1/{+resource}:testIamPermissions",
8454	//   "request": {
8455	//     "$ref": "TestIamPermissionsRequest"
8456	//   },
8457	//   "response": {
8458	//     "$ref": "TestIamPermissionsResponse"
8459	//   },
8460	//   "scopes": [
8461	//     "https://www.googleapis.com/auth/cloud-platform"
8462	//   ]
8463	// }
8464
8465}
8466
8467// method id "healthcare.projects.locations.datasets.annotationStores.create":
8468
8469type ProjectsLocationsDatasetsAnnotationStoresCreateCall struct {
8470	s               *Service
8471	parent          string
8472	annotationstore *AnnotationStore
8473	urlParams_      gensupport.URLParams
8474	ctx_            context.Context
8475	header_         http.Header
8476}
8477
8478// Create: Creates a new Annotation store within the parent dataset.
8479//
8480// - parent: The name of the dataset this Annotation store belongs to.
8481func (r *ProjectsLocationsDatasetsAnnotationStoresService) Create(parent string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8482	c := &ProjectsLocationsDatasetsAnnotationStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8483	c.parent = parent
8484	c.annotationstore = annotationstore
8485	return c
8486}
8487
8488// AnnotationStoreId sets the optional parameter "annotationStoreId":
8489// The ID of the Annotation store that is being created. The string must
8490// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
8491func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) AnnotationStoreId(annotationStoreId string) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8492	c.urlParams_.Set("annotationStoreId", annotationStoreId)
8493	return c
8494}
8495
8496// Fields allows partial responses to be retrieved. See
8497// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8498// for more information.
8499func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8500	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8501	return c
8502}
8503
8504// Context sets the context to be used in this call's Do method. Any
8505// pending HTTP request will be aborted if the provided context is
8506// canceled.
8507func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8508	c.ctx_ = ctx
8509	return c
8510}
8511
8512// Header returns an http.Header that can be modified by the caller to
8513// add HTTP headers to the request.
8514func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Header() http.Header {
8515	if c.header_ == nil {
8516		c.header_ = make(http.Header)
8517	}
8518	return c.header_
8519}
8520
8521func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) doRequest(alt string) (*http.Response, error) {
8522	reqHeaders := make(http.Header)
8523	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8524	for k, v := range c.header_ {
8525		reqHeaders[k] = v
8526	}
8527	reqHeaders.Set("User-Agent", c.s.userAgent())
8528	var body io.Reader = nil
8529	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
8530	if err != nil {
8531		return nil, err
8532	}
8533	reqHeaders.Set("Content-Type", "application/json")
8534	c.urlParams_.Set("alt", alt)
8535	c.urlParams_.Set("prettyPrint", "false")
8536	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
8537	urls += "?" + c.urlParams_.Encode()
8538	req, err := http.NewRequest("POST", urls, body)
8539	if err != nil {
8540		return nil, err
8541	}
8542	req.Header = reqHeaders
8543	googleapi.Expand(req.URL, map[string]string{
8544		"parent": c.parent,
8545	})
8546	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8547}
8548
8549// Do executes the "healthcare.projects.locations.datasets.annotationStores.create" call.
8550// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
8551// status code is an error. Response headers are in either
8552// *AnnotationStore.ServerResponse.Header or (if a response was returned
8553// at all) in error.(*googleapi.Error).Header. Use
8554// googleapi.IsNotModified to check whether the returned error was
8555// because http.StatusNotModified was returned.
8556func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
8557	gensupport.SetOptions(c.urlParams_, opts...)
8558	res, err := c.doRequest("json")
8559	if res != nil && res.StatusCode == http.StatusNotModified {
8560		if res.Body != nil {
8561			res.Body.Close()
8562		}
8563		return nil, &googleapi.Error{
8564			Code:   res.StatusCode,
8565			Header: res.Header,
8566		}
8567	}
8568	if err != nil {
8569		return nil, err
8570	}
8571	defer googleapi.CloseBody(res)
8572	if err := googleapi.CheckResponse(res); err != nil {
8573		return nil, err
8574	}
8575	ret := &AnnotationStore{
8576		ServerResponse: googleapi.ServerResponse{
8577			Header:         res.Header,
8578			HTTPStatusCode: res.StatusCode,
8579		},
8580	}
8581	target := &ret
8582	if err := gensupport.DecodeResponse(target, res); err != nil {
8583		return nil, err
8584	}
8585	return ret, nil
8586	// {
8587	//   "description": "Creates a new Annotation store within the parent dataset.",
8588	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
8589	//   "httpMethod": "POST",
8590	//   "id": "healthcare.projects.locations.datasets.annotationStores.create",
8591	//   "parameterOrder": [
8592	//     "parent"
8593	//   ],
8594	//   "parameters": {
8595	//     "annotationStoreId": {
8596	//       "description": "The ID of the Annotation store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
8597	//       "location": "query",
8598	//       "type": "string"
8599	//     },
8600	//     "parent": {
8601	//       "description": "The name of the dataset this Annotation store belongs to.",
8602	//       "location": "path",
8603	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8604	//       "required": true,
8605	//       "type": "string"
8606	//     }
8607	//   },
8608	//   "path": "v1beta1/{+parent}/annotationStores",
8609	//   "request": {
8610	//     "$ref": "AnnotationStore"
8611	//   },
8612	//   "response": {
8613	//     "$ref": "AnnotationStore"
8614	//   },
8615	//   "scopes": [
8616	//     "https://www.googleapis.com/auth/cloud-platform"
8617	//   ]
8618	// }
8619
8620}
8621
8622// method id "healthcare.projects.locations.datasets.annotationStores.delete":
8623
8624type ProjectsLocationsDatasetsAnnotationStoresDeleteCall struct {
8625	s          *Service
8626	name       string
8627	urlParams_ gensupport.URLParams
8628	ctx_       context.Context
8629	header_    http.Header
8630}
8631
8632// Delete: Deletes the specified Annotation store and removes all
8633// annotations that are contained within it.
8634//
8635// - name: The resource name of the Annotation store to delete.
8636func (r *ProjectsLocationsDatasetsAnnotationStoresService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8637	c := &ProjectsLocationsDatasetsAnnotationStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8638	c.name = name
8639	return c
8640}
8641
8642// Fields allows partial responses to be retrieved. See
8643// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8644// for more information.
8645func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8646	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8647	return c
8648}
8649
8650// Context sets the context to be used in this call's Do method. Any
8651// pending HTTP request will be aborted if the provided context is
8652// canceled.
8653func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8654	c.ctx_ = ctx
8655	return c
8656}
8657
8658// Header returns an http.Header that can be modified by the caller to
8659// add HTTP headers to the request.
8660func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Header() http.Header {
8661	if c.header_ == nil {
8662		c.header_ = make(http.Header)
8663	}
8664	return c.header_
8665}
8666
8667func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
8668	reqHeaders := make(http.Header)
8669	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8670	for k, v := range c.header_ {
8671		reqHeaders[k] = v
8672	}
8673	reqHeaders.Set("User-Agent", c.s.userAgent())
8674	var body io.Reader = nil
8675	c.urlParams_.Set("alt", alt)
8676	c.urlParams_.Set("prettyPrint", "false")
8677	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8678	urls += "?" + c.urlParams_.Encode()
8679	req, err := http.NewRequest("DELETE", urls, body)
8680	if err != nil {
8681		return nil, err
8682	}
8683	req.Header = reqHeaders
8684	googleapi.Expand(req.URL, map[string]string{
8685		"name": c.name,
8686	})
8687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8688}
8689
8690// Do executes the "healthcare.projects.locations.datasets.annotationStores.delete" call.
8691// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8692// code is an error. Response headers are in either
8693// *Empty.ServerResponse.Header or (if a response was returned at all)
8694// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8695// check whether the returned error was because http.StatusNotModified
8696// was returned.
8697func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8698	gensupport.SetOptions(c.urlParams_, opts...)
8699	res, err := c.doRequest("json")
8700	if res != nil && res.StatusCode == http.StatusNotModified {
8701		if res.Body != nil {
8702			res.Body.Close()
8703		}
8704		return nil, &googleapi.Error{
8705			Code:   res.StatusCode,
8706			Header: res.Header,
8707		}
8708	}
8709	if err != nil {
8710		return nil, err
8711	}
8712	defer googleapi.CloseBody(res)
8713	if err := googleapi.CheckResponse(res); err != nil {
8714		return nil, err
8715	}
8716	ret := &Empty{
8717		ServerResponse: googleapi.ServerResponse{
8718			Header:         res.Header,
8719			HTTPStatusCode: res.StatusCode,
8720		},
8721	}
8722	target := &ret
8723	if err := gensupport.DecodeResponse(target, res); err != nil {
8724		return nil, err
8725	}
8726	return ret, nil
8727	// {
8728	//   "description": "Deletes the specified Annotation store and removes all annotations that are contained within it.",
8729	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
8730	//   "httpMethod": "DELETE",
8731	//   "id": "healthcare.projects.locations.datasets.annotationStores.delete",
8732	//   "parameterOrder": [
8733	//     "name"
8734	//   ],
8735	//   "parameters": {
8736	//     "name": {
8737	//       "description": "The resource name of the Annotation store to delete.",
8738	//       "location": "path",
8739	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8740	//       "required": true,
8741	//       "type": "string"
8742	//     }
8743	//   },
8744	//   "path": "v1beta1/{+name}",
8745	//   "response": {
8746	//     "$ref": "Empty"
8747	//   },
8748	//   "scopes": [
8749	//     "https://www.googleapis.com/auth/cloud-platform"
8750	//   ]
8751	// }
8752
8753}
8754
8755// method id "healthcare.projects.locations.datasets.annotationStores.evaluate":
8756
8757type ProjectsLocationsDatasetsAnnotationStoresEvaluateCall struct {
8758	s                              *Service
8759	name                           string
8760	evaluateannotationstorerequest *EvaluateAnnotationStoreRequest
8761	urlParams_                     gensupport.URLParams
8762	ctx_                           context.Context
8763	header_                        http.Header
8764}
8765
8766// Evaluate: Evaluate an Annotation store against a ground truth
8767// Annotation store. When the operation finishes successfully, a
8768// detailed response is returned of type
8769// EvaluateAnnotationStoreResponse, contained in the response. The
8770// metadata field type is OperationMetadata. Errors are logged to Cloud
8771// Logging (see Viewing error logs in Cloud Logging
8772// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
8773//
8774// - name: The Annotation store to compare against `golden_store`, in
8775//   the format of
8776//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8777//   /annotationStores/{annotation_store_id}`.
8778func (r *ProjectsLocationsDatasetsAnnotationStoresService) Evaluate(name string, evaluateannotationstorerequest *EvaluateAnnotationStoreRequest) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8779	c := &ProjectsLocationsDatasetsAnnotationStoresEvaluateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8780	c.name = name
8781	c.evaluateannotationstorerequest = evaluateannotationstorerequest
8782	return c
8783}
8784
8785// Fields allows partial responses to be retrieved. See
8786// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8787// for more information.
8788func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8789	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8790	return c
8791}
8792
8793// Context sets the context to be used in this call's Do method. Any
8794// pending HTTP request will be aborted if the provided context is
8795// canceled.
8796func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8797	c.ctx_ = ctx
8798	return c
8799}
8800
8801// Header returns an http.Header that can be modified by the caller to
8802// add HTTP headers to the request.
8803func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Header() http.Header {
8804	if c.header_ == nil {
8805		c.header_ = make(http.Header)
8806	}
8807	return c.header_
8808}
8809
8810func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) doRequest(alt string) (*http.Response, error) {
8811	reqHeaders := make(http.Header)
8812	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8813	for k, v := range c.header_ {
8814		reqHeaders[k] = v
8815	}
8816	reqHeaders.Set("User-Agent", c.s.userAgent())
8817	var body io.Reader = nil
8818	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateannotationstorerequest)
8819	if err != nil {
8820		return nil, err
8821	}
8822	reqHeaders.Set("Content-Type", "application/json")
8823	c.urlParams_.Set("alt", alt)
8824	c.urlParams_.Set("prettyPrint", "false")
8825	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:evaluate")
8826	urls += "?" + c.urlParams_.Encode()
8827	req, err := http.NewRequest("POST", urls, body)
8828	if err != nil {
8829		return nil, err
8830	}
8831	req.Header = reqHeaders
8832	googleapi.Expand(req.URL, map[string]string{
8833		"name": c.name,
8834	})
8835	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8836}
8837
8838// Do executes the "healthcare.projects.locations.datasets.annotationStores.evaluate" call.
8839// Exactly one of *Operation or error will be non-nil. Any non-2xx
8840// status code is an error. Response headers are in either
8841// *Operation.ServerResponse.Header or (if a response was returned at
8842// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8843// to check whether the returned error was because
8844// http.StatusNotModified was returned.
8845func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8846	gensupport.SetOptions(c.urlParams_, opts...)
8847	res, err := c.doRequest("json")
8848	if res != nil && res.StatusCode == http.StatusNotModified {
8849		if res.Body != nil {
8850			res.Body.Close()
8851		}
8852		return nil, &googleapi.Error{
8853			Code:   res.StatusCode,
8854			Header: res.Header,
8855		}
8856	}
8857	if err != nil {
8858		return nil, err
8859	}
8860	defer googleapi.CloseBody(res)
8861	if err := googleapi.CheckResponse(res); err != nil {
8862		return nil, err
8863	}
8864	ret := &Operation{
8865		ServerResponse: googleapi.ServerResponse{
8866			Header:         res.Header,
8867			HTTPStatusCode: res.StatusCode,
8868		},
8869	}
8870	target := &ret
8871	if err := gensupport.DecodeResponse(target, res); err != nil {
8872		return nil, err
8873	}
8874	return ret, nil
8875	// {
8876	//   "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)).",
8877	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate",
8878	//   "httpMethod": "POST",
8879	//   "id": "healthcare.projects.locations.datasets.annotationStores.evaluate",
8880	//   "parameterOrder": [
8881	//     "name"
8882	//   ],
8883	//   "parameters": {
8884	//     "name": {
8885	//       "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}`.",
8886	//       "location": "path",
8887	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8888	//       "required": true,
8889	//       "type": "string"
8890	//     }
8891	//   },
8892	//   "path": "v1beta1/{+name}:evaluate",
8893	//   "request": {
8894	//     "$ref": "EvaluateAnnotationStoreRequest"
8895	//   },
8896	//   "response": {
8897	//     "$ref": "Operation"
8898	//   },
8899	//   "scopes": [
8900	//     "https://www.googleapis.com/auth/cloud-platform"
8901	//   ]
8902	// }
8903
8904}
8905
8906// method id "healthcare.projects.locations.datasets.annotationStores.export":
8907
8908type ProjectsLocationsDatasetsAnnotationStoresExportCall struct {
8909	s                        *Service
8910	name                     string
8911	exportannotationsrequest *ExportAnnotationsRequest
8912	urlParams_               gensupport.URLParams
8913	ctx_                     context.Context
8914	header_                  http.Header
8915}
8916
8917// Export: Export Annotations from the Annotation store. If the request
8918// is successful, a detailed response is returned of type
8919// ExportAnnotationsResponse, contained in the response field when the
8920// operation finishes. The metadata field type is OperationMetadata.
8921// Errors are logged to Cloud Logging (see Viewing error logs in Cloud
8922// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)).
8923//
8924// - name: The name of the Annotation store to export annotations to, in
8925//   the format of
8926//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8927//   /annotationStores/{annotation_store_id}`.
8928func (r *ProjectsLocationsDatasetsAnnotationStoresService) Export(name string, exportannotationsrequest *ExportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8929	c := &ProjectsLocationsDatasetsAnnotationStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8930	c.name = name
8931	c.exportannotationsrequest = exportannotationsrequest
8932	return c
8933}
8934
8935// Fields allows partial responses to be retrieved. See
8936// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8937// for more information.
8938func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8939	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8940	return c
8941}
8942
8943// Context sets the context to be used in this call's Do method. Any
8944// pending HTTP request will be aborted if the provided context is
8945// canceled.
8946func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
8947	c.ctx_ = ctx
8948	return c
8949}
8950
8951// Header returns an http.Header that can be modified by the caller to
8952// add HTTP headers to the request.
8953func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Header() http.Header {
8954	if c.header_ == nil {
8955		c.header_ = make(http.Header)
8956	}
8957	return c.header_
8958}
8959
8960func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) doRequest(alt string) (*http.Response, error) {
8961	reqHeaders := make(http.Header)
8962	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8963	for k, v := range c.header_ {
8964		reqHeaders[k] = v
8965	}
8966	reqHeaders.Set("User-Agent", c.s.userAgent())
8967	var body io.Reader = nil
8968	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportannotationsrequest)
8969	if err != nil {
8970		return nil, err
8971	}
8972	reqHeaders.Set("Content-Type", "application/json")
8973	c.urlParams_.Set("alt", alt)
8974	c.urlParams_.Set("prettyPrint", "false")
8975	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
8976	urls += "?" + c.urlParams_.Encode()
8977	req, err := http.NewRequest("POST", urls, body)
8978	if err != nil {
8979		return nil, err
8980	}
8981	req.Header = reqHeaders
8982	googleapi.Expand(req.URL, map[string]string{
8983		"name": c.name,
8984	})
8985	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8986}
8987
8988// Do executes the "healthcare.projects.locations.datasets.annotationStores.export" call.
8989// Exactly one of *Operation or error will be non-nil. Any non-2xx
8990// status code is an error. Response headers are in either
8991// *Operation.ServerResponse.Header or (if a response was returned at
8992// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8993// to check whether the returned error was because
8994// http.StatusNotModified was returned.
8995func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8996	gensupport.SetOptions(c.urlParams_, opts...)
8997	res, err := c.doRequest("json")
8998	if res != nil && res.StatusCode == http.StatusNotModified {
8999		if res.Body != nil {
9000			res.Body.Close()
9001		}
9002		return nil, &googleapi.Error{
9003			Code:   res.StatusCode,
9004			Header: res.Header,
9005		}
9006	}
9007	if err != nil {
9008		return nil, err
9009	}
9010	defer googleapi.CloseBody(res)
9011	if err := googleapi.CheckResponse(res); err != nil {
9012		return nil, err
9013	}
9014	ret := &Operation{
9015		ServerResponse: googleapi.ServerResponse{
9016			Header:         res.Header,
9017			HTTPStatusCode: res.StatusCode,
9018		},
9019	}
9020	target := &ret
9021	if err := gensupport.DecodeResponse(target, res); err != nil {
9022		return nil, err
9023	}
9024	return ret, nil
9025	// {
9026	//   "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)).",
9027	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export",
9028	//   "httpMethod": "POST",
9029	//   "id": "healthcare.projects.locations.datasets.annotationStores.export",
9030	//   "parameterOrder": [
9031	//     "name"
9032	//   ],
9033	//   "parameters": {
9034	//     "name": {
9035	//       "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}`.",
9036	//       "location": "path",
9037	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9038	//       "required": true,
9039	//       "type": "string"
9040	//     }
9041	//   },
9042	//   "path": "v1beta1/{+name}:export",
9043	//   "request": {
9044	//     "$ref": "ExportAnnotationsRequest"
9045	//   },
9046	//   "response": {
9047	//     "$ref": "Operation"
9048	//   },
9049	//   "scopes": [
9050	//     "https://www.googleapis.com/auth/cloud-platform"
9051	//   ]
9052	// }
9053
9054}
9055
9056// method id "healthcare.projects.locations.datasets.annotationStores.get":
9057
9058type ProjectsLocationsDatasetsAnnotationStoresGetCall struct {
9059	s            *Service
9060	name         string
9061	urlParams_   gensupport.URLParams
9062	ifNoneMatch_ string
9063	ctx_         context.Context
9064	header_      http.Header
9065}
9066
9067// Get: Gets the specified Annotation store or returns NOT_FOUND if it
9068// does not exist.
9069//
9070// - name: The resource name of the Annotation store to get.
9071func (r *ProjectsLocationsDatasetsAnnotationStoresService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9072	c := &ProjectsLocationsDatasetsAnnotationStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9073	c.name = name
9074	return c
9075}
9076
9077// Fields allows partial responses to be retrieved. See
9078// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9079// for more information.
9080func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9081	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9082	return c
9083}
9084
9085// IfNoneMatch sets the optional parameter which makes the operation
9086// fail if the object's ETag matches the given value. This is useful for
9087// getting updates only after the object has changed since the last
9088// request. Use googleapi.IsNotModified to check whether the response
9089// error from Do is the result of In-None-Match.
9090func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9091	c.ifNoneMatch_ = entityTag
9092	return c
9093}
9094
9095// Context sets the context to be used in this call's Do method. Any
9096// pending HTTP request will be aborted if the provided context is
9097// canceled.
9098func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9099	c.ctx_ = ctx
9100	return c
9101}
9102
9103// Header returns an http.Header that can be modified by the caller to
9104// add HTTP headers to the request.
9105func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Header() http.Header {
9106	if c.header_ == nil {
9107		c.header_ = make(http.Header)
9108	}
9109	return c.header_
9110}
9111
9112func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) doRequest(alt string) (*http.Response, error) {
9113	reqHeaders := make(http.Header)
9114	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9115	for k, v := range c.header_ {
9116		reqHeaders[k] = v
9117	}
9118	reqHeaders.Set("User-Agent", c.s.userAgent())
9119	if c.ifNoneMatch_ != "" {
9120		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9121	}
9122	var body io.Reader = nil
9123	c.urlParams_.Set("alt", alt)
9124	c.urlParams_.Set("prettyPrint", "false")
9125	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9126	urls += "?" + c.urlParams_.Encode()
9127	req, err := http.NewRequest("GET", urls, body)
9128	if err != nil {
9129		return nil, err
9130	}
9131	req.Header = reqHeaders
9132	googleapi.Expand(req.URL, map[string]string{
9133		"name": c.name,
9134	})
9135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9136}
9137
9138// Do executes the "healthcare.projects.locations.datasets.annotationStores.get" call.
9139// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9140// status code is an error. Response headers are in either
9141// *AnnotationStore.ServerResponse.Header or (if a response was returned
9142// at all) in error.(*googleapi.Error).Header. Use
9143// googleapi.IsNotModified to check whether the returned error was
9144// because http.StatusNotModified was returned.
9145func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9146	gensupport.SetOptions(c.urlParams_, opts...)
9147	res, err := c.doRequest("json")
9148	if res != nil && res.StatusCode == http.StatusNotModified {
9149		if res.Body != nil {
9150			res.Body.Close()
9151		}
9152		return nil, &googleapi.Error{
9153			Code:   res.StatusCode,
9154			Header: res.Header,
9155		}
9156	}
9157	if err != nil {
9158		return nil, err
9159	}
9160	defer googleapi.CloseBody(res)
9161	if err := googleapi.CheckResponse(res); err != nil {
9162		return nil, err
9163	}
9164	ret := &AnnotationStore{
9165		ServerResponse: googleapi.ServerResponse{
9166			Header:         res.Header,
9167			HTTPStatusCode: res.StatusCode,
9168		},
9169	}
9170	target := &ret
9171	if err := gensupport.DecodeResponse(target, res); err != nil {
9172		return nil, err
9173	}
9174	return ret, nil
9175	// {
9176	//   "description": "Gets the specified Annotation store or returns NOT_FOUND if it does not exist.",
9177	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9178	//   "httpMethod": "GET",
9179	//   "id": "healthcare.projects.locations.datasets.annotationStores.get",
9180	//   "parameterOrder": [
9181	//     "name"
9182	//   ],
9183	//   "parameters": {
9184	//     "name": {
9185	//       "description": "The resource name of the Annotation store to get.",
9186	//       "location": "path",
9187	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9188	//       "required": true,
9189	//       "type": "string"
9190	//     }
9191	//   },
9192	//   "path": "v1beta1/{+name}",
9193	//   "response": {
9194	//     "$ref": "AnnotationStore"
9195	//   },
9196	//   "scopes": [
9197	//     "https://www.googleapis.com/auth/cloud-platform"
9198	//   ]
9199	// }
9200
9201}
9202
9203// method id "healthcare.projects.locations.datasets.annotationStores.getIamPolicy":
9204
9205type ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall struct {
9206	s            *Service
9207	resource     string
9208	urlParams_   gensupport.URLParams
9209	ifNoneMatch_ string
9210	ctx_         context.Context
9211	header_      http.Header
9212}
9213
9214// GetIamPolicy: Gets the access control policy for a resource. Returns
9215// an empty policy if the resource exists and does not have a policy
9216// set.
9217//
9218// - resource: REQUIRED: The resource for which the policy is being
9219//   requested. See the operation documentation for the appropriate
9220//   value for this field.
9221func (r *ProjectsLocationsDatasetsAnnotationStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9222	c := &ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9223	c.resource = resource
9224	return c
9225}
9226
9227// OptionsRequestedPolicyVersion sets the optional parameter
9228// "options.requestedPolicyVersion": The policy format version to be
9229// returned. Valid values are 0, 1, and 3. Requests specifying an
9230// invalid value will be rejected. Requests for policies with any
9231// conditional bindings must specify version 3. Policies without any
9232// conditional bindings may specify any valid value or leave the field
9233// unset. To learn which resources support conditions in their IAM
9234// policies, see the IAM documentation
9235// (https://cloud.google.com/iam/help/conditions/resource-policies).
9236func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9237	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
9238	return c
9239}
9240
9241// Fields allows partial responses to be retrieved. See
9242// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9243// for more information.
9244func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9245	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9246	return c
9247}
9248
9249// IfNoneMatch sets the optional parameter which makes the operation
9250// fail if the object's ETag matches the given value. This is useful for
9251// getting updates only after the object has changed since the last
9252// request. Use googleapi.IsNotModified to check whether the response
9253// error from Do is the result of In-None-Match.
9254func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9255	c.ifNoneMatch_ = entityTag
9256	return c
9257}
9258
9259// Context sets the context to be used in this call's Do method. Any
9260// pending HTTP request will be aborted if the provided context is
9261// canceled.
9262func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9263	c.ctx_ = ctx
9264	return c
9265}
9266
9267// Header returns an http.Header that can be modified by the caller to
9268// add HTTP headers to the request.
9269func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Header() http.Header {
9270	if c.header_ == nil {
9271		c.header_ = make(http.Header)
9272	}
9273	return c.header_
9274}
9275
9276func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9277	reqHeaders := make(http.Header)
9278	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9279	for k, v := range c.header_ {
9280		reqHeaders[k] = v
9281	}
9282	reqHeaders.Set("User-Agent", c.s.userAgent())
9283	if c.ifNoneMatch_ != "" {
9284		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9285	}
9286	var body io.Reader = nil
9287	c.urlParams_.Set("alt", alt)
9288	c.urlParams_.Set("prettyPrint", "false")
9289	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9290	urls += "?" + c.urlParams_.Encode()
9291	req, err := http.NewRequest("GET", urls, body)
9292	if err != nil {
9293		return nil, err
9294	}
9295	req.Header = reqHeaders
9296	googleapi.Expand(req.URL, map[string]string{
9297		"resource": c.resource,
9298	})
9299	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9300}
9301
9302// Do executes the "healthcare.projects.locations.datasets.annotationStores.getIamPolicy" call.
9303// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9304// code is an error. Response headers are in either
9305// *Policy.ServerResponse.Header or (if a response was returned at all)
9306// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9307// check whether the returned error was because http.StatusNotModified
9308// was returned.
9309func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9310	gensupport.SetOptions(c.urlParams_, opts...)
9311	res, err := c.doRequest("json")
9312	if res != nil && res.StatusCode == http.StatusNotModified {
9313		if res.Body != nil {
9314			res.Body.Close()
9315		}
9316		return nil, &googleapi.Error{
9317			Code:   res.StatusCode,
9318			Header: res.Header,
9319		}
9320	}
9321	if err != nil {
9322		return nil, err
9323	}
9324	defer googleapi.CloseBody(res)
9325	if err := googleapi.CheckResponse(res); err != nil {
9326		return nil, err
9327	}
9328	ret := &Policy{
9329		ServerResponse: googleapi.ServerResponse{
9330			Header:         res.Header,
9331			HTTPStatusCode: res.StatusCode,
9332		},
9333	}
9334	target := &ret
9335	if err := gensupport.DecodeResponse(target, res); err != nil {
9336		return nil, err
9337	}
9338	return ret, nil
9339	// {
9340	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
9341	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy",
9342	//   "httpMethod": "GET",
9343	//   "id": "healthcare.projects.locations.datasets.annotationStores.getIamPolicy",
9344	//   "parameterOrder": [
9345	//     "resource"
9346	//   ],
9347	//   "parameters": {
9348	//     "options.requestedPolicyVersion": {
9349	//       "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).",
9350	//       "format": "int32",
9351	//       "location": "query",
9352	//       "type": "integer"
9353	//     },
9354	//     "resource": {
9355	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9356	//       "location": "path",
9357	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9358	//       "required": true,
9359	//       "type": "string"
9360	//     }
9361	//   },
9362	//   "path": "v1beta1/{+resource}:getIamPolicy",
9363	//   "response": {
9364	//     "$ref": "Policy"
9365	//   },
9366	//   "scopes": [
9367	//     "https://www.googleapis.com/auth/cloud-platform"
9368	//   ]
9369	// }
9370
9371}
9372
9373// method id "healthcare.projects.locations.datasets.annotationStores.import":
9374
9375type ProjectsLocationsDatasetsAnnotationStoresImportCall struct {
9376	s                        *Service
9377	name                     string
9378	importannotationsrequest *ImportAnnotationsRequest
9379	urlParams_               gensupport.URLParams
9380	ctx_                     context.Context
9381	header_                  http.Header
9382}
9383
9384// Import: Import Annotations to the Annotation store by loading data
9385// from the specified sources. If the request is successful, a detailed
9386// response is returned as of type ImportAnnotationsResponse, contained
9387// in the response field when the operation finishes. The metadata field
9388// type is OperationMetadata. Errors are logged to Cloud Logging (see
9389// Viewing error logs in Cloud Logging
9390// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
9391//
9392// - name: The name of the Annotation store to which the server imports
9393//   annotations, in the format
9394//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9395//   /annotationStores/{annotation_store_id}`.
9396func (r *ProjectsLocationsDatasetsAnnotationStoresService) Import(name string, importannotationsrequest *ImportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9397	c := &ProjectsLocationsDatasetsAnnotationStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9398	c.name = name
9399	c.importannotationsrequest = importannotationsrequest
9400	return c
9401}
9402
9403// Fields allows partial responses to be retrieved. See
9404// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9405// for more information.
9406func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9407	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9408	return c
9409}
9410
9411// Context sets the context to be used in this call's Do method. Any
9412// pending HTTP request will be aborted if the provided context is
9413// canceled.
9414func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9415	c.ctx_ = ctx
9416	return c
9417}
9418
9419// Header returns an http.Header that can be modified by the caller to
9420// add HTTP headers to the request.
9421func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Header() http.Header {
9422	if c.header_ == nil {
9423		c.header_ = make(http.Header)
9424	}
9425	return c.header_
9426}
9427
9428func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) doRequest(alt string) (*http.Response, error) {
9429	reqHeaders := make(http.Header)
9430	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9431	for k, v := range c.header_ {
9432		reqHeaders[k] = v
9433	}
9434	reqHeaders.Set("User-Agent", c.s.userAgent())
9435	var body io.Reader = nil
9436	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importannotationsrequest)
9437	if err != nil {
9438		return nil, err
9439	}
9440	reqHeaders.Set("Content-Type", "application/json")
9441	c.urlParams_.Set("alt", alt)
9442	c.urlParams_.Set("prettyPrint", "false")
9443	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
9444	urls += "?" + c.urlParams_.Encode()
9445	req, err := http.NewRequest("POST", urls, body)
9446	if err != nil {
9447		return nil, err
9448	}
9449	req.Header = reqHeaders
9450	googleapi.Expand(req.URL, map[string]string{
9451		"name": c.name,
9452	})
9453	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9454}
9455
9456// Do executes the "healthcare.projects.locations.datasets.annotationStores.import" call.
9457// Exactly one of *Operation or error will be non-nil. Any non-2xx
9458// status code is an error. Response headers are in either
9459// *Operation.ServerResponse.Header or (if a response was returned at
9460// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9461// to check whether the returned error was because
9462// http.StatusNotModified was returned.
9463func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9464	gensupport.SetOptions(c.urlParams_, opts...)
9465	res, err := c.doRequest("json")
9466	if res != nil && res.StatusCode == http.StatusNotModified {
9467		if res.Body != nil {
9468			res.Body.Close()
9469		}
9470		return nil, &googleapi.Error{
9471			Code:   res.StatusCode,
9472			Header: res.Header,
9473		}
9474	}
9475	if err != nil {
9476		return nil, err
9477	}
9478	defer googleapi.CloseBody(res)
9479	if err := googleapi.CheckResponse(res); err != nil {
9480		return nil, err
9481	}
9482	ret := &Operation{
9483		ServerResponse: googleapi.ServerResponse{
9484			Header:         res.Header,
9485			HTTPStatusCode: res.StatusCode,
9486		},
9487	}
9488	target := &ret
9489	if err := gensupport.DecodeResponse(target, res); err != nil {
9490		return nil, err
9491	}
9492	return ret, nil
9493	// {
9494	//   "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)).",
9495	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import",
9496	//   "httpMethod": "POST",
9497	//   "id": "healthcare.projects.locations.datasets.annotationStores.import",
9498	//   "parameterOrder": [
9499	//     "name"
9500	//   ],
9501	//   "parameters": {
9502	//     "name": {
9503	//       "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}`.",
9504	//       "location": "path",
9505	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9506	//       "required": true,
9507	//       "type": "string"
9508	//     }
9509	//   },
9510	//   "path": "v1beta1/{+name}:import",
9511	//   "request": {
9512	//     "$ref": "ImportAnnotationsRequest"
9513	//   },
9514	//   "response": {
9515	//     "$ref": "Operation"
9516	//   },
9517	//   "scopes": [
9518	//     "https://www.googleapis.com/auth/cloud-platform"
9519	//   ]
9520	// }
9521
9522}
9523
9524// method id "healthcare.projects.locations.datasets.annotationStores.list":
9525
9526type ProjectsLocationsDatasetsAnnotationStoresListCall struct {
9527	s            *Service
9528	parent       string
9529	urlParams_   gensupport.URLParams
9530	ifNoneMatch_ string
9531	ctx_         context.Context
9532	header_      http.Header
9533}
9534
9535// List: Lists the Annotation stores in the given dataset for a source
9536// store.
9537//
9538// - parent: Name of the dataset.
9539func (r *ProjectsLocationsDatasetsAnnotationStoresService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9540	c := &ProjectsLocationsDatasetsAnnotationStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9541	c.parent = parent
9542	return c
9543}
9544
9545// Filter sets the optional parameter "filter": Restricts stores
9546// returned to those matching a filter. The following syntax is
9547// available: * A string field value can be written as text inside
9548// quotation marks, for example "query text". The only valid
9549// relational operation for text fields is equality (`=`), where text is
9550// searched within the field, rather than having the field be equal to
9551// the text. For example, "Comment = great" returns messages with
9552// `great` in the comment field. * A number field value can be written
9553// as an integer, a decimal, or an exponential. The valid relational
9554// operators for number fields are the equality operator (`=`), along
9555// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
9556// Note that there is no inequality (`!=`) operator. You can prepend the
9557// `NOT` operator to an expression to negate it. * A date field value
9558// must be written in `yyyy-mm-dd` form. Fields with date and time use
9559// the RFC3339 time format. Leading zeros are required for one-digit
9560// months and days. The valid relational operators for date fields are
9561// the equality operator (`=`) , along with the less than/greater than
9562// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
9563// (`!=`) operator. You can prepend the `NOT` operator to an expression
9564// to negate it. * Multiple field query expressions can be combined in
9565// one query by adding `AND` or `OR` operators between the expressions.
9566// If a boolean operator appears within a quoted string, it is not
9567// treated as special, it's just another part of the character string to
9568// be matched. You can prepend the `NOT` operator to an expression to
9569// negate it. Only filtering on labels is supported, for example
9570// `labels.key=value`.
9571func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9572	c.urlParams_.Set("filter", filter)
9573	return c
9574}
9575
9576// PageSize sets the optional parameter "pageSize": Limit on the number
9577// of Annotation stores to return in a single response. If not
9578// specified, 100 is used. May not be larger than 1000.
9579func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9580	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9581	return c
9582}
9583
9584// PageToken sets the optional parameter "pageToken": The
9585// next_page_token value returned from the previous List request, if
9586// any.
9587func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9588	c.urlParams_.Set("pageToken", pageToken)
9589	return c
9590}
9591
9592// Fields allows partial responses to be retrieved. See
9593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9594// for more information.
9595func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9597	return c
9598}
9599
9600// IfNoneMatch sets the optional parameter which makes the operation
9601// fail if the object's ETag matches the given value. This is useful for
9602// getting updates only after the object has changed since the last
9603// request. Use googleapi.IsNotModified to check whether the response
9604// error from Do is the result of In-None-Match.
9605func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9606	c.ifNoneMatch_ = entityTag
9607	return c
9608}
9609
9610// Context sets the context to be used in this call's Do method. Any
9611// pending HTTP request will be aborted if the provided context is
9612// canceled.
9613func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9614	c.ctx_ = ctx
9615	return c
9616}
9617
9618// Header returns an http.Header that can be modified by the caller to
9619// add HTTP headers to the request.
9620func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Header() http.Header {
9621	if c.header_ == nil {
9622		c.header_ = make(http.Header)
9623	}
9624	return c.header_
9625}
9626
9627func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) doRequest(alt string) (*http.Response, error) {
9628	reqHeaders := make(http.Header)
9629	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9630	for k, v := range c.header_ {
9631		reqHeaders[k] = v
9632	}
9633	reqHeaders.Set("User-Agent", c.s.userAgent())
9634	if c.ifNoneMatch_ != "" {
9635		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9636	}
9637	var body io.Reader = nil
9638	c.urlParams_.Set("alt", alt)
9639	c.urlParams_.Set("prettyPrint", "false")
9640	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
9641	urls += "?" + c.urlParams_.Encode()
9642	req, err := http.NewRequest("GET", urls, body)
9643	if err != nil {
9644		return nil, err
9645	}
9646	req.Header = reqHeaders
9647	googleapi.Expand(req.URL, map[string]string{
9648		"parent": c.parent,
9649	})
9650	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9651}
9652
9653// Do executes the "healthcare.projects.locations.datasets.annotationStores.list" call.
9654// Exactly one of *ListAnnotationStoresResponse or error will be
9655// non-nil. Any non-2xx status code is an error. Response headers are in
9656// either *ListAnnotationStoresResponse.ServerResponse.Header or (if a
9657// response was returned at all) in error.(*googleapi.Error).Header. Use
9658// googleapi.IsNotModified to check whether the returned error was
9659// because http.StatusNotModified was returned.
9660func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationStoresResponse, error) {
9661	gensupport.SetOptions(c.urlParams_, opts...)
9662	res, err := c.doRequest("json")
9663	if res != nil && res.StatusCode == http.StatusNotModified {
9664		if res.Body != nil {
9665			res.Body.Close()
9666		}
9667		return nil, &googleapi.Error{
9668			Code:   res.StatusCode,
9669			Header: res.Header,
9670		}
9671	}
9672	if err != nil {
9673		return nil, err
9674	}
9675	defer googleapi.CloseBody(res)
9676	if err := googleapi.CheckResponse(res); err != nil {
9677		return nil, err
9678	}
9679	ret := &ListAnnotationStoresResponse{
9680		ServerResponse: googleapi.ServerResponse{
9681			Header:         res.Header,
9682			HTTPStatusCode: res.StatusCode,
9683		},
9684	}
9685	target := &ret
9686	if err := gensupport.DecodeResponse(target, res); err != nil {
9687		return nil, err
9688	}
9689	return ret, nil
9690	// {
9691	//   "description": "Lists the Annotation stores in the given dataset for a source store.",
9692	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
9693	//   "httpMethod": "GET",
9694	//   "id": "healthcare.projects.locations.datasets.annotationStores.list",
9695	//   "parameterOrder": [
9696	//     "parent"
9697	//   ],
9698	//   "parameters": {
9699	//     "filter": {
9700	//       "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`.",
9701	//       "location": "query",
9702	//       "type": "string"
9703	//     },
9704	//     "pageSize": {
9705	//       "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.",
9706	//       "format": "int32",
9707	//       "location": "query",
9708	//       "type": "integer"
9709	//     },
9710	//     "pageToken": {
9711	//       "description": "The next_page_token value returned from the previous List request, if any.",
9712	//       "location": "query",
9713	//       "type": "string"
9714	//     },
9715	//     "parent": {
9716	//       "description": "Name of the dataset.",
9717	//       "location": "path",
9718	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
9719	//       "required": true,
9720	//       "type": "string"
9721	//     }
9722	//   },
9723	//   "path": "v1beta1/{+parent}/annotationStores",
9724	//   "response": {
9725	//     "$ref": "ListAnnotationStoresResponse"
9726	//   },
9727	//   "scopes": [
9728	//     "https://www.googleapis.com/auth/cloud-platform"
9729	//   ]
9730	// }
9731
9732}
9733
9734// Pages invokes f for each page of results.
9735// A non-nil error returned from f will halt the iteration.
9736// The provided context supersedes any context provided to the Context method.
9737func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Pages(ctx context.Context, f func(*ListAnnotationStoresResponse) error) error {
9738	c.ctx_ = ctx
9739	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9740	for {
9741		x, err := c.Do()
9742		if err != nil {
9743			return err
9744		}
9745		if err := f(x); err != nil {
9746			return err
9747		}
9748		if x.NextPageToken == "" {
9749			return nil
9750		}
9751		c.PageToken(x.NextPageToken)
9752	}
9753}
9754
9755// method id "healthcare.projects.locations.datasets.annotationStores.patch":
9756
9757type ProjectsLocationsDatasetsAnnotationStoresPatchCall struct {
9758	s               *Service
9759	name            string
9760	annotationstore *AnnotationStore
9761	urlParams_      gensupport.URLParams
9762	ctx_            context.Context
9763	header_         http.Header
9764}
9765
9766// Patch: Updates the specified Annotation store.
9767//
9768// - name: Resource name of the Annotation store, of the form
9769//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9770//   /annotationStores/{annotation_store_id}`.
9771func (r *ProjectsLocationsDatasetsAnnotationStoresService) Patch(name string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9772	c := &ProjectsLocationsDatasetsAnnotationStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9773	c.name = name
9774	c.annotationstore = annotationstore
9775	return c
9776}
9777
9778// UpdateMask sets the optional parameter "updateMask": The update mask
9779// applies to the resource. For the `FieldMask` definition, see
9780// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9781func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9782	c.urlParams_.Set("updateMask", updateMask)
9783	return c
9784}
9785
9786// Fields allows partial responses to be retrieved. See
9787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9788// for more information.
9789func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9791	return c
9792}
9793
9794// Context sets the context to be used in this call's Do method. Any
9795// pending HTTP request will be aborted if the provided context is
9796// canceled.
9797func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9798	c.ctx_ = ctx
9799	return c
9800}
9801
9802// Header returns an http.Header that can be modified by the caller to
9803// add HTTP headers to the request.
9804func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Header() http.Header {
9805	if c.header_ == nil {
9806		c.header_ = make(http.Header)
9807	}
9808	return c.header_
9809}
9810
9811func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) doRequest(alt string) (*http.Response, error) {
9812	reqHeaders := make(http.Header)
9813	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9814	for k, v := range c.header_ {
9815		reqHeaders[k] = v
9816	}
9817	reqHeaders.Set("User-Agent", c.s.userAgent())
9818	var body io.Reader = nil
9819	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
9820	if err != nil {
9821		return nil, err
9822	}
9823	reqHeaders.Set("Content-Type", "application/json")
9824	c.urlParams_.Set("alt", alt)
9825	c.urlParams_.Set("prettyPrint", "false")
9826	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9827	urls += "?" + c.urlParams_.Encode()
9828	req, err := http.NewRequest("PATCH", urls, body)
9829	if err != nil {
9830		return nil, err
9831	}
9832	req.Header = reqHeaders
9833	googleapi.Expand(req.URL, map[string]string{
9834		"name": c.name,
9835	})
9836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9837}
9838
9839// Do executes the "healthcare.projects.locations.datasets.annotationStores.patch" call.
9840// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9841// status code is an error. Response headers are in either
9842// *AnnotationStore.ServerResponse.Header or (if a response was returned
9843// at all) in error.(*googleapi.Error).Header. Use
9844// googleapi.IsNotModified to check whether the returned error was
9845// because http.StatusNotModified was returned.
9846func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9847	gensupport.SetOptions(c.urlParams_, opts...)
9848	res, err := c.doRequest("json")
9849	if res != nil && res.StatusCode == http.StatusNotModified {
9850		if res.Body != nil {
9851			res.Body.Close()
9852		}
9853		return nil, &googleapi.Error{
9854			Code:   res.StatusCode,
9855			Header: res.Header,
9856		}
9857	}
9858	if err != nil {
9859		return nil, err
9860	}
9861	defer googleapi.CloseBody(res)
9862	if err := googleapi.CheckResponse(res); err != nil {
9863		return nil, err
9864	}
9865	ret := &AnnotationStore{
9866		ServerResponse: googleapi.ServerResponse{
9867			Header:         res.Header,
9868			HTTPStatusCode: res.StatusCode,
9869		},
9870	}
9871	target := &ret
9872	if err := gensupport.DecodeResponse(target, res); err != nil {
9873		return nil, err
9874	}
9875	return ret, nil
9876	// {
9877	//   "description": "Updates the specified Annotation store.",
9878	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9879	//   "httpMethod": "PATCH",
9880	//   "id": "healthcare.projects.locations.datasets.annotationStores.patch",
9881	//   "parameterOrder": [
9882	//     "name"
9883	//   ],
9884	//   "parameters": {
9885	//     "name": {
9886	//       "description": "Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
9887	//       "location": "path",
9888	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9889	//       "required": true,
9890	//       "type": "string"
9891	//     },
9892	//     "updateMask": {
9893	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
9894	//       "format": "google-fieldmask",
9895	//       "location": "query",
9896	//       "type": "string"
9897	//     }
9898	//   },
9899	//   "path": "v1beta1/{+name}",
9900	//   "request": {
9901	//     "$ref": "AnnotationStore"
9902	//   },
9903	//   "response": {
9904	//     "$ref": "AnnotationStore"
9905	//   },
9906	//   "scopes": [
9907	//     "https://www.googleapis.com/auth/cloud-platform"
9908	//   ]
9909	// }
9910
9911}
9912
9913// method id "healthcare.projects.locations.datasets.annotationStores.setIamPolicy":
9914
9915type ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall struct {
9916	s                   *Service
9917	resource            string
9918	setiampolicyrequest *SetIamPolicyRequest
9919	urlParams_          gensupport.URLParams
9920	ctx_                context.Context
9921	header_             http.Header
9922}
9923
9924// SetIamPolicy: Sets the access control policy on the specified
9925// resource. Replaces any existing policy. Can return `NOT_FOUND`,
9926// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
9927//
9928// - resource: REQUIRED: The resource for which the policy is being
9929//   specified. See the operation documentation for the appropriate
9930//   value for this field.
9931func (r *ProjectsLocationsDatasetsAnnotationStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9932	c := &ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9933	c.resource = resource
9934	c.setiampolicyrequest = setiampolicyrequest
9935	return c
9936}
9937
9938// Fields allows partial responses to be retrieved. See
9939// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9940// for more information.
9941func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9942	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9943	return c
9944}
9945
9946// Context sets the context to be used in this call's Do method. Any
9947// pending HTTP request will be aborted if the provided context is
9948// canceled.
9949func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
9950	c.ctx_ = ctx
9951	return c
9952}
9953
9954// Header returns an http.Header that can be modified by the caller to
9955// add HTTP headers to the request.
9956func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Header() http.Header {
9957	if c.header_ == nil {
9958		c.header_ = make(http.Header)
9959	}
9960	return c.header_
9961}
9962
9963func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9964	reqHeaders := make(http.Header)
9965	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9966	for k, v := range c.header_ {
9967		reqHeaders[k] = v
9968	}
9969	reqHeaders.Set("User-Agent", c.s.userAgent())
9970	var body io.Reader = nil
9971	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
9972	if err != nil {
9973		return nil, err
9974	}
9975	reqHeaders.Set("Content-Type", "application/json")
9976	c.urlParams_.Set("alt", alt)
9977	c.urlParams_.Set("prettyPrint", "false")
9978	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
9979	urls += "?" + c.urlParams_.Encode()
9980	req, err := http.NewRequest("POST", urls, body)
9981	if err != nil {
9982		return nil, err
9983	}
9984	req.Header = reqHeaders
9985	googleapi.Expand(req.URL, map[string]string{
9986		"resource": c.resource,
9987	})
9988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9989}
9990
9991// Do executes the "healthcare.projects.locations.datasets.annotationStores.setIamPolicy" call.
9992// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9993// code is an error. Response headers are in either
9994// *Policy.ServerResponse.Header or (if a response was returned at all)
9995// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9996// check whether the returned error was because http.StatusNotModified
9997// was returned.
9998func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9999	gensupport.SetOptions(c.urlParams_, opts...)
10000	res, err := c.doRequest("json")
10001	if res != nil && res.StatusCode == http.StatusNotModified {
10002		if res.Body != nil {
10003			res.Body.Close()
10004		}
10005		return nil, &googleapi.Error{
10006			Code:   res.StatusCode,
10007			Header: res.Header,
10008		}
10009	}
10010	if err != nil {
10011		return nil, err
10012	}
10013	defer googleapi.CloseBody(res)
10014	if err := googleapi.CheckResponse(res); err != nil {
10015		return nil, err
10016	}
10017	ret := &Policy{
10018		ServerResponse: googleapi.ServerResponse{
10019			Header:         res.Header,
10020			HTTPStatusCode: res.StatusCode,
10021		},
10022	}
10023	target := &ret
10024	if err := gensupport.DecodeResponse(target, res); err != nil {
10025		return nil, err
10026	}
10027	return ret, nil
10028	// {
10029	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
10030	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy",
10031	//   "httpMethod": "POST",
10032	//   "id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy",
10033	//   "parameterOrder": [
10034	//     "resource"
10035	//   ],
10036	//   "parameters": {
10037	//     "resource": {
10038	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
10039	//       "location": "path",
10040	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10041	//       "required": true,
10042	//       "type": "string"
10043	//     }
10044	//   },
10045	//   "path": "v1beta1/{+resource}:setIamPolicy",
10046	//   "request": {
10047	//     "$ref": "SetIamPolicyRequest"
10048	//   },
10049	//   "response": {
10050	//     "$ref": "Policy"
10051	//   },
10052	//   "scopes": [
10053	//     "https://www.googleapis.com/auth/cloud-platform"
10054	//   ]
10055	// }
10056
10057}
10058
10059// method id "healthcare.projects.locations.datasets.annotationStores.testIamPermissions":
10060
10061type ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall struct {
10062	s                         *Service
10063	resource                  string
10064	testiampermissionsrequest *TestIamPermissionsRequest
10065	urlParams_                gensupport.URLParams
10066	ctx_                      context.Context
10067	header_                   http.Header
10068}
10069
10070// TestIamPermissions: Returns permissions that a caller has on the
10071// specified resource. If the resource does not exist, this will return
10072// an empty set of permissions, not a `NOT_FOUND` error. Note: This
10073// operation is designed to be used for building permission-aware UIs
10074// and command-line tools, not for authorization checking. This
10075// operation may "fail open" without warning.
10076//
10077// - resource: REQUIRED: The resource for which the policy detail is
10078//   being requested. See the operation documentation for the
10079//   appropriate value for this field.
10080func (r *ProjectsLocationsDatasetsAnnotationStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10081	c := &ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10082	c.resource = resource
10083	c.testiampermissionsrequest = testiampermissionsrequest
10084	return c
10085}
10086
10087// Fields allows partial responses to be retrieved. See
10088// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10089// for more information.
10090func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10091	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10092	return c
10093}
10094
10095// Context sets the context to be used in this call's Do method. Any
10096// pending HTTP request will be aborted if the provided context is
10097// canceled.
10098func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10099	c.ctx_ = ctx
10100	return c
10101}
10102
10103// Header returns an http.Header that can be modified by the caller to
10104// add HTTP headers to the request.
10105func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Header() http.Header {
10106	if c.header_ == nil {
10107		c.header_ = make(http.Header)
10108	}
10109	return c.header_
10110}
10111
10112func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10113	reqHeaders := make(http.Header)
10114	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10115	for k, v := range c.header_ {
10116		reqHeaders[k] = v
10117	}
10118	reqHeaders.Set("User-Agent", c.s.userAgent())
10119	var body io.Reader = nil
10120	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
10121	if err != nil {
10122		return nil, err
10123	}
10124	reqHeaders.Set("Content-Type", "application/json")
10125	c.urlParams_.Set("alt", alt)
10126	c.urlParams_.Set("prettyPrint", "false")
10127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
10128	urls += "?" + c.urlParams_.Encode()
10129	req, err := http.NewRequest("POST", urls, body)
10130	if err != nil {
10131		return nil, err
10132	}
10133	req.Header = reqHeaders
10134	googleapi.Expand(req.URL, map[string]string{
10135		"resource": c.resource,
10136	})
10137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10138}
10139
10140// Do executes the "healthcare.projects.locations.datasets.annotationStores.testIamPermissions" call.
10141// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
10142// Any non-2xx status code is an error. Response headers are in either
10143// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
10144// was returned at all) in error.(*googleapi.Error).Header. Use
10145// googleapi.IsNotModified to check whether the returned error was
10146// because http.StatusNotModified was returned.
10147func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
10148	gensupport.SetOptions(c.urlParams_, opts...)
10149	res, err := c.doRequest("json")
10150	if res != nil && res.StatusCode == http.StatusNotModified {
10151		if res.Body != nil {
10152			res.Body.Close()
10153		}
10154		return nil, &googleapi.Error{
10155			Code:   res.StatusCode,
10156			Header: res.Header,
10157		}
10158	}
10159	if err != nil {
10160		return nil, err
10161	}
10162	defer googleapi.CloseBody(res)
10163	if err := googleapi.CheckResponse(res); err != nil {
10164		return nil, err
10165	}
10166	ret := &TestIamPermissionsResponse{
10167		ServerResponse: googleapi.ServerResponse{
10168			Header:         res.Header,
10169			HTTPStatusCode: res.StatusCode,
10170		},
10171	}
10172	target := &ret
10173	if err := gensupport.DecodeResponse(target, res); err != nil {
10174		return nil, err
10175	}
10176	return ret, nil
10177	// {
10178	//   "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.",
10179	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions",
10180	//   "httpMethod": "POST",
10181	//   "id": "healthcare.projects.locations.datasets.annotationStores.testIamPermissions",
10182	//   "parameterOrder": [
10183	//     "resource"
10184	//   ],
10185	//   "parameters": {
10186	//     "resource": {
10187	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10188	//       "location": "path",
10189	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10190	//       "required": true,
10191	//       "type": "string"
10192	//     }
10193	//   },
10194	//   "path": "v1beta1/{+resource}:testIamPermissions",
10195	//   "request": {
10196	//     "$ref": "TestIamPermissionsRequest"
10197	//   },
10198	//   "response": {
10199	//     "$ref": "TestIamPermissionsResponse"
10200	//   },
10201	//   "scopes": [
10202	//     "https://www.googleapis.com/auth/cloud-platform"
10203	//   ]
10204	// }
10205
10206}
10207
10208// method id "healthcare.projects.locations.datasets.annotationStores.annotations.create":
10209
10210type ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall struct {
10211	s          *Service
10212	parent     string
10213	annotation *Annotation
10214	urlParams_ gensupport.URLParams
10215	ctx_       context.Context
10216	header_    http.Header
10217}
10218
10219// Create: Creates a new Annotation record. It is valid to create
10220// Annotation objects for the same source more than once since a unique
10221// ID is assigned to each record by this service.
10222//
10223// - parent: The name of the Annotation store this annotation belongs
10224//   to. For example,
10225//   `projects/my-project/locations/us-central1/datasets/mydataset/annota
10226//   tionStores/myannotationstore`.
10227func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Create(parent string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10228	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10229	c.parent = parent
10230	c.annotation = annotation
10231	return c
10232}
10233
10234// Fields allows partial responses to be retrieved. See
10235// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10236// for more information.
10237func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10238	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10239	return c
10240}
10241
10242// Context sets the context to be used in this call's Do method. Any
10243// pending HTTP request will be aborted if the provided context is
10244// canceled.
10245func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10246	c.ctx_ = ctx
10247	return c
10248}
10249
10250// Header returns an http.Header that can be modified by the caller to
10251// add HTTP headers to the request.
10252func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Header() http.Header {
10253	if c.header_ == nil {
10254		c.header_ = make(http.Header)
10255	}
10256	return c.header_
10257}
10258
10259func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) doRequest(alt string) (*http.Response, error) {
10260	reqHeaders := make(http.Header)
10261	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10262	for k, v := range c.header_ {
10263		reqHeaders[k] = v
10264	}
10265	reqHeaders.Set("User-Agent", c.s.userAgent())
10266	var body io.Reader = nil
10267	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10268	if err != nil {
10269		return nil, err
10270	}
10271	reqHeaders.Set("Content-Type", "application/json")
10272	c.urlParams_.Set("alt", alt)
10273	c.urlParams_.Set("prettyPrint", "false")
10274	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10275	urls += "?" + c.urlParams_.Encode()
10276	req, err := http.NewRequest("POST", urls, body)
10277	if err != nil {
10278		return nil, err
10279	}
10280	req.Header = reqHeaders
10281	googleapi.Expand(req.URL, map[string]string{
10282		"parent": c.parent,
10283	})
10284	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10285}
10286
10287// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.create" call.
10288// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10289// status code is an error. Response headers are in either
10290// *Annotation.ServerResponse.Header or (if a response was returned at
10291// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10292// to check whether the returned error was because
10293// http.StatusNotModified was returned.
10294func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10295	gensupport.SetOptions(c.urlParams_, opts...)
10296	res, err := c.doRequest("json")
10297	if res != nil && res.StatusCode == http.StatusNotModified {
10298		if res.Body != nil {
10299			res.Body.Close()
10300		}
10301		return nil, &googleapi.Error{
10302			Code:   res.StatusCode,
10303			Header: res.Header,
10304		}
10305	}
10306	if err != nil {
10307		return nil, err
10308	}
10309	defer googleapi.CloseBody(res)
10310	if err := googleapi.CheckResponse(res); err != nil {
10311		return nil, err
10312	}
10313	ret := &Annotation{
10314		ServerResponse: googleapi.ServerResponse{
10315			Header:         res.Header,
10316			HTTPStatusCode: res.StatusCode,
10317		},
10318	}
10319	target := &ret
10320	if err := gensupport.DecodeResponse(target, res); err != nil {
10321		return nil, err
10322	}
10323	return ret, nil
10324	// {
10325	//   "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.",
10326	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10327	//   "httpMethod": "POST",
10328	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.create",
10329	//   "parameterOrder": [
10330	//     "parent"
10331	//   ],
10332	//   "parameters": {
10333	//     "parent": {
10334	//       "description": "The name of the Annotation store this annotation belongs to. For example, `projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.",
10335	//       "location": "path",
10336	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10337	//       "required": true,
10338	//       "type": "string"
10339	//     }
10340	//   },
10341	//   "path": "v1beta1/{+parent}/annotations",
10342	//   "request": {
10343	//     "$ref": "Annotation"
10344	//   },
10345	//   "response": {
10346	//     "$ref": "Annotation"
10347	//   },
10348	//   "scopes": [
10349	//     "https://www.googleapis.com/auth/cloud-platform"
10350	//   ]
10351	// }
10352
10353}
10354
10355// method id "healthcare.projects.locations.datasets.annotationStores.annotations.delete":
10356
10357type ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall struct {
10358	s          *Service
10359	name       string
10360	urlParams_ gensupport.URLParams
10361	ctx_       context.Context
10362	header_    http.Header
10363}
10364
10365// Delete: Deletes an Annotation or returns NOT_FOUND if it does not
10366// exist.
10367//
10368// - name: The resource name of the Annotation to delete.
10369func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10370	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10371	c.name = name
10372	return c
10373}
10374
10375// Fields allows partial responses to be retrieved. See
10376// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10377// for more information.
10378func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10379	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10380	return c
10381}
10382
10383// Context sets the context to be used in this call's Do method. Any
10384// pending HTTP request will be aborted if the provided context is
10385// canceled.
10386func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10387	c.ctx_ = ctx
10388	return c
10389}
10390
10391// Header returns an http.Header that can be modified by the caller to
10392// add HTTP headers to the request.
10393func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Header() http.Header {
10394	if c.header_ == nil {
10395		c.header_ = make(http.Header)
10396	}
10397	return c.header_
10398}
10399
10400func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
10401	reqHeaders := make(http.Header)
10402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10403	for k, v := range c.header_ {
10404		reqHeaders[k] = v
10405	}
10406	reqHeaders.Set("User-Agent", c.s.userAgent())
10407	var body io.Reader = nil
10408	c.urlParams_.Set("alt", alt)
10409	c.urlParams_.Set("prettyPrint", "false")
10410	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10411	urls += "?" + c.urlParams_.Encode()
10412	req, err := http.NewRequest("DELETE", urls, body)
10413	if err != nil {
10414		return nil, err
10415	}
10416	req.Header = reqHeaders
10417	googleapi.Expand(req.URL, map[string]string{
10418		"name": c.name,
10419	})
10420	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10421}
10422
10423// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.delete" call.
10424// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10425// code is an error. Response headers are in either
10426// *Empty.ServerResponse.Header or (if a response was returned at all)
10427// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10428// check whether the returned error was because http.StatusNotModified
10429// was returned.
10430func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10431	gensupport.SetOptions(c.urlParams_, opts...)
10432	res, err := c.doRequest("json")
10433	if res != nil && res.StatusCode == http.StatusNotModified {
10434		if res.Body != nil {
10435			res.Body.Close()
10436		}
10437		return nil, &googleapi.Error{
10438			Code:   res.StatusCode,
10439			Header: res.Header,
10440		}
10441	}
10442	if err != nil {
10443		return nil, err
10444	}
10445	defer googleapi.CloseBody(res)
10446	if err := googleapi.CheckResponse(res); err != nil {
10447		return nil, err
10448	}
10449	ret := &Empty{
10450		ServerResponse: googleapi.ServerResponse{
10451			Header:         res.Header,
10452			HTTPStatusCode: res.StatusCode,
10453		},
10454	}
10455	target := &ret
10456	if err := gensupport.DecodeResponse(target, res); err != nil {
10457		return nil, err
10458	}
10459	return ret, nil
10460	// {
10461	//   "description": "Deletes an Annotation or returns NOT_FOUND if it does not exist.",
10462	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10463	//   "httpMethod": "DELETE",
10464	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete",
10465	//   "parameterOrder": [
10466	//     "name"
10467	//   ],
10468	//   "parameters": {
10469	//     "name": {
10470	//       "description": "The resource name of the Annotation to delete.",
10471	//       "location": "path",
10472	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10473	//       "required": true,
10474	//       "type": "string"
10475	//     }
10476	//   },
10477	//   "path": "v1beta1/{+name}",
10478	//   "response": {
10479	//     "$ref": "Empty"
10480	//   },
10481	//   "scopes": [
10482	//     "https://www.googleapis.com/auth/cloud-platform"
10483	//   ]
10484	// }
10485
10486}
10487
10488// method id "healthcare.projects.locations.datasets.annotationStores.annotations.get":
10489
10490type ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall struct {
10491	s            *Service
10492	name         string
10493	urlParams_   gensupport.URLParams
10494	ifNoneMatch_ string
10495	ctx_         context.Context
10496	header_      http.Header
10497}
10498
10499// Get: Gets an Annotation.
10500//
10501// - name: The resource name of the Annotation to retrieve.
10502func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10503	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10504	c.name = name
10505	return c
10506}
10507
10508// Fields allows partial responses to be retrieved. See
10509// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10510// for more information.
10511func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10512	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10513	return c
10514}
10515
10516// IfNoneMatch sets the optional parameter which makes the operation
10517// fail if the object's ETag matches the given value. This is useful for
10518// getting updates only after the object has changed since the last
10519// request. Use googleapi.IsNotModified to check whether the response
10520// error from Do is the result of In-None-Match.
10521func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10522	c.ifNoneMatch_ = entityTag
10523	return c
10524}
10525
10526// Context sets the context to be used in this call's Do method. Any
10527// pending HTTP request will be aborted if the provided context is
10528// canceled.
10529func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10530	c.ctx_ = ctx
10531	return c
10532}
10533
10534// Header returns an http.Header that can be modified by the caller to
10535// add HTTP headers to the request.
10536func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Header() http.Header {
10537	if c.header_ == nil {
10538		c.header_ = make(http.Header)
10539	}
10540	return c.header_
10541}
10542
10543func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
10544	reqHeaders := make(http.Header)
10545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10546	for k, v := range c.header_ {
10547		reqHeaders[k] = v
10548	}
10549	reqHeaders.Set("User-Agent", c.s.userAgent())
10550	if c.ifNoneMatch_ != "" {
10551		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10552	}
10553	var body io.Reader = nil
10554	c.urlParams_.Set("alt", alt)
10555	c.urlParams_.Set("prettyPrint", "false")
10556	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10557	urls += "?" + c.urlParams_.Encode()
10558	req, err := http.NewRequest("GET", urls, body)
10559	if err != nil {
10560		return nil, err
10561	}
10562	req.Header = reqHeaders
10563	googleapi.Expand(req.URL, map[string]string{
10564		"name": c.name,
10565	})
10566	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10567}
10568
10569// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.get" call.
10570// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10571// status code is an error. Response headers are in either
10572// *Annotation.ServerResponse.Header or (if a response was returned at
10573// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10574// to check whether the returned error was because
10575// http.StatusNotModified was returned.
10576func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10577	gensupport.SetOptions(c.urlParams_, opts...)
10578	res, err := c.doRequest("json")
10579	if res != nil && res.StatusCode == http.StatusNotModified {
10580		if res.Body != nil {
10581			res.Body.Close()
10582		}
10583		return nil, &googleapi.Error{
10584			Code:   res.StatusCode,
10585			Header: res.Header,
10586		}
10587	}
10588	if err != nil {
10589		return nil, err
10590	}
10591	defer googleapi.CloseBody(res)
10592	if err := googleapi.CheckResponse(res); err != nil {
10593		return nil, err
10594	}
10595	ret := &Annotation{
10596		ServerResponse: googleapi.ServerResponse{
10597			Header:         res.Header,
10598			HTTPStatusCode: res.StatusCode,
10599		},
10600	}
10601	target := &ret
10602	if err := gensupport.DecodeResponse(target, res); err != nil {
10603		return nil, err
10604	}
10605	return ret, nil
10606	// {
10607	//   "description": "Gets an Annotation.",
10608	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10609	//   "httpMethod": "GET",
10610	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.get",
10611	//   "parameterOrder": [
10612	//     "name"
10613	//   ],
10614	//   "parameters": {
10615	//     "name": {
10616	//       "description": "The resource name of the Annotation to retrieve.",
10617	//       "location": "path",
10618	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10619	//       "required": true,
10620	//       "type": "string"
10621	//     }
10622	//   },
10623	//   "path": "v1beta1/{+name}",
10624	//   "response": {
10625	//     "$ref": "Annotation"
10626	//   },
10627	//   "scopes": [
10628	//     "https://www.googleapis.com/auth/cloud-platform"
10629	//   ]
10630	// }
10631
10632}
10633
10634// method id "healthcare.projects.locations.datasets.annotationStores.annotations.list":
10635
10636type ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall struct {
10637	s            *Service
10638	parent       string
10639	urlParams_   gensupport.URLParams
10640	ifNoneMatch_ string
10641	ctx_         context.Context
10642	header_      http.Header
10643}
10644
10645// List: Lists the Annotations in the given Annotation store for a
10646// source resource.
10647//
10648// - parent: Name of the Annotation store to retrieve Annotations from.
10649func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10650	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10651	c.parent = parent
10652	return c
10653}
10654
10655// Filter sets the optional parameter "filter": Restricts Annotations
10656// returned to those matching a filter. Functions available for
10657// filtering are: -
10658// `matches("annotation_source.cloud_healthcare_source.name",
10659// substring)`. Filter on `cloud_healthcare_source.name`. For example:
10660// `matches("annotation_source.cloud_healthcare_source.name", "some
10661// source")`. - `matches("annotation", substring)`. Filter on all fields
10662// of annotation. For example: `matches("annotation", "some-content")`.
10663// - `type("text")`, `type("image")`, `type("resource")`. Filter on the
10664// type of annotation `data`.
10665func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10666	c.urlParams_.Set("filter", filter)
10667	return c
10668}
10669
10670// PageSize sets the optional parameter "pageSize": Limit on the number
10671// of Annotations to return in a single response. If not specified, 100
10672// is used. May not be larger than 1000.
10673func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10674	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10675	return c
10676}
10677
10678// PageToken sets the optional parameter "pageToken": The
10679// next_page_token value returned from the previous List request, if
10680// any.
10681func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10682	c.urlParams_.Set("pageToken", pageToken)
10683	return c
10684}
10685
10686// View sets the optional parameter "view": Controls which fields are
10687// populated in the response.
10688//
10689// Possible values:
10690//   "ANNOTATION_VIEW_UNSPECIFIED" - Same as BASIC.
10691//   "ANNOTATION_VIEW_BASIC" - Only `name`, `annotation_source` and
10692// `custom_data` fields are populated.
10693//   "ANNOTATION_VIEW_FULL" - All fields are populated.
10694func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) View(view string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10695	c.urlParams_.Set("view", view)
10696	return c
10697}
10698
10699// Fields allows partial responses to be retrieved. See
10700// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10701// for more information.
10702func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10703	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10704	return c
10705}
10706
10707// IfNoneMatch sets the optional parameter which makes the operation
10708// fail if the object's ETag matches the given value. This is useful for
10709// getting updates only after the object has changed since the last
10710// request. Use googleapi.IsNotModified to check whether the response
10711// error from Do is the result of In-None-Match.
10712func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10713	c.ifNoneMatch_ = entityTag
10714	return c
10715}
10716
10717// Context sets the context to be used in this call's Do method. Any
10718// pending HTTP request will be aborted if the provided context is
10719// canceled.
10720func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10721	c.ctx_ = ctx
10722	return c
10723}
10724
10725// Header returns an http.Header that can be modified by the caller to
10726// add HTTP headers to the request.
10727func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Header() http.Header {
10728	if c.header_ == nil {
10729		c.header_ = make(http.Header)
10730	}
10731	return c.header_
10732}
10733
10734func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
10735	reqHeaders := make(http.Header)
10736	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10737	for k, v := range c.header_ {
10738		reqHeaders[k] = v
10739	}
10740	reqHeaders.Set("User-Agent", c.s.userAgent())
10741	if c.ifNoneMatch_ != "" {
10742		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10743	}
10744	var body io.Reader = nil
10745	c.urlParams_.Set("alt", alt)
10746	c.urlParams_.Set("prettyPrint", "false")
10747	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10748	urls += "?" + c.urlParams_.Encode()
10749	req, err := http.NewRequest("GET", urls, body)
10750	if err != nil {
10751		return nil, err
10752	}
10753	req.Header = reqHeaders
10754	googleapi.Expand(req.URL, map[string]string{
10755		"parent": c.parent,
10756	})
10757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10758}
10759
10760// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.list" call.
10761// Exactly one of *ListAnnotationsResponse or error will be non-nil. Any
10762// non-2xx status code is an error. Response headers are in either
10763// *ListAnnotationsResponse.ServerResponse.Header or (if a response was
10764// returned at all) in error.(*googleapi.Error).Header. Use
10765// googleapi.IsNotModified to check whether the returned error was
10766// because http.StatusNotModified was returned.
10767func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationsResponse, error) {
10768	gensupport.SetOptions(c.urlParams_, opts...)
10769	res, err := c.doRequest("json")
10770	if res != nil && res.StatusCode == http.StatusNotModified {
10771		if res.Body != nil {
10772			res.Body.Close()
10773		}
10774		return nil, &googleapi.Error{
10775			Code:   res.StatusCode,
10776			Header: res.Header,
10777		}
10778	}
10779	if err != nil {
10780		return nil, err
10781	}
10782	defer googleapi.CloseBody(res)
10783	if err := googleapi.CheckResponse(res); err != nil {
10784		return nil, err
10785	}
10786	ret := &ListAnnotationsResponse{
10787		ServerResponse: googleapi.ServerResponse{
10788			Header:         res.Header,
10789			HTTPStatusCode: res.StatusCode,
10790		},
10791	}
10792	target := &ret
10793	if err := gensupport.DecodeResponse(target, res); err != nil {
10794		return nil, err
10795	}
10796	return ret, nil
10797	// {
10798	//   "description": "Lists the Annotations in the given Annotation store for a source resource.",
10799	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10800	//   "httpMethod": "GET",
10801	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.list",
10802	//   "parameterOrder": [
10803	//     "parent"
10804	//   ],
10805	//   "parameters": {
10806	//     "filter": {
10807	//       "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`.",
10808	//       "location": "query",
10809	//       "type": "string"
10810	//     },
10811	//     "pageSize": {
10812	//       "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.",
10813	//       "format": "int32",
10814	//       "location": "query",
10815	//       "type": "integer"
10816	//     },
10817	//     "pageToken": {
10818	//       "description": "The next_page_token value returned from the previous List request, if any.",
10819	//       "location": "query",
10820	//       "type": "string"
10821	//     },
10822	//     "parent": {
10823	//       "description": "Name of the Annotation store to retrieve Annotations from.",
10824	//       "location": "path",
10825	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10826	//       "required": true,
10827	//       "type": "string"
10828	//     },
10829	//     "view": {
10830	//       "description": "Controls which fields are populated in the response.",
10831	//       "enum": [
10832	//         "ANNOTATION_VIEW_UNSPECIFIED",
10833	//         "ANNOTATION_VIEW_BASIC",
10834	//         "ANNOTATION_VIEW_FULL"
10835	//       ],
10836	//       "enumDescriptions": [
10837	//         "Same as BASIC.",
10838	//         "Only `name`, `annotation_source` and `custom_data` fields are populated.",
10839	//         "All fields are populated."
10840	//       ],
10841	//       "location": "query",
10842	//       "type": "string"
10843	//     }
10844	//   },
10845	//   "path": "v1beta1/{+parent}/annotations",
10846	//   "response": {
10847	//     "$ref": "ListAnnotationsResponse"
10848	//   },
10849	//   "scopes": [
10850	//     "https://www.googleapis.com/auth/cloud-platform"
10851	//   ]
10852	// }
10853
10854}
10855
10856// Pages invokes f for each page of results.
10857// A non-nil error returned from f will halt the iteration.
10858// The provided context supersedes any context provided to the Context method.
10859func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Pages(ctx context.Context, f func(*ListAnnotationsResponse) error) error {
10860	c.ctx_ = ctx
10861	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10862	for {
10863		x, err := c.Do()
10864		if err != nil {
10865			return err
10866		}
10867		if err := f(x); err != nil {
10868			return err
10869		}
10870		if x.NextPageToken == "" {
10871			return nil
10872		}
10873		c.PageToken(x.NextPageToken)
10874	}
10875}
10876
10877// method id "healthcare.projects.locations.datasets.annotationStores.annotations.patch":
10878
10879type ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall struct {
10880	s          *Service
10881	name       string
10882	annotation *Annotation
10883	urlParams_ gensupport.URLParams
10884	ctx_       context.Context
10885	header_    http.Header
10886}
10887
10888// Patch: Updates the Annotation.
10889//
10890// - name: Resource name of the Annotation, of the form
10891//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
10892//   /annotationStores/{annotation_store_id}/annotations/{annotation_id}`
10893//   .
10894func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Patch(name string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10895	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10896	c.name = name
10897	c.annotation = annotation
10898	return c
10899}
10900
10901// UpdateMask sets the optional parameter "updateMask": The update mask
10902// applies to the resource. For the `FieldMask` definition, see
10903// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
10904func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10905	c.urlParams_.Set("updateMask", updateMask)
10906	return c
10907}
10908
10909// Fields allows partial responses to be retrieved. See
10910// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10911// for more information.
10912func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10913	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10914	return c
10915}
10916
10917// Context sets the context to be used in this call's Do method. Any
10918// pending HTTP request will be aborted if the provided context is
10919// canceled.
10920func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
10921	c.ctx_ = ctx
10922	return c
10923}
10924
10925// Header returns an http.Header that can be modified by the caller to
10926// add HTTP headers to the request.
10927func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Header() http.Header {
10928	if c.header_ == nil {
10929		c.header_ = make(http.Header)
10930	}
10931	return c.header_
10932}
10933
10934func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) doRequest(alt string) (*http.Response, error) {
10935	reqHeaders := make(http.Header)
10936	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10937	for k, v := range c.header_ {
10938		reqHeaders[k] = v
10939	}
10940	reqHeaders.Set("User-Agent", c.s.userAgent())
10941	var body io.Reader = nil
10942	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10943	if err != nil {
10944		return nil, err
10945	}
10946	reqHeaders.Set("Content-Type", "application/json")
10947	c.urlParams_.Set("alt", alt)
10948	c.urlParams_.Set("prettyPrint", "false")
10949	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10950	urls += "?" + c.urlParams_.Encode()
10951	req, err := http.NewRequest("PATCH", urls, body)
10952	if err != nil {
10953		return nil, err
10954	}
10955	req.Header = reqHeaders
10956	googleapi.Expand(req.URL, map[string]string{
10957		"name": c.name,
10958	})
10959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10960}
10961
10962// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.patch" call.
10963// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10964// status code is an error. Response headers are in either
10965// *Annotation.ServerResponse.Header or (if a response was returned at
10966// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10967// to check whether the returned error was because
10968// http.StatusNotModified was returned.
10969func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10970	gensupport.SetOptions(c.urlParams_, opts...)
10971	res, err := c.doRequest("json")
10972	if res != nil && res.StatusCode == http.StatusNotModified {
10973		if res.Body != nil {
10974			res.Body.Close()
10975		}
10976		return nil, &googleapi.Error{
10977			Code:   res.StatusCode,
10978			Header: res.Header,
10979		}
10980	}
10981	if err != nil {
10982		return nil, err
10983	}
10984	defer googleapi.CloseBody(res)
10985	if err := googleapi.CheckResponse(res); err != nil {
10986		return nil, err
10987	}
10988	ret := &Annotation{
10989		ServerResponse: googleapi.ServerResponse{
10990			Header:         res.Header,
10991			HTTPStatusCode: res.StatusCode,
10992		},
10993	}
10994	target := &ret
10995	if err := gensupport.DecodeResponse(target, res); err != nil {
10996		return nil, err
10997	}
10998	return ret, nil
10999	// {
11000	//   "description": "Updates the Annotation.",
11001	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
11002	//   "httpMethod": "PATCH",
11003	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch",
11004	//   "parameterOrder": [
11005	//     "name"
11006	//   ],
11007	//   "parameters": {
11008	//     "name": {
11009	//       "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}`.",
11010	//       "location": "path",
11011	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
11012	//       "required": true,
11013	//       "type": "string"
11014	//     },
11015	//     "updateMask": {
11016	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
11017	//       "format": "google-fieldmask",
11018	//       "location": "query",
11019	//       "type": "string"
11020	//     }
11021	//   },
11022	//   "path": "v1beta1/{+name}",
11023	//   "request": {
11024	//     "$ref": "Annotation"
11025	//   },
11026	//   "response": {
11027	//     "$ref": "Annotation"
11028	//   },
11029	//   "scopes": [
11030	//     "https://www.googleapis.com/auth/cloud-platform"
11031	//   ]
11032	// }
11033
11034}
11035
11036// method id "healthcare.projects.locations.datasets.consentStores.checkDataAccess":
11037
11038type ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall struct {
11039	s                      *Service
11040	consentStore           string
11041	checkdataaccessrequest *CheckDataAccessRequest
11042	urlParams_             gensupport.URLParams
11043	ctx_                   context.Context
11044	header_                http.Header
11045}
11046
11047// CheckDataAccess: Checks if a particular data_id of a User data
11048// mapping in the specified consent store is consented for the specified
11049// use.
11050//
11051// - consentStore: Name of the consent store where the requested data_id
11052//   is stored, of the form
11053//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
11054//   /consentStores/{consent_store_id}`.
11055func (r *ProjectsLocationsDatasetsConsentStoresService) CheckDataAccess(consentStore string, checkdataaccessrequest *CheckDataAccessRequest) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11056	c := &ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11057	c.consentStore = consentStore
11058	c.checkdataaccessrequest = checkdataaccessrequest
11059	return c
11060}
11061
11062// Fields allows partial responses to be retrieved. See
11063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11064// for more information.
11065func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11067	return c
11068}
11069
11070// Context sets the context to be used in this call's Do method. Any
11071// pending HTTP request will be aborted if the provided context is
11072// canceled.
11073func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11074	c.ctx_ = ctx
11075	return c
11076}
11077
11078// Header returns an http.Header that can be modified by the caller to
11079// add HTTP headers to the request.
11080func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Header() http.Header {
11081	if c.header_ == nil {
11082		c.header_ = make(http.Header)
11083	}
11084	return c.header_
11085}
11086
11087func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) doRequest(alt string) (*http.Response, error) {
11088	reqHeaders := make(http.Header)
11089	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11090	for k, v := range c.header_ {
11091		reqHeaders[k] = v
11092	}
11093	reqHeaders.Set("User-Agent", c.s.userAgent())
11094	var body io.Reader = nil
11095	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkdataaccessrequest)
11096	if err != nil {
11097		return nil, err
11098	}
11099	reqHeaders.Set("Content-Type", "application/json")
11100	c.urlParams_.Set("alt", alt)
11101	c.urlParams_.Set("prettyPrint", "false")
11102	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:checkDataAccess")
11103	urls += "?" + c.urlParams_.Encode()
11104	req, err := http.NewRequest("POST", urls, body)
11105	if err != nil {
11106		return nil, err
11107	}
11108	req.Header = reqHeaders
11109	googleapi.Expand(req.URL, map[string]string{
11110		"consentStore": c.consentStore,
11111	})
11112	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11113}
11114
11115// Do executes the "healthcare.projects.locations.datasets.consentStores.checkDataAccess" call.
11116// Exactly one of *CheckDataAccessResponse or error will be non-nil. Any
11117// non-2xx status code is an error. Response headers are in either
11118// *CheckDataAccessResponse.ServerResponse.Header or (if a response was
11119// returned at all) in error.(*googleapi.Error).Header. Use
11120// googleapi.IsNotModified to check whether the returned error was
11121// because http.StatusNotModified was returned.
11122func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Do(opts ...googleapi.CallOption) (*CheckDataAccessResponse, error) {
11123	gensupport.SetOptions(c.urlParams_, opts...)
11124	res, err := c.doRequest("json")
11125	if res != nil && res.StatusCode == http.StatusNotModified {
11126		if res.Body != nil {
11127			res.Body.Close()
11128		}
11129		return nil, &googleapi.Error{
11130			Code:   res.StatusCode,
11131			Header: res.Header,
11132		}
11133	}
11134	if err != nil {
11135		return nil, err
11136	}
11137	defer googleapi.CloseBody(res)
11138	if err := googleapi.CheckResponse(res); err != nil {
11139		return nil, err
11140	}
11141	ret := &CheckDataAccessResponse{
11142		ServerResponse: googleapi.ServerResponse{
11143			Header:         res.Header,
11144			HTTPStatusCode: res.StatusCode,
11145		},
11146	}
11147	target := &ret
11148	if err := gensupport.DecodeResponse(target, res); err != nil {
11149		return nil, err
11150	}
11151	return ret, nil
11152	// {
11153	//   "description": "Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.",
11154	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess",
11155	//   "httpMethod": "POST",
11156	//   "id": "healthcare.projects.locations.datasets.consentStores.checkDataAccess",
11157	//   "parameterOrder": [
11158	//     "consentStore"
11159	//   ],
11160	//   "parameters": {
11161	//     "consentStore": {
11162	//       "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}`.",
11163	//       "location": "path",
11164	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11165	//       "required": true,
11166	//       "type": "string"
11167	//     }
11168	//   },
11169	//   "path": "v1beta1/{+consentStore}:checkDataAccess",
11170	//   "request": {
11171	//     "$ref": "CheckDataAccessRequest"
11172	//   },
11173	//   "response": {
11174	//     "$ref": "CheckDataAccessResponse"
11175	//   },
11176	//   "scopes": [
11177	//     "https://www.googleapis.com/auth/cloud-platform"
11178	//   ]
11179	// }
11180
11181}
11182
11183// method id "healthcare.projects.locations.datasets.consentStores.create":
11184
11185type ProjectsLocationsDatasetsConsentStoresCreateCall struct {
11186	s            *Service
11187	parent       string
11188	consentstore *ConsentStore
11189	urlParams_   gensupport.URLParams
11190	ctx_         context.Context
11191	header_      http.Header
11192}
11193
11194// Create: Creates a new consent store in the parent dataset. Attempting
11195// to create a consent store with the same ID as an existing store fails
11196// with an ALREADY_EXISTS error.
11197//
11198// - parent: The name of the dataset this consent store belongs to.
11199func (r *ProjectsLocationsDatasetsConsentStoresService) Create(parent string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11200	c := &ProjectsLocationsDatasetsConsentStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11201	c.parent = parent
11202	c.consentstore = consentstore
11203	return c
11204}
11205
11206// ConsentStoreId sets the optional parameter "consentStoreId":
11207// Required. The ID of the consent store to create. The string must
11208// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`. Cannot be
11209// changed after creation.
11210func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) ConsentStoreId(consentStoreId string) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11211	c.urlParams_.Set("consentStoreId", consentStoreId)
11212	return c
11213}
11214
11215// Fields allows partial responses to be retrieved. See
11216// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11217// for more information.
11218func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11219	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11220	return c
11221}
11222
11223// Context sets the context to be used in this call's Do method. Any
11224// pending HTTP request will be aborted if the provided context is
11225// canceled.
11226func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11227	c.ctx_ = ctx
11228	return c
11229}
11230
11231// Header returns an http.Header that can be modified by the caller to
11232// add HTTP headers to the request.
11233func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Header() http.Header {
11234	if c.header_ == nil {
11235		c.header_ = make(http.Header)
11236	}
11237	return c.header_
11238}
11239
11240func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) doRequest(alt string) (*http.Response, error) {
11241	reqHeaders := make(http.Header)
11242	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11243	for k, v := range c.header_ {
11244		reqHeaders[k] = v
11245	}
11246	reqHeaders.Set("User-Agent", c.s.userAgent())
11247	var body io.Reader = nil
11248	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
11249	if err != nil {
11250		return nil, err
11251	}
11252	reqHeaders.Set("Content-Type", "application/json")
11253	c.urlParams_.Set("alt", alt)
11254	c.urlParams_.Set("prettyPrint", "false")
11255	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
11256	urls += "?" + c.urlParams_.Encode()
11257	req, err := http.NewRequest("POST", urls, body)
11258	if err != nil {
11259		return nil, err
11260	}
11261	req.Header = reqHeaders
11262	googleapi.Expand(req.URL, map[string]string{
11263		"parent": c.parent,
11264	})
11265	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11266}
11267
11268// Do executes the "healthcare.projects.locations.datasets.consentStores.create" call.
11269// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11270// status code is an error. Response headers are in either
11271// *ConsentStore.ServerResponse.Header or (if a response was returned at
11272// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11273// to check whether the returned error was because
11274// http.StatusNotModified was returned.
11275func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11276	gensupport.SetOptions(c.urlParams_, opts...)
11277	res, err := c.doRequest("json")
11278	if res != nil && res.StatusCode == http.StatusNotModified {
11279		if res.Body != nil {
11280			res.Body.Close()
11281		}
11282		return nil, &googleapi.Error{
11283			Code:   res.StatusCode,
11284			Header: res.Header,
11285		}
11286	}
11287	if err != nil {
11288		return nil, err
11289	}
11290	defer googleapi.CloseBody(res)
11291	if err := googleapi.CheckResponse(res); err != nil {
11292		return nil, err
11293	}
11294	ret := &ConsentStore{
11295		ServerResponse: googleapi.ServerResponse{
11296			Header:         res.Header,
11297			HTTPStatusCode: res.StatusCode,
11298		},
11299	}
11300	target := &ret
11301	if err := gensupport.DecodeResponse(target, res); err != nil {
11302		return nil, err
11303	}
11304	return ret, nil
11305	// {
11306	//   "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.",
11307	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
11308	//   "httpMethod": "POST",
11309	//   "id": "healthcare.projects.locations.datasets.consentStores.create",
11310	//   "parameterOrder": [
11311	//     "parent"
11312	//   ],
11313	//   "parameters": {
11314	//     "consentStoreId": {
11315	//       "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.",
11316	//       "location": "query",
11317	//       "type": "string"
11318	//     },
11319	//     "parent": {
11320	//       "description": "Required. The name of the dataset this consent store belongs to.",
11321	//       "location": "path",
11322	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
11323	//       "required": true,
11324	//       "type": "string"
11325	//     }
11326	//   },
11327	//   "path": "v1beta1/{+parent}/consentStores",
11328	//   "request": {
11329	//     "$ref": "ConsentStore"
11330	//   },
11331	//   "response": {
11332	//     "$ref": "ConsentStore"
11333	//   },
11334	//   "scopes": [
11335	//     "https://www.googleapis.com/auth/cloud-platform"
11336	//   ]
11337	// }
11338
11339}
11340
11341// method id "healthcare.projects.locations.datasets.consentStores.delete":
11342
11343type ProjectsLocationsDatasetsConsentStoresDeleteCall struct {
11344	s          *Service
11345	name       string
11346	urlParams_ gensupport.URLParams
11347	ctx_       context.Context
11348	header_    http.Header
11349}
11350
11351// Delete: Deletes the specified consent store and removes all the
11352// consent store's data.
11353//
11354// - name: The resource name of the consent store to delete.
11355func (r *ProjectsLocationsDatasetsConsentStoresService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11356	c := &ProjectsLocationsDatasetsConsentStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11357	c.name = name
11358	return c
11359}
11360
11361// Fields allows partial responses to be retrieved. See
11362// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11363// for more information.
11364func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11365	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11366	return c
11367}
11368
11369// Context sets the context to be used in this call's Do method. Any
11370// pending HTTP request will be aborted if the provided context is
11371// canceled.
11372func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11373	c.ctx_ = ctx
11374	return c
11375}
11376
11377// Header returns an http.Header that can be modified by the caller to
11378// add HTTP headers to the request.
11379func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Header() http.Header {
11380	if c.header_ == nil {
11381		c.header_ = make(http.Header)
11382	}
11383	return c.header_
11384}
11385
11386func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
11387	reqHeaders := make(http.Header)
11388	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11389	for k, v := range c.header_ {
11390		reqHeaders[k] = v
11391	}
11392	reqHeaders.Set("User-Agent", c.s.userAgent())
11393	var body io.Reader = nil
11394	c.urlParams_.Set("alt", alt)
11395	c.urlParams_.Set("prettyPrint", "false")
11396	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11397	urls += "?" + c.urlParams_.Encode()
11398	req, err := http.NewRequest("DELETE", urls, body)
11399	if err != nil {
11400		return nil, err
11401	}
11402	req.Header = reqHeaders
11403	googleapi.Expand(req.URL, map[string]string{
11404		"name": c.name,
11405	})
11406	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11407}
11408
11409// Do executes the "healthcare.projects.locations.datasets.consentStores.delete" call.
11410// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11411// code is an error. Response headers are in either
11412// *Empty.ServerResponse.Header or (if a response was returned at all)
11413// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11414// check whether the returned error was because http.StatusNotModified
11415// was returned.
11416func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11417	gensupport.SetOptions(c.urlParams_, opts...)
11418	res, err := c.doRequest("json")
11419	if res != nil && res.StatusCode == http.StatusNotModified {
11420		if res.Body != nil {
11421			res.Body.Close()
11422		}
11423		return nil, &googleapi.Error{
11424			Code:   res.StatusCode,
11425			Header: res.Header,
11426		}
11427	}
11428	if err != nil {
11429		return nil, err
11430	}
11431	defer googleapi.CloseBody(res)
11432	if err := googleapi.CheckResponse(res); err != nil {
11433		return nil, err
11434	}
11435	ret := &Empty{
11436		ServerResponse: googleapi.ServerResponse{
11437			Header:         res.Header,
11438			HTTPStatusCode: res.StatusCode,
11439		},
11440	}
11441	target := &ret
11442	if err := gensupport.DecodeResponse(target, res); err != nil {
11443		return nil, err
11444	}
11445	return ret, nil
11446	// {
11447	//   "description": "Deletes the specified consent store and removes all the consent store's data.",
11448	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11449	//   "httpMethod": "DELETE",
11450	//   "id": "healthcare.projects.locations.datasets.consentStores.delete",
11451	//   "parameterOrder": [
11452	//     "name"
11453	//   ],
11454	//   "parameters": {
11455	//     "name": {
11456	//       "description": "Required. The resource name of the consent store to delete.",
11457	//       "location": "path",
11458	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11459	//       "required": true,
11460	//       "type": "string"
11461	//     }
11462	//   },
11463	//   "path": "v1beta1/{+name}",
11464	//   "response": {
11465	//     "$ref": "Empty"
11466	//   },
11467	//   "scopes": [
11468	//     "https://www.googleapis.com/auth/cloud-platform"
11469	//   ]
11470	// }
11471
11472}
11473
11474// method id "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents":
11475
11476type ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall struct {
11477	s                           *Service
11478	consentStore                string
11479	evaluateuserconsentsrequest *EvaluateUserConsentsRequest
11480	urlParams_                  gensupport.URLParams
11481	ctx_                        context.Context
11482	header_                     http.Header
11483}
11484
11485// EvaluateUserConsents: Evaluates the user's Consents for all matching
11486// User data mappings. Note: User data mappings are indexed
11487// asynchronously, which can cause a slight delay between the time
11488// mappings are created or updated and when they are included in
11489// EvaluateUserConsents results.
11490//
11491// - consentStore: Name of the consent store to retrieve User data
11492//   mappings from.
11493func (r *ProjectsLocationsDatasetsConsentStoresService) EvaluateUserConsents(consentStore string, evaluateuserconsentsrequest *EvaluateUserConsentsRequest) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11494	c := &ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11495	c.consentStore = consentStore
11496	c.evaluateuserconsentsrequest = evaluateuserconsentsrequest
11497	return c
11498}
11499
11500// Fields allows partial responses to be retrieved. See
11501// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11502// for more information.
11503func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11504	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11505	return c
11506}
11507
11508// Context sets the context to be used in this call's Do method. Any
11509// pending HTTP request will be aborted if the provided context is
11510// canceled.
11511func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11512	c.ctx_ = ctx
11513	return c
11514}
11515
11516// Header returns an http.Header that can be modified by the caller to
11517// add HTTP headers to the request.
11518func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Header() http.Header {
11519	if c.header_ == nil {
11520		c.header_ = make(http.Header)
11521	}
11522	return c.header_
11523}
11524
11525func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) doRequest(alt string) (*http.Response, error) {
11526	reqHeaders := make(http.Header)
11527	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11528	for k, v := range c.header_ {
11529		reqHeaders[k] = v
11530	}
11531	reqHeaders.Set("User-Agent", c.s.userAgent())
11532	var body io.Reader = nil
11533	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateuserconsentsrequest)
11534	if err != nil {
11535		return nil, err
11536	}
11537	reqHeaders.Set("Content-Type", "application/json")
11538	c.urlParams_.Set("alt", alt)
11539	c.urlParams_.Set("prettyPrint", "false")
11540	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:evaluateUserConsents")
11541	urls += "?" + c.urlParams_.Encode()
11542	req, err := http.NewRequest("POST", urls, body)
11543	if err != nil {
11544		return nil, err
11545	}
11546	req.Header = reqHeaders
11547	googleapi.Expand(req.URL, map[string]string{
11548		"consentStore": c.consentStore,
11549	})
11550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11551}
11552
11553// Do executes the "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents" call.
11554// Exactly one of *EvaluateUserConsentsResponse or error will be
11555// non-nil. Any non-2xx status code is an error. Response headers are in
11556// either *EvaluateUserConsentsResponse.ServerResponse.Header or (if a
11557// response was returned at all) in error.(*googleapi.Error).Header. Use
11558// googleapi.IsNotModified to check whether the returned error was
11559// because http.StatusNotModified was returned.
11560func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Do(opts ...googleapi.CallOption) (*EvaluateUserConsentsResponse, error) {
11561	gensupport.SetOptions(c.urlParams_, opts...)
11562	res, err := c.doRequest("json")
11563	if res != nil && res.StatusCode == http.StatusNotModified {
11564		if res.Body != nil {
11565			res.Body.Close()
11566		}
11567		return nil, &googleapi.Error{
11568			Code:   res.StatusCode,
11569			Header: res.Header,
11570		}
11571	}
11572	if err != nil {
11573		return nil, err
11574	}
11575	defer googleapi.CloseBody(res)
11576	if err := googleapi.CheckResponse(res); err != nil {
11577		return nil, err
11578	}
11579	ret := &EvaluateUserConsentsResponse{
11580		ServerResponse: googleapi.ServerResponse{
11581			Header:         res.Header,
11582			HTTPStatusCode: res.StatusCode,
11583		},
11584	}
11585	target := &ret
11586	if err := gensupport.DecodeResponse(target, res); err != nil {
11587		return nil, err
11588	}
11589	return ret, nil
11590	// {
11591	//   "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.",
11592	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents",
11593	//   "httpMethod": "POST",
11594	//   "id": "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents",
11595	//   "parameterOrder": [
11596	//     "consentStore"
11597	//   ],
11598	//   "parameters": {
11599	//     "consentStore": {
11600	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
11601	//       "location": "path",
11602	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11603	//       "required": true,
11604	//       "type": "string"
11605	//     }
11606	//   },
11607	//   "path": "v1beta1/{+consentStore}:evaluateUserConsents",
11608	//   "request": {
11609	//     "$ref": "EvaluateUserConsentsRequest"
11610	//   },
11611	//   "response": {
11612	//     "$ref": "EvaluateUserConsentsResponse"
11613	//   },
11614	//   "scopes": [
11615	//     "https://www.googleapis.com/auth/cloud-platform"
11616	//   ]
11617	// }
11618
11619}
11620
11621// Pages invokes f for each page of results.
11622// A non-nil error returned from f will halt the iteration.
11623// The provided context supersedes any context provided to the Context method.
11624func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Pages(ctx context.Context, f func(*EvaluateUserConsentsResponse) error) error {
11625	c.ctx_ = ctx
11626	defer func(pt string) { c.evaluateuserconsentsrequest.PageToken = pt }(c.evaluateuserconsentsrequest.PageToken) // reset paging to original point
11627	for {
11628		x, err := c.Do()
11629		if err != nil {
11630			return err
11631		}
11632		if err := f(x); err != nil {
11633			return err
11634		}
11635		if x.NextPageToken == "" {
11636			return nil
11637		}
11638		c.evaluateuserconsentsrequest.PageToken = x.NextPageToken
11639	}
11640}
11641
11642// method id "healthcare.projects.locations.datasets.consentStores.get":
11643
11644type ProjectsLocationsDatasetsConsentStoresGetCall struct {
11645	s            *Service
11646	name         string
11647	urlParams_   gensupport.URLParams
11648	ifNoneMatch_ string
11649	ctx_         context.Context
11650	header_      http.Header
11651}
11652
11653// Get: Gets the specified consent store.
11654//
11655// - name: The resource name of the consent store to get.
11656func (r *ProjectsLocationsDatasetsConsentStoresService) Get(name string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11657	c := &ProjectsLocationsDatasetsConsentStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11658	c.name = name
11659	return c
11660}
11661
11662// Fields allows partial responses to be retrieved. See
11663// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11664// for more information.
11665func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetCall {
11666	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11667	return c
11668}
11669
11670// IfNoneMatch sets the optional parameter which makes the operation
11671// fail if the object's ETag matches the given value. This is useful for
11672// getting updates only after the object has changed since the last
11673// request. Use googleapi.IsNotModified to check whether the response
11674// error from Do is the result of In-None-Match.
11675func (c *ProjectsLocationsDatasetsConsentStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11676	c.ifNoneMatch_ = entityTag
11677	return c
11678}
11679
11680// Context sets the context to be used in this call's Do method. Any
11681// pending HTTP request will be aborted if the provided context is
11682// canceled.
11683func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetCall {
11684	c.ctx_ = ctx
11685	return c
11686}
11687
11688// Header returns an http.Header that can be modified by the caller to
11689// add HTTP headers to the request.
11690func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Header() http.Header {
11691	if c.header_ == nil {
11692		c.header_ = make(http.Header)
11693	}
11694	return c.header_
11695}
11696
11697func (c *ProjectsLocationsDatasetsConsentStoresGetCall) doRequest(alt string) (*http.Response, error) {
11698	reqHeaders := make(http.Header)
11699	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11700	for k, v := range c.header_ {
11701		reqHeaders[k] = v
11702	}
11703	reqHeaders.Set("User-Agent", c.s.userAgent())
11704	if c.ifNoneMatch_ != "" {
11705		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11706	}
11707	var body io.Reader = nil
11708	c.urlParams_.Set("alt", alt)
11709	c.urlParams_.Set("prettyPrint", "false")
11710	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11711	urls += "?" + c.urlParams_.Encode()
11712	req, err := http.NewRequest("GET", urls, body)
11713	if err != nil {
11714		return nil, err
11715	}
11716	req.Header = reqHeaders
11717	googleapi.Expand(req.URL, map[string]string{
11718		"name": c.name,
11719	})
11720	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11721}
11722
11723// Do executes the "healthcare.projects.locations.datasets.consentStores.get" call.
11724// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11725// status code is an error. Response headers are in either
11726// *ConsentStore.ServerResponse.Header or (if a response was returned at
11727// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11728// to check whether the returned error was because
11729// http.StatusNotModified was returned.
11730func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11731	gensupport.SetOptions(c.urlParams_, opts...)
11732	res, err := c.doRequest("json")
11733	if res != nil && res.StatusCode == http.StatusNotModified {
11734		if res.Body != nil {
11735			res.Body.Close()
11736		}
11737		return nil, &googleapi.Error{
11738			Code:   res.StatusCode,
11739			Header: res.Header,
11740		}
11741	}
11742	if err != nil {
11743		return nil, err
11744	}
11745	defer googleapi.CloseBody(res)
11746	if err := googleapi.CheckResponse(res); err != nil {
11747		return nil, err
11748	}
11749	ret := &ConsentStore{
11750		ServerResponse: googleapi.ServerResponse{
11751			Header:         res.Header,
11752			HTTPStatusCode: res.StatusCode,
11753		},
11754	}
11755	target := &ret
11756	if err := gensupport.DecodeResponse(target, res); err != nil {
11757		return nil, err
11758	}
11759	return ret, nil
11760	// {
11761	//   "description": "Gets the specified consent store.",
11762	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11763	//   "httpMethod": "GET",
11764	//   "id": "healthcare.projects.locations.datasets.consentStores.get",
11765	//   "parameterOrder": [
11766	//     "name"
11767	//   ],
11768	//   "parameters": {
11769	//     "name": {
11770	//       "description": "Required. The resource name of the consent store to get.",
11771	//       "location": "path",
11772	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11773	//       "required": true,
11774	//       "type": "string"
11775	//     }
11776	//   },
11777	//   "path": "v1beta1/{+name}",
11778	//   "response": {
11779	//     "$ref": "ConsentStore"
11780	//   },
11781	//   "scopes": [
11782	//     "https://www.googleapis.com/auth/cloud-platform"
11783	//   ]
11784	// }
11785
11786}
11787
11788// method id "healthcare.projects.locations.datasets.consentStores.getIamPolicy":
11789
11790type ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall struct {
11791	s            *Service
11792	resource     string
11793	urlParams_   gensupport.URLParams
11794	ifNoneMatch_ string
11795	ctx_         context.Context
11796	header_      http.Header
11797}
11798
11799// GetIamPolicy: Gets the access control policy for a resource. Returns
11800// an empty policy if the resource exists and does not have a policy
11801// set.
11802//
11803// - resource: REQUIRED: The resource for which the policy is being
11804//   requested. See the operation documentation for the appropriate
11805//   value for this field.
11806func (r *ProjectsLocationsDatasetsConsentStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11807	c := &ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11808	c.resource = resource
11809	return c
11810}
11811
11812// OptionsRequestedPolicyVersion sets the optional parameter
11813// "options.requestedPolicyVersion": The policy format version to be
11814// returned. Valid values are 0, 1, and 3. Requests specifying an
11815// invalid value will be rejected. Requests for policies with any
11816// conditional bindings must specify version 3. Policies without any
11817// conditional bindings may specify any valid value or leave the field
11818// unset. To learn which resources support conditions in their IAM
11819// policies, see the IAM documentation
11820// (https://cloud.google.com/iam/help/conditions/resource-policies).
11821func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11822	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
11823	return c
11824}
11825
11826// Fields allows partial responses to be retrieved. See
11827// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11828// for more information.
11829func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11830	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11831	return c
11832}
11833
11834// IfNoneMatch sets the optional parameter which makes the operation
11835// fail if the object's ETag matches the given value. This is useful for
11836// getting updates only after the object has changed since the last
11837// request. Use googleapi.IsNotModified to check whether the response
11838// error from Do is the result of In-None-Match.
11839func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11840	c.ifNoneMatch_ = entityTag
11841	return c
11842}
11843
11844// Context sets the context to be used in this call's Do method. Any
11845// pending HTTP request will be aborted if the provided context is
11846// canceled.
11847func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11848	c.ctx_ = ctx
11849	return c
11850}
11851
11852// Header returns an http.Header that can be modified by the caller to
11853// add HTTP headers to the request.
11854func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Header() http.Header {
11855	if c.header_ == nil {
11856		c.header_ = make(http.Header)
11857	}
11858	return c.header_
11859}
11860
11861func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
11862	reqHeaders := make(http.Header)
11863	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11864	for k, v := range c.header_ {
11865		reqHeaders[k] = v
11866	}
11867	reqHeaders.Set("User-Agent", c.s.userAgent())
11868	if c.ifNoneMatch_ != "" {
11869		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11870	}
11871	var body io.Reader = nil
11872	c.urlParams_.Set("alt", alt)
11873	c.urlParams_.Set("prettyPrint", "false")
11874	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
11875	urls += "?" + c.urlParams_.Encode()
11876	req, err := http.NewRequest("GET", urls, body)
11877	if err != nil {
11878		return nil, err
11879	}
11880	req.Header = reqHeaders
11881	googleapi.Expand(req.URL, map[string]string{
11882		"resource": c.resource,
11883	})
11884	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11885}
11886
11887// Do executes the "healthcare.projects.locations.datasets.consentStores.getIamPolicy" call.
11888// Exactly one of *Policy or error will be non-nil. Any non-2xx status
11889// code is an error. Response headers are in either
11890// *Policy.ServerResponse.Header or (if a response was returned at all)
11891// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11892// check whether the returned error was because http.StatusNotModified
11893// was returned.
11894func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
11895	gensupport.SetOptions(c.urlParams_, opts...)
11896	res, err := c.doRequest("json")
11897	if res != nil && res.StatusCode == http.StatusNotModified {
11898		if res.Body != nil {
11899			res.Body.Close()
11900		}
11901		return nil, &googleapi.Error{
11902			Code:   res.StatusCode,
11903			Header: res.Header,
11904		}
11905	}
11906	if err != nil {
11907		return nil, err
11908	}
11909	defer googleapi.CloseBody(res)
11910	if err := googleapi.CheckResponse(res); err != nil {
11911		return nil, err
11912	}
11913	ret := &Policy{
11914		ServerResponse: googleapi.ServerResponse{
11915			Header:         res.Header,
11916			HTTPStatusCode: res.StatusCode,
11917		},
11918	}
11919	target := &ret
11920	if err := gensupport.DecodeResponse(target, res); err != nil {
11921		return nil, err
11922	}
11923	return ret, nil
11924	// {
11925	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
11926	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy",
11927	//   "httpMethod": "GET",
11928	//   "id": "healthcare.projects.locations.datasets.consentStores.getIamPolicy",
11929	//   "parameterOrder": [
11930	//     "resource"
11931	//   ],
11932	//   "parameters": {
11933	//     "options.requestedPolicyVersion": {
11934	//       "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).",
11935	//       "format": "int32",
11936	//       "location": "query",
11937	//       "type": "integer"
11938	//     },
11939	//     "resource": {
11940	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
11941	//       "location": "path",
11942	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11943	//       "required": true,
11944	//       "type": "string"
11945	//     }
11946	//   },
11947	//   "path": "v1beta1/{+resource}:getIamPolicy",
11948	//   "response": {
11949	//     "$ref": "Policy"
11950	//   },
11951	//   "scopes": [
11952	//     "https://www.googleapis.com/auth/cloud-platform"
11953	//   ]
11954	// }
11955
11956}
11957
11958// method id "healthcare.projects.locations.datasets.consentStores.list":
11959
11960type ProjectsLocationsDatasetsConsentStoresListCall struct {
11961	s            *Service
11962	parent       string
11963	urlParams_   gensupport.URLParams
11964	ifNoneMatch_ string
11965	ctx_         context.Context
11966	header_      http.Header
11967}
11968
11969// List: Lists the consent stores in the specified dataset.
11970//
11971// - parent: Name of the dataset.
11972func (r *ProjectsLocationsDatasetsConsentStoresService) List(parent string) *ProjectsLocationsDatasetsConsentStoresListCall {
11973	c := &ProjectsLocationsDatasetsConsentStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11974	c.parent = parent
11975	return c
11976}
11977
11978// Filter sets the optional parameter "filter": Restricts the stores
11979// returned to those matching a filter. The following syntax is
11980// available: * A string field value can be written as text inside
11981// quotation marks, for example "query text". The only valid
11982// relational operation for text fields is equality (`=`), where text is
11983// searched within the field, rather than having the field be equal to
11984// the text. For example, "Comment = great" returns messages with
11985// `great` in the comment field. * A number field value can be written
11986// as an integer, a decimal, or an exponential. The valid relational
11987// operators for number fields are the equality operator (`=`), along
11988// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
11989// Note that there is no inequality (`!=`) operator. You can prepend the
11990// `NOT` operator to an expression to negate it. * A date field value
11991// must be written in `yyyy-mm-dd` form. Fields with date and time use
11992// the RFC3339 time format. Leading zeros are required for one-digit
11993// months and days. The valid relational operators for date fields are
11994// the equality operator (`=`) , along with the less than/greater than
11995// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
11996// (`!=`) operator. You can prepend the `NOT` operator to an expression
11997// to negate it. * Multiple field query expressions can be combined in
11998// one query by adding `AND` or `OR` operators between the expressions.
11999// If a boolean operator appears within a quoted string, it is not
12000// treated as special, it's just another part of the character string to
12001// be matched. You can prepend the `NOT` operator to an expression to
12002// negate it. Only filtering on labels is supported. For example,
12003// `filter=labels.key=value`.
12004func (c *ProjectsLocationsDatasetsConsentStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresListCall {
12005	c.urlParams_.Set("filter", filter)
12006	return c
12007}
12008
12009// PageSize sets the optional parameter "pageSize": Limit on the number
12010// of consent stores to return in a single response. If not specified,
12011// 100 is used. May not be larger than 1000.
12012func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresListCall {
12013	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
12014	return c
12015}
12016
12017// PageToken sets the optional parameter "pageToken": Token to retrieve
12018// the next page of results, or empty to get the first page.
12019func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresListCall {
12020	c.urlParams_.Set("pageToken", pageToken)
12021	return c
12022}
12023
12024// Fields allows partial responses to be retrieved. See
12025// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12026// for more information.
12027func (c *ProjectsLocationsDatasetsConsentStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresListCall {
12028	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12029	return c
12030}
12031
12032// IfNoneMatch sets the optional parameter which makes the operation
12033// fail if the object's ETag matches the given value. This is useful for
12034// getting updates only after the object has changed since the last
12035// request. Use googleapi.IsNotModified to check whether the response
12036// error from Do is the result of In-None-Match.
12037func (c *ProjectsLocationsDatasetsConsentStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresListCall {
12038	c.ifNoneMatch_ = entityTag
12039	return c
12040}
12041
12042// Context sets the context to be used in this call's Do method. Any
12043// pending HTTP request will be aborted if the provided context is
12044// canceled.
12045func (c *ProjectsLocationsDatasetsConsentStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresListCall {
12046	c.ctx_ = ctx
12047	return c
12048}
12049
12050// Header returns an http.Header that can be modified by the caller to
12051// add HTTP headers to the request.
12052func (c *ProjectsLocationsDatasetsConsentStoresListCall) Header() http.Header {
12053	if c.header_ == nil {
12054		c.header_ = make(http.Header)
12055	}
12056	return c.header_
12057}
12058
12059func (c *ProjectsLocationsDatasetsConsentStoresListCall) doRequest(alt string) (*http.Response, error) {
12060	reqHeaders := make(http.Header)
12061	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12062	for k, v := range c.header_ {
12063		reqHeaders[k] = v
12064	}
12065	reqHeaders.Set("User-Agent", c.s.userAgent())
12066	if c.ifNoneMatch_ != "" {
12067		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12068	}
12069	var body io.Reader = nil
12070	c.urlParams_.Set("alt", alt)
12071	c.urlParams_.Set("prettyPrint", "false")
12072	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
12073	urls += "?" + c.urlParams_.Encode()
12074	req, err := http.NewRequest("GET", urls, body)
12075	if err != nil {
12076		return nil, err
12077	}
12078	req.Header = reqHeaders
12079	googleapi.Expand(req.URL, map[string]string{
12080		"parent": c.parent,
12081	})
12082	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12083}
12084
12085// Do executes the "healthcare.projects.locations.datasets.consentStores.list" call.
12086// Exactly one of *ListConsentStoresResponse or error will be non-nil.
12087// Any non-2xx status code is an error. Response headers are in either
12088// *ListConsentStoresResponse.ServerResponse.Header or (if a response
12089// was returned at all) in error.(*googleapi.Error).Header. Use
12090// googleapi.IsNotModified to check whether the returned error was
12091// because http.StatusNotModified was returned.
12092func (c *ProjectsLocationsDatasetsConsentStoresListCall) Do(opts ...googleapi.CallOption) (*ListConsentStoresResponse, error) {
12093	gensupport.SetOptions(c.urlParams_, opts...)
12094	res, err := c.doRequest("json")
12095	if res != nil && res.StatusCode == http.StatusNotModified {
12096		if res.Body != nil {
12097			res.Body.Close()
12098		}
12099		return nil, &googleapi.Error{
12100			Code:   res.StatusCode,
12101			Header: res.Header,
12102		}
12103	}
12104	if err != nil {
12105		return nil, err
12106	}
12107	defer googleapi.CloseBody(res)
12108	if err := googleapi.CheckResponse(res); err != nil {
12109		return nil, err
12110	}
12111	ret := &ListConsentStoresResponse{
12112		ServerResponse: googleapi.ServerResponse{
12113			Header:         res.Header,
12114			HTTPStatusCode: res.StatusCode,
12115		},
12116	}
12117	target := &ret
12118	if err := gensupport.DecodeResponse(target, res); err != nil {
12119		return nil, err
12120	}
12121	return ret, nil
12122	// {
12123	//   "description": "Lists the consent stores in the specified dataset.",
12124	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
12125	//   "httpMethod": "GET",
12126	//   "id": "healthcare.projects.locations.datasets.consentStores.list",
12127	//   "parameterOrder": [
12128	//     "parent"
12129	//   ],
12130	//   "parameters": {
12131	//     "filter": {
12132	//       "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`.",
12133	//       "location": "query",
12134	//       "type": "string"
12135	//     },
12136	//     "pageSize": {
12137	//       "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.",
12138	//       "format": "int32",
12139	//       "location": "query",
12140	//       "type": "integer"
12141	//     },
12142	//     "pageToken": {
12143	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
12144	//       "location": "query",
12145	//       "type": "string"
12146	//     },
12147	//     "parent": {
12148	//       "description": "Required. Name of the dataset.",
12149	//       "location": "path",
12150	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
12151	//       "required": true,
12152	//       "type": "string"
12153	//     }
12154	//   },
12155	//   "path": "v1beta1/{+parent}/consentStores",
12156	//   "response": {
12157	//     "$ref": "ListConsentStoresResponse"
12158	//   },
12159	//   "scopes": [
12160	//     "https://www.googleapis.com/auth/cloud-platform"
12161	//   ]
12162	// }
12163
12164}
12165
12166// Pages invokes f for each page of results.
12167// A non-nil error returned from f will halt the iteration.
12168// The provided context supersedes any context provided to the Context method.
12169func (c *ProjectsLocationsDatasetsConsentStoresListCall) Pages(ctx context.Context, f func(*ListConsentStoresResponse) error) error {
12170	c.ctx_ = ctx
12171	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
12172	for {
12173		x, err := c.Do()
12174		if err != nil {
12175			return err
12176		}
12177		if err := f(x); err != nil {
12178			return err
12179		}
12180		if x.NextPageToken == "" {
12181			return nil
12182		}
12183		c.PageToken(x.NextPageToken)
12184	}
12185}
12186
12187// method id "healthcare.projects.locations.datasets.consentStores.patch":
12188
12189type ProjectsLocationsDatasetsConsentStoresPatchCall struct {
12190	s            *Service
12191	name         string
12192	consentstore *ConsentStore
12193	urlParams_   gensupport.URLParams
12194	ctx_         context.Context
12195	header_      http.Header
12196}
12197
12198// Patch: Updates the specified consent store.
12199//
12200// - name: Resource name of the consent store, of the form
12201//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
12202//   /consentStores/{consent_store_id}`. Cannot be changed after
12203//   creation.
12204func (r *ProjectsLocationsDatasetsConsentStoresService) Patch(name string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12205	c := &ProjectsLocationsDatasetsConsentStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12206	c.name = name
12207	c.consentstore = consentstore
12208	return c
12209}
12210
12211// UpdateMask sets the optional parameter "updateMask": Required. The
12212// update mask that applies to the resource. For the `FieldMask`
12213// definition, see
12214// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
12215// Only the `labels`, `default_consent_ttl`, and
12216// `enable_consent_create_on_update` fields are allowed to be updated.
12217func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12218	c.urlParams_.Set("updateMask", updateMask)
12219	return c
12220}
12221
12222// Fields allows partial responses to be retrieved. See
12223// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12224// for more information.
12225func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12226	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12227	return c
12228}
12229
12230// Context sets the context to be used in this call's Do method. Any
12231// pending HTTP request will be aborted if the provided context is
12232// canceled.
12233func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12234	c.ctx_ = ctx
12235	return c
12236}
12237
12238// Header returns an http.Header that can be modified by the caller to
12239// add HTTP headers to the request.
12240func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Header() http.Header {
12241	if c.header_ == nil {
12242		c.header_ = make(http.Header)
12243	}
12244	return c.header_
12245}
12246
12247func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) doRequest(alt string) (*http.Response, error) {
12248	reqHeaders := make(http.Header)
12249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12250	for k, v := range c.header_ {
12251		reqHeaders[k] = v
12252	}
12253	reqHeaders.Set("User-Agent", c.s.userAgent())
12254	var body io.Reader = nil
12255	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
12256	if err != nil {
12257		return nil, err
12258	}
12259	reqHeaders.Set("Content-Type", "application/json")
12260	c.urlParams_.Set("alt", alt)
12261	c.urlParams_.Set("prettyPrint", "false")
12262	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
12263	urls += "?" + c.urlParams_.Encode()
12264	req, err := http.NewRequest("PATCH", urls, body)
12265	if err != nil {
12266		return nil, err
12267	}
12268	req.Header = reqHeaders
12269	googleapi.Expand(req.URL, map[string]string{
12270		"name": c.name,
12271	})
12272	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12273}
12274
12275// Do executes the "healthcare.projects.locations.datasets.consentStores.patch" call.
12276// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
12277// status code is an error. Response headers are in either
12278// *ConsentStore.ServerResponse.Header or (if a response was returned at
12279// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12280// to check whether the returned error was because
12281// http.StatusNotModified was returned.
12282func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
12283	gensupport.SetOptions(c.urlParams_, opts...)
12284	res, err := c.doRequest("json")
12285	if res != nil && res.StatusCode == http.StatusNotModified {
12286		if res.Body != nil {
12287			res.Body.Close()
12288		}
12289		return nil, &googleapi.Error{
12290			Code:   res.StatusCode,
12291			Header: res.Header,
12292		}
12293	}
12294	if err != nil {
12295		return nil, err
12296	}
12297	defer googleapi.CloseBody(res)
12298	if err := googleapi.CheckResponse(res); err != nil {
12299		return nil, err
12300	}
12301	ret := &ConsentStore{
12302		ServerResponse: googleapi.ServerResponse{
12303			Header:         res.Header,
12304			HTTPStatusCode: res.StatusCode,
12305		},
12306	}
12307	target := &ret
12308	if err := gensupport.DecodeResponse(target, res); err != nil {
12309		return nil, err
12310	}
12311	return ret, nil
12312	// {
12313	//   "description": "Updates the specified consent store.",
12314	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
12315	//   "httpMethod": "PATCH",
12316	//   "id": "healthcare.projects.locations.datasets.consentStores.patch",
12317	//   "parameterOrder": [
12318	//     "name"
12319	//   ],
12320	//   "parameters": {
12321	//     "name": {
12322	//       "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.",
12323	//       "location": "path",
12324	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12325	//       "required": true,
12326	//       "type": "string"
12327	//     },
12328	//     "updateMask": {
12329	//       "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.",
12330	//       "format": "google-fieldmask",
12331	//       "location": "query",
12332	//       "type": "string"
12333	//     }
12334	//   },
12335	//   "path": "v1beta1/{+name}",
12336	//   "request": {
12337	//     "$ref": "ConsentStore"
12338	//   },
12339	//   "response": {
12340	//     "$ref": "ConsentStore"
12341	//   },
12342	//   "scopes": [
12343	//     "https://www.googleapis.com/auth/cloud-platform"
12344	//   ]
12345	// }
12346
12347}
12348
12349// method id "healthcare.projects.locations.datasets.consentStores.queryAccessibleData":
12350
12351type ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall struct {
12352	s                          *Service
12353	consentStore               string
12354	queryaccessibledatarequest *QueryAccessibleDataRequest
12355	urlParams_                 gensupport.URLParams
12356	ctx_                       context.Context
12357	header_                    http.Header
12358}
12359
12360// QueryAccessibleData: Queries all data_ids that are consented for a
12361// specified use in the given consent store and writes them to a
12362// specified destination. The returned Operation includes a progress
12363// counter for the number of User data mappings processed. Errors are
12364// logged to Cloud Logging (see Viewing error logs in Cloud Logging
12365// (https://cloud.google.com/healthcare/docs/how-tos/logging)). For
12366// example, the following sample log entry shows a `failed to evaluate
12367// consent policy` error that occurred during a QueryAccessibleData call
12368// to consent store
12369// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12370// onsentStores/{consent_store_id}`. ```json jsonPayload: { @type:
12371// "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDa
12372// taLogEntry" error: { code: 9 message: "failed to evaluate consent
12373// policy" } resourceName:
12374// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12375// onsentStores/{consent_store_id}/consents/{consent_id}" } logName:
12376// "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessib
12377// le_data" operation: { id:
12378// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/o
12379// perations/{operation_id}" producer:
12380// "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp:
12381// "TIMESTAMP" resource: { labels: { consent_store_id:
12382// "{consent_store_id}" dataset_id: "{dataset_id}" location:
12383// "{location_id}" project_id: "{project_id}" } type:
12384// "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP"
12385// ```
12386//
12387// - consentStore: Name of the consent store to retrieve User data
12388//   mappings from.
12389func (r *ProjectsLocationsDatasetsConsentStoresService) QueryAccessibleData(consentStore string, queryaccessibledatarequest *QueryAccessibleDataRequest) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12390	c := &ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12391	c.consentStore = consentStore
12392	c.queryaccessibledatarequest = queryaccessibledatarequest
12393	return c
12394}
12395
12396// Fields allows partial responses to be retrieved. See
12397// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12398// for more information.
12399func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12400	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12401	return c
12402}
12403
12404// Context sets the context to be used in this call's Do method. Any
12405// pending HTTP request will be aborted if the provided context is
12406// canceled.
12407func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12408	c.ctx_ = ctx
12409	return c
12410}
12411
12412// Header returns an http.Header that can be modified by the caller to
12413// add HTTP headers to the request.
12414func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Header() http.Header {
12415	if c.header_ == nil {
12416		c.header_ = make(http.Header)
12417	}
12418	return c.header_
12419}
12420
12421func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) doRequest(alt string) (*http.Response, error) {
12422	reqHeaders := make(http.Header)
12423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12424	for k, v := range c.header_ {
12425		reqHeaders[k] = v
12426	}
12427	reqHeaders.Set("User-Agent", c.s.userAgent())
12428	var body io.Reader = nil
12429	body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryaccessibledatarequest)
12430	if err != nil {
12431		return nil, err
12432	}
12433	reqHeaders.Set("Content-Type", "application/json")
12434	c.urlParams_.Set("alt", alt)
12435	c.urlParams_.Set("prettyPrint", "false")
12436	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:queryAccessibleData")
12437	urls += "?" + c.urlParams_.Encode()
12438	req, err := http.NewRequest("POST", urls, body)
12439	if err != nil {
12440		return nil, err
12441	}
12442	req.Header = reqHeaders
12443	googleapi.Expand(req.URL, map[string]string{
12444		"consentStore": c.consentStore,
12445	})
12446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12447}
12448
12449// Do executes the "healthcare.projects.locations.datasets.consentStores.queryAccessibleData" call.
12450// Exactly one of *Operation or error will be non-nil. Any non-2xx
12451// status code is an error. Response headers are in either
12452// *Operation.ServerResponse.Header or (if a response was returned at
12453// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12454// to check whether the returned error was because
12455// http.StatusNotModified was returned.
12456func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12457	gensupport.SetOptions(c.urlParams_, opts...)
12458	res, err := c.doRequest("json")
12459	if res != nil && res.StatusCode == http.StatusNotModified {
12460		if res.Body != nil {
12461			res.Body.Close()
12462		}
12463		return nil, &googleapi.Error{
12464			Code:   res.StatusCode,
12465			Header: res.Header,
12466		}
12467	}
12468	if err != nil {
12469		return nil, err
12470	}
12471	defer googleapi.CloseBody(res)
12472	if err := googleapi.CheckResponse(res); err != nil {
12473		return nil, err
12474	}
12475	ret := &Operation{
12476		ServerResponse: googleapi.ServerResponse{
12477			Header:         res.Header,
12478			HTTPStatusCode: res.StatusCode,
12479		},
12480	}
12481	target := &ret
12482	if err := gensupport.DecodeResponse(target, res); err != nil {
12483		return nil, err
12484	}
12485	return ret, nil
12486	// {
12487	//   "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\" ```",
12488	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData",
12489	//   "httpMethod": "POST",
12490	//   "id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData",
12491	//   "parameterOrder": [
12492	//     "consentStore"
12493	//   ],
12494	//   "parameters": {
12495	//     "consentStore": {
12496	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
12497	//       "location": "path",
12498	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12499	//       "required": true,
12500	//       "type": "string"
12501	//     }
12502	//   },
12503	//   "path": "v1beta1/{+consentStore}:queryAccessibleData",
12504	//   "request": {
12505	//     "$ref": "QueryAccessibleDataRequest"
12506	//   },
12507	//   "response": {
12508	//     "$ref": "Operation"
12509	//   },
12510	//   "scopes": [
12511	//     "https://www.googleapis.com/auth/cloud-platform"
12512	//   ]
12513	// }
12514
12515}
12516
12517// method id "healthcare.projects.locations.datasets.consentStores.setIamPolicy":
12518
12519type ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall struct {
12520	s                   *Service
12521	resource            string
12522	setiampolicyrequest *SetIamPolicyRequest
12523	urlParams_          gensupport.URLParams
12524	ctx_                context.Context
12525	header_             http.Header
12526}
12527
12528// SetIamPolicy: Sets the access control policy on the specified
12529// resource. Replaces any existing policy. Can return `NOT_FOUND`,
12530// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
12531//
12532// - resource: REQUIRED: The resource for which the policy is being
12533//   specified. See the operation documentation for the appropriate
12534//   value for this field.
12535func (r *ProjectsLocationsDatasetsConsentStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12536	c := &ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12537	c.resource = resource
12538	c.setiampolicyrequest = setiampolicyrequest
12539	return c
12540}
12541
12542// Fields allows partial responses to be retrieved. See
12543// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12544// for more information.
12545func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12546	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12547	return c
12548}
12549
12550// Context sets the context to be used in this call's Do method. Any
12551// pending HTTP request will be aborted if the provided context is
12552// canceled.
12553func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12554	c.ctx_ = ctx
12555	return c
12556}
12557
12558// Header returns an http.Header that can be modified by the caller to
12559// add HTTP headers to the request.
12560func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Header() http.Header {
12561	if c.header_ == nil {
12562		c.header_ = make(http.Header)
12563	}
12564	return c.header_
12565}
12566
12567func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
12568	reqHeaders := make(http.Header)
12569	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12570	for k, v := range c.header_ {
12571		reqHeaders[k] = v
12572	}
12573	reqHeaders.Set("User-Agent", c.s.userAgent())
12574	var body io.Reader = nil
12575	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
12576	if err != nil {
12577		return nil, err
12578	}
12579	reqHeaders.Set("Content-Type", "application/json")
12580	c.urlParams_.Set("alt", alt)
12581	c.urlParams_.Set("prettyPrint", "false")
12582	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
12583	urls += "?" + c.urlParams_.Encode()
12584	req, err := http.NewRequest("POST", urls, body)
12585	if err != nil {
12586		return nil, err
12587	}
12588	req.Header = reqHeaders
12589	googleapi.Expand(req.URL, map[string]string{
12590		"resource": c.resource,
12591	})
12592	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12593}
12594
12595// Do executes the "healthcare.projects.locations.datasets.consentStores.setIamPolicy" call.
12596// Exactly one of *Policy or error will be non-nil. Any non-2xx status
12597// code is an error. Response headers are in either
12598// *Policy.ServerResponse.Header or (if a response was returned at all)
12599// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12600// check whether the returned error was because http.StatusNotModified
12601// was returned.
12602func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
12603	gensupport.SetOptions(c.urlParams_, opts...)
12604	res, err := c.doRequest("json")
12605	if res != nil && res.StatusCode == http.StatusNotModified {
12606		if res.Body != nil {
12607			res.Body.Close()
12608		}
12609		return nil, &googleapi.Error{
12610			Code:   res.StatusCode,
12611			Header: res.Header,
12612		}
12613	}
12614	if err != nil {
12615		return nil, err
12616	}
12617	defer googleapi.CloseBody(res)
12618	if err := googleapi.CheckResponse(res); err != nil {
12619		return nil, err
12620	}
12621	ret := &Policy{
12622		ServerResponse: googleapi.ServerResponse{
12623			Header:         res.Header,
12624			HTTPStatusCode: res.StatusCode,
12625		},
12626	}
12627	target := &ret
12628	if err := gensupport.DecodeResponse(target, res); err != nil {
12629		return nil, err
12630	}
12631	return ret, nil
12632	// {
12633	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
12634	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy",
12635	//   "httpMethod": "POST",
12636	//   "id": "healthcare.projects.locations.datasets.consentStores.setIamPolicy",
12637	//   "parameterOrder": [
12638	//     "resource"
12639	//   ],
12640	//   "parameters": {
12641	//     "resource": {
12642	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
12643	//       "location": "path",
12644	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12645	//       "required": true,
12646	//       "type": "string"
12647	//     }
12648	//   },
12649	//   "path": "v1beta1/{+resource}:setIamPolicy",
12650	//   "request": {
12651	//     "$ref": "SetIamPolicyRequest"
12652	//   },
12653	//   "response": {
12654	//     "$ref": "Policy"
12655	//   },
12656	//   "scopes": [
12657	//     "https://www.googleapis.com/auth/cloud-platform"
12658	//   ]
12659	// }
12660
12661}
12662
12663// method id "healthcare.projects.locations.datasets.consentStores.testIamPermissions":
12664
12665type ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall struct {
12666	s                         *Service
12667	resource                  string
12668	testiampermissionsrequest *TestIamPermissionsRequest
12669	urlParams_                gensupport.URLParams
12670	ctx_                      context.Context
12671	header_                   http.Header
12672}
12673
12674// TestIamPermissions: Returns permissions that a caller has on the
12675// specified resource. If the resource does not exist, this will return
12676// an empty set of permissions, not a `NOT_FOUND` error. Note: This
12677// operation is designed to be used for building permission-aware UIs
12678// and command-line tools, not for authorization checking. This
12679// operation may "fail open" without warning.
12680//
12681// - resource: REQUIRED: The resource for which the policy detail is
12682//   being requested. See the operation documentation for the
12683//   appropriate value for this field.
12684func (r *ProjectsLocationsDatasetsConsentStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12685	c := &ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12686	c.resource = resource
12687	c.testiampermissionsrequest = testiampermissionsrequest
12688	return c
12689}
12690
12691// Fields allows partial responses to be retrieved. See
12692// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12693// for more information.
12694func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12695	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12696	return c
12697}
12698
12699// Context sets the context to be used in this call's Do method. Any
12700// pending HTTP request will be aborted if the provided context is
12701// canceled.
12702func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12703	c.ctx_ = ctx
12704	return c
12705}
12706
12707// Header returns an http.Header that can be modified by the caller to
12708// add HTTP headers to the request.
12709func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Header() http.Header {
12710	if c.header_ == nil {
12711		c.header_ = make(http.Header)
12712	}
12713	return c.header_
12714}
12715
12716func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
12717	reqHeaders := make(http.Header)
12718	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12719	for k, v := range c.header_ {
12720		reqHeaders[k] = v
12721	}
12722	reqHeaders.Set("User-Agent", c.s.userAgent())
12723	var body io.Reader = nil
12724	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
12725	if err != nil {
12726		return nil, err
12727	}
12728	reqHeaders.Set("Content-Type", "application/json")
12729	c.urlParams_.Set("alt", alt)
12730	c.urlParams_.Set("prettyPrint", "false")
12731	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
12732	urls += "?" + c.urlParams_.Encode()
12733	req, err := http.NewRequest("POST", urls, body)
12734	if err != nil {
12735		return nil, err
12736	}
12737	req.Header = reqHeaders
12738	googleapi.Expand(req.URL, map[string]string{
12739		"resource": c.resource,
12740	})
12741	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12742}
12743
12744// Do executes the "healthcare.projects.locations.datasets.consentStores.testIamPermissions" call.
12745// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
12746// Any non-2xx status code is an error. Response headers are in either
12747// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
12748// was returned at all) in error.(*googleapi.Error).Header. Use
12749// googleapi.IsNotModified to check whether the returned error was
12750// because http.StatusNotModified was returned.
12751func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
12752	gensupport.SetOptions(c.urlParams_, opts...)
12753	res, err := c.doRequest("json")
12754	if res != nil && res.StatusCode == http.StatusNotModified {
12755		if res.Body != nil {
12756			res.Body.Close()
12757		}
12758		return nil, &googleapi.Error{
12759			Code:   res.StatusCode,
12760			Header: res.Header,
12761		}
12762	}
12763	if err != nil {
12764		return nil, err
12765	}
12766	defer googleapi.CloseBody(res)
12767	if err := googleapi.CheckResponse(res); err != nil {
12768		return nil, err
12769	}
12770	ret := &TestIamPermissionsResponse{
12771		ServerResponse: googleapi.ServerResponse{
12772			Header:         res.Header,
12773			HTTPStatusCode: res.StatusCode,
12774		},
12775	}
12776	target := &ret
12777	if err := gensupport.DecodeResponse(target, res); err != nil {
12778		return nil, err
12779	}
12780	return ret, nil
12781	// {
12782	//   "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.",
12783	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions",
12784	//   "httpMethod": "POST",
12785	//   "id": "healthcare.projects.locations.datasets.consentStores.testIamPermissions",
12786	//   "parameterOrder": [
12787	//     "resource"
12788	//   ],
12789	//   "parameters": {
12790	//     "resource": {
12791	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
12792	//       "location": "path",
12793	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12794	//       "required": true,
12795	//       "type": "string"
12796	//     }
12797	//   },
12798	//   "path": "v1beta1/{+resource}:testIamPermissions",
12799	//   "request": {
12800	//     "$ref": "TestIamPermissionsRequest"
12801	//   },
12802	//   "response": {
12803	//     "$ref": "TestIamPermissionsResponse"
12804	//   },
12805	//   "scopes": [
12806	//     "https://www.googleapis.com/auth/cloud-platform"
12807	//   ]
12808	// }
12809
12810}
12811
12812// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create":
12813
12814type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall struct {
12815	s                   *Service
12816	parent              string
12817	attributedefinition *AttributeDefinition
12818	urlParams_          gensupport.URLParams
12819	ctx_                context.Context
12820	header_             http.Header
12821}
12822
12823// Create: Creates a new Attribute definition in the parent consent
12824// store.
12825//
12826// - parent: The name of the consent store that this Attribute
12827//   definition belongs to.
12828func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Create(parent string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12829	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12830	c.parent = parent
12831	c.attributedefinition = attributedefinition
12832	return c
12833}
12834
12835// AttributeDefinitionId sets the optional parameter
12836// "attributeDefinitionId": Required. The ID of the Attribute definition
12837// to create. The string must match the following regex:
12838// `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common
12839// Expression Language as listed on
12840// https://github.com/google/cel-spec/blob/master/doc/langdef.md.
12841func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) AttributeDefinitionId(attributeDefinitionId string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12842	c.urlParams_.Set("attributeDefinitionId", attributeDefinitionId)
12843	return c
12844}
12845
12846// Fields allows partial responses to be retrieved. See
12847// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12848// for more information.
12849func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12850	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12851	return c
12852}
12853
12854// Context sets the context to be used in this call's Do method. Any
12855// pending HTTP request will be aborted if the provided context is
12856// canceled.
12857func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12858	c.ctx_ = ctx
12859	return c
12860}
12861
12862// Header returns an http.Header that can be modified by the caller to
12863// add HTTP headers to the request.
12864func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Header() http.Header {
12865	if c.header_ == nil {
12866		c.header_ = make(http.Header)
12867	}
12868	return c.header_
12869}
12870
12871func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) doRequest(alt string) (*http.Response, error) {
12872	reqHeaders := make(http.Header)
12873	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12874	for k, v := range c.header_ {
12875		reqHeaders[k] = v
12876	}
12877	reqHeaders.Set("User-Agent", c.s.userAgent())
12878	var body io.Reader = nil
12879	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
12880	if err != nil {
12881		return nil, err
12882	}
12883	reqHeaders.Set("Content-Type", "application/json")
12884	c.urlParams_.Set("alt", alt)
12885	c.urlParams_.Set("prettyPrint", "false")
12886	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
12887	urls += "?" + c.urlParams_.Encode()
12888	req, err := http.NewRequest("POST", urls, body)
12889	if err != nil {
12890		return nil, err
12891	}
12892	req.Header = reqHeaders
12893	googleapi.Expand(req.URL, map[string]string{
12894		"parent": c.parent,
12895	})
12896	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12897}
12898
12899// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create" call.
12900// Exactly one of *AttributeDefinition or error will be non-nil. Any
12901// non-2xx status code is an error. Response headers are in either
12902// *AttributeDefinition.ServerResponse.Header or (if a response was
12903// returned at all) in error.(*googleapi.Error).Header. Use
12904// googleapi.IsNotModified to check whether the returned error was
12905// because http.StatusNotModified was returned.
12906func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
12907	gensupport.SetOptions(c.urlParams_, opts...)
12908	res, err := c.doRequest("json")
12909	if res != nil && res.StatusCode == http.StatusNotModified {
12910		if res.Body != nil {
12911			res.Body.Close()
12912		}
12913		return nil, &googleapi.Error{
12914			Code:   res.StatusCode,
12915			Header: res.Header,
12916		}
12917	}
12918	if err != nil {
12919		return nil, err
12920	}
12921	defer googleapi.CloseBody(res)
12922	if err := googleapi.CheckResponse(res); err != nil {
12923		return nil, err
12924	}
12925	ret := &AttributeDefinition{
12926		ServerResponse: googleapi.ServerResponse{
12927			Header:         res.Header,
12928			HTTPStatusCode: res.StatusCode,
12929		},
12930	}
12931	target := &ret
12932	if err := gensupport.DecodeResponse(target, res); err != nil {
12933		return nil, err
12934	}
12935	return ret, nil
12936	// {
12937	//   "description": "Creates a new Attribute definition in the parent consent store.",
12938	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
12939	//   "httpMethod": "POST",
12940	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create",
12941	//   "parameterOrder": [
12942	//     "parent"
12943	//   ],
12944	//   "parameters": {
12945	//     "attributeDefinitionId": {
12946	//       "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.",
12947	//       "location": "query",
12948	//       "type": "string"
12949	//     },
12950	//     "parent": {
12951	//       "description": "Required. The name of the consent store that this Attribute definition belongs to.",
12952	//       "location": "path",
12953	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12954	//       "required": true,
12955	//       "type": "string"
12956	//     }
12957	//   },
12958	//   "path": "v1beta1/{+parent}/attributeDefinitions",
12959	//   "request": {
12960	//     "$ref": "AttributeDefinition"
12961	//   },
12962	//   "response": {
12963	//     "$ref": "AttributeDefinition"
12964	//   },
12965	//   "scopes": [
12966	//     "https://www.googleapis.com/auth/cloud-platform"
12967	//   ]
12968	// }
12969
12970}
12971
12972// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete":
12973
12974type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall struct {
12975	s          *Service
12976	name       string
12977	urlParams_ gensupport.URLParams
12978	ctx_       context.Context
12979	header_    http.Header
12980}
12981
12982// Delete: Deletes the specified Attribute definition. Fails if the
12983// Attribute definition is referenced by any User data mapping, or the
12984// latest revision of any Consent.
12985//
12986// - name: The resource name of the Attribute definition to delete. To
12987//   preserve referential integrity, Attribute definitions referenced by
12988//   a User data mapping or the latest revision of a Consent cannot be
12989//   deleted.
12990func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
12991	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12992	c.name = name
12993	return c
12994}
12995
12996// Fields allows partial responses to be retrieved. See
12997// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12998// for more information.
12999func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13000	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13001	return c
13002}
13003
13004// Context sets the context to be used in this call's Do method. Any
13005// pending HTTP request will be aborted if the provided context is
13006// canceled.
13007func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13008	c.ctx_ = ctx
13009	return c
13010}
13011
13012// Header returns an http.Header that can be modified by the caller to
13013// add HTTP headers to the request.
13014func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Header() http.Header {
13015	if c.header_ == nil {
13016		c.header_ = make(http.Header)
13017	}
13018	return c.header_
13019}
13020
13021func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) doRequest(alt string) (*http.Response, error) {
13022	reqHeaders := make(http.Header)
13023	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13024	for k, v := range c.header_ {
13025		reqHeaders[k] = v
13026	}
13027	reqHeaders.Set("User-Agent", c.s.userAgent())
13028	var body io.Reader = nil
13029	c.urlParams_.Set("alt", alt)
13030	c.urlParams_.Set("prettyPrint", "false")
13031	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13032	urls += "?" + c.urlParams_.Encode()
13033	req, err := http.NewRequest("DELETE", urls, body)
13034	if err != nil {
13035		return nil, err
13036	}
13037	req.Header = reqHeaders
13038	googleapi.Expand(req.URL, map[string]string{
13039		"name": c.name,
13040	})
13041	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13042}
13043
13044// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete" call.
13045// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13046// code is an error. Response headers are in either
13047// *Empty.ServerResponse.Header or (if a response was returned at all)
13048// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13049// check whether the returned error was because http.StatusNotModified
13050// was returned.
13051func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13052	gensupport.SetOptions(c.urlParams_, opts...)
13053	res, err := c.doRequest("json")
13054	if res != nil && res.StatusCode == http.StatusNotModified {
13055		if res.Body != nil {
13056			res.Body.Close()
13057		}
13058		return nil, &googleapi.Error{
13059			Code:   res.StatusCode,
13060			Header: res.Header,
13061		}
13062	}
13063	if err != nil {
13064		return nil, err
13065	}
13066	defer googleapi.CloseBody(res)
13067	if err := googleapi.CheckResponse(res); err != nil {
13068		return nil, err
13069	}
13070	ret := &Empty{
13071		ServerResponse: googleapi.ServerResponse{
13072			Header:         res.Header,
13073			HTTPStatusCode: res.StatusCode,
13074		},
13075	}
13076	target := &ret
13077	if err := gensupport.DecodeResponse(target, res); err != nil {
13078		return nil, err
13079	}
13080	return ret, nil
13081	// {
13082	//   "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.",
13083	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13084	//   "httpMethod": "DELETE",
13085	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete",
13086	//   "parameterOrder": [
13087	//     "name"
13088	//   ],
13089	//   "parameters": {
13090	//     "name": {
13091	//       "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.",
13092	//       "location": "path",
13093	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13094	//       "required": true,
13095	//       "type": "string"
13096	//     }
13097	//   },
13098	//   "path": "v1beta1/{+name}",
13099	//   "response": {
13100	//     "$ref": "Empty"
13101	//   },
13102	//   "scopes": [
13103	//     "https://www.googleapis.com/auth/cloud-platform"
13104	//   ]
13105	// }
13106
13107}
13108
13109// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get":
13110
13111type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall struct {
13112	s            *Service
13113	name         string
13114	urlParams_   gensupport.URLParams
13115	ifNoneMatch_ string
13116	ctx_         context.Context
13117	header_      http.Header
13118}
13119
13120// Get: Gets the specified Attribute definition.
13121//
13122// - name: The resource name of the Attribute definition to get.
13123func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13124	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13125	c.name = name
13126	return c
13127}
13128
13129// Fields allows partial responses to be retrieved. See
13130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13131// for more information.
13132func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13134	return c
13135}
13136
13137// IfNoneMatch sets the optional parameter which makes the operation
13138// fail if the object's ETag matches the given value. This is useful for
13139// getting updates only after the object has changed since the last
13140// request. Use googleapi.IsNotModified to check whether the response
13141// error from Do is the result of In-None-Match.
13142func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13143	c.ifNoneMatch_ = entityTag
13144	return c
13145}
13146
13147// Context sets the context to be used in this call's Do method. Any
13148// pending HTTP request will be aborted if the provided context is
13149// canceled.
13150func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13151	c.ctx_ = ctx
13152	return c
13153}
13154
13155// Header returns an http.Header that can be modified by the caller to
13156// add HTTP headers to the request.
13157func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Header() http.Header {
13158	if c.header_ == nil {
13159		c.header_ = make(http.Header)
13160	}
13161	return c.header_
13162}
13163
13164func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
13165	reqHeaders := make(http.Header)
13166	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13167	for k, v := range c.header_ {
13168		reqHeaders[k] = v
13169	}
13170	reqHeaders.Set("User-Agent", c.s.userAgent())
13171	if c.ifNoneMatch_ != "" {
13172		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13173	}
13174	var body io.Reader = nil
13175	c.urlParams_.Set("alt", alt)
13176	c.urlParams_.Set("prettyPrint", "false")
13177	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13178	urls += "?" + c.urlParams_.Encode()
13179	req, err := http.NewRequest("GET", urls, body)
13180	if err != nil {
13181		return nil, err
13182	}
13183	req.Header = reqHeaders
13184	googleapi.Expand(req.URL, map[string]string{
13185		"name": c.name,
13186	})
13187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13188}
13189
13190// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get" call.
13191// Exactly one of *AttributeDefinition or error will be non-nil. Any
13192// non-2xx status code is an error. Response headers are in either
13193// *AttributeDefinition.ServerResponse.Header or (if a response was
13194// returned at all) in error.(*googleapi.Error).Header. Use
13195// googleapi.IsNotModified to check whether the returned error was
13196// because http.StatusNotModified was returned.
13197func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13198	gensupport.SetOptions(c.urlParams_, opts...)
13199	res, err := c.doRequest("json")
13200	if res != nil && res.StatusCode == http.StatusNotModified {
13201		if res.Body != nil {
13202			res.Body.Close()
13203		}
13204		return nil, &googleapi.Error{
13205			Code:   res.StatusCode,
13206			Header: res.Header,
13207		}
13208	}
13209	if err != nil {
13210		return nil, err
13211	}
13212	defer googleapi.CloseBody(res)
13213	if err := googleapi.CheckResponse(res); err != nil {
13214		return nil, err
13215	}
13216	ret := &AttributeDefinition{
13217		ServerResponse: googleapi.ServerResponse{
13218			Header:         res.Header,
13219			HTTPStatusCode: res.StatusCode,
13220		},
13221	}
13222	target := &ret
13223	if err := gensupport.DecodeResponse(target, res); err != nil {
13224		return nil, err
13225	}
13226	return ret, nil
13227	// {
13228	//   "description": "Gets the specified Attribute definition.",
13229	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13230	//   "httpMethod": "GET",
13231	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get",
13232	//   "parameterOrder": [
13233	//     "name"
13234	//   ],
13235	//   "parameters": {
13236	//     "name": {
13237	//       "description": "Required. The resource name of the Attribute definition to get.",
13238	//       "location": "path",
13239	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13240	//       "required": true,
13241	//       "type": "string"
13242	//     }
13243	//   },
13244	//   "path": "v1beta1/{+name}",
13245	//   "response": {
13246	//     "$ref": "AttributeDefinition"
13247	//   },
13248	//   "scopes": [
13249	//     "https://www.googleapis.com/auth/cloud-platform"
13250	//   ]
13251	// }
13252
13253}
13254
13255// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list":
13256
13257type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall struct {
13258	s            *Service
13259	parent       string
13260	urlParams_   gensupport.URLParams
13261	ifNoneMatch_ string
13262	ctx_         context.Context
13263	header_      http.Header
13264}
13265
13266// List: Lists the Attribute definitions in the specified consent store.
13267//
13268// - parent: Name of the consent store to retrieve Attribute definitions
13269//   from.
13270func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13271	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13272	c.parent = parent
13273	return c
13274}
13275
13276// Filter sets the optional parameter "filter": Restricts the attributes
13277// returned to those matching a filter. The following syntax is
13278// available: * A string field value can be written as text inside
13279// quotation marks, for example "query text". The only valid
13280// relational operation for text fields is equality (`=`), where text is
13281// searched within the field, rather than having the field be equal to
13282// the text. For example, "Comment = great" returns messages with
13283// `great` in the comment field. * A number field value can be written
13284// as an integer, a decimal, or an exponential. The valid relational
13285// operators for number fields are the equality operator (`=`), along
13286// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
13287// Note that there is no inequality (`!=`) operator. You can prepend the
13288// `NOT` operator to an expression to negate it. * A date field value
13289// must be written in `yyyy-mm-dd` form. Fields with date and time use
13290// the RFC3339 time format. Leading zeros are required for one-digit
13291// months and days. The valid relational operators for date fields are
13292// the equality operator (`=`) , along with the less than/greater than
13293// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
13294// (`!=`) operator. You can prepend the `NOT` operator to an expression
13295// to negate it. * Multiple field query expressions can be combined in
13296// one query by adding `AND` or `OR` operators between the expressions.
13297// If a boolean operator appears within a quoted string, it is not
13298// treated as special, it's just another part of the character string to
13299// be matched. You can prepend the `NOT` operator to an expression to
13300// negate it. The only field available for filtering is `category`. For
13301// example, `filter=category=\"REQUEST\".
13302func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13303	c.urlParams_.Set("filter", filter)
13304	return c
13305}
13306
13307// PageSize sets the optional parameter "pageSize": Limit on the number
13308// of Attribute definitions to return in a single response. If not
13309// specified, 100 is used. May not be larger than 1000.
13310func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13311	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13312	return c
13313}
13314
13315// PageToken sets the optional parameter "pageToken": Token to retrieve
13316// the next page of results or empty to get the first page.
13317func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13318	c.urlParams_.Set("pageToken", pageToken)
13319	return c
13320}
13321
13322// Fields allows partial responses to be retrieved. See
13323// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13324// for more information.
13325func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13326	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13327	return c
13328}
13329
13330// IfNoneMatch sets the optional parameter which makes the operation
13331// fail if the object's ETag matches the given value. This is useful for
13332// getting updates only after the object has changed since the last
13333// request. Use googleapi.IsNotModified to check whether the response
13334// error from Do is the result of In-None-Match.
13335func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13336	c.ifNoneMatch_ = entityTag
13337	return c
13338}
13339
13340// Context sets the context to be used in this call's Do method. Any
13341// pending HTTP request will be aborted if the provided context is
13342// canceled.
13343func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13344	c.ctx_ = ctx
13345	return c
13346}
13347
13348// Header returns an http.Header that can be modified by the caller to
13349// add HTTP headers to the request.
13350func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Header() http.Header {
13351	if c.header_ == nil {
13352		c.header_ = make(http.Header)
13353	}
13354	return c.header_
13355}
13356
13357func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
13358	reqHeaders := make(http.Header)
13359	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13360	for k, v := range c.header_ {
13361		reqHeaders[k] = v
13362	}
13363	reqHeaders.Set("User-Agent", c.s.userAgent())
13364	if c.ifNoneMatch_ != "" {
13365		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13366	}
13367	var body io.Reader = nil
13368	c.urlParams_.Set("alt", alt)
13369	c.urlParams_.Set("prettyPrint", "false")
13370	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
13371	urls += "?" + c.urlParams_.Encode()
13372	req, err := http.NewRequest("GET", urls, body)
13373	if err != nil {
13374		return nil, err
13375	}
13376	req.Header = reqHeaders
13377	googleapi.Expand(req.URL, map[string]string{
13378		"parent": c.parent,
13379	})
13380	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13381}
13382
13383// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list" call.
13384// Exactly one of *ListAttributeDefinitionsResponse or error will be
13385// non-nil. Any non-2xx status code is an error. Response headers are in
13386// either *ListAttributeDefinitionsResponse.ServerResponse.Header or (if
13387// a response was returned at all) in error.(*googleapi.Error).Header.
13388// Use googleapi.IsNotModified to check whether the returned error was
13389// because http.StatusNotModified was returned.
13390func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Do(opts ...googleapi.CallOption) (*ListAttributeDefinitionsResponse, error) {
13391	gensupport.SetOptions(c.urlParams_, opts...)
13392	res, err := c.doRequest("json")
13393	if res != nil && res.StatusCode == http.StatusNotModified {
13394		if res.Body != nil {
13395			res.Body.Close()
13396		}
13397		return nil, &googleapi.Error{
13398			Code:   res.StatusCode,
13399			Header: res.Header,
13400		}
13401	}
13402	if err != nil {
13403		return nil, err
13404	}
13405	defer googleapi.CloseBody(res)
13406	if err := googleapi.CheckResponse(res); err != nil {
13407		return nil, err
13408	}
13409	ret := &ListAttributeDefinitionsResponse{
13410		ServerResponse: googleapi.ServerResponse{
13411			Header:         res.Header,
13412			HTTPStatusCode: res.StatusCode,
13413		},
13414	}
13415	target := &ret
13416	if err := gensupport.DecodeResponse(target, res); err != nil {
13417		return nil, err
13418	}
13419	return ret, nil
13420	// {
13421	//   "description": "Lists the Attribute definitions in the specified consent store.",
13422	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
13423	//   "httpMethod": "GET",
13424	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list",
13425	//   "parameterOrder": [
13426	//     "parent"
13427	//   ],
13428	//   "parameters": {
13429	//     "filter": {
13430	//       "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\\\"`.",
13431	//       "location": "query",
13432	//       "type": "string"
13433	//     },
13434	//     "pageSize": {
13435	//       "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.",
13436	//       "format": "int32",
13437	//       "location": "query",
13438	//       "type": "integer"
13439	//     },
13440	//     "pageToken": {
13441	//       "description": "Optional. Token to retrieve the next page of results or empty to get the first page.",
13442	//       "location": "query",
13443	//       "type": "string"
13444	//     },
13445	//     "parent": {
13446	//       "description": "Required. Name of the consent store to retrieve Attribute definitions from.",
13447	//       "location": "path",
13448	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13449	//       "required": true,
13450	//       "type": "string"
13451	//     }
13452	//   },
13453	//   "path": "v1beta1/{+parent}/attributeDefinitions",
13454	//   "response": {
13455	//     "$ref": "ListAttributeDefinitionsResponse"
13456	//   },
13457	//   "scopes": [
13458	//     "https://www.googleapis.com/auth/cloud-platform"
13459	//   ]
13460	// }
13461
13462}
13463
13464// Pages invokes f for each page of results.
13465// A non-nil error returned from f will halt the iteration.
13466// The provided context supersedes any context provided to the Context method.
13467func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Pages(ctx context.Context, f func(*ListAttributeDefinitionsResponse) error) error {
13468	c.ctx_ = ctx
13469	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13470	for {
13471		x, err := c.Do()
13472		if err != nil {
13473			return err
13474		}
13475		if err := f(x); err != nil {
13476			return err
13477		}
13478		if x.NextPageToken == "" {
13479			return nil
13480		}
13481		c.PageToken(x.NextPageToken)
13482	}
13483}
13484
13485// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch":
13486
13487type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall struct {
13488	s                   *Service
13489	name                string
13490	attributedefinition *AttributeDefinition
13491	urlParams_          gensupport.URLParams
13492	ctx_                context.Context
13493	header_             http.Header
13494}
13495
13496// Patch: Updates the specified Attribute definition.
13497//
13498// - name: Resource name of the Attribute definition, of the form
13499//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
13500//   /consentStores/{consent_store_id}/attributeDefinitions/{attribute_de
13501//   finition_id}`. Cannot be changed after creation.
13502func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Patch(name string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13503	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13504	c.name = name
13505	c.attributedefinition = attributedefinition
13506	return c
13507}
13508
13509// UpdateMask sets the optional parameter "updateMask": Required. The
13510// update mask that applies to the resource. For the `FieldMask`
13511// definition, see
13512// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
13513// Only the `description`, `allowed_values`, `consent_default_values`
13514// and `data_mapping_default_value` fields can be updated. The updated
13515// `allowed_values` must contain all values from the previous
13516// `allowed_values`.
13517func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13518	c.urlParams_.Set("updateMask", updateMask)
13519	return c
13520}
13521
13522// Fields allows partial responses to be retrieved. See
13523// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13524// for more information.
13525func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13526	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13527	return c
13528}
13529
13530// Context sets the context to be used in this call's Do method. Any
13531// pending HTTP request will be aborted if the provided context is
13532// canceled.
13533func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13534	c.ctx_ = ctx
13535	return c
13536}
13537
13538// Header returns an http.Header that can be modified by the caller to
13539// add HTTP headers to the request.
13540func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Header() http.Header {
13541	if c.header_ == nil {
13542		c.header_ = make(http.Header)
13543	}
13544	return c.header_
13545}
13546
13547func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) doRequest(alt string) (*http.Response, error) {
13548	reqHeaders := make(http.Header)
13549	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13550	for k, v := range c.header_ {
13551		reqHeaders[k] = v
13552	}
13553	reqHeaders.Set("User-Agent", c.s.userAgent())
13554	var body io.Reader = nil
13555	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
13556	if err != nil {
13557		return nil, err
13558	}
13559	reqHeaders.Set("Content-Type", "application/json")
13560	c.urlParams_.Set("alt", alt)
13561	c.urlParams_.Set("prettyPrint", "false")
13562	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13563	urls += "?" + c.urlParams_.Encode()
13564	req, err := http.NewRequest("PATCH", urls, body)
13565	if err != nil {
13566		return nil, err
13567	}
13568	req.Header = reqHeaders
13569	googleapi.Expand(req.URL, map[string]string{
13570		"name": c.name,
13571	})
13572	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13573}
13574
13575// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch" call.
13576// Exactly one of *AttributeDefinition or error will be non-nil. Any
13577// non-2xx status code is an error. Response headers are in either
13578// *AttributeDefinition.ServerResponse.Header or (if a response was
13579// returned at all) in error.(*googleapi.Error).Header. Use
13580// googleapi.IsNotModified to check whether the returned error was
13581// because http.StatusNotModified was returned.
13582func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13583	gensupport.SetOptions(c.urlParams_, opts...)
13584	res, err := c.doRequest("json")
13585	if res != nil && res.StatusCode == http.StatusNotModified {
13586		if res.Body != nil {
13587			res.Body.Close()
13588		}
13589		return nil, &googleapi.Error{
13590			Code:   res.StatusCode,
13591			Header: res.Header,
13592		}
13593	}
13594	if err != nil {
13595		return nil, err
13596	}
13597	defer googleapi.CloseBody(res)
13598	if err := googleapi.CheckResponse(res); err != nil {
13599		return nil, err
13600	}
13601	ret := &AttributeDefinition{
13602		ServerResponse: googleapi.ServerResponse{
13603			Header:         res.Header,
13604			HTTPStatusCode: res.StatusCode,
13605		},
13606	}
13607	target := &ret
13608	if err := gensupport.DecodeResponse(target, res); err != nil {
13609		return nil, err
13610	}
13611	return ret, nil
13612	// {
13613	//   "description": "Updates the specified Attribute definition.",
13614	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13615	//   "httpMethod": "PATCH",
13616	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch",
13617	//   "parameterOrder": [
13618	//     "name"
13619	//   ],
13620	//   "parameters": {
13621	//     "name": {
13622	//       "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.",
13623	//       "location": "path",
13624	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13625	//       "required": true,
13626	//       "type": "string"
13627	//     },
13628	//     "updateMask": {
13629	//       "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`.",
13630	//       "format": "google-fieldmask",
13631	//       "location": "query",
13632	//       "type": "string"
13633	//     }
13634	//   },
13635	//   "path": "v1beta1/{+name}",
13636	//   "request": {
13637	//     "$ref": "AttributeDefinition"
13638	//   },
13639	//   "response": {
13640	//     "$ref": "AttributeDefinition"
13641	//   },
13642	//   "scopes": [
13643	//     "https://www.googleapis.com/auth/cloud-platform"
13644	//   ]
13645	// }
13646
13647}
13648
13649// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create":
13650
13651type ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall struct {
13652	s               *Service
13653	parent          string
13654	consentartifact *ConsentArtifact
13655	urlParams_      gensupport.URLParams
13656	ctx_            context.Context
13657	header_         http.Header
13658}
13659
13660// Create: Creates a new Consent artifact in the parent consent store.
13661//
13662// - parent: The name of the consent store this Consent artifact belongs
13663//   to.
13664func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Create(parent string, consentartifact *ConsentArtifact) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13665	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13666	c.parent = parent
13667	c.consentartifact = consentartifact
13668	return c
13669}
13670
13671// Fields allows partial responses to be retrieved. See
13672// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13673// for more information.
13674func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13675	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13676	return c
13677}
13678
13679// Context sets the context to be used in this call's Do method. Any
13680// pending HTTP request will be aborted if the provided context is
13681// canceled.
13682func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13683	c.ctx_ = ctx
13684	return c
13685}
13686
13687// Header returns an http.Header that can be modified by the caller to
13688// add HTTP headers to the request.
13689func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Header() http.Header {
13690	if c.header_ == nil {
13691		c.header_ = make(http.Header)
13692	}
13693	return c.header_
13694}
13695
13696func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) doRequest(alt string) (*http.Response, error) {
13697	reqHeaders := make(http.Header)
13698	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13699	for k, v := range c.header_ {
13700		reqHeaders[k] = v
13701	}
13702	reqHeaders.Set("User-Agent", c.s.userAgent())
13703	var body io.Reader = nil
13704	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentartifact)
13705	if err != nil {
13706		return nil, err
13707	}
13708	reqHeaders.Set("Content-Type", "application/json")
13709	c.urlParams_.Set("alt", alt)
13710	c.urlParams_.Set("prettyPrint", "false")
13711	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
13712	urls += "?" + c.urlParams_.Encode()
13713	req, err := http.NewRequest("POST", urls, body)
13714	if err != nil {
13715		return nil, err
13716	}
13717	req.Header = reqHeaders
13718	googleapi.Expand(req.URL, map[string]string{
13719		"parent": c.parent,
13720	})
13721	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13722}
13723
13724// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create" call.
13725// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
13726// status code is an error. Response headers are in either
13727// *ConsentArtifact.ServerResponse.Header or (if a response was returned
13728// at all) in error.(*googleapi.Error).Header. Use
13729// googleapi.IsNotModified to check whether the returned error was
13730// because http.StatusNotModified was returned.
13731func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
13732	gensupport.SetOptions(c.urlParams_, opts...)
13733	res, err := c.doRequest("json")
13734	if res != nil && res.StatusCode == http.StatusNotModified {
13735		if res.Body != nil {
13736			res.Body.Close()
13737		}
13738		return nil, &googleapi.Error{
13739			Code:   res.StatusCode,
13740			Header: res.Header,
13741		}
13742	}
13743	if err != nil {
13744		return nil, err
13745	}
13746	defer googleapi.CloseBody(res)
13747	if err := googleapi.CheckResponse(res); err != nil {
13748		return nil, err
13749	}
13750	ret := &ConsentArtifact{
13751		ServerResponse: googleapi.ServerResponse{
13752			Header:         res.Header,
13753			HTTPStatusCode: res.StatusCode,
13754		},
13755	}
13756	target := &ret
13757	if err := gensupport.DecodeResponse(target, res); err != nil {
13758		return nil, err
13759	}
13760	return ret, nil
13761	// {
13762	//   "description": "Creates a new Consent artifact in the parent consent store.",
13763	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
13764	//   "httpMethod": "POST",
13765	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create",
13766	//   "parameterOrder": [
13767	//     "parent"
13768	//   ],
13769	//   "parameters": {
13770	//     "parent": {
13771	//       "description": "Required. The name of the consent store this Consent artifact belongs to.",
13772	//       "location": "path",
13773	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13774	//       "required": true,
13775	//       "type": "string"
13776	//     }
13777	//   },
13778	//   "path": "v1beta1/{+parent}/consentArtifacts",
13779	//   "request": {
13780	//     "$ref": "ConsentArtifact"
13781	//   },
13782	//   "response": {
13783	//     "$ref": "ConsentArtifact"
13784	//   },
13785	//   "scopes": [
13786	//     "https://www.googleapis.com/auth/cloud-platform"
13787	//   ]
13788	// }
13789
13790}
13791
13792// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete":
13793
13794type ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall struct {
13795	s          *Service
13796	name       string
13797	urlParams_ gensupport.URLParams
13798	ctx_       context.Context
13799	header_    http.Header
13800}
13801
13802// Delete: Deletes the specified Consent artifact. Fails if the artifact
13803// is referenced by the latest revision of any Consent.
13804//
13805// - name: The resource name of the Consent artifact to delete. To
13806//   preserve referential integrity, Consent artifacts referenced by the
13807//   latest revision of a Consent cannot be deleted.
13808func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13809	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13810	c.name = name
13811	return c
13812}
13813
13814// Fields allows partial responses to be retrieved. See
13815// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13816// for more information.
13817func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13818	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13819	return c
13820}
13821
13822// Context sets the context to be used in this call's Do method. Any
13823// pending HTTP request will be aborted if the provided context is
13824// canceled.
13825func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13826	c.ctx_ = ctx
13827	return c
13828}
13829
13830// Header returns an http.Header that can be modified by the caller to
13831// add HTTP headers to the request.
13832func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Header() http.Header {
13833	if c.header_ == nil {
13834		c.header_ = make(http.Header)
13835	}
13836	return c.header_
13837}
13838
13839func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) doRequest(alt string) (*http.Response, error) {
13840	reqHeaders := make(http.Header)
13841	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13842	for k, v := range c.header_ {
13843		reqHeaders[k] = v
13844	}
13845	reqHeaders.Set("User-Agent", c.s.userAgent())
13846	var body io.Reader = nil
13847	c.urlParams_.Set("alt", alt)
13848	c.urlParams_.Set("prettyPrint", "false")
13849	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13850	urls += "?" + c.urlParams_.Encode()
13851	req, err := http.NewRequest("DELETE", urls, body)
13852	if err != nil {
13853		return nil, err
13854	}
13855	req.Header = reqHeaders
13856	googleapi.Expand(req.URL, map[string]string{
13857		"name": c.name,
13858	})
13859	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13860}
13861
13862// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete" call.
13863// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13864// code is an error. Response headers are in either
13865// *Empty.ServerResponse.Header or (if a response was returned at all)
13866// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13867// check whether the returned error was because http.StatusNotModified
13868// was returned.
13869func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13870	gensupport.SetOptions(c.urlParams_, opts...)
13871	res, err := c.doRequest("json")
13872	if res != nil && res.StatusCode == http.StatusNotModified {
13873		if res.Body != nil {
13874			res.Body.Close()
13875		}
13876		return nil, &googleapi.Error{
13877			Code:   res.StatusCode,
13878			Header: res.Header,
13879		}
13880	}
13881	if err != nil {
13882		return nil, err
13883	}
13884	defer googleapi.CloseBody(res)
13885	if err := googleapi.CheckResponse(res); err != nil {
13886		return nil, err
13887	}
13888	ret := &Empty{
13889		ServerResponse: googleapi.ServerResponse{
13890			Header:         res.Header,
13891			HTTPStatusCode: res.StatusCode,
13892		},
13893	}
13894	target := &ret
13895	if err := gensupport.DecodeResponse(target, res); err != nil {
13896		return nil, err
13897	}
13898	return ret, nil
13899	// {
13900	//   "description": "Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.",
13901	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
13902	//   "httpMethod": "DELETE",
13903	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete",
13904	//   "parameterOrder": [
13905	//     "name"
13906	//   ],
13907	//   "parameters": {
13908	//     "name": {
13909	//       "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.",
13910	//       "location": "path",
13911	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
13912	//       "required": true,
13913	//       "type": "string"
13914	//     }
13915	//   },
13916	//   "path": "v1beta1/{+name}",
13917	//   "response": {
13918	//     "$ref": "Empty"
13919	//   },
13920	//   "scopes": [
13921	//     "https://www.googleapis.com/auth/cloud-platform"
13922	//   ]
13923	// }
13924
13925}
13926
13927// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get":
13928
13929type ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall struct {
13930	s            *Service
13931	name         string
13932	urlParams_   gensupport.URLParams
13933	ifNoneMatch_ string
13934	ctx_         context.Context
13935	header_      http.Header
13936}
13937
13938// Get: Gets the specified Consent artifact.
13939//
13940// - name: The resource name of the Consent artifact to retrieve.
13941func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13942	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13943	c.name = name
13944	return c
13945}
13946
13947// Fields allows partial responses to be retrieved. See
13948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13949// for more information.
13950func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13952	return c
13953}
13954
13955// IfNoneMatch sets the optional parameter which makes the operation
13956// fail if the object's ETag matches the given value. This is useful for
13957// getting updates only after the object has changed since the last
13958// request. Use googleapi.IsNotModified to check whether the response
13959// error from Do is the result of In-None-Match.
13960func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13961	c.ifNoneMatch_ = entityTag
13962	return c
13963}
13964
13965// Context sets the context to be used in this call's Do method. Any
13966// pending HTTP request will be aborted if the provided context is
13967// canceled.
13968func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
13969	c.ctx_ = ctx
13970	return c
13971}
13972
13973// Header returns an http.Header that can be modified by the caller to
13974// add HTTP headers to the request.
13975func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Header() http.Header {
13976	if c.header_ == nil {
13977		c.header_ = make(http.Header)
13978	}
13979	return c.header_
13980}
13981
13982func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) doRequest(alt string) (*http.Response, error) {
13983	reqHeaders := make(http.Header)
13984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13985	for k, v := range c.header_ {
13986		reqHeaders[k] = v
13987	}
13988	reqHeaders.Set("User-Agent", c.s.userAgent())
13989	if c.ifNoneMatch_ != "" {
13990		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13991	}
13992	var body io.Reader = nil
13993	c.urlParams_.Set("alt", alt)
13994	c.urlParams_.Set("prettyPrint", "false")
13995	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13996	urls += "?" + c.urlParams_.Encode()
13997	req, err := http.NewRequest("GET", urls, body)
13998	if err != nil {
13999		return nil, err
14000	}
14001	req.Header = reqHeaders
14002	googleapi.Expand(req.URL, map[string]string{
14003		"name": c.name,
14004	})
14005	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14006}
14007
14008// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get" call.
14009// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
14010// status code is an error. Response headers are in either
14011// *ConsentArtifact.ServerResponse.Header or (if a response was returned
14012// at all) in error.(*googleapi.Error).Header. Use
14013// googleapi.IsNotModified to check whether the returned error was
14014// because http.StatusNotModified was returned.
14015func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
14016	gensupport.SetOptions(c.urlParams_, opts...)
14017	res, err := c.doRequest("json")
14018	if res != nil && res.StatusCode == http.StatusNotModified {
14019		if res.Body != nil {
14020			res.Body.Close()
14021		}
14022		return nil, &googleapi.Error{
14023			Code:   res.StatusCode,
14024			Header: res.Header,
14025		}
14026	}
14027	if err != nil {
14028		return nil, err
14029	}
14030	defer googleapi.CloseBody(res)
14031	if err := googleapi.CheckResponse(res); err != nil {
14032		return nil, err
14033	}
14034	ret := &ConsentArtifact{
14035		ServerResponse: googleapi.ServerResponse{
14036			Header:         res.Header,
14037			HTTPStatusCode: res.StatusCode,
14038		},
14039	}
14040	target := &ret
14041	if err := gensupport.DecodeResponse(target, res); err != nil {
14042		return nil, err
14043	}
14044	return ret, nil
14045	// {
14046	//   "description": "Gets the specified Consent artifact.",
14047	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
14048	//   "httpMethod": "GET",
14049	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get",
14050	//   "parameterOrder": [
14051	//     "name"
14052	//   ],
14053	//   "parameters": {
14054	//     "name": {
14055	//       "description": "Required. The resource name of the Consent artifact to retrieve.",
14056	//       "location": "path",
14057	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
14058	//       "required": true,
14059	//       "type": "string"
14060	//     }
14061	//   },
14062	//   "path": "v1beta1/{+name}",
14063	//   "response": {
14064	//     "$ref": "ConsentArtifact"
14065	//   },
14066	//   "scopes": [
14067	//     "https://www.googleapis.com/auth/cloud-platform"
14068	//   ]
14069	// }
14070
14071}
14072
14073// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list":
14074
14075type ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall struct {
14076	s            *Service
14077	parent       string
14078	urlParams_   gensupport.URLParams
14079	ifNoneMatch_ string
14080	ctx_         context.Context
14081	header_      http.Header
14082}
14083
14084// List: Lists the Consent artifacts in the specified consent store.
14085//
14086// - parent: Name of the consent store to retrieve consent artifacts
14087//   from.
14088func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14089	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14090	c.parent = parent
14091	return c
14092}
14093
14094// Filter sets the optional parameter "filter": Restricts the artifacts
14095// returned to those matching a filter. The following syntax is
14096// available: * A string field value can be written as text inside
14097// quotation marks, for example "query text". The only valid
14098// relational operation for text fields is equality (`=`), where text is
14099// searched within the field, rather than having the field be equal to
14100// the text. For example, "Comment = great" returns messages with
14101// `great` in the comment field. * A number field value can be written
14102// as an integer, a decimal, or an exponential. The valid relational
14103// operators for number fields are the equality operator (`=`), along
14104// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
14105// Note that there is no inequality (`!=`) operator. You can prepend the
14106// `NOT` operator to an expression to negate it. * A date field value
14107// must be written in `yyyy-mm-dd` form. Fields with date and time use
14108// the RFC3339 time format. Leading zeros are required for one-digit
14109// months and days. The valid relational operators for date fields are
14110// the equality operator (`=`) , along with the less than/greater than
14111// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
14112// (`!=`) operator. You can prepend the `NOT` operator to an expression
14113// to negate it. * Multiple field query expressions can be combined in
14114// one query by adding `AND` or `OR` operators between the expressions.
14115// If a boolean operator appears within a quoted string, it is not
14116// treated as special, it's just another part of the character string to
14117// be matched. You can prepend the `NOT` operator to an expression to
14118// negate it. The fields available for filtering are: - user_id. For
14119// example, `filter=user_id=\"user123\". - consent_content_version -
14120// metadata. For example, `filter=Metadata(\"testkey\")=\"value\" or
14121// `filter=HasMetadata(\"testkey\")`.
14122func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14123	c.urlParams_.Set("filter", filter)
14124	return c
14125}
14126
14127// PageSize sets the optional parameter "pageSize": Limit on the number
14128// of consent artifacts to return in a single response. If not
14129// specified, 100 is used. May not be larger than 1000.
14130func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14131	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14132	return c
14133}
14134
14135// PageToken sets the optional parameter "pageToken": The
14136// next_page_token value returned from the previous List request, if
14137// any.
14138func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14139	c.urlParams_.Set("pageToken", pageToken)
14140	return c
14141}
14142
14143// Fields allows partial responses to be retrieved. See
14144// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14145// for more information.
14146func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14147	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14148	return c
14149}
14150
14151// IfNoneMatch sets the optional parameter which makes the operation
14152// fail if the object's ETag matches the given value. This is useful for
14153// getting updates only after the object has changed since the last
14154// request. Use googleapi.IsNotModified to check whether the response
14155// error from Do is the result of In-None-Match.
14156func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14157	c.ifNoneMatch_ = entityTag
14158	return c
14159}
14160
14161// Context sets the context to be used in this call's Do method. Any
14162// pending HTTP request will be aborted if the provided context is
14163// canceled.
14164func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14165	c.ctx_ = ctx
14166	return c
14167}
14168
14169// Header returns an http.Header that can be modified by the caller to
14170// add HTTP headers to the request.
14171func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Header() http.Header {
14172	if c.header_ == nil {
14173		c.header_ = make(http.Header)
14174	}
14175	return c.header_
14176}
14177
14178func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) doRequest(alt string) (*http.Response, error) {
14179	reqHeaders := make(http.Header)
14180	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14181	for k, v := range c.header_ {
14182		reqHeaders[k] = v
14183	}
14184	reqHeaders.Set("User-Agent", c.s.userAgent())
14185	if c.ifNoneMatch_ != "" {
14186		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14187	}
14188	var body io.Reader = nil
14189	c.urlParams_.Set("alt", alt)
14190	c.urlParams_.Set("prettyPrint", "false")
14191	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
14192	urls += "?" + c.urlParams_.Encode()
14193	req, err := http.NewRequest("GET", urls, body)
14194	if err != nil {
14195		return nil, err
14196	}
14197	req.Header = reqHeaders
14198	googleapi.Expand(req.URL, map[string]string{
14199		"parent": c.parent,
14200	})
14201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14202}
14203
14204// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list" call.
14205// Exactly one of *ListConsentArtifactsResponse or error will be
14206// non-nil. Any non-2xx status code is an error. Response headers are in
14207// either *ListConsentArtifactsResponse.ServerResponse.Header or (if a
14208// response was returned at all) in error.(*googleapi.Error).Header. Use
14209// googleapi.IsNotModified to check whether the returned error was
14210// because http.StatusNotModified was returned.
14211func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Do(opts ...googleapi.CallOption) (*ListConsentArtifactsResponse, error) {
14212	gensupport.SetOptions(c.urlParams_, opts...)
14213	res, err := c.doRequest("json")
14214	if res != nil && res.StatusCode == http.StatusNotModified {
14215		if res.Body != nil {
14216			res.Body.Close()
14217		}
14218		return nil, &googleapi.Error{
14219			Code:   res.StatusCode,
14220			Header: res.Header,
14221		}
14222	}
14223	if err != nil {
14224		return nil, err
14225	}
14226	defer googleapi.CloseBody(res)
14227	if err := googleapi.CheckResponse(res); err != nil {
14228		return nil, err
14229	}
14230	ret := &ListConsentArtifactsResponse{
14231		ServerResponse: googleapi.ServerResponse{
14232			Header:         res.Header,
14233			HTTPStatusCode: res.StatusCode,
14234		},
14235	}
14236	target := &ret
14237	if err := gensupport.DecodeResponse(target, res); err != nil {
14238		return nil, err
14239	}
14240	return ret, nil
14241	// {
14242	//   "description": "Lists the Consent artifacts in the specified consent store.",
14243	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
14244	//   "httpMethod": "GET",
14245	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list",
14246	//   "parameterOrder": [
14247	//     "parent"
14248	//   ],
14249	//   "parameters": {
14250	//     "filter": {
14251	//       "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\\\")`.",
14252	//       "location": "query",
14253	//       "type": "string"
14254	//     },
14255	//     "pageSize": {
14256	//       "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.",
14257	//       "format": "int32",
14258	//       "location": "query",
14259	//       "type": "integer"
14260	//     },
14261	//     "pageToken": {
14262	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
14263	//       "location": "query",
14264	//       "type": "string"
14265	//     },
14266	//     "parent": {
14267	//       "description": "Required. Name of the consent store to retrieve consent artifacts from.",
14268	//       "location": "path",
14269	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14270	//       "required": true,
14271	//       "type": "string"
14272	//     }
14273	//   },
14274	//   "path": "v1beta1/{+parent}/consentArtifacts",
14275	//   "response": {
14276	//     "$ref": "ListConsentArtifactsResponse"
14277	//   },
14278	//   "scopes": [
14279	//     "https://www.googleapis.com/auth/cloud-platform"
14280	//   ]
14281	// }
14282
14283}
14284
14285// Pages invokes f for each page of results.
14286// A non-nil error returned from f will halt the iteration.
14287// The provided context supersedes any context provided to the Context method.
14288func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Pages(ctx context.Context, f func(*ListConsentArtifactsResponse) error) error {
14289	c.ctx_ = ctx
14290	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14291	for {
14292		x, err := c.Do()
14293		if err != nil {
14294			return err
14295		}
14296		if err := f(x); err != nil {
14297			return err
14298		}
14299		if x.NextPageToken == "" {
14300			return nil
14301		}
14302		c.PageToken(x.NextPageToken)
14303	}
14304}
14305
14306// method id "healthcare.projects.locations.datasets.consentStores.consents.activate":
14307
14308type ProjectsLocationsDatasetsConsentStoresConsentsActivateCall struct {
14309	s                      *Service
14310	name                   string
14311	activateconsentrequest *ActivateConsentRequest
14312	urlParams_             gensupport.URLParams
14313	ctx_                   context.Context
14314	header_                http.Header
14315}
14316
14317// Activate: Activates the latest revision of the specified Consent by
14318// committing a new revision with `state` updated to `ACTIVE`. If the
14319// latest revision of the specified Consent is in the `ACTIVE` state, no
14320// new revision is committed. A FAILED_PRECONDITION error occurs if the
14321// latest revision of the specified consent is in the `REJECTED` or
14322// `REVOKED` state.
14323//
14324// - name: The resource name of the Consent to activate, of the form
14325//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14326//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14327//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14328//   name.
14329func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Activate(name string, activateconsentrequest *ActivateConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14330	c := &ProjectsLocationsDatasetsConsentStoresConsentsActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14331	c.name = name
14332	c.activateconsentrequest = activateconsentrequest
14333	return c
14334}
14335
14336// Fields allows partial responses to be retrieved. See
14337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14338// for more information.
14339func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14341	return c
14342}
14343
14344// Context sets the context to be used in this call's Do method. Any
14345// pending HTTP request will be aborted if the provided context is
14346// canceled.
14347func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14348	c.ctx_ = ctx
14349	return c
14350}
14351
14352// Header returns an http.Header that can be modified by the caller to
14353// add HTTP headers to the request.
14354func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Header() http.Header {
14355	if c.header_ == nil {
14356		c.header_ = make(http.Header)
14357	}
14358	return c.header_
14359}
14360
14361func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) doRequest(alt string) (*http.Response, error) {
14362	reqHeaders := make(http.Header)
14363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14364	for k, v := range c.header_ {
14365		reqHeaders[k] = v
14366	}
14367	reqHeaders.Set("User-Agent", c.s.userAgent())
14368	var body io.Reader = nil
14369	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activateconsentrequest)
14370	if err != nil {
14371		return nil, err
14372	}
14373	reqHeaders.Set("Content-Type", "application/json")
14374	c.urlParams_.Set("alt", alt)
14375	c.urlParams_.Set("prettyPrint", "false")
14376	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:activate")
14377	urls += "?" + c.urlParams_.Encode()
14378	req, err := http.NewRequest("POST", urls, body)
14379	if err != nil {
14380		return nil, err
14381	}
14382	req.Header = reqHeaders
14383	googleapi.Expand(req.URL, map[string]string{
14384		"name": c.name,
14385	})
14386	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14387}
14388
14389// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.activate" call.
14390// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14391// code is an error. Response headers are in either
14392// *Consent.ServerResponse.Header or (if a response was returned at all)
14393// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14394// check whether the returned error was because http.StatusNotModified
14395// was returned.
14396func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14397	gensupport.SetOptions(c.urlParams_, opts...)
14398	res, err := c.doRequest("json")
14399	if res != nil && res.StatusCode == http.StatusNotModified {
14400		if res.Body != nil {
14401			res.Body.Close()
14402		}
14403		return nil, &googleapi.Error{
14404			Code:   res.StatusCode,
14405			Header: res.Header,
14406		}
14407	}
14408	if err != nil {
14409		return nil, err
14410	}
14411	defer googleapi.CloseBody(res)
14412	if err := googleapi.CheckResponse(res); err != nil {
14413		return nil, err
14414	}
14415	ret := &Consent{
14416		ServerResponse: googleapi.ServerResponse{
14417			Header:         res.Header,
14418			HTTPStatusCode: res.StatusCode,
14419		},
14420	}
14421	target := &ret
14422	if err := gensupport.DecodeResponse(target, res); err != nil {
14423		return nil, err
14424	}
14425	return ret, nil
14426	// {
14427	//   "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.",
14428	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate",
14429	//   "httpMethod": "POST",
14430	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.activate",
14431	//   "parameterOrder": [
14432	//     "name"
14433	//   ],
14434	//   "parameters": {
14435	//     "name": {
14436	//       "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.",
14437	//       "location": "path",
14438	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14439	//       "required": true,
14440	//       "type": "string"
14441	//     }
14442	//   },
14443	//   "path": "v1beta1/{+name}:activate",
14444	//   "request": {
14445	//     "$ref": "ActivateConsentRequest"
14446	//   },
14447	//   "response": {
14448	//     "$ref": "Consent"
14449	//   },
14450	//   "scopes": [
14451	//     "https://www.googleapis.com/auth/cloud-platform"
14452	//   ]
14453	// }
14454
14455}
14456
14457// method id "healthcare.projects.locations.datasets.consentStores.consents.create":
14458
14459type ProjectsLocationsDatasetsConsentStoresConsentsCreateCall struct {
14460	s          *Service
14461	parent     string
14462	consent    *Consent
14463	urlParams_ gensupport.URLParams
14464	ctx_       context.Context
14465	header_    http.Header
14466}
14467
14468// Create: Creates a new Consent in the parent consent store.
14469//
14470// - parent: Name of the consent store.
14471func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Create(parent string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14472	c := &ProjectsLocationsDatasetsConsentStoresConsentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14473	c.parent = parent
14474	c.consent = consent
14475	return c
14476}
14477
14478// Fields allows partial responses to be retrieved. See
14479// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14480// for more information.
14481func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14482	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14483	return c
14484}
14485
14486// Context sets the context to be used in this call's Do method. Any
14487// pending HTTP request will be aborted if the provided context is
14488// canceled.
14489func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14490	c.ctx_ = ctx
14491	return c
14492}
14493
14494// Header returns an http.Header that can be modified by the caller to
14495// add HTTP headers to the request.
14496func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Header() http.Header {
14497	if c.header_ == nil {
14498		c.header_ = make(http.Header)
14499	}
14500	return c.header_
14501}
14502
14503func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) doRequest(alt string) (*http.Response, error) {
14504	reqHeaders := make(http.Header)
14505	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14506	for k, v := range c.header_ {
14507		reqHeaders[k] = v
14508	}
14509	reqHeaders.Set("User-Agent", c.s.userAgent())
14510	var body io.Reader = nil
14511	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
14512	if err != nil {
14513		return nil, err
14514	}
14515	reqHeaders.Set("Content-Type", "application/json")
14516	c.urlParams_.Set("alt", alt)
14517	c.urlParams_.Set("prettyPrint", "false")
14518	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
14519	urls += "?" + c.urlParams_.Encode()
14520	req, err := http.NewRequest("POST", urls, body)
14521	if err != nil {
14522		return nil, err
14523	}
14524	req.Header = reqHeaders
14525	googleapi.Expand(req.URL, map[string]string{
14526		"parent": c.parent,
14527	})
14528	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14529}
14530
14531// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.create" call.
14532// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14533// code is an error. Response headers are in either
14534// *Consent.ServerResponse.Header or (if a response was returned at all)
14535// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14536// check whether the returned error was because http.StatusNotModified
14537// was returned.
14538func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14539	gensupport.SetOptions(c.urlParams_, opts...)
14540	res, err := c.doRequest("json")
14541	if res != nil && res.StatusCode == http.StatusNotModified {
14542		if res.Body != nil {
14543			res.Body.Close()
14544		}
14545		return nil, &googleapi.Error{
14546			Code:   res.StatusCode,
14547			Header: res.Header,
14548		}
14549	}
14550	if err != nil {
14551		return nil, err
14552	}
14553	defer googleapi.CloseBody(res)
14554	if err := googleapi.CheckResponse(res); err != nil {
14555		return nil, err
14556	}
14557	ret := &Consent{
14558		ServerResponse: googleapi.ServerResponse{
14559			Header:         res.Header,
14560			HTTPStatusCode: res.StatusCode,
14561		},
14562	}
14563	target := &ret
14564	if err := gensupport.DecodeResponse(target, res); err != nil {
14565		return nil, err
14566	}
14567	return ret, nil
14568	// {
14569	//   "description": "Creates a new Consent in the parent consent store.",
14570	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
14571	//   "httpMethod": "POST",
14572	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.create",
14573	//   "parameterOrder": [
14574	//     "parent"
14575	//   ],
14576	//   "parameters": {
14577	//     "parent": {
14578	//       "description": "Required. Name of the consent store.",
14579	//       "location": "path",
14580	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14581	//       "required": true,
14582	//       "type": "string"
14583	//     }
14584	//   },
14585	//   "path": "v1beta1/{+parent}/consents",
14586	//   "request": {
14587	//     "$ref": "Consent"
14588	//   },
14589	//   "response": {
14590	//     "$ref": "Consent"
14591	//   },
14592	//   "scopes": [
14593	//     "https://www.googleapis.com/auth/cloud-platform"
14594	//   ]
14595	// }
14596
14597}
14598
14599// method id "healthcare.projects.locations.datasets.consentStores.consents.delete":
14600
14601type ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall struct {
14602	s          *Service
14603	name       string
14604	urlParams_ gensupport.URLParams
14605	ctx_       context.Context
14606	header_    http.Header
14607}
14608
14609// Delete: Deletes the Consent and its revisions. To keep a record of
14610// the Consent but mark it inactive, see [RevokeConsent]. To delete a
14611// revision of a Consent, see [DeleteConsentRevision]. This operation
14612// does not delete the related Consent artifact.
14613//
14614// - name: The resource name of the Consent to delete, of the form
14615//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14616//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14617//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14618//   name.
14619func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14620	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14621	c.name = name
14622	return c
14623}
14624
14625// Fields allows partial responses to be retrieved. See
14626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14627// for more information.
14628func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14630	return c
14631}
14632
14633// Context sets the context to be used in this call's Do method. Any
14634// pending HTTP request will be aborted if the provided context is
14635// canceled.
14636func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14637	c.ctx_ = ctx
14638	return c
14639}
14640
14641// Header returns an http.Header that can be modified by the caller to
14642// add HTTP headers to the request.
14643func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Header() http.Header {
14644	if c.header_ == nil {
14645		c.header_ = make(http.Header)
14646	}
14647	return c.header_
14648}
14649
14650func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) doRequest(alt string) (*http.Response, error) {
14651	reqHeaders := make(http.Header)
14652	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14653	for k, v := range c.header_ {
14654		reqHeaders[k] = v
14655	}
14656	reqHeaders.Set("User-Agent", c.s.userAgent())
14657	var body io.Reader = nil
14658	c.urlParams_.Set("alt", alt)
14659	c.urlParams_.Set("prettyPrint", "false")
14660	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14661	urls += "?" + c.urlParams_.Encode()
14662	req, err := http.NewRequest("DELETE", urls, body)
14663	if err != nil {
14664		return nil, err
14665	}
14666	req.Header = reqHeaders
14667	googleapi.Expand(req.URL, map[string]string{
14668		"name": c.name,
14669	})
14670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14671}
14672
14673// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.delete" call.
14674// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14675// code is an error. Response headers are in either
14676// *Empty.ServerResponse.Header or (if a response was returned at all)
14677// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14678// check whether the returned error was because http.StatusNotModified
14679// was returned.
14680func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14681	gensupport.SetOptions(c.urlParams_, opts...)
14682	res, err := c.doRequest("json")
14683	if res != nil && res.StatusCode == http.StatusNotModified {
14684		if res.Body != nil {
14685			res.Body.Close()
14686		}
14687		return nil, &googleapi.Error{
14688			Code:   res.StatusCode,
14689			Header: res.Header,
14690		}
14691	}
14692	if err != nil {
14693		return nil, err
14694	}
14695	defer googleapi.CloseBody(res)
14696	if err := googleapi.CheckResponse(res); err != nil {
14697		return nil, err
14698	}
14699	ret := &Empty{
14700		ServerResponse: googleapi.ServerResponse{
14701			Header:         res.Header,
14702			HTTPStatusCode: res.StatusCode,
14703		},
14704	}
14705	target := &ret
14706	if err := gensupport.DecodeResponse(target, res); err != nil {
14707		return nil, err
14708	}
14709	return ret, nil
14710	// {
14711	//   "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.",
14712	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
14713	//   "httpMethod": "DELETE",
14714	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.delete",
14715	//   "parameterOrder": [
14716	//     "name"
14717	//   ],
14718	//   "parameters": {
14719	//     "name": {
14720	//       "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.",
14721	//       "location": "path",
14722	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14723	//       "required": true,
14724	//       "type": "string"
14725	//     }
14726	//   },
14727	//   "path": "v1beta1/{+name}",
14728	//   "response": {
14729	//     "$ref": "Empty"
14730	//   },
14731	//   "scopes": [
14732	//     "https://www.googleapis.com/auth/cloud-platform"
14733	//   ]
14734	// }
14735
14736}
14737
14738// method id "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision":
14739
14740type ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall struct {
14741	s          *Service
14742	name       string
14743	urlParams_ gensupport.URLParams
14744	ctx_       context.Context
14745	header_    http.Header
14746}
14747
14748// DeleteRevision: Deletes the specified revision of a Consent. An
14749// INVALID_ARGUMENT error occurs if the specified revision is the latest
14750// revision.
14751//
14752// - name: The resource name of the Consent revision to delete, of the
14753//   form
14754//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14755//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
14756//   }`. An INVALID_ARGUMENT error occurs if `revision_id` is not
14757//   specified in the name.
14758func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) DeleteRevision(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14759	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14760	c.name = name
14761	return c
14762}
14763
14764// Fields allows partial responses to be retrieved. See
14765// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14766// for more information.
14767func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14768	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14769	return c
14770}
14771
14772// Context sets the context to be used in this call's Do method. Any
14773// pending HTTP request will be aborted if the provided context is
14774// canceled.
14775func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14776	c.ctx_ = ctx
14777	return c
14778}
14779
14780// Header returns an http.Header that can be modified by the caller to
14781// add HTTP headers to the request.
14782func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Header() http.Header {
14783	if c.header_ == nil {
14784		c.header_ = make(http.Header)
14785	}
14786	return c.header_
14787}
14788
14789func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) doRequest(alt string) (*http.Response, error) {
14790	reqHeaders := make(http.Header)
14791	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14792	for k, v := range c.header_ {
14793		reqHeaders[k] = v
14794	}
14795	reqHeaders.Set("User-Agent", c.s.userAgent())
14796	var body io.Reader = nil
14797	c.urlParams_.Set("alt", alt)
14798	c.urlParams_.Set("prettyPrint", "false")
14799	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:deleteRevision")
14800	urls += "?" + c.urlParams_.Encode()
14801	req, err := http.NewRequest("DELETE", urls, body)
14802	if err != nil {
14803		return nil, err
14804	}
14805	req.Header = reqHeaders
14806	googleapi.Expand(req.URL, map[string]string{
14807		"name": c.name,
14808	})
14809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14810}
14811
14812// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision" call.
14813// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14814// code is an error. Response headers are in either
14815// *Empty.ServerResponse.Header or (if a response was returned at all)
14816// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14817// check whether the returned error was because http.StatusNotModified
14818// was returned.
14819func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14820	gensupport.SetOptions(c.urlParams_, opts...)
14821	res, err := c.doRequest("json")
14822	if res != nil && res.StatusCode == http.StatusNotModified {
14823		if res.Body != nil {
14824			res.Body.Close()
14825		}
14826		return nil, &googleapi.Error{
14827			Code:   res.StatusCode,
14828			Header: res.Header,
14829		}
14830	}
14831	if err != nil {
14832		return nil, err
14833	}
14834	defer googleapi.CloseBody(res)
14835	if err := googleapi.CheckResponse(res); err != nil {
14836		return nil, err
14837	}
14838	ret := &Empty{
14839		ServerResponse: googleapi.ServerResponse{
14840			Header:         res.Header,
14841			HTTPStatusCode: res.StatusCode,
14842		},
14843	}
14844	target := &ret
14845	if err := gensupport.DecodeResponse(target, res); err != nil {
14846		return nil, err
14847	}
14848	return ret, nil
14849	// {
14850	//   "description": "Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.",
14851	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision",
14852	//   "httpMethod": "DELETE",
14853	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision",
14854	//   "parameterOrder": [
14855	//     "name"
14856	//   ],
14857	//   "parameters": {
14858	//     "name": {
14859	//       "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.",
14860	//       "location": "path",
14861	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14862	//       "required": true,
14863	//       "type": "string"
14864	//     }
14865	//   },
14866	//   "path": "v1beta1/{+name}:deleteRevision",
14867	//   "response": {
14868	//     "$ref": "Empty"
14869	//   },
14870	//   "scopes": [
14871	//     "https://www.googleapis.com/auth/cloud-platform"
14872	//   ]
14873	// }
14874
14875}
14876
14877// method id "healthcare.projects.locations.datasets.consentStores.consents.get":
14878
14879type ProjectsLocationsDatasetsConsentStoresConsentsGetCall struct {
14880	s            *Service
14881	name         string
14882	urlParams_   gensupport.URLParams
14883	ifNoneMatch_ string
14884	ctx_         context.Context
14885	header_      http.Header
14886}
14887
14888// Get: Gets the specified revision of a Consent, or the latest revision
14889// if `revision_id` is not specified in the resource name.
14890//
14891// - name: The resource name of the Consent to retrieve, of the form
14892//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14893//   /consentStores/{consent_store_id}/consents/{consent_id}`. In order
14894//   to retrieve a previous revision of the Consent, also provide the
14895//   revision ID:
14896//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14897//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
14898//   }`.
14899func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14900	c := &ProjectsLocationsDatasetsConsentStoresConsentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14901	c.name = name
14902	return c
14903}
14904
14905// Fields allows partial responses to be retrieved. See
14906// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14907// for more information.
14908func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14909	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14910	return c
14911}
14912
14913// IfNoneMatch sets the optional parameter which makes the operation
14914// fail if the object's ETag matches the given value. This is useful for
14915// getting updates only after the object has changed since the last
14916// request. Use googleapi.IsNotModified to check whether the response
14917// error from Do is the result of In-None-Match.
14918func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14919	c.ifNoneMatch_ = entityTag
14920	return c
14921}
14922
14923// Context sets the context to be used in this call's Do method. Any
14924// pending HTTP request will be aborted if the provided context is
14925// canceled.
14926func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
14927	c.ctx_ = ctx
14928	return c
14929}
14930
14931// Header returns an http.Header that can be modified by the caller to
14932// add HTTP headers to the request.
14933func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Header() http.Header {
14934	if c.header_ == nil {
14935		c.header_ = make(http.Header)
14936	}
14937	return c.header_
14938}
14939
14940func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) doRequest(alt string) (*http.Response, error) {
14941	reqHeaders := make(http.Header)
14942	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14943	for k, v := range c.header_ {
14944		reqHeaders[k] = v
14945	}
14946	reqHeaders.Set("User-Agent", c.s.userAgent())
14947	if c.ifNoneMatch_ != "" {
14948		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14949	}
14950	var body io.Reader = nil
14951	c.urlParams_.Set("alt", alt)
14952	c.urlParams_.Set("prettyPrint", "false")
14953	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14954	urls += "?" + c.urlParams_.Encode()
14955	req, err := http.NewRequest("GET", urls, body)
14956	if err != nil {
14957		return nil, err
14958	}
14959	req.Header = reqHeaders
14960	googleapi.Expand(req.URL, map[string]string{
14961		"name": c.name,
14962	})
14963	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14964}
14965
14966// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.get" call.
14967// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14968// code is an error. Response headers are in either
14969// *Consent.ServerResponse.Header or (if a response was returned at all)
14970// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14971// check whether the returned error was because http.StatusNotModified
14972// was returned.
14973func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14974	gensupport.SetOptions(c.urlParams_, opts...)
14975	res, err := c.doRequest("json")
14976	if res != nil && res.StatusCode == http.StatusNotModified {
14977		if res.Body != nil {
14978			res.Body.Close()
14979		}
14980		return nil, &googleapi.Error{
14981			Code:   res.StatusCode,
14982			Header: res.Header,
14983		}
14984	}
14985	if err != nil {
14986		return nil, err
14987	}
14988	defer googleapi.CloseBody(res)
14989	if err := googleapi.CheckResponse(res); err != nil {
14990		return nil, err
14991	}
14992	ret := &Consent{
14993		ServerResponse: googleapi.ServerResponse{
14994			Header:         res.Header,
14995			HTTPStatusCode: res.StatusCode,
14996		},
14997	}
14998	target := &ret
14999	if err := gensupport.DecodeResponse(target, res); err != nil {
15000		return nil, err
15001	}
15002	return ret, nil
15003	// {
15004	//   "description": "Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.",
15005	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15006	//   "httpMethod": "GET",
15007	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.get",
15008	//   "parameterOrder": [
15009	//     "name"
15010	//   ],
15011	//   "parameters": {
15012	//     "name": {
15013	//       "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}`",
15014	//       "location": "path",
15015	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15016	//       "required": true,
15017	//       "type": "string"
15018	//     }
15019	//   },
15020	//   "path": "v1beta1/{+name}",
15021	//   "response": {
15022	//     "$ref": "Consent"
15023	//   },
15024	//   "scopes": [
15025	//     "https://www.googleapis.com/auth/cloud-platform"
15026	//   ]
15027	// }
15028
15029}
15030
15031// method id "healthcare.projects.locations.datasets.consentStores.consents.list":
15032
15033type ProjectsLocationsDatasetsConsentStoresConsentsListCall struct {
15034	s            *Service
15035	parent       string
15036	urlParams_   gensupport.URLParams
15037	ifNoneMatch_ string
15038	ctx_         context.Context
15039	header_      http.Header
15040}
15041
15042// List: Lists the Consent in the given consent store, returning each
15043// Consent's latest revision.
15044//
15045// - parent: Name of the consent store to retrieve Consents from.
15046func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15047	c := &ProjectsLocationsDatasetsConsentStoresConsentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15048	c.parent = parent
15049	return c
15050}
15051
15052// Filter sets the optional parameter "filter": Restricts the consents
15053// returned to those matching a filter. The following syntax is
15054// available: * A string field value can be written as text inside
15055// quotation marks, for example "query text". The only valid
15056// relational operation for text fields is equality (`=`), where text is
15057// searched within the field, rather than having the field be equal to
15058// the text. For example, "Comment = great" returns messages with
15059// `great` in the comment field. * A number field value can be written
15060// as an integer, a decimal, or an exponential. The valid relational
15061// operators for number fields are the equality operator (`=`), along
15062// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15063// Note that there is no inequality (`!=`) operator. You can prepend the
15064// `NOT` operator to an expression to negate it. * A date field value
15065// must be written in `yyyy-mm-dd` form. Fields with date and time use
15066// the RFC3339 time format. Leading zeros are required for one-digit
15067// months and days. The valid relational operators for date fields are
15068// the equality operator (`=`) , along with the less than/greater than
15069// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15070// (`!=`) operator. You can prepend the `NOT` operator to an expression
15071// to negate it. * Multiple field query expressions can be combined in
15072// one query by adding `AND` or `OR` operators between the expressions.
15073// If a boolean operator appears within a quoted string, it is not
15074// treated as special, it's just another part of the character string to
15075// be matched. You can prepend the `NOT` operator to an expression to
15076// negate it. The fields available for filtering are: - user_id. For
15077// example, `filter='user_id="user123"'`. - consent_artifact - state -
15078// revision_create_time - metadata. For example,
15079// `filter=Metadata(\"testkey\")=\"value\" or
15080// `filter=HasMetadata(\"testkey\")`.
15081func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15082	c.urlParams_.Set("filter", filter)
15083	return c
15084}
15085
15086// PageSize sets the optional parameter "pageSize": Limit on the number
15087// of Consents to return in a single response. If not specified, 100 is
15088// used. May not be larger than 1000.
15089func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15090	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15091	return c
15092}
15093
15094// PageToken sets the optional parameter "pageToken": The
15095// next_page_token value returned from the previous List request, if
15096// any.
15097func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15098	c.urlParams_.Set("pageToken", pageToken)
15099	return c
15100}
15101
15102// Fields allows partial responses to be retrieved. See
15103// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15104// for more information.
15105func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15106	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15107	return c
15108}
15109
15110// IfNoneMatch sets the optional parameter which makes the operation
15111// fail if the object's ETag matches the given value. This is useful for
15112// getting updates only after the object has changed since the last
15113// request. Use googleapi.IsNotModified to check whether the response
15114// error from Do is the result of In-None-Match.
15115func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15116	c.ifNoneMatch_ = entityTag
15117	return c
15118}
15119
15120// Context sets the context to be used in this call's Do method. Any
15121// pending HTTP request will be aborted if the provided context is
15122// canceled.
15123func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15124	c.ctx_ = ctx
15125	return c
15126}
15127
15128// Header returns an http.Header that can be modified by the caller to
15129// add HTTP headers to the request.
15130func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Header() http.Header {
15131	if c.header_ == nil {
15132		c.header_ = make(http.Header)
15133	}
15134	return c.header_
15135}
15136
15137func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) doRequest(alt string) (*http.Response, error) {
15138	reqHeaders := make(http.Header)
15139	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15140	for k, v := range c.header_ {
15141		reqHeaders[k] = v
15142	}
15143	reqHeaders.Set("User-Agent", c.s.userAgent())
15144	if c.ifNoneMatch_ != "" {
15145		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15146	}
15147	var body io.Reader = nil
15148	c.urlParams_.Set("alt", alt)
15149	c.urlParams_.Set("prettyPrint", "false")
15150	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
15151	urls += "?" + c.urlParams_.Encode()
15152	req, err := http.NewRequest("GET", urls, body)
15153	if err != nil {
15154		return nil, err
15155	}
15156	req.Header = reqHeaders
15157	googleapi.Expand(req.URL, map[string]string{
15158		"parent": c.parent,
15159	})
15160	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15161}
15162
15163// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.list" call.
15164// Exactly one of *ListConsentsResponse or error will be non-nil. Any
15165// non-2xx status code is an error. Response headers are in either
15166// *ListConsentsResponse.ServerResponse.Header or (if a response was
15167// returned at all) in error.(*googleapi.Error).Header. Use
15168// googleapi.IsNotModified to check whether the returned error was
15169// because http.StatusNotModified was returned.
15170func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Do(opts ...googleapi.CallOption) (*ListConsentsResponse, error) {
15171	gensupport.SetOptions(c.urlParams_, opts...)
15172	res, err := c.doRequest("json")
15173	if res != nil && res.StatusCode == http.StatusNotModified {
15174		if res.Body != nil {
15175			res.Body.Close()
15176		}
15177		return nil, &googleapi.Error{
15178			Code:   res.StatusCode,
15179			Header: res.Header,
15180		}
15181	}
15182	if err != nil {
15183		return nil, err
15184	}
15185	defer googleapi.CloseBody(res)
15186	if err := googleapi.CheckResponse(res); err != nil {
15187		return nil, err
15188	}
15189	ret := &ListConsentsResponse{
15190		ServerResponse: googleapi.ServerResponse{
15191			Header:         res.Header,
15192			HTTPStatusCode: res.StatusCode,
15193		},
15194	}
15195	target := &ret
15196	if err := gensupport.DecodeResponse(target, res); err != nil {
15197		return nil, err
15198	}
15199	return ret, nil
15200	// {
15201	//   "description": "Lists the Consent in the given consent store, returning each Consent's latest revision.",
15202	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
15203	//   "httpMethod": "GET",
15204	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.list",
15205	//   "parameterOrder": [
15206	//     "parent"
15207	//   ],
15208	//   "parameters": {
15209	//     "filter": {
15210	//       "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\\\")`.",
15211	//       "location": "query",
15212	//       "type": "string"
15213	//     },
15214	//     "pageSize": {
15215	//       "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.",
15216	//       "format": "int32",
15217	//       "location": "query",
15218	//       "type": "integer"
15219	//     },
15220	//     "pageToken": {
15221	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
15222	//       "location": "query",
15223	//       "type": "string"
15224	//     },
15225	//     "parent": {
15226	//       "description": "Required. Name of the consent store to retrieve Consents from.",
15227	//       "location": "path",
15228	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
15229	//       "required": true,
15230	//       "type": "string"
15231	//     }
15232	//   },
15233	//   "path": "v1beta1/{+parent}/consents",
15234	//   "response": {
15235	//     "$ref": "ListConsentsResponse"
15236	//   },
15237	//   "scopes": [
15238	//     "https://www.googleapis.com/auth/cloud-platform"
15239	//   ]
15240	// }
15241
15242}
15243
15244// Pages invokes f for each page of results.
15245// A non-nil error returned from f will halt the iteration.
15246// The provided context supersedes any context provided to the Context method.
15247func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Pages(ctx context.Context, f func(*ListConsentsResponse) error) error {
15248	c.ctx_ = ctx
15249	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15250	for {
15251		x, err := c.Do()
15252		if err != nil {
15253			return err
15254		}
15255		if err := f(x); err != nil {
15256			return err
15257		}
15258		if x.NextPageToken == "" {
15259			return nil
15260		}
15261		c.PageToken(x.NextPageToken)
15262	}
15263}
15264
15265// method id "healthcare.projects.locations.datasets.consentStores.consents.listRevisions":
15266
15267type ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall struct {
15268	s            *Service
15269	name         string
15270	urlParams_   gensupport.URLParams
15271	ifNoneMatch_ string
15272	ctx_         context.Context
15273	header_      http.Header
15274}
15275
15276// ListRevisions: Lists the revisions of the specified Consent in
15277// reverse chronological order.
15278//
15279// - name: The resource name of the Consent to retrieve revisions for.
15280func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) ListRevisions(name string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15281	c := &ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15282	c.name = name
15283	return c
15284}
15285
15286// Filter sets the optional parameter "filter": Restricts the revisions
15287// returned to those matching a filter. The following syntax is
15288// available: * A string field value can be written as text inside
15289// quotation marks, for example "query text". The only valid
15290// relational operation for text fields is equality (`=`), where text is
15291// searched within the field, rather than having the field be equal to
15292// the text. For example, "Comment = great" returns messages with
15293// `great` in the comment field. * A number field value can be written
15294// as an integer, a decimal, or an exponential. The valid relational
15295// operators for number fields are the equality operator (`=`), along
15296// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15297// Note that there is no inequality (`!=`) operator. You can prepend the
15298// `NOT` operator to an expression to negate it. * A date field value
15299// must be written in `yyyy-mm-dd` form. Fields with date and time use
15300// the RFC3339 time format. Leading zeros are required for one-digit
15301// months and days. The valid relational operators for date fields are
15302// the equality operator (`=`) , along with the less than/greater than
15303// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15304// (`!=`) operator. You can prepend the `NOT` operator to an expression
15305// to negate it. * Multiple field query expressions can be combined in
15306// one query by adding `AND` or `OR` operators between the expressions.
15307// If a boolean operator appears within a quoted string, it is not
15308// treated as special, it's just another part of the character string to
15309// be matched. You can prepend the `NOT` operator to an expression to
15310// negate it. Fields/functions available for filtering are: - user_id.
15311// For example, `filter='user_id="user123"'`. - consent_artifact - state
15312// - revision_create_time - metadata. For example,
15313// `filter=Metadata(\"testkey\")=\"value\" or
15314// `filter=HasMetadata(\"testkey\")`.
15315func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15316	c.urlParams_.Set("filter", filter)
15317	return c
15318}
15319
15320// PageSize sets the optional parameter "pageSize": Limit on the number
15321// of revisions to return in a single response. If not specified, 100 is
15322// used. May not be larger than 1000.
15323func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15324	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15325	return c
15326}
15327
15328// PageToken sets the optional parameter "pageToken": Token to retrieve
15329// the next page of results or empty if there are no more results in the
15330// list.
15331func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15332	c.urlParams_.Set("pageToken", pageToken)
15333	return c
15334}
15335
15336// Fields allows partial responses to be retrieved. See
15337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15338// for more information.
15339func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15341	return c
15342}
15343
15344// IfNoneMatch sets the optional parameter which makes the operation
15345// fail if the object's ETag matches the given value. This is useful for
15346// getting updates only after the object has changed since the last
15347// request. Use googleapi.IsNotModified to check whether the response
15348// error from Do is the result of In-None-Match.
15349func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15350	c.ifNoneMatch_ = entityTag
15351	return c
15352}
15353
15354// Context sets the context to be used in this call's Do method. Any
15355// pending HTTP request will be aborted if the provided context is
15356// canceled.
15357func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15358	c.ctx_ = ctx
15359	return c
15360}
15361
15362// Header returns an http.Header that can be modified by the caller to
15363// add HTTP headers to the request.
15364func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Header() http.Header {
15365	if c.header_ == nil {
15366		c.header_ = make(http.Header)
15367	}
15368	return c.header_
15369}
15370
15371func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) doRequest(alt string) (*http.Response, error) {
15372	reqHeaders := make(http.Header)
15373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15374	for k, v := range c.header_ {
15375		reqHeaders[k] = v
15376	}
15377	reqHeaders.Set("User-Agent", c.s.userAgent())
15378	if c.ifNoneMatch_ != "" {
15379		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15380	}
15381	var body io.Reader = nil
15382	c.urlParams_.Set("alt", alt)
15383	c.urlParams_.Set("prettyPrint", "false")
15384	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:listRevisions")
15385	urls += "?" + c.urlParams_.Encode()
15386	req, err := http.NewRequest("GET", urls, body)
15387	if err != nil {
15388		return nil, err
15389	}
15390	req.Header = reqHeaders
15391	googleapi.Expand(req.URL, map[string]string{
15392		"name": c.name,
15393	})
15394	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15395}
15396
15397// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.listRevisions" call.
15398// Exactly one of *ListConsentRevisionsResponse or error will be
15399// non-nil. Any non-2xx status code is an error. Response headers are in
15400// either *ListConsentRevisionsResponse.ServerResponse.Header or (if a
15401// response was returned at all) in error.(*googleapi.Error).Header. Use
15402// googleapi.IsNotModified to check whether the returned error was
15403// because http.StatusNotModified was returned.
15404func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Do(opts ...googleapi.CallOption) (*ListConsentRevisionsResponse, error) {
15405	gensupport.SetOptions(c.urlParams_, opts...)
15406	res, err := c.doRequest("json")
15407	if res != nil && res.StatusCode == http.StatusNotModified {
15408		if res.Body != nil {
15409			res.Body.Close()
15410		}
15411		return nil, &googleapi.Error{
15412			Code:   res.StatusCode,
15413			Header: res.Header,
15414		}
15415	}
15416	if err != nil {
15417		return nil, err
15418	}
15419	defer googleapi.CloseBody(res)
15420	if err := googleapi.CheckResponse(res); err != nil {
15421		return nil, err
15422	}
15423	ret := &ListConsentRevisionsResponse{
15424		ServerResponse: googleapi.ServerResponse{
15425			Header:         res.Header,
15426			HTTPStatusCode: res.StatusCode,
15427		},
15428	}
15429	target := &ret
15430	if err := gensupport.DecodeResponse(target, res); err != nil {
15431		return nil, err
15432	}
15433	return ret, nil
15434	// {
15435	//   "description": "Lists the revisions of the specified Consent in reverse chronological order.",
15436	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions",
15437	//   "httpMethod": "GET",
15438	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.listRevisions",
15439	//   "parameterOrder": [
15440	//     "name"
15441	//   ],
15442	//   "parameters": {
15443	//     "filter": {
15444	//       "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\\\")`.",
15445	//       "location": "query",
15446	//       "type": "string"
15447	//     },
15448	//     "name": {
15449	//       "description": "Required. The resource name of the Consent to retrieve revisions for.",
15450	//       "location": "path",
15451	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15452	//       "required": true,
15453	//       "type": "string"
15454	//     },
15455	//     "pageSize": {
15456	//       "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.",
15457	//       "format": "int32",
15458	//       "location": "query",
15459	//       "type": "integer"
15460	//     },
15461	//     "pageToken": {
15462	//       "description": "Optional. Token to retrieve the next page of results or empty if there are no more results in the list.",
15463	//       "location": "query",
15464	//       "type": "string"
15465	//     }
15466	//   },
15467	//   "path": "v1beta1/{+name}:listRevisions",
15468	//   "response": {
15469	//     "$ref": "ListConsentRevisionsResponse"
15470	//   },
15471	//   "scopes": [
15472	//     "https://www.googleapis.com/auth/cloud-platform"
15473	//   ]
15474	// }
15475
15476}
15477
15478// Pages invokes f for each page of results.
15479// A non-nil error returned from f will halt the iteration.
15480// The provided context supersedes any context provided to the Context method.
15481func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Pages(ctx context.Context, f func(*ListConsentRevisionsResponse) error) error {
15482	c.ctx_ = ctx
15483	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15484	for {
15485		x, err := c.Do()
15486		if err != nil {
15487			return err
15488		}
15489		if err := f(x); err != nil {
15490			return err
15491		}
15492		if x.NextPageToken == "" {
15493			return nil
15494		}
15495		c.PageToken(x.NextPageToken)
15496	}
15497}
15498
15499// method id "healthcare.projects.locations.datasets.consentStores.consents.patch":
15500
15501type ProjectsLocationsDatasetsConsentStoresConsentsPatchCall struct {
15502	s          *Service
15503	name       string
15504	consent    *Consent
15505	urlParams_ gensupport.URLParams
15506	ctx_       context.Context
15507	header_    http.Header
15508}
15509
15510// Patch: Updates the latest revision of the specified Consent by
15511// committing a new revision with the changes. A FAILED_PRECONDITION
15512// error occurs if the latest revision of the specified Consent is in
15513// the `REJECTED` or `REVOKED` state.
15514//
15515// - name: Resource name of the Consent, of the form
15516//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15517//   /consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be
15518//   changed after creation.
15519func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Patch(name string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15520	c := &ProjectsLocationsDatasetsConsentStoresConsentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15521	c.name = name
15522	c.consent = consent
15523	return c
15524}
15525
15526// UpdateMask sets the optional parameter "updateMask": Required. The
15527// update mask to apply to the resource. For the `FieldMask` definition,
15528// see
15529// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
15530// Only the `user_id`, `policies`, `consent_artifact`, and `metadata`
15531// fields can be updated.
15532func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15533	c.urlParams_.Set("updateMask", updateMask)
15534	return c
15535}
15536
15537// Fields allows partial responses to be retrieved. See
15538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15539// for more information.
15540func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15542	return c
15543}
15544
15545// Context sets the context to be used in this call's Do method. Any
15546// pending HTTP request will be aborted if the provided context is
15547// canceled.
15548func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15549	c.ctx_ = ctx
15550	return c
15551}
15552
15553// Header returns an http.Header that can be modified by the caller to
15554// add HTTP headers to the request.
15555func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Header() http.Header {
15556	if c.header_ == nil {
15557		c.header_ = make(http.Header)
15558	}
15559	return c.header_
15560}
15561
15562func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) doRequest(alt string) (*http.Response, error) {
15563	reqHeaders := make(http.Header)
15564	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15565	for k, v := range c.header_ {
15566		reqHeaders[k] = v
15567	}
15568	reqHeaders.Set("User-Agent", c.s.userAgent())
15569	var body io.Reader = nil
15570	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
15571	if err != nil {
15572		return nil, err
15573	}
15574	reqHeaders.Set("Content-Type", "application/json")
15575	c.urlParams_.Set("alt", alt)
15576	c.urlParams_.Set("prettyPrint", "false")
15577	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
15578	urls += "?" + c.urlParams_.Encode()
15579	req, err := http.NewRequest("PATCH", urls, body)
15580	if err != nil {
15581		return nil, err
15582	}
15583	req.Header = reqHeaders
15584	googleapi.Expand(req.URL, map[string]string{
15585		"name": c.name,
15586	})
15587	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15588}
15589
15590// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.patch" call.
15591// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15592// code is an error. Response headers are in either
15593// *Consent.ServerResponse.Header or (if a response was returned at all)
15594// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15595// check whether the returned error was because http.StatusNotModified
15596// was returned.
15597func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15598	gensupport.SetOptions(c.urlParams_, opts...)
15599	res, err := c.doRequest("json")
15600	if res != nil && res.StatusCode == http.StatusNotModified {
15601		if res.Body != nil {
15602			res.Body.Close()
15603		}
15604		return nil, &googleapi.Error{
15605			Code:   res.StatusCode,
15606			Header: res.Header,
15607		}
15608	}
15609	if err != nil {
15610		return nil, err
15611	}
15612	defer googleapi.CloseBody(res)
15613	if err := googleapi.CheckResponse(res); err != nil {
15614		return nil, err
15615	}
15616	ret := &Consent{
15617		ServerResponse: googleapi.ServerResponse{
15618			Header:         res.Header,
15619			HTTPStatusCode: res.StatusCode,
15620		},
15621	}
15622	target := &ret
15623	if err := gensupport.DecodeResponse(target, res); err != nil {
15624		return nil, err
15625	}
15626	return ret, nil
15627	// {
15628	//   "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.",
15629	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15630	//   "httpMethod": "PATCH",
15631	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.patch",
15632	//   "parameterOrder": [
15633	//     "name"
15634	//   ],
15635	//   "parameters": {
15636	//     "name": {
15637	//       "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.",
15638	//       "location": "path",
15639	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15640	//       "required": true,
15641	//       "type": "string"
15642	//     },
15643	//     "updateMask": {
15644	//       "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.",
15645	//       "format": "google-fieldmask",
15646	//       "location": "query",
15647	//       "type": "string"
15648	//     }
15649	//   },
15650	//   "path": "v1beta1/{+name}",
15651	//   "request": {
15652	//     "$ref": "Consent"
15653	//   },
15654	//   "response": {
15655	//     "$ref": "Consent"
15656	//   },
15657	//   "scopes": [
15658	//     "https://www.googleapis.com/auth/cloud-platform"
15659	//   ]
15660	// }
15661
15662}
15663
15664// method id "healthcare.projects.locations.datasets.consentStores.consents.reject":
15665
15666type ProjectsLocationsDatasetsConsentStoresConsentsRejectCall struct {
15667	s                    *Service
15668	name                 string
15669	rejectconsentrequest *RejectConsentRequest
15670	urlParams_           gensupport.URLParams
15671	ctx_                 context.Context
15672	header_              http.Header
15673}
15674
15675// Reject: Rejects the latest revision of the specified Consent by
15676// committing a new revision with `state` updated to `REJECTED`. If the
15677// latest revision of the specified Consent is in the `REJECTED` state,
15678// no new revision is committed. A FAILED_PRECONDITION error occurs if
15679// the latest revision of the specified Consent is in the `ACTIVE` or
15680// `REVOKED` state.
15681//
15682// - name: The resource name of the Consent to reject, of the form
15683//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15684//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15685//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15686//   name.
15687func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Reject(name string, rejectconsentrequest *RejectConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15688	c := &ProjectsLocationsDatasetsConsentStoresConsentsRejectCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15689	c.name = name
15690	c.rejectconsentrequest = rejectconsentrequest
15691	return c
15692}
15693
15694// Fields allows partial responses to be retrieved. See
15695// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15696// for more information.
15697func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15698	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15699	return c
15700}
15701
15702// Context sets the context to be used in this call's Do method. Any
15703// pending HTTP request will be aborted if the provided context is
15704// canceled.
15705func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15706	c.ctx_ = ctx
15707	return c
15708}
15709
15710// Header returns an http.Header that can be modified by the caller to
15711// add HTTP headers to the request.
15712func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Header() http.Header {
15713	if c.header_ == nil {
15714		c.header_ = make(http.Header)
15715	}
15716	return c.header_
15717}
15718
15719func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) doRequest(alt string) (*http.Response, error) {
15720	reqHeaders := make(http.Header)
15721	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15722	for k, v := range c.header_ {
15723		reqHeaders[k] = v
15724	}
15725	reqHeaders.Set("User-Agent", c.s.userAgent())
15726	var body io.Reader = nil
15727	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rejectconsentrequest)
15728	if err != nil {
15729		return nil, err
15730	}
15731	reqHeaders.Set("Content-Type", "application/json")
15732	c.urlParams_.Set("alt", alt)
15733	c.urlParams_.Set("prettyPrint", "false")
15734	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:reject")
15735	urls += "?" + c.urlParams_.Encode()
15736	req, err := http.NewRequest("POST", urls, body)
15737	if err != nil {
15738		return nil, err
15739	}
15740	req.Header = reqHeaders
15741	googleapi.Expand(req.URL, map[string]string{
15742		"name": c.name,
15743	})
15744	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15745}
15746
15747// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.reject" call.
15748// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15749// code is an error. Response headers are in either
15750// *Consent.ServerResponse.Header or (if a response was returned at all)
15751// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15752// check whether the returned error was because http.StatusNotModified
15753// was returned.
15754func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15755	gensupport.SetOptions(c.urlParams_, opts...)
15756	res, err := c.doRequest("json")
15757	if res != nil && res.StatusCode == http.StatusNotModified {
15758		if res.Body != nil {
15759			res.Body.Close()
15760		}
15761		return nil, &googleapi.Error{
15762			Code:   res.StatusCode,
15763			Header: res.Header,
15764		}
15765	}
15766	if err != nil {
15767		return nil, err
15768	}
15769	defer googleapi.CloseBody(res)
15770	if err := googleapi.CheckResponse(res); err != nil {
15771		return nil, err
15772	}
15773	ret := &Consent{
15774		ServerResponse: googleapi.ServerResponse{
15775			Header:         res.Header,
15776			HTTPStatusCode: res.StatusCode,
15777		},
15778	}
15779	target := &ret
15780	if err := gensupport.DecodeResponse(target, res); err != nil {
15781		return nil, err
15782	}
15783	return ret, nil
15784	// {
15785	//   "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.",
15786	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject",
15787	//   "httpMethod": "POST",
15788	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.reject",
15789	//   "parameterOrder": [
15790	//     "name"
15791	//   ],
15792	//   "parameters": {
15793	//     "name": {
15794	//       "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.",
15795	//       "location": "path",
15796	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15797	//       "required": true,
15798	//       "type": "string"
15799	//     }
15800	//   },
15801	//   "path": "v1beta1/{+name}:reject",
15802	//   "request": {
15803	//     "$ref": "RejectConsentRequest"
15804	//   },
15805	//   "response": {
15806	//     "$ref": "Consent"
15807	//   },
15808	//   "scopes": [
15809	//     "https://www.googleapis.com/auth/cloud-platform"
15810	//   ]
15811	// }
15812
15813}
15814
15815// method id "healthcare.projects.locations.datasets.consentStores.consents.revoke":
15816
15817type ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall struct {
15818	s                    *Service
15819	name                 string
15820	revokeconsentrequest *RevokeConsentRequest
15821	urlParams_           gensupport.URLParams
15822	ctx_                 context.Context
15823	header_              http.Header
15824}
15825
15826// Revoke: Revokes the latest revision of the specified Consent by
15827// committing a new revision with `state` updated to `REVOKED`. If the
15828// latest revision of the specified Consent is in the `REVOKED` state,
15829// no new revision is committed. A FAILED_PRECONDITION error occurs if
15830// the latest revision of the given consent is in `DRAFT` or `REJECTED`
15831// state.
15832//
15833// - name: The resource name of the Consent to revoke, of the form
15834//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15835//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15836//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15837//   name.
15838func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Revoke(name string, revokeconsentrequest *RevokeConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15839	c := &ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15840	c.name = name
15841	c.revokeconsentrequest = revokeconsentrequest
15842	return c
15843}
15844
15845// Fields allows partial responses to be retrieved. See
15846// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15847// for more information.
15848func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15849	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15850	return c
15851}
15852
15853// Context sets the context to be used in this call's Do method. Any
15854// pending HTTP request will be aborted if the provided context is
15855// canceled.
15856func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15857	c.ctx_ = ctx
15858	return c
15859}
15860
15861// Header returns an http.Header that can be modified by the caller to
15862// add HTTP headers to the request.
15863func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Header() http.Header {
15864	if c.header_ == nil {
15865		c.header_ = make(http.Header)
15866	}
15867	return c.header_
15868}
15869
15870func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) doRequest(alt string) (*http.Response, error) {
15871	reqHeaders := make(http.Header)
15872	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15873	for k, v := range c.header_ {
15874		reqHeaders[k] = v
15875	}
15876	reqHeaders.Set("User-Agent", c.s.userAgent())
15877	var body io.Reader = nil
15878	body, err := googleapi.WithoutDataWrapper.JSONReader(c.revokeconsentrequest)
15879	if err != nil {
15880		return nil, err
15881	}
15882	reqHeaders.Set("Content-Type", "application/json")
15883	c.urlParams_.Set("alt", alt)
15884	c.urlParams_.Set("prettyPrint", "false")
15885	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:revoke")
15886	urls += "?" + c.urlParams_.Encode()
15887	req, err := http.NewRequest("POST", urls, body)
15888	if err != nil {
15889		return nil, err
15890	}
15891	req.Header = reqHeaders
15892	googleapi.Expand(req.URL, map[string]string{
15893		"name": c.name,
15894	})
15895	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15896}
15897
15898// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.revoke" call.
15899// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15900// code is an error. Response headers are in either
15901// *Consent.ServerResponse.Header or (if a response was returned at all)
15902// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15903// check whether the returned error was because http.StatusNotModified
15904// was returned.
15905func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15906	gensupport.SetOptions(c.urlParams_, opts...)
15907	res, err := c.doRequest("json")
15908	if res != nil && res.StatusCode == http.StatusNotModified {
15909		if res.Body != nil {
15910			res.Body.Close()
15911		}
15912		return nil, &googleapi.Error{
15913			Code:   res.StatusCode,
15914			Header: res.Header,
15915		}
15916	}
15917	if err != nil {
15918		return nil, err
15919	}
15920	defer googleapi.CloseBody(res)
15921	if err := googleapi.CheckResponse(res); err != nil {
15922		return nil, err
15923	}
15924	ret := &Consent{
15925		ServerResponse: googleapi.ServerResponse{
15926			Header:         res.Header,
15927			HTTPStatusCode: res.StatusCode,
15928		},
15929	}
15930	target := &ret
15931	if err := gensupport.DecodeResponse(target, res); err != nil {
15932		return nil, err
15933	}
15934	return ret, nil
15935	// {
15936	//   "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.",
15937	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke",
15938	//   "httpMethod": "POST",
15939	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.revoke",
15940	//   "parameterOrder": [
15941	//     "name"
15942	//   ],
15943	//   "parameters": {
15944	//     "name": {
15945	//       "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.",
15946	//       "location": "path",
15947	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15948	//       "required": true,
15949	//       "type": "string"
15950	//     }
15951	//   },
15952	//   "path": "v1beta1/{+name}:revoke",
15953	//   "request": {
15954	//     "$ref": "RevokeConsentRequest"
15955	//   },
15956	//   "response": {
15957	//     "$ref": "Consent"
15958	//   },
15959	//   "scopes": [
15960	//     "https://www.googleapis.com/auth/cloud-platform"
15961	//   ]
15962	// }
15963
15964}
15965
15966// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive":
15967
15968type ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall struct {
15969	s                             *Service
15970	name                          string
15971	archiveuserdatamappingrequest *ArchiveUserDataMappingRequest
15972	urlParams_                    gensupport.URLParams
15973	ctx_                          context.Context
15974	header_                       http.Header
15975}
15976
15977// Archive: Archives the specified User data mapping.
15978//
15979// - name: The resource name of the User data mapping to archive.
15980func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Archive(name string, archiveuserdatamappingrequest *ArchiveUserDataMappingRequest) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15981	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15982	c.name = name
15983	c.archiveuserdatamappingrequest = archiveuserdatamappingrequest
15984	return c
15985}
15986
15987// Fields allows partial responses to be retrieved. See
15988// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15989// for more information.
15990func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15991	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15992	return c
15993}
15994
15995// Context sets the context to be used in this call's Do method. Any
15996// pending HTTP request will be aborted if the provided context is
15997// canceled.
15998func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
15999	c.ctx_ = ctx
16000	return c
16001}
16002
16003// Header returns an http.Header that can be modified by the caller to
16004// add HTTP headers to the request.
16005func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Header() http.Header {
16006	if c.header_ == nil {
16007		c.header_ = make(http.Header)
16008	}
16009	return c.header_
16010}
16011
16012func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) doRequest(alt string) (*http.Response, error) {
16013	reqHeaders := make(http.Header)
16014	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16015	for k, v := range c.header_ {
16016		reqHeaders[k] = v
16017	}
16018	reqHeaders.Set("User-Agent", c.s.userAgent())
16019	var body io.Reader = nil
16020	body, err := googleapi.WithoutDataWrapper.JSONReader(c.archiveuserdatamappingrequest)
16021	if err != nil {
16022		return nil, err
16023	}
16024	reqHeaders.Set("Content-Type", "application/json")
16025	c.urlParams_.Set("alt", alt)
16026	c.urlParams_.Set("prettyPrint", "false")
16027	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:archive")
16028	urls += "?" + c.urlParams_.Encode()
16029	req, err := http.NewRequest("POST", urls, body)
16030	if err != nil {
16031		return nil, err
16032	}
16033	req.Header = reqHeaders
16034	googleapi.Expand(req.URL, map[string]string{
16035		"name": c.name,
16036	})
16037	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16038}
16039
16040// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive" call.
16041// Exactly one of *ArchiveUserDataMappingResponse or error will be
16042// non-nil. Any non-2xx status code is an error. Response headers are in
16043// either *ArchiveUserDataMappingResponse.ServerResponse.Header or (if a
16044// response was returned at all) in error.(*googleapi.Error).Header. Use
16045// googleapi.IsNotModified to check whether the returned error was
16046// because http.StatusNotModified was returned.
16047func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Do(opts ...googleapi.CallOption) (*ArchiveUserDataMappingResponse, error) {
16048	gensupport.SetOptions(c.urlParams_, opts...)
16049	res, err := c.doRequest("json")
16050	if res != nil && res.StatusCode == http.StatusNotModified {
16051		if res.Body != nil {
16052			res.Body.Close()
16053		}
16054		return nil, &googleapi.Error{
16055			Code:   res.StatusCode,
16056			Header: res.Header,
16057		}
16058	}
16059	if err != nil {
16060		return nil, err
16061	}
16062	defer googleapi.CloseBody(res)
16063	if err := googleapi.CheckResponse(res); err != nil {
16064		return nil, err
16065	}
16066	ret := &ArchiveUserDataMappingResponse{
16067		ServerResponse: googleapi.ServerResponse{
16068			Header:         res.Header,
16069			HTTPStatusCode: res.StatusCode,
16070		},
16071	}
16072	target := &ret
16073	if err := gensupport.DecodeResponse(target, res); err != nil {
16074		return nil, err
16075	}
16076	return ret, nil
16077	// {
16078	//   "description": "Archives the specified User data mapping.",
16079	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive",
16080	//   "httpMethod": "POST",
16081	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive",
16082	//   "parameterOrder": [
16083	//     "name"
16084	//   ],
16085	//   "parameters": {
16086	//     "name": {
16087	//       "description": "Required. The resource name of the User data mapping to archive.",
16088	//       "location": "path",
16089	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16090	//       "required": true,
16091	//       "type": "string"
16092	//     }
16093	//   },
16094	//   "path": "v1beta1/{+name}:archive",
16095	//   "request": {
16096	//     "$ref": "ArchiveUserDataMappingRequest"
16097	//   },
16098	//   "response": {
16099	//     "$ref": "ArchiveUserDataMappingResponse"
16100	//   },
16101	//   "scopes": [
16102	//     "https://www.googleapis.com/auth/cloud-platform"
16103	//   ]
16104	// }
16105
16106}
16107
16108// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.create":
16109
16110type ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall struct {
16111	s               *Service
16112	parent          string
16113	userdatamapping *UserDataMapping
16114	urlParams_      gensupport.URLParams
16115	ctx_            context.Context
16116	header_         http.Header
16117}
16118
16119// Create: Creates a new User data mapping in the parent consent store.
16120//
16121// - parent: Name of the consent store.
16122func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Create(parent string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16123	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16124	c.parent = parent
16125	c.userdatamapping = userdatamapping
16126	return c
16127}
16128
16129// Fields allows partial responses to be retrieved. See
16130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16131// for more information.
16132func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16134	return c
16135}
16136
16137// Context sets the context to be used in this call's Do method. Any
16138// pending HTTP request will be aborted if the provided context is
16139// canceled.
16140func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16141	c.ctx_ = ctx
16142	return c
16143}
16144
16145// Header returns an http.Header that can be modified by the caller to
16146// add HTTP headers to the request.
16147func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Header() http.Header {
16148	if c.header_ == nil {
16149		c.header_ = make(http.Header)
16150	}
16151	return c.header_
16152}
16153
16154func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
16155	reqHeaders := make(http.Header)
16156	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16157	for k, v := range c.header_ {
16158		reqHeaders[k] = v
16159	}
16160	reqHeaders.Set("User-Agent", c.s.userAgent())
16161	var body io.Reader = nil
16162	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16163	if err != nil {
16164		return nil, err
16165	}
16166	reqHeaders.Set("Content-Type", "application/json")
16167	c.urlParams_.Set("alt", alt)
16168	c.urlParams_.Set("prettyPrint", "false")
16169	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16170	urls += "?" + c.urlParams_.Encode()
16171	req, err := http.NewRequest("POST", urls, body)
16172	if err != nil {
16173		return nil, err
16174	}
16175	req.Header = reqHeaders
16176	googleapi.Expand(req.URL, map[string]string{
16177		"parent": c.parent,
16178	})
16179	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16180}
16181
16182// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.create" call.
16183// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16184// status code is an error. Response headers are in either
16185// *UserDataMapping.ServerResponse.Header or (if a response was returned
16186// at all) in error.(*googleapi.Error).Header. Use
16187// googleapi.IsNotModified to check whether the returned error was
16188// because http.StatusNotModified was returned.
16189func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16190	gensupport.SetOptions(c.urlParams_, opts...)
16191	res, err := c.doRequest("json")
16192	if res != nil && res.StatusCode == http.StatusNotModified {
16193		if res.Body != nil {
16194			res.Body.Close()
16195		}
16196		return nil, &googleapi.Error{
16197			Code:   res.StatusCode,
16198			Header: res.Header,
16199		}
16200	}
16201	if err != nil {
16202		return nil, err
16203	}
16204	defer googleapi.CloseBody(res)
16205	if err := googleapi.CheckResponse(res); err != nil {
16206		return nil, err
16207	}
16208	ret := &UserDataMapping{
16209		ServerResponse: googleapi.ServerResponse{
16210			Header:         res.Header,
16211			HTTPStatusCode: res.StatusCode,
16212		},
16213	}
16214	target := &ret
16215	if err := gensupport.DecodeResponse(target, res); err != nil {
16216		return nil, err
16217	}
16218	return ret, nil
16219	// {
16220	//   "description": "Creates a new User data mapping in the parent consent store.",
16221	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16222	//   "httpMethod": "POST",
16223	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.create",
16224	//   "parameterOrder": [
16225	//     "parent"
16226	//   ],
16227	//   "parameters": {
16228	//     "parent": {
16229	//       "description": "Required. Name of the consent store.",
16230	//       "location": "path",
16231	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16232	//       "required": true,
16233	//       "type": "string"
16234	//     }
16235	//   },
16236	//   "path": "v1beta1/{+parent}/userDataMappings",
16237	//   "request": {
16238	//     "$ref": "UserDataMapping"
16239	//   },
16240	//   "response": {
16241	//     "$ref": "UserDataMapping"
16242	//   },
16243	//   "scopes": [
16244	//     "https://www.googleapis.com/auth/cloud-platform"
16245	//   ]
16246	// }
16247
16248}
16249
16250// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete":
16251
16252type ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall struct {
16253	s          *Service
16254	name       string
16255	urlParams_ gensupport.URLParams
16256	ctx_       context.Context
16257	header_    http.Header
16258}
16259
16260// Delete: Deletes the specified User data mapping.
16261//
16262// - name: The resource name of the User data mapping to delete.
16263func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16264	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16265	c.name = name
16266	return c
16267}
16268
16269// Fields allows partial responses to be retrieved. See
16270// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16271// for more information.
16272func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16273	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16274	return c
16275}
16276
16277// Context sets the context to be used in this call's Do method. Any
16278// pending HTTP request will be aborted if the provided context is
16279// canceled.
16280func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16281	c.ctx_ = ctx
16282	return c
16283}
16284
16285// Header returns an http.Header that can be modified by the caller to
16286// add HTTP headers to the request.
16287func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Header() http.Header {
16288	if c.header_ == nil {
16289		c.header_ = make(http.Header)
16290	}
16291	return c.header_
16292}
16293
16294func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
16295	reqHeaders := make(http.Header)
16296	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16297	for k, v := range c.header_ {
16298		reqHeaders[k] = v
16299	}
16300	reqHeaders.Set("User-Agent", c.s.userAgent())
16301	var body io.Reader = nil
16302	c.urlParams_.Set("alt", alt)
16303	c.urlParams_.Set("prettyPrint", "false")
16304	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16305	urls += "?" + c.urlParams_.Encode()
16306	req, err := http.NewRequest("DELETE", urls, body)
16307	if err != nil {
16308		return nil, err
16309	}
16310	req.Header = reqHeaders
16311	googleapi.Expand(req.URL, map[string]string{
16312		"name": c.name,
16313	})
16314	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16315}
16316
16317// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete" call.
16318// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16319// code is an error. Response headers are in either
16320// *Empty.ServerResponse.Header or (if a response was returned at all)
16321// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16322// check whether the returned error was because http.StatusNotModified
16323// was returned.
16324func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16325	gensupport.SetOptions(c.urlParams_, opts...)
16326	res, err := c.doRequest("json")
16327	if res != nil && res.StatusCode == http.StatusNotModified {
16328		if res.Body != nil {
16329			res.Body.Close()
16330		}
16331		return nil, &googleapi.Error{
16332			Code:   res.StatusCode,
16333			Header: res.Header,
16334		}
16335	}
16336	if err != nil {
16337		return nil, err
16338	}
16339	defer googleapi.CloseBody(res)
16340	if err := googleapi.CheckResponse(res); err != nil {
16341		return nil, err
16342	}
16343	ret := &Empty{
16344		ServerResponse: googleapi.ServerResponse{
16345			Header:         res.Header,
16346			HTTPStatusCode: res.StatusCode,
16347		},
16348	}
16349	target := &ret
16350	if err := gensupport.DecodeResponse(target, res); err != nil {
16351		return nil, err
16352	}
16353	return ret, nil
16354	// {
16355	//   "description": "Deletes the specified User data mapping.",
16356	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16357	//   "httpMethod": "DELETE",
16358	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete",
16359	//   "parameterOrder": [
16360	//     "name"
16361	//   ],
16362	//   "parameters": {
16363	//     "name": {
16364	//       "description": "Required. The resource name of the User data mapping to delete.",
16365	//       "location": "path",
16366	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16367	//       "required": true,
16368	//       "type": "string"
16369	//     }
16370	//   },
16371	//   "path": "v1beta1/{+name}",
16372	//   "response": {
16373	//     "$ref": "Empty"
16374	//   },
16375	//   "scopes": [
16376	//     "https://www.googleapis.com/auth/cloud-platform"
16377	//   ]
16378	// }
16379
16380}
16381
16382// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.get":
16383
16384type ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall struct {
16385	s            *Service
16386	name         string
16387	urlParams_   gensupport.URLParams
16388	ifNoneMatch_ string
16389	ctx_         context.Context
16390	header_      http.Header
16391}
16392
16393// Get: Gets the specified User data mapping.
16394//
16395// - name: The resource name of the User data mapping to retrieve.
16396func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16397	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16398	c.name = name
16399	return c
16400}
16401
16402// Fields allows partial responses to be retrieved. See
16403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16404// for more information.
16405func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16406	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16407	return c
16408}
16409
16410// IfNoneMatch sets the optional parameter which makes the operation
16411// fail if the object's ETag matches the given value. This is useful for
16412// getting updates only after the object has changed since the last
16413// request. Use googleapi.IsNotModified to check whether the response
16414// error from Do is the result of In-None-Match.
16415func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16416	c.ifNoneMatch_ = entityTag
16417	return c
16418}
16419
16420// Context sets the context to be used in this call's Do method. Any
16421// pending HTTP request will be aborted if the provided context is
16422// canceled.
16423func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16424	c.ctx_ = ctx
16425	return c
16426}
16427
16428// Header returns an http.Header that can be modified by the caller to
16429// add HTTP headers to the request.
16430func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Header() http.Header {
16431	if c.header_ == nil {
16432		c.header_ = make(http.Header)
16433	}
16434	return c.header_
16435}
16436
16437func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) doRequest(alt string) (*http.Response, error) {
16438	reqHeaders := make(http.Header)
16439	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16440	for k, v := range c.header_ {
16441		reqHeaders[k] = v
16442	}
16443	reqHeaders.Set("User-Agent", c.s.userAgent())
16444	if c.ifNoneMatch_ != "" {
16445		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16446	}
16447	var body io.Reader = nil
16448	c.urlParams_.Set("alt", alt)
16449	c.urlParams_.Set("prettyPrint", "false")
16450	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16451	urls += "?" + c.urlParams_.Encode()
16452	req, err := http.NewRequest("GET", urls, body)
16453	if err != nil {
16454		return nil, err
16455	}
16456	req.Header = reqHeaders
16457	googleapi.Expand(req.URL, map[string]string{
16458		"name": c.name,
16459	})
16460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16461}
16462
16463// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.get" call.
16464// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16465// status code is an error. Response headers are in either
16466// *UserDataMapping.ServerResponse.Header or (if a response was returned
16467// at all) in error.(*googleapi.Error).Header. Use
16468// googleapi.IsNotModified to check whether the returned error was
16469// because http.StatusNotModified was returned.
16470func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16471	gensupport.SetOptions(c.urlParams_, opts...)
16472	res, err := c.doRequest("json")
16473	if res != nil && res.StatusCode == http.StatusNotModified {
16474		if res.Body != nil {
16475			res.Body.Close()
16476		}
16477		return nil, &googleapi.Error{
16478			Code:   res.StatusCode,
16479			Header: res.Header,
16480		}
16481	}
16482	if err != nil {
16483		return nil, err
16484	}
16485	defer googleapi.CloseBody(res)
16486	if err := googleapi.CheckResponse(res); err != nil {
16487		return nil, err
16488	}
16489	ret := &UserDataMapping{
16490		ServerResponse: googleapi.ServerResponse{
16491			Header:         res.Header,
16492			HTTPStatusCode: res.StatusCode,
16493		},
16494	}
16495	target := &ret
16496	if err := gensupport.DecodeResponse(target, res); err != nil {
16497		return nil, err
16498	}
16499	return ret, nil
16500	// {
16501	//   "description": "Gets the specified User data mapping.",
16502	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16503	//   "httpMethod": "GET",
16504	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.get",
16505	//   "parameterOrder": [
16506	//     "name"
16507	//   ],
16508	//   "parameters": {
16509	//     "name": {
16510	//       "description": "Required. The resource name of the User data mapping to retrieve.",
16511	//       "location": "path",
16512	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16513	//       "required": true,
16514	//       "type": "string"
16515	//     }
16516	//   },
16517	//   "path": "v1beta1/{+name}",
16518	//   "response": {
16519	//     "$ref": "UserDataMapping"
16520	//   },
16521	//   "scopes": [
16522	//     "https://www.googleapis.com/auth/cloud-platform"
16523	//   ]
16524	// }
16525
16526}
16527
16528// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.list":
16529
16530type ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall struct {
16531	s            *Service
16532	parent       string
16533	urlParams_   gensupport.URLParams
16534	ifNoneMatch_ string
16535	ctx_         context.Context
16536	header_      http.Header
16537}
16538
16539// List: Lists the User data mappings in the specified consent store.
16540//
16541// - parent: Name of the consent store to retrieve User data mappings
16542//   from.
16543func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16544	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16545	c.parent = parent
16546	return c
16547}
16548
16549// Filter sets the optional parameter "filter": Restricts the user data
16550// mappings returned to those matching a filter. The following syntax is
16551// available: * A string field value can be written as text inside
16552// quotation marks, for example "query text". The only valid
16553// relational operation for text fields is equality (`=`), where text is
16554// searched within the field, rather than having the field be equal to
16555// the text. For example, "Comment = great" returns messages with
16556// `great` in the comment field. * A number field value can be written
16557// as an integer, a decimal, or an exponential. The valid relational
16558// operators for number fields are the equality operator (`=`), along
16559// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
16560// Note that there is no inequality (`!=`) operator. You can prepend the
16561// `NOT` operator to an expression to negate it. * A date field value
16562// must be written in `yyyy-mm-dd` form. Fields with date and time use
16563// the RFC3339 time format. Leading zeros are required for one-digit
16564// months and days. The valid relational operators for date fields are
16565// the equality operator (`=`) , along with the less than/greater than
16566// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
16567// (`!=`) operator. You can prepend the `NOT` operator to an expression
16568// to negate it. * Multiple field query expressions can be combined in
16569// one query by adding `AND` or `OR` operators between the expressions.
16570// If a boolean operator appears within a quoted string, it is not
16571// treated as special, it's just another part of the character string to
16572// be matched. You can prepend the `NOT` operator to an expression to
16573// negate it. The fields available for filtering are: - data_id -
16574// user_id. For example, `filter=user_id=\"user123\". - archived -
16575// archive_time
16576func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16577	c.urlParams_.Set("filter", filter)
16578	return c
16579}
16580
16581// PageSize sets the optional parameter "pageSize": Limit on the number
16582// of User data mappings to return in a single response. If not
16583// specified, 100 is used. May not be larger than 1000.
16584func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16585	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16586	return c
16587}
16588
16589// PageToken sets the optional parameter "pageToken": Token to retrieve
16590// the next page of results, or empty to get the first page.
16591func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16592	c.urlParams_.Set("pageToken", pageToken)
16593	return c
16594}
16595
16596// Fields allows partial responses to be retrieved. See
16597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16598// for more information.
16599func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16601	return c
16602}
16603
16604// IfNoneMatch sets the optional parameter which makes the operation
16605// fail if the object's ETag matches the given value. This is useful for
16606// getting updates only after the object has changed since the last
16607// request. Use googleapi.IsNotModified to check whether the response
16608// error from Do is the result of In-None-Match.
16609func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16610	c.ifNoneMatch_ = entityTag
16611	return c
16612}
16613
16614// Context sets the context to be used in this call's Do method. Any
16615// pending HTTP request will be aborted if the provided context is
16616// canceled.
16617func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16618	c.ctx_ = ctx
16619	return c
16620}
16621
16622// Header returns an http.Header that can be modified by the caller to
16623// add HTTP headers to the request.
16624func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Header() http.Header {
16625	if c.header_ == nil {
16626		c.header_ = make(http.Header)
16627	}
16628	return c.header_
16629}
16630
16631func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) doRequest(alt string) (*http.Response, error) {
16632	reqHeaders := make(http.Header)
16633	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16634	for k, v := range c.header_ {
16635		reqHeaders[k] = v
16636	}
16637	reqHeaders.Set("User-Agent", c.s.userAgent())
16638	if c.ifNoneMatch_ != "" {
16639		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16640	}
16641	var body io.Reader = nil
16642	c.urlParams_.Set("alt", alt)
16643	c.urlParams_.Set("prettyPrint", "false")
16644	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16645	urls += "?" + c.urlParams_.Encode()
16646	req, err := http.NewRequest("GET", urls, body)
16647	if err != nil {
16648		return nil, err
16649	}
16650	req.Header = reqHeaders
16651	googleapi.Expand(req.URL, map[string]string{
16652		"parent": c.parent,
16653	})
16654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16655}
16656
16657// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.list" call.
16658// Exactly one of *ListUserDataMappingsResponse or error will be
16659// non-nil. Any non-2xx status code is an error. Response headers are in
16660// either *ListUserDataMappingsResponse.ServerResponse.Header or (if a
16661// response was returned at all) in error.(*googleapi.Error).Header. Use
16662// googleapi.IsNotModified to check whether the returned error was
16663// because http.StatusNotModified was returned.
16664func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Do(opts ...googleapi.CallOption) (*ListUserDataMappingsResponse, error) {
16665	gensupport.SetOptions(c.urlParams_, opts...)
16666	res, err := c.doRequest("json")
16667	if res != nil && res.StatusCode == http.StatusNotModified {
16668		if res.Body != nil {
16669			res.Body.Close()
16670		}
16671		return nil, &googleapi.Error{
16672			Code:   res.StatusCode,
16673			Header: res.Header,
16674		}
16675	}
16676	if err != nil {
16677		return nil, err
16678	}
16679	defer googleapi.CloseBody(res)
16680	if err := googleapi.CheckResponse(res); err != nil {
16681		return nil, err
16682	}
16683	ret := &ListUserDataMappingsResponse{
16684		ServerResponse: googleapi.ServerResponse{
16685			Header:         res.Header,
16686			HTTPStatusCode: res.StatusCode,
16687		},
16688	}
16689	target := &ret
16690	if err := gensupport.DecodeResponse(target, res); err != nil {
16691		return nil, err
16692	}
16693	return ret, nil
16694	// {
16695	//   "description": "Lists the User data mappings in the specified consent store.",
16696	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16697	//   "httpMethod": "GET",
16698	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.list",
16699	//   "parameterOrder": [
16700	//     "parent"
16701	//   ],
16702	//   "parameters": {
16703	//     "filter": {
16704	//       "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",
16705	//       "location": "query",
16706	//       "type": "string"
16707	//     },
16708	//     "pageSize": {
16709	//       "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.",
16710	//       "format": "int32",
16711	//       "location": "query",
16712	//       "type": "integer"
16713	//     },
16714	//     "pageToken": {
16715	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
16716	//       "location": "query",
16717	//       "type": "string"
16718	//     },
16719	//     "parent": {
16720	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
16721	//       "location": "path",
16722	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16723	//       "required": true,
16724	//       "type": "string"
16725	//     }
16726	//   },
16727	//   "path": "v1beta1/{+parent}/userDataMappings",
16728	//   "response": {
16729	//     "$ref": "ListUserDataMappingsResponse"
16730	//   },
16731	//   "scopes": [
16732	//     "https://www.googleapis.com/auth/cloud-platform"
16733	//   ]
16734	// }
16735
16736}
16737
16738// Pages invokes f for each page of results.
16739// A non-nil error returned from f will halt the iteration.
16740// The provided context supersedes any context provided to the Context method.
16741func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Pages(ctx context.Context, f func(*ListUserDataMappingsResponse) error) error {
16742	c.ctx_ = ctx
16743	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16744	for {
16745		x, err := c.Do()
16746		if err != nil {
16747			return err
16748		}
16749		if err := f(x); err != nil {
16750			return err
16751		}
16752		if x.NextPageToken == "" {
16753			return nil
16754		}
16755		c.PageToken(x.NextPageToken)
16756	}
16757}
16758
16759// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch":
16760
16761type ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall struct {
16762	s               *Service
16763	name            string
16764	userdatamapping *UserDataMapping
16765	urlParams_      gensupport.URLParams
16766	ctx_            context.Context
16767	header_         http.Header
16768}
16769
16770// Patch: Updates the specified User data mapping.
16771//
16772// - name: Resource name of the User data mapping, of the form
16773//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
16774//   /consentStores/{consent_store_id}/userDataMappings/{user_data_mappin
16775//   g_id}`.
16776func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Patch(name string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16777	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16778	c.name = name
16779	c.userdatamapping = userdatamapping
16780	return c
16781}
16782
16783// UpdateMask sets the optional parameter "updateMask": Required. The
16784// update mask that applies to the resource. For the `FieldMask`
16785// definition, see
16786// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
16787// Only the `data_id`, `user_id` and `resource_attributes` fields can be
16788// updated.
16789func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16790	c.urlParams_.Set("updateMask", updateMask)
16791	return c
16792}
16793
16794// Fields allows partial responses to be retrieved. See
16795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16796// for more information.
16797func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16798	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16799	return c
16800}
16801
16802// Context sets the context to be used in this call's Do method. Any
16803// pending HTTP request will be aborted if the provided context is
16804// canceled.
16805func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16806	c.ctx_ = ctx
16807	return c
16808}
16809
16810// Header returns an http.Header that can be modified by the caller to
16811// add HTTP headers to the request.
16812func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Header() http.Header {
16813	if c.header_ == nil {
16814		c.header_ = make(http.Header)
16815	}
16816	return c.header_
16817}
16818
16819func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
16820	reqHeaders := make(http.Header)
16821	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16822	for k, v := range c.header_ {
16823		reqHeaders[k] = v
16824	}
16825	reqHeaders.Set("User-Agent", c.s.userAgent())
16826	var body io.Reader = nil
16827	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16828	if err != nil {
16829		return nil, err
16830	}
16831	reqHeaders.Set("Content-Type", "application/json")
16832	c.urlParams_.Set("alt", alt)
16833	c.urlParams_.Set("prettyPrint", "false")
16834	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16835	urls += "?" + c.urlParams_.Encode()
16836	req, err := http.NewRequest("PATCH", urls, body)
16837	if err != nil {
16838		return nil, err
16839	}
16840	req.Header = reqHeaders
16841	googleapi.Expand(req.URL, map[string]string{
16842		"name": c.name,
16843	})
16844	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16845}
16846
16847// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch" call.
16848// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16849// status code is an error. Response headers are in either
16850// *UserDataMapping.ServerResponse.Header or (if a response was returned
16851// at all) in error.(*googleapi.Error).Header. Use
16852// googleapi.IsNotModified to check whether the returned error was
16853// because http.StatusNotModified was returned.
16854func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16855	gensupport.SetOptions(c.urlParams_, opts...)
16856	res, err := c.doRequest("json")
16857	if res != nil && res.StatusCode == http.StatusNotModified {
16858		if res.Body != nil {
16859			res.Body.Close()
16860		}
16861		return nil, &googleapi.Error{
16862			Code:   res.StatusCode,
16863			Header: res.Header,
16864		}
16865	}
16866	if err != nil {
16867		return nil, err
16868	}
16869	defer googleapi.CloseBody(res)
16870	if err := googleapi.CheckResponse(res); err != nil {
16871		return nil, err
16872	}
16873	ret := &UserDataMapping{
16874		ServerResponse: googleapi.ServerResponse{
16875			Header:         res.Header,
16876			HTTPStatusCode: res.StatusCode,
16877		},
16878	}
16879	target := &ret
16880	if err := gensupport.DecodeResponse(target, res); err != nil {
16881		return nil, err
16882	}
16883	return ret, nil
16884	// {
16885	//   "description": "Updates the specified User data mapping.",
16886	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16887	//   "httpMethod": "PATCH",
16888	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch",
16889	//   "parameterOrder": [
16890	//     "name"
16891	//   ],
16892	//   "parameters": {
16893	//     "name": {
16894	//       "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}`.",
16895	//       "location": "path",
16896	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16897	//       "required": true,
16898	//       "type": "string"
16899	//     },
16900	//     "updateMask": {
16901	//       "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.",
16902	//       "format": "google-fieldmask",
16903	//       "location": "query",
16904	//       "type": "string"
16905	//     }
16906	//   },
16907	//   "path": "v1beta1/{+name}",
16908	//   "request": {
16909	//     "$ref": "UserDataMapping"
16910	//   },
16911	//   "response": {
16912	//     "$ref": "UserDataMapping"
16913	//   },
16914	//   "scopes": [
16915	//     "https://www.googleapis.com/auth/cloud-platform"
16916	//   ]
16917	// }
16918
16919}
16920
16921// method id "healthcare.projects.locations.datasets.dicomStores.create":
16922
16923type ProjectsLocationsDatasetsDicomStoresCreateCall struct {
16924	s          *Service
16925	parent     string
16926	dicomstore *DicomStore
16927	urlParams_ gensupport.URLParams
16928	ctx_       context.Context
16929	header_    http.Header
16930}
16931
16932// Create: Creates a new DICOM store within the parent dataset.
16933//
16934// - parent: The name of the dataset this DICOM store belongs to.
16935func (r *ProjectsLocationsDatasetsDicomStoresService) Create(parent string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16936	c := &ProjectsLocationsDatasetsDicomStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16937	c.parent = parent
16938	c.dicomstore = dicomstore
16939	return c
16940}
16941
16942// DicomStoreId sets the optional parameter "dicomStoreId": The ID of
16943// the DICOM store that is being created. Any string value up to 256
16944// characters in length.
16945func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) DicomStoreId(dicomStoreId string) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16946	c.urlParams_.Set("dicomStoreId", dicomStoreId)
16947	return c
16948}
16949
16950// Fields allows partial responses to be retrieved. See
16951// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16952// for more information.
16953func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16954	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16955	return c
16956}
16957
16958// Context sets the context to be used in this call's Do method. Any
16959// pending HTTP request will be aborted if the provided context is
16960// canceled.
16961func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresCreateCall {
16962	c.ctx_ = ctx
16963	return c
16964}
16965
16966// Header returns an http.Header that can be modified by the caller to
16967// add HTTP headers to the request.
16968func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Header() http.Header {
16969	if c.header_ == nil {
16970		c.header_ = make(http.Header)
16971	}
16972	return c.header_
16973}
16974
16975func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
16976	reqHeaders := make(http.Header)
16977	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16978	for k, v := range c.header_ {
16979		reqHeaders[k] = v
16980	}
16981	reqHeaders.Set("User-Agent", c.s.userAgent())
16982	var body io.Reader = nil
16983	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
16984	if err != nil {
16985		return nil, err
16986	}
16987	reqHeaders.Set("Content-Type", "application/json")
16988	c.urlParams_.Set("alt", alt)
16989	c.urlParams_.Set("prettyPrint", "false")
16990	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
16991	urls += "?" + c.urlParams_.Encode()
16992	req, err := http.NewRequest("POST", urls, body)
16993	if err != nil {
16994		return nil, err
16995	}
16996	req.Header = reqHeaders
16997	googleapi.Expand(req.URL, map[string]string{
16998		"parent": c.parent,
16999	})
17000	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17001}
17002
17003// Do executes the "healthcare.projects.locations.datasets.dicomStores.create" call.
17004// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17005// status code is an error. Response headers are in either
17006// *DicomStore.ServerResponse.Header or (if a response was returned at
17007// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17008// to check whether the returned error was because
17009// http.StatusNotModified was returned.
17010func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17011	gensupport.SetOptions(c.urlParams_, opts...)
17012	res, err := c.doRequest("json")
17013	if res != nil && res.StatusCode == http.StatusNotModified {
17014		if res.Body != nil {
17015			res.Body.Close()
17016		}
17017		return nil, &googleapi.Error{
17018			Code:   res.StatusCode,
17019			Header: res.Header,
17020		}
17021	}
17022	if err != nil {
17023		return nil, err
17024	}
17025	defer googleapi.CloseBody(res)
17026	if err := googleapi.CheckResponse(res); err != nil {
17027		return nil, err
17028	}
17029	ret := &DicomStore{
17030		ServerResponse: googleapi.ServerResponse{
17031			Header:         res.Header,
17032			HTTPStatusCode: res.StatusCode,
17033		},
17034	}
17035	target := &ret
17036	if err := gensupport.DecodeResponse(target, res); err != nil {
17037		return nil, err
17038	}
17039	return ret, nil
17040	// {
17041	//   "description": "Creates a new DICOM store within the parent dataset.",
17042	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
17043	//   "httpMethod": "POST",
17044	//   "id": "healthcare.projects.locations.datasets.dicomStores.create",
17045	//   "parameterOrder": [
17046	//     "parent"
17047	//   ],
17048	//   "parameters": {
17049	//     "dicomStoreId": {
17050	//       "description": "The ID of the DICOM store that is being created. Any string value up to 256 characters in length.",
17051	//       "location": "query",
17052	//       "type": "string"
17053	//     },
17054	//     "parent": {
17055	//       "description": "The name of the dataset this DICOM store belongs to.",
17056	//       "location": "path",
17057	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
17058	//       "required": true,
17059	//       "type": "string"
17060	//     }
17061	//   },
17062	//   "path": "v1beta1/{+parent}/dicomStores",
17063	//   "request": {
17064	//     "$ref": "DicomStore"
17065	//   },
17066	//   "response": {
17067	//     "$ref": "DicomStore"
17068	//   },
17069	//   "scopes": [
17070	//     "https://www.googleapis.com/auth/cloud-platform"
17071	//   ]
17072	// }
17073
17074}
17075
17076// method id "healthcare.projects.locations.datasets.dicomStores.deidentify":
17077
17078type ProjectsLocationsDatasetsDicomStoresDeidentifyCall struct {
17079	s                           *Service
17080	sourceStore                 string
17081	deidentifydicomstorerequest *DeidentifyDicomStoreRequest
17082	urlParams_                  gensupport.URLParams
17083	ctx_                        context.Context
17084	header_                     http.Header
17085}
17086
17087// Deidentify: De-identifies data from the source store and writes it to
17088// the destination store. The metadata field type is OperationMetadata.
17089// If the request is successful, the response field type is
17090// DeidentifyDicomStoreSummary. The LRO result may still be successful
17091// if de-identification fails for some DICOM instances. The output DICOM
17092// store will not contain these failed resources. The number of
17093// resources processed are tracked in Operation.metadata. Error details
17094// are logged to Cloud Logging. For more information, see Viewing error
17095// logs in Cloud Logging
17096// (https://cloud.google.com/healthcare/docs/how-tos/logging).
17097//
17098// - sourceStore: Source DICOM store resource name. For example,
17099//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17100//   /dicomStores/{dicom_store_id}`.
17101func (r *ProjectsLocationsDatasetsDicomStoresService) Deidentify(sourceStore string, deidentifydicomstorerequest *DeidentifyDicomStoreRequest) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17102	c := &ProjectsLocationsDatasetsDicomStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17103	c.sourceStore = sourceStore
17104	c.deidentifydicomstorerequest = deidentifydicomstorerequest
17105	return c
17106}
17107
17108// Fields allows partial responses to be retrieved. See
17109// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17110// for more information.
17111func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17112	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17113	return c
17114}
17115
17116// Context sets the context to be used in this call's Do method. Any
17117// pending HTTP request will be aborted if the provided context is
17118// canceled.
17119func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17120	c.ctx_ = ctx
17121	return c
17122}
17123
17124// Header returns an http.Header that can be modified by the caller to
17125// add HTTP headers to the request.
17126func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Header() http.Header {
17127	if c.header_ == nil {
17128		c.header_ = make(http.Header)
17129	}
17130	return c.header_
17131}
17132
17133func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
17134	reqHeaders := make(http.Header)
17135	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17136	for k, v := range c.header_ {
17137		reqHeaders[k] = v
17138	}
17139	reqHeaders.Set("User-Agent", c.s.userAgent())
17140	var body io.Reader = nil
17141	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydicomstorerequest)
17142	if err != nil {
17143		return nil, err
17144	}
17145	reqHeaders.Set("Content-Type", "application/json")
17146	c.urlParams_.Set("alt", alt)
17147	c.urlParams_.Set("prettyPrint", "false")
17148	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
17149	urls += "?" + c.urlParams_.Encode()
17150	req, err := http.NewRequest("POST", urls, body)
17151	if err != nil {
17152		return nil, err
17153	}
17154	req.Header = reqHeaders
17155	googleapi.Expand(req.URL, map[string]string{
17156		"sourceStore": c.sourceStore,
17157	})
17158	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17159}
17160
17161// Do executes the "healthcare.projects.locations.datasets.dicomStores.deidentify" call.
17162// Exactly one of *Operation or error will be non-nil. Any non-2xx
17163// status code is an error. Response headers are in either
17164// *Operation.ServerResponse.Header or (if a response was returned at
17165// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17166// to check whether the returned error was because
17167// http.StatusNotModified was returned.
17168func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17169	gensupport.SetOptions(c.urlParams_, opts...)
17170	res, err := c.doRequest("json")
17171	if res != nil && res.StatusCode == http.StatusNotModified {
17172		if res.Body != nil {
17173			res.Body.Close()
17174		}
17175		return nil, &googleapi.Error{
17176			Code:   res.StatusCode,
17177			Header: res.Header,
17178		}
17179	}
17180	if err != nil {
17181		return nil, err
17182	}
17183	defer googleapi.CloseBody(res)
17184	if err := googleapi.CheckResponse(res); err != nil {
17185		return nil, err
17186	}
17187	ret := &Operation{
17188		ServerResponse: googleapi.ServerResponse{
17189			Header:         res.Header,
17190			HTTPStatusCode: res.StatusCode,
17191		},
17192	}
17193	target := &ret
17194	if err := gensupport.DecodeResponse(target, res); err != nil {
17195		return nil, err
17196	}
17197	return ret, nil
17198	// {
17199	//   "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).",
17200	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify",
17201	//   "httpMethod": "POST",
17202	//   "id": "healthcare.projects.locations.datasets.dicomStores.deidentify",
17203	//   "parameterOrder": [
17204	//     "sourceStore"
17205	//   ],
17206	//   "parameters": {
17207	//     "sourceStore": {
17208	//       "description": "Source DICOM store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
17209	//       "location": "path",
17210	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17211	//       "required": true,
17212	//       "type": "string"
17213	//     }
17214	//   },
17215	//   "path": "v1beta1/{+sourceStore}:deidentify",
17216	//   "request": {
17217	//     "$ref": "DeidentifyDicomStoreRequest"
17218	//   },
17219	//   "response": {
17220	//     "$ref": "Operation"
17221	//   },
17222	//   "scopes": [
17223	//     "https://www.googleapis.com/auth/cloud-platform"
17224	//   ]
17225	// }
17226
17227}
17228
17229// method id "healthcare.projects.locations.datasets.dicomStores.delete":
17230
17231type ProjectsLocationsDatasetsDicomStoresDeleteCall struct {
17232	s          *Service
17233	name       string
17234	urlParams_ gensupport.URLParams
17235	ctx_       context.Context
17236	header_    http.Header
17237}
17238
17239// Delete: Deletes the specified DICOM store and removes all images that
17240// are contained within it.
17241//
17242// - name: The resource name of the DICOM store to delete.
17243func (r *ProjectsLocationsDatasetsDicomStoresService) Delete(name string) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17244	c := &ProjectsLocationsDatasetsDicomStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17245	c.name = name
17246	return c
17247}
17248
17249// Fields allows partial responses to be retrieved. See
17250// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17251// for more information.
17252func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17253	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17254	return c
17255}
17256
17257// Context sets the context to be used in this call's Do method. Any
17258// pending HTTP request will be aborted if the provided context is
17259// canceled.
17260func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17261	c.ctx_ = ctx
17262	return c
17263}
17264
17265// Header returns an http.Header that can be modified by the caller to
17266// add HTTP headers to the request.
17267func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Header() http.Header {
17268	if c.header_ == nil {
17269		c.header_ = make(http.Header)
17270	}
17271	return c.header_
17272}
17273
17274func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
17275	reqHeaders := make(http.Header)
17276	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17277	for k, v := range c.header_ {
17278		reqHeaders[k] = v
17279	}
17280	reqHeaders.Set("User-Agent", c.s.userAgent())
17281	var body io.Reader = nil
17282	c.urlParams_.Set("alt", alt)
17283	c.urlParams_.Set("prettyPrint", "false")
17284	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17285	urls += "?" + c.urlParams_.Encode()
17286	req, err := http.NewRequest("DELETE", urls, body)
17287	if err != nil {
17288		return nil, err
17289	}
17290	req.Header = reqHeaders
17291	googleapi.Expand(req.URL, map[string]string{
17292		"name": c.name,
17293	})
17294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17295}
17296
17297// Do executes the "healthcare.projects.locations.datasets.dicomStores.delete" call.
17298// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17299// code is an error. Response headers are in either
17300// *Empty.ServerResponse.Header or (if a response was returned at all)
17301// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17302// check whether the returned error was because http.StatusNotModified
17303// was returned.
17304func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17305	gensupport.SetOptions(c.urlParams_, opts...)
17306	res, err := c.doRequest("json")
17307	if res != nil && res.StatusCode == http.StatusNotModified {
17308		if res.Body != nil {
17309			res.Body.Close()
17310		}
17311		return nil, &googleapi.Error{
17312			Code:   res.StatusCode,
17313			Header: res.Header,
17314		}
17315	}
17316	if err != nil {
17317		return nil, err
17318	}
17319	defer googleapi.CloseBody(res)
17320	if err := googleapi.CheckResponse(res); err != nil {
17321		return nil, err
17322	}
17323	ret := &Empty{
17324		ServerResponse: googleapi.ServerResponse{
17325			Header:         res.Header,
17326			HTTPStatusCode: res.StatusCode,
17327		},
17328	}
17329	target := &ret
17330	if err := gensupport.DecodeResponse(target, res); err != nil {
17331		return nil, err
17332	}
17333	return ret, nil
17334	// {
17335	//   "description": "Deletes the specified DICOM store and removes all images that are contained within it.",
17336	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17337	//   "httpMethod": "DELETE",
17338	//   "id": "healthcare.projects.locations.datasets.dicomStores.delete",
17339	//   "parameterOrder": [
17340	//     "name"
17341	//   ],
17342	//   "parameters": {
17343	//     "name": {
17344	//       "description": "The resource name of the DICOM store to delete.",
17345	//       "location": "path",
17346	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17347	//       "required": true,
17348	//       "type": "string"
17349	//     }
17350	//   },
17351	//   "path": "v1beta1/{+name}",
17352	//   "response": {
17353	//     "$ref": "Empty"
17354	//   },
17355	//   "scopes": [
17356	//     "https://www.googleapis.com/auth/cloud-platform"
17357	//   ]
17358	// }
17359
17360}
17361
17362// method id "healthcare.projects.locations.datasets.dicomStores.export":
17363
17364type ProjectsLocationsDatasetsDicomStoresExportCall struct {
17365	s                      *Service
17366	name                   string
17367	exportdicomdatarequest *ExportDicomDataRequest
17368	urlParams_             gensupport.URLParams
17369	ctx_                   context.Context
17370	header_                http.Header
17371}
17372
17373// Export: Exports data to the specified destination by copying it from
17374// the DICOM store. Errors are also logged to Cloud Logging. For more
17375// information, see Viewing errors in Cloud Logging
17376// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
17377// metadata field type is OperationMetadata.
17378//
17379// - name: The DICOM store resource name from which to export the data.
17380//   For example,
17381//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17382//   /dicomStores/{dicom_store_id}`.
17383func (r *ProjectsLocationsDatasetsDicomStoresService) Export(name string, exportdicomdatarequest *ExportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresExportCall {
17384	c := &ProjectsLocationsDatasetsDicomStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17385	c.name = name
17386	c.exportdicomdatarequest = exportdicomdatarequest
17387	return c
17388}
17389
17390// Fields allows partial responses to be retrieved. See
17391// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17392// for more information.
17393func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresExportCall {
17394	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17395	return c
17396}
17397
17398// Context sets the context to be used in this call's Do method. Any
17399// pending HTTP request will be aborted if the provided context is
17400// canceled.
17401func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresExportCall {
17402	c.ctx_ = ctx
17403	return c
17404}
17405
17406// Header returns an http.Header that can be modified by the caller to
17407// add HTTP headers to the request.
17408func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Header() http.Header {
17409	if c.header_ == nil {
17410		c.header_ = make(http.Header)
17411	}
17412	return c.header_
17413}
17414
17415func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
17416	reqHeaders := make(http.Header)
17417	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17418	for k, v := range c.header_ {
17419		reqHeaders[k] = v
17420	}
17421	reqHeaders.Set("User-Agent", c.s.userAgent())
17422	var body io.Reader = nil
17423	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportdicomdatarequest)
17424	if err != nil {
17425		return nil, err
17426	}
17427	reqHeaders.Set("Content-Type", "application/json")
17428	c.urlParams_.Set("alt", alt)
17429	c.urlParams_.Set("prettyPrint", "false")
17430	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
17431	urls += "?" + c.urlParams_.Encode()
17432	req, err := http.NewRequest("POST", urls, body)
17433	if err != nil {
17434		return nil, err
17435	}
17436	req.Header = reqHeaders
17437	googleapi.Expand(req.URL, map[string]string{
17438		"name": c.name,
17439	})
17440	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17441}
17442
17443// Do executes the "healthcare.projects.locations.datasets.dicomStores.export" call.
17444// Exactly one of *Operation or error will be non-nil. Any non-2xx
17445// status code is an error. Response headers are in either
17446// *Operation.ServerResponse.Header or (if a response was returned at
17447// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17448// to check whether the returned error was because
17449// http.StatusNotModified was returned.
17450func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17451	gensupport.SetOptions(c.urlParams_, opts...)
17452	res, err := c.doRequest("json")
17453	if res != nil && res.StatusCode == http.StatusNotModified {
17454		if res.Body != nil {
17455			res.Body.Close()
17456		}
17457		return nil, &googleapi.Error{
17458			Code:   res.StatusCode,
17459			Header: res.Header,
17460		}
17461	}
17462	if err != nil {
17463		return nil, err
17464	}
17465	defer googleapi.CloseBody(res)
17466	if err := googleapi.CheckResponse(res); err != nil {
17467		return nil, err
17468	}
17469	ret := &Operation{
17470		ServerResponse: googleapi.ServerResponse{
17471			Header:         res.Header,
17472			HTTPStatusCode: res.StatusCode,
17473		},
17474	}
17475	target := &ret
17476	if err := gensupport.DecodeResponse(target, res); err != nil {
17477		return nil, err
17478	}
17479	return ret, nil
17480	// {
17481	//   "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.",
17482	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export",
17483	//   "httpMethod": "POST",
17484	//   "id": "healthcare.projects.locations.datasets.dicomStores.export",
17485	//   "parameterOrder": [
17486	//     "name"
17487	//   ],
17488	//   "parameters": {
17489	//     "name": {
17490	//       "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}`.",
17491	//       "location": "path",
17492	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17493	//       "required": true,
17494	//       "type": "string"
17495	//     }
17496	//   },
17497	//   "path": "v1beta1/{+name}:export",
17498	//   "request": {
17499	//     "$ref": "ExportDicomDataRequest"
17500	//   },
17501	//   "response": {
17502	//     "$ref": "Operation"
17503	//   },
17504	//   "scopes": [
17505	//     "https://www.googleapis.com/auth/cloud-platform"
17506	//   ]
17507	// }
17508
17509}
17510
17511// method id "healthcare.projects.locations.datasets.dicomStores.get":
17512
17513type ProjectsLocationsDatasetsDicomStoresGetCall struct {
17514	s            *Service
17515	name         string
17516	urlParams_   gensupport.URLParams
17517	ifNoneMatch_ string
17518	ctx_         context.Context
17519	header_      http.Header
17520}
17521
17522// Get: Gets the specified DICOM store.
17523//
17524// - name: The resource name of the DICOM store to get.
17525func (r *ProjectsLocationsDatasetsDicomStoresService) Get(name string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17526	c := &ProjectsLocationsDatasetsDicomStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17527	c.name = name
17528	return c
17529}
17530
17531// Fields allows partial responses to be retrieved. See
17532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17533// for more information.
17534func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetCall {
17535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17536	return c
17537}
17538
17539// IfNoneMatch sets the optional parameter which makes the operation
17540// fail if the object's ETag matches the given value. This is useful for
17541// getting updates only after the object has changed since the last
17542// request. Use googleapi.IsNotModified to check whether the response
17543// error from Do is the result of In-None-Match.
17544func (c *ProjectsLocationsDatasetsDicomStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17545	c.ifNoneMatch_ = entityTag
17546	return c
17547}
17548
17549// Context sets the context to be used in this call's Do method. Any
17550// pending HTTP request will be aborted if the provided context is
17551// canceled.
17552func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetCall {
17553	c.ctx_ = ctx
17554	return c
17555}
17556
17557// Header returns an http.Header that can be modified by the caller to
17558// add HTTP headers to the request.
17559func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Header() http.Header {
17560	if c.header_ == nil {
17561		c.header_ = make(http.Header)
17562	}
17563	return c.header_
17564}
17565
17566func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
17567	reqHeaders := make(http.Header)
17568	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17569	for k, v := range c.header_ {
17570		reqHeaders[k] = v
17571	}
17572	reqHeaders.Set("User-Agent", c.s.userAgent())
17573	if c.ifNoneMatch_ != "" {
17574		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17575	}
17576	var body io.Reader = nil
17577	c.urlParams_.Set("alt", alt)
17578	c.urlParams_.Set("prettyPrint", "false")
17579	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17580	urls += "?" + c.urlParams_.Encode()
17581	req, err := http.NewRequest("GET", urls, body)
17582	if err != nil {
17583		return nil, err
17584	}
17585	req.Header = reqHeaders
17586	googleapi.Expand(req.URL, map[string]string{
17587		"name": c.name,
17588	})
17589	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17590}
17591
17592// Do executes the "healthcare.projects.locations.datasets.dicomStores.get" call.
17593// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17594// status code is an error. Response headers are in either
17595// *DicomStore.ServerResponse.Header or (if a response was returned at
17596// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17597// to check whether the returned error was because
17598// http.StatusNotModified was returned.
17599func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17600	gensupport.SetOptions(c.urlParams_, opts...)
17601	res, err := c.doRequest("json")
17602	if res != nil && res.StatusCode == http.StatusNotModified {
17603		if res.Body != nil {
17604			res.Body.Close()
17605		}
17606		return nil, &googleapi.Error{
17607			Code:   res.StatusCode,
17608			Header: res.Header,
17609		}
17610	}
17611	if err != nil {
17612		return nil, err
17613	}
17614	defer googleapi.CloseBody(res)
17615	if err := googleapi.CheckResponse(res); err != nil {
17616		return nil, err
17617	}
17618	ret := &DicomStore{
17619		ServerResponse: googleapi.ServerResponse{
17620			Header:         res.Header,
17621			HTTPStatusCode: res.StatusCode,
17622		},
17623	}
17624	target := &ret
17625	if err := gensupport.DecodeResponse(target, res); err != nil {
17626		return nil, err
17627	}
17628	return ret, nil
17629	// {
17630	//   "description": "Gets the specified DICOM store.",
17631	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17632	//   "httpMethod": "GET",
17633	//   "id": "healthcare.projects.locations.datasets.dicomStores.get",
17634	//   "parameterOrder": [
17635	//     "name"
17636	//   ],
17637	//   "parameters": {
17638	//     "name": {
17639	//       "description": "The resource name of the DICOM store to get.",
17640	//       "location": "path",
17641	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17642	//       "required": true,
17643	//       "type": "string"
17644	//     }
17645	//   },
17646	//   "path": "v1beta1/{+name}",
17647	//   "response": {
17648	//     "$ref": "DicomStore"
17649	//   },
17650	//   "scopes": [
17651	//     "https://www.googleapis.com/auth/cloud-platform"
17652	//   ]
17653	// }
17654
17655}
17656
17657// method id "healthcare.projects.locations.datasets.dicomStores.getIamPolicy":
17658
17659type ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall struct {
17660	s            *Service
17661	resource     string
17662	urlParams_   gensupport.URLParams
17663	ifNoneMatch_ string
17664	ctx_         context.Context
17665	header_      http.Header
17666}
17667
17668// GetIamPolicy: Gets the access control policy for a resource. Returns
17669// an empty policy if the resource exists and does not have a policy
17670// set.
17671//
17672// - resource: REQUIRED: The resource for which the policy is being
17673//   requested. See the operation documentation for the appropriate
17674//   value for this field.
17675func (r *ProjectsLocationsDatasetsDicomStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17676	c := &ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17677	c.resource = resource
17678	return c
17679}
17680
17681// OptionsRequestedPolicyVersion sets the optional parameter
17682// "options.requestedPolicyVersion": The policy format version to be
17683// returned. Valid values are 0, 1, and 3. Requests specifying an
17684// invalid value will be rejected. Requests for policies with any
17685// conditional bindings must specify version 3. Policies without any
17686// conditional bindings may specify any valid value or leave the field
17687// unset. To learn which resources support conditions in their IAM
17688// policies, see the IAM documentation
17689// (https://cloud.google.com/iam/help/conditions/resource-policies).
17690func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17691	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
17692	return c
17693}
17694
17695// Fields allows partial responses to be retrieved. See
17696// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17697// for more information.
17698func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17699	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17700	return c
17701}
17702
17703// IfNoneMatch sets the optional parameter which makes the operation
17704// fail if the object's ETag matches the given value. This is useful for
17705// getting updates only after the object has changed since the last
17706// request. Use googleapi.IsNotModified to check whether the response
17707// error from Do is the result of In-None-Match.
17708func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17709	c.ifNoneMatch_ = entityTag
17710	return c
17711}
17712
17713// Context sets the context to be used in this call's Do method. Any
17714// pending HTTP request will be aborted if the provided context is
17715// canceled.
17716func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17717	c.ctx_ = ctx
17718	return c
17719}
17720
17721// Header returns an http.Header that can be modified by the caller to
17722// add HTTP headers to the request.
17723func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Header() http.Header {
17724	if c.header_ == nil {
17725		c.header_ = make(http.Header)
17726	}
17727	return c.header_
17728}
17729
17730func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
17731	reqHeaders := make(http.Header)
17732	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17733	for k, v := range c.header_ {
17734		reqHeaders[k] = v
17735	}
17736	reqHeaders.Set("User-Agent", c.s.userAgent())
17737	if c.ifNoneMatch_ != "" {
17738		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17739	}
17740	var body io.Reader = nil
17741	c.urlParams_.Set("alt", alt)
17742	c.urlParams_.Set("prettyPrint", "false")
17743	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
17744	urls += "?" + c.urlParams_.Encode()
17745	req, err := http.NewRequest("GET", urls, body)
17746	if err != nil {
17747		return nil, err
17748	}
17749	req.Header = reqHeaders
17750	googleapi.Expand(req.URL, map[string]string{
17751		"resource": c.resource,
17752	})
17753	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17754}
17755
17756// Do executes the "healthcare.projects.locations.datasets.dicomStores.getIamPolicy" call.
17757// Exactly one of *Policy or error will be non-nil. Any non-2xx status
17758// code is an error. Response headers are in either
17759// *Policy.ServerResponse.Header or (if a response was returned at all)
17760// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17761// check whether the returned error was because http.StatusNotModified
17762// was returned.
17763func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
17764	gensupport.SetOptions(c.urlParams_, opts...)
17765	res, err := c.doRequest("json")
17766	if res != nil && res.StatusCode == http.StatusNotModified {
17767		if res.Body != nil {
17768			res.Body.Close()
17769		}
17770		return nil, &googleapi.Error{
17771			Code:   res.StatusCode,
17772			Header: res.Header,
17773		}
17774	}
17775	if err != nil {
17776		return nil, err
17777	}
17778	defer googleapi.CloseBody(res)
17779	if err := googleapi.CheckResponse(res); err != nil {
17780		return nil, err
17781	}
17782	ret := &Policy{
17783		ServerResponse: googleapi.ServerResponse{
17784			Header:         res.Header,
17785			HTTPStatusCode: res.StatusCode,
17786		},
17787	}
17788	target := &ret
17789	if err := gensupport.DecodeResponse(target, res); err != nil {
17790		return nil, err
17791	}
17792	return ret, nil
17793	// {
17794	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
17795	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy",
17796	//   "httpMethod": "GET",
17797	//   "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy",
17798	//   "parameterOrder": [
17799	//     "resource"
17800	//   ],
17801	//   "parameters": {
17802	//     "options.requestedPolicyVersion": {
17803	//       "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).",
17804	//       "format": "int32",
17805	//       "location": "query",
17806	//       "type": "integer"
17807	//     },
17808	//     "resource": {
17809	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
17810	//       "location": "path",
17811	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17812	//       "required": true,
17813	//       "type": "string"
17814	//     }
17815	//   },
17816	//   "path": "v1beta1/{+resource}:getIamPolicy",
17817	//   "response": {
17818	//     "$ref": "Policy"
17819	//   },
17820	//   "scopes": [
17821	//     "https://www.googleapis.com/auth/cloud-platform"
17822	//   ]
17823	// }
17824
17825}
17826
17827// method id "healthcare.projects.locations.datasets.dicomStores.import":
17828
17829type ProjectsLocationsDatasetsDicomStoresImportCall struct {
17830	s                      *Service
17831	name                   string
17832	importdicomdatarequest *ImportDicomDataRequest
17833	urlParams_             gensupport.URLParams
17834	ctx_                   context.Context
17835	header_                http.Header
17836}
17837
17838// Import: Imports data into the DICOM store by copying it from the
17839// specified source. Errors are logged to Cloud Logging. For more
17840// information, see Viewing error logs in Cloud Logging
17841// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
17842// metadata field type is OperationMetadata.
17843//
17844// - name: The name of the DICOM store resource into which the data is
17845//   imported. For example,
17846//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17847//   /dicomStores/{dicom_store_id}`.
17848func (r *ProjectsLocationsDatasetsDicomStoresService) Import(name string, importdicomdatarequest *ImportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresImportCall {
17849	c := &ProjectsLocationsDatasetsDicomStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17850	c.name = name
17851	c.importdicomdatarequest = importdicomdatarequest
17852	return c
17853}
17854
17855// Fields allows partial responses to be retrieved. See
17856// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17857// for more information.
17858func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresImportCall {
17859	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17860	return c
17861}
17862
17863// Context sets the context to be used in this call's Do method. Any
17864// pending HTTP request will be aborted if the provided context is
17865// canceled.
17866func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresImportCall {
17867	c.ctx_ = ctx
17868	return c
17869}
17870
17871// Header returns an http.Header that can be modified by the caller to
17872// add HTTP headers to the request.
17873func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Header() http.Header {
17874	if c.header_ == nil {
17875		c.header_ = make(http.Header)
17876	}
17877	return c.header_
17878}
17879
17880func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
17881	reqHeaders := make(http.Header)
17882	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17883	for k, v := range c.header_ {
17884		reqHeaders[k] = v
17885	}
17886	reqHeaders.Set("User-Agent", c.s.userAgent())
17887	var body io.Reader = nil
17888	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importdicomdatarequest)
17889	if err != nil {
17890		return nil, err
17891	}
17892	reqHeaders.Set("Content-Type", "application/json")
17893	c.urlParams_.Set("alt", alt)
17894	c.urlParams_.Set("prettyPrint", "false")
17895	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
17896	urls += "?" + c.urlParams_.Encode()
17897	req, err := http.NewRequest("POST", urls, body)
17898	if err != nil {
17899		return nil, err
17900	}
17901	req.Header = reqHeaders
17902	googleapi.Expand(req.URL, map[string]string{
17903		"name": c.name,
17904	})
17905	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17906}
17907
17908// Do executes the "healthcare.projects.locations.datasets.dicomStores.import" call.
17909// Exactly one of *Operation or error will be non-nil. Any non-2xx
17910// status code is an error. Response headers are in either
17911// *Operation.ServerResponse.Header or (if a response was returned at
17912// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17913// to check whether the returned error was because
17914// http.StatusNotModified was returned.
17915func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17916	gensupport.SetOptions(c.urlParams_, opts...)
17917	res, err := c.doRequest("json")
17918	if res != nil && res.StatusCode == http.StatusNotModified {
17919		if res.Body != nil {
17920			res.Body.Close()
17921		}
17922		return nil, &googleapi.Error{
17923			Code:   res.StatusCode,
17924			Header: res.Header,
17925		}
17926	}
17927	if err != nil {
17928		return nil, err
17929	}
17930	defer googleapi.CloseBody(res)
17931	if err := googleapi.CheckResponse(res); err != nil {
17932		return nil, err
17933	}
17934	ret := &Operation{
17935		ServerResponse: googleapi.ServerResponse{
17936			Header:         res.Header,
17937			HTTPStatusCode: res.StatusCode,
17938		},
17939	}
17940	target := &ret
17941	if err := gensupport.DecodeResponse(target, res); err != nil {
17942		return nil, err
17943	}
17944	return ret, nil
17945	// {
17946	//   "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.",
17947	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import",
17948	//   "httpMethod": "POST",
17949	//   "id": "healthcare.projects.locations.datasets.dicomStores.import",
17950	//   "parameterOrder": [
17951	//     "name"
17952	//   ],
17953	//   "parameters": {
17954	//     "name": {
17955	//       "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}`.",
17956	//       "location": "path",
17957	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17958	//       "required": true,
17959	//       "type": "string"
17960	//     }
17961	//   },
17962	//   "path": "v1beta1/{+name}:import",
17963	//   "request": {
17964	//     "$ref": "ImportDicomDataRequest"
17965	//   },
17966	//   "response": {
17967	//     "$ref": "Operation"
17968	//   },
17969	//   "scopes": [
17970	//     "https://www.googleapis.com/auth/cloud-platform"
17971	//   ]
17972	// }
17973
17974}
17975
17976// method id "healthcare.projects.locations.datasets.dicomStores.list":
17977
17978type ProjectsLocationsDatasetsDicomStoresListCall struct {
17979	s            *Service
17980	parent       string
17981	urlParams_   gensupport.URLParams
17982	ifNoneMatch_ string
17983	ctx_         context.Context
17984	header_      http.Header
17985}
17986
17987// List: Lists the DICOM stores in the given dataset.
17988//
17989// - parent: Name of the dataset.
17990func (r *ProjectsLocationsDatasetsDicomStoresService) List(parent string) *ProjectsLocationsDatasetsDicomStoresListCall {
17991	c := &ProjectsLocationsDatasetsDicomStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17992	c.parent = parent
17993	return c
17994}
17995
17996// Filter sets the optional parameter "filter": Restricts stores
17997// returned to those matching a filter. The following syntax is
17998// available: * A string field value can be written as text inside
17999// quotation marks, for example "query text". The only valid
18000// relational operation for text fields is equality (`=`), where text is
18001// searched within the field, rather than having the field be equal to
18002// the text. For example, "Comment = great" returns messages with
18003// `great` in the comment field. * A number field value can be written
18004// as an integer, a decimal, or an exponential. The valid relational
18005// operators for number fields are the equality operator (`=`), along
18006// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
18007// Note that there is no inequality (`!=`) operator. You can prepend the
18008// `NOT` operator to an expression to negate it. * A date field value
18009// must be written in `yyyy-mm-dd` form. Fields with date and time use
18010// the RFC3339 time format. Leading zeros are required for one-digit
18011// months and days. The valid relational operators for date fields are
18012// the equality operator (`=`) , along with the less than/greater than
18013// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
18014// (`!=`) operator. You can prepend the `NOT` operator to an expression
18015// to negate it. * Multiple field query expressions can be combined in
18016// one query by adding `AND` or `OR` operators between the expressions.
18017// If a boolean operator appears within a quoted string, it is not
18018// treated as special, it's just another part of the character string to
18019// be matched. You can prepend the `NOT` operator to an expression to
18020// negate it. Only filtering on labels is supported. For example,
18021// `labels.key=value`.
18022func (c *ProjectsLocationsDatasetsDicomStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsDicomStoresListCall {
18023	c.urlParams_.Set("filter", filter)
18024	return c
18025}
18026
18027// PageSize sets the optional parameter "pageSize": Limit on the number
18028// of DICOM stores to return in a single response. If not specified, 100
18029// is used. May not be larger than 1000.
18030func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDicomStoresListCall {
18031	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18032	return c
18033}
18034
18035// PageToken sets the optional parameter "pageToken": The
18036// next_page_token value returned from the previous List request, if
18037// any.
18038func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDicomStoresListCall {
18039	c.urlParams_.Set("pageToken", pageToken)
18040	return c
18041}
18042
18043// Fields allows partial responses to be retrieved. See
18044// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18045// for more information.
18046func (c *ProjectsLocationsDatasetsDicomStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresListCall {
18047	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18048	return c
18049}
18050
18051// IfNoneMatch sets the optional parameter which makes the operation
18052// fail if the object's ETag matches the given value. This is useful for
18053// getting updates only after the object has changed since the last
18054// request. Use googleapi.IsNotModified to check whether the response
18055// error from Do is the result of In-None-Match.
18056func (c *ProjectsLocationsDatasetsDicomStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresListCall {
18057	c.ifNoneMatch_ = entityTag
18058	return c
18059}
18060
18061// Context sets the context to be used in this call's Do method. Any
18062// pending HTTP request will be aborted if the provided context is
18063// canceled.
18064func (c *ProjectsLocationsDatasetsDicomStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresListCall {
18065	c.ctx_ = ctx
18066	return c
18067}
18068
18069// Header returns an http.Header that can be modified by the caller to
18070// add HTTP headers to the request.
18071func (c *ProjectsLocationsDatasetsDicomStoresListCall) Header() http.Header {
18072	if c.header_ == nil {
18073		c.header_ = make(http.Header)
18074	}
18075	return c.header_
18076}
18077
18078func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
18079	reqHeaders := make(http.Header)
18080	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18081	for k, v := range c.header_ {
18082		reqHeaders[k] = v
18083	}
18084	reqHeaders.Set("User-Agent", c.s.userAgent())
18085	if c.ifNoneMatch_ != "" {
18086		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18087	}
18088	var body io.Reader = nil
18089	c.urlParams_.Set("alt", alt)
18090	c.urlParams_.Set("prettyPrint", "false")
18091	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
18092	urls += "?" + c.urlParams_.Encode()
18093	req, err := http.NewRequest("GET", urls, body)
18094	if err != nil {
18095		return nil, err
18096	}
18097	req.Header = reqHeaders
18098	googleapi.Expand(req.URL, map[string]string{
18099		"parent": c.parent,
18100	})
18101	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18102}
18103
18104// Do executes the "healthcare.projects.locations.datasets.dicomStores.list" call.
18105// Exactly one of *ListDicomStoresResponse or error will be non-nil. Any
18106// non-2xx status code is an error. Response headers are in either
18107// *ListDicomStoresResponse.ServerResponse.Header or (if a response was
18108// returned at all) in error.(*googleapi.Error).Header. Use
18109// googleapi.IsNotModified to check whether the returned error was
18110// because http.StatusNotModified was returned.
18111func (c *ProjectsLocationsDatasetsDicomStoresListCall) Do(opts ...googleapi.CallOption) (*ListDicomStoresResponse, error) {
18112	gensupport.SetOptions(c.urlParams_, opts...)
18113	res, err := c.doRequest("json")
18114	if res != nil && res.StatusCode == http.StatusNotModified {
18115		if res.Body != nil {
18116			res.Body.Close()
18117		}
18118		return nil, &googleapi.Error{
18119			Code:   res.StatusCode,
18120			Header: res.Header,
18121		}
18122	}
18123	if err != nil {
18124		return nil, err
18125	}
18126	defer googleapi.CloseBody(res)
18127	if err := googleapi.CheckResponse(res); err != nil {
18128		return nil, err
18129	}
18130	ret := &ListDicomStoresResponse{
18131		ServerResponse: googleapi.ServerResponse{
18132			Header:         res.Header,
18133			HTTPStatusCode: res.StatusCode,
18134		},
18135	}
18136	target := &ret
18137	if err := gensupport.DecodeResponse(target, res); err != nil {
18138		return nil, err
18139	}
18140	return ret, nil
18141	// {
18142	//   "description": "Lists the DICOM stores in the given dataset.",
18143	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
18144	//   "httpMethod": "GET",
18145	//   "id": "healthcare.projects.locations.datasets.dicomStores.list",
18146	//   "parameterOrder": [
18147	//     "parent"
18148	//   ],
18149	//   "parameters": {
18150	//     "filter": {
18151	//       "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`.",
18152	//       "location": "query",
18153	//       "type": "string"
18154	//     },
18155	//     "pageSize": {
18156	//       "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.",
18157	//       "format": "int32",
18158	//       "location": "query",
18159	//       "type": "integer"
18160	//     },
18161	//     "pageToken": {
18162	//       "description": "The next_page_token value returned from the previous List request, if any.",
18163	//       "location": "query",
18164	//       "type": "string"
18165	//     },
18166	//     "parent": {
18167	//       "description": "Name of the dataset.",
18168	//       "location": "path",
18169	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
18170	//       "required": true,
18171	//       "type": "string"
18172	//     }
18173	//   },
18174	//   "path": "v1beta1/{+parent}/dicomStores",
18175	//   "response": {
18176	//     "$ref": "ListDicomStoresResponse"
18177	//   },
18178	//   "scopes": [
18179	//     "https://www.googleapis.com/auth/cloud-platform"
18180	//   ]
18181	// }
18182
18183}
18184
18185// Pages invokes f for each page of results.
18186// A non-nil error returned from f will halt the iteration.
18187// The provided context supersedes any context provided to the Context method.
18188func (c *ProjectsLocationsDatasetsDicomStoresListCall) Pages(ctx context.Context, f func(*ListDicomStoresResponse) error) error {
18189	c.ctx_ = ctx
18190	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18191	for {
18192		x, err := c.Do()
18193		if err != nil {
18194			return err
18195		}
18196		if err := f(x); err != nil {
18197			return err
18198		}
18199		if x.NextPageToken == "" {
18200			return nil
18201		}
18202		c.PageToken(x.NextPageToken)
18203	}
18204}
18205
18206// method id "healthcare.projects.locations.datasets.dicomStores.patch":
18207
18208type ProjectsLocationsDatasetsDicomStoresPatchCall struct {
18209	s          *Service
18210	name       string
18211	dicomstore *DicomStore
18212	urlParams_ gensupport.URLParams
18213	ctx_       context.Context
18214	header_    http.Header
18215}
18216
18217// Patch: Updates the specified DICOM store.
18218//
18219// - name: Resource name of the DICOM store, of the form
18220//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18221//   /dicomStores/{dicom_store_id}`.
18222func (r *ProjectsLocationsDatasetsDicomStoresService) Patch(name string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18223	c := &ProjectsLocationsDatasetsDicomStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18224	c.name = name
18225	c.dicomstore = dicomstore
18226	return c
18227}
18228
18229// UpdateMask sets the optional parameter "updateMask": The update mask
18230// applies to the resource. For the `FieldMask` definition, see
18231// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
18232func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18233	c.urlParams_.Set("updateMask", updateMask)
18234	return c
18235}
18236
18237// Fields allows partial responses to be retrieved. See
18238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18239// for more information.
18240func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18242	return c
18243}
18244
18245// Context sets the context to be used in this call's Do method. Any
18246// pending HTTP request will be aborted if the provided context is
18247// canceled.
18248func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18249	c.ctx_ = ctx
18250	return c
18251}
18252
18253// Header returns an http.Header that can be modified by the caller to
18254// add HTTP headers to the request.
18255func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Header() http.Header {
18256	if c.header_ == nil {
18257		c.header_ = make(http.Header)
18258	}
18259	return c.header_
18260}
18261
18262func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
18263	reqHeaders := make(http.Header)
18264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18265	for k, v := range c.header_ {
18266		reqHeaders[k] = v
18267	}
18268	reqHeaders.Set("User-Agent", c.s.userAgent())
18269	var body io.Reader = nil
18270	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
18271	if err != nil {
18272		return nil, err
18273	}
18274	reqHeaders.Set("Content-Type", "application/json")
18275	c.urlParams_.Set("alt", alt)
18276	c.urlParams_.Set("prettyPrint", "false")
18277	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
18278	urls += "?" + c.urlParams_.Encode()
18279	req, err := http.NewRequest("PATCH", urls, body)
18280	if err != nil {
18281		return nil, err
18282	}
18283	req.Header = reqHeaders
18284	googleapi.Expand(req.URL, map[string]string{
18285		"name": c.name,
18286	})
18287	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18288}
18289
18290// Do executes the "healthcare.projects.locations.datasets.dicomStores.patch" call.
18291// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
18292// status code is an error. Response headers are in either
18293// *DicomStore.ServerResponse.Header or (if a response was returned at
18294// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18295// to check whether the returned error was because
18296// http.StatusNotModified was returned.
18297func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
18298	gensupport.SetOptions(c.urlParams_, opts...)
18299	res, err := c.doRequest("json")
18300	if res != nil && res.StatusCode == http.StatusNotModified {
18301		if res.Body != nil {
18302			res.Body.Close()
18303		}
18304		return nil, &googleapi.Error{
18305			Code:   res.StatusCode,
18306			Header: res.Header,
18307		}
18308	}
18309	if err != nil {
18310		return nil, err
18311	}
18312	defer googleapi.CloseBody(res)
18313	if err := googleapi.CheckResponse(res); err != nil {
18314		return nil, err
18315	}
18316	ret := &DicomStore{
18317		ServerResponse: googleapi.ServerResponse{
18318			Header:         res.Header,
18319			HTTPStatusCode: res.StatusCode,
18320		},
18321	}
18322	target := &ret
18323	if err := gensupport.DecodeResponse(target, res); err != nil {
18324		return nil, err
18325	}
18326	return ret, nil
18327	// {
18328	//   "description": "Updates the specified DICOM store.",
18329	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
18330	//   "httpMethod": "PATCH",
18331	//   "id": "healthcare.projects.locations.datasets.dicomStores.patch",
18332	//   "parameterOrder": [
18333	//     "name"
18334	//   ],
18335	//   "parameters": {
18336	//     "name": {
18337	//       "description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18338	//       "location": "path",
18339	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18340	//       "required": true,
18341	//       "type": "string"
18342	//     },
18343	//     "updateMask": {
18344	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
18345	//       "format": "google-fieldmask",
18346	//       "location": "query",
18347	//       "type": "string"
18348	//     }
18349	//   },
18350	//   "path": "v1beta1/{+name}",
18351	//   "request": {
18352	//     "$ref": "DicomStore"
18353	//   },
18354	//   "response": {
18355	//     "$ref": "DicomStore"
18356	//   },
18357	//   "scopes": [
18358	//     "https://www.googleapis.com/auth/cloud-platform"
18359	//   ]
18360	// }
18361
18362}
18363
18364// method id "healthcare.projects.locations.datasets.dicomStores.searchForInstances":
18365
18366type ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall struct {
18367	s            *Service
18368	parent       string
18369	dicomWebPath string
18370	urlParams_   gensupport.URLParams
18371	ifNoneMatch_ string
18372	ctx_         context.Context
18373	header_      http.Header
18374}
18375
18376// SearchForInstances: SearchForInstances returns a list of matching
18377// instances. See RetrieveTransaction
18378// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18379// For details on the implementation of SearchForInstances, see Search
18380// transaction
18381// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18382// in the Cloud Healthcare API conformance statement. For samples that
18383// show how to call SearchForInstances, see Searching for studies,
18384// series, instances, and frames
18385// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18386//
18387// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
18388//   request. For example, `instances`, `series/{series_uid}/instances`,
18389//   or `studies/{study_uid}/instances`.
18390// - parent: The name of the DICOM store that is being accessed. For
18391//   example,
18392//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18393//   /dicomStores/{dicom_store_id}`.
18394func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18395	c := &ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18396	c.parent = parent
18397	c.dicomWebPath = dicomWebPath
18398	return c
18399}
18400
18401// Fields allows partial responses to be retrieved. See
18402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18403// for more information.
18404func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18406	return c
18407}
18408
18409// IfNoneMatch sets the optional parameter which makes the operation
18410// fail if the object's ETag matches the given value. This is useful for
18411// getting updates only after the object has changed since the last
18412// request. Use googleapi.IsNotModified to check whether the response
18413// error from Do is the result of In-None-Match.
18414func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18415	c.ifNoneMatch_ = entityTag
18416	return c
18417}
18418
18419// Context sets the context to be used in this call's Do method. Any
18420// pending HTTP request will be aborted if the provided context is
18421// canceled.
18422func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18423	c.ctx_ = ctx
18424	return c
18425}
18426
18427// Header returns an http.Header that can be modified by the caller to
18428// add HTTP headers to the request.
18429func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Header() http.Header {
18430	if c.header_ == nil {
18431		c.header_ = make(http.Header)
18432	}
18433	return c.header_
18434}
18435
18436func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
18437	reqHeaders := make(http.Header)
18438	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18439	for k, v := range c.header_ {
18440		reqHeaders[k] = v
18441	}
18442	reqHeaders.Set("User-Agent", c.s.userAgent())
18443	if c.ifNoneMatch_ != "" {
18444		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18445	}
18446	var body io.Reader = nil
18447	c.urlParams_.Set("alt", alt)
18448	c.urlParams_.Set("prettyPrint", "false")
18449	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18450	urls += "?" + c.urlParams_.Encode()
18451	req, err := http.NewRequest("GET", urls, body)
18452	if err != nil {
18453		return nil, err
18454	}
18455	req.Header = reqHeaders
18456	googleapi.Expand(req.URL, map[string]string{
18457		"parent":       c.parent,
18458		"dicomWebPath": c.dicomWebPath,
18459	})
18460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18461}
18462
18463// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForInstances" call.
18464func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18465	gensupport.SetOptions(c.urlParams_, opts...)
18466	return c.doRequest("")
18467	// {
18468	//   "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).",
18469	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances",
18470	//   "httpMethod": "GET",
18471	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances",
18472	//   "parameterOrder": [
18473	//     "parent",
18474	//     "dicomWebPath"
18475	//   ],
18476	//   "parameters": {
18477	//     "dicomWebPath": {
18478	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
18479	//       "location": "path",
18480	//       "pattern": "^instances$",
18481	//       "required": true,
18482	//       "type": "string"
18483	//     },
18484	//     "parent": {
18485	//       "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}`.",
18486	//       "location": "path",
18487	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18488	//       "required": true,
18489	//       "type": "string"
18490	//     }
18491	//   },
18492	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18493	//   "response": {
18494	//     "$ref": "HttpBody"
18495	//   },
18496	//   "scopes": [
18497	//     "https://www.googleapis.com/auth/cloud-platform"
18498	//   ]
18499	// }
18500
18501}
18502
18503// method id "healthcare.projects.locations.datasets.dicomStores.searchForSeries":
18504
18505type ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall struct {
18506	s            *Service
18507	parent       string
18508	dicomWebPath string
18509	urlParams_   gensupport.URLParams
18510	ifNoneMatch_ string
18511	ctx_         context.Context
18512	header_      http.Header
18513}
18514
18515// SearchForSeries: SearchForSeries returns a list of matching series.
18516// See RetrieveTransaction
18517// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18518// For details on the implementation of SearchForSeries, see Search
18519// transaction
18520// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18521// in the Cloud Healthcare API conformance statement. For samples that
18522// show how to call SearchForSeries, see Searching for studies, series,
18523// instances, and frames
18524// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18525//
18526// - dicomWebPath: The path of the SearchForSeries DICOMweb request. For
18527//   example, `series` or `studies/{study_uid}/series`.
18528// - parent: The name of the DICOM store that is being accessed. For
18529//   example,
18530//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18531//   /dicomStores/{dicom_store_id}`.
18532func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18533	c := &ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18534	c.parent = parent
18535	c.dicomWebPath = dicomWebPath
18536	return c
18537}
18538
18539// Fields allows partial responses to be retrieved. See
18540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18541// for more information.
18542func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18544	return c
18545}
18546
18547// IfNoneMatch sets the optional parameter which makes the operation
18548// fail if the object's ETag matches the given value. This is useful for
18549// getting updates only after the object has changed since the last
18550// request. Use googleapi.IsNotModified to check whether the response
18551// error from Do is the result of In-None-Match.
18552func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18553	c.ifNoneMatch_ = entityTag
18554	return c
18555}
18556
18557// Context sets the context to be used in this call's Do method. Any
18558// pending HTTP request will be aborted if the provided context is
18559// canceled.
18560func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18561	c.ctx_ = ctx
18562	return c
18563}
18564
18565// Header returns an http.Header that can be modified by the caller to
18566// add HTTP headers to the request.
18567func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Header() http.Header {
18568	if c.header_ == nil {
18569		c.header_ = make(http.Header)
18570	}
18571	return c.header_
18572}
18573
18574func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
18575	reqHeaders := make(http.Header)
18576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18577	for k, v := range c.header_ {
18578		reqHeaders[k] = v
18579	}
18580	reqHeaders.Set("User-Agent", c.s.userAgent())
18581	if c.ifNoneMatch_ != "" {
18582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18583	}
18584	var body io.Reader = nil
18585	c.urlParams_.Set("alt", alt)
18586	c.urlParams_.Set("prettyPrint", "false")
18587	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18588	urls += "?" + c.urlParams_.Encode()
18589	req, err := http.NewRequest("GET", urls, body)
18590	if err != nil {
18591		return nil, err
18592	}
18593	req.Header = reqHeaders
18594	googleapi.Expand(req.URL, map[string]string{
18595		"parent":       c.parent,
18596		"dicomWebPath": c.dicomWebPath,
18597	})
18598	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18599}
18600
18601// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForSeries" call.
18602func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18603	gensupport.SetOptions(c.urlParams_, opts...)
18604	return c.doRequest("")
18605	// {
18606	//   "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).",
18607	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series",
18608	//   "httpMethod": "GET",
18609	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries",
18610	//   "parameterOrder": [
18611	//     "parent",
18612	//     "dicomWebPath"
18613	//   ],
18614	//   "parameters": {
18615	//     "dicomWebPath": {
18616	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
18617	//       "location": "path",
18618	//       "pattern": "^series$",
18619	//       "required": true,
18620	//       "type": "string"
18621	//     },
18622	//     "parent": {
18623	//       "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}`.",
18624	//       "location": "path",
18625	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18626	//       "required": true,
18627	//       "type": "string"
18628	//     }
18629	//   },
18630	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18631	//   "response": {
18632	//     "$ref": "HttpBody"
18633	//   },
18634	//   "scopes": [
18635	//     "https://www.googleapis.com/auth/cloud-platform"
18636	//   ]
18637	// }
18638
18639}
18640
18641// method id "healthcare.projects.locations.datasets.dicomStores.searchForStudies":
18642
18643type ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall struct {
18644	s            *Service
18645	parent       string
18646	dicomWebPath string
18647	urlParams_   gensupport.URLParams
18648	ifNoneMatch_ string
18649	ctx_         context.Context
18650	header_      http.Header
18651}
18652
18653// SearchForStudies: SearchForStudies returns a list of matching
18654// studies. See RetrieveTransaction
18655// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18656// For details on the implementation of SearchForStudies, see Search
18657// transaction
18658// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18659// in the Cloud Healthcare API conformance statement. For samples that
18660// show how to call SearchForStudies, see Searching for studies, series,
18661// instances, and frames
18662// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18663//
18664// - dicomWebPath: The path of the SearchForStudies DICOMweb request.
18665//   For example, `studies`.
18666// - parent: The name of the DICOM store that is being accessed. For
18667//   example,
18668//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18669//   /dicomStores/{dicom_store_id}`.
18670func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForStudies(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18671	c := &ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18672	c.parent = parent
18673	c.dicomWebPath = dicomWebPath
18674	return c
18675}
18676
18677// Fields allows partial responses to be retrieved. See
18678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18679// for more information.
18680func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18682	return c
18683}
18684
18685// IfNoneMatch sets the optional parameter which makes the operation
18686// fail if the object's ETag matches the given value. This is useful for
18687// getting updates only after the object has changed since the last
18688// request. Use googleapi.IsNotModified to check whether the response
18689// error from Do is the result of In-None-Match.
18690func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18691	c.ifNoneMatch_ = entityTag
18692	return c
18693}
18694
18695// Context sets the context to be used in this call's Do method. Any
18696// pending HTTP request will be aborted if the provided context is
18697// canceled.
18698func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18699	c.ctx_ = ctx
18700	return c
18701}
18702
18703// Header returns an http.Header that can be modified by the caller to
18704// add HTTP headers to the request.
18705func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Header() http.Header {
18706	if c.header_ == nil {
18707		c.header_ = make(http.Header)
18708	}
18709	return c.header_
18710}
18711
18712func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
18713	reqHeaders := make(http.Header)
18714	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18715	for k, v := range c.header_ {
18716		reqHeaders[k] = v
18717	}
18718	reqHeaders.Set("User-Agent", c.s.userAgent())
18719	if c.ifNoneMatch_ != "" {
18720		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18721	}
18722	var body io.Reader = nil
18723	c.urlParams_.Set("alt", alt)
18724	c.urlParams_.Set("prettyPrint", "false")
18725	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18726	urls += "?" + c.urlParams_.Encode()
18727	req, err := http.NewRequest("GET", urls, body)
18728	if err != nil {
18729		return nil, err
18730	}
18731	req.Header = reqHeaders
18732	googleapi.Expand(req.URL, map[string]string{
18733		"parent":       c.parent,
18734		"dicomWebPath": c.dicomWebPath,
18735	})
18736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18737}
18738
18739// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForStudies" call.
18740func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18741	gensupport.SetOptions(c.urlParams_, opts...)
18742	return c.doRequest("")
18743	// {
18744	//   "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).",
18745	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
18746	//   "httpMethod": "GET",
18747	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies",
18748	//   "parameterOrder": [
18749	//     "parent",
18750	//     "dicomWebPath"
18751	//   ],
18752	//   "parameters": {
18753	//     "dicomWebPath": {
18754	//       "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.",
18755	//       "location": "path",
18756	//       "pattern": "^studies$",
18757	//       "required": true,
18758	//       "type": "string"
18759	//     },
18760	//     "parent": {
18761	//       "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}`.",
18762	//       "location": "path",
18763	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18764	//       "required": true,
18765	//       "type": "string"
18766	//     }
18767	//   },
18768	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18769	//   "response": {
18770	//     "$ref": "HttpBody"
18771	//   },
18772	//   "scopes": [
18773	//     "https://www.googleapis.com/auth/cloud-platform"
18774	//   ]
18775	// }
18776
18777}
18778
18779// method id "healthcare.projects.locations.datasets.dicomStores.setIamPolicy":
18780
18781type ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall struct {
18782	s                   *Service
18783	resource            string
18784	setiampolicyrequest *SetIamPolicyRequest
18785	urlParams_          gensupport.URLParams
18786	ctx_                context.Context
18787	header_             http.Header
18788}
18789
18790// SetIamPolicy: Sets the access control policy on the specified
18791// resource. Replaces any existing policy. Can return `NOT_FOUND`,
18792// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
18793//
18794// - resource: REQUIRED: The resource for which the policy is being
18795//   specified. See the operation documentation for the appropriate
18796//   value for this field.
18797func (r *ProjectsLocationsDatasetsDicomStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18798	c := &ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18799	c.resource = resource
18800	c.setiampolicyrequest = setiampolicyrequest
18801	return c
18802}
18803
18804// Fields allows partial responses to be retrieved. See
18805// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18806// for more information.
18807func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18808	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18809	return c
18810}
18811
18812// Context sets the context to be used in this call's Do method. Any
18813// pending HTTP request will be aborted if the provided context is
18814// canceled.
18815func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18816	c.ctx_ = ctx
18817	return c
18818}
18819
18820// Header returns an http.Header that can be modified by the caller to
18821// add HTTP headers to the request.
18822func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Header() http.Header {
18823	if c.header_ == nil {
18824		c.header_ = make(http.Header)
18825	}
18826	return c.header_
18827}
18828
18829func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
18830	reqHeaders := make(http.Header)
18831	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18832	for k, v := range c.header_ {
18833		reqHeaders[k] = v
18834	}
18835	reqHeaders.Set("User-Agent", c.s.userAgent())
18836	var body io.Reader = nil
18837	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
18838	if err != nil {
18839		return nil, err
18840	}
18841	reqHeaders.Set("Content-Type", "application/json")
18842	c.urlParams_.Set("alt", alt)
18843	c.urlParams_.Set("prettyPrint", "false")
18844	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
18845	urls += "?" + c.urlParams_.Encode()
18846	req, err := http.NewRequest("POST", urls, body)
18847	if err != nil {
18848		return nil, err
18849	}
18850	req.Header = reqHeaders
18851	googleapi.Expand(req.URL, map[string]string{
18852		"resource": c.resource,
18853	})
18854	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18855}
18856
18857// Do executes the "healthcare.projects.locations.datasets.dicomStores.setIamPolicy" call.
18858// Exactly one of *Policy or error will be non-nil. Any non-2xx status
18859// code is an error. Response headers are in either
18860// *Policy.ServerResponse.Header or (if a response was returned at all)
18861// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18862// check whether the returned error was because http.StatusNotModified
18863// was returned.
18864func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
18865	gensupport.SetOptions(c.urlParams_, opts...)
18866	res, err := c.doRequest("json")
18867	if res != nil && res.StatusCode == http.StatusNotModified {
18868		if res.Body != nil {
18869			res.Body.Close()
18870		}
18871		return nil, &googleapi.Error{
18872			Code:   res.StatusCode,
18873			Header: res.Header,
18874		}
18875	}
18876	if err != nil {
18877		return nil, err
18878	}
18879	defer googleapi.CloseBody(res)
18880	if err := googleapi.CheckResponse(res); err != nil {
18881		return nil, err
18882	}
18883	ret := &Policy{
18884		ServerResponse: googleapi.ServerResponse{
18885			Header:         res.Header,
18886			HTTPStatusCode: res.StatusCode,
18887		},
18888	}
18889	target := &ret
18890	if err := gensupport.DecodeResponse(target, res); err != nil {
18891		return nil, err
18892	}
18893	return ret, nil
18894	// {
18895	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
18896	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy",
18897	//   "httpMethod": "POST",
18898	//   "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy",
18899	//   "parameterOrder": [
18900	//     "resource"
18901	//   ],
18902	//   "parameters": {
18903	//     "resource": {
18904	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
18905	//       "location": "path",
18906	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18907	//       "required": true,
18908	//       "type": "string"
18909	//     }
18910	//   },
18911	//   "path": "v1beta1/{+resource}:setIamPolicy",
18912	//   "request": {
18913	//     "$ref": "SetIamPolicyRequest"
18914	//   },
18915	//   "response": {
18916	//     "$ref": "Policy"
18917	//   },
18918	//   "scopes": [
18919	//     "https://www.googleapis.com/auth/cloud-platform"
18920	//   ]
18921	// }
18922
18923}
18924
18925// method id "healthcare.projects.locations.datasets.dicomStores.storeInstances":
18926
18927type ProjectsLocationsDatasetsDicomStoresStoreInstancesCall struct {
18928	s            *Service
18929	parent       string
18930	dicomWebPath string
18931	body_        io.Reader
18932	urlParams_   gensupport.URLParams
18933	ctx_         context.Context
18934	header_      http.Header
18935}
18936
18937// StoreInstances: StoreInstances stores DICOM instances associated with
18938// study instance unique identifiers (SUID). See Store Transaction
18939// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
18940// For details on the implementation of StoreInstances, see Store
18941// transaction
18942// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
18943// the Cloud Healthcare API conformance statement. For samples that show
18944// how to call StoreInstances, see Storing DICOM data
18945// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
18946//
18947// - dicomWebPath: The path of the StoreInstances DICOMweb request. For
18948//   example, `studies/[{study_uid}]`. Note that the `study_uid` is
18949//   optional.
18950// - parent: The name of the DICOM store that is being accessed. For
18951//   example,
18952//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18953//   /dicomStores/{dicom_store_id}`.
18954func (r *ProjectsLocationsDatasetsDicomStoresService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18955	c := &ProjectsLocationsDatasetsDicomStoresStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18956	c.parent = parent
18957	c.dicomWebPath = dicomWebPath
18958	c.body_ = body_
18959	return c
18960}
18961
18962// Fields allows partial responses to be retrieved. See
18963// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18964// for more information.
18965func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18966	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18967	return c
18968}
18969
18970// Context sets the context to be used in this call's Do method. Any
18971// pending HTTP request will be aborted if the provided context is
18972// canceled.
18973func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
18974	c.ctx_ = ctx
18975	return c
18976}
18977
18978// Header returns an http.Header that can be modified by the caller to
18979// add HTTP headers to the request.
18980func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Header() http.Header {
18981	if c.header_ == nil {
18982		c.header_ = make(http.Header)
18983	}
18984	return c.header_
18985}
18986
18987func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
18988	reqHeaders := make(http.Header)
18989	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18990	for k, v := range c.header_ {
18991		reqHeaders[k] = v
18992	}
18993	reqHeaders.Set("User-Agent", c.s.userAgent())
18994	var body io.Reader = nil
18995	body = c.body_
18996	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18997	urls += "?" + c.urlParams_.Encode()
18998	req, err := http.NewRequest("POST", urls, body)
18999	if err != nil {
19000		return nil, err
19001	}
19002	req.Header = reqHeaders
19003	googleapi.Expand(req.URL, map[string]string{
19004		"parent":       c.parent,
19005		"dicomWebPath": c.dicomWebPath,
19006	})
19007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19008}
19009
19010// Do executes the "healthcare.projects.locations.datasets.dicomStores.storeInstances" call.
19011func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19012	gensupport.SetOptions(c.urlParams_, opts...)
19013	return c.doRequest("")
19014	// {
19015	//   "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).",
19016	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
19017	//   "httpMethod": "POST",
19018	//   "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances",
19019	//   "parameterOrder": [
19020	//     "parent",
19021	//     "dicomWebPath"
19022	//   ],
19023	//   "parameters": {
19024	//     "dicomWebPath": {
19025	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
19026	//       "location": "path",
19027	//       "pattern": "^studies$",
19028	//       "required": true,
19029	//       "type": "string"
19030	//     },
19031	//     "parent": {
19032	//       "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}`.",
19033	//       "location": "path",
19034	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19035	//       "required": true,
19036	//       "type": "string"
19037	//     }
19038	//   },
19039	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19040	//   "request": {
19041	//     "$ref": "HttpBody"
19042	//   },
19043	//   "response": {
19044	//     "$ref": "HttpBody"
19045	//   },
19046	//   "scopes": [
19047	//     "https://www.googleapis.com/auth/cloud-platform"
19048	//   ]
19049	// }
19050
19051}
19052
19053// method id "healthcare.projects.locations.datasets.dicomStores.testIamPermissions":
19054
19055type ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall struct {
19056	s                         *Service
19057	resource                  string
19058	testiampermissionsrequest *TestIamPermissionsRequest
19059	urlParams_                gensupport.URLParams
19060	ctx_                      context.Context
19061	header_                   http.Header
19062}
19063
19064// TestIamPermissions: Returns permissions that a caller has on the
19065// specified resource. If the resource does not exist, this will return
19066// an empty set of permissions, not a `NOT_FOUND` error. Note: This
19067// operation is designed to be used for building permission-aware UIs
19068// and command-line tools, not for authorization checking. This
19069// operation may "fail open" without warning.
19070//
19071// - resource: REQUIRED: The resource for which the policy detail is
19072//   being requested. See the operation documentation for the
19073//   appropriate value for this field.
19074func (r *ProjectsLocationsDatasetsDicomStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19075	c := &ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19076	c.resource = resource
19077	c.testiampermissionsrequest = testiampermissionsrequest
19078	return c
19079}
19080
19081// Fields allows partial responses to be retrieved. See
19082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19083// for more information.
19084func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19085	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19086	return c
19087}
19088
19089// Context sets the context to be used in this call's Do method. Any
19090// pending HTTP request will be aborted if the provided context is
19091// canceled.
19092func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19093	c.ctx_ = ctx
19094	return c
19095}
19096
19097// Header returns an http.Header that can be modified by the caller to
19098// add HTTP headers to the request.
19099func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Header() http.Header {
19100	if c.header_ == nil {
19101		c.header_ = make(http.Header)
19102	}
19103	return c.header_
19104}
19105
19106func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
19107	reqHeaders := make(http.Header)
19108	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19109	for k, v := range c.header_ {
19110		reqHeaders[k] = v
19111	}
19112	reqHeaders.Set("User-Agent", c.s.userAgent())
19113	var body io.Reader = nil
19114	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
19115	if err != nil {
19116		return nil, err
19117	}
19118	reqHeaders.Set("Content-Type", "application/json")
19119	c.urlParams_.Set("alt", alt)
19120	c.urlParams_.Set("prettyPrint", "false")
19121	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
19122	urls += "?" + c.urlParams_.Encode()
19123	req, err := http.NewRequest("POST", urls, body)
19124	if err != nil {
19125		return nil, err
19126	}
19127	req.Header = reqHeaders
19128	googleapi.Expand(req.URL, map[string]string{
19129		"resource": c.resource,
19130	})
19131	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19132}
19133
19134// Do executes the "healthcare.projects.locations.datasets.dicomStores.testIamPermissions" call.
19135// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
19136// Any non-2xx status code is an error. Response headers are in either
19137// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
19138// was returned at all) in error.(*googleapi.Error).Header. Use
19139// googleapi.IsNotModified to check whether the returned error was
19140// because http.StatusNotModified was returned.
19141func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
19142	gensupport.SetOptions(c.urlParams_, opts...)
19143	res, err := c.doRequest("json")
19144	if res != nil && res.StatusCode == http.StatusNotModified {
19145		if res.Body != nil {
19146			res.Body.Close()
19147		}
19148		return nil, &googleapi.Error{
19149			Code:   res.StatusCode,
19150			Header: res.Header,
19151		}
19152	}
19153	if err != nil {
19154		return nil, err
19155	}
19156	defer googleapi.CloseBody(res)
19157	if err := googleapi.CheckResponse(res); err != nil {
19158		return nil, err
19159	}
19160	ret := &TestIamPermissionsResponse{
19161		ServerResponse: googleapi.ServerResponse{
19162			Header:         res.Header,
19163			HTTPStatusCode: res.StatusCode,
19164		},
19165	}
19166	target := &ret
19167	if err := gensupport.DecodeResponse(target, res); err != nil {
19168		return nil, err
19169	}
19170	return ret, nil
19171	// {
19172	//   "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.",
19173	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions",
19174	//   "httpMethod": "POST",
19175	//   "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions",
19176	//   "parameterOrder": [
19177	//     "resource"
19178	//   ],
19179	//   "parameters": {
19180	//     "resource": {
19181	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
19182	//       "location": "path",
19183	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19184	//       "required": true,
19185	//       "type": "string"
19186	//     }
19187	//   },
19188	//   "path": "v1beta1/{+resource}:testIamPermissions",
19189	//   "request": {
19190	//     "$ref": "TestIamPermissionsRequest"
19191	//   },
19192	//   "response": {
19193	//     "$ref": "TestIamPermissionsResponse"
19194	//   },
19195	//   "scopes": [
19196	//     "https://www.googleapis.com/auth/cloud-platform"
19197	//   ]
19198	// }
19199
19200}
19201
19202// method id "healthcare.projects.locations.datasets.dicomStores.studies.delete":
19203
19204type ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall struct {
19205	s            *Service
19206	parent       string
19207	dicomWebPath string
19208	urlParams_   gensupport.URLParams
19209	ctx_         context.Context
19210	header_      http.Header
19211}
19212
19213// Delete: DeleteStudy deletes all instances within the given study
19214// using a long running operation. The method returns an Operation which
19215// will be marked successful when the deletion is complete. Warning: If
19216// you insert instances into a study while a delete operation is running
19217// for that study, the instances you insert might not appear in search
19218// results until after the deletion operation finishes. For samples that
19219// show how to call DeleteStudy, see Deleting a study, series, or
19220// 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/20210410")
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: If you insert instances into a study while a delete operation is running for that study, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
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/20210410")
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/20210410")
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/20210410")
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/20210410")
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/20210410")
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: If you insert instances into a series while a
20049// delete operation is running for that series, the instances you insert
20050// might not appear in search results until after the deletion operation
20051// finishes. For samples that show how to call DeleteSeries, see
20052// Deleting a study, series, or instance
20053// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20054//
20055// - dicomWebPath: The path of the DeleteSeries request. For example,
20056//   `studies/{study_uid}/series/{series_uid}`.
20057// - parent: The name of the DICOM store that is being accessed. For
20058//   example,
20059//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20060//   /dicomStores/{dicom_store_id}`.
20061func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20062	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20063	c.parent = parent
20064	c.dicomWebPath = dicomWebPath
20065	return c
20066}
20067
20068// Fields allows partial responses to be retrieved. See
20069// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20070// for more information.
20071func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20072	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20073	return c
20074}
20075
20076// Context sets the context to be used in this call's Do method. Any
20077// pending HTTP request will be aborted if the provided context is
20078// canceled.
20079func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20080	c.ctx_ = ctx
20081	return c
20082}
20083
20084// Header returns an http.Header that can be modified by the caller to
20085// add HTTP headers to the request.
20086func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Header() http.Header {
20087	if c.header_ == nil {
20088		c.header_ = make(http.Header)
20089	}
20090	return c.header_
20091}
20092
20093func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
20094	reqHeaders := make(http.Header)
20095	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20096	for k, v := range c.header_ {
20097		reqHeaders[k] = v
20098	}
20099	reqHeaders.Set("User-Agent", c.s.userAgent())
20100	var body io.Reader = nil
20101	c.urlParams_.Set("alt", alt)
20102	c.urlParams_.Set("prettyPrint", "false")
20103	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20104	urls += "?" + c.urlParams_.Encode()
20105	req, err := http.NewRequest("DELETE", urls, body)
20106	if err != nil {
20107		return nil, err
20108	}
20109	req.Header = reqHeaders
20110	googleapi.Expand(req.URL, map[string]string{
20111		"parent":       c.parent,
20112		"dicomWebPath": c.dicomWebPath,
20113	})
20114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20115}
20116
20117// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.delete" call.
20118// Exactly one of *Operation or error will be non-nil. Any non-2xx
20119// status code is an error. Response headers are in either
20120// *Operation.ServerResponse.Header or (if a response was returned at
20121// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20122// to check whether the returned error was because
20123// http.StatusNotModified was returned.
20124func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
20125	gensupport.SetOptions(c.urlParams_, opts...)
20126	res, err := c.doRequest("json")
20127	if res != nil && res.StatusCode == http.StatusNotModified {
20128		if res.Body != nil {
20129			res.Body.Close()
20130		}
20131		return nil, &googleapi.Error{
20132			Code:   res.StatusCode,
20133			Header: res.Header,
20134		}
20135	}
20136	if err != nil {
20137		return nil, err
20138	}
20139	defer googleapi.CloseBody(res)
20140	if err := googleapi.CheckResponse(res); err != nil {
20141		return nil, err
20142	}
20143	ret := &Operation{
20144		ServerResponse: googleapi.ServerResponse{
20145			Header:         res.Header,
20146			HTTPStatusCode: res.StatusCode,
20147		},
20148	}
20149	target := &ret
20150	if err := gensupport.DecodeResponse(target, res); err != nil {
20151		return nil, err
20152	}
20153	return ret, nil
20154	// {
20155	//   "description": "DeleteSeries deletes all instances within the given study and series using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: If you insert instances into a series while a delete operation is running for that series, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
20156	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20157	//   "httpMethod": "DELETE",
20158	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete",
20159	//   "parameterOrder": [
20160	//     "parent",
20161	//     "dicomWebPath"
20162	//   ],
20163	//   "parameters": {
20164	//     "dicomWebPath": {
20165	//       "description": "The path of the DeleteSeries request. For example, `studies/{study_uid}/series/{series_uid}`.",
20166	//       "location": "path",
20167	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20168	//       "required": true,
20169	//       "type": "string"
20170	//     },
20171	//     "parent": {
20172	//       "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}`.",
20173	//       "location": "path",
20174	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20175	//       "required": true,
20176	//       "type": "string"
20177	//     }
20178	//   },
20179	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20180	//   "response": {
20181	//     "$ref": "Operation"
20182	//   },
20183	//   "scopes": [
20184	//     "https://www.googleapis.com/auth/cloud-platform"
20185	//   ]
20186	// }
20187
20188}
20189
20190// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata":
20191
20192type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall struct {
20193	s            *Service
20194	parent       string
20195	dicomWebPath string
20196	urlParams_   gensupport.URLParams
20197	ifNoneMatch_ string
20198	ctx_         context.Context
20199	header_      http.Header
20200}
20201
20202// RetrieveMetadata: RetrieveSeriesMetadata returns instance associated
20203// with the given study and series, presented as metadata with the bulk
20204// data removed. See RetrieveTransaction
20205// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20206// For details on the implementation of RetrieveSeriesMetadata, see
20207// Metadata resources
20208// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20209// in the Cloud Healthcare API conformance statement. For samples that
20210// show how to call RetrieveSeriesMetadata, see Retrieving metadata
20211// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20212//
20213// - dicomWebPath: The path of the RetrieveSeriesMetadata DICOMweb
20214//   request. For example,
20215//   `studies/{study_uid}/series/{series_uid}/metadata`.
20216// - parent: The name of the DICOM store that is being accessed. For
20217//   example,
20218//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20219//   /dicomStores/{dicom_store_id}`.
20220func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20221	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20222	c.parent = parent
20223	c.dicomWebPath = dicomWebPath
20224	return c
20225}
20226
20227// Fields allows partial responses to be retrieved. See
20228// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20229// for more information.
20230func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20231	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20232	return c
20233}
20234
20235// IfNoneMatch sets the optional parameter which makes the operation
20236// fail if the object's ETag matches the given value. This is useful for
20237// getting updates only after the object has changed since the last
20238// request. Use googleapi.IsNotModified to check whether the response
20239// error from Do is the result of In-None-Match.
20240func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20241	c.ifNoneMatch_ = entityTag
20242	return c
20243}
20244
20245// Context sets the context to be used in this call's Do method. Any
20246// pending HTTP request will be aborted if the provided context is
20247// canceled.
20248func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20249	c.ctx_ = ctx
20250	return c
20251}
20252
20253// Header returns an http.Header that can be modified by the caller to
20254// add HTTP headers to the request.
20255func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Header() http.Header {
20256	if c.header_ == nil {
20257		c.header_ = make(http.Header)
20258	}
20259	return c.header_
20260}
20261
20262func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20263	reqHeaders := make(http.Header)
20264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20265	for k, v := range c.header_ {
20266		reqHeaders[k] = v
20267	}
20268	reqHeaders.Set("User-Agent", c.s.userAgent())
20269	if c.ifNoneMatch_ != "" {
20270		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20271	}
20272	var body io.Reader = nil
20273	c.urlParams_.Set("alt", alt)
20274	c.urlParams_.Set("prettyPrint", "false")
20275	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20276	urls += "?" + c.urlParams_.Encode()
20277	req, err := http.NewRequest("GET", urls, body)
20278	if err != nil {
20279		return nil, err
20280	}
20281	req.Header = reqHeaders
20282	googleapi.Expand(req.URL, map[string]string{
20283		"parent":       c.parent,
20284		"dicomWebPath": c.dicomWebPath,
20285	})
20286	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20287}
20288
20289// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata" call.
20290func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20291	gensupport.SetOptions(c.urlParams_, opts...)
20292	return c.doRequest("")
20293	// {
20294	//   "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).",
20295	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata",
20296	//   "httpMethod": "GET",
20297	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata",
20298	//   "parameterOrder": [
20299	//     "parent",
20300	//     "dicomWebPath"
20301	//   ],
20302	//   "parameters": {
20303	//     "dicomWebPath": {
20304	//       "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.",
20305	//       "location": "path",
20306	//       "pattern": "^studies/[^/]+/series/[^/]+/metadata$",
20307	//       "required": true,
20308	//       "type": "string"
20309	//     },
20310	//     "parent": {
20311	//       "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}`.",
20312	//       "location": "path",
20313	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20314	//       "required": true,
20315	//       "type": "string"
20316	//     }
20317	//   },
20318	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20319	//   "response": {
20320	//     "$ref": "HttpBody"
20321	//   },
20322	//   "scopes": [
20323	//     "https://www.googleapis.com/auth/cloud-platform"
20324	//   ]
20325	// }
20326
20327}
20328
20329// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries":
20330
20331type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall struct {
20332	s            *Service
20333	parent       string
20334	dicomWebPath string
20335	urlParams_   gensupport.URLParams
20336	ifNoneMatch_ string
20337	ctx_         context.Context
20338	header_      http.Header
20339}
20340
20341// RetrieveSeries: RetrieveSeries returns all instances within the given
20342// study and series. See RetrieveTransaction
20343// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20344// For details on the implementation of RetrieveSeries, see DICOM
20345// study/series/instances
20346// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20347// in the Cloud Healthcare API conformance statement. For samples that
20348// show how to call RetrieveSeries, see Retrieving DICOM data
20349// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
20350//
20351// - dicomWebPath: The path of the RetrieveSeries DICOMweb request. For
20352//   example, `studies/{study_uid}/series/{series_uid}`.
20353// - parent: The name of the DICOM store that is being accessed. For
20354//   example,
20355//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20356//   /dicomStores/{dicom_store_id}`.
20357func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20358	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20359	c.parent = parent
20360	c.dicomWebPath = dicomWebPath
20361	return c
20362}
20363
20364// Fields allows partial responses to be retrieved. See
20365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20366// for more information.
20367func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20369	return c
20370}
20371
20372// IfNoneMatch sets the optional parameter which makes the operation
20373// fail if the object's ETag matches the given value. This is useful for
20374// getting updates only after the object has changed since the last
20375// request. Use googleapi.IsNotModified to check whether the response
20376// error from Do is the result of In-None-Match.
20377func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20378	c.ifNoneMatch_ = entityTag
20379	return c
20380}
20381
20382// Context sets the context to be used in this call's Do method. Any
20383// pending HTTP request will be aborted if the provided context is
20384// canceled.
20385func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20386	c.ctx_ = ctx
20387	return c
20388}
20389
20390// Header returns an http.Header that can be modified by the caller to
20391// add HTTP headers to the request.
20392func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Header() http.Header {
20393	if c.header_ == nil {
20394		c.header_ = make(http.Header)
20395	}
20396	return c.header_
20397}
20398
20399func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
20400	reqHeaders := make(http.Header)
20401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20402	for k, v := range c.header_ {
20403		reqHeaders[k] = v
20404	}
20405	reqHeaders.Set("User-Agent", c.s.userAgent())
20406	if c.ifNoneMatch_ != "" {
20407		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20408	}
20409	var body io.Reader = nil
20410	c.urlParams_.Set("alt", alt)
20411	c.urlParams_.Set("prettyPrint", "false")
20412	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20413	urls += "?" + c.urlParams_.Encode()
20414	req, err := http.NewRequest("GET", urls, body)
20415	if err != nil {
20416		return nil, err
20417	}
20418	req.Header = reqHeaders
20419	googleapi.Expand(req.URL, map[string]string{
20420		"parent":       c.parent,
20421		"dicomWebPath": c.dicomWebPath,
20422	})
20423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20424}
20425
20426// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries" call.
20427func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20428	gensupport.SetOptions(c.urlParams_, opts...)
20429	return c.doRequest("")
20430	// {
20431	//   "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).",
20432	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20433	//   "httpMethod": "GET",
20434	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries",
20435	//   "parameterOrder": [
20436	//     "parent",
20437	//     "dicomWebPath"
20438	//   ],
20439	//   "parameters": {
20440	//     "dicomWebPath": {
20441	//       "description": "The path of the RetrieveSeries DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}`.",
20442	//       "location": "path",
20443	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20444	//       "required": true,
20445	//       "type": "string"
20446	//     },
20447	//     "parent": {
20448	//       "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}`.",
20449	//       "location": "path",
20450	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20451	//       "required": true,
20452	//       "type": "string"
20453	//     }
20454	//   },
20455	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20456	//   "response": {
20457	//     "$ref": "HttpBody"
20458	//   },
20459	//   "scopes": [
20460	//     "https://www.googleapis.com/auth/cloud-platform"
20461	//   ]
20462	// }
20463
20464}
20465
20466// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances":
20467
20468type ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall struct {
20469	s            *Service
20470	parent       string
20471	dicomWebPath string
20472	urlParams_   gensupport.URLParams
20473	ifNoneMatch_ string
20474	ctx_         context.Context
20475	header_      http.Header
20476}
20477
20478// SearchForInstances: SearchForInstances returns a list of matching
20479// instances. See RetrieveTransaction
20480// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20481// For details on the implementation of SearchForInstances, see Search
20482// transaction
20483// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
20484// in the Cloud Healthcare API conformance statement. For samples that
20485// show how to call SearchForInstances, see Searching for studies,
20486// series, instances, and frames
20487// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
20488//
20489// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
20490//   request. For example, `instances`, `series/{series_uid}/instances`,
20491//   or `studies/{study_uid}/instances`.
20492// - parent: The name of the DICOM store that is being accessed. For
20493//   example,
20494//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20495//   /dicomStores/{dicom_store_id}`.
20496func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20497	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20498	c.parent = parent
20499	c.dicomWebPath = dicomWebPath
20500	return c
20501}
20502
20503// Fields allows partial responses to be retrieved. See
20504// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20505// for more information.
20506func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20507	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20508	return c
20509}
20510
20511// IfNoneMatch sets the optional parameter which makes the operation
20512// fail if the object's ETag matches the given value. This is useful for
20513// getting updates only after the object has changed since the last
20514// request. Use googleapi.IsNotModified to check whether the response
20515// error from Do is the result of In-None-Match.
20516func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20517	c.ifNoneMatch_ = entityTag
20518	return c
20519}
20520
20521// Context sets the context to be used in this call's Do method. Any
20522// pending HTTP request will be aborted if the provided context is
20523// canceled.
20524func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20525	c.ctx_ = ctx
20526	return c
20527}
20528
20529// Header returns an http.Header that can be modified by the caller to
20530// add HTTP headers to the request.
20531func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Header() http.Header {
20532	if c.header_ == nil {
20533		c.header_ = make(http.Header)
20534	}
20535	return c.header_
20536}
20537
20538func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
20539	reqHeaders := make(http.Header)
20540	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20541	for k, v := range c.header_ {
20542		reqHeaders[k] = v
20543	}
20544	reqHeaders.Set("User-Agent", c.s.userAgent())
20545	if c.ifNoneMatch_ != "" {
20546		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20547	}
20548	var body io.Reader = nil
20549	c.urlParams_.Set("alt", alt)
20550	c.urlParams_.Set("prettyPrint", "false")
20551	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20552	urls += "?" + c.urlParams_.Encode()
20553	req, err := http.NewRequest("GET", urls, body)
20554	if err != nil {
20555		return nil, err
20556	}
20557	req.Header = reqHeaders
20558	googleapi.Expand(req.URL, map[string]string{
20559		"parent":       c.parent,
20560		"dicomWebPath": c.dicomWebPath,
20561	})
20562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20563}
20564
20565// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances" call.
20566func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20567	gensupport.SetOptions(c.urlParams_, opts...)
20568	return c.doRequest("")
20569	// {
20570	//   "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).",
20571	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances",
20572	//   "httpMethod": "GET",
20573	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances",
20574	//   "parameterOrder": [
20575	//     "parent",
20576	//     "dicomWebPath"
20577	//   ],
20578	//   "parameters": {
20579	//     "dicomWebPath": {
20580	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
20581	//       "location": "path",
20582	//       "pattern": "^studies/[^/]+/series/[^/]+/instances$",
20583	//       "required": true,
20584	//       "type": "string"
20585	//     },
20586	//     "parent": {
20587	//       "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}`.",
20588	//       "location": "path",
20589	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20590	//       "required": true,
20591	//       "type": "string"
20592	//     }
20593	//   },
20594	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20595	//   "response": {
20596	//     "$ref": "HttpBody"
20597	//   },
20598	//   "scopes": [
20599	//     "https://www.googleapis.com/auth/cloud-platform"
20600	//   ]
20601	// }
20602
20603}
20604
20605// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete":
20606
20607type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall struct {
20608	s            *Service
20609	parent       string
20610	dicomWebPath string
20611	urlParams_   gensupport.URLParams
20612	ctx_         context.Context
20613	header_      http.Header
20614}
20615
20616// Delete: DeleteInstance deletes an instance associated with the given
20617// study, series, and SOP Instance UID. Delete requests are equivalent
20618// to the GET requests specified in the Retrieve transaction. Study and
20619// series search results can take a few seconds to be updated after an
20620// instance is deleted using DeleteInstance. For samples that show how
20621// to call DeleteInstance, see Deleting a study, series, or instance
20622// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20623//
20624// - dicomWebPath: The path of the DeleteInstance request. For example,
20625//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20626// - parent: The name of the DICOM store that is being accessed. For
20627//   example,
20628//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20629//   /dicomStores/{dicom_store_id}`.
20630func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20631	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20632	c.parent = parent
20633	c.dicomWebPath = dicomWebPath
20634	return c
20635}
20636
20637// Fields allows partial responses to be retrieved. See
20638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20639// for more information.
20640func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20642	return c
20643}
20644
20645// Context sets the context to be used in this call's Do method. Any
20646// pending HTTP request will be aborted if the provided context is
20647// canceled.
20648func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20649	c.ctx_ = ctx
20650	return c
20651}
20652
20653// Header returns an http.Header that can be modified by the caller to
20654// add HTTP headers to the request.
20655func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Header() http.Header {
20656	if c.header_ == nil {
20657		c.header_ = make(http.Header)
20658	}
20659	return c.header_
20660}
20661
20662func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
20663	reqHeaders := make(http.Header)
20664	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20665	for k, v := range c.header_ {
20666		reqHeaders[k] = v
20667	}
20668	reqHeaders.Set("User-Agent", c.s.userAgent())
20669	var body io.Reader = nil
20670	c.urlParams_.Set("alt", alt)
20671	c.urlParams_.Set("prettyPrint", "false")
20672	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20673	urls += "?" + c.urlParams_.Encode()
20674	req, err := http.NewRequest("DELETE", urls, body)
20675	if err != nil {
20676		return nil, err
20677	}
20678	req.Header = reqHeaders
20679	googleapi.Expand(req.URL, map[string]string{
20680		"parent":       c.parent,
20681		"dicomWebPath": c.dicomWebPath,
20682	})
20683	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20684}
20685
20686// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete" call.
20687// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20688// code is an error. Response headers are in either
20689// *Empty.ServerResponse.Header or (if a response was returned at all)
20690// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20691// check whether the returned error was because http.StatusNotModified
20692// was returned.
20693func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20694	gensupport.SetOptions(c.urlParams_, opts...)
20695	res, err := c.doRequest("json")
20696	if res != nil && res.StatusCode == http.StatusNotModified {
20697		if res.Body != nil {
20698			res.Body.Close()
20699		}
20700		return nil, &googleapi.Error{
20701			Code:   res.StatusCode,
20702			Header: res.Header,
20703		}
20704	}
20705	if err != nil {
20706		return nil, err
20707	}
20708	defer googleapi.CloseBody(res)
20709	if err := googleapi.CheckResponse(res); err != nil {
20710		return nil, err
20711	}
20712	ret := &Empty{
20713		ServerResponse: googleapi.ServerResponse{
20714			Header:         res.Header,
20715			HTTPStatusCode: res.StatusCode,
20716		},
20717	}
20718	target := &ret
20719	if err := gensupport.DecodeResponse(target, res); err != nil {
20720		return nil, err
20721	}
20722	return ret, nil
20723	// {
20724	//   "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).",
20725	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20726	//   "httpMethod": "DELETE",
20727	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete",
20728	//   "parameterOrder": [
20729	//     "parent",
20730	//     "dicomWebPath"
20731	//   ],
20732	//   "parameters": {
20733	//     "dicomWebPath": {
20734	//       "description": "The path of the DeleteInstance request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20735	//       "location": "path",
20736	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20737	//       "required": true,
20738	//       "type": "string"
20739	//     },
20740	//     "parent": {
20741	//       "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}`.",
20742	//       "location": "path",
20743	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20744	//       "required": true,
20745	//       "type": "string"
20746	//     }
20747	//   },
20748	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20749	//   "response": {
20750	//     "$ref": "Empty"
20751	//   },
20752	//   "scopes": [
20753	//     "https://www.googleapis.com/auth/cloud-platform"
20754	//   ]
20755	// }
20756
20757}
20758
20759// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance":
20760
20761type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall struct {
20762	s            *Service
20763	parent       string
20764	dicomWebPath string
20765	urlParams_   gensupport.URLParams
20766	ifNoneMatch_ string
20767	ctx_         context.Context
20768	header_      http.Header
20769}
20770
20771// RetrieveInstance: RetrieveInstance returns instance associated with
20772// the given study, series, and SOP Instance UID. See
20773// RetrieveTransaction
20774// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20775// For details on the implementation of RetrieveInstance, see DICOM
20776// study/series/instances
20777// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20778// and DICOM instances
20779// (https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in
20780// the Cloud Healthcare API conformance statement. For samples that show
20781// how to call RetrieveInstance, see Retrieving an instance
20782// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).
20783//
20784// - dicomWebPath: The path of the RetrieveInstance DICOMweb request.
20785//   For example,
20786//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20787// - parent: The name of the DICOM store that is being accessed. For
20788//   example,
20789//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20790//   /dicomStores/{dicom_store_id}`.
20791func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveInstance(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20792	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20793	c.parent = parent
20794	c.dicomWebPath = dicomWebPath
20795	return c
20796}
20797
20798// Fields allows partial responses to be retrieved. See
20799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20800// for more information.
20801func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20803	return c
20804}
20805
20806// IfNoneMatch sets the optional parameter which makes the operation
20807// fail if the object's ETag matches the given value. This is useful for
20808// getting updates only after the object has changed since the last
20809// request. Use googleapi.IsNotModified to check whether the response
20810// error from Do is the result of In-None-Match.
20811func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20812	c.ifNoneMatch_ = entityTag
20813	return c
20814}
20815
20816// Context sets the context to be used in this call's Do method. Any
20817// pending HTTP request will be aborted if the provided context is
20818// canceled.
20819func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20820	c.ctx_ = ctx
20821	return c
20822}
20823
20824// Header returns an http.Header that can be modified by the caller to
20825// add HTTP headers to the request.
20826func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Header() http.Header {
20827	if c.header_ == nil {
20828		c.header_ = make(http.Header)
20829	}
20830	return c.header_
20831}
20832
20833func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
20834	reqHeaders := make(http.Header)
20835	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20836	for k, v := range c.header_ {
20837		reqHeaders[k] = v
20838	}
20839	reqHeaders.Set("User-Agent", c.s.userAgent())
20840	if c.ifNoneMatch_ != "" {
20841		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20842	}
20843	var body io.Reader = nil
20844	c.urlParams_.Set("alt", alt)
20845	c.urlParams_.Set("prettyPrint", "false")
20846	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20847	urls += "?" + c.urlParams_.Encode()
20848	req, err := http.NewRequest("GET", urls, body)
20849	if err != nil {
20850		return nil, err
20851	}
20852	req.Header = reqHeaders
20853	googleapi.Expand(req.URL, map[string]string{
20854		"parent":       c.parent,
20855		"dicomWebPath": c.dicomWebPath,
20856	})
20857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20858}
20859
20860// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance" call.
20861func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20862	gensupport.SetOptions(c.urlParams_, opts...)
20863	return c.doRequest("")
20864	// {
20865	//   "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).",
20866	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20867	//   "httpMethod": "GET",
20868	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance",
20869	//   "parameterOrder": [
20870	//     "parent",
20871	//     "dicomWebPath"
20872	//   ],
20873	//   "parameters": {
20874	//     "dicomWebPath": {
20875	//       "description": "The path of the RetrieveInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20876	//       "location": "path",
20877	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20878	//       "required": true,
20879	//       "type": "string"
20880	//     },
20881	//     "parent": {
20882	//       "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}`.",
20883	//       "location": "path",
20884	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20885	//       "required": true,
20886	//       "type": "string"
20887	//     }
20888	//   },
20889	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20890	//   "response": {
20891	//     "$ref": "HttpBody"
20892	//   },
20893	//   "scopes": [
20894	//     "https://www.googleapis.com/auth/cloud-platform"
20895	//   ]
20896	// }
20897
20898}
20899
20900// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata":
20901
20902type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall struct {
20903	s            *Service
20904	parent       string
20905	dicomWebPath string
20906	urlParams_   gensupport.URLParams
20907	ifNoneMatch_ string
20908	ctx_         context.Context
20909	header_      http.Header
20910}
20911
20912// RetrieveMetadata: RetrieveInstanceMetadata returns instance
20913// associated with the given study, series, and SOP Instance UID
20914// presented as metadata with the bulk data removed. See
20915// RetrieveTransaction
20916// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20917// For details on the implementation of RetrieveInstanceMetadata, see
20918// Metadata resources
20919// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20920// in the Cloud Healthcare API conformance statement. For samples that
20921// show how to call RetrieveInstanceMetadata, see Retrieving metadata
20922// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20923//
20924// - dicomWebPath: The path of the RetrieveInstanceMetadata DICOMweb
20925//   request. For example,
20926//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/me
20927//   tadata`.
20928// - parent: The name of the DICOM store that is being accessed. For
20929//   example,
20930//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20931//   /dicomStores/{dicom_store_id}`.
20932func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20933	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20934	c.parent = parent
20935	c.dicomWebPath = dicomWebPath
20936	return c
20937}
20938
20939// Fields allows partial responses to be retrieved. See
20940// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20941// for more information.
20942func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20943	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20944	return c
20945}
20946
20947// IfNoneMatch sets the optional parameter which makes the operation
20948// fail if the object's ETag matches the given value. This is useful for
20949// getting updates only after the object has changed since the last
20950// request. Use googleapi.IsNotModified to check whether the response
20951// error from Do is the result of In-None-Match.
20952func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20953	c.ifNoneMatch_ = entityTag
20954	return c
20955}
20956
20957// Context sets the context to be used in this call's Do method. Any
20958// pending HTTP request will be aborted if the provided context is
20959// canceled.
20960func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
20961	c.ctx_ = ctx
20962	return c
20963}
20964
20965// Header returns an http.Header that can be modified by the caller to
20966// add HTTP headers to the request.
20967func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Header() http.Header {
20968	if c.header_ == nil {
20969		c.header_ = make(http.Header)
20970	}
20971	return c.header_
20972}
20973
20974func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20975	reqHeaders := make(http.Header)
20976	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20977	for k, v := range c.header_ {
20978		reqHeaders[k] = v
20979	}
20980	reqHeaders.Set("User-Agent", c.s.userAgent())
20981	if c.ifNoneMatch_ != "" {
20982		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20983	}
20984	var body io.Reader = nil
20985	c.urlParams_.Set("alt", alt)
20986	c.urlParams_.Set("prettyPrint", "false")
20987	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20988	urls += "?" + c.urlParams_.Encode()
20989	req, err := http.NewRequest("GET", urls, body)
20990	if err != nil {
20991		return nil, err
20992	}
20993	req.Header = reqHeaders
20994	googleapi.Expand(req.URL, map[string]string{
20995		"parent":       c.parent,
20996		"dicomWebPath": c.dicomWebPath,
20997	})
20998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20999}
21000
21001// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata" call.
21002func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21003	gensupport.SetOptions(c.urlParams_, opts...)
21004	return c.doRequest("")
21005	// {
21006	//   "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).",
21007	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata",
21008	//   "httpMethod": "GET",
21009	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata",
21010	//   "parameterOrder": [
21011	//     "parent",
21012	//     "dicomWebPath"
21013	//   ],
21014	//   "parameters": {
21015	//     "dicomWebPath": {
21016	//       "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.",
21017	//       "location": "path",
21018	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$",
21019	//       "required": true,
21020	//       "type": "string"
21021	//     },
21022	//     "parent": {
21023	//       "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}`.",
21024	//       "location": "path",
21025	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21026	//       "required": true,
21027	//       "type": "string"
21028	//     }
21029	//   },
21030	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21031	//   "response": {
21032	//     "$ref": "HttpBody"
21033	//   },
21034	//   "scopes": [
21035	//     "https://www.googleapis.com/auth/cloud-platform"
21036	//   ]
21037	// }
21038
21039}
21040
21041// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered":
21042
21043type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall struct {
21044	s            *Service
21045	parent       string
21046	dicomWebPath string
21047	urlParams_   gensupport.URLParams
21048	ifNoneMatch_ string
21049	ctx_         context.Context
21050	header_      http.Header
21051}
21052
21053// RetrieveRendered: RetrieveRenderedInstance returns instance
21054// associated with the given study, series, and SOP Instance UID in an
21055// acceptable Rendered Media Type. See RetrieveTransaction
21056// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21057// For details on the implementation of RetrieveRenderedInstance, see
21058// Rendered resources
21059// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21060// in the Cloud Healthcare API conformance statement. For samples that
21061// show how to call RetrieveRenderedInstance, see Retrieving consumer
21062// image formats
21063// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21064//
21065// - dicomWebPath: The path of the RetrieveRenderedInstance DICOMweb
21066//   request. For example,
21067//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/re
21068//   ndered`.
21069// - parent: The name of the DICOM store that is being accessed. For
21070//   example,
21071//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21072//   /dicomStores/{dicom_store_id}`.
21073func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21074	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21075	c.parent = parent
21076	c.dicomWebPath = dicomWebPath
21077	return c
21078}
21079
21080// Fields allows partial responses to be retrieved. See
21081// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21082// for more information.
21083func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21084	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21085	return c
21086}
21087
21088// IfNoneMatch sets the optional parameter which makes the operation
21089// fail if the object's ETag matches the given value. This is useful for
21090// getting updates only after the object has changed since the last
21091// request. Use googleapi.IsNotModified to check whether the response
21092// error from Do is the result of In-None-Match.
21093func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21094	c.ifNoneMatch_ = entityTag
21095	return c
21096}
21097
21098// Context sets the context to be used in this call's Do method. Any
21099// pending HTTP request will be aborted if the provided context is
21100// canceled.
21101func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21102	c.ctx_ = ctx
21103	return c
21104}
21105
21106// Header returns an http.Header that can be modified by the caller to
21107// add HTTP headers to the request.
21108func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Header() http.Header {
21109	if c.header_ == nil {
21110		c.header_ = make(http.Header)
21111	}
21112	return c.header_
21113}
21114
21115func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21116	reqHeaders := make(http.Header)
21117	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21118	for k, v := range c.header_ {
21119		reqHeaders[k] = v
21120	}
21121	reqHeaders.Set("User-Agent", c.s.userAgent())
21122	if c.ifNoneMatch_ != "" {
21123		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21124	}
21125	var body io.Reader = nil
21126	c.urlParams_.Set("alt", alt)
21127	c.urlParams_.Set("prettyPrint", "false")
21128	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21129	urls += "?" + c.urlParams_.Encode()
21130	req, err := http.NewRequest("GET", urls, body)
21131	if err != nil {
21132		return nil, err
21133	}
21134	req.Header = reqHeaders
21135	googleapi.Expand(req.URL, map[string]string{
21136		"parent":       c.parent,
21137		"dicomWebPath": c.dicomWebPath,
21138	})
21139	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21140}
21141
21142// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered" call.
21143func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21144	gensupport.SetOptions(c.urlParams_, opts...)
21145	return c.doRequest("")
21146	// {
21147	//   "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).",
21148	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered",
21149	//   "httpMethod": "GET",
21150	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered",
21151	//   "parameterOrder": [
21152	//     "parent",
21153	//     "dicomWebPath"
21154	//   ],
21155	//   "parameters": {
21156	//     "dicomWebPath": {
21157	//       "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.",
21158	//       "location": "path",
21159	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$",
21160	//       "required": true,
21161	//       "type": "string"
21162	//     },
21163	//     "parent": {
21164	//       "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}`.",
21165	//       "location": "path",
21166	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21167	//       "required": true,
21168	//       "type": "string"
21169	//     }
21170	//   },
21171	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21172	//   "response": {
21173	//     "$ref": "HttpBody"
21174	//   },
21175	//   "scopes": [
21176	//     "https://www.googleapis.com/auth/cloud-platform"
21177	//   ]
21178	// }
21179
21180}
21181
21182// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames":
21183
21184type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall struct {
21185	s            *Service
21186	parent       string
21187	dicomWebPath string
21188	urlParams_   gensupport.URLParams
21189	ifNoneMatch_ string
21190	ctx_         context.Context
21191	header_      http.Header
21192}
21193
21194// RetrieveFrames: RetrieveFrames returns instances associated with the
21195// given study, series, SOP Instance UID and frame numbers. See
21196// RetrieveTransaction
21197// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21198// For details on the implementation of RetrieveFrames, see DICOM frames
21199// (https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the
21200// Cloud Healthcare API conformance statement. For samples that show how
21201// to call RetrieveFrames, see Retrieving DICOM data
21202// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
21203//
21204// - dicomWebPath: The path of the RetrieveFrames DICOMweb request. For
21205//   example,
21206//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21207//   ames/{frame_list}`.
21208// - parent: The name of the DICOM store that is being accessed. For
21209//   example,
21210//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21211//   /dicomStores/{dicom_store_id}`.
21212func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveFrames(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21213	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21214	c.parent = parent
21215	c.dicomWebPath = dicomWebPath
21216	return c
21217}
21218
21219// Fields allows partial responses to be retrieved. See
21220// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21221// for more information.
21222func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21223	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21224	return c
21225}
21226
21227// IfNoneMatch sets the optional parameter which makes the operation
21228// fail if the object's ETag matches the given value. This is useful for
21229// getting updates only after the object has changed since the last
21230// request. Use googleapi.IsNotModified to check whether the response
21231// error from Do is the result of In-None-Match.
21232func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21233	c.ifNoneMatch_ = entityTag
21234	return c
21235}
21236
21237// Context sets the context to be used in this call's Do method. Any
21238// pending HTTP request will be aborted if the provided context is
21239// canceled.
21240func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21241	c.ctx_ = ctx
21242	return c
21243}
21244
21245// Header returns an http.Header that can be modified by the caller to
21246// add HTTP headers to the request.
21247func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Header() http.Header {
21248	if c.header_ == nil {
21249		c.header_ = make(http.Header)
21250	}
21251	return c.header_
21252}
21253
21254func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
21255	reqHeaders := make(http.Header)
21256	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21257	for k, v := range c.header_ {
21258		reqHeaders[k] = v
21259	}
21260	reqHeaders.Set("User-Agent", c.s.userAgent())
21261	if c.ifNoneMatch_ != "" {
21262		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21263	}
21264	var body io.Reader = nil
21265	c.urlParams_.Set("alt", alt)
21266	c.urlParams_.Set("prettyPrint", "false")
21267	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21268	urls += "?" + c.urlParams_.Encode()
21269	req, err := http.NewRequest("GET", urls, body)
21270	if err != nil {
21271		return nil, err
21272	}
21273	req.Header = reqHeaders
21274	googleapi.Expand(req.URL, map[string]string{
21275		"parent":       c.parent,
21276		"dicomWebPath": c.dicomWebPath,
21277	})
21278	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21279}
21280
21281// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames" call.
21282func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21283	gensupport.SetOptions(c.urlParams_, opts...)
21284	return c.doRequest("")
21285	// {
21286	//   "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).",
21287	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}",
21288	//   "httpMethod": "GET",
21289	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames",
21290	//   "parameterOrder": [
21291	//     "parent",
21292	//     "dicomWebPath"
21293	//   ],
21294	//   "parameters": {
21295	//     "dicomWebPath": {
21296	//       "description": "The path of the RetrieveFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.",
21297	//       "location": "path",
21298	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$",
21299	//       "required": true,
21300	//       "type": "string"
21301	//     },
21302	//     "parent": {
21303	//       "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}`.",
21304	//       "location": "path",
21305	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21306	//       "required": true,
21307	//       "type": "string"
21308	//     }
21309	//   },
21310	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21311	//   "response": {
21312	//     "$ref": "HttpBody"
21313	//   },
21314	//   "scopes": [
21315	//     "https://www.googleapis.com/auth/cloud-platform"
21316	//   ]
21317	// }
21318
21319}
21320
21321// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered":
21322
21323type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall struct {
21324	s            *Service
21325	parent       string
21326	dicomWebPath string
21327	urlParams_   gensupport.URLParams
21328	ifNoneMatch_ string
21329	ctx_         context.Context
21330	header_      http.Header
21331}
21332
21333// RetrieveRendered: RetrieveRenderedFrames returns instances associated
21334// with the given study, series, SOP Instance UID and frame numbers in
21335// an acceptable Rendered Media Type. See RetrieveTransaction
21336// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21337// For details on the implementation of RetrieveRenderedFrames, see
21338// Rendered resources
21339// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21340// in the Cloud Healthcare API conformance statement. For samples that
21341// show how to call RetrieveRenderedFrames, see Retrieving consumer
21342// image formats
21343// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21344//
21345// - dicomWebPath: The path of the RetrieveRenderedFrames DICOMweb
21346//   request. For example,
21347//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21348//   ames/{frame_list}/rendered`.
21349// - parent: The name of the DICOM store that is being accessed. For
21350//   example,
21351//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21352//   /dicomStores/{dicom_store_id}`.
21353func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21354	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21355	c.parent = parent
21356	c.dicomWebPath = dicomWebPath
21357	return c
21358}
21359
21360// Fields allows partial responses to be retrieved. See
21361// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21362// for more information.
21363func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21364	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21365	return c
21366}
21367
21368// IfNoneMatch sets the optional parameter which makes the operation
21369// fail if the object's ETag matches the given value. This is useful for
21370// getting updates only after the object has changed since the last
21371// request. Use googleapi.IsNotModified to check whether the response
21372// error from Do is the result of In-None-Match.
21373func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21374	c.ifNoneMatch_ = entityTag
21375	return c
21376}
21377
21378// Context sets the context to be used in this call's Do method. Any
21379// pending HTTP request will be aborted if the provided context is
21380// canceled.
21381func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21382	c.ctx_ = ctx
21383	return c
21384}
21385
21386// Header returns an http.Header that can be modified by the caller to
21387// add HTTP headers to the request.
21388func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Header() http.Header {
21389	if c.header_ == nil {
21390		c.header_ = make(http.Header)
21391	}
21392	return c.header_
21393}
21394
21395func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21396	reqHeaders := make(http.Header)
21397	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21398	for k, v := range c.header_ {
21399		reqHeaders[k] = v
21400	}
21401	reqHeaders.Set("User-Agent", c.s.userAgent())
21402	if c.ifNoneMatch_ != "" {
21403		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21404	}
21405	var body io.Reader = nil
21406	c.urlParams_.Set("alt", alt)
21407	c.urlParams_.Set("prettyPrint", "false")
21408	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21409	urls += "?" + c.urlParams_.Encode()
21410	req, err := http.NewRequest("GET", urls, body)
21411	if err != nil {
21412		return nil, err
21413	}
21414	req.Header = reqHeaders
21415	googleapi.Expand(req.URL, map[string]string{
21416		"parent":       c.parent,
21417		"dicomWebPath": c.dicomWebPath,
21418	})
21419	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21420}
21421
21422// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered" call.
21423func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21424	gensupport.SetOptions(c.urlParams_, opts...)
21425	return c.doRequest("")
21426	// {
21427	//   "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).",
21428	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered",
21429	//   "httpMethod": "GET",
21430	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered",
21431	//   "parameterOrder": [
21432	//     "parent",
21433	//     "dicomWebPath"
21434	//   ],
21435	//   "parameters": {
21436	//     "dicomWebPath": {
21437	//       "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.",
21438	//       "location": "path",
21439	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$",
21440	//       "required": true,
21441	//       "type": "string"
21442	//     },
21443	//     "parent": {
21444	//       "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}`.",
21445	//       "location": "path",
21446	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21447	//       "required": true,
21448	//       "type": "string"
21449	//     }
21450	//   },
21451	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21452	//   "response": {
21453	//     "$ref": "HttpBody"
21454	//   },
21455	//   "scopes": [
21456	//     "https://www.googleapis.com/auth/cloud-platform"
21457	//   ]
21458	// }
21459
21460}
21461
21462// method id "healthcare.projects.locations.datasets.fhirStores.create":
21463
21464type ProjectsLocationsDatasetsFhirStoresCreateCall struct {
21465	s          *Service
21466	parent     string
21467	fhirstore  *FhirStore
21468	urlParams_ gensupport.URLParams
21469	ctx_       context.Context
21470	header_    http.Header
21471}
21472
21473// Create: Creates a new FHIR store within the parent dataset.
21474//
21475// - parent: The name of the dataset this FHIR store belongs to.
21476func (r *ProjectsLocationsDatasetsFhirStoresService) Create(parent string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21477	c := &ProjectsLocationsDatasetsFhirStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21478	c.parent = parent
21479	c.fhirstore = fhirstore
21480	return c
21481}
21482
21483// FhirStoreId sets the optional parameter "fhirStoreId": The ID of the
21484// FHIR store that is being created. The string must match the following
21485// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
21486func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) FhirStoreId(fhirStoreId string) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21487	c.urlParams_.Set("fhirStoreId", fhirStoreId)
21488	return c
21489}
21490
21491// Fields allows partial responses to be retrieved. See
21492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21493// for more information.
21494func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21496	return c
21497}
21498
21499// Context sets the context to be used in this call's Do method. Any
21500// pending HTTP request will be aborted if the provided context is
21501// canceled.
21502func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21503	c.ctx_ = ctx
21504	return c
21505}
21506
21507// Header returns an http.Header that can be modified by the caller to
21508// add HTTP headers to the request.
21509func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Header() http.Header {
21510	if c.header_ == nil {
21511		c.header_ = make(http.Header)
21512	}
21513	return c.header_
21514}
21515
21516func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
21517	reqHeaders := make(http.Header)
21518	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21519	for k, v := range c.header_ {
21520		reqHeaders[k] = v
21521	}
21522	reqHeaders.Set("User-Agent", c.s.userAgent())
21523	var body io.Reader = nil
21524	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
21525	if err != nil {
21526		return nil, err
21527	}
21528	reqHeaders.Set("Content-Type", "application/json")
21529	c.urlParams_.Set("alt", alt)
21530	c.urlParams_.Set("prettyPrint", "false")
21531	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
21532	urls += "?" + c.urlParams_.Encode()
21533	req, err := http.NewRequest("POST", urls, body)
21534	if err != nil {
21535		return nil, err
21536	}
21537	req.Header = reqHeaders
21538	googleapi.Expand(req.URL, map[string]string{
21539		"parent": c.parent,
21540	})
21541	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21542}
21543
21544// Do executes the "healthcare.projects.locations.datasets.fhirStores.create" call.
21545// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
21546// status code is an error. Response headers are in either
21547// *FhirStore.ServerResponse.Header or (if a response was returned at
21548// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21549// to check whether the returned error was because
21550// http.StatusNotModified was returned.
21551func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
21552	gensupport.SetOptions(c.urlParams_, opts...)
21553	res, err := c.doRequest("json")
21554	if res != nil && res.StatusCode == http.StatusNotModified {
21555		if res.Body != nil {
21556			res.Body.Close()
21557		}
21558		return nil, &googleapi.Error{
21559			Code:   res.StatusCode,
21560			Header: res.Header,
21561		}
21562	}
21563	if err != nil {
21564		return nil, err
21565	}
21566	defer googleapi.CloseBody(res)
21567	if err := googleapi.CheckResponse(res); err != nil {
21568		return nil, err
21569	}
21570	ret := &FhirStore{
21571		ServerResponse: googleapi.ServerResponse{
21572			Header:         res.Header,
21573			HTTPStatusCode: res.StatusCode,
21574		},
21575	}
21576	target := &ret
21577	if err := gensupport.DecodeResponse(target, res); err != nil {
21578		return nil, err
21579	}
21580	return ret, nil
21581	// {
21582	//   "description": "Creates a new FHIR store within the parent dataset.",
21583	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
21584	//   "httpMethod": "POST",
21585	//   "id": "healthcare.projects.locations.datasets.fhirStores.create",
21586	//   "parameterOrder": [
21587	//     "parent"
21588	//   ],
21589	//   "parameters": {
21590	//     "fhirStoreId": {
21591	//       "description": "The ID of the FHIR store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
21592	//       "location": "query",
21593	//       "type": "string"
21594	//     },
21595	//     "parent": {
21596	//       "description": "The name of the dataset this FHIR store belongs to.",
21597	//       "location": "path",
21598	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
21599	//       "required": true,
21600	//       "type": "string"
21601	//     }
21602	//   },
21603	//   "path": "v1beta1/{+parent}/fhirStores",
21604	//   "request": {
21605	//     "$ref": "FhirStore"
21606	//   },
21607	//   "response": {
21608	//     "$ref": "FhirStore"
21609	//   },
21610	//   "scopes": [
21611	//     "https://www.googleapis.com/auth/cloud-platform"
21612	//   ]
21613	// }
21614
21615}
21616
21617// method id "healthcare.projects.locations.datasets.fhirStores.deidentify":
21618
21619type ProjectsLocationsDatasetsFhirStoresDeidentifyCall struct {
21620	s                          *Service
21621	sourceStore                string
21622	deidentifyfhirstorerequest *DeidentifyFhirStoreRequest
21623	urlParams_                 gensupport.URLParams
21624	ctx_                       context.Context
21625	header_                    http.Header
21626}
21627
21628// Deidentify: De-identifies data from the source store and writes it to
21629// the destination store. The metadata field type is OperationMetadata.
21630// If the request is successful, the response field type is
21631// DeidentifyFhirStoreSummary. The number of resources processed are
21632// tracked in Operation.metadata. Error details are logged to Cloud
21633// Logging. For more information, see Viewing error logs in Cloud
21634// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
21635//
21636// - sourceStore: Source FHIR store resource name. For example,
21637//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21638//   /fhirStores/{fhir_store_id}`.
21639func (r *ProjectsLocationsDatasetsFhirStoresService) Deidentify(sourceStore string, deidentifyfhirstorerequest *DeidentifyFhirStoreRequest) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21640	c := &ProjectsLocationsDatasetsFhirStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21641	c.sourceStore = sourceStore
21642	c.deidentifyfhirstorerequest = deidentifyfhirstorerequest
21643	return c
21644}
21645
21646// Fields allows partial responses to be retrieved. See
21647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21648// for more information.
21649func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21651	return c
21652}
21653
21654// Context sets the context to be used in this call's Do method. Any
21655// pending HTTP request will be aborted if the provided context is
21656// canceled.
21657func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21658	c.ctx_ = ctx
21659	return c
21660}
21661
21662// Header returns an http.Header that can be modified by the caller to
21663// add HTTP headers to the request.
21664func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Header() http.Header {
21665	if c.header_ == nil {
21666		c.header_ = make(http.Header)
21667	}
21668	return c.header_
21669}
21670
21671func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
21672	reqHeaders := make(http.Header)
21673	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21674	for k, v := range c.header_ {
21675		reqHeaders[k] = v
21676	}
21677	reqHeaders.Set("User-Agent", c.s.userAgent())
21678	var body io.Reader = nil
21679	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifyfhirstorerequest)
21680	if err != nil {
21681		return nil, err
21682	}
21683	reqHeaders.Set("Content-Type", "application/json")
21684	c.urlParams_.Set("alt", alt)
21685	c.urlParams_.Set("prettyPrint", "false")
21686	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
21687	urls += "?" + c.urlParams_.Encode()
21688	req, err := http.NewRequest("POST", urls, body)
21689	if err != nil {
21690		return nil, err
21691	}
21692	req.Header = reqHeaders
21693	googleapi.Expand(req.URL, map[string]string{
21694		"sourceStore": c.sourceStore,
21695	})
21696	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21697}
21698
21699// Do executes the "healthcare.projects.locations.datasets.fhirStores.deidentify" call.
21700// Exactly one of *Operation or error will be non-nil. Any non-2xx
21701// status code is an error. Response headers are in either
21702// *Operation.ServerResponse.Header or (if a response was returned at
21703// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21704// to check whether the returned error was because
21705// http.StatusNotModified was returned.
21706func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21707	gensupport.SetOptions(c.urlParams_, opts...)
21708	res, err := c.doRequest("json")
21709	if res != nil && res.StatusCode == http.StatusNotModified {
21710		if res.Body != nil {
21711			res.Body.Close()
21712		}
21713		return nil, &googleapi.Error{
21714			Code:   res.StatusCode,
21715			Header: res.Header,
21716		}
21717	}
21718	if err != nil {
21719		return nil, err
21720	}
21721	defer googleapi.CloseBody(res)
21722	if err := googleapi.CheckResponse(res); err != nil {
21723		return nil, err
21724	}
21725	ret := &Operation{
21726		ServerResponse: googleapi.ServerResponse{
21727			Header:         res.Header,
21728			HTTPStatusCode: res.StatusCode,
21729		},
21730	}
21731	target := &ret
21732	if err := gensupport.DecodeResponse(target, res); err != nil {
21733		return nil, err
21734	}
21735	return ret, nil
21736	// {
21737	//   "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).",
21738	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify",
21739	//   "httpMethod": "POST",
21740	//   "id": "healthcare.projects.locations.datasets.fhirStores.deidentify",
21741	//   "parameterOrder": [
21742	//     "sourceStore"
21743	//   ],
21744	//   "parameters": {
21745	//     "sourceStore": {
21746	//       "description": "Source FHIR store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
21747	//       "location": "path",
21748	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21749	//       "required": true,
21750	//       "type": "string"
21751	//     }
21752	//   },
21753	//   "path": "v1beta1/{+sourceStore}:deidentify",
21754	//   "request": {
21755	//     "$ref": "DeidentifyFhirStoreRequest"
21756	//   },
21757	//   "response": {
21758	//     "$ref": "Operation"
21759	//   },
21760	//   "scopes": [
21761	//     "https://www.googleapis.com/auth/cloud-platform"
21762	//   ]
21763	// }
21764
21765}
21766
21767// method id "healthcare.projects.locations.datasets.fhirStores.delete":
21768
21769type ProjectsLocationsDatasetsFhirStoresDeleteCall struct {
21770	s          *Service
21771	name       string
21772	urlParams_ gensupport.URLParams
21773	ctx_       context.Context
21774	header_    http.Header
21775}
21776
21777// Delete: Deletes the specified FHIR store and removes all resources
21778// within it.
21779//
21780// - name: The resource name of the FHIR store to delete.
21781func (r *ProjectsLocationsDatasetsFhirStoresService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21782	c := &ProjectsLocationsDatasetsFhirStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21783	c.name = name
21784	return c
21785}
21786
21787// Fields allows partial responses to be retrieved. See
21788// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21789// for more information.
21790func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21791	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21792	return c
21793}
21794
21795// Context sets the context to be used in this call's Do method. Any
21796// pending HTTP request will be aborted if the provided context is
21797// canceled.
21798func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
21799	c.ctx_ = ctx
21800	return c
21801}
21802
21803// Header returns an http.Header that can be modified by the caller to
21804// add HTTP headers to the request.
21805func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Header() http.Header {
21806	if c.header_ == nil {
21807		c.header_ = make(http.Header)
21808	}
21809	return c.header_
21810}
21811
21812func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
21813	reqHeaders := make(http.Header)
21814	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21815	for k, v := range c.header_ {
21816		reqHeaders[k] = v
21817	}
21818	reqHeaders.Set("User-Agent", c.s.userAgent())
21819	var body io.Reader = nil
21820	c.urlParams_.Set("alt", alt)
21821	c.urlParams_.Set("prettyPrint", "false")
21822	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
21823	urls += "?" + c.urlParams_.Encode()
21824	req, err := http.NewRequest("DELETE", urls, body)
21825	if err != nil {
21826		return nil, err
21827	}
21828	req.Header = reqHeaders
21829	googleapi.Expand(req.URL, map[string]string{
21830		"name": c.name,
21831	})
21832	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21833}
21834
21835// Do executes the "healthcare.projects.locations.datasets.fhirStores.delete" call.
21836// Exactly one of *Empty or error will be non-nil. Any non-2xx status
21837// code is an error. Response headers are in either
21838// *Empty.ServerResponse.Header or (if a response was returned at all)
21839// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21840// check whether the returned error was because http.StatusNotModified
21841// was returned.
21842func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
21843	gensupport.SetOptions(c.urlParams_, opts...)
21844	res, err := c.doRequest("json")
21845	if res != nil && res.StatusCode == http.StatusNotModified {
21846		if res.Body != nil {
21847			res.Body.Close()
21848		}
21849		return nil, &googleapi.Error{
21850			Code:   res.StatusCode,
21851			Header: res.Header,
21852		}
21853	}
21854	if err != nil {
21855		return nil, err
21856	}
21857	defer googleapi.CloseBody(res)
21858	if err := googleapi.CheckResponse(res); err != nil {
21859		return nil, err
21860	}
21861	ret := &Empty{
21862		ServerResponse: googleapi.ServerResponse{
21863			Header:         res.Header,
21864			HTTPStatusCode: res.StatusCode,
21865		},
21866	}
21867	target := &ret
21868	if err := gensupport.DecodeResponse(target, res); err != nil {
21869		return nil, err
21870	}
21871	return ret, nil
21872	// {
21873	//   "description": "Deletes the specified FHIR store and removes all resources within it.",
21874	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
21875	//   "httpMethod": "DELETE",
21876	//   "id": "healthcare.projects.locations.datasets.fhirStores.delete",
21877	//   "parameterOrder": [
21878	//     "name"
21879	//   ],
21880	//   "parameters": {
21881	//     "name": {
21882	//       "description": "The resource name of the FHIR store to delete.",
21883	//       "location": "path",
21884	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21885	//       "required": true,
21886	//       "type": "string"
21887	//     }
21888	//   },
21889	//   "path": "v1beta1/{+name}",
21890	//   "response": {
21891	//     "$ref": "Empty"
21892	//   },
21893	//   "scopes": [
21894	//     "https://www.googleapis.com/auth/cloud-platform"
21895	//   ]
21896	// }
21897
21898}
21899
21900// method id "healthcare.projects.locations.datasets.fhirStores.export":
21901
21902type ProjectsLocationsDatasetsFhirStoresExportCall struct {
21903	s                      *Service
21904	name                   string
21905	exportresourcesrequest *ExportResourcesRequest
21906	urlParams_             gensupport.URLParams
21907	ctx_                   context.Context
21908	header_                http.Header
21909}
21910
21911// Export: Export resources from the FHIR store to the specified
21912// destination. This method returns an Operation that can be used to
21913// track the status of the export by calling GetOperation. Immediate
21914// fatal errors appear in the error field, errors are also logged to
21915// Cloud Logging (see Viewing error logs in Cloud Logging
21916// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
21917// Otherwise, when the operation finishes, a detailed response of type
21918// ExportResourcesResponse is returned in the response field. The
21919// metadata field type for this operation is OperationMetadata.
21920//
21921// - name: The name of the FHIR store to export resource from, in the
21922//   format of
21923//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21924//   /fhirStores/{fhir_store_id}`.
21925func (r *ProjectsLocationsDatasetsFhirStoresService) Export(name string, exportresourcesrequest *ExportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresExportCall {
21926	c := &ProjectsLocationsDatasetsFhirStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21927	c.name = name
21928	c.exportresourcesrequest = exportresourcesrequest
21929	return c
21930}
21931
21932// Fields allows partial responses to be retrieved. See
21933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21934// for more information.
21935func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresExportCall {
21936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21937	return c
21938}
21939
21940// Context sets the context to be used in this call's Do method. Any
21941// pending HTTP request will be aborted if the provided context is
21942// canceled.
21943func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresExportCall {
21944	c.ctx_ = ctx
21945	return c
21946}
21947
21948// Header returns an http.Header that can be modified by the caller to
21949// add HTTP headers to the request.
21950func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Header() http.Header {
21951	if c.header_ == nil {
21952		c.header_ = make(http.Header)
21953	}
21954	return c.header_
21955}
21956
21957func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
21958	reqHeaders := make(http.Header)
21959	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21960	for k, v := range c.header_ {
21961		reqHeaders[k] = v
21962	}
21963	reqHeaders.Set("User-Agent", c.s.userAgent())
21964	var body io.Reader = nil
21965	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportresourcesrequest)
21966	if err != nil {
21967		return nil, err
21968	}
21969	reqHeaders.Set("Content-Type", "application/json")
21970	c.urlParams_.Set("alt", alt)
21971	c.urlParams_.Set("prettyPrint", "false")
21972	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
21973	urls += "?" + c.urlParams_.Encode()
21974	req, err := http.NewRequest("POST", urls, body)
21975	if err != nil {
21976		return nil, err
21977	}
21978	req.Header = reqHeaders
21979	googleapi.Expand(req.URL, map[string]string{
21980		"name": c.name,
21981	})
21982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21983}
21984
21985// Do executes the "healthcare.projects.locations.datasets.fhirStores.export" call.
21986// Exactly one of *Operation or error will be non-nil. Any non-2xx
21987// status code is an error. Response headers are in either
21988// *Operation.ServerResponse.Header or (if a response was returned at
21989// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21990// to check whether the returned error was because
21991// http.StatusNotModified was returned.
21992func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21993	gensupport.SetOptions(c.urlParams_, opts...)
21994	res, err := c.doRequest("json")
21995	if res != nil && res.StatusCode == http.StatusNotModified {
21996		if res.Body != nil {
21997			res.Body.Close()
21998		}
21999		return nil, &googleapi.Error{
22000			Code:   res.StatusCode,
22001			Header: res.Header,
22002		}
22003	}
22004	if err != nil {
22005		return nil, err
22006	}
22007	defer googleapi.CloseBody(res)
22008	if err := googleapi.CheckResponse(res); err != nil {
22009		return nil, err
22010	}
22011	ret := &Operation{
22012		ServerResponse: googleapi.ServerResponse{
22013			Header:         res.Header,
22014			HTTPStatusCode: res.StatusCode,
22015		},
22016	}
22017	target := &ret
22018	if err := gensupport.DecodeResponse(target, res); err != nil {
22019		return nil, err
22020	}
22021	return ret, nil
22022	// {
22023	//   "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.",
22024	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export",
22025	//   "httpMethod": "POST",
22026	//   "id": "healthcare.projects.locations.datasets.fhirStores.export",
22027	//   "parameterOrder": [
22028	//     "name"
22029	//   ],
22030	//   "parameters": {
22031	//     "name": {
22032	//       "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}`.",
22033	//       "location": "path",
22034	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22035	//       "required": true,
22036	//       "type": "string"
22037	//     }
22038	//   },
22039	//   "path": "v1beta1/{+name}:export",
22040	//   "request": {
22041	//     "$ref": "ExportResourcesRequest"
22042	//   },
22043	//   "response": {
22044	//     "$ref": "Operation"
22045	//   },
22046	//   "scopes": [
22047	//     "https://www.googleapis.com/auth/cloud-platform"
22048	//   ]
22049	// }
22050
22051}
22052
22053// method id "healthcare.projects.locations.datasets.fhirStores.get":
22054
22055type ProjectsLocationsDatasetsFhirStoresGetCall struct {
22056	s            *Service
22057	name         string
22058	urlParams_   gensupport.URLParams
22059	ifNoneMatch_ string
22060	ctx_         context.Context
22061	header_      http.Header
22062}
22063
22064// Get: Gets the configuration of the specified FHIR store.
22065//
22066// - name: The resource name of the FHIR store to get.
22067func (r *ProjectsLocationsDatasetsFhirStoresService) Get(name string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22068	c := &ProjectsLocationsDatasetsFhirStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22069	c.name = name
22070	return c
22071}
22072
22073// Fields allows partial responses to be retrieved. See
22074// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22075// for more information.
22076func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetCall {
22077	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22078	return c
22079}
22080
22081// IfNoneMatch sets the optional parameter which makes the operation
22082// fail if the object's ETag matches the given value. This is useful for
22083// getting updates only after the object has changed since the last
22084// request. Use googleapi.IsNotModified to check whether the response
22085// error from Do is the result of In-None-Match.
22086func (c *ProjectsLocationsDatasetsFhirStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22087	c.ifNoneMatch_ = entityTag
22088	return c
22089}
22090
22091// Context sets the context to be used in this call's Do method. Any
22092// pending HTTP request will be aborted if the provided context is
22093// canceled.
22094func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetCall {
22095	c.ctx_ = ctx
22096	return c
22097}
22098
22099// Header returns an http.Header that can be modified by the caller to
22100// add HTTP headers to the request.
22101func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Header() http.Header {
22102	if c.header_ == nil {
22103		c.header_ = make(http.Header)
22104	}
22105	return c.header_
22106}
22107
22108func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
22109	reqHeaders := make(http.Header)
22110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22111	for k, v := range c.header_ {
22112		reqHeaders[k] = v
22113	}
22114	reqHeaders.Set("User-Agent", c.s.userAgent())
22115	if c.ifNoneMatch_ != "" {
22116		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22117	}
22118	var body io.Reader = nil
22119	c.urlParams_.Set("alt", alt)
22120	c.urlParams_.Set("prettyPrint", "false")
22121	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22122	urls += "?" + c.urlParams_.Encode()
22123	req, err := http.NewRequest("GET", urls, body)
22124	if err != nil {
22125		return nil, err
22126	}
22127	req.Header = reqHeaders
22128	googleapi.Expand(req.URL, map[string]string{
22129		"name": c.name,
22130	})
22131	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22132}
22133
22134// Do executes the "healthcare.projects.locations.datasets.fhirStores.get" call.
22135// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22136// status code is an error. Response headers are in either
22137// *FhirStore.ServerResponse.Header or (if a response was returned at
22138// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22139// to check whether the returned error was because
22140// http.StatusNotModified was returned.
22141func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22142	gensupport.SetOptions(c.urlParams_, opts...)
22143	res, err := c.doRequest("json")
22144	if res != nil && res.StatusCode == http.StatusNotModified {
22145		if res.Body != nil {
22146			res.Body.Close()
22147		}
22148		return nil, &googleapi.Error{
22149			Code:   res.StatusCode,
22150			Header: res.Header,
22151		}
22152	}
22153	if err != nil {
22154		return nil, err
22155	}
22156	defer googleapi.CloseBody(res)
22157	if err := googleapi.CheckResponse(res); err != nil {
22158		return nil, err
22159	}
22160	ret := &FhirStore{
22161		ServerResponse: googleapi.ServerResponse{
22162			Header:         res.Header,
22163			HTTPStatusCode: res.StatusCode,
22164		},
22165	}
22166	target := &ret
22167	if err := gensupport.DecodeResponse(target, res); err != nil {
22168		return nil, err
22169	}
22170	return ret, nil
22171	// {
22172	//   "description": "Gets the configuration of the specified FHIR store.",
22173	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22174	//   "httpMethod": "GET",
22175	//   "id": "healthcare.projects.locations.datasets.fhirStores.get",
22176	//   "parameterOrder": [
22177	//     "name"
22178	//   ],
22179	//   "parameters": {
22180	//     "name": {
22181	//       "description": "The resource name of the FHIR store to get.",
22182	//       "location": "path",
22183	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22184	//       "required": true,
22185	//       "type": "string"
22186	//     }
22187	//   },
22188	//   "path": "v1beta1/{+name}",
22189	//   "response": {
22190	//     "$ref": "FhirStore"
22191	//   },
22192	//   "scopes": [
22193	//     "https://www.googleapis.com/auth/cloud-platform"
22194	//   ]
22195	// }
22196
22197}
22198
22199// method id "healthcare.projects.locations.datasets.fhirStores.getIamPolicy":
22200
22201type ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall struct {
22202	s            *Service
22203	resource     string
22204	urlParams_   gensupport.URLParams
22205	ifNoneMatch_ string
22206	ctx_         context.Context
22207	header_      http.Header
22208}
22209
22210// GetIamPolicy: Gets the access control policy for a resource. Returns
22211// an empty policy if the resource exists and does not have a policy
22212// set.
22213//
22214// - resource: REQUIRED: The resource for which the policy is being
22215//   requested. See the operation documentation for the appropriate
22216//   value for this field.
22217func (r *ProjectsLocationsDatasetsFhirStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22218	c := &ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22219	c.resource = resource
22220	return c
22221}
22222
22223// OptionsRequestedPolicyVersion sets the optional parameter
22224// "options.requestedPolicyVersion": The policy format version to be
22225// returned. Valid values are 0, 1, and 3. Requests specifying an
22226// invalid value will be rejected. Requests for policies with any
22227// conditional bindings must specify version 3. Policies without any
22228// conditional bindings may specify any valid value or leave the field
22229// unset. To learn which resources support conditions in their IAM
22230// policies, see the IAM documentation
22231// (https://cloud.google.com/iam/help/conditions/resource-policies).
22232func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22233	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
22234	return c
22235}
22236
22237// Fields allows partial responses to be retrieved. See
22238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22239// for more information.
22240func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22242	return c
22243}
22244
22245// IfNoneMatch sets the optional parameter which makes the operation
22246// fail if the object's ETag matches the given value. This is useful for
22247// getting updates only after the object has changed since the last
22248// request. Use googleapi.IsNotModified to check whether the response
22249// error from Do is the result of In-None-Match.
22250func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22251	c.ifNoneMatch_ = entityTag
22252	return c
22253}
22254
22255// Context sets the context to be used in this call's Do method. Any
22256// pending HTTP request will be aborted if the provided context is
22257// canceled.
22258func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22259	c.ctx_ = ctx
22260	return c
22261}
22262
22263// Header returns an http.Header that can be modified by the caller to
22264// add HTTP headers to the request.
22265func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Header() http.Header {
22266	if c.header_ == nil {
22267		c.header_ = make(http.Header)
22268	}
22269	return c.header_
22270}
22271
22272func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
22273	reqHeaders := make(http.Header)
22274	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22275	for k, v := range c.header_ {
22276		reqHeaders[k] = v
22277	}
22278	reqHeaders.Set("User-Agent", c.s.userAgent())
22279	if c.ifNoneMatch_ != "" {
22280		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22281	}
22282	var body io.Reader = nil
22283	c.urlParams_.Set("alt", alt)
22284	c.urlParams_.Set("prettyPrint", "false")
22285	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
22286	urls += "?" + c.urlParams_.Encode()
22287	req, err := http.NewRequest("GET", urls, body)
22288	if err != nil {
22289		return nil, err
22290	}
22291	req.Header = reqHeaders
22292	googleapi.Expand(req.URL, map[string]string{
22293		"resource": c.resource,
22294	})
22295	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22296}
22297
22298// Do executes the "healthcare.projects.locations.datasets.fhirStores.getIamPolicy" call.
22299// Exactly one of *Policy or error will be non-nil. Any non-2xx status
22300// code is an error. Response headers are in either
22301// *Policy.ServerResponse.Header or (if a response was returned at all)
22302// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22303// check whether the returned error was because http.StatusNotModified
22304// was returned.
22305func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
22306	gensupport.SetOptions(c.urlParams_, opts...)
22307	res, err := c.doRequest("json")
22308	if res != nil && res.StatusCode == http.StatusNotModified {
22309		if res.Body != nil {
22310			res.Body.Close()
22311		}
22312		return nil, &googleapi.Error{
22313			Code:   res.StatusCode,
22314			Header: res.Header,
22315		}
22316	}
22317	if err != nil {
22318		return nil, err
22319	}
22320	defer googleapi.CloseBody(res)
22321	if err := googleapi.CheckResponse(res); err != nil {
22322		return nil, err
22323	}
22324	ret := &Policy{
22325		ServerResponse: googleapi.ServerResponse{
22326			Header:         res.Header,
22327			HTTPStatusCode: res.StatusCode,
22328		},
22329	}
22330	target := &ret
22331	if err := gensupport.DecodeResponse(target, res); err != nil {
22332		return nil, err
22333	}
22334	return ret, nil
22335	// {
22336	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
22337	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy",
22338	//   "httpMethod": "GET",
22339	//   "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy",
22340	//   "parameterOrder": [
22341	//     "resource"
22342	//   ],
22343	//   "parameters": {
22344	//     "options.requestedPolicyVersion": {
22345	//       "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).",
22346	//       "format": "int32",
22347	//       "location": "query",
22348	//       "type": "integer"
22349	//     },
22350	//     "resource": {
22351	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
22352	//       "location": "path",
22353	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22354	//       "required": true,
22355	//       "type": "string"
22356	//     }
22357	//   },
22358	//   "path": "v1beta1/{+resource}:getIamPolicy",
22359	//   "response": {
22360	//     "$ref": "Policy"
22361	//   },
22362	//   "scopes": [
22363	//     "https://www.googleapis.com/auth/cloud-platform"
22364	//   ]
22365	// }
22366
22367}
22368
22369// method id "healthcare.projects.locations.datasets.fhirStores.import":
22370
22371type ProjectsLocationsDatasetsFhirStoresImportCall struct {
22372	s                      *Service
22373	name                   string
22374	importresourcesrequest *ImportResourcesRequest
22375	urlParams_             gensupport.URLParams
22376	ctx_                   context.Context
22377	header_                http.Header
22378}
22379
22380// Import: Import resources to the FHIR store by loading data from the
22381// specified sources. This method is optimized to load large quantities
22382// of data using import semantics that ignore some FHIR store
22383// configuration options and are not suitable for all use cases. It is
22384// primarily intended to load data into an empty FHIR store that is not
22385// being used by other clients. In cases where this method is not
22386// appropriate, consider using ExecuteBundle to load data. Every
22387// resource in the input must contain a client-supplied ID. Each
22388// resource is stored using the supplied ID regardless of the
22389// enable_update_create setting on the FHIR store. It is strongly
22390// advised not to include or encode any sensitive data such as patient
22391// identifiers in client-specified resource IDs. Those IDs are part of
22392// the FHIR resource path recorded in Cloud Audit Logs and Cloud Pub/Sub
22393// notifications. Those IDs can also be contained in reference fields
22394// within other resources. The import process does not enforce
22395// referential integrity, regardless of the
22396// disable_referential_integrity setting on the FHIR store. This allows
22397// the import of resources with arbitrary interdependencies without
22398// considering grouping or ordering, but if the input data contains
22399// invalid references or if some resources fail to be imported, the FHIR
22400// store might be left in a state that violates referential integrity.
22401// The import process does not trigger Pub/Sub notification or BigQuery
22402// streaming update, regardless of how those are configured on the FHIR
22403// store. If a resource with the specified ID already exists, the most
22404// recent version of the resource is overwritten without creating a new
22405// historical version, regardless of the disable_resource_versioning
22406// setting on the FHIR store. If transient failures occur during the
22407// import, it is possible that successfully imported resources will be
22408// overwritten more than once. The import operation is idempotent unless
22409// the input data contains multiple valid resources with the same ID but
22410// different contents. In that case, after the import completes, the
22411// store contains exactly one resource with that ID but there is no
22412// ordering guarantee on which version of the contents it will have. The
22413// operation result counters do not count duplicate IDs as an error and
22414// count one success for each resource in the input, which might result
22415// in a success count larger than the number of resources in the FHIR
22416// store. This often occurs when importing data organized in bundles
22417// produced by Patient-everything where each bundle contains its own
22418// copy of a resource such as Practitioner that might be referred to by
22419// many patients. If some resources fail to import, for example due to
22420// parsing errors, successfully imported resources are not rolled back.
22421// The location and format of the input data are specified by the
22422// parameters in ImportResourcesRequest. Note that if no format is
22423// specified, this method assumes the `BUNDLE` format. When using the
22424// `BUNDLE` format this method ignores the `Bundle.type` field, except
22425// that `history` bundles are rejected, and does not apply any of the
22426// bundle processing semantics for batch or transaction bundles. Unlike
22427// in ExecuteBundle, transaction bundles are not executed as a single
22428// transaction and bundle-internal references are not rewritten. The
22429// bundle is treated as a collection of resources to be written as
22430// provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`.
22431// As an example, this allows the import of `searchset` bundles produced
22432// by a FHIR search or Patient-everything operation. This method returns
22433// an Operation that can be used to track the status of the import by
22434// calling GetOperation. Immediate fatal errors appear in the error
22435// field, errors are also logged to Cloud Logging (see Viewing error
22436// logs in Cloud Logging
22437// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
22438// Otherwise, when the operation finishes, a detailed response of type
22439// ImportResourcesResponse is returned in the response field. The
22440// metadata field type for this operation is OperationMetadata.
22441//
22442// - name: The name of the FHIR store to import FHIR resources to, in
22443//   the format of
22444//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
22445//   /fhirStores/{fhir_store_id}`.
22446func (r *ProjectsLocationsDatasetsFhirStoresService) Import(name string, importresourcesrequest *ImportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresImportCall {
22447	c := &ProjectsLocationsDatasetsFhirStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22448	c.name = name
22449	c.importresourcesrequest = importresourcesrequest
22450	return c
22451}
22452
22453// Fields allows partial responses to be retrieved. See
22454// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22455// for more information.
22456func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresImportCall {
22457	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22458	return c
22459}
22460
22461// Context sets the context to be used in this call's Do method. Any
22462// pending HTTP request will be aborted if the provided context is
22463// canceled.
22464func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresImportCall {
22465	c.ctx_ = ctx
22466	return c
22467}
22468
22469// Header returns an http.Header that can be modified by the caller to
22470// add HTTP headers to the request.
22471func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Header() http.Header {
22472	if c.header_ == nil {
22473		c.header_ = make(http.Header)
22474	}
22475	return c.header_
22476}
22477
22478func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
22479	reqHeaders := make(http.Header)
22480	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22481	for k, v := range c.header_ {
22482		reqHeaders[k] = v
22483	}
22484	reqHeaders.Set("User-Agent", c.s.userAgent())
22485	var body io.Reader = nil
22486	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importresourcesrequest)
22487	if err != nil {
22488		return nil, err
22489	}
22490	reqHeaders.Set("Content-Type", "application/json")
22491	c.urlParams_.Set("alt", alt)
22492	c.urlParams_.Set("prettyPrint", "false")
22493	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
22494	urls += "?" + c.urlParams_.Encode()
22495	req, err := http.NewRequest("POST", urls, body)
22496	if err != nil {
22497		return nil, err
22498	}
22499	req.Header = reqHeaders
22500	googleapi.Expand(req.URL, map[string]string{
22501		"name": c.name,
22502	})
22503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22504}
22505
22506// Do executes the "healthcare.projects.locations.datasets.fhirStores.import" call.
22507// Exactly one of *Operation or error will be non-nil. Any non-2xx
22508// status code is an error. Response headers are in either
22509// *Operation.ServerResponse.Header or (if a response was returned at
22510// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22511// to check whether the returned error was because
22512// http.StatusNotModified was returned.
22513func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22514	gensupport.SetOptions(c.urlParams_, opts...)
22515	res, err := c.doRequest("json")
22516	if res != nil && res.StatusCode == http.StatusNotModified {
22517		if res.Body != nil {
22518			res.Body.Close()
22519		}
22520		return nil, &googleapi.Error{
22521			Code:   res.StatusCode,
22522			Header: res.Header,
22523		}
22524	}
22525	if err != nil {
22526		return nil, err
22527	}
22528	defer googleapi.CloseBody(res)
22529	if err := googleapi.CheckResponse(res); err != nil {
22530		return nil, err
22531	}
22532	ret := &Operation{
22533		ServerResponse: googleapi.ServerResponse{
22534			Header:         res.Header,
22535			HTTPStatusCode: res.StatusCode,
22536		},
22537	}
22538	target := &ret
22539	if err := gensupport.DecodeResponse(target, res); err != nil {
22540		return nil, err
22541	}
22542	return ret, nil
22543	// {
22544	//   "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.",
22545	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import",
22546	//   "httpMethod": "POST",
22547	//   "id": "healthcare.projects.locations.datasets.fhirStores.import",
22548	//   "parameterOrder": [
22549	//     "name"
22550	//   ],
22551	//   "parameters": {
22552	//     "name": {
22553	//       "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}`.",
22554	//       "location": "path",
22555	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22556	//       "required": true,
22557	//       "type": "string"
22558	//     }
22559	//   },
22560	//   "path": "v1beta1/{+name}:import",
22561	//   "request": {
22562	//     "$ref": "ImportResourcesRequest"
22563	//   },
22564	//   "response": {
22565	//     "$ref": "Operation"
22566	//   },
22567	//   "scopes": [
22568	//     "https://www.googleapis.com/auth/cloud-platform"
22569	//   ]
22570	// }
22571
22572}
22573
22574// method id "healthcare.projects.locations.datasets.fhirStores.list":
22575
22576type ProjectsLocationsDatasetsFhirStoresListCall struct {
22577	s            *Service
22578	parent       string
22579	urlParams_   gensupport.URLParams
22580	ifNoneMatch_ string
22581	ctx_         context.Context
22582	header_      http.Header
22583}
22584
22585// List: Lists the FHIR stores in the given dataset.
22586//
22587// - parent: Name of the dataset.
22588func (r *ProjectsLocationsDatasetsFhirStoresService) List(parent string) *ProjectsLocationsDatasetsFhirStoresListCall {
22589	c := &ProjectsLocationsDatasetsFhirStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22590	c.parent = parent
22591	return c
22592}
22593
22594// Filter sets the optional parameter "filter": Restricts stores
22595// returned to those matching a filter. The following syntax is
22596// available: * A string field value can be written as text inside
22597// quotation marks, for example "query text". The only valid
22598// relational operation for text fields is equality (`=`), where text is
22599// searched within the field, rather than having the field be equal to
22600// the text. For example, "Comment = great" returns messages with
22601// `great` in the comment field. * A number field value can be written
22602// as an integer, a decimal, or an exponential. The valid relational
22603// operators for number fields are the equality operator (`=`), along
22604// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
22605// Note that there is no inequality (`!=`) operator. You can prepend the
22606// `NOT` operator to an expression to negate it. * A date field value
22607// must be written in `yyyy-mm-dd` form. Fields with date and time use
22608// the RFC3339 time format. Leading zeros are required for one-digit
22609// months and days. The valid relational operators for date fields are
22610// the equality operator (`=`) , along with the less than/greater than
22611// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
22612// (`!=`) operator. You can prepend the `NOT` operator to an expression
22613// to negate it. * Multiple field query expressions can be combined in
22614// one query by adding `AND` or `OR` operators between the expressions.
22615// If a boolean operator appears within a quoted string, it is not
22616// treated as special, it's just another part of the character string to
22617// be matched. You can prepend the `NOT` operator to an expression to
22618// negate it. Only filtering on labels is supported, for example
22619// `labels.key=value`.
22620func (c *ProjectsLocationsDatasetsFhirStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsFhirStoresListCall {
22621	c.urlParams_.Set("filter", filter)
22622	return c
22623}
22624
22625// PageSize sets the optional parameter "pageSize": Limit on the number
22626// of FHIR stores to return in a single response. If not specified, 100
22627// is used. May not be larger than 1000.
22628func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsFhirStoresListCall {
22629	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22630	return c
22631}
22632
22633// PageToken sets the optional parameter "pageToken": The
22634// next_page_token value returned from the previous List request, if
22635// any.
22636func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsFhirStoresListCall {
22637	c.urlParams_.Set("pageToken", pageToken)
22638	return c
22639}
22640
22641// Fields allows partial responses to be retrieved. See
22642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22643// for more information.
22644func (c *ProjectsLocationsDatasetsFhirStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresListCall {
22645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22646	return c
22647}
22648
22649// IfNoneMatch sets the optional parameter which makes the operation
22650// fail if the object's ETag matches the given value. This is useful for
22651// getting updates only after the object has changed since the last
22652// request. Use googleapi.IsNotModified to check whether the response
22653// error from Do is the result of In-None-Match.
22654func (c *ProjectsLocationsDatasetsFhirStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresListCall {
22655	c.ifNoneMatch_ = entityTag
22656	return c
22657}
22658
22659// Context sets the context to be used in this call's Do method. Any
22660// pending HTTP request will be aborted if the provided context is
22661// canceled.
22662func (c *ProjectsLocationsDatasetsFhirStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresListCall {
22663	c.ctx_ = ctx
22664	return c
22665}
22666
22667// Header returns an http.Header that can be modified by the caller to
22668// add HTTP headers to the request.
22669func (c *ProjectsLocationsDatasetsFhirStoresListCall) Header() http.Header {
22670	if c.header_ == nil {
22671		c.header_ = make(http.Header)
22672	}
22673	return c.header_
22674}
22675
22676func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
22677	reqHeaders := make(http.Header)
22678	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22679	for k, v := range c.header_ {
22680		reqHeaders[k] = v
22681	}
22682	reqHeaders.Set("User-Agent", c.s.userAgent())
22683	if c.ifNoneMatch_ != "" {
22684		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22685	}
22686	var body io.Reader = nil
22687	c.urlParams_.Set("alt", alt)
22688	c.urlParams_.Set("prettyPrint", "false")
22689	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
22690	urls += "?" + c.urlParams_.Encode()
22691	req, err := http.NewRequest("GET", urls, body)
22692	if err != nil {
22693		return nil, err
22694	}
22695	req.Header = reqHeaders
22696	googleapi.Expand(req.URL, map[string]string{
22697		"parent": c.parent,
22698	})
22699	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22700}
22701
22702// Do executes the "healthcare.projects.locations.datasets.fhirStores.list" call.
22703// Exactly one of *ListFhirStoresResponse or error will be non-nil. Any
22704// non-2xx status code is an error. Response headers are in either
22705// *ListFhirStoresResponse.ServerResponse.Header or (if a response was
22706// returned at all) in error.(*googleapi.Error).Header. Use
22707// googleapi.IsNotModified to check whether the returned error was
22708// because http.StatusNotModified was returned.
22709func (c *ProjectsLocationsDatasetsFhirStoresListCall) Do(opts ...googleapi.CallOption) (*ListFhirStoresResponse, error) {
22710	gensupport.SetOptions(c.urlParams_, opts...)
22711	res, err := c.doRequest("json")
22712	if res != nil && res.StatusCode == http.StatusNotModified {
22713		if res.Body != nil {
22714			res.Body.Close()
22715		}
22716		return nil, &googleapi.Error{
22717			Code:   res.StatusCode,
22718			Header: res.Header,
22719		}
22720	}
22721	if err != nil {
22722		return nil, err
22723	}
22724	defer googleapi.CloseBody(res)
22725	if err := googleapi.CheckResponse(res); err != nil {
22726		return nil, err
22727	}
22728	ret := &ListFhirStoresResponse{
22729		ServerResponse: googleapi.ServerResponse{
22730			Header:         res.Header,
22731			HTTPStatusCode: res.StatusCode,
22732		},
22733	}
22734	target := &ret
22735	if err := gensupport.DecodeResponse(target, res); err != nil {
22736		return nil, err
22737	}
22738	return ret, nil
22739	// {
22740	//   "description": "Lists the FHIR stores in the given dataset.",
22741	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
22742	//   "httpMethod": "GET",
22743	//   "id": "healthcare.projects.locations.datasets.fhirStores.list",
22744	//   "parameterOrder": [
22745	//     "parent"
22746	//   ],
22747	//   "parameters": {
22748	//     "filter": {
22749	//       "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`.",
22750	//       "location": "query",
22751	//       "type": "string"
22752	//     },
22753	//     "pageSize": {
22754	//       "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.",
22755	//       "format": "int32",
22756	//       "location": "query",
22757	//       "type": "integer"
22758	//     },
22759	//     "pageToken": {
22760	//       "description": "The next_page_token value returned from the previous List request, if any.",
22761	//       "location": "query",
22762	//       "type": "string"
22763	//     },
22764	//     "parent": {
22765	//       "description": "Name of the dataset.",
22766	//       "location": "path",
22767	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
22768	//       "required": true,
22769	//       "type": "string"
22770	//     }
22771	//   },
22772	//   "path": "v1beta1/{+parent}/fhirStores",
22773	//   "response": {
22774	//     "$ref": "ListFhirStoresResponse"
22775	//   },
22776	//   "scopes": [
22777	//     "https://www.googleapis.com/auth/cloud-platform"
22778	//   ]
22779	// }
22780
22781}
22782
22783// Pages invokes f for each page of results.
22784// A non-nil error returned from f will halt the iteration.
22785// The provided context supersedes any context provided to the Context method.
22786func (c *ProjectsLocationsDatasetsFhirStoresListCall) Pages(ctx context.Context, f func(*ListFhirStoresResponse) error) error {
22787	c.ctx_ = ctx
22788	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22789	for {
22790		x, err := c.Do()
22791		if err != nil {
22792			return err
22793		}
22794		if err := f(x); err != nil {
22795			return err
22796		}
22797		if x.NextPageToken == "" {
22798			return nil
22799		}
22800		c.PageToken(x.NextPageToken)
22801	}
22802}
22803
22804// method id "healthcare.projects.locations.datasets.fhirStores.patch":
22805
22806type ProjectsLocationsDatasetsFhirStoresPatchCall struct {
22807	s          *Service
22808	name       string
22809	fhirstore  *FhirStore
22810	urlParams_ gensupport.URLParams
22811	ctx_       context.Context
22812	header_    http.Header
22813}
22814
22815// Patch: Updates the configuration of the specified FHIR store.
22816//
22817// - name: Output only. Resource name of the FHIR store, of the form
22818//   `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_
22819//   id}`.
22820func (r *ProjectsLocationsDatasetsFhirStoresService) Patch(name string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22821	c := &ProjectsLocationsDatasetsFhirStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22822	c.name = name
22823	c.fhirstore = fhirstore
22824	return c
22825}
22826
22827// UpdateMask sets the optional parameter "updateMask": The update mask
22828// applies to the resource. For the `FieldMask` definition, see
22829// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
22830func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22831	c.urlParams_.Set("updateMask", updateMask)
22832	return c
22833}
22834
22835// Fields allows partial responses to be retrieved. See
22836// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22837// for more information.
22838func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22839	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22840	return c
22841}
22842
22843// Context sets the context to be used in this call's Do method. Any
22844// pending HTTP request will be aborted if the provided context is
22845// canceled.
22846func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresPatchCall {
22847	c.ctx_ = ctx
22848	return c
22849}
22850
22851// Header returns an http.Header that can be modified by the caller to
22852// add HTTP headers to the request.
22853func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Header() http.Header {
22854	if c.header_ == nil {
22855		c.header_ = make(http.Header)
22856	}
22857	return c.header_
22858}
22859
22860func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
22861	reqHeaders := make(http.Header)
22862	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22863	for k, v := range c.header_ {
22864		reqHeaders[k] = v
22865	}
22866	reqHeaders.Set("User-Agent", c.s.userAgent())
22867	var body io.Reader = nil
22868	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
22869	if err != nil {
22870		return nil, err
22871	}
22872	reqHeaders.Set("Content-Type", "application/json")
22873	c.urlParams_.Set("alt", alt)
22874	c.urlParams_.Set("prettyPrint", "false")
22875	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22876	urls += "?" + c.urlParams_.Encode()
22877	req, err := http.NewRequest("PATCH", urls, body)
22878	if err != nil {
22879		return nil, err
22880	}
22881	req.Header = reqHeaders
22882	googleapi.Expand(req.URL, map[string]string{
22883		"name": c.name,
22884	})
22885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22886}
22887
22888// Do executes the "healthcare.projects.locations.datasets.fhirStores.patch" call.
22889// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22890// status code is an error. Response headers are in either
22891// *FhirStore.ServerResponse.Header or (if a response was returned at
22892// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22893// to check whether the returned error was because
22894// http.StatusNotModified was returned.
22895func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22896	gensupport.SetOptions(c.urlParams_, opts...)
22897	res, err := c.doRequest("json")
22898	if res != nil && res.StatusCode == http.StatusNotModified {
22899		if res.Body != nil {
22900			res.Body.Close()
22901		}
22902		return nil, &googleapi.Error{
22903			Code:   res.StatusCode,
22904			Header: res.Header,
22905		}
22906	}
22907	if err != nil {
22908		return nil, err
22909	}
22910	defer googleapi.CloseBody(res)
22911	if err := googleapi.CheckResponse(res); err != nil {
22912		return nil, err
22913	}
22914	ret := &FhirStore{
22915		ServerResponse: googleapi.ServerResponse{
22916			Header:         res.Header,
22917			HTTPStatusCode: res.StatusCode,
22918		},
22919	}
22920	target := &ret
22921	if err := gensupport.DecodeResponse(target, res); err != nil {
22922		return nil, err
22923	}
22924	return ret, nil
22925	// {
22926	//   "description": "Updates the configuration of the specified FHIR store.",
22927	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22928	//   "httpMethod": "PATCH",
22929	//   "id": "healthcare.projects.locations.datasets.fhirStores.patch",
22930	//   "parameterOrder": [
22931	//     "name"
22932	//   ],
22933	//   "parameters": {
22934	//     "name": {
22935	//       "description": "Output only. Resource name of the FHIR store, of the form `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
22936	//       "location": "path",
22937	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22938	//       "required": true,
22939	//       "type": "string"
22940	//     },
22941	//     "updateMask": {
22942	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
22943	//       "format": "google-fieldmask",
22944	//       "location": "query",
22945	//       "type": "string"
22946	//     }
22947	//   },
22948	//   "path": "v1beta1/{+name}",
22949	//   "request": {
22950	//     "$ref": "FhirStore"
22951	//   },
22952	//   "response": {
22953	//     "$ref": "FhirStore"
22954	//   },
22955	//   "scopes": [
22956	//     "https://www.googleapis.com/auth/cloud-platform"
22957	//   ]
22958	// }
22959
22960}
22961
22962// method id "healthcare.projects.locations.datasets.fhirStores.setIamPolicy":
22963
22964type ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall struct {
22965	s                   *Service
22966	resource            string
22967	setiampolicyrequest *SetIamPolicyRequest
22968	urlParams_          gensupport.URLParams
22969	ctx_                context.Context
22970	header_             http.Header
22971}
22972
22973// SetIamPolicy: Sets the access control policy on the specified
22974// resource. Replaces any existing policy. Can return `NOT_FOUND`,
22975// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
22976//
22977// - resource: REQUIRED: The resource for which the policy is being
22978//   specified. See the operation documentation for the appropriate
22979//   value for this field.
22980func (r *ProjectsLocationsDatasetsFhirStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22981	c := &ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22982	c.resource = resource
22983	c.setiampolicyrequest = setiampolicyrequest
22984	return c
22985}
22986
22987// Fields allows partial responses to be retrieved. See
22988// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22989// for more information.
22990func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22991	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22992	return c
22993}
22994
22995// Context sets the context to be used in this call's Do method. Any
22996// pending HTTP request will be aborted if the provided context is
22997// canceled.
22998func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
22999	c.ctx_ = ctx
23000	return c
23001}
23002
23003// Header returns an http.Header that can be modified by the caller to
23004// add HTTP headers to the request.
23005func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Header() http.Header {
23006	if c.header_ == nil {
23007		c.header_ = make(http.Header)
23008	}
23009	return c.header_
23010}
23011
23012func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
23013	reqHeaders := make(http.Header)
23014	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23015	for k, v := range c.header_ {
23016		reqHeaders[k] = v
23017	}
23018	reqHeaders.Set("User-Agent", c.s.userAgent())
23019	var body io.Reader = nil
23020	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
23021	if err != nil {
23022		return nil, err
23023	}
23024	reqHeaders.Set("Content-Type", "application/json")
23025	c.urlParams_.Set("alt", alt)
23026	c.urlParams_.Set("prettyPrint", "false")
23027	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
23028	urls += "?" + c.urlParams_.Encode()
23029	req, err := http.NewRequest("POST", urls, body)
23030	if err != nil {
23031		return nil, err
23032	}
23033	req.Header = reqHeaders
23034	googleapi.Expand(req.URL, map[string]string{
23035		"resource": c.resource,
23036	})
23037	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23038}
23039
23040// Do executes the "healthcare.projects.locations.datasets.fhirStores.setIamPolicy" call.
23041// Exactly one of *Policy or error will be non-nil. Any non-2xx status
23042// code is an error. Response headers are in either
23043// *Policy.ServerResponse.Header or (if a response was returned at all)
23044// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23045// check whether the returned error was because http.StatusNotModified
23046// was returned.
23047func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
23048	gensupport.SetOptions(c.urlParams_, opts...)
23049	res, err := c.doRequest("json")
23050	if res != nil && res.StatusCode == http.StatusNotModified {
23051		if res.Body != nil {
23052			res.Body.Close()
23053		}
23054		return nil, &googleapi.Error{
23055			Code:   res.StatusCode,
23056			Header: res.Header,
23057		}
23058	}
23059	if err != nil {
23060		return nil, err
23061	}
23062	defer googleapi.CloseBody(res)
23063	if err := googleapi.CheckResponse(res); err != nil {
23064		return nil, err
23065	}
23066	ret := &Policy{
23067		ServerResponse: googleapi.ServerResponse{
23068			Header:         res.Header,
23069			HTTPStatusCode: res.StatusCode,
23070		},
23071	}
23072	target := &ret
23073	if err := gensupport.DecodeResponse(target, res); err != nil {
23074		return nil, err
23075	}
23076	return ret, nil
23077	// {
23078	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
23079	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy",
23080	//   "httpMethod": "POST",
23081	//   "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy",
23082	//   "parameterOrder": [
23083	//     "resource"
23084	//   ],
23085	//   "parameters": {
23086	//     "resource": {
23087	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
23088	//       "location": "path",
23089	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23090	//       "required": true,
23091	//       "type": "string"
23092	//     }
23093	//   },
23094	//   "path": "v1beta1/{+resource}:setIamPolicy",
23095	//   "request": {
23096	//     "$ref": "SetIamPolicyRequest"
23097	//   },
23098	//   "response": {
23099	//     "$ref": "Policy"
23100	//   },
23101	//   "scopes": [
23102	//     "https://www.googleapis.com/auth/cloud-platform"
23103	//   ]
23104	// }
23105
23106}
23107
23108// method id "healthcare.projects.locations.datasets.fhirStores.testIamPermissions":
23109
23110type ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall struct {
23111	s                         *Service
23112	resource                  string
23113	testiampermissionsrequest *TestIamPermissionsRequest
23114	urlParams_                gensupport.URLParams
23115	ctx_                      context.Context
23116	header_                   http.Header
23117}
23118
23119// TestIamPermissions: Returns permissions that a caller has on the
23120// specified resource. If the resource does not exist, this will return
23121// an empty set of permissions, not a `NOT_FOUND` error. Note: This
23122// operation is designed to be used for building permission-aware UIs
23123// and command-line tools, not for authorization checking. This
23124// operation may "fail open" without warning.
23125//
23126// - resource: REQUIRED: The resource for which the policy detail is
23127//   being requested. See the operation documentation for the
23128//   appropriate value for this field.
23129func (r *ProjectsLocationsDatasetsFhirStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23130	c := &ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23131	c.resource = resource
23132	c.testiampermissionsrequest = testiampermissionsrequest
23133	return c
23134}
23135
23136// Fields allows partial responses to be retrieved. See
23137// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23138// for more information.
23139func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23140	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23141	return c
23142}
23143
23144// Context sets the context to be used in this call's Do method. Any
23145// pending HTTP request will be aborted if the provided context is
23146// canceled.
23147func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23148	c.ctx_ = ctx
23149	return c
23150}
23151
23152// Header returns an http.Header that can be modified by the caller to
23153// add HTTP headers to the request.
23154func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Header() http.Header {
23155	if c.header_ == nil {
23156		c.header_ = make(http.Header)
23157	}
23158	return c.header_
23159}
23160
23161func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
23162	reqHeaders := make(http.Header)
23163	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23164	for k, v := range c.header_ {
23165		reqHeaders[k] = v
23166	}
23167	reqHeaders.Set("User-Agent", c.s.userAgent())
23168	var body io.Reader = nil
23169	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
23170	if err != nil {
23171		return nil, err
23172	}
23173	reqHeaders.Set("Content-Type", "application/json")
23174	c.urlParams_.Set("alt", alt)
23175	c.urlParams_.Set("prettyPrint", "false")
23176	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
23177	urls += "?" + c.urlParams_.Encode()
23178	req, err := http.NewRequest("POST", urls, body)
23179	if err != nil {
23180		return nil, err
23181	}
23182	req.Header = reqHeaders
23183	googleapi.Expand(req.URL, map[string]string{
23184		"resource": c.resource,
23185	})
23186	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23187}
23188
23189// Do executes the "healthcare.projects.locations.datasets.fhirStores.testIamPermissions" call.
23190// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
23191// Any non-2xx status code is an error. Response headers are in either
23192// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
23193// was returned at all) in error.(*googleapi.Error).Header. Use
23194// googleapi.IsNotModified to check whether the returned error was
23195// because http.StatusNotModified was returned.
23196func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
23197	gensupport.SetOptions(c.urlParams_, opts...)
23198	res, err := c.doRequest("json")
23199	if res != nil && res.StatusCode == http.StatusNotModified {
23200		if res.Body != nil {
23201			res.Body.Close()
23202		}
23203		return nil, &googleapi.Error{
23204			Code:   res.StatusCode,
23205			Header: res.Header,
23206		}
23207	}
23208	if err != nil {
23209		return nil, err
23210	}
23211	defer googleapi.CloseBody(res)
23212	if err := googleapi.CheckResponse(res); err != nil {
23213		return nil, err
23214	}
23215	ret := &TestIamPermissionsResponse{
23216		ServerResponse: googleapi.ServerResponse{
23217			Header:         res.Header,
23218			HTTPStatusCode: res.StatusCode,
23219		},
23220	}
23221	target := &ret
23222	if err := gensupport.DecodeResponse(target, res); err != nil {
23223		return nil, err
23224	}
23225	return ret, nil
23226	// {
23227	//   "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.",
23228	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions",
23229	//   "httpMethod": "POST",
23230	//   "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions",
23231	//   "parameterOrder": [
23232	//     "resource"
23233	//   ],
23234	//   "parameters": {
23235	//     "resource": {
23236	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
23237	//       "location": "path",
23238	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23239	//       "required": true,
23240	//       "type": "string"
23241	//     }
23242	//   },
23243	//   "path": "v1beta1/{+resource}:testIamPermissions",
23244	//   "request": {
23245	//     "$ref": "TestIamPermissionsRequest"
23246	//   },
23247	//   "response": {
23248	//     "$ref": "TestIamPermissionsResponse"
23249	//   },
23250	//   "scopes": [
23251	//     "https://www.googleapis.com/auth/cloud-platform"
23252	//   ]
23253	// }
23254
23255}
23256
23257// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate":
23258
23259type ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall struct {
23260	s            *Service
23261	parent       string
23262	urlParams_   gensupport.URLParams
23263	ifNoneMatch_ string
23264	ctx_         context.Context
23265	header_      http.Header
23266}
23267
23268// ConceptMapSearchTranslate: Translates a code from one value set to
23269// another by searching for appropriate concept maps. Implements the
23270// FHIR standard $translate operation (DSTU2
23271// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23272// STU3
23273// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23274// R4
23275// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23276// On success, the response body contains a JSON-encoded representation
23277// of a FHIR Parameters resource, which includes the translation result.
23278// Errors generated by the FHIR store contain a JSON-encoded
23279// `OperationOutcome` resource describing the reason for the error. If
23280// the request cannot be mapped to a valid API method on a FHIR store, a
23281// generic GCP error might be returned instead.
23282//
23283// - parent: The name for the FHIR store containing the concept map(s)
23284//   to use for the translation.
23285func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapSearchTranslate(parent string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23286	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23287	c.parent = parent
23288	return c
23289}
23290
23291// Code sets the optional parameter "code": The code to translate.
23292func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23293	c.urlParams_.Set("code", code)
23294	return c
23295}
23296
23297// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23298// The version of the concept map to use. If unset, the most current
23299// version is used.
23300func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23301	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23302	return c
23303}
23304
23305// Source sets the optional parameter "source": The source value set of
23306// the concept map to be used. If unset, target is used to search for
23307// concept maps.
23308func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Source(source string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23309	c.urlParams_.Set("source", source)
23310	return c
23311}
23312
23313// System sets the optional parameter "system": The system for the code
23314// to be translated.
23315func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23316	c.urlParams_.Set("system", system)
23317	return c
23318}
23319
23320// Target sets the optional parameter "target": The target value set of
23321// the concept map to be used. If unset, source is used to search for
23322// concept maps.
23323func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Target(target string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23324	c.urlParams_.Set("target", target)
23325	return c
23326}
23327
23328// Url sets the optional parameter "url": The canonical url of the
23329// concept map to use. If unset, the source and target is used to search
23330// for concept maps.
23331func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Url(url string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23332	c.urlParams_.Set("url", url)
23333	return c
23334}
23335
23336// Fields allows partial responses to be retrieved. See
23337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23338// for more information.
23339func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23341	return c
23342}
23343
23344// IfNoneMatch sets the optional parameter which makes the operation
23345// fail if the object's ETag matches the given value. This is useful for
23346// getting updates only after the object has changed since the last
23347// request. Use googleapi.IsNotModified to check whether the response
23348// error from Do is the result of In-None-Match.
23349func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23350	c.ifNoneMatch_ = entityTag
23351	return c
23352}
23353
23354// Context sets the context to be used in this call's Do method. Any
23355// pending HTTP request will be aborted if the provided context is
23356// canceled.
23357func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23358	c.ctx_ = ctx
23359	return c
23360}
23361
23362// Header returns an http.Header that can be modified by the caller to
23363// add HTTP headers to the request.
23364func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Header() http.Header {
23365	if c.header_ == nil {
23366		c.header_ = make(http.Header)
23367	}
23368	return c.header_
23369}
23370
23371func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) doRequest(alt string) (*http.Response, error) {
23372	reqHeaders := make(http.Header)
23373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23374	for k, v := range c.header_ {
23375		reqHeaders[k] = v
23376	}
23377	reqHeaders.Set("User-Agent", c.s.userAgent())
23378	if c.ifNoneMatch_ != "" {
23379		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23380	}
23381	var body io.Reader = nil
23382	c.urlParams_.Set("alt", alt)
23383	c.urlParams_.Set("prettyPrint", "false")
23384	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/ConceptMap/$translate")
23385	urls += "?" + c.urlParams_.Encode()
23386	req, err := http.NewRequest("GET", urls, body)
23387	if err != nil {
23388		return nil, err
23389	}
23390	req.Header = reqHeaders
23391	googleapi.Expand(req.URL, map[string]string{
23392		"parent": c.parent,
23393	})
23394	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23395}
23396
23397// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate" call.
23398func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23399	gensupport.SetOptions(c.urlParams_, opts...)
23400	return c.doRequest("")
23401	// {
23402	//   "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.",
23403	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate",
23404	//   "httpMethod": "GET",
23405	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate",
23406	//   "parameterOrder": [
23407	//     "parent"
23408	//   ],
23409	//   "parameters": {
23410	//     "code": {
23411	//       "description": "The code to translate.",
23412	//       "location": "query",
23413	//       "type": "string"
23414	//     },
23415	//     "conceptMapVersion": {
23416	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23417	//       "location": "query",
23418	//       "type": "string"
23419	//     },
23420	//     "parent": {
23421	//       "description": "The name for the FHIR store containing the concept map(s) to use for the translation.",
23422	//       "location": "path",
23423	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23424	//       "required": true,
23425	//       "type": "string"
23426	//     },
23427	//     "source": {
23428	//       "description": "The source value set of the concept map to be used. If unset, target is used to search for concept maps.",
23429	//       "location": "query",
23430	//       "type": "string"
23431	//     },
23432	//     "system": {
23433	//       "description": "The system for the code to be translated.",
23434	//       "location": "query",
23435	//       "type": "string"
23436	//     },
23437	//     "target": {
23438	//       "description": "The target value set of the concept map to be used. If unset, source is used to search for concept maps.",
23439	//       "location": "query",
23440	//       "type": "string"
23441	//     },
23442	//     "url": {
23443	//       "description": "The canonical url of the concept map to use. If unset, the source and target is used to search for concept maps.",
23444	//       "location": "query",
23445	//       "type": "string"
23446	//     }
23447	//   },
23448	//   "path": "v1beta1/{+parent}/fhir/ConceptMap/$translate",
23449	//   "response": {
23450	//     "$ref": "HttpBody"
23451	//   },
23452	//   "scopes": [
23453	//     "https://www.googleapis.com/auth/cloud-platform"
23454	//   ]
23455	// }
23456
23457}
23458
23459// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate":
23460
23461type ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall struct {
23462	s            *Service
23463	name         string
23464	urlParams_   gensupport.URLParams
23465	ifNoneMatch_ string
23466	ctx_         context.Context
23467	header_      http.Header
23468}
23469
23470// ConceptMapTranslate: Translates a code from one value set to another
23471// using a concept map. You can provide your own concept maps to
23472// translate any code system to another code system. Implements the FHIR
23473// standard $translate operation (DSTU2
23474// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23475// STU3
23476// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23477// R4
23478// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23479// On success, the response body contains a JSON-encoded representation
23480// of a FHIR Parameters resource, which includes the translation result.
23481// Errors generated by the FHIR store contain a JSON-encoded
23482// `OperationOutcome` resource describing the reason for the error. If
23483// the request cannot be mapped to a valid API method on a FHIR store, a
23484// generic GCP error might be returned instead.
23485//
23486// - name: The URL for the concept map to use for the translation.
23487func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapTranslate(name string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23488	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23489	c.name = name
23490	return c
23491}
23492
23493// Code sets the optional parameter "code": The code to translate.
23494func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23495	c.urlParams_.Set("code", code)
23496	return c
23497}
23498
23499// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23500// The version of the concept map to use. If unset, the most current
23501// version is used.
23502func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23503	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23504	return c
23505}
23506
23507// System sets the optional parameter "system": The system for the code
23508// to be translated.
23509func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23510	c.urlParams_.Set("system", system)
23511	return c
23512}
23513
23514// Fields allows partial responses to be retrieved. See
23515// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23516// for more information.
23517func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23518	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23519	return c
23520}
23521
23522// IfNoneMatch sets the optional parameter which makes the operation
23523// fail if the object's ETag matches the given value. This is useful for
23524// getting updates only after the object has changed since the last
23525// request. Use googleapi.IsNotModified to check whether the response
23526// error from Do is the result of In-None-Match.
23527func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23528	c.ifNoneMatch_ = entityTag
23529	return c
23530}
23531
23532// Context sets the context to be used in this call's Do method. Any
23533// pending HTTP request will be aborted if the provided context is
23534// canceled.
23535func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23536	c.ctx_ = ctx
23537	return c
23538}
23539
23540// Header returns an http.Header that can be modified by the caller to
23541// add HTTP headers to the request.
23542func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Header() http.Header {
23543	if c.header_ == nil {
23544		c.header_ = make(http.Header)
23545	}
23546	return c.header_
23547}
23548
23549func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) doRequest(alt string) (*http.Response, error) {
23550	reqHeaders := make(http.Header)
23551	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23552	for k, v := range c.header_ {
23553		reqHeaders[k] = v
23554	}
23555	reqHeaders.Set("User-Agent", c.s.userAgent())
23556	if c.ifNoneMatch_ != "" {
23557		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23558	}
23559	var body io.Reader = nil
23560	c.urlParams_.Set("alt", alt)
23561	c.urlParams_.Set("prettyPrint", "false")
23562	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$translate")
23563	urls += "?" + c.urlParams_.Encode()
23564	req, err := http.NewRequest("GET", urls, body)
23565	if err != nil {
23566		return nil, err
23567	}
23568	req.Header = reqHeaders
23569	googleapi.Expand(req.URL, map[string]string{
23570		"name": c.name,
23571	})
23572	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23573}
23574
23575// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate" call.
23576func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23577	gensupport.SetOptions(c.urlParams_, opts...)
23578	return c.doRequest("")
23579	// {
23580	//   "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.",
23581	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate",
23582	//   "httpMethod": "GET",
23583	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate",
23584	//   "parameterOrder": [
23585	//     "name"
23586	//   ],
23587	//   "parameters": {
23588	//     "code": {
23589	//       "description": "The code to translate.",
23590	//       "location": "query",
23591	//       "type": "string"
23592	//     },
23593	//     "conceptMapVersion": {
23594	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23595	//       "location": "query",
23596	//       "type": "string"
23597	//     },
23598	//     "name": {
23599	//       "description": "The URL for the concept map to use for the translation.",
23600	//       "location": "path",
23601	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$",
23602	//       "required": true,
23603	//       "type": "string"
23604	//     },
23605	//     "system": {
23606	//       "description": "The system for the code to be translated.",
23607	//       "location": "query",
23608	//       "type": "string"
23609	//     }
23610	//   },
23611	//   "path": "v1beta1/{+name}/$translate",
23612	//   "response": {
23613	//     "$ref": "HttpBody"
23614	//   },
23615	//   "scopes": [
23616	//     "https://www.googleapis.com/auth/cloud-platform"
23617	//   ]
23618	// }
23619
23620}
23621
23622// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn":
23623
23624type ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall struct {
23625	s            *Service
23626	parent       string
23627	urlParams_   gensupport.URLParams
23628	ifNoneMatch_ string
23629	ctx_         context.Context
23630	header_      http.Header
23631}
23632
23633// ObservationLastn: Retrieves the N most recent `Observation` resources
23634// for a subject matching search criteria specified as query parameters,
23635// grouped by `Observation.code`, sorted from most recent to oldest.
23636// Implements the FHIR extended operation Observation-lastn (STU3
23637// (https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),
23638// R4
23639// (https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).
23640// DSTU2 doesn't define the Observation-lastn method, but the server
23641// supports it the same way it supports STU3. Search terms are provided
23642// as query parameters following the same pattern as the search method.
23643// The following search parameters must be provided: - `subject` or
23644// `patient` to specify a subject for the Observation. - `code`,
23645// `category` or any of the composite parameters that include `code`.
23646// Any other valid Observation search parameters can also be provided.
23647// This operation accepts an additional query parameter `max`, which
23648// specifies N, the maximum number of Observations to return from each
23649// group, with a default of 1. Searches with over 1000 results are
23650// rejected. Results are counted before grouping and limiting the
23651// results with `max`. To stay within the limit, constrain these
23652// searches using Observation search parameters such as `_lastUpdated`
23653// or `date`. On success, the response body contains a JSON-encoded
23654// representation of a `Bundle` resource of type `searchset`, containing
23655// the results of the operation. Errors generated by the FHIR store
23656// contain a JSON-encoded `OperationOutcome` resource describing the
23657// reason for the error. If the request cannot be mapped to a valid API
23658// method on a FHIR store, a generic GCP error might be returned
23659// instead.
23660//
23661// - parent: Name of the FHIR store to retrieve resources from.
23662func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ObservationLastn(parent string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23663	c := &ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23664	c.parent = parent
23665	return c
23666}
23667
23668// Fields allows partial responses to be retrieved. See
23669// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23670// for more information.
23671func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23672	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23673	return c
23674}
23675
23676// IfNoneMatch sets the optional parameter which makes the operation
23677// fail if the object's ETag matches the given value. This is useful for
23678// getting updates only after the object has changed since the last
23679// request. Use googleapi.IsNotModified to check whether the response
23680// error from Do is the result of In-None-Match.
23681func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23682	c.ifNoneMatch_ = entityTag
23683	return c
23684}
23685
23686// Context sets the context to be used in this call's Do method. Any
23687// pending HTTP request will be aborted if the provided context is
23688// canceled.
23689func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23690	c.ctx_ = ctx
23691	return c
23692}
23693
23694// Header returns an http.Header that can be modified by the caller to
23695// add HTTP headers to the request.
23696func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Header() http.Header {
23697	if c.header_ == nil {
23698		c.header_ = make(http.Header)
23699	}
23700	return c.header_
23701}
23702
23703func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) doRequest(alt string) (*http.Response, error) {
23704	reqHeaders := make(http.Header)
23705	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23706	for k, v := range c.header_ {
23707		reqHeaders[k] = v
23708	}
23709	reqHeaders.Set("User-Agent", c.s.userAgent())
23710	if c.ifNoneMatch_ != "" {
23711		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23712	}
23713	var body io.Reader = nil
23714	c.urlParams_.Set("alt", alt)
23715	c.urlParams_.Set("prettyPrint", "false")
23716	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/Observation/$lastn")
23717	urls += "?" + c.urlParams_.Encode()
23718	req, err := http.NewRequest("GET", urls, body)
23719	if err != nil {
23720		return nil, err
23721	}
23722	req.Header = reqHeaders
23723	googleapi.Expand(req.URL, map[string]string{
23724		"parent": c.parent,
23725	})
23726	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23727}
23728
23729// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn" call.
23730func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23731	gensupport.SetOptions(c.urlParams_, opts...)
23732	return c.doRequest("")
23733	// {
23734	//   "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.",
23735	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn",
23736	//   "httpMethod": "GET",
23737	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn",
23738	//   "parameterOrder": [
23739	//     "parent"
23740	//   ],
23741	//   "parameters": {
23742	//     "parent": {
23743	//       "description": "Name of the FHIR store to retrieve resources from.",
23744	//       "location": "path",
23745	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23746	//       "required": true,
23747	//       "type": "string"
23748	//     }
23749	//   },
23750	//   "path": "v1beta1/{+parent}/fhir/Observation/$lastn",
23751	//   "response": {
23752	//     "$ref": "HttpBody"
23753	//   },
23754	//   "scopes": [
23755	//     "https://www.googleapis.com/auth/cloud-platform"
23756	//   ]
23757	// }
23758
23759}
23760
23761// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything":
23762
23763type ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall struct {
23764	s            *Service
23765	name         string
23766	urlParams_   gensupport.URLParams
23767	ifNoneMatch_ string
23768	ctx_         context.Context
23769	header_      http.Header
23770}
23771
23772// PatientEverything: Retrieves a Patient resource and resources related
23773// to that patient. Implements the FHIR extended operation
23774// Patient-everything (DSTU2
23775// (https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),
23776// STU3
23777// (https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),
23778// R4
23779// (https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).
23780// On success, the response body contains a JSON-encoded representation
23781// of a `Bundle` resource of type `searchset`, containing the results of
23782// the operation. Errors generated by the FHIR store contain a
23783// JSON-encoded `OperationOutcome` resource describing the reason for
23784// the error. If the request cannot be mapped to a valid API method on a
23785// FHIR store, a generic GCP error might be returned instead. The
23786// resources in scope for the response are: * The patient resource
23787// itself. * All the resources directly referenced by the patient
23788// resource. * Resources directly referencing the patient resource that
23789// meet the inclusion criteria. The inclusion criteria are based on the
23790// membership rules in the patient compartment definition (DSTU2
23791// (https://hl7.org/fhir/DSTU2/compartment-patient.html), STU3
23792// (http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), R4
23793// (https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which
23794// details the eligible resource types and referencing search
23795// parameters. For samples that show how to call `Patient-everything`,
23796// see Getting all patient compartment resources
23797// (/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartme
23798// nt_resources).
23799//
23800// - name: Name of the `Patient` resource for which the information is
23801//   required.
23802func (r *ProjectsLocationsDatasetsFhirStoresFhirService) PatientEverything(name string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23803	c := &ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23804	c.name = name
23805	return c
23806}
23807
23808// Count sets the optional parameter "_count": Maximum number of
23809// resources in a page. If not specified, 100 is used. May not be larger
23810// than 1000.
23811func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23812	c.urlParams_.Set("_count", fmt.Sprint(Count))
23813	return c
23814}
23815
23816// PageToken sets the optional parameter "_page_token": Used to retrieve
23817// the next or previous page of results when using pagination. Set
23818// `_page_token` to the value of _page_token set in next or previous
23819// page links' url. Next and previous page are returned in the response
23820// bundle's links field, where `link.relation` is "previous" or "next".
23821// Omit `_page_token` if no previous request has been made.
23822func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23823	c.urlParams_.Set("_page_token", PageToken)
23824	return c
23825}
23826
23827// Since sets the optional parameter "_since": If provided, only
23828// resources updated after this time are returned. The time uses the
23829// format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example,
23830// `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time
23831// must be specified to the second and include a time zone.
23832func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23833	c.urlParams_.Set("_since", Since)
23834	return c
23835}
23836
23837// Type sets the optional parameter "_type": String of comma-delimited
23838// FHIR resource types. If provided, only resources of the specified
23839// resource type(s) are returned.
23840func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Type(Type string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23841	c.urlParams_.Set("_type", Type)
23842	return c
23843}
23844
23845// End sets the optional parameter "end": The response includes records
23846// prior to the end date. If no end date is provided, all records
23847// subsequent to the start date are in scope.
23848func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) End(end string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23849	c.urlParams_.Set("end", end)
23850	return c
23851}
23852
23853// Start sets the optional parameter "start": The response includes
23854// records subsequent to the start date. If no start date is provided,
23855// all records prior to the end date are in scope.
23856func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Start(start string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23857	c.urlParams_.Set("start", start)
23858	return c
23859}
23860
23861// Fields allows partial responses to be retrieved. See
23862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23863// for more information.
23864func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23866	return c
23867}
23868
23869// IfNoneMatch sets the optional parameter which makes the operation
23870// fail if the object's ETag matches the given value. This is useful for
23871// getting updates only after the object has changed since the last
23872// request. Use googleapi.IsNotModified to check whether the response
23873// error from Do is the result of In-None-Match.
23874func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23875	c.ifNoneMatch_ = entityTag
23876	return c
23877}
23878
23879// Context sets the context to be used in this call's Do method. Any
23880// pending HTTP request will be aborted if the provided context is
23881// canceled.
23882func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
23883	c.ctx_ = ctx
23884	return c
23885}
23886
23887// Header returns an http.Header that can be modified by the caller to
23888// add HTTP headers to the request.
23889func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Header() http.Header {
23890	if c.header_ == nil {
23891		c.header_ = make(http.Header)
23892	}
23893	return c.header_
23894}
23895
23896func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
23897	reqHeaders := make(http.Header)
23898	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23899	for k, v := range c.header_ {
23900		reqHeaders[k] = v
23901	}
23902	reqHeaders.Set("User-Agent", c.s.userAgent())
23903	if c.ifNoneMatch_ != "" {
23904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23905	}
23906	var body io.Reader = nil
23907	c.urlParams_.Set("alt", alt)
23908	c.urlParams_.Set("prettyPrint", "false")
23909	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$everything")
23910	urls += "?" + c.urlParams_.Encode()
23911	req, err := http.NewRequest("GET", urls, body)
23912	if err != nil {
23913		return nil, err
23914	}
23915	req.Header = reqHeaders
23916	googleapi.Expand(req.URL, map[string]string{
23917		"name": c.name,
23918	})
23919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23920}
23921
23922// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything" call.
23923func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23924	gensupport.SetOptions(c.urlParams_, opts...)
23925	return c.doRequest("")
23926	// {
23927	//   "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).",
23928	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything",
23929	//   "httpMethod": "GET",
23930	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything",
23931	//   "parameterOrder": [
23932	//     "name"
23933	//   ],
23934	//   "parameters": {
23935	//     "_count": {
23936	//       "description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.",
23937	//       "format": "int32",
23938	//       "location": "query",
23939	//       "type": "integer"
23940	//     },
23941	//     "_page_token": {
23942	//       "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.",
23943	//       "location": "query",
23944	//       "type": "string"
23945	//     },
23946	//     "_since": {
23947	//       "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.",
23948	//       "location": "query",
23949	//       "type": "string"
23950	//     },
23951	//     "_type": {
23952	//       "description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned.",
23953	//       "location": "query",
23954	//       "type": "string"
23955	//     },
23956	//     "end": {
23957	//       "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.",
23958	//       "location": "query",
23959	//       "type": "string"
23960	//     },
23961	//     "name": {
23962	//       "description": "Name of the `Patient` resource for which the information is required.",
23963	//       "location": "path",
23964	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$",
23965	//       "required": true,
23966	//       "type": "string"
23967	//     },
23968	//     "start": {
23969	//       "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.",
23970	//       "location": "query",
23971	//       "type": "string"
23972	//     }
23973	//   },
23974	//   "path": "v1beta1/{+name}/$everything",
23975	//   "response": {
23976	//     "$ref": "HttpBody"
23977	//   },
23978	//   "scopes": [
23979	//     "https://www.googleapis.com/auth/cloud-platform"
23980	//   ]
23981	// }
23982
23983}
23984
23985// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge":
23986
23987type ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall struct {
23988	s          *Service
23989	name       string
23990	urlParams_ gensupport.URLParams
23991	ctx_       context.Context
23992	header_    http.Header
23993}
23994
23995// ResourcePurge: Deletes all the historical versions of a resource
23996// (excluding the current version) from the FHIR store. To remove all
23997// versions of a resource, first delete the current version and then
23998// call this method. This is not a FHIR standard operation. For samples
23999// that show how to call `Resource-purge`, see Deleting historical
24000// versions of a FHIR resource
24001// (/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_
24002// of_a_fhir_resource).
24003//
24004// - name: The name of the resource to purge.
24005func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourcePurge(name string) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24006	c := &ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24007	c.name = name
24008	return c
24009}
24010
24011// Fields allows partial responses to be retrieved. See
24012// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24013// for more information.
24014func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24015	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24016	return c
24017}
24018
24019// Context sets the context to be used in this call's Do method. Any
24020// pending HTTP request will be aborted if the provided context is
24021// canceled.
24022func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24023	c.ctx_ = ctx
24024	return c
24025}
24026
24027// Header returns an http.Header that can be modified by the caller to
24028// add HTTP headers to the request.
24029func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Header() http.Header {
24030	if c.header_ == nil {
24031		c.header_ = make(http.Header)
24032	}
24033	return c.header_
24034}
24035
24036func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
24037	reqHeaders := make(http.Header)
24038	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24039	for k, v := range c.header_ {
24040		reqHeaders[k] = v
24041	}
24042	reqHeaders.Set("User-Agent", c.s.userAgent())
24043	var body io.Reader = nil
24044	c.urlParams_.Set("alt", alt)
24045	c.urlParams_.Set("prettyPrint", "false")
24046	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$purge")
24047	urls += "?" + c.urlParams_.Encode()
24048	req, err := http.NewRequest("DELETE", urls, body)
24049	if err != nil {
24050		return nil, err
24051	}
24052	req.Header = reqHeaders
24053	googleapi.Expand(req.URL, map[string]string{
24054		"name": c.name,
24055	})
24056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24057}
24058
24059// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge" call.
24060// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24061// code is an error. Response headers are in either
24062// *Empty.ServerResponse.Header or (if a response was returned at all)
24063// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24064// check whether the returned error was because http.StatusNotModified
24065// was returned.
24066func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24067	gensupport.SetOptions(c.urlParams_, opts...)
24068	res, err := c.doRequest("json")
24069	if res != nil && res.StatusCode == http.StatusNotModified {
24070		if res.Body != nil {
24071			res.Body.Close()
24072		}
24073		return nil, &googleapi.Error{
24074			Code:   res.StatusCode,
24075			Header: res.Header,
24076		}
24077	}
24078	if err != nil {
24079		return nil, err
24080	}
24081	defer googleapi.CloseBody(res)
24082	if err := googleapi.CheckResponse(res); err != nil {
24083		return nil, err
24084	}
24085	ret := &Empty{
24086		ServerResponse: googleapi.ServerResponse{
24087			Header:         res.Header,
24088			HTTPStatusCode: res.StatusCode,
24089		},
24090	}
24091	target := &ret
24092	if err := gensupport.DecodeResponse(target, res); err != nil {
24093		return nil, err
24094	}
24095	return ret, nil
24096	// {
24097	//   "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).",
24098	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge",
24099	//   "httpMethod": "DELETE",
24100	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge",
24101	//   "parameterOrder": [
24102	//     "name"
24103	//   ],
24104	//   "parameters": {
24105	//     "name": {
24106	//       "description": "The name of the resource to purge.",
24107	//       "location": "path",
24108	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
24109	//       "required": true,
24110	//       "type": "string"
24111	//     }
24112	//   },
24113	//   "path": "v1beta1/{+name}/$purge",
24114	//   "response": {
24115	//     "$ref": "Empty"
24116	//   },
24117	//   "scopes": [
24118	//     "https://www.googleapis.com/auth/cloud-platform"
24119	//   ]
24120	// }
24121
24122}
24123
24124// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate":
24125
24126type ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall struct {
24127	s          *Service
24128	parent     string
24129	type_      string
24130	body_      io.Reader
24131	urlParams_ gensupport.URLParams
24132	ctx_       context.Context
24133	header_    http.Header
24134}
24135
24136// ResourceValidate: Validates an input FHIR resource's conformance to
24137// its profiles and the profiles configured on the FHIR store.
24138// Implements the FHIR extended operation $validate (DSTU2
24139// (http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate),
24140// STU3
24141// (http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate),
24142// or R4
24143// (http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)).
24144// The request body must contain a JSON-encoded FHIR resource, and the
24145// request headers must contain `Content-Type: application/fhir+json`.
24146// The `Parameters` input syntax is not supported. The `profile` query
24147// parameter can be used to request that the resource only be validated
24148// against a specific profile. If a profile with the given URL cannot be
24149// found in the FHIR store then an error is returned. Errors generated
24150// by validation contain a JSON-encoded `OperationOutcome` resource
24151// describing the reason for the error. If the request cannot be mapped
24152// to a valid API method on a FHIR store, a generic GCP error might be
24153// returned instead.
24154//
24155// - parent: The name of the FHIR store that holds the profiles being
24156//   used for validation.
24157// - type: The FHIR resource type of the resource being validated. For a
24158//   complete list, see the FHIR Resource Index (DSTU2
24159//   (http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24160//   STU3
24161//   (http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24162//   or R4
24163//   (http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24164//   Must match the resource type in the provided content.
24165func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourceValidate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24166	c := &ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24167	c.parent = parent
24168	c.type_ = type_
24169	c.body_ = body_
24170	return c
24171}
24172
24173// Profile sets the optional parameter "profile": A profile that this
24174// resource should be validated against.
24175func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Profile(profile string) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24176	c.urlParams_.Set("profile", profile)
24177	return c
24178}
24179
24180// Fields allows partial responses to be retrieved. See
24181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24182// for more information.
24183func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24185	return c
24186}
24187
24188// Context sets the context to be used in this call's Do method. Any
24189// pending HTTP request will be aborted if the provided context is
24190// canceled.
24191func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24192	c.ctx_ = ctx
24193	return c
24194}
24195
24196// Header returns an http.Header that can be modified by the caller to
24197// add HTTP headers to the request.
24198func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Header() http.Header {
24199	if c.header_ == nil {
24200		c.header_ = make(http.Header)
24201	}
24202	return c.header_
24203}
24204
24205func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) doRequest(alt string) (*http.Response, error) {
24206	reqHeaders := make(http.Header)
24207	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24208	for k, v := range c.header_ {
24209		reqHeaders[k] = v
24210	}
24211	reqHeaders.Set("User-Agent", c.s.userAgent())
24212	var body io.Reader = nil
24213	body = c.body_
24214	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}/$validate")
24215	urls += "?" + c.urlParams_.Encode()
24216	req, err := http.NewRequest("POST", urls, body)
24217	if err != nil {
24218		return nil, err
24219	}
24220	req.Header = reqHeaders
24221	googleapi.Expand(req.URL, map[string]string{
24222		"parent": c.parent,
24223		"type":   c.type_,
24224	})
24225	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24226}
24227
24228// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate" call.
24229func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24230	gensupport.SetOptions(c.urlParams_, opts...)
24231	return c.doRequest("")
24232	// {
24233	//   "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.",
24234	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/$validate",
24235	//   "httpMethod": "POST",
24236	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate",
24237	//   "parameterOrder": [
24238	//     "parent",
24239	//     "type"
24240	//   ],
24241	//   "parameters": {
24242	//     "parent": {
24243	//       "description": "The name of the FHIR store that holds the profiles being used for validation.",
24244	//       "location": "path",
24245	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24246	//       "required": true,
24247	//       "type": "string"
24248	//     },
24249	//     "profile": {
24250	//       "description": "A profile that this resource should be validated against.",
24251	//       "location": "query",
24252	//       "type": "string"
24253	//     },
24254	//     "type": {
24255	//       "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.",
24256	//       "location": "path",
24257	//       "pattern": "^[^/]+$",
24258	//       "required": true,
24259	//       "type": "string"
24260	//     }
24261	//   },
24262	//   "path": "v1beta1/{+parent}/fhir/{+type}/$validate",
24263	//   "request": {
24264	//     "$ref": "HttpBody"
24265	//   },
24266	//   "response": {
24267	//     "$ref": "HttpBody"
24268	//   },
24269	//   "scopes": [
24270	//     "https://www.googleapis.com/auth/cloud-platform"
24271	//   ]
24272	// }
24273
24274}
24275
24276// method id "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities":
24277
24278type ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall struct {
24279	s            *Service
24280	name         string
24281	urlParams_   gensupport.URLParams
24282	ifNoneMatch_ string
24283	ctx_         context.Context
24284	header_      http.Header
24285}
24286
24287// Capabilities: Gets the FHIR capability statement (STU3
24288// (https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),
24289// R4
24290// (https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),
24291// or the conformance statement
24292// (https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in
24293// the DSTU2 case for the store, which contains a description of
24294// functionality supported by the server. Implements the FHIR standard
24295// capabilities interaction (STU3
24296// (https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),
24297// R4
24298// (https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),
24299// or the conformance interaction
24300// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)
24301// in the DSTU2 case. On success, the response body contains a
24302// JSON-encoded representation of a `CapabilityStatement` resource.
24303//
24304// - name: Name of the FHIR store to retrieve the capabilities for.
24305func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Capabilities(name string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24306	c := &ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24307	c.name = name
24308	return c
24309}
24310
24311// Fields allows partial responses to be retrieved. See
24312// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24313// for more information.
24314func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24315	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24316	return c
24317}
24318
24319// IfNoneMatch sets the optional parameter which makes the operation
24320// fail if the object's ETag matches the given value. This is useful for
24321// getting updates only after the object has changed since the last
24322// request. Use googleapi.IsNotModified to check whether the response
24323// error from Do is the result of In-None-Match.
24324func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24325	c.ifNoneMatch_ = entityTag
24326	return c
24327}
24328
24329// Context sets the context to be used in this call's Do method. Any
24330// pending HTTP request will be aborted if the provided context is
24331// canceled.
24332func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24333	c.ctx_ = ctx
24334	return c
24335}
24336
24337// Header returns an http.Header that can be modified by the caller to
24338// add HTTP headers to the request.
24339func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Header() http.Header {
24340	if c.header_ == nil {
24341		c.header_ = make(http.Header)
24342	}
24343	return c.header_
24344}
24345
24346func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
24347	reqHeaders := make(http.Header)
24348	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24349	for k, v := range c.header_ {
24350		reqHeaders[k] = v
24351	}
24352	reqHeaders.Set("User-Agent", c.s.userAgent())
24353	if c.ifNoneMatch_ != "" {
24354		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24355	}
24356	var body io.Reader = nil
24357	c.urlParams_.Set("alt", alt)
24358	c.urlParams_.Set("prettyPrint", "false")
24359	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/fhir/metadata")
24360	urls += "?" + c.urlParams_.Encode()
24361	req, err := http.NewRequest("GET", urls, body)
24362	if err != nil {
24363		return nil, err
24364	}
24365	req.Header = reqHeaders
24366	googleapi.Expand(req.URL, map[string]string{
24367		"name": c.name,
24368	})
24369	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24370}
24371
24372// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities" call.
24373func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24374	gensupport.SetOptions(c.urlParams_, opts...)
24375	return c.doRequest("")
24376	// {
24377	//   "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.",
24378	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata",
24379	//   "httpMethod": "GET",
24380	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities",
24381	//   "parameterOrder": [
24382	//     "name"
24383	//   ],
24384	//   "parameters": {
24385	//     "name": {
24386	//       "description": "Name of the FHIR store to retrieve the capabilities for.",
24387	//       "location": "path",
24388	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24389	//       "required": true,
24390	//       "type": "string"
24391	//     }
24392	//   },
24393	//   "path": "v1beta1/{+name}/fhir/metadata",
24394	//   "response": {
24395	//     "$ref": "HttpBody"
24396	//   },
24397	//   "scopes": [
24398	//     "https://www.googleapis.com/auth/cloud-platform"
24399	//   ]
24400	// }
24401
24402}
24403
24404// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete":
24405
24406type ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall struct {
24407	s          *Service
24408	parent     string
24409	type_      string
24410	urlParams_ gensupport.URLParams
24411	ctx_       context.Context
24412	header_    http.Header
24413}
24414
24415// ConditionalDelete: Deletes FHIR resources that match a search query.
24416// Implements the FHIR standard conditional delete interaction (DSTU2
24417// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),
24418// STU3
24419// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),
24420// R4
24421// (https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).
24422// If multiple resources match, all matching resources are deleted.
24423// Search terms are provided as query parameters following the same
24424// pattern as the search method. Note: Unless resource versioning is
24425// disabled by setting the disable_resource_versioning flag on the FHIR
24426// store, the deleted resources are moved to a history repository that
24427// can still be retrieved through vread and related methods, unless they
24428// are removed by the purge method. This method requires
24429// the`healthcare.fhirStores.searchResources` and
24430// `healthcare.fhirResources.delete` permissions on the parent FHIR
24431// store. For samples that show how to call `conditionalDelete`, see
24432// Conditionally deleting a FHIR resource
24433// (/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir
24434// _resource).
24435//
24436// - parent: The name of the FHIR store this resource belongs to.
24437// - type: The FHIR resource type to delete, such as Patient or
24438//   Observation. For a complete list, see the FHIR Resource Index
24439//   (DSTU2
24440//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24441//   STU3
24442//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24443//   R4
24444//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24445func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalDelete(parent string, type_ string) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24446	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24447	c.parent = parent
24448	c.type_ = type_
24449	return c
24450}
24451
24452// Fields allows partial responses to be retrieved. See
24453// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24454// for more information.
24455func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24456	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24457	return c
24458}
24459
24460// Context sets the context to be used in this call's Do method. Any
24461// pending HTTP request will be aborted if the provided context is
24462// canceled.
24463func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24464	c.ctx_ = ctx
24465	return c
24466}
24467
24468// Header returns an http.Header that can be modified by the caller to
24469// add HTTP headers to the request.
24470func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Header() http.Header {
24471	if c.header_ == nil {
24472		c.header_ = make(http.Header)
24473	}
24474	return c.header_
24475}
24476
24477func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) doRequest(alt string) (*http.Response, error) {
24478	reqHeaders := make(http.Header)
24479	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24480	for k, v := range c.header_ {
24481		reqHeaders[k] = v
24482	}
24483	reqHeaders.Set("User-Agent", c.s.userAgent())
24484	var body io.Reader = nil
24485	c.urlParams_.Set("alt", alt)
24486	c.urlParams_.Set("prettyPrint", "false")
24487	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24488	urls += "?" + c.urlParams_.Encode()
24489	req, err := http.NewRequest("DELETE", urls, body)
24490	if err != nil {
24491		return nil, err
24492	}
24493	req.Header = reqHeaders
24494	googleapi.Expand(req.URL, map[string]string{
24495		"parent": c.parent,
24496		"type":   c.type_,
24497	})
24498	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24499}
24500
24501// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete" call.
24502// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24503// code is an error. Response headers are in either
24504// *Empty.ServerResponse.Header or (if a response was returned at all)
24505// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24506// check whether the returned error was because http.StatusNotModified
24507// was returned.
24508func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24509	gensupport.SetOptions(c.urlParams_, opts...)
24510	res, err := c.doRequest("json")
24511	if res != nil && res.StatusCode == http.StatusNotModified {
24512		if res.Body != nil {
24513			res.Body.Close()
24514		}
24515		return nil, &googleapi.Error{
24516			Code:   res.StatusCode,
24517			Header: res.Header,
24518		}
24519	}
24520	if err != nil {
24521		return nil, err
24522	}
24523	defer googleapi.CloseBody(res)
24524	if err := googleapi.CheckResponse(res); err != nil {
24525		return nil, err
24526	}
24527	ret := &Empty{
24528		ServerResponse: googleapi.ServerResponse{
24529			Header:         res.Header,
24530			HTTPStatusCode: res.StatusCode,
24531		},
24532	}
24533	target := &ret
24534	if err := gensupport.DecodeResponse(target, res); err != nil {
24535		return nil, err
24536	}
24537	return ret, nil
24538	// {
24539	//   "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).",
24540	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24541	//   "httpMethod": "DELETE",
24542	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete",
24543	//   "parameterOrder": [
24544	//     "parent",
24545	//     "type"
24546	//   ],
24547	//   "parameters": {
24548	//     "parent": {
24549	//       "description": "The name of the FHIR store this resource belongs to.",
24550	//       "location": "path",
24551	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24552	//       "required": true,
24553	//       "type": "string"
24554	//     },
24555	//     "type": {
24556	//       "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)).",
24557	//       "location": "path",
24558	//       "pattern": "^[^/]+$",
24559	//       "required": true,
24560	//       "type": "string"
24561	//     }
24562	//   },
24563	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24564	//   "response": {
24565	//     "$ref": "Empty"
24566	//   },
24567	//   "scopes": [
24568	//     "https://www.googleapis.com/auth/cloud-platform"
24569	//   ]
24570	// }
24571
24572}
24573
24574// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch":
24575
24576type ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall struct {
24577	s          *Service
24578	parent     string
24579	type_      string
24580	body_      io.Reader
24581	urlParams_ gensupport.URLParams
24582	ctx_       context.Context
24583	header_    http.Header
24584}
24585
24586// ConditionalPatch: If a resource is found based on the search criteria
24587// specified in the query parameters, updates part of that resource by
24588// applying the operations specified in a JSON Patch
24589// (http://jsonpatch.com/) document. Implements the FHIR standard
24590// conditional patch interaction (STU3
24591// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
24592// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
24593// doesn't define a conditional patch method, but the server supports it
24594// in the same way it supports STU3. Search terms are provided as query
24595// parameters following the same pattern as the search method. If the
24596// search criteria identify more than one match, the request returns a
24597// `412 Precondition Failed` error. The request body must contain a JSON
24598// Patch document, and the request headers must contain `Content-Type:
24599// application/json-patch+json`. On success, the response body contains
24600// a JSON-encoded representation of the updated resource, including the
24601// server-assigned version ID. Errors generated by the FHIR store
24602// contain a JSON-encoded `OperationOutcome` resource describing the
24603// reason for the error. If the request cannot be mapped to a valid API
24604// method on a FHIR store, a generic GCP error might be returned
24605// instead. This method requires
24606// the`healthcare.fhirStores.searchResources` permission on the parent
24607// FHIR store and the `healthcare.fhirResources.patch` permission on the
24608// requested FHIR store resource. For samples that show how to call
24609// `conditionalPatch`, see Conditionally patching a FHIR resource
24610// (/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir
24611// _resource).
24612//
24613// - parent: The name of the FHIR store this resource belongs to.
24614// - type: The FHIR resource type to update, such as Patient or
24615//   Observation. For a complete list, see the FHIR Resource Index
24616//   (DSTU2
24617//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24618//   STU3
24619//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24620//   R4
24621//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24622func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalPatch(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24623	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24624	c.parent = parent
24625	c.type_ = type_
24626	c.body_ = body_
24627	return c
24628}
24629
24630// Fields allows partial responses to be retrieved. See
24631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24632// for more information.
24633func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24634	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24635	return c
24636}
24637
24638// Context sets the context to be used in this call's Do method. Any
24639// pending HTTP request will be aborted if the provided context is
24640// canceled.
24641func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24642	c.ctx_ = ctx
24643	return c
24644}
24645
24646// Header returns an http.Header that can be modified by the caller to
24647// add HTTP headers to the request.
24648func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Header() http.Header {
24649	if c.header_ == nil {
24650		c.header_ = make(http.Header)
24651	}
24652	return c.header_
24653}
24654
24655func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) doRequest(alt string) (*http.Response, error) {
24656	reqHeaders := make(http.Header)
24657	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24658	for k, v := range c.header_ {
24659		reqHeaders[k] = v
24660	}
24661	reqHeaders.Set("User-Agent", c.s.userAgent())
24662	var body io.Reader = nil
24663	body = c.body_
24664	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24665	urls += "?" + c.urlParams_.Encode()
24666	req, err := http.NewRequest("PATCH", urls, body)
24667	if err != nil {
24668		return nil, err
24669	}
24670	req.Header = reqHeaders
24671	googleapi.Expand(req.URL, map[string]string{
24672		"parent": c.parent,
24673		"type":   c.type_,
24674	})
24675	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24676}
24677
24678// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch" call.
24679func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24680	gensupport.SetOptions(c.urlParams_, opts...)
24681	return c.doRequest("")
24682	// {
24683	//   "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).",
24684	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24685	//   "httpMethod": "PATCH",
24686	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch",
24687	//   "parameterOrder": [
24688	//     "parent",
24689	//     "type"
24690	//   ],
24691	//   "parameters": {
24692	//     "parent": {
24693	//       "description": "The name of the FHIR store this resource belongs to.",
24694	//       "location": "path",
24695	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24696	//       "required": true,
24697	//       "type": "string"
24698	//     },
24699	//     "type": {
24700	//       "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)).",
24701	//       "location": "path",
24702	//       "pattern": "^[^/]+$",
24703	//       "required": true,
24704	//       "type": "string"
24705	//     }
24706	//   },
24707	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24708	//   "request": {
24709	//     "$ref": "HttpBody"
24710	//   },
24711	//   "response": {
24712	//     "$ref": "HttpBody"
24713	//   },
24714	//   "scopes": [
24715	//     "https://www.googleapis.com/auth/cloud-platform"
24716	//   ]
24717	// }
24718
24719}
24720
24721// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate":
24722
24723type ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall struct {
24724	s          *Service
24725	parent     string
24726	type_      string
24727	body_      io.Reader
24728	urlParams_ gensupport.URLParams
24729	ctx_       context.Context
24730	header_    http.Header
24731}
24732
24733// ConditionalUpdate: If a resource is found based on the search
24734// criteria specified in the query parameters, updates the entire
24735// contents of that resource. Implements the FHIR standard conditional
24736// update interaction (DSTU2
24737// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),
24738// STU3
24739// (https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),
24740// R4
24741// (https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).
24742// Search terms are provided as query parameters following the same
24743// pattern as the search method. If the search criteria identify more
24744// than one match, the request returns a `412 Precondition Failed`
24745// error. If the search criteria identify zero matches, and the supplied
24746// resource body contains an `id`, and the FHIR store has
24747// enable_update_create set, creates the resource with the
24748// client-specified ID. It is strongly advised not to include or encode
24749// any sensitive data such as patient identifiers in client-specified
24750// resource IDs. Those IDs are part of the FHIR resource path recorded
24751// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
24752// contained in reference fields within other resources. If the search
24753// criteria identify zero matches, and the supplied resource body does
24754// not contain an `id`, the resource is created with a server-assigned
24755// ID as per the create method. The request body must contain a
24756// JSON-encoded FHIR resource, and the request headers must contain
24757// `Content-Type: application/fhir+json`. On success, the response body
24758// contains a JSON-encoded representation of the updated resource,
24759// including the server-assigned version ID. Errors generated by the
24760// FHIR store contain a JSON-encoded `OperationOutcome` resource
24761// describing the reason for the error. If the request cannot be mapped
24762// to a valid API method on a FHIR store, a generic GCP error might be
24763// returned instead. This method requires
24764// the`healthcare.fhirStores.searchResources` and
24765// `healthcare.fhirResources.update` permissions on the parent FHIR
24766// store. For samples that show how to call `conditionalUpdate`, see
24767// Conditionally updating a FHIR resource
24768// (/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir
24769// _resource).
24770//
24771// - parent: The name of the FHIR store this resource belongs to.
24772// - type: The FHIR resource type to update, such as Patient or
24773//   Observation. For a complete list, see the FHIR Resource Index
24774//   (DSTU2
24775//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24776//   STU3
24777//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24778//   R4
24779//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24780//   Must match the resource type in the provided content.
24781func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalUpdate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24782	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24783	c.parent = parent
24784	c.type_ = type_
24785	c.body_ = body_
24786	return c
24787}
24788
24789// Fields allows partial responses to be retrieved. See
24790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24791// for more information.
24792func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24794	return c
24795}
24796
24797// Context sets the context to be used in this call's Do method. Any
24798// pending HTTP request will be aborted if the provided context is
24799// canceled.
24800func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
24801	c.ctx_ = ctx
24802	return c
24803}
24804
24805// Header returns an http.Header that can be modified by the caller to
24806// add HTTP headers to the request.
24807func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Header() http.Header {
24808	if c.header_ == nil {
24809		c.header_ = make(http.Header)
24810	}
24811	return c.header_
24812}
24813
24814func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) doRequest(alt string) (*http.Response, error) {
24815	reqHeaders := make(http.Header)
24816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24817	for k, v := range c.header_ {
24818		reqHeaders[k] = v
24819	}
24820	reqHeaders.Set("User-Agent", c.s.userAgent())
24821	var body io.Reader = nil
24822	body = c.body_
24823	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24824	urls += "?" + c.urlParams_.Encode()
24825	req, err := http.NewRequest("PUT", urls, body)
24826	if err != nil {
24827		return nil, err
24828	}
24829	req.Header = reqHeaders
24830	googleapi.Expand(req.URL, map[string]string{
24831		"parent": c.parent,
24832		"type":   c.type_,
24833	})
24834	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24835}
24836
24837// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate" call.
24838func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24839	gensupport.SetOptions(c.urlParams_, opts...)
24840	return c.doRequest("")
24841	// {
24842	//   "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).",
24843	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24844	//   "httpMethod": "PUT",
24845	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate",
24846	//   "parameterOrder": [
24847	//     "parent",
24848	//     "type"
24849	//   ],
24850	//   "parameters": {
24851	//     "parent": {
24852	//       "description": "The name of the FHIR store this resource belongs to.",
24853	//       "location": "path",
24854	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24855	//       "required": true,
24856	//       "type": "string"
24857	//     },
24858	//     "type": {
24859	//       "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.",
24860	//       "location": "path",
24861	//       "pattern": "^[^/]+$",
24862	//       "required": true,
24863	//       "type": "string"
24864	//     }
24865	//   },
24866	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24867	//   "request": {
24868	//     "$ref": "HttpBody"
24869	//   },
24870	//   "response": {
24871	//     "$ref": "HttpBody"
24872	//   },
24873	//   "scopes": [
24874	//     "https://www.googleapis.com/auth/cloud-platform"
24875	//   ]
24876	// }
24877
24878}
24879
24880// method id "healthcare.projects.locations.datasets.fhirStores.fhir.create":
24881
24882type ProjectsLocationsDatasetsFhirStoresFhirCreateCall struct {
24883	s          *Service
24884	parent     string
24885	type_      string
24886	body_      io.Reader
24887	urlParams_ gensupport.URLParams
24888	ctx_       context.Context
24889	header_    http.Header
24890}
24891
24892// Create: Creates a FHIR resource. Implements the FHIR standard create
24893// interaction (DSTU2
24894// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#create),
24895// STU3
24896// (https://hl7.org/implement/standards/fhir/STU3/http.html#create), R4
24897// (https://hl7.org/implement/standards/fhir/R4/http.html#create)),
24898// which creates a new resource with a server-assigned resource ID. Also
24899// supports the FHIR standard conditional create interaction (DSTU2
24900// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),
24901// STU3
24902// (https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), R4
24903// (https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),
24904// specified by supplying an `If-None-Exist` header containing a FHIR
24905// search query. If no resources match this search query, the server
24906// processes the create operation as normal. The request body must
24907// contain a JSON-encoded FHIR resource, and the request headers must
24908// contain `Content-Type: application/fhir+json`. On success, the
24909// response body contains a JSON-encoded representation of the resource
24910// as it was created on the server, including the server-assigned
24911// resource ID and version ID. Errors generated by the FHIR store
24912// contain a JSON-encoded `OperationOutcome` resource describing the
24913// reason for the error. If the request cannot be mapped to a valid API
24914// method on a FHIR store, a generic GCP error might be returned
24915// instead. For samples that show how to call `create`, see Creating a
24916// FHIR resource
24917// (/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).
24918//
24919// - parent: The name of the FHIR store this resource belongs to.
24920// - type: The FHIR resource type to create, such as Patient or
24921//   Observation. For a complete list, see the FHIR Resource Index
24922//   (DSTU2
24923//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24924//   STU3
24925//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24926//   R4
24927//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24928//   Must match the resource type in the provided content.
24929func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Create(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24930	c := &ProjectsLocationsDatasetsFhirStoresFhirCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24931	c.parent = parent
24932	c.type_ = type_
24933	c.body_ = body_
24934	return c
24935}
24936
24937// Fields allows partial responses to be retrieved. See
24938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24939// for more information.
24940func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24942	return c
24943}
24944
24945// Context sets the context to be used in this call's Do method. Any
24946// pending HTTP request will be aborted if the provided context is
24947// canceled.
24948func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
24949	c.ctx_ = ctx
24950	return c
24951}
24952
24953// Header returns an http.Header that can be modified by the caller to
24954// add HTTP headers to the request.
24955func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Header() http.Header {
24956	if c.header_ == nil {
24957		c.header_ = make(http.Header)
24958	}
24959	return c.header_
24960}
24961
24962func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
24963	reqHeaders := make(http.Header)
24964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24965	for k, v := range c.header_ {
24966		reqHeaders[k] = v
24967	}
24968	reqHeaders.Set("User-Agent", c.s.userAgent())
24969	var body io.Reader = nil
24970	body = c.body_
24971	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24972	urls += "?" + c.urlParams_.Encode()
24973	req, err := http.NewRequest("POST", urls, body)
24974	if err != nil {
24975		return nil, err
24976	}
24977	req.Header = reqHeaders
24978	googleapi.Expand(req.URL, map[string]string{
24979		"parent": c.parent,
24980		"type":   c.type_,
24981	})
24982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24983}
24984
24985// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.create" call.
24986func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24987	gensupport.SetOptions(c.urlParams_, opts...)
24988	return c.doRequest("")
24989	// {
24990	//   "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).",
24991	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24992	//   "httpMethod": "POST",
24993	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create",
24994	//   "parameterOrder": [
24995	//     "parent",
24996	//     "type"
24997	//   ],
24998	//   "parameters": {
24999	//     "parent": {
25000	//       "description": "The name of the FHIR store this resource belongs to.",
25001	//       "location": "path",
25002	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25003	//       "required": true,
25004	//       "type": "string"
25005	//     },
25006	//     "type": {
25007	//       "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.",
25008	//       "location": "path",
25009	//       "pattern": "^[^/]+$",
25010	//       "required": true,
25011	//       "type": "string"
25012	//     }
25013	//   },
25014	//   "path": "v1beta1/{+parent}/fhir/{+type}",
25015	//   "request": {
25016	//     "$ref": "HttpBody"
25017	//   },
25018	//   "response": {
25019	//     "$ref": "HttpBody"
25020	//   },
25021	//   "scopes": [
25022	//     "https://www.googleapis.com/auth/cloud-platform"
25023	//   ]
25024	// }
25025
25026}
25027
25028// method id "healthcare.projects.locations.datasets.fhirStores.fhir.delete":
25029
25030type ProjectsLocationsDatasetsFhirStoresFhirDeleteCall struct {
25031	s          *Service
25032	name       string
25033	urlParams_ gensupport.URLParams
25034	ctx_       context.Context
25035	header_    http.Header
25036}
25037
25038// Delete: Deletes a FHIR resource. Implements the FHIR standard delete
25039// interaction (DSTU2
25040// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),
25041// STU3
25042// (https://hl7.org/implement/standards/fhir/STU3/http.html#delete), R4
25043// (https://hl7.org/implement/standards/fhir/R4/http.html#delete)).
25044// Note: Unless resource versioning is disabled by setting the
25045// disable_resource_versioning flag on the FHIR store, the deleted
25046// resources are moved to a history repository that can still be
25047// retrieved through vread and related methods, unless they are removed
25048// by the purge method. For samples that show how to call `delete`, see
25049// Deleting a FHIR resource
25050// (/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).
25051//
25052// - name: The name of the resource to delete.
25053func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25054	c := &ProjectsLocationsDatasetsFhirStoresFhirDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25055	c.name = name
25056	return c
25057}
25058
25059// Fields allows partial responses to be retrieved. See
25060// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25061// for more information.
25062func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25063	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25064	return c
25065}
25066
25067// Context sets the context to be used in this call's Do method. Any
25068// pending HTTP request will be aborted if the provided context is
25069// canceled.
25070func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25071	c.ctx_ = ctx
25072	return c
25073}
25074
25075// Header returns an http.Header that can be modified by the caller to
25076// add HTTP headers to the request.
25077func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Header() http.Header {
25078	if c.header_ == nil {
25079		c.header_ = make(http.Header)
25080	}
25081	return c.header_
25082}
25083
25084func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
25085	reqHeaders := make(http.Header)
25086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25087	for k, v := range c.header_ {
25088		reqHeaders[k] = v
25089	}
25090	reqHeaders.Set("User-Agent", c.s.userAgent())
25091	var body io.Reader = nil
25092	c.urlParams_.Set("alt", alt)
25093	c.urlParams_.Set("prettyPrint", "false")
25094	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25095	urls += "?" + c.urlParams_.Encode()
25096	req, err := http.NewRequest("DELETE", urls, body)
25097	if err != nil {
25098		return nil, err
25099	}
25100	req.Header = reqHeaders
25101	googleapi.Expand(req.URL, map[string]string{
25102		"name": c.name,
25103	})
25104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25105}
25106
25107// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.delete" call.
25108func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25109	gensupport.SetOptions(c.urlParams_, opts...)
25110	return c.doRequest("")
25111	// {
25112	//   "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).",
25113	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25114	//   "httpMethod": "DELETE",
25115	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete",
25116	//   "parameterOrder": [
25117	//     "name"
25118	//   ],
25119	//   "parameters": {
25120	//     "name": {
25121	//       "description": "The name of the resource to delete.",
25122	//       "location": "path",
25123	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25124	//       "required": true,
25125	//       "type": "string"
25126	//     }
25127	//   },
25128	//   "path": "v1beta1/{+name}",
25129	//   "response": {
25130	//     "$ref": "HttpBody"
25131	//   },
25132	//   "scopes": [
25133	//     "https://www.googleapis.com/auth/cloud-platform"
25134	//   ]
25135	// }
25136
25137}
25138
25139// method id "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle":
25140
25141type ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall struct {
25142	s          *Service
25143	parent     string
25144	body_      io.Reader
25145	urlParams_ gensupport.URLParams
25146	ctx_       context.Context
25147	header_    http.Header
25148}
25149
25150// ExecuteBundle: Executes all the requests in the given Bundle.
25151// Implements the FHIR standard batch/transaction interaction (DSTU2
25152// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),
25153// STU3
25154// (https://hl7.org/implement/standards/fhir/STU3/http.html#transaction),
25155// R4
25156// (https://hl7.org/implement/standards/fhir/R4/http.html#transaction)).
25157// Supports all interactions within a bundle, except search. This method
25158// accepts Bundles of type `batch` and `transaction`, processing them
25159// according to the batch processing rules (DSTU2
25160// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),
25161// STU3
25162// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),
25163// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#brules))
25164// and transaction processing rules (DSTU2
25165// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),
25166// STU3
25167// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),
25168// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#trules)).
25169// The request body must contain a JSON-encoded FHIR `Bundle` resource,
25170// and the request headers must contain `Content-Type:
25171// application/fhir+json`. For a batch bundle or a successful
25172// transaction the response body contains a JSON-encoded representation
25173// of a `Bundle` resource of type `batch-response` or
25174// `transaction-response` containing one entry for each entry in the
25175// request, with the outcome of processing the entry. In the case of an
25176// error for a transaction bundle, the response body contains a
25177// JSON-encoded `OperationOutcome` resource describing the reason for
25178// the error. If the request cannot be mapped to a valid API method on a
25179// FHIR store, a generic GCP error might be returned instead. This
25180// method requires permission for executing the requests in the bundle.
25181// The `executeBundle` permission grants permission to execute the
25182// request in the bundle but you must grant sufficient permissions to
25183// execute the individual requests in the bundle. For example, if the
25184// bundle contains a `create` request, you must have permission to
25185// execute the `create` request. Logging is available for the
25186// `executeBundle` permission. For samples that show how to call
25187// `executeBundle`, see Managing FHIR resources using FHIR bundles
25188// (/healthcare/docs/how-tos/fhir-bundles).
25189//
25190// - parent: Name of the FHIR store in which this bundle will be
25191//   executed.
25192func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ExecuteBundle(parent string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25193	c := &ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25194	c.parent = parent
25195	c.body_ = body_
25196	return c
25197}
25198
25199// Fields allows partial responses to be retrieved. See
25200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25201// for more information.
25202func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25204	return c
25205}
25206
25207// Context sets the context to be used in this call's Do method. Any
25208// pending HTTP request will be aborted if the provided context is
25209// canceled.
25210func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25211	c.ctx_ = ctx
25212	return c
25213}
25214
25215// Header returns an http.Header that can be modified by the caller to
25216// add HTTP headers to the request.
25217func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Header() http.Header {
25218	if c.header_ == nil {
25219		c.header_ = make(http.Header)
25220	}
25221	return c.header_
25222}
25223
25224func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
25225	reqHeaders := make(http.Header)
25226	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25227	for k, v := range c.header_ {
25228		reqHeaders[k] = v
25229	}
25230	reqHeaders.Set("User-Agent", c.s.userAgent())
25231	var body io.Reader = nil
25232	body = c.body_
25233	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir")
25234	urls += "?" + c.urlParams_.Encode()
25235	req, err := http.NewRequest("POST", urls, body)
25236	if err != nil {
25237		return nil, err
25238	}
25239	req.Header = reqHeaders
25240	googleapi.Expand(req.URL, map[string]string{
25241		"parent": c.parent,
25242	})
25243	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25244}
25245
25246// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle" call.
25247func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25248	gensupport.SetOptions(c.urlParams_, opts...)
25249	return c.doRequest("")
25250	// {
25251	//   "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).",
25252	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir",
25253	//   "httpMethod": "POST",
25254	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle",
25255	//   "parameterOrder": [
25256	//     "parent"
25257	//   ],
25258	//   "parameters": {
25259	//     "parent": {
25260	//       "description": "Name of the FHIR store in which this bundle will be executed.",
25261	//       "location": "path",
25262	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25263	//       "required": true,
25264	//       "type": "string"
25265	//     }
25266	//   },
25267	//   "path": "v1beta1/{+parent}/fhir",
25268	//   "request": {
25269	//     "$ref": "HttpBody"
25270	//   },
25271	//   "response": {
25272	//     "$ref": "HttpBody"
25273	//   },
25274	//   "scopes": [
25275	//     "https://www.googleapis.com/auth/cloud-platform"
25276	//   ]
25277	// }
25278
25279}
25280
25281// method id "healthcare.projects.locations.datasets.fhirStores.fhir.history":
25282
25283type ProjectsLocationsDatasetsFhirStoresFhirHistoryCall struct {
25284	s            *Service
25285	name         string
25286	urlParams_   gensupport.URLParams
25287	ifNoneMatch_ string
25288	ctx_         context.Context
25289	header_      http.Header
25290}
25291
25292// History: Lists all the versions of a resource (including the current
25293// version and deleted versions) from the FHIR store. Implements the
25294// per-resource form of the FHIR standard history interaction (DSTU2
25295// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#history),
25296// STU3
25297// (https://hl7.org/implement/standards/fhir/STU3/http.html#history), R4
25298// (https://hl7.org/implement/standards/fhir/R4/http.html#history)). On
25299// success, the response body contains a JSON-encoded representation of
25300// a `Bundle` resource of type `history`, containing the version history
25301// sorted from most recent to oldest versions. Errors generated by the
25302// FHIR store contain a JSON-encoded `OperationOutcome` resource
25303// describing the reason for the error. If the request cannot be mapped
25304// to a valid API method on a FHIR store, a generic GCP error might be
25305// returned instead. For samples that show how to call `history`, see
25306// Listing FHIR resource versions
25307// (/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_version
25308// s).
25309//
25310// - name: The name of the resource to retrieve.
25311func (r *ProjectsLocationsDatasetsFhirStoresFhirService) History(name string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25312	c := &ProjectsLocationsDatasetsFhirStoresFhirHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25313	c.name = name
25314	return c
25315}
25316
25317// At sets the optional parameter "_at": Only include resource versions
25318// that were current at some point during the time period specified in
25319// the date time value. The date parameter format is
25320// yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the
25321// following: * An entire year: `_at=2019` * An entire month:
25322// `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second:
25323// `_at=2018-12-31T23:59:58Z`
25324func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) At(At string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25325	c.urlParams_.Set("_at", At)
25326	return c
25327}
25328
25329// Count sets the optional parameter "_count": The maximum number of
25330// search results on a page. If not specified, 100 is used. May not be
25331// larger than 1000.
25332func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25333	c.urlParams_.Set("_count", fmt.Sprint(Count))
25334	return c
25335}
25336
25337// PageToken sets the optional parameter "_page_token": Used to retrieve
25338// the first, previous, next, or last page of resource versions when
25339// using pagination. Value should be set to the value of `_page_token`
25340// set in next or previous page links' URLs. Next and previous page are
25341// returned in the response bundle's links field, where `link.relation`
25342// is "previous" or "next". Omit `_page_token` if no previous request
25343// has been made.
25344func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25345	c.urlParams_.Set("_page_token", PageToken)
25346	return c
25347}
25348
25349// Since sets the optional parameter "_since": Only include resource
25350// versions that were created at or after the given instant in time. The
25351// instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for
25352// example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The
25353// time must be specified to the second and include a time zone.
25354func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25355	c.urlParams_.Set("_since", Since)
25356	return c
25357}
25358
25359// Fields allows partial responses to be retrieved. See
25360// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25361// for more information.
25362func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25363	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25364	return c
25365}
25366
25367// IfNoneMatch sets the optional parameter which makes the operation
25368// fail if the object's ETag matches the given value. This is useful for
25369// getting updates only after the object has changed since the last
25370// request. Use googleapi.IsNotModified to check whether the response
25371// error from Do is the result of In-None-Match.
25372func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25373	c.ifNoneMatch_ = entityTag
25374	return c
25375}
25376
25377// Context sets the context to be used in this call's Do method. Any
25378// pending HTTP request will be aborted if the provided context is
25379// canceled.
25380func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25381	c.ctx_ = ctx
25382	return c
25383}
25384
25385// Header returns an http.Header that can be modified by the caller to
25386// add HTTP headers to the request.
25387func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Header() http.Header {
25388	if c.header_ == nil {
25389		c.header_ = make(http.Header)
25390	}
25391	return c.header_
25392}
25393
25394func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
25395	reqHeaders := make(http.Header)
25396	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25397	for k, v := range c.header_ {
25398		reqHeaders[k] = v
25399	}
25400	reqHeaders.Set("User-Agent", c.s.userAgent())
25401	if c.ifNoneMatch_ != "" {
25402		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25403	}
25404	var body io.Reader = nil
25405	c.urlParams_.Set("alt", alt)
25406	c.urlParams_.Set("prettyPrint", "false")
25407	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/_history")
25408	urls += "?" + c.urlParams_.Encode()
25409	req, err := http.NewRequest("GET", urls, body)
25410	if err != nil {
25411		return nil, err
25412	}
25413	req.Header = reqHeaders
25414	googleapi.Expand(req.URL, map[string]string{
25415		"name": c.name,
25416	})
25417	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25418}
25419
25420// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.history" call.
25421func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25422	gensupport.SetOptions(c.urlParams_, opts...)
25423	return c.doRequest("")
25424	// {
25425	//   "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).",
25426	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history",
25427	//   "httpMethod": "GET",
25428	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history",
25429	//   "parameterOrder": [
25430	//     "name"
25431	//   ],
25432	//   "parameters": {
25433	//     "_at": {
25434	//       "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`",
25435	//       "location": "query",
25436	//       "type": "string"
25437	//     },
25438	//     "_count": {
25439	//       "description": "The maximum number of search results on a page. If not specified, 100 is used. May not be larger than 1000.",
25440	//       "format": "int32",
25441	//       "location": "query",
25442	//       "type": "integer"
25443	//     },
25444	//     "_page_token": {
25445	//       "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.",
25446	//       "location": "query",
25447	//       "type": "string"
25448	//     },
25449	//     "_since": {
25450	//       "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.",
25451	//       "location": "query",
25452	//       "type": "string"
25453	//     },
25454	//     "name": {
25455	//       "description": "The name of the resource to retrieve.",
25456	//       "location": "path",
25457	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25458	//       "required": true,
25459	//       "type": "string"
25460	//     }
25461	//   },
25462	//   "path": "v1beta1/{+name}/_history",
25463	//   "response": {
25464	//     "$ref": "HttpBody"
25465	//   },
25466	//   "scopes": [
25467	//     "https://www.googleapis.com/auth/cloud-platform"
25468	//   ]
25469	// }
25470
25471}
25472
25473// method id "healthcare.projects.locations.datasets.fhirStores.fhir.patch":
25474
25475type ProjectsLocationsDatasetsFhirStoresFhirPatchCall struct {
25476	s          *Service
25477	name       string
25478	body_      io.Reader
25479	urlParams_ gensupport.URLParams
25480	ctx_       context.Context
25481	header_    http.Header
25482}
25483
25484// Patch: Updates part of an existing resource by applying the
25485// operations specified in a JSON Patch (http://jsonpatch.com/)
25486// document. Implements the FHIR standard patch interaction (STU3
25487// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
25488// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
25489// doesn't define a patch method, but the server supports it in the same
25490// way it supports STU3. The request body must contain a JSON Patch
25491// document, and the request headers must contain `Content-Type:
25492// application/json-patch+json`. On success, the response body contains
25493// a JSON-encoded representation of the updated resource, including the
25494// server-assigned version ID. Errors generated by the FHIR store
25495// contain a JSON-encoded `OperationOutcome` resource describing the
25496// reason for the error. If the request cannot be mapped to a valid API
25497// method on a FHIR store, a generic GCP error might be returned
25498// instead. For samples that show how to call `patch`, see Patching a
25499// FHIR resource
25500// (/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).
25501//
25502// - name: The name of the resource to update.
25503func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Patch(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25504	c := &ProjectsLocationsDatasetsFhirStoresFhirPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25505	c.name = name
25506	c.body_ = body_
25507	return c
25508}
25509
25510// Fields allows partial responses to be retrieved. See
25511// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25512// for more information.
25513func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25514	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25515	return c
25516}
25517
25518// Context sets the context to be used in this call's Do method. Any
25519// pending HTTP request will be aborted if the provided context is
25520// canceled.
25521func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25522	c.ctx_ = ctx
25523	return c
25524}
25525
25526// Header returns an http.Header that can be modified by the caller to
25527// add HTTP headers to the request.
25528func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Header() http.Header {
25529	if c.header_ == nil {
25530		c.header_ = make(http.Header)
25531	}
25532	return c.header_
25533}
25534
25535func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
25536	reqHeaders := make(http.Header)
25537	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25538	for k, v := range c.header_ {
25539		reqHeaders[k] = v
25540	}
25541	reqHeaders.Set("User-Agent", c.s.userAgent())
25542	var body io.Reader = nil
25543	body = c.body_
25544	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25545	urls += "?" + c.urlParams_.Encode()
25546	req, err := http.NewRequest("PATCH", urls, body)
25547	if err != nil {
25548		return nil, err
25549	}
25550	req.Header = reqHeaders
25551	googleapi.Expand(req.URL, map[string]string{
25552		"name": c.name,
25553	})
25554	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25555}
25556
25557// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.patch" call.
25558func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25559	gensupport.SetOptions(c.urlParams_, opts...)
25560	return c.doRequest("")
25561	// {
25562	//   "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).",
25563	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25564	//   "httpMethod": "PATCH",
25565	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch",
25566	//   "parameterOrder": [
25567	//     "name"
25568	//   ],
25569	//   "parameters": {
25570	//     "name": {
25571	//       "description": "The name of the resource to update.",
25572	//       "location": "path",
25573	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25574	//       "required": true,
25575	//       "type": "string"
25576	//     }
25577	//   },
25578	//   "path": "v1beta1/{+name}",
25579	//   "request": {
25580	//     "$ref": "HttpBody"
25581	//   },
25582	//   "response": {
25583	//     "$ref": "HttpBody"
25584	//   },
25585	//   "scopes": [
25586	//     "https://www.googleapis.com/auth/cloud-platform"
25587	//   ]
25588	// }
25589
25590}
25591
25592// method id "healthcare.projects.locations.datasets.fhirStores.fhir.read":
25593
25594type ProjectsLocationsDatasetsFhirStoresFhirReadCall struct {
25595	s            *Service
25596	name         string
25597	urlParams_   gensupport.URLParams
25598	ifNoneMatch_ string
25599	ctx_         context.Context
25600	header_      http.Header
25601}
25602
25603// Read: Gets the contents of a FHIR resource. Implements the FHIR
25604// standard read interaction (DSTU2
25605// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), STU3
25606// (https://hl7.org/implement/standards/fhir/STU3/http.html#read), R4
25607// (https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also
25608// supports the FHIR standard conditional read interaction (DSTU2
25609// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),
25610// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#cread),
25611// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#cread))
25612// specified by supplying an `If-Modified-Since` header with a date/time
25613// value or an `If-None-Match` header with an ETag value. On success,
25614// the response body contains a JSON-encoded representation of the
25615// resource. Errors generated by the FHIR store contain a JSON-encoded
25616// `OperationOutcome` resource describing the reason for the error. If
25617// the request cannot be mapped to a valid API method on a FHIR store, a
25618// generic GCP error might be returned instead. For samples that show
25619// how to call `read`, see Getting a FHIR resource
25620// (/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).
25621//
25622// - name: The name of the resource to retrieve.
25623func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Read(name string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25624	c := &ProjectsLocationsDatasetsFhirStoresFhirReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25625	c.name = name
25626	return c
25627}
25628
25629// Fields allows partial responses to be retrieved. See
25630// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25631// for more information.
25632func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25633	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25634	return c
25635}
25636
25637// IfNoneMatch sets the optional parameter which makes the operation
25638// fail if the object's ETag matches the given value. This is useful for
25639// getting updates only after the object has changed since the last
25640// request. Use googleapi.IsNotModified to check whether the response
25641// error from Do is the result of In-None-Match.
25642func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25643	c.ifNoneMatch_ = entityTag
25644	return c
25645}
25646
25647// Context sets the context to be used in this call's Do method. Any
25648// pending HTTP request will be aborted if the provided context is
25649// canceled.
25650func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25651	c.ctx_ = ctx
25652	return c
25653}
25654
25655// Header returns an http.Header that can be modified by the caller to
25656// add HTTP headers to the request.
25657func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Header() http.Header {
25658	if c.header_ == nil {
25659		c.header_ = make(http.Header)
25660	}
25661	return c.header_
25662}
25663
25664func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
25665	reqHeaders := make(http.Header)
25666	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25667	for k, v := range c.header_ {
25668		reqHeaders[k] = v
25669	}
25670	reqHeaders.Set("User-Agent", c.s.userAgent())
25671	if c.ifNoneMatch_ != "" {
25672		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25673	}
25674	var body io.Reader = nil
25675	c.urlParams_.Set("alt", alt)
25676	c.urlParams_.Set("prettyPrint", "false")
25677	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25678	urls += "?" + c.urlParams_.Encode()
25679	req, err := http.NewRequest("GET", urls, body)
25680	if err != nil {
25681		return nil, err
25682	}
25683	req.Header = reqHeaders
25684	googleapi.Expand(req.URL, map[string]string{
25685		"name": c.name,
25686	})
25687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25688}
25689
25690// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.read" call.
25691func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25692	gensupport.SetOptions(c.urlParams_, opts...)
25693	return c.doRequest("")
25694	// {
25695	//   "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).",
25696	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25697	//   "httpMethod": "GET",
25698	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read",
25699	//   "parameterOrder": [
25700	//     "name"
25701	//   ],
25702	//   "parameters": {
25703	//     "name": {
25704	//       "description": "The name of the resource to retrieve.",
25705	//       "location": "path",
25706	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25707	//       "required": true,
25708	//       "type": "string"
25709	//     }
25710	//   },
25711	//   "path": "v1beta1/{+name}",
25712	//   "response": {
25713	//     "$ref": "HttpBody"
25714	//   },
25715	//   "scopes": [
25716	//     "https://www.googleapis.com/auth/cloud-platform"
25717	//   ]
25718	// }
25719
25720}
25721
25722// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search":
25723
25724type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct {
25725	s                      *Service
25726	parent                 string
25727	searchresourcesrequest *SearchResourcesRequest
25728	urlParams_             gensupport.URLParams
25729	ctx_                   context.Context
25730	header_                http.Header
25731}
25732
25733// Search: Searches for resources in the given FHIR store according to
25734// criteria specified as query parameters. Implements the FHIR standard
25735// search interaction (DSTU2
25736// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25737// STU3
25738// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25739// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25740// the search semantics described in the FHIR Search specification
25741// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25742// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25743// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25744// four methods of search defined by the specification: * `GET
25745// [base]?[parameters]` to search across all resources. * `GET
25746// [base]/[type]?[parameters]` to search resources of a specified type.
25747// * `POST [base]/_search?[parameters]` as an alternate form having the
25748// same semantics as the `GET` method across all resources. * `POST
25749// [base]/[type]/_search?[parameters]` as an alternate form having the
25750// same semantics as the `GET` method for the specified type. The `GET`
25751// and `POST` methods do not support compartment searches. The `POST`
25752// method does not support `application/x-www-form-urlencoded` search
25753// parameters. On success, the response body contains a JSON-encoded
25754// representation of a `Bundle` resource of type `searchset`, containing
25755// the results of the search. Errors generated by the FHIR store contain
25756// a JSON-encoded `OperationOutcome` resource describing the reason for
25757// the error. If the request cannot be mapped to a valid API method on a
25758// FHIR store, a generic GCP error might be returned instead. The
25759// server's capability statement, retrieved through capabilities,
25760// indicates what search parameters are supported on each FHIR resource.
25761// A list of all search parameters defined by the specification can be
25762// found in the FHIR Search Parameter Registry (STU3
25763// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25764// R4
25765// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25766// FHIR search parameters for DSTU2 can be found on each resource's
25767// definition page. Supported search modifiers: `:missing`, `:exact`,
25768// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25769// `:[type]`, `:not`, and `:recurse`. Supported search result
25770// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25771// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25772// of search results returned defaults to 100, which can be overridden
25773// by the `_count` parameter up to a maximum limit of 1000. If there are
25774// additional results, the returned `Bundle` contains pagination links.
25775// Resources with a total size larger than 5MB or a field count larger
25776// than 50,000 might not be fully searchable as the server might trim
25777// its generated search index in those cases. Note: FHIR resources are
25778// indexed asynchronously, so there might be a slight delay between the
25779// time a resource is created or changes and when the change is
25780// reflected in search results. For samples and detailed information,
25781// see Searching for FHIR resources
25782// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25783// features (/healthcare/docs/how-tos/fhir-advanced-search).
25784//
25785// - parent: Name of the FHIR store to retrieve resources from.
25786func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Search(parent string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25787	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25788	c.parent = parent
25789	c.searchresourcesrequest = searchresourcesrequest
25790	return c
25791}
25792
25793// Fields allows partial responses to be retrieved. See
25794// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25795// for more information.
25796func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25797	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25798	return c
25799}
25800
25801// Context sets the context to be used in this call's Do method. Any
25802// pending HTTP request will be aborted if the provided context is
25803// canceled.
25804func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
25805	c.ctx_ = ctx
25806	return c
25807}
25808
25809// Header returns an http.Header that can be modified by the caller to
25810// add HTTP headers to the request.
25811func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Header() http.Header {
25812	if c.header_ == nil {
25813		c.header_ = make(http.Header)
25814	}
25815	return c.header_
25816}
25817
25818func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
25819	reqHeaders := make(http.Header)
25820	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25821	for k, v := range c.header_ {
25822		reqHeaders[k] = v
25823	}
25824	reqHeaders.Set("User-Agent", c.s.userAgent())
25825	var body io.Reader = nil
25826	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25827	if err != nil {
25828		return nil, err
25829	}
25830	reqHeaders.Set("Content-Type", "application/json")
25831	c.urlParams_.Set("alt", alt)
25832	c.urlParams_.Set("prettyPrint", "false")
25833	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/_search")
25834	urls += "?" + c.urlParams_.Encode()
25835	req, err := http.NewRequest("POST", urls, body)
25836	if err != nil {
25837		return nil, err
25838	}
25839	req.Header = reqHeaders
25840	googleapi.Expand(req.URL, map[string]string{
25841		"parent": c.parent,
25842	})
25843	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25844}
25845
25846// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search" call.
25847func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25848	gensupport.SetOptions(c.urlParams_, opts...)
25849	return c.doRequest("")
25850	// {
25851	//   "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).",
25852	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
25853	//   "httpMethod": "POST",
25854	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
25855	//   "parameterOrder": [
25856	//     "parent"
25857	//   ],
25858	//   "parameters": {
25859	//     "parent": {
25860	//       "description": "Name of the FHIR store to retrieve resources from.",
25861	//       "location": "path",
25862	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25863	//       "required": true,
25864	//       "type": "string"
25865	//     }
25866	//   },
25867	//   "path": "v1beta1/{+parent}/fhir/_search",
25868	//   "request": {
25869	//     "$ref": "SearchResourcesRequest"
25870	//   },
25871	//   "response": {
25872	//     "$ref": "HttpBody"
25873	//   },
25874	//   "scopes": [
25875	//     "https://www.googleapis.com/auth/cloud-platform"
25876	//   ]
25877	// }
25878
25879}
25880
25881// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search-type":
25882
25883type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct {
25884	s                      *Service
25885	parent                 string
25886	resourceType           string
25887	searchresourcesrequest *SearchResourcesRequest
25888	urlParams_             gensupport.URLParams
25889	ctx_                   context.Context
25890	header_                http.Header
25891}
25892
25893// SearchType: Searches for resources in the given FHIR store according
25894// to criteria specified as query parameters. Implements the FHIR
25895// standard search interaction (DSTU2
25896// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
25897// STU3
25898// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
25899// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
25900// the search semantics described in the FHIR Search specification
25901// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
25902// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
25903// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
25904// four methods of search defined by the specification: * `GET
25905// [base]?[parameters]` to search across all resources. * `GET
25906// [base]/[type]?[parameters]` to search resources of a specified type.
25907// * `POST [base]/_search?[parameters]` as an alternate form having the
25908// same semantics as the `GET` method across all resources. * `POST
25909// [base]/[type]/_search?[parameters]` as an alternate form having the
25910// same semantics as the `GET` method for the specified type. The `GET`
25911// and `POST` methods do not support compartment searches. The `POST`
25912// method does not support `application/x-www-form-urlencoded` search
25913// parameters. On success, the response body contains a JSON-encoded
25914// representation of a `Bundle` resource of type `searchset`, containing
25915// the results of the search. Errors generated by the FHIR store contain
25916// a JSON-encoded `OperationOutcome` resource describing the reason for
25917// the error. If the request cannot be mapped to a valid API method on a
25918// FHIR store, a generic GCP error might be returned instead. The
25919// server's capability statement, retrieved through capabilities,
25920// indicates what search parameters are supported on each FHIR resource.
25921// A list of all search parameters defined by the specification can be
25922// found in the FHIR Search Parameter Registry (STU3
25923// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
25924// R4
25925// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
25926// FHIR search parameters for DSTU2 can be found on each resource's
25927// definition page. Supported search modifiers: `:missing`, `:exact`,
25928// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
25929// `:[type]`, `:not`, and `:recurse`. Supported search result
25930// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
25931// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
25932// of search results returned defaults to 100, which can be overridden
25933// by the `_count` parameter up to a maximum limit of 1000. If there are
25934// additional results, the returned `Bundle` contains pagination links.
25935// Resources with a total size larger than 5MB or a field count larger
25936// than 50,000 might not be fully searchable as the server might trim
25937// its generated search index in those cases. Note: FHIR resources are
25938// indexed asynchronously, so there might be a slight delay between the
25939// time a resource is created or changes and when the change is
25940// reflected in search results. For samples and detailed information,
25941// see Searching for FHIR resources
25942// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
25943// features (/healthcare/docs/how-tos/fhir-advanced-search).
25944//
25945// - parent: Name of the FHIR store to retrieve resources from.
25946// - resourceType: The FHIR resource type to search, such as Patient or
25947//   Observation. For a complete list, see the FHIR Resource Index
25948//   (DSTU2
25949//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
25950//   STU3
25951//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
25952//   R4
25953//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
25954func (r *ProjectsLocationsDatasetsFhirStoresFhirService) SearchType(parent string, resourceType string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25955	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25956	c.parent = parent
25957	c.resourceType = resourceType
25958	c.searchresourcesrequest = searchresourcesrequest
25959	return c
25960}
25961
25962// Fields allows partial responses to be retrieved. See
25963// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25964// for more information.
25965func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25966	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25967	return c
25968}
25969
25970// Context sets the context to be used in this call's Do method. Any
25971// pending HTTP request will be aborted if the provided context is
25972// canceled.
25973func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
25974	c.ctx_ = ctx
25975	return c
25976}
25977
25978// Header returns an http.Header that can be modified by the caller to
25979// add HTTP headers to the request.
25980func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Header() http.Header {
25981	if c.header_ == nil {
25982		c.header_ = make(http.Header)
25983	}
25984	return c.header_
25985}
25986
25987func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) doRequest(alt string) (*http.Response, error) {
25988	reqHeaders := make(http.Header)
25989	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25990	for k, v := range c.header_ {
25991		reqHeaders[k] = v
25992	}
25993	reqHeaders.Set("User-Agent", c.s.userAgent())
25994	var body io.Reader = nil
25995	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
25996	if err != nil {
25997		return nil, err
25998	}
25999	reqHeaders.Set("Content-Type", "application/json")
26000	c.urlParams_.Set("alt", alt)
26001	c.urlParams_.Set("prettyPrint", "false")
26002	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{resourceType}/_search")
26003	urls += "?" + c.urlParams_.Encode()
26004	req, err := http.NewRequest("POST", urls, body)
26005	if err != nil {
26006		return nil, err
26007	}
26008	req.Header = reqHeaders
26009	googleapi.Expand(req.URL, map[string]string{
26010		"parent":       c.parent,
26011		"resourceType": c.resourceType,
26012	})
26013	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26014}
26015
26016// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search-type" call.
26017func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26018	gensupport.SetOptions(c.urlParams_, opts...)
26019	return c.doRequest("")
26020	// {
26021	//   "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).",
26022	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
26023	//   "httpMethod": "POST",
26024	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
26025	//   "parameterOrder": [
26026	//     "parent",
26027	//     "resourceType"
26028	//   ],
26029	//   "parameters": {
26030	//     "parent": {
26031	//       "description": "Name of the FHIR store to retrieve resources from.",
26032	//       "location": "path",
26033	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
26034	//       "required": true,
26035	//       "type": "string"
26036	//     },
26037	//     "resourceType": {
26038	//       "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)).",
26039	//       "location": "path",
26040	//       "required": true,
26041	//       "type": "string"
26042	//     }
26043	//   },
26044	//   "path": "v1beta1/{+parent}/fhir/{resourceType}/_search",
26045	//   "request": {
26046	//     "$ref": "SearchResourcesRequest"
26047	//   },
26048	//   "response": {
26049	//     "$ref": "HttpBody"
26050	//   },
26051	//   "scopes": [
26052	//     "https://www.googleapis.com/auth/cloud-platform"
26053	//   ]
26054	// }
26055
26056}
26057
26058// method id "healthcare.projects.locations.datasets.fhirStores.fhir.update":
26059
26060type ProjectsLocationsDatasetsFhirStoresFhirUpdateCall struct {
26061	s          *Service
26062	name       string
26063	body_      io.Reader
26064	urlParams_ gensupport.URLParams
26065	ctx_       context.Context
26066	header_    http.Header
26067}
26068
26069// Update: Updates the entire contents of a resource. Implements the
26070// FHIR standard update interaction (DSTU2
26071// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#update),
26072// STU3
26073// (https://hl7.org/implement/standards/fhir/STU3/http.html#update), R4
26074// (https://hl7.org/implement/standards/fhir/R4/http.html#update)). If
26075// the specified resource does not exist and the FHIR store has
26076// enable_update_create set, creates the resource with the
26077// client-specified ID. It is strongly advised not to include or encode
26078// any sensitive data such as patient identifiers in client-specified
26079// resource IDs. Those IDs are part of the FHIR resource path recorded
26080// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
26081// contained in reference fields within other resources. The request
26082// body must contain a JSON-encoded FHIR resource, and the request
26083// headers must contain `Content-Type: application/fhir+json`. The
26084// resource must contain an `id` element having an identical value to
26085// the ID in the REST path of the request. On success, the response body
26086// contains a JSON-encoded representation of the updated resource,
26087// including the server-assigned version ID. Errors generated by the
26088// FHIR store contain a JSON-encoded `OperationOutcome` resource
26089// describing the reason for the error. If the request cannot be mapped
26090// to a valid API method on a FHIR store, a generic GCP error might be
26091// returned instead. For samples that show how to call `update`, see
26092// Updating a FHIR resource
26093// (/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).
26094//
26095// - name: The name of the resource to update.
26096func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Update(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26097	c := &ProjectsLocationsDatasetsFhirStoresFhirUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26098	c.name = name
26099	c.body_ = body_
26100	return c
26101}
26102
26103// Fields allows partial responses to be retrieved. See
26104// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26105// for more information.
26106func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26107	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26108	return c
26109}
26110
26111// Context sets the context to be used in this call's Do method. Any
26112// pending HTTP request will be aborted if the provided context is
26113// canceled.
26114func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26115	c.ctx_ = ctx
26116	return c
26117}
26118
26119// Header returns an http.Header that can be modified by the caller to
26120// add HTTP headers to the request.
26121func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Header() http.Header {
26122	if c.header_ == nil {
26123		c.header_ = make(http.Header)
26124	}
26125	return c.header_
26126}
26127
26128func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
26129	reqHeaders := make(http.Header)
26130	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26131	for k, v := range c.header_ {
26132		reqHeaders[k] = v
26133	}
26134	reqHeaders.Set("User-Agent", c.s.userAgent())
26135	var body io.Reader = nil
26136	body = c.body_
26137	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26138	urls += "?" + c.urlParams_.Encode()
26139	req, err := http.NewRequest("PUT", urls, body)
26140	if err != nil {
26141		return nil, err
26142	}
26143	req.Header = reqHeaders
26144	googleapi.Expand(req.URL, map[string]string{
26145		"name": c.name,
26146	})
26147	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26148}
26149
26150// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.update" call.
26151func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26152	gensupport.SetOptions(c.urlParams_, opts...)
26153	return c.doRequest("")
26154	// {
26155	//   "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).",
26156	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
26157	//   "httpMethod": "PUT",
26158	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update",
26159	//   "parameterOrder": [
26160	//     "name"
26161	//   ],
26162	//   "parameters": {
26163	//     "name": {
26164	//       "description": "The name of the resource to update.",
26165	//       "location": "path",
26166	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
26167	//       "required": true,
26168	//       "type": "string"
26169	//     }
26170	//   },
26171	//   "path": "v1beta1/{+name}",
26172	//   "request": {
26173	//     "$ref": "HttpBody"
26174	//   },
26175	//   "response": {
26176	//     "$ref": "HttpBody"
26177	//   },
26178	//   "scopes": [
26179	//     "https://www.googleapis.com/auth/cloud-platform"
26180	//   ]
26181	// }
26182
26183}
26184
26185// method id "healthcare.projects.locations.datasets.fhirStores.fhir.vread":
26186
26187type ProjectsLocationsDatasetsFhirStoresFhirVreadCall struct {
26188	s            *Service
26189	name         string
26190	urlParams_   gensupport.URLParams
26191	ifNoneMatch_ string
26192	ctx_         context.Context
26193	header_      http.Header
26194}
26195
26196// Vread: Gets the contents of a version (current or historical) of a
26197// FHIR resource by version ID. Implements the FHIR standard vread
26198// interaction (DSTU2
26199// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),
26200// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#vread),
26201// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On
26202// success, the response body contains a JSON-encoded representation of
26203// the resource. Errors generated by the FHIR store contain a
26204// JSON-encoded `OperationOutcome` resource describing the reason for
26205// the error. If the request cannot be mapped to a valid API method on a
26206// FHIR store, a generic GCP error might be returned instead. For
26207// samples that show how to call `vread`, see Retrieving a FHIR resource
26208// version
26209// (/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_ve
26210// rsion).
26211//
26212// - name: The name of the resource version to retrieve.
26213func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Vread(name string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26214	c := &ProjectsLocationsDatasetsFhirStoresFhirVreadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26215	c.name = name
26216	return c
26217}
26218
26219// Fields allows partial responses to be retrieved. See
26220// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26221// for more information.
26222func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26223	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26224	return c
26225}
26226
26227// IfNoneMatch sets the optional parameter which makes the operation
26228// fail if the object's ETag matches the given value. This is useful for
26229// getting updates only after the object has changed since the last
26230// request. Use googleapi.IsNotModified to check whether the response
26231// error from Do is the result of In-None-Match.
26232func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26233	c.ifNoneMatch_ = entityTag
26234	return c
26235}
26236
26237// Context sets the context to be used in this call's Do method. Any
26238// pending HTTP request will be aborted if the provided context is
26239// canceled.
26240func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26241	c.ctx_ = ctx
26242	return c
26243}
26244
26245// Header returns an http.Header that can be modified by the caller to
26246// add HTTP headers to the request.
26247func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Header() http.Header {
26248	if c.header_ == nil {
26249		c.header_ = make(http.Header)
26250	}
26251	return c.header_
26252}
26253
26254func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
26255	reqHeaders := make(http.Header)
26256	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26257	for k, v := range c.header_ {
26258		reqHeaders[k] = v
26259	}
26260	reqHeaders.Set("User-Agent", c.s.userAgent())
26261	if c.ifNoneMatch_ != "" {
26262		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26263	}
26264	var body io.Reader = nil
26265	c.urlParams_.Set("alt", alt)
26266	c.urlParams_.Set("prettyPrint", "false")
26267	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26268	urls += "?" + c.urlParams_.Encode()
26269	req, err := http.NewRequest("GET", urls, body)
26270	if err != nil {
26271		return nil, err
26272	}
26273	req.Header = reqHeaders
26274	googleapi.Expand(req.URL, map[string]string{
26275		"name": c.name,
26276	})
26277	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26278}
26279
26280// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.vread" call.
26281func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26282	gensupport.SetOptions(c.urlParams_, opts...)
26283	return c.doRequest("")
26284	// {
26285	//   "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).",
26286	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}",
26287	//   "httpMethod": "GET",
26288	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread",
26289	//   "parameterOrder": [
26290	//     "name"
26291	//   ],
26292	//   "parameters": {
26293	//     "name": {
26294	//       "description": "The name of the resource version to retrieve.",
26295	//       "location": "path",
26296	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$",
26297	//       "required": true,
26298	//       "type": "string"
26299	//     }
26300	//   },
26301	//   "path": "v1beta1/{+name}",
26302	//   "response": {
26303	//     "$ref": "HttpBody"
26304	//   },
26305	//   "scopes": [
26306	//     "https://www.googleapis.com/auth/cloud-platform"
26307	//   ]
26308	// }
26309
26310}
26311
26312// method id "healthcare.projects.locations.datasets.hl7V2Stores.create":
26313
26314type ProjectsLocationsDatasetsHl7V2StoresCreateCall struct {
26315	s          *Service
26316	parent     string
26317	hl7v2store *Hl7V2Store
26318	urlParams_ gensupport.URLParams
26319	ctx_       context.Context
26320	header_    http.Header
26321}
26322
26323// Create: Creates a new HL7v2 store within the parent dataset.
26324//
26325// - parent: The name of the dataset this HL7v2 store belongs to.
26326func (r *ProjectsLocationsDatasetsHl7V2StoresService) Create(parent string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26327	c := &ProjectsLocationsDatasetsHl7V2StoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26328	c.parent = parent
26329	c.hl7v2store = hl7v2store
26330	return c
26331}
26332
26333// Hl7V2StoreId sets the optional parameter "hl7V2StoreId": The ID of
26334// the HL7v2 store that is being created. The string must match the
26335// following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
26336func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Hl7V2StoreId(hl7V2StoreId string) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26337	c.urlParams_.Set("hl7V2StoreId", hl7V2StoreId)
26338	return c
26339}
26340
26341// Fields allows partial responses to be retrieved. See
26342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26343// for more information.
26344func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26346	return c
26347}
26348
26349// Context sets the context to be used in this call's Do method. Any
26350// pending HTTP request will be aborted if the provided context is
26351// canceled.
26352func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26353	c.ctx_ = ctx
26354	return c
26355}
26356
26357// Header returns an http.Header that can be modified by the caller to
26358// add HTTP headers to the request.
26359func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Header() http.Header {
26360	if c.header_ == nil {
26361		c.header_ = make(http.Header)
26362	}
26363	return c.header_
26364}
26365
26366func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
26367	reqHeaders := make(http.Header)
26368	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26369	for k, v := range c.header_ {
26370		reqHeaders[k] = v
26371	}
26372	reqHeaders.Set("User-Agent", c.s.userAgent())
26373	var body io.Reader = nil
26374	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
26375	if err != nil {
26376		return nil, err
26377	}
26378	reqHeaders.Set("Content-Type", "application/json")
26379	c.urlParams_.Set("alt", alt)
26380	c.urlParams_.Set("prettyPrint", "false")
26381	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
26382	urls += "?" + c.urlParams_.Encode()
26383	req, err := http.NewRequest("POST", urls, body)
26384	if err != nil {
26385		return nil, err
26386	}
26387	req.Header = reqHeaders
26388	googleapi.Expand(req.URL, map[string]string{
26389		"parent": c.parent,
26390	})
26391	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26392}
26393
26394// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.create" call.
26395// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26396// status code is an error. Response headers are in either
26397// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26398// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26399// to check whether the returned error was because
26400// http.StatusNotModified was returned.
26401func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26402	gensupport.SetOptions(c.urlParams_, opts...)
26403	res, err := c.doRequest("json")
26404	if res != nil && res.StatusCode == http.StatusNotModified {
26405		if res.Body != nil {
26406			res.Body.Close()
26407		}
26408		return nil, &googleapi.Error{
26409			Code:   res.StatusCode,
26410			Header: res.Header,
26411		}
26412	}
26413	if err != nil {
26414		return nil, err
26415	}
26416	defer googleapi.CloseBody(res)
26417	if err := googleapi.CheckResponse(res); err != nil {
26418		return nil, err
26419	}
26420	ret := &Hl7V2Store{
26421		ServerResponse: googleapi.ServerResponse{
26422			Header:         res.Header,
26423			HTTPStatusCode: res.StatusCode,
26424		},
26425	}
26426	target := &ret
26427	if err := gensupport.DecodeResponse(target, res); err != nil {
26428		return nil, err
26429	}
26430	return ret, nil
26431	// {
26432	//   "description": "Creates a new HL7v2 store within the parent dataset.",
26433	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
26434	//   "httpMethod": "POST",
26435	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.create",
26436	//   "parameterOrder": [
26437	//     "parent"
26438	//   ],
26439	//   "parameters": {
26440	//     "hl7V2StoreId": {
26441	//       "description": "The ID of the HL7v2 store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
26442	//       "location": "query",
26443	//       "type": "string"
26444	//     },
26445	//     "parent": {
26446	//       "description": "The name of the dataset this HL7v2 store belongs to.",
26447	//       "location": "path",
26448	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
26449	//       "required": true,
26450	//       "type": "string"
26451	//     }
26452	//   },
26453	//   "path": "v1beta1/{+parent}/hl7V2Stores",
26454	//   "request": {
26455	//     "$ref": "Hl7V2Store"
26456	//   },
26457	//   "response": {
26458	//     "$ref": "Hl7V2Store"
26459	//   },
26460	//   "scopes": [
26461	//     "https://www.googleapis.com/auth/cloud-platform"
26462	//   ]
26463	// }
26464
26465}
26466
26467// method id "healthcare.projects.locations.datasets.hl7V2Stores.delete":
26468
26469type ProjectsLocationsDatasetsHl7V2StoresDeleteCall struct {
26470	s          *Service
26471	name       string
26472	urlParams_ gensupport.URLParams
26473	ctx_       context.Context
26474	header_    http.Header
26475}
26476
26477// Delete: Deletes the specified HL7v2 store and removes all messages
26478// that it contains.
26479//
26480// - name: The resource name of the HL7v2 store to delete.
26481func (r *ProjectsLocationsDatasetsHl7V2StoresService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26482	c := &ProjectsLocationsDatasetsHl7V2StoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26483	c.name = name
26484	return c
26485}
26486
26487// Fields allows partial responses to be retrieved. See
26488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26489// for more information.
26490func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26492	return c
26493}
26494
26495// Context sets the context to be used in this call's Do method. Any
26496// pending HTTP request will be aborted if the provided context is
26497// canceled.
26498func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26499	c.ctx_ = ctx
26500	return c
26501}
26502
26503// Header returns an http.Header that can be modified by the caller to
26504// add HTTP headers to the request.
26505func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Header() http.Header {
26506	if c.header_ == nil {
26507		c.header_ = make(http.Header)
26508	}
26509	return c.header_
26510}
26511
26512func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
26513	reqHeaders := make(http.Header)
26514	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26515	for k, v := range c.header_ {
26516		reqHeaders[k] = v
26517	}
26518	reqHeaders.Set("User-Agent", c.s.userAgent())
26519	var body io.Reader = nil
26520	c.urlParams_.Set("alt", alt)
26521	c.urlParams_.Set("prettyPrint", "false")
26522	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26523	urls += "?" + c.urlParams_.Encode()
26524	req, err := http.NewRequest("DELETE", urls, body)
26525	if err != nil {
26526		return nil, err
26527	}
26528	req.Header = reqHeaders
26529	googleapi.Expand(req.URL, map[string]string{
26530		"name": c.name,
26531	})
26532	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26533}
26534
26535// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.delete" call.
26536// Exactly one of *Empty or error will be non-nil. Any non-2xx status
26537// code is an error. Response headers are in either
26538// *Empty.ServerResponse.Header or (if a response was returned at all)
26539// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
26540// check whether the returned error was because http.StatusNotModified
26541// was returned.
26542func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
26543	gensupport.SetOptions(c.urlParams_, opts...)
26544	res, err := c.doRequest("json")
26545	if res != nil && res.StatusCode == http.StatusNotModified {
26546		if res.Body != nil {
26547			res.Body.Close()
26548		}
26549		return nil, &googleapi.Error{
26550			Code:   res.StatusCode,
26551			Header: res.Header,
26552		}
26553	}
26554	if err != nil {
26555		return nil, err
26556	}
26557	defer googleapi.CloseBody(res)
26558	if err := googleapi.CheckResponse(res); err != nil {
26559		return nil, err
26560	}
26561	ret := &Empty{
26562		ServerResponse: googleapi.ServerResponse{
26563			Header:         res.Header,
26564			HTTPStatusCode: res.StatusCode,
26565		},
26566	}
26567	target := &ret
26568	if err := gensupport.DecodeResponse(target, res); err != nil {
26569		return nil, err
26570	}
26571	return ret, nil
26572	// {
26573	//   "description": "Deletes the specified HL7v2 store and removes all messages that it contains.",
26574	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26575	//   "httpMethod": "DELETE",
26576	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete",
26577	//   "parameterOrder": [
26578	//     "name"
26579	//   ],
26580	//   "parameters": {
26581	//     "name": {
26582	//       "description": "The resource name of the HL7v2 store to delete.",
26583	//       "location": "path",
26584	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26585	//       "required": true,
26586	//       "type": "string"
26587	//     }
26588	//   },
26589	//   "path": "v1beta1/{+name}",
26590	//   "response": {
26591	//     "$ref": "Empty"
26592	//   },
26593	//   "scopes": [
26594	//     "https://www.googleapis.com/auth/cloud-platform"
26595	//   ]
26596	// }
26597
26598}
26599
26600// method id "healthcare.projects.locations.datasets.hl7V2Stores.export":
26601
26602type ProjectsLocationsDatasetsHl7V2StoresExportCall struct {
26603	s                     *Service
26604	name                  string
26605	exportmessagesrequest *ExportMessagesRequest
26606	urlParams_            gensupport.URLParams
26607	ctx_                  context.Context
26608	header_               http.Header
26609}
26610
26611// Export: Exports the messages to a destination. To filter messages to
26612// be exported, define a filter using the start and end time, relative
26613// to the message generation time (MSH.7). This API returns an Operation
26614// that can be used to track the status of the job by calling
26615// GetOperation. Immediate fatal errors appear in the error field.
26616// Otherwise, when the operation finishes, a detailed response of type
26617// ExportMessagesResponse is returned in the response field. The
26618// metadata field type for this operation is OperationMetadata.
26619//
26620// - name: The name of the source HL7v2 store, in the format
26621//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
26622//   /hl7v2Stores/{hl7v2_store_id}`.
26623func (r *ProjectsLocationsDatasetsHl7V2StoresService) Export(name string, exportmessagesrequest *ExportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26624	c := &ProjectsLocationsDatasetsHl7V2StoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26625	c.name = name
26626	c.exportmessagesrequest = exportmessagesrequest
26627	return c
26628}
26629
26630// Fields allows partial responses to be retrieved. See
26631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26632// for more information.
26633func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26634	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26635	return c
26636}
26637
26638// Context sets the context to be used in this call's Do method. Any
26639// pending HTTP request will be aborted if the provided context is
26640// canceled.
26641func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26642	c.ctx_ = ctx
26643	return c
26644}
26645
26646// Header returns an http.Header that can be modified by the caller to
26647// add HTTP headers to the request.
26648func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Header() http.Header {
26649	if c.header_ == nil {
26650		c.header_ = make(http.Header)
26651	}
26652	return c.header_
26653}
26654
26655func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) doRequest(alt string) (*http.Response, error) {
26656	reqHeaders := make(http.Header)
26657	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26658	for k, v := range c.header_ {
26659		reqHeaders[k] = v
26660	}
26661	reqHeaders.Set("User-Agent", c.s.userAgent())
26662	var body io.Reader = nil
26663	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportmessagesrequest)
26664	if err != nil {
26665		return nil, err
26666	}
26667	reqHeaders.Set("Content-Type", "application/json")
26668	c.urlParams_.Set("alt", alt)
26669	c.urlParams_.Set("prettyPrint", "false")
26670	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
26671	urls += "?" + c.urlParams_.Encode()
26672	req, err := http.NewRequest("POST", urls, body)
26673	if err != nil {
26674		return nil, err
26675	}
26676	req.Header = reqHeaders
26677	googleapi.Expand(req.URL, map[string]string{
26678		"name": c.name,
26679	})
26680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26681}
26682
26683// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.export" call.
26684// Exactly one of *Operation or error will be non-nil. Any non-2xx
26685// status code is an error. Response headers are in either
26686// *Operation.ServerResponse.Header or (if a response was returned at
26687// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26688// to check whether the returned error was because
26689// http.StatusNotModified was returned.
26690func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
26691	gensupport.SetOptions(c.urlParams_, opts...)
26692	res, err := c.doRequest("json")
26693	if res != nil && res.StatusCode == http.StatusNotModified {
26694		if res.Body != nil {
26695			res.Body.Close()
26696		}
26697		return nil, &googleapi.Error{
26698			Code:   res.StatusCode,
26699			Header: res.Header,
26700		}
26701	}
26702	if err != nil {
26703		return nil, err
26704	}
26705	defer googleapi.CloseBody(res)
26706	if err := googleapi.CheckResponse(res); err != nil {
26707		return nil, err
26708	}
26709	ret := &Operation{
26710		ServerResponse: googleapi.ServerResponse{
26711			Header:         res.Header,
26712			HTTPStatusCode: res.StatusCode,
26713		},
26714	}
26715	target := &ret
26716	if err := gensupport.DecodeResponse(target, res); err != nil {
26717		return nil, err
26718	}
26719	return ret, nil
26720	// {
26721	//   "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.",
26722	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export",
26723	//   "httpMethod": "POST",
26724	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.export",
26725	//   "parameterOrder": [
26726	//     "name"
26727	//   ],
26728	//   "parameters": {
26729	//     "name": {
26730	//       "description": "The name of the source HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
26731	//       "location": "path",
26732	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26733	//       "required": true,
26734	//       "type": "string"
26735	//     }
26736	//   },
26737	//   "path": "v1beta1/{+name}:export",
26738	//   "request": {
26739	//     "$ref": "ExportMessagesRequest"
26740	//   },
26741	//   "response": {
26742	//     "$ref": "Operation"
26743	//   },
26744	//   "scopes": [
26745	//     "https://www.googleapis.com/auth/cloud-platform"
26746	//   ]
26747	// }
26748
26749}
26750
26751// method id "healthcare.projects.locations.datasets.hl7V2Stores.get":
26752
26753type ProjectsLocationsDatasetsHl7V2StoresGetCall struct {
26754	s            *Service
26755	name         string
26756	urlParams_   gensupport.URLParams
26757	ifNoneMatch_ string
26758	ctx_         context.Context
26759	header_      http.Header
26760}
26761
26762// Get: Gets the specified HL7v2 store.
26763//
26764// - name: The resource name of the HL7v2 store to get.
26765func (r *ProjectsLocationsDatasetsHl7V2StoresService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26766	c := &ProjectsLocationsDatasetsHl7V2StoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26767	c.name = name
26768	return c
26769}
26770
26771// Fields allows partial responses to be retrieved. See
26772// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26773// for more information.
26774func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26775	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26776	return c
26777}
26778
26779// IfNoneMatch sets the optional parameter which makes the operation
26780// fail if the object's ETag matches the given value. This is useful for
26781// getting updates only after the object has changed since the last
26782// request. Use googleapi.IsNotModified to check whether the response
26783// error from Do is the result of In-None-Match.
26784func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26785	c.ifNoneMatch_ = entityTag
26786	return c
26787}
26788
26789// Context sets the context to be used in this call's Do method. Any
26790// pending HTTP request will be aborted if the provided context is
26791// canceled.
26792func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
26793	c.ctx_ = ctx
26794	return c
26795}
26796
26797// Header returns an http.Header that can be modified by the caller to
26798// add HTTP headers to the request.
26799func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Header() http.Header {
26800	if c.header_ == nil {
26801		c.header_ = make(http.Header)
26802	}
26803	return c.header_
26804}
26805
26806func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
26807	reqHeaders := make(http.Header)
26808	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26809	for k, v := range c.header_ {
26810		reqHeaders[k] = v
26811	}
26812	reqHeaders.Set("User-Agent", c.s.userAgent())
26813	if c.ifNoneMatch_ != "" {
26814		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26815	}
26816	var body io.Reader = nil
26817	c.urlParams_.Set("alt", alt)
26818	c.urlParams_.Set("prettyPrint", "false")
26819	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26820	urls += "?" + c.urlParams_.Encode()
26821	req, err := http.NewRequest("GET", urls, body)
26822	if err != nil {
26823		return nil, err
26824	}
26825	req.Header = reqHeaders
26826	googleapi.Expand(req.URL, map[string]string{
26827		"name": c.name,
26828	})
26829	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26830}
26831
26832// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.get" call.
26833// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26834// status code is an error. Response headers are in either
26835// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26836// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26837// to check whether the returned error was because
26838// http.StatusNotModified was returned.
26839func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26840	gensupport.SetOptions(c.urlParams_, opts...)
26841	res, err := c.doRequest("json")
26842	if res != nil && res.StatusCode == http.StatusNotModified {
26843		if res.Body != nil {
26844			res.Body.Close()
26845		}
26846		return nil, &googleapi.Error{
26847			Code:   res.StatusCode,
26848			Header: res.Header,
26849		}
26850	}
26851	if err != nil {
26852		return nil, err
26853	}
26854	defer googleapi.CloseBody(res)
26855	if err := googleapi.CheckResponse(res); err != nil {
26856		return nil, err
26857	}
26858	ret := &Hl7V2Store{
26859		ServerResponse: googleapi.ServerResponse{
26860			Header:         res.Header,
26861			HTTPStatusCode: res.StatusCode,
26862		},
26863	}
26864	target := &ret
26865	if err := gensupport.DecodeResponse(target, res); err != nil {
26866		return nil, err
26867	}
26868	return ret, nil
26869	// {
26870	//   "description": "Gets the specified HL7v2 store.",
26871	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26872	//   "httpMethod": "GET",
26873	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.get",
26874	//   "parameterOrder": [
26875	//     "name"
26876	//   ],
26877	//   "parameters": {
26878	//     "name": {
26879	//       "description": "The resource name of the HL7v2 store to get.",
26880	//       "location": "path",
26881	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26882	//       "required": true,
26883	//       "type": "string"
26884	//     }
26885	//   },
26886	//   "path": "v1beta1/{+name}",
26887	//   "response": {
26888	//     "$ref": "Hl7V2Store"
26889	//   },
26890	//   "scopes": [
26891	//     "https://www.googleapis.com/auth/cloud-platform"
26892	//   ]
26893	// }
26894
26895}
26896
26897// method id "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy":
26898
26899type ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall struct {
26900	s            *Service
26901	resource     string
26902	urlParams_   gensupport.URLParams
26903	ifNoneMatch_ string
26904	ctx_         context.Context
26905	header_      http.Header
26906}
26907
26908// GetIamPolicy: Gets the access control policy for a resource. Returns
26909// an empty policy if the resource exists and does not have a policy
26910// set.
26911//
26912// - resource: REQUIRED: The resource for which the policy is being
26913//   requested. See the operation documentation for the appropriate
26914//   value for this field.
26915func (r *ProjectsLocationsDatasetsHl7V2StoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26916	c := &ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26917	c.resource = resource
26918	return c
26919}
26920
26921// OptionsRequestedPolicyVersion sets the optional parameter
26922// "options.requestedPolicyVersion": The policy format version to be
26923// returned. Valid values are 0, 1, and 3. Requests specifying an
26924// invalid value will be rejected. Requests for policies with any
26925// conditional bindings must specify version 3. Policies without any
26926// conditional bindings may specify any valid value or leave the field
26927// unset. To learn which resources support conditions in their IAM
26928// policies, see the IAM documentation
26929// (https://cloud.google.com/iam/help/conditions/resource-policies).
26930func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26931	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
26932	return c
26933}
26934
26935// Fields allows partial responses to be retrieved. See
26936// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26937// for more information.
26938func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26939	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26940	return c
26941}
26942
26943// IfNoneMatch sets the optional parameter which makes the operation
26944// fail if the object's ETag matches the given value. This is useful for
26945// getting updates only after the object has changed since the last
26946// request. Use googleapi.IsNotModified to check whether the response
26947// error from Do is the result of In-None-Match.
26948func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26949	c.ifNoneMatch_ = entityTag
26950	return c
26951}
26952
26953// Context sets the context to be used in this call's Do method. Any
26954// pending HTTP request will be aborted if the provided context is
26955// canceled.
26956func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
26957	c.ctx_ = ctx
26958	return c
26959}
26960
26961// Header returns an http.Header that can be modified by the caller to
26962// add HTTP headers to the request.
26963func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Header() http.Header {
26964	if c.header_ == nil {
26965		c.header_ = make(http.Header)
26966	}
26967	return c.header_
26968}
26969
26970func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
26971	reqHeaders := make(http.Header)
26972	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26973	for k, v := range c.header_ {
26974		reqHeaders[k] = v
26975	}
26976	reqHeaders.Set("User-Agent", c.s.userAgent())
26977	if c.ifNoneMatch_ != "" {
26978		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26979	}
26980	var body io.Reader = nil
26981	c.urlParams_.Set("alt", alt)
26982	c.urlParams_.Set("prettyPrint", "false")
26983	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
26984	urls += "?" + c.urlParams_.Encode()
26985	req, err := http.NewRequest("GET", urls, body)
26986	if err != nil {
26987		return nil, err
26988	}
26989	req.Header = reqHeaders
26990	googleapi.Expand(req.URL, map[string]string{
26991		"resource": c.resource,
26992	})
26993	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26994}
26995
26996// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy" call.
26997// Exactly one of *Policy or error will be non-nil. Any non-2xx status
26998// code is an error. Response headers are in either
26999// *Policy.ServerResponse.Header or (if a response was returned at all)
27000// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27001// check whether the returned error was because http.StatusNotModified
27002// was returned.
27003func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27004	gensupport.SetOptions(c.urlParams_, opts...)
27005	res, err := c.doRequest("json")
27006	if res != nil && res.StatusCode == http.StatusNotModified {
27007		if res.Body != nil {
27008			res.Body.Close()
27009		}
27010		return nil, &googleapi.Error{
27011			Code:   res.StatusCode,
27012			Header: res.Header,
27013		}
27014	}
27015	if err != nil {
27016		return nil, err
27017	}
27018	defer googleapi.CloseBody(res)
27019	if err := googleapi.CheckResponse(res); err != nil {
27020		return nil, err
27021	}
27022	ret := &Policy{
27023		ServerResponse: googleapi.ServerResponse{
27024			Header:         res.Header,
27025			HTTPStatusCode: res.StatusCode,
27026		},
27027	}
27028	target := &ret
27029	if err := gensupport.DecodeResponse(target, res); err != nil {
27030		return nil, err
27031	}
27032	return ret, nil
27033	// {
27034	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
27035	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy",
27036	//   "httpMethod": "GET",
27037	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy",
27038	//   "parameterOrder": [
27039	//     "resource"
27040	//   ],
27041	//   "parameters": {
27042	//     "options.requestedPolicyVersion": {
27043	//       "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).",
27044	//       "format": "int32",
27045	//       "location": "query",
27046	//       "type": "integer"
27047	//     },
27048	//     "resource": {
27049	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
27050	//       "location": "path",
27051	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27052	//       "required": true,
27053	//       "type": "string"
27054	//     }
27055	//   },
27056	//   "path": "v1beta1/{+resource}:getIamPolicy",
27057	//   "response": {
27058	//     "$ref": "Policy"
27059	//   },
27060	//   "scopes": [
27061	//     "https://www.googleapis.com/auth/cloud-platform"
27062	//   ]
27063	// }
27064
27065}
27066
27067// method id "healthcare.projects.locations.datasets.hl7V2Stores.import":
27068
27069type ProjectsLocationsDatasetsHl7V2StoresImportCall struct {
27070	s                     *Service
27071	name                  string
27072	importmessagesrequest *ImportMessagesRequest
27073	urlParams_            gensupport.URLParams
27074	ctx_                  context.Context
27075	header_               http.Header
27076}
27077
27078// Import: Import messages to the HL7v2 store by loading data from the
27079// specified sources. This method is optimized to load large quantities
27080// of data using import semantics that ignore some HL7v2 store
27081// configuration options and are not suitable for all use cases. It is
27082// primarily intended to load data into an empty HL7v2 store that is not
27083// being used by other clients. An existing message will be overwritten
27084// if a duplicate message is imported. A duplicate message is a message
27085// with the same raw bytes as a message that already exists in this
27086// HL7v2 store. When a message is overwritten, its labels will also be
27087// overwritten. The import operation is idempotent unless the input data
27088// contains multiple valid messages with the same raw bytes but
27089// different labels. In that case, after the import completes, the store
27090// contains exactly one message with those raw bytes but there is no
27091// ordering guarantee on which version of the labels it has. The
27092// operation result counters do not count duplicated raw bytes as an
27093// error and count one success for each message in the input, which
27094// might result in a success count larger than the number of messages in
27095// the HL7v2 store. If some messages fail to import, for example due to
27096// parsing errors, successfully imported messages are not rolled back.
27097// This method returns an Operation that can be used to track the status
27098// of the import by calling GetOperation. Immediate fatal errors appear
27099// in the error field, errors are also logged to Cloud Logging (see
27100// Viewing error logs in Cloud Logging
27101// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
27102// Otherwise, when the operation finishes, a response of type
27103// ImportMessagesResponse is returned in the response field. The
27104// metadata field type for this operation is OperationMetadata.
27105//
27106// - name: The name of the target HL7v2 store, in the format
27107//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
27108//   /hl7v2Stores/{hl7v2_store_id}`.
27109func (r *ProjectsLocationsDatasetsHl7V2StoresService) Import(name string, importmessagesrequest *ImportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27110	c := &ProjectsLocationsDatasetsHl7V2StoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27111	c.name = name
27112	c.importmessagesrequest = importmessagesrequest
27113	return c
27114}
27115
27116// Fields allows partial responses to be retrieved. See
27117// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27118// for more information.
27119func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27120	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27121	return c
27122}
27123
27124// Context sets the context to be used in this call's Do method. Any
27125// pending HTTP request will be aborted if the provided context is
27126// canceled.
27127func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27128	c.ctx_ = ctx
27129	return c
27130}
27131
27132// Header returns an http.Header that can be modified by the caller to
27133// add HTTP headers to the request.
27134func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Header() http.Header {
27135	if c.header_ == nil {
27136		c.header_ = make(http.Header)
27137	}
27138	return c.header_
27139}
27140
27141func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) doRequest(alt string) (*http.Response, error) {
27142	reqHeaders := make(http.Header)
27143	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27144	for k, v := range c.header_ {
27145		reqHeaders[k] = v
27146	}
27147	reqHeaders.Set("User-Agent", c.s.userAgent())
27148	var body io.Reader = nil
27149	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importmessagesrequest)
27150	if err != nil {
27151		return nil, err
27152	}
27153	reqHeaders.Set("Content-Type", "application/json")
27154	c.urlParams_.Set("alt", alt)
27155	c.urlParams_.Set("prettyPrint", "false")
27156	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
27157	urls += "?" + c.urlParams_.Encode()
27158	req, err := http.NewRequest("POST", urls, body)
27159	if err != nil {
27160		return nil, err
27161	}
27162	req.Header = reqHeaders
27163	googleapi.Expand(req.URL, map[string]string{
27164		"name": c.name,
27165	})
27166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27167}
27168
27169// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.import" call.
27170// Exactly one of *Operation or error will be non-nil. Any non-2xx
27171// status code is an error. Response headers are in either
27172// *Operation.ServerResponse.Header or (if a response was returned at
27173// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27174// to check whether the returned error was because
27175// http.StatusNotModified was returned.
27176func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
27177	gensupport.SetOptions(c.urlParams_, opts...)
27178	res, err := c.doRequest("json")
27179	if res != nil && res.StatusCode == http.StatusNotModified {
27180		if res.Body != nil {
27181			res.Body.Close()
27182		}
27183		return nil, &googleapi.Error{
27184			Code:   res.StatusCode,
27185			Header: res.Header,
27186		}
27187	}
27188	if err != nil {
27189		return nil, err
27190	}
27191	defer googleapi.CloseBody(res)
27192	if err := googleapi.CheckResponse(res); err != nil {
27193		return nil, err
27194	}
27195	ret := &Operation{
27196		ServerResponse: googleapi.ServerResponse{
27197			Header:         res.Header,
27198			HTTPStatusCode: res.StatusCode,
27199		},
27200	}
27201	target := &ret
27202	if err := gensupport.DecodeResponse(target, res); err != nil {
27203		return nil, err
27204	}
27205	return ret, nil
27206	// {
27207	//   "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.",
27208	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import",
27209	//   "httpMethod": "POST",
27210	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.import",
27211	//   "parameterOrder": [
27212	//     "name"
27213	//   ],
27214	//   "parameters": {
27215	//     "name": {
27216	//       "description": "The name of the target HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
27217	//       "location": "path",
27218	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27219	//       "required": true,
27220	//       "type": "string"
27221	//     }
27222	//   },
27223	//   "path": "v1beta1/{+name}:import",
27224	//   "request": {
27225	//     "$ref": "ImportMessagesRequest"
27226	//   },
27227	//   "response": {
27228	//     "$ref": "Operation"
27229	//   },
27230	//   "scopes": [
27231	//     "https://www.googleapis.com/auth/cloud-platform"
27232	//   ]
27233	// }
27234
27235}
27236
27237// method id "healthcare.projects.locations.datasets.hl7V2Stores.list":
27238
27239type ProjectsLocationsDatasetsHl7V2StoresListCall struct {
27240	s            *Service
27241	parent       string
27242	urlParams_   gensupport.URLParams
27243	ifNoneMatch_ string
27244	ctx_         context.Context
27245	header_      http.Header
27246}
27247
27248// List: Lists the HL7v2 stores in the given dataset.
27249//
27250// - parent: Name of the dataset.
27251func (r *ProjectsLocationsDatasetsHl7V2StoresService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27252	c := &ProjectsLocationsDatasetsHl7V2StoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27253	c.parent = parent
27254	return c
27255}
27256
27257// Filter sets the optional parameter "filter": Restricts stores
27258// returned to those matching a filter. The following syntax is
27259// available: * A string field value can be written as text inside
27260// quotation marks, for example "query text". The only valid
27261// relational operation for text fields is equality (`=`), where text is
27262// searched within the field, rather than having the field be equal to
27263// the text. For example, "Comment = great" returns messages with
27264// `great` in the comment field. * A number field value can be written
27265// as an integer, a decimal, or an exponential. The valid relational
27266// operators for number fields are the equality operator (`=`), along
27267// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
27268// Note that there is no inequality (`!=`) operator. You can prepend the
27269// `NOT` operator to an expression to negate it. * A date field value
27270// must be written in `yyyy-mm-dd` form. Fields with date and time use
27271// the RFC3339 time format. Leading zeros are required for one-digit
27272// months and days. The valid relational operators for date fields are
27273// the equality operator (`=`) , along with the less than/greater than
27274// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
27275// (`!=`) operator. You can prepend the `NOT` operator to an expression
27276// to negate it. * Multiple field query expressions can be combined in
27277// one query by adding `AND` or `OR` operators between the expressions.
27278// If a boolean operator appears within a quoted string, it is not
27279// treated as special, it's just another part of the character string to
27280// be matched. You can prepend the `NOT` operator to an expression to
27281// negate it. Only filtering on labels is supported. For example,
27282// `labels.key=value`.
27283func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27284	c.urlParams_.Set("filter", filter)
27285	return c
27286}
27287
27288// PageSize sets the optional parameter "pageSize": Limit on the number
27289// of HL7v2 stores to return in a single response. If not specified, 100
27290// is used. May not be larger than 1000.
27291func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27292	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27293	return c
27294}
27295
27296// PageToken sets the optional parameter "pageToken": The
27297// next_page_token value returned from the previous List request, if
27298// any.
27299func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27300	c.urlParams_.Set("pageToken", pageToken)
27301	return c
27302}
27303
27304// Fields allows partial responses to be retrieved. See
27305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27306// for more information.
27307func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27309	return c
27310}
27311
27312// IfNoneMatch sets the optional parameter which makes the operation
27313// fail if the object's ETag matches the given value. This is useful for
27314// getting updates only after the object has changed since the last
27315// request. Use googleapi.IsNotModified to check whether the response
27316// error from Do is the result of In-None-Match.
27317func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27318	c.ifNoneMatch_ = entityTag
27319	return c
27320}
27321
27322// Context sets the context to be used in this call's Do method. Any
27323// pending HTTP request will be aborted if the provided context is
27324// canceled.
27325func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27326	c.ctx_ = ctx
27327	return c
27328}
27329
27330// Header returns an http.Header that can be modified by the caller to
27331// add HTTP headers to the request.
27332func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Header() http.Header {
27333	if c.header_ == nil {
27334		c.header_ = make(http.Header)
27335	}
27336	return c.header_
27337}
27338
27339func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
27340	reqHeaders := make(http.Header)
27341	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27342	for k, v := range c.header_ {
27343		reqHeaders[k] = v
27344	}
27345	reqHeaders.Set("User-Agent", c.s.userAgent())
27346	if c.ifNoneMatch_ != "" {
27347		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27348	}
27349	var body io.Reader = nil
27350	c.urlParams_.Set("alt", alt)
27351	c.urlParams_.Set("prettyPrint", "false")
27352	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
27353	urls += "?" + c.urlParams_.Encode()
27354	req, err := http.NewRequest("GET", urls, body)
27355	if err != nil {
27356		return nil, err
27357	}
27358	req.Header = reqHeaders
27359	googleapi.Expand(req.URL, map[string]string{
27360		"parent": c.parent,
27361	})
27362	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27363}
27364
27365// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.list" call.
27366// Exactly one of *ListHl7V2StoresResponse or error will be non-nil. Any
27367// non-2xx status code is an error. Response headers are in either
27368// *ListHl7V2StoresResponse.ServerResponse.Header or (if a response was
27369// returned at all) in error.(*googleapi.Error).Header. Use
27370// googleapi.IsNotModified to check whether the returned error was
27371// because http.StatusNotModified was returned.
27372func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Do(opts ...googleapi.CallOption) (*ListHl7V2StoresResponse, error) {
27373	gensupport.SetOptions(c.urlParams_, opts...)
27374	res, err := c.doRequest("json")
27375	if res != nil && res.StatusCode == http.StatusNotModified {
27376		if res.Body != nil {
27377			res.Body.Close()
27378		}
27379		return nil, &googleapi.Error{
27380			Code:   res.StatusCode,
27381			Header: res.Header,
27382		}
27383	}
27384	if err != nil {
27385		return nil, err
27386	}
27387	defer googleapi.CloseBody(res)
27388	if err := googleapi.CheckResponse(res); err != nil {
27389		return nil, err
27390	}
27391	ret := &ListHl7V2StoresResponse{
27392		ServerResponse: googleapi.ServerResponse{
27393			Header:         res.Header,
27394			HTTPStatusCode: res.StatusCode,
27395		},
27396	}
27397	target := &ret
27398	if err := gensupport.DecodeResponse(target, res); err != nil {
27399		return nil, err
27400	}
27401	return ret, nil
27402	// {
27403	//   "description": "Lists the HL7v2 stores in the given dataset.",
27404	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
27405	//   "httpMethod": "GET",
27406	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.list",
27407	//   "parameterOrder": [
27408	//     "parent"
27409	//   ],
27410	//   "parameters": {
27411	//     "filter": {
27412	//       "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`.",
27413	//       "location": "query",
27414	//       "type": "string"
27415	//     },
27416	//     "pageSize": {
27417	//       "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.",
27418	//       "format": "int32",
27419	//       "location": "query",
27420	//       "type": "integer"
27421	//     },
27422	//     "pageToken": {
27423	//       "description": "The next_page_token value returned from the previous List request, if any.",
27424	//       "location": "query",
27425	//       "type": "string"
27426	//     },
27427	//     "parent": {
27428	//       "description": "Name of the dataset.",
27429	//       "location": "path",
27430	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
27431	//       "required": true,
27432	//       "type": "string"
27433	//     }
27434	//   },
27435	//   "path": "v1beta1/{+parent}/hl7V2Stores",
27436	//   "response": {
27437	//     "$ref": "ListHl7V2StoresResponse"
27438	//   },
27439	//   "scopes": [
27440	//     "https://www.googleapis.com/auth/cloud-platform"
27441	//   ]
27442	// }
27443
27444}
27445
27446// Pages invokes f for each page of results.
27447// A non-nil error returned from f will halt the iteration.
27448// The provided context supersedes any context provided to the Context method.
27449func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Pages(ctx context.Context, f func(*ListHl7V2StoresResponse) error) error {
27450	c.ctx_ = ctx
27451	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27452	for {
27453		x, err := c.Do()
27454		if err != nil {
27455			return err
27456		}
27457		if err := f(x); err != nil {
27458			return err
27459		}
27460		if x.NextPageToken == "" {
27461			return nil
27462		}
27463		c.PageToken(x.NextPageToken)
27464	}
27465}
27466
27467// method id "healthcare.projects.locations.datasets.hl7V2Stores.patch":
27468
27469type ProjectsLocationsDatasetsHl7V2StoresPatchCall struct {
27470	s          *Service
27471	name       string
27472	hl7v2store *Hl7V2Store
27473	urlParams_ gensupport.URLParams
27474	ctx_       context.Context
27475	header_    http.Header
27476}
27477
27478// Patch: Updates the HL7v2 store.
27479//
27480// - name: Resource name of the HL7v2 store, of the form
27481//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_stor
27482//   e_id}`.
27483func (r *ProjectsLocationsDatasetsHl7V2StoresService) Patch(name string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27484	c := &ProjectsLocationsDatasetsHl7V2StoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27485	c.name = name
27486	c.hl7v2store = hl7v2store
27487	return c
27488}
27489
27490// UpdateMask sets the optional parameter "updateMask": The update mask
27491// applies to the resource. For the `FieldMask` definition, see
27492// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
27493func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27494	c.urlParams_.Set("updateMask", updateMask)
27495	return c
27496}
27497
27498// Fields allows partial responses to be retrieved. See
27499// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27500// for more information.
27501func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27502	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27503	return c
27504}
27505
27506// Context sets the context to be used in this call's Do method. Any
27507// pending HTTP request will be aborted if the provided context is
27508// canceled.
27509func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27510	c.ctx_ = ctx
27511	return c
27512}
27513
27514// Header returns an http.Header that can be modified by the caller to
27515// add HTTP headers to the request.
27516func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Header() http.Header {
27517	if c.header_ == nil {
27518		c.header_ = make(http.Header)
27519	}
27520	return c.header_
27521}
27522
27523func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
27524	reqHeaders := make(http.Header)
27525	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27526	for k, v := range c.header_ {
27527		reqHeaders[k] = v
27528	}
27529	reqHeaders.Set("User-Agent", c.s.userAgent())
27530	var body io.Reader = nil
27531	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
27532	if err != nil {
27533		return nil, err
27534	}
27535	reqHeaders.Set("Content-Type", "application/json")
27536	c.urlParams_.Set("alt", alt)
27537	c.urlParams_.Set("prettyPrint", "false")
27538	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27539	urls += "?" + c.urlParams_.Encode()
27540	req, err := http.NewRequest("PATCH", urls, body)
27541	if err != nil {
27542		return nil, err
27543	}
27544	req.Header = reqHeaders
27545	googleapi.Expand(req.URL, map[string]string{
27546		"name": c.name,
27547	})
27548	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27549}
27550
27551// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.patch" call.
27552// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
27553// status code is an error. Response headers are in either
27554// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
27555// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27556// to check whether the returned error was because
27557// http.StatusNotModified was returned.
27558func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
27559	gensupport.SetOptions(c.urlParams_, opts...)
27560	res, err := c.doRequest("json")
27561	if res != nil && res.StatusCode == http.StatusNotModified {
27562		if res.Body != nil {
27563			res.Body.Close()
27564		}
27565		return nil, &googleapi.Error{
27566			Code:   res.StatusCode,
27567			Header: res.Header,
27568		}
27569	}
27570	if err != nil {
27571		return nil, err
27572	}
27573	defer googleapi.CloseBody(res)
27574	if err := googleapi.CheckResponse(res); err != nil {
27575		return nil, err
27576	}
27577	ret := &Hl7V2Store{
27578		ServerResponse: googleapi.ServerResponse{
27579			Header:         res.Header,
27580			HTTPStatusCode: res.StatusCode,
27581		},
27582	}
27583	target := &ret
27584	if err := gensupport.DecodeResponse(target, res); err != nil {
27585		return nil, err
27586	}
27587	return ret, nil
27588	// {
27589	//   "description": "Updates the HL7v2 store.",
27590	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
27591	//   "httpMethod": "PATCH",
27592	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch",
27593	//   "parameterOrder": [
27594	//     "name"
27595	//   ],
27596	//   "parameters": {
27597	//     "name": {
27598	//       "description": "Resource name of the HL7v2 store, of the form `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
27599	//       "location": "path",
27600	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27601	//       "required": true,
27602	//       "type": "string"
27603	//     },
27604	//     "updateMask": {
27605	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
27606	//       "format": "google-fieldmask",
27607	//       "location": "query",
27608	//       "type": "string"
27609	//     }
27610	//   },
27611	//   "path": "v1beta1/{+name}",
27612	//   "request": {
27613	//     "$ref": "Hl7V2Store"
27614	//   },
27615	//   "response": {
27616	//     "$ref": "Hl7V2Store"
27617	//   },
27618	//   "scopes": [
27619	//     "https://www.googleapis.com/auth/cloud-platform"
27620	//   ]
27621	// }
27622
27623}
27624
27625// method id "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy":
27626
27627type ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall struct {
27628	s                   *Service
27629	resource            string
27630	setiampolicyrequest *SetIamPolicyRequest
27631	urlParams_          gensupport.URLParams
27632	ctx_                context.Context
27633	header_             http.Header
27634}
27635
27636// SetIamPolicy: Sets the access control policy on the specified
27637// resource. Replaces any existing policy. Can return `NOT_FOUND`,
27638// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
27639//
27640// - resource: REQUIRED: The resource for which the policy is being
27641//   specified. See the operation documentation for the appropriate
27642//   value for this field.
27643func (r *ProjectsLocationsDatasetsHl7V2StoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27644	c := &ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27645	c.resource = resource
27646	c.setiampolicyrequest = setiampolicyrequest
27647	return c
27648}
27649
27650// Fields allows partial responses to be retrieved. See
27651// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27652// for more information.
27653func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27654	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27655	return c
27656}
27657
27658// Context sets the context to be used in this call's Do method. Any
27659// pending HTTP request will be aborted if the provided context is
27660// canceled.
27661func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27662	c.ctx_ = ctx
27663	return c
27664}
27665
27666// Header returns an http.Header that can be modified by the caller to
27667// add HTTP headers to the request.
27668func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Header() http.Header {
27669	if c.header_ == nil {
27670		c.header_ = make(http.Header)
27671	}
27672	return c.header_
27673}
27674
27675func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
27676	reqHeaders := make(http.Header)
27677	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27678	for k, v := range c.header_ {
27679		reqHeaders[k] = v
27680	}
27681	reqHeaders.Set("User-Agent", c.s.userAgent())
27682	var body io.Reader = nil
27683	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
27684	if err != nil {
27685		return nil, err
27686	}
27687	reqHeaders.Set("Content-Type", "application/json")
27688	c.urlParams_.Set("alt", alt)
27689	c.urlParams_.Set("prettyPrint", "false")
27690	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
27691	urls += "?" + c.urlParams_.Encode()
27692	req, err := http.NewRequest("POST", urls, body)
27693	if err != nil {
27694		return nil, err
27695	}
27696	req.Header = reqHeaders
27697	googleapi.Expand(req.URL, map[string]string{
27698		"resource": c.resource,
27699	})
27700	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27701}
27702
27703// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy" call.
27704// Exactly one of *Policy or error will be non-nil. Any non-2xx status
27705// code is an error. Response headers are in either
27706// *Policy.ServerResponse.Header or (if a response was returned at all)
27707// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27708// check whether the returned error was because http.StatusNotModified
27709// was returned.
27710func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27711	gensupport.SetOptions(c.urlParams_, opts...)
27712	res, err := c.doRequest("json")
27713	if res != nil && res.StatusCode == http.StatusNotModified {
27714		if res.Body != nil {
27715			res.Body.Close()
27716		}
27717		return nil, &googleapi.Error{
27718			Code:   res.StatusCode,
27719			Header: res.Header,
27720		}
27721	}
27722	if err != nil {
27723		return nil, err
27724	}
27725	defer googleapi.CloseBody(res)
27726	if err := googleapi.CheckResponse(res); err != nil {
27727		return nil, err
27728	}
27729	ret := &Policy{
27730		ServerResponse: googleapi.ServerResponse{
27731			Header:         res.Header,
27732			HTTPStatusCode: res.StatusCode,
27733		},
27734	}
27735	target := &ret
27736	if err := gensupport.DecodeResponse(target, res); err != nil {
27737		return nil, err
27738	}
27739	return ret, nil
27740	// {
27741	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
27742	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy",
27743	//   "httpMethod": "POST",
27744	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy",
27745	//   "parameterOrder": [
27746	//     "resource"
27747	//   ],
27748	//   "parameters": {
27749	//     "resource": {
27750	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
27751	//       "location": "path",
27752	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27753	//       "required": true,
27754	//       "type": "string"
27755	//     }
27756	//   },
27757	//   "path": "v1beta1/{+resource}:setIamPolicy",
27758	//   "request": {
27759	//     "$ref": "SetIamPolicyRequest"
27760	//   },
27761	//   "response": {
27762	//     "$ref": "Policy"
27763	//   },
27764	//   "scopes": [
27765	//     "https://www.googleapis.com/auth/cloud-platform"
27766	//   ]
27767	// }
27768
27769}
27770
27771// method id "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions":
27772
27773type ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall struct {
27774	s                         *Service
27775	resource                  string
27776	testiampermissionsrequest *TestIamPermissionsRequest
27777	urlParams_                gensupport.URLParams
27778	ctx_                      context.Context
27779	header_                   http.Header
27780}
27781
27782// TestIamPermissions: Returns permissions that a caller has on the
27783// specified resource. If the resource does not exist, this will return
27784// an empty set of permissions, not a `NOT_FOUND` error. Note: This
27785// operation is designed to be used for building permission-aware UIs
27786// and command-line tools, not for authorization checking. This
27787// operation may "fail open" without warning.
27788//
27789// - resource: REQUIRED: The resource for which the policy detail is
27790//   being requested. See the operation documentation for the
27791//   appropriate value for this field.
27792func (r *ProjectsLocationsDatasetsHl7V2StoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27793	c := &ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27794	c.resource = resource
27795	c.testiampermissionsrequest = testiampermissionsrequest
27796	return c
27797}
27798
27799// Fields allows partial responses to be retrieved. See
27800// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27801// for more information.
27802func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27803	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27804	return c
27805}
27806
27807// Context sets the context to be used in this call's Do method. Any
27808// pending HTTP request will be aborted if the provided context is
27809// canceled.
27810func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
27811	c.ctx_ = ctx
27812	return c
27813}
27814
27815// Header returns an http.Header that can be modified by the caller to
27816// add HTTP headers to the request.
27817func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Header() http.Header {
27818	if c.header_ == nil {
27819		c.header_ = make(http.Header)
27820	}
27821	return c.header_
27822}
27823
27824func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
27825	reqHeaders := make(http.Header)
27826	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27827	for k, v := range c.header_ {
27828		reqHeaders[k] = v
27829	}
27830	reqHeaders.Set("User-Agent", c.s.userAgent())
27831	var body io.Reader = nil
27832	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
27833	if err != nil {
27834		return nil, err
27835	}
27836	reqHeaders.Set("Content-Type", "application/json")
27837	c.urlParams_.Set("alt", alt)
27838	c.urlParams_.Set("prettyPrint", "false")
27839	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
27840	urls += "?" + c.urlParams_.Encode()
27841	req, err := http.NewRequest("POST", urls, body)
27842	if err != nil {
27843		return nil, err
27844	}
27845	req.Header = reqHeaders
27846	googleapi.Expand(req.URL, map[string]string{
27847		"resource": c.resource,
27848	})
27849	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27850}
27851
27852// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions" call.
27853// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
27854// Any non-2xx status code is an error. Response headers are in either
27855// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
27856// was returned at all) in error.(*googleapi.Error).Header. Use
27857// googleapi.IsNotModified to check whether the returned error was
27858// because http.StatusNotModified was returned.
27859func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
27860	gensupport.SetOptions(c.urlParams_, opts...)
27861	res, err := c.doRequest("json")
27862	if res != nil && res.StatusCode == http.StatusNotModified {
27863		if res.Body != nil {
27864			res.Body.Close()
27865		}
27866		return nil, &googleapi.Error{
27867			Code:   res.StatusCode,
27868			Header: res.Header,
27869		}
27870	}
27871	if err != nil {
27872		return nil, err
27873	}
27874	defer googleapi.CloseBody(res)
27875	if err := googleapi.CheckResponse(res); err != nil {
27876		return nil, err
27877	}
27878	ret := &TestIamPermissionsResponse{
27879		ServerResponse: googleapi.ServerResponse{
27880			Header:         res.Header,
27881			HTTPStatusCode: res.StatusCode,
27882		},
27883	}
27884	target := &ret
27885	if err := gensupport.DecodeResponse(target, res); err != nil {
27886		return nil, err
27887	}
27888	return ret, nil
27889	// {
27890	//   "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.",
27891	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions",
27892	//   "httpMethod": "POST",
27893	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions",
27894	//   "parameterOrder": [
27895	//     "resource"
27896	//   ],
27897	//   "parameters": {
27898	//     "resource": {
27899	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
27900	//       "location": "path",
27901	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27902	//       "required": true,
27903	//       "type": "string"
27904	//     }
27905	//   },
27906	//   "path": "v1beta1/{+resource}:testIamPermissions",
27907	//   "request": {
27908	//     "$ref": "TestIamPermissionsRequest"
27909	//   },
27910	//   "response": {
27911	//     "$ref": "TestIamPermissionsResponse"
27912	//   },
27913	//   "scopes": [
27914	//     "https://www.googleapis.com/auth/cloud-platform"
27915	//   ]
27916	// }
27917
27918}
27919
27920// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet":
27921
27922type ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall struct {
27923	s            *Service
27924	parent       string
27925	urlParams_   gensupport.URLParams
27926	ifNoneMatch_ string
27927	ctx_         context.Context
27928	header_      http.Header
27929}
27930
27931// BatchGet: Gets multiple messages in the given HL7v2 store.
27932//
27933// - parent: Name of the HL7v2 store to retrieve messages from, in the
27934//   format:
27935//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
27936//   /hl7v2Stores/{hl7v2_store_id}`.
27937func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) BatchGet(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27938	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27939	c.parent = parent
27940	return c
27941}
27942
27943// Ids sets the optional parameter "ids": The resource id of the HL7v2
27944// messages to retrieve in the format: `{message_id}`, where the full
27945// resource name is `{parent}/messages/{message_id}` A maximum of 100
27946// messages can be retrieved in a batch. All 'ids' have to be under
27947// parent.
27948func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Ids(ids ...string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27949	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
27950	return c
27951}
27952
27953// View sets the optional parameter "view": Specifies the parts of the
27954// Messages resource to return in the response. When unspecified,
27955// equivalent to BASIC.
27956//
27957// Possible values:
27958//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
27959// getMessage, equivalent to BASIC for listMessages.
27960//   "RAW_ONLY" - Server responses include all the message fields except
27961// parsed_data, and schematized_data fields.
27962//   "PARSED_ONLY" - Server responses include all the message fields
27963// except data and schematized_data fields.
27964//   "FULL" - Server responses include all the message fields.
27965//   "SCHEMATIZED_ONLY" - Server responses include all the message
27966// fields except data and parsed_data fields.
27967//   "BASIC" - Server responses include only the name field.
27968func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27969	c.urlParams_.Set("view", view)
27970	return c
27971}
27972
27973// Fields allows partial responses to be retrieved. See
27974// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27975// for more information.
27976func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27977	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27978	return c
27979}
27980
27981// IfNoneMatch sets the optional parameter which makes the operation
27982// fail if the object's ETag matches the given value. This is useful for
27983// getting updates only after the object has changed since the last
27984// request. Use googleapi.IsNotModified to check whether the response
27985// error from Do is the result of In-None-Match.
27986func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27987	c.ifNoneMatch_ = entityTag
27988	return c
27989}
27990
27991// Context sets the context to be used in this call's Do method. Any
27992// pending HTTP request will be aborted if the provided context is
27993// canceled.
27994func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
27995	c.ctx_ = ctx
27996	return c
27997}
27998
27999// Header returns an http.Header that can be modified by the caller to
28000// add HTTP headers to the request.
28001func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Header() http.Header {
28002	if c.header_ == nil {
28003		c.header_ = make(http.Header)
28004	}
28005	return c.header_
28006}
28007
28008func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) doRequest(alt string) (*http.Response, error) {
28009	reqHeaders := make(http.Header)
28010	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28011	for k, v := range c.header_ {
28012		reqHeaders[k] = v
28013	}
28014	reqHeaders.Set("User-Agent", c.s.userAgent())
28015	if c.ifNoneMatch_ != "" {
28016		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28017	}
28018	var body io.Reader = nil
28019	c.urlParams_.Set("alt", alt)
28020	c.urlParams_.Set("prettyPrint", "false")
28021	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:batchGet")
28022	urls += "?" + c.urlParams_.Encode()
28023	req, err := http.NewRequest("GET", urls, body)
28024	if err != nil {
28025		return nil, err
28026	}
28027	req.Header = reqHeaders
28028	googleapi.Expand(req.URL, map[string]string{
28029		"parent": c.parent,
28030	})
28031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28032}
28033
28034// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet" call.
28035// Exactly one of *BatchGetMessagesResponse or error will be non-nil.
28036// Any non-2xx status code is an error. Response headers are in either
28037// *BatchGetMessagesResponse.ServerResponse.Header or (if a response was
28038// returned at all) in error.(*googleapi.Error).Header. Use
28039// googleapi.IsNotModified to check whether the returned error was
28040// because http.StatusNotModified was returned.
28041func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetMessagesResponse, error) {
28042	gensupport.SetOptions(c.urlParams_, opts...)
28043	res, err := c.doRequest("json")
28044	if res != nil && res.StatusCode == http.StatusNotModified {
28045		if res.Body != nil {
28046			res.Body.Close()
28047		}
28048		return nil, &googleapi.Error{
28049			Code:   res.StatusCode,
28050			Header: res.Header,
28051		}
28052	}
28053	if err != nil {
28054		return nil, err
28055	}
28056	defer googleapi.CloseBody(res)
28057	if err := googleapi.CheckResponse(res); err != nil {
28058		return nil, err
28059	}
28060	ret := &BatchGetMessagesResponse{
28061		ServerResponse: googleapi.ServerResponse{
28062			Header:         res.Header,
28063			HTTPStatusCode: res.StatusCode,
28064		},
28065	}
28066	target := &ret
28067	if err := gensupport.DecodeResponse(target, res); err != nil {
28068		return nil, err
28069	}
28070	return ret, nil
28071	// {
28072	//   "description": "Gets multiple messages in the given HL7v2 store.",
28073	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:batchGet",
28074	//   "httpMethod": "GET",
28075	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet",
28076	//   "parameterOrder": [
28077	//     "parent"
28078	//   ],
28079	//   "parameters": {
28080	//     "ids": {
28081	//       "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.",
28082	//       "location": "query",
28083	//       "repeated": true,
28084	//       "type": "string"
28085	//     },
28086	//     "parent": {
28087	//       "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}`.",
28088	//       "location": "path",
28089	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28090	//       "required": true,
28091	//       "type": "string"
28092	//     },
28093	//     "view": {
28094	//       "description": "Specifies the parts of the Messages resource to return in the response. When unspecified, equivalent to BASIC.",
28095	//       "enum": [
28096	//         "MESSAGE_VIEW_UNSPECIFIED",
28097	//         "RAW_ONLY",
28098	//         "PARSED_ONLY",
28099	//         "FULL",
28100	//         "SCHEMATIZED_ONLY",
28101	//         "BASIC"
28102	//       ],
28103	//       "enumDescriptions": [
28104	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28105	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28106	//         "Server responses include all the message fields except data and schematized_data fields.",
28107	//         "Server responses include all the message fields.",
28108	//         "Server responses include all the message fields except data and parsed_data fields.",
28109	//         "Server responses include only the name field."
28110	//       ],
28111	//       "location": "query",
28112	//       "type": "string"
28113	//     }
28114	//   },
28115	//   "path": "v1beta1/{+parent}/messages:batchGet",
28116	//   "response": {
28117	//     "$ref": "BatchGetMessagesResponse"
28118	//   },
28119	//   "scopes": [
28120	//     "https://www.googleapis.com/auth/cloud-platform"
28121	//   ]
28122	// }
28123
28124}
28125
28126// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.create":
28127
28128type ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall struct {
28129	s                    *Service
28130	parent               string
28131	createmessagerequest *CreateMessageRequest
28132	urlParams_           gensupport.URLParams
28133	ctx_                 context.Context
28134	header_              http.Header
28135}
28136
28137// Create: Parses and stores an HL7v2 message. This method triggers an
28138// asynchronous notification to any Pub/Sub topic configured in
28139// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28140// message. If an MLLP adapter is configured to listen to a Pub/Sub
28141// topic, the adapter transmits the message when a notification is
28142// received.
28143//
28144// - parent: The name of the dataset this message belongs to.
28145func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Create(parent string, createmessagerequest *CreateMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28146	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28147	c.parent = parent
28148	c.createmessagerequest = createmessagerequest
28149	return c
28150}
28151
28152// Fields allows partial responses to be retrieved. See
28153// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28154// for more information.
28155func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28156	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28157	return c
28158}
28159
28160// Context sets the context to be used in this call's Do method. Any
28161// pending HTTP request will be aborted if the provided context is
28162// canceled.
28163func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28164	c.ctx_ = ctx
28165	return c
28166}
28167
28168// Header returns an http.Header that can be modified by the caller to
28169// add HTTP headers to the request.
28170func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Header() http.Header {
28171	if c.header_ == nil {
28172		c.header_ = make(http.Header)
28173	}
28174	return c.header_
28175}
28176
28177func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
28178	reqHeaders := make(http.Header)
28179	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28180	for k, v := range c.header_ {
28181		reqHeaders[k] = v
28182	}
28183	reqHeaders.Set("User-Agent", c.s.userAgent())
28184	var body io.Reader = nil
28185	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createmessagerequest)
28186	if err != nil {
28187		return nil, err
28188	}
28189	reqHeaders.Set("Content-Type", "application/json")
28190	c.urlParams_.Set("alt", alt)
28191	c.urlParams_.Set("prettyPrint", "false")
28192	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28193	urls += "?" + c.urlParams_.Encode()
28194	req, err := http.NewRequest("POST", urls, body)
28195	if err != nil {
28196		return nil, err
28197	}
28198	req.Header = reqHeaders
28199	googleapi.Expand(req.URL, map[string]string{
28200		"parent": c.parent,
28201	})
28202	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28203}
28204
28205// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.create" call.
28206// Exactly one of *Message or error will be non-nil. Any non-2xx status
28207// code is an error. Response headers are in either
28208// *Message.ServerResponse.Header or (if a response was returned at all)
28209// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28210// check whether the returned error was because http.StatusNotModified
28211// was returned.
28212func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28213	gensupport.SetOptions(c.urlParams_, opts...)
28214	res, err := c.doRequest("json")
28215	if res != nil && res.StatusCode == http.StatusNotModified {
28216		if res.Body != nil {
28217			res.Body.Close()
28218		}
28219		return nil, &googleapi.Error{
28220			Code:   res.StatusCode,
28221			Header: res.Header,
28222		}
28223	}
28224	if err != nil {
28225		return nil, err
28226	}
28227	defer googleapi.CloseBody(res)
28228	if err := googleapi.CheckResponse(res); err != nil {
28229		return nil, err
28230	}
28231	ret := &Message{
28232		ServerResponse: googleapi.ServerResponse{
28233			Header:         res.Header,
28234			HTTPStatusCode: res.StatusCode,
28235		},
28236	}
28237	target := &ret
28238	if err := gensupport.DecodeResponse(target, res); err != nil {
28239		return nil, err
28240	}
28241	return ret, nil
28242	// {
28243	//   "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.",
28244	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28245	//   "httpMethod": "POST",
28246	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create",
28247	//   "parameterOrder": [
28248	//     "parent"
28249	//   ],
28250	//   "parameters": {
28251	//     "parent": {
28252	//       "description": "The name of the dataset this message belongs to.",
28253	//       "location": "path",
28254	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28255	//       "required": true,
28256	//       "type": "string"
28257	//     }
28258	//   },
28259	//   "path": "v1beta1/{+parent}/messages",
28260	//   "request": {
28261	//     "$ref": "CreateMessageRequest"
28262	//   },
28263	//   "response": {
28264	//     "$ref": "Message"
28265	//   },
28266	//   "scopes": [
28267	//     "https://www.googleapis.com/auth/cloud-platform"
28268	//   ]
28269	// }
28270
28271}
28272
28273// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete":
28274
28275type ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall struct {
28276	s          *Service
28277	name       string
28278	urlParams_ gensupport.URLParams
28279	ctx_       context.Context
28280	header_    http.Header
28281}
28282
28283// Delete: Deletes an HL7v2 message.
28284//
28285// - name: The resource name of the HL7v2 message to delete.
28286func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28287	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28288	c.name = name
28289	return c
28290}
28291
28292// Fields allows partial responses to be retrieved. See
28293// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28294// for more information.
28295func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28296	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28297	return c
28298}
28299
28300// Context sets the context to be used in this call's Do method. Any
28301// pending HTTP request will be aborted if the provided context is
28302// canceled.
28303func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28304	c.ctx_ = ctx
28305	return c
28306}
28307
28308// Header returns an http.Header that can be modified by the caller to
28309// add HTTP headers to the request.
28310func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Header() http.Header {
28311	if c.header_ == nil {
28312		c.header_ = make(http.Header)
28313	}
28314	return c.header_
28315}
28316
28317func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
28318	reqHeaders := make(http.Header)
28319	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28320	for k, v := range c.header_ {
28321		reqHeaders[k] = v
28322	}
28323	reqHeaders.Set("User-Agent", c.s.userAgent())
28324	var body io.Reader = nil
28325	c.urlParams_.Set("alt", alt)
28326	c.urlParams_.Set("prettyPrint", "false")
28327	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28328	urls += "?" + c.urlParams_.Encode()
28329	req, err := http.NewRequest("DELETE", urls, body)
28330	if err != nil {
28331		return nil, err
28332	}
28333	req.Header = reqHeaders
28334	googleapi.Expand(req.URL, map[string]string{
28335		"name": c.name,
28336	})
28337	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28338}
28339
28340// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete" call.
28341// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28342// code is an error. Response headers are in either
28343// *Empty.ServerResponse.Header or (if a response was returned at all)
28344// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28345// check whether the returned error was because http.StatusNotModified
28346// was returned.
28347func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28348	gensupport.SetOptions(c.urlParams_, opts...)
28349	res, err := c.doRequest("json")
28350	if res != nil && res.StatusCode == http.StatusNotModified {
28351		if res.Body != nil {
28352			res.Body.Close()
28353		}
28354		return nil, &googleapi.Error{
28355			Code:   res.StatusCode,
28356			Header: res.Header,
28357		}
28358	}
28359	if err != nil {
28360		return nil, err
28361	}
28362	defer googleapi.CloseBody(res)
28363	if err := googleapi.CheckResponse(res); err != nil {
28364		return nil, err
28365	}
28366	ret := &Empty{
28367		ServerResponse: googleapi.ServerResponse{
28368			Header:         res.Header,
28369			HTTPStatusCode: res.StatusCode,
28370		},
28371	}
28372	target := &ret
28373	if err := gensupport.DecodeResponse(target, res); err != nil {
28374		return nil, err
28375	}
28376	return ret, nil
28377	// {
28378	//   "description": "Deletes an HL7v2 message.",
28379	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28380	//   "httpMethod": "DELETE",
28381	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete",
28382	//   "parameterOrder": [
28383	//     "name"
28384	//   ],
28385	//   "parameters": {
28386	//     "name": {
28387	//       "description": "The resource name of the HL7v2 message to delete.",
28388	//       "location": "path",
28389	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28390	//       "required": true,
28391	//       "type": "string"
28392	//     }
28393	//   },
28394	//   "path": "v1beta1/{+name}",
28395	//   "response": {
28396	//     "$ref": "Empty"
28397	//   },
28398	//   "scopes": [
28399	//     "https://www.googleapis.com/auth/cloud-platform"
28400	//   ]
28401	// }
28402
28403}
28404
28405// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.get":
28406
28407type ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall struct {
28408	s            *Service
28409	name         string
28410	urlParams_   gensupport.URLParams
28411	ifNoneMatch_ string
28412	ctx_         context.Context
28413	header_      http.Header
28414}
28415
28416// Get: Gets an HL7v2 message.
28417//
28418// - name: The resource name of the HL7v2 message to retrieve.
28419func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28420	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28421	c.name = name
28422	return c
28423}
28424
28425// View sets the optional parameter "view": Specifies which parts of the
28426// Message resource to return in the response. When unspecified,
28427// equivalent to FULL.
28428//
28429// Possible values:
28430//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28431// getMessage, equivalent to BASIC for listMessages.
28432//   "RAW_ONLY" - Server responses include all the message fields except
28433// parsed_data, and schematized_data fields.
28434//   "PARSED_ONLY" - Server responses include all the message fields
28435// except data and schematized_data fields.
28436//   "FULL" - Server responses include all the message fields.
28437//   "SCHEMATIZED_ONLY" - Server responses include all the message
28438// fields except data and parsed_data fields.
28439//   "BASIC" - Server responses include only the name field.
28440func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28441	c.urlParams_.Set("view", view)
28442	return c
28443}
28444
28445// Fields allows partial responses to be retrieved. See
28446// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28447// for more information.
28448func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28449	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28450	return c
28451}
28452
28453// IfNoneMatch sets the optional parameter which makes the operation
28454// fail if the object's ETag matches the given value. This is useful for
28455// getting updates only after the object has changed since the last
28456// request. Use googleapi.IsNotModified to check whether the response
28457// error from Do is the result of In-None-Match.
28458func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28459	c.ifNoneMatch_ = entityTag
28460	return c
28461}
28462
28463// Context sets the context to be used in this call's Do method. Any
28464// pending HTTP request will be aborted if the provided context is
28465// canceled.
28466func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28467	c.ctx_ = ctx
28468	return c
28469}
28470
28471// Header returns an http.Header that can be modified by the caller to
28472// add HTTP headers to the request.
28473func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Header() http.Header {
28474	if c.header_ == nil {
28475		c.header_ = make(http.Header)
28476	}
28477	return c.header_
28478}
28479
28480func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
28481	reqHeaders := make(http.Header)
28482	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28483	for k, v := range c.header_ {
28484		reqHeaders[k] = v
28485	}
28486	reqHeaders.Set("User-Agent", c.s.userAgent())
28487	if c.ifNoneMatch_ != "" {
28488		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28489	}
28490	var body io.Reader = nil
28491	c.urlParams_.Set("alt", alt)
28492	c.urlParams_.Set("prettyPrint", "false")
28493	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28494	urls += "?" + c.urlParams_.Encode()
28495	req, err := http.NewRequest("GET", urls, body)
28496	if err != nil {
28497		return nil, err
28498	}
28499	req.Header = reqHeaders
28500	googleapi.Expand(req.URL, map[string]string{
28501		"name": c.name,
28502	})
28503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28504}
28505
28506// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.get" call.
28507// Exactly one of *Message or error will be non-nil. Any non-2xx status
28508// code is an error. Response headers are in either
28509// *Message.ServerResponse.Header or (if a response was returned at all)
28510// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28511// check whether the returned error was because http.StatusNotModified
28512// was returned.
28513func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28514	gensupport.SetOptions(c.urlParams_, opts...)
28515	res, err := c.doRequest("json")
28516	if res != nil && res.StatusCode == http.StatusNotModified {
28517		if res.Body != nil {
28518			res.Body.Close()
28519		}
28520		return nil, &googleapi.Error{
28521			Code:   res.StatusCode,
28522			Header: res.Header,
28523		}
28524	}
28525	if err != nil {
28526		return nil, err
28527	}
28528	defer googleapi.CloseBody(res)
28529	if err := googleapi.CheckResponse(res); err != nil {
28530		return nil, err
28531	}
28532	ret := &Message{
28533		ServerResponse: googleapi.ServerResponse{
28534			Header:         res.Header,
28535			HTTPStatusCode: res.StatusCode,
28536		},
28537	}
28538	target := &ret
28539	if err := gensupport.DecodeResponse(target, res); err != nil {
28540		return nil, err
28541	}
28542	return ret, nil
28543	// {
28544	//   "description": "Gets an HL7v2 message.",
28545	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28546	//   "httpMethod": "GET",
28547	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get",
28548	//   "parameterOrder": [
28549	//     "name"
28550	//   ],
28551	//   "parameters": {
28552	//     "name": {
28553	//       "description": "The resource name of the HL7v2 message to retrieve.",
28554	//       "location": "path",
28555	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28556	//       "required": true,
28557	//       "type": "string"
28558	//     },
28559	//     "view": {
28560	//       "description": "Specifies which parts of the Message resource to return in the response. When unspecified, equivalent to FULL.",
28561	//       "enum": [
28562	//         "MESSAGE_VIEW_UNSPECIFIED",
28563	//         "RAW_ONLY",
28564	//         "PARSED_ONLY",
28565	//         "FULL",
28566	//         "SCHEMATIZED_ONLY",
28567	//         "BASIC"
28568	//       ],
28569	//       "enumDescriptions": [
28570	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28571	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28572	//         "Server responses include all the message fields except data and schematized_data fields.",
28573	//         "Server responses include all the message fields.",
28574	//         "Server responses include all the message fields except data and parsed_data fields.",
28575	//         "Server responses include only the name field."
28576	//       ],
28577	//       "location": "query",
28578	//       "type": "string"
28579	//     }
28580	//   },
28581	//   "path": "v1beta1/{+name}",
28582	//   "response": {
28583	//     "$ref": "Message"
28584	//   },
28585	//   "scopes": [
28586	//     "https://www.googleapis.com/auth/cloud-platform"
28587	//   ]
28588	// }
28589
28590}
28591
28592// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest":
28593
28594type ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall struct {
28595	s                    *Service
28596	parent               string
28597	ingestmessagerequest *IngestMessageRequest
28598	urlParams_           gensupport.URLParams
28599	ctx_                 context.Context
28600	header_              http.Header
28601}
28602
28603// Ingest: Parses and stores an HL7v2 message. This method triggers an
28604// asynchronous notification to any Pub/Sub topic configured in
28605// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28606// message. If an MLLP adapter is configured to listen to a Pub/Sub
28607// topic, the adapter transmits the message when a notification is
28608// received. If the method is successful, it generates a response
28609// containing an HL7v2 acknowledgment (`ACK`) message. If the method
28610// encounters an error, it returns a negative acknowledgment (`NACK`)
28611// message. This behavior is suitable for replying to HL7v2 interface
28612// systems that expect these acknowledgments.
28613//
28614// - parent: The name of the HL7v2 store this message belongs to.
28615func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Ingest(parent string, ingestmessagerequest *IngestMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28616	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28617	c.parent = parent
28618	c.ingestmessagerequest = ingestmessagerequest
28619	return c
28620}
28621
28622// Fields allows partial responses to be retrieved. See
28623// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28624// for more information.
28625func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28626	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28627	return c
28628}
28629
28630// Context sets the context to be used in this call's Do method. Any
28631// pending HTTP request will be aborted if the provided context is
28632// canceled.
28633func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28634	c.ctx_ = ctx
28635	return c
28636}
28637
28638// Header returns an http.Header that can be modified by the caller to
28639// add HTTP headers to the request.
28640func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Header() http.Header {
28641	if c.header_ == nil {
28642		c.header_ = make(http.Header)
28643	}
28644	return c.header_
28645}
28646
28647func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
28648	reqHeaders := make(http.Header)
28649	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28650	for k, v := range c.header_ {
28651		reqHeaders[k] = v
28652	}
28653	reqHeaders.Set("User-Agent", c.s.userAgent())
28654	var body io.Reader = nil
28655	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ingestmessagerequest)
28656	if err != nil {
28657		return nil, err
28658	}
28659	reqHeaders.Set("Content-Type", "application/json")
28660	c.urlParams_.Set("alt", alt)
28661	c.urlParams_.Set("prettyPrint", "false")
28662	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:ingest")
28663	urls += "?" + c.urlParams_.Encode()
28664	req, err := http.NewRequest("POST", urls, body)
28665	if err != nil {
28666		return nil, err
28667	}
28668	req.Header = reqHeaders
28669	googleapi.Expand(req.URL, map[string]string{
28670		"parent": c.parent,
28671	})
28672	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28673}
28674
28675// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest" call.
28676// Exactly one of *IngestMessageResponse or error will be non-nil. Any
28677// non-2xx status code is an error. Response headers are in either
28678// *IngestMessageResponse.ServerResponse.Header or (if a response was
28679// returned at all) in error.(*googleapi.Error).Header. Use
28680// googleapi.IsNotModified to check whether the returned error was
28681// because http.StatusNotModified was returned.
28682func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Do(opts ...googleapi.CallOption) (*IngestMessageResponse, error) {
28683	gensupport.SetOptions(c.urlParams_, opts...)
28684	res, err := c.doRequest("json")
28685	if res != nil && res.StatusCode == http.StatusNotModified {
28686		if res.Body != nil {
28687			res.Body.Close()
28688		}
28689		return nil, &googleapi.Error{
28690			Code:   res.StatusCode,
28691			Header: res.Header,
28692		}
28693	}
28694	if err != nil {
28695		return nil, err
28696	}
28697	defer googleapi.CloseBody(res)
28698	if err := googleapi.CheckResponse(res); err != nil {
28699		return nil, err
28700	}
28701	ret := &IngestMessageResponse{
28702		ServerResponse: googleapi.ServerResponse{
28703			Header:         res.Header,
28704			HTTPStatusCode: res.StatusCode,
28705		},
28706	}
28707	target := &ret
28708	if err := gensupport.DecodeResponse(target, res); err != nil {
28709		return nil, err
28710	}
28711	return ret, nil
28712	// {
28713	//   "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.",
28714	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest",
28715	//   "httpMethod": "POST",
28716	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest",
28717	//   "parameterOrder": [
28718	//     "parent"
28719	//   ],
28720	//   "parameters": {
28721	//     "parent": {
28722	//       "description": "The name of the HL7v2 store this message belongs to.",
28723	//       "location": "path",
28724	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28725	//       "required": true,
28726	//       "type": "string"
28727	//     }
28728	//   },
28729	//   "path": "v1beta1/{+parent}/messages:ingest",
28730	//   "request": {
28731	//     "$ref": "IngestMessageRequest"
28732	//   },
28733	//   "response": {
28734	//     "$ref": "IngestMessageResponse"
28735	//   },
28736	//   "scopes": [
28737	//     "https://www.googleapis.com/auth/cloud-platform"
28738	//   ]
28739	// }
28740
28741}
28742
28743// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.list":
28744
28745type ProjectsLocationsDatasetsHl7V2StoresMessagesListCall struct {
28746	s            *Service
28747	parent       string
28748	urlParams_   gensupport.URLParams
28749	ifNoneMatch_ string
28750	ctx_         context.Context
28751	header_      http.Header
28752}
28753
28754// List: Lists all the messages in the given HL7v2 store with support
28755// for filtering. Note: HL7v2 messages are indexed asynchronously, so
28756// there might be a slight delay between the time a message is created
28757// and when it can be found through a filter.
28758//
28759// - parent: Name of the HL7v2 store to retrieve messages from.
28760func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28761	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28762	c.parent = parent
28763	return c
28764}
28765
28766// Filter sets the optional parameter "filter": Restricts messages
28767// returned to those matching a filter. The following syntax is
28768// available: * A string field value can be written as text inside
28769// quotation marks, for example "query text". The only valid
28770// relational operation for text fields is equality (`=`), where text is
28771// searched within the field, rather than having the field be equal to
28772// the text. For example, "Comment = great" returns messages with
28773// `great` in the comment field. * A number field value can be written
28774// as an integer, a decimal, or an exponential. The valid relational
28775// operators for number fields are the equality operator (`=`), along
28776// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
28777// Note that there is no inequality (`!=`) operator. You can prepend the
28778// `NOT` operator to an expression to negate it. * A date field value
28779// must be written in `yyyy-mm-dd` form. Fields with date and time use
28780// the RFC3339 time format. Leading zeros are required for one-digit
28781// months and days. The valid relational operators for date fields are
28782// the equality operator (`=`) , along with the less than/greater than
28783// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
28784// (`!=`) operator. You can prepend the `NOT` operator to an expression
28785// to negate it. * Multiple field query expressions can be combined in
28786// one query by adding `AND` or `OR` operators between the expressions.
28787// If a boolean operator appears within a quoted string, it is not
28788// treated as special, it's just another part of the character string to
28789// be matched. You can prepend the `NOT` operator to an expression to
28790// negate it. Fields/functions available for filtering are: *
28791// `message_type`, from the MSH-9.1 field. For example, `NOT
28792// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
28793// date the message was sent in the dataset's time_zone, from the MSH-7
28794// segment. For example, `send_date < "2017-01-02". * `send_time`, the
28795// timestamp when the message was sent, using the RFC3339 time format
28796// for comparisons, from the MSH-7 segment. For example, `send_time <
28797// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
28798// message was created in the HL7v2 store. Use the RFC3339 time format
28799// for comparisons. For example, `create_time <
28800// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
28801// the message came from, from the MSH-4 segment. For example,
28802// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
28803// the message lists a patient having an ID of the given value and type
28804// in the PID-2, PID-3, or PID-4 segments. For example,
28805// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
28806// label with key `x` as set using the Message.labels map. For example,
28807// `labels."priority"="high". The operator `:*` can be used to assert
28808// the existence of a label. For example, `labels."priority":*`.
28809func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28810	c.urlParams_.Set("filter", filter)
28811	return c
28812}
28813
28814// OrderBy sets the optional parameter "orderBy": Orders messages
28815// returned by the specified order_by clause. Syntax:
28816// https://cloud.google.com/apis/design/design_patterns#sorting_order
28817// Fields available for ordering are: * `send_time`
28818func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28819	c.urlParams_.Set("orderBy", orderBy)
28820	return c
28821}
28822
28823// PageSize sets the optional parameter "pageSize": Limit on the number
28824// of messages to return in a single response. If not specified, 100 is
28825// used. May not be larger than 1000.
28826func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28827	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28828	return c
28829}
28830
28831// PageToken sets the optional parameter "pageToken": The
28832// next_page_token value returned from the previous List request, if
28833// any.
28834func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28835	c.urlParams_.Set("pageToken", pageToken)
28836	return c
28837}
28838
28839// View sets the optional parameter "view": Specifies the parts of the
28840// Message to return in the response. When unspecified, equivalent to
28841// BASIC. Setting this to anything other than BASIC with a `page_size`
28842// larger than the default can generate a large response, which impacts
28843// the performance of this method.
28844//
28845// Possible values:
28846//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28847// getMessage, equivalent to BASIC for listMessages.
28848//   "RAW_ONLY" - Server responses include all the message fields except
28849// parsed_data, and schematized_data fields.
28850//   "PARSED_ONLY" - Server responses include all the message fields
28851// except data and schematized_data fields.
28852//   "FULL" - Server responses include all the message fields.
28853//   "SCHEMATIZED_ONLY" - Server responses include all the message
28854// fields except data and parsed_data fields.
28855//   "BASIC" - Server responses include only the name field.
28856func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28857	c.urlParams_.Set("view", view)
28858	return c
28859}
28860
28861// Fields allows partial responses to be retrieved. See
28862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28863// for more information.
28864func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28866	return c
28867}
28868
28869// IfNoneMatch sets the optional parameter which makes the operation
28870// fail if the object's ETag matches the given value. This is useful for
28871// getting updates only after the object has changed since the last
28872// request. Use googleapi.IsNotModified to check whether the response
28873// error from Do is the result of In-None-Match.
28874func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28875	c.ifNoneMatch_ = entityTag
28876	return c
28877}
28878
28879// Context sets the context to be used in this call's Do method. Any
28880// pending HTTP request will be aborted if the provided context is
28881// canceled.
28882func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
28883	c.ctx_ = ctx
28884	return c
28885}
28886
28887// Header returns an http.Header that can be modified by the caller to
28888// add HTTP headers to the request.
28889func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Header() http.Header {
28890	if c.header_ == nil {
28891		c.header_ = make(http.Header)
28892	}
28893	return c.header_
28894}
28895
28896func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
28897	reqHeaders := make(http.Header)
28898	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28899	for k, v := range c.header_ {
28900		reqHeaders[k] = v
28901	}
28902	reqHeaders.Set("User-Agent", c.s.userAgent())
28903	if c.ifNoneMatch_ != "" {
28904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28905	}
28906	var body io.Reader = nil
28907	c.urlParams_.Set("alt", alt)
28908	c.urlParams_.Set("prettyPrint", "false")
28909	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28910	urls += "?" + c.urlParams_.Encode()
28911	req, err := http.NewRequest("GET", urls, body)
28912	if err != nil {
28913		return nil, err
28914	}
28915	req.Header = reqHeaders
28916	googleapi.Expand(req.URL, map[string]string{
28917		"parent": c.parent,
28918	})
28919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28920}
28921
28922// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.list" call.
28923// Exactly one of *ListMessagesResponse or error will be non-nil. Any
28924// non-2xx status code is an error. Response headers are in either
28925// *ListMessagesResponse.ServerResponse.Header or (if a response was
28926// returned at all) in error.(*googleapi.Error).Header. Use
28927// googleapi.IsNotModified to check whether the returned error was
28928// because http.StatusNotModified was returned.
28929func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Do(opts ...googleapi.CallOption) (*ListMessagesResponse, error) {
28930	gensupport.SetOptions(c.urlParams_, opts...)
28931	res, err := c.doRequest("json")
28932	if res != nil && res.StatusCode == http.StatusNotModified {
28933		if res.Body != nil {
28934			res.Body.Close()
28935		}
28936		return nil, &googleapi.Error{
28937			Code:   res.StatusCode,
28938			Header: res.Header,
28939		}
28940	}
28941	if err != nil {
28942		return nil, err
28943	}
28944	defer googleapi.CloseBody(res)
28945	if err := googleapi.CheckResponse(res); err != nil {
28946		return nil, err
28947	}
28948	ret := &ListMessagesResponse{
28949		ServerResponse: googleapi.ServerResponse{
28950			Header:         res.Header,
28951			HTTPStatusCode: res.StatusCode,
28952		},
28953	}
28954	target := &ret
28955	if err := gensupport.DecodeResponse(target, res); err != nil {
28956		return nil, err
28957	}
28958	return ret, nil
28959	// {
28960	//   "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.",
28961	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28962	//   "httpMethod": "GET",
28963	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list",
28964	//   "parameterOrder": [
28965	//     "parent"
28966	//   ],
28967	//   "parameters": {
28968	//     "filter": {
28969	//       "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\":*`.",
28970	//       "location": "query",
28971	//       "type": "string"
28972	//     },
28973	//     "orderBy": {
28974	//       "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`",
28975	//       "location": "query",
28976	//       "type": "string"
28977	//     },
28978	//     "pageSize": {
28979	//       "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.",
28980	//       "format": "int32",
28981	//       "location": "query",
28982	//       "type": "integer"
28983	//     },
28984	//     "pageToken": {
28985	//       "description": "The next_page_token value returned from the previous List request, if any.",
28986	//       "location": "query",
28987	//       "type": "string"
28988	//     },
28989	//     "parent": {
28990	//       "description": "Name of the HL7v2 store to retrieve messages from.",
28991	//       "location": "path",
28992	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28993	//       "required": true,
28994	//       "type": "string"
28995	//     },
28996	//     "view": {
28997	//       "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.",
28998	//       "enum": [
28999	//         "MESSAGE_VIEW_UNSPECIFIED",
29000	//         "RAW_ONLY",
29001	//         "PARSED_ONLY",
29002	//         "FULL",
29003	//         "SCHEMATIZED_ONLY",
29004	//         "BASIC"
29005	//       ],
29006	//       "enumDescriptions": [
29007	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
29008	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
29009	//         "Server responses include all the message fields except data and schematized_data fields.",
29010	//         "Server responses include all the message fields.",
29011	//         "Server responses include all the message fields except data and parsed_data fields.",
29012	//         "Server responses include only the name field."
29013	//       ],
29014	//       "location": "query",
29015	//       "type": "string"
29016	//     }
29017	//   },
29018	//   "path": "v1beta1/{+parent}/messages",
29019	//   "response": {
29020	//     "$ref": "ListMessagesResponse"
29021	//   },
29022	//   "scopes": [
29023	//     "https://www.googleapis.com/auth/cloud-platform"
29024	//   ]
29025	// }
29026
29027}
29028
29029// Pages invokes f for each page of results.
29030// A non-nil error returned from f will halt the iteration.
29031// The provided context supersedes any context provided to the Context method.
29032func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Pages(ctx context.Context, f func(*ListMessagesResponse) error) error {
29033	c.ctx_ = ctx
29034	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29035	for {
29036		x, err := c.Do()
29037		if err != nil {
29038			return err
29039		}
29040		if err := f(x); err != nil {
29041			return err
29042		}
29043		if x.NextPageToken == "" {
29044			return nil
29045		}
29046		c.PageToken(x.NextPageToken)
29047	}
29048}
29049
29050// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch":
29051
29052type ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall struct {
29053	s          *Service
29054	name       string
29055	message    *Message
29056	urlParams_ gensupport.URLParams
29057	ctx_       context.Context
29058	header_    http.Header
29059}
29060
29061// Patch: Update the message. The contents of the message in
29062// Message.data and data extracted from the contents such as
29063// Message.create_time can't be altered. Only the Message.labels field
29064// is allowed to be updated. The labels in the request are merged with
29065// the existing set of labels. Existing labels with the same keys are
29066// updated.
29067//
29068// - name: Resource name of the Message, of the form
29069//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_sto
29070//   re_id}/messages/{message_id}`. Assigned by the server.
29071func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Patch(name string, message *Message) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29072	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29073	c.name = name
29074	c.message = message
29075	return c
29076}
29077
29078// UpdateMask sets the optional parameter "updateMask": The update mask
29079// applies to the resource. For the `FieldMask` definition, see
29080// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
29081func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29082	c.urlParams_.Set("updateMask", updateMask)
29083	return c
29084}
29085
29086// Fields allows partial responses to be retrieved. See
29087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29088// for more information.
29089func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29091	return c
29092}
29093
29094// Context sets the context to be used in this call's Do method. Any
29095// pending HTTP request will be aborted if the provided context is
29096// canceled.
29097func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29098	c.ctx_ = ctx
29099	return c
29100}
29101
29102// Header returns an http.Header that can be modified by the caller to
29103// add HTTP headers to the request.
29104func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Header() http.Header {
29105	if c.header_ == nil {
29106		c.header_ = make(http.Header)
29107	}
29108	return c.header_
29109}
29110
29111func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
29112	reqHeaders := make(http.Header)
29113	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29114	for k, v := range c.header_ {
29115		reqHeaders[k] = v
29116	}
29117	reqHeaders.Set("User-Agent", c.s.userAgent())
29118	var body io.Reader = nil
29119	body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
29120	if err != nil {
29121		return nil, err
29122	}
29123	reqHeaders.Set("Content-Type", "application/json")
29124	c.urlParams_.Set("alt", alt)
29125	c.urlParams_.Set("prettyPrint", "false")
29126	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29127	urls += "?" + c.urlParams_.Encode()
29128	req, err := http.NewRequest("PATCH", urls, body)
29129	if err != nil {
29130		return nil, err
29131	}
29132	req.Header = reqHeaders
29133	googleapi.Expand(req.URL, map[string]string{
29134		"name": c.name,
29135	})
29136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29137}
29138
29139// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch" call.
29140// Exactly one of *Message or error will be non-nil. Any non-2xx status
29141// code is an error. Response headers are in either
29142// *Message.ServerResponse.Header or (if a response was returned at all)
29143// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29144// check whether the returned error was because http.StatusNotModified
29145// was returned.
29146func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Do(opts ...googleapi.CallOption) (*Message, error) {
29147	gensupport.SetOptions(c.urlParams_, opts...)
29148	res, err := c.doRequest("json")
29149	if res != nil && res.StatusCode == http.StatusNotModified {
29150		if res.Body != nil {
29151			res.Body.Close()
29152		}
29153		return nil, &googleapi.Error{
29154			Code:   res.StatusCode,
29155			Header: res.Header,
29156		}
29157	}
29158	if err != nil {
29159		return nil, err
29160	}
29161	defer googleapi.CloseBody(res)
29162	if err := googleapi.CheckResponse(res); err != nil {
29163		return nil, err
29164	}
29165	ret := &Message{
29166		ServerResponse: googleapi.ServerResponse{
29167			Header:         res.Header,
29168			HTTPStatusCode: res.StatusCode,
29169		},
29170	}
29171	target := &ret
29172	if err := gensupport.DecodeResponse(target, res); err != nil {
29173		return nil, err
29174	}
29175	return ret, nil
29176	// {
29177	//   "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.",
29178	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
29179	//   "httpMethod": "PATCH",
29180	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch",
29181	//   "parameterOrder": [
29182	//     "name"
29183	//   ],
29184	//   "parameters": {
29185	//     "name": {
29186	//       "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.",
29187	//       "location": "path",
29188	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
29189	//       "required": true,
29190	//       "type": "string"
29191	//     },
29192	//     "updateMask": {
29193	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
29194	//       "format": "google-fieldmask",
29195	//       "location": "query",
29196	//       "type": "string"
29197	//     }
29198	//   },
29199	//   "path": "v1beta1/{+name}",
29200	//   "request": {
29201	//     "$ref": "Message"
29202	//   },
29203	//   "response": {
29204	//     "$ref": "Message"
29205	//   },
29206	//   "scopes": [
29207	//     "https://www.googleapis.com/auth/cloud-platform"
29208	//   ]
29209	// }
29210
29211}
29212
29213// method id "healthcare.projects.locations.datasets.operations.cancel":
29214
29215type ProjectsLocationsDatasetsOperationsCancelCall struct {
29216	s                      *Service
29217	name                   string
29218	canceloperationrequest *CancelOperationRequest
29219	urlParams_             gensupport.URLParams
29220	ctx_                   context.Context
29221	header_                http.Header
29222}
29223
29224// Cancel: Starts asynchronous cancellation on a long-running operation.
29225// The server makes a best effort to cancel the operation, but success
29226// is not guaranteed. If the server doesn't support this method, it
29227// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
29228// Operations.GetOperation or other methods to check whether the
29229// cancellation succeeded or whether the operation completed despite
29230// cancellation. On successful cancellation, the operation is not
29231// deleted; instead, it becomes an operation with an Operation.error
29232// value with a google.rpc.Status.code of 1, corresponding to
29233// `Code.CANCELLED`.
29234//
29235// - name: The name of the operation resource to be cancelled.
29236func (r *ProjectsLocationsDatasetsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsDatasetsOperationsCancelCall {
29237	c := &ProjectsLocationsDatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29238	c.name = name
29239	c.canceloperationrequest = canceloperationrequest
29240	return c
29241}
29242
29243// Fields allows partial responses to be retrieved. See
29244// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29245// for more information.
29246func (c *ProjectsLocationsDatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsCancelCall {
29247	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29248	return c
29249}
29250
29251// Context sets the context to be used in this call's Do method. Any
29252// pending HTTP request will be aborted if the provided context is
29253// canceled.
29254func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
29255	c.ctx_ = ctx
29256	return c
29257}
29258
29259// Header returns an http.Header that can be modified by the caller to
29260// add HTTP headers to the request.
29261func (c *ProjectsLocationsDatasetsOperationsCancelCall) Header() http.Header {
29262	if c.header_ == nil {
29263		c.header_ = make(http.Header)
29264	}
29265	return c.header_
29266}
29267
29268func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
29269	reqHeaders := make(http.Header)
29270	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29271	for k, v := range c.header_ {
29272		reqHeaders[k] = v
29273	}
29274	reqHeaders.Set("User-Agent", c.s.userAgent())
29275	var body io.Reader = nil
29276	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
29277	if err != nil {
29278		return nil, err
29279	}
29280	reqHeaders.Set("Content-Type", "application/json")
29281	c.urlParams_.Set("alt", alt)
29282	c.urlParams_.Set("prettyPrint", "false")
29283	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
29284	urls += "?" + c.urlParams_.Encode()
29285	req, err := http.NewRequest("POST", urls, body)
29286	if err != nil {
29287		return nil, err
29288	}
29289	req.Header = reqHeaders
29290	googleapi.Expand(req.URL, map[string]string{
29291		"name": c.name,
29292	})
29293	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29294}
29295
29296// Do executes the "healthcare.projects.locations.datasets.operations.cancel" call.
29297// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29298// code is an error. Response headers are in either
29299// *Empty.ServerResponse.Header or (if a response was returned at all)
29300// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29301// check whether the returned error was because http.StatusNotModified
29302// was returned.
29303func (c *ProjectsLocationsDatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29304	gensupport.SetOptions(c.urlParams_, opts...)
29305	res, err := c.doRequest("json")
29306	if res != nil && res.StatusCode == http.StatusNotModified {
29307		if res.Body != nil {
29308			res.Body.Close()
29309		}
29310		return nil, &googleapi.Error{
29311			Code:   res.StatusCode,
29312			Header: res.Header,
29313		}
29314	}
29315	if err != nil {
29316		return nil, err
29317	}
29318	defer googleapi.CloseBody(res)
29319	if err := googleapi.CheckResponse(res); err != nil {
29320		return nil, err
29321	}
29322	ret := &Empty{
29323		ServerResponse: googleapi.ServerResponse{
29324			Header:         res.Header,
29325			HTTPStatusCode: res.StatusCode,
29326		},
29327	}
29328	target := &ret
29329	if err := gensupport.DecodeResponse(target, res); err != nil {
29330		return nil, err
29331	}
29332	return ret, nil
29333	// {
29334	//   "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`.",
29335	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
29336	//   "httpMethod": "POST",
29337	//   "id": "healthcare.projects.locations.datasets.operations.cancel",
29338	//   "parameterOrder": [
29339	//     "name"
29340	//   ],
29341	//   "parameters": {
29342	//     "name": {
29343	//       "description": "The name of the operation resource to be cancelled.",
29344	//       "location": "path",
29345	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29346	//       "required": true,
29347	//       "type": "string"
29348	//     }
29349	//   },
29350	//   "path": "v1beta1/{+name}:cancel",
29351	//   "request": {
29352	//     "$ref": "CancelOperationRequest"
29353	//   },
29354	//   "response": {
29355	//     "$ref": "Empty"
29356	//   },
29357	//   "scopes": [
29358	//     "https://www.googleapis.com/auth/cloud-platform"
29359	//   ]
29360	// }
29361
29362}
29363
29364// method id "healthcare.projects.locations.datasets.operations.get":
29365
29366type ProjectsLocationsDatasetsOperationsGetCall struct {
29367	s            *Service
29368	name         string
29369	urlParams_   gensupport.URLParams
29370	ifNoneMatch_ string
29371	ctx_         context.Context
29372	header_      http.Header
29373}
29374
29375// Get: Gets the latest state of a long-running operation. Clients can
29376// use this method to poll the operation result at intervals as
29377// recommended by the API service.
29378//
29379// - name: The name of the operation resource.
29380func (r *ProjectsLocationsDatasetsOperationsService) Get(name string) *ProjectsLocationsDatasetsOperationsGetCall {
29381	c := &ProjectsLocationsDatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29382	c.name = name
29383	return c
29384}
29385
29386// Fields allows partial responses to be retrieved. See
29387// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29388// for more information.
29389func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
29390	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29391	return c
29392}
29393
29394// IfNoneMatch sets the optional parameter which makes the operation
29395// fail if the object's ETag matches the given value. This is useful for
29396// getting updates only after the object has changed since the last
29397// request. Use googleapi.IsNotModified to check whether the response
29398// error from Do is the result of In-None-Match.
29399func (c *ProjectsLocationsDatasetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsGetCall {
29400	c.ifNoneMatch_ = entityTag
29401	return c
29402}
29403
29404// Context sets the context to be used in this call's Do method. Any
29405// pending HTTP request will be aborted if the provided context is
29406// canceled.
29407func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
29408	c.ctx_ = ctx
29409	return c
29410}
29411
29412// Header returns an http.Header that can be modified by the caller to
29413// add HTTP headers to the request.
29414func (c *ProjectsLocationsDatasetsOperationsGetCall) Header() http.Header {
29415	if c.header_ == nil {
29416		c.header_ = make(http.Header)
29417	}
29418	return c.header_
29419}
29420
29421func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
29422	reqHeaders := make(http.Header)
29423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29424	for k, v := range c.header_ {
29425		reqHeaders[k] = v
29426	}
29427	reqHeaders.Set("User-Agent", c.s.userAgent())
29428	if c.ifNoneMatch_ != "" {
29429		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29430	}
29431	var body io.Reader = nil
29432	c.urlParams_.Set("alt", alt)
29433	c.urlParams_.Set("prettyPrint", "false")
29434	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29435	urls += "?" + c.urlParams_.Encode()
29436	req, err := http.NewRequest("GET", urls, body)
29437	if err != nil {
29438		return nil, err
29439	}
29440	req.Header = reqHeaders
29441	googleapi.Expand(req.URL, map[string]string{
29442		"name": c.name,
29443	})
29444	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29445}
29446
29447// Do executes the "healthcare.projects.locations.datasets.operations.get" call.
29448// Exactly one of *Operation or error will be non-nil. Any non-2xx
29449// status code is an error. Response headers are in either
29450// *Operation.ServerResponse.Header or (if a response was returned at
29451// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29452// to check whether the returned error was because
29453// http.StatusNotModified was returned.
29454func (c *ProjectsLocationsDatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
29455	gensupport.SetOptions(c.urlParams_, opts...)
29456	res, err := c.doRequest("json")
29457	if res != nil && res.StatusCode == http.StatusNotModified {
29458		if res.Body != nil {
29459			res.Body.Close()
29460		}
29461		return nil, &googleapi.Error{
29462			Code:   res.StatusCode,
29463			Header: res.Header,
29464		}
29465	}
29466	if err != nil {
29467		return nil, err
29468	}
29469	defer googleapi.CloseBody(res)
29470	if err := googleapi.CheckResponse(res); err != nil {
29471		return nil, err
29472	}
29473	ret := &Operation{
29474		ServerResponse: googleapi.ServerResponse{
29475			Header:         res.Header,
29476			HTTPStatusCode: res.StatusCode,
29477		},
29478	}
29479	target := &ret
29480	if err := gensupport.DecodeResponse(target, res); err != nil {
29481		return nil, err
29482	}
29483	return ret, nil
29484	// {
29485	//   "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.",
29486	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
29487	//   "httpMethod": "GET",
29488	//   "id": "healthcare.projects.locations.datasets.operations.get",
29489	//   "parameterOrder": [
29490	//     "name"
29491	//   ],
29492	//   "parameters": {
29493	//     "name": {
29494	//       "description": "The name of the operation resource.",
29495	//       "location": "path",
29496	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29497	//       "required": true,
29498	//       "type": "string"
29499	//     }
29500	//   },
29501	//   "path": "v1beta1/{+name}",
29502	//   "response": {
29503	//     "$ref": "Operation"
29504	//   },
29505	//   "scopes": [
29506	//     "https://www.googleapis.com/auth/cloud-platform"
29507	//   ]
29508	// }
29509
29510}
29511
29512// method id "healthcare.projects.locations.datasets.operations.list":
29513
29514type ProjectsLocationsDatasetsOperationsListCall struct {
29515	s            *Service
29516	name         string
29517	urlParams_   gensupport.URLParams
29518	ifNoneMatch_ string
29519	ctx_         context.Context
29520	header_      http.Header
29521}
29522
29523// List: Lists operations that match the specified filter in the
29524// request. If the server doesn't support this method, it returns
29525// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
29526// override the binding to use different resource name schemes, such as
29527// `users/*/operations`. To override the binding, API services can add a
29528// binding such as "/v1/{name=users/*}/operations" to their service
29529// configuration. For backwards compatibility, the default name includes
29530// the operations collection id, however overriding users must ensure
29531// the name binding is the parent resource, without the operations
29532// collection id.
29533//
29534// - name: The name of the operation's parent resource.
29535func (r *ProjectsLocationsDatasetsOperationsService) List(name string) *ProjectsLocationsDatasetsOperationsListCall {
29536	c := &ProjectsLocationsDatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29537	c.name = name
29538	return c
29539}
29540
29541// Filter sets the optional parameter "filter": The standard list
29542// filter.
29543func (c *ProjectsLocationsDatasetsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsOperationsListCall {
29544	c.urlParams_.Set("filter", filter)
29545	return c
29546}
29547
29548// PageSize sets the optional parameter "pageSize": The standard list
29549// page size.
29550func (c *ProjectsLocationsDatasetsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsOperationsListCall {
29551	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29552	return c
29553}
29554
29555// PageToken sets the optional parameter "pageToken": The standard list
29556// page token.
29557func (c *ProjectsLocationsDatasetsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsOperationsListCall {
29558	c.urlParams_.Set("pageToken", pageToken)
29559	return c
29560}
29561
29562// Fields allows partial responses to be retrieved. See
29563// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29564// for more information.
29565func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
29566	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29567	return c
29568}
29569
29570// IfNoneMatch sets the optional parameter which makes the operation
29571// fail if the object's ETag matches the given value. This is useful for
29572// getting updates only after the object has changed since the last
29573// request. Use googleapi.IsNotModified to check whether the response
29574// error from Do is the result of In-None-Match.
29575func (c *ProjectsLocationsDatasetsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsListCall {
29576	c.ifNoneMatch_ = entityTag
29577	return c
29578}
29579
29580// Context sets the context to be used in this call's Do method. Any
29581// pending HTTP request will be aborted if the provided context is
29582// canceled.
29583func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
29584	c.ctx_ = ctx
29585	return c
29586}
29587
29588// Header returns an http.Header that can be modified by the caller to
29589// add HTTP headers to the request.
29590func (c *ProjectsLocationsDatasetsOperationsListCall) Header() http.Header {
29591	if c.header_ == nil {
29592		c.header_ = make(http.Header)
29593	}
29594	return c.header_
29595}
29596
29597func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
29598	reqHeaders := make(http.Header)
29599	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29600	for k, v := range c.header_ {
29601		reqHeaders[k] = v
29602	}
29603	reqHeaders.Set("User-Agent", c.s.userAgent())
29604	if c.ifNoneMatch_ != "" {
29605		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29606	}
29607	var body io.Reader = nil
29608	c.urlParams_.Set("alt", alt)
29609	c.urlParams_.Set("prettyPrint", "false")
29610	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations")
29611	urls += "?" + c.urlParams_.Encode()
29612	req, err := http.NewRequest("GET", urls, body)
29613	if err != nil {
29614		return nil, err
29615	}
29616	req.Header = reqHeaders
29617	googleapi.Expand(req.URL, map[string]string{
29618		"name": c.name,
29619	})
29620	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29621}
29622
29623// Do executes the "healthcare.projects.locations.datasets.operations.list" call.
29624// Exactly one of *ListOperationsResponse or error will be non-nil. Any
29625// non-2xx status code is an error. Response headers are in either
29626// *ListOperationsResponse.ServerResponse.Header or (if a response was
29627// returned at all) in error.(*googleapi.Error).Header. Use
29628// googleapi.IsNotModified to check whether the returned error was
29629// because http.StatusNotModified was returned.
29630func (c *ProjectsLocationsDatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
29631	gensupport.SetOptions(c.urlParams_, opts...)
29632	res, err := c.doRequest("json")
29633	if res != nil && res.StatusCode == http.StatusNotModified {
29634		if res.Body != nil {
29635			res.Body.Close()
29636		}
29637		return nil, &googleapi.Error{
29638			Code:   res.StatusCode,
29639			Header: res.Header,
29640		}
29641	}
29642	if err != nil {
29643		return nil, err
29644	}
29645	defer googleapi.CloseBody(res)
29646	if err := googleapi.CheckResponse(res); err != nil {
29647		return nil, err
29648	}
29649	ret := &ListOperationsResponse{
29650		ServerResponse: googleapi.ServerResponse{
29651			Header:         res.Header,
29652			HTTPStatusCode: res.StatusCode,
29653		},
29654	}
29655	target := &ret
29656	if err := gensupport.DecodeResponse(target, res); err != nil {
29657		return nil, err
29658	}
29659	return ret, nil
29660	// {
29661	//   "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.",
29662	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
29663	//   "httpMethod": "GET",
29664	//   "id": "healthcare.projects.locations.datasets.operations.list",
29665	//   "parameterOrder": [
29666	//     "name"
29667	//   ],
29668	//   "parameters": {
29669	//     "filter": {
29670	//       "description": "The standard list filter.",
29671	//       "location": "query",
29672	//       "type": "string"
29673	//     },
29674	//     "name": {
29675	//       "description": "The name of the operation's parent resource.",
29676	//       "location": "path",
29677	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
29678	//       "required": true,
29679	//       "type": "string"
29680	//     },
29681	//     "pageSize": {
29682	//       "description": "The standard list page size.",
29683	//       "format": "int32",
29684	//       "location": "query",
29685	//       "type": "integer"
29686	//     },
29687	//     "pageToken": {
29688	//       "description": "The standard list page token.",
29689	//       "location": "query",
29690	//       "type": "string"
29691	//     }
29692	//   },
29693	//   "path": "v1beta1/{+name}/operations",
29694	//   "response": {
29695	//     "$ref": "ListOperationsResponse"
29696	//   },
29697	//   "scopes": [
29698	//     "https://www.googleapis.com/auth/cloud-platform"
29699	//   ]
29700	// }
29701
29702}
29703
29704// Pages invokes f for each page of results.
29705// A non-nil error returned from f will halt the iteration.
29706// The provided context supersedes any context provided to the Context method.
29707func (c *ProjectsLocationsDatasetsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
29708	c.ctx_ = ctx
29709	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29710	for {
29711		x, err := c.Do()
29712		if err != nil {
29713			return err
29714		}
29715		if err := f(x); err != nil {
29716			return err
29717		}
29718		if x.NextPageToken == "" {
29719			return nil
29720		}
29721		c.PageToken(x.NextPageToken)
29722	}
29723}
29724
29725// method id "healthcare.projects.locations.services.nlp.analyzeEntities":
29726
29727type ProjectsLocationsServicesNlpAnalyzeEntitiesCall struct {
29728	s                      *Service
29729	nlpService             string
29730	analyzeentitiesrequest *AnalyzeEntitiesRequest
29731	urlParams_             gensupport.URLParams
29732	ctx_                   context.Context
29733	header_                http.Header
29734}
29735
29736// AnalyzeEntities: Analyze heathcare entity in a document. Its response
29737// includes the recognized entity mentions and the relationships between
29738// them. AnalyzeEntities uses context aware models to detect entities.
29739//
29740// - nlpService: The resource name of the service of the form:
29741//   "projects/{project_id}/locations/{location_id}/services/nlp".
29742func (r *ProjectsLocationsServicesNlpService) AnalyzeEntities(nlpService string, analyzeentitiesrequest *AnalyzeEntitiesRequest) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29743	c := &ProjectsLocationsServicesNlpAnalyzeEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29744	c.nlpService = nlpService
29745	c.analyzeentitiesrequest = analyzeentitiesrequest
29746	return c
29747}
29748
29749// Fields allows partial responses to be retrieved. See
29750// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29751// for more information.
29752func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29753	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29754	return c
29755}
29756
29757// Context sets the context to be used in this call's Do method. Any
29758// pending HTTP request will be aborted if the provided context is
29759// canceled.
29760func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Context(ctx context.Context) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
29761	c.ctx_ = ctx
29762	return c
29763}
29764
29765// Header returns an http.Header that can be modified by the caller to
29766// add HTTP headers to the request.
29767func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Header() http.Header {
29768	if c.header_ == nil {
29769		c.header_ = make(http.Header)
29770	}
29771	return c.header_
29772}
29773
29774func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
29775	reqHeaders := make(http.Header)
29776	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29777	for k, v := range c.header_ {
29778		reqHeaders[k] = v
29779	}
29780	reqHeaders.Set("User-Agent", c.s.userAgent())
29781	var body io.Reader = nil
29782	body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzeentitiesrequest)
29783	if err != nil {
29784		return nil, err
29785	}
29786	reqHeaders.Set("Content-Type", "application/json")
29787	c.urlParams_.Set("alt", alt)
29788	c.urlParams_.Set("prettyPrint", "false")
29789	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+nlpService}:analyzeEntities")
29790	urls += "?" + c.urlParams_.Encode()
29791	req, err := http.NewRequest("POST", urls, body)
29792	if err != nil {
29793		return nil, err
29794	}
29795	req.Header = reqHeaders
29796	googleapi.Expand(req.URL, map[string]string{
29797		"nlpService": c.nlpService,
29798	})
29799	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29800}
29801
29802// Do executes the "healthcare.projects.locations.services.nlp.analyzeEntities" call.
29803// Exactly one of *AnalyzeEntitiesResponse or error will be non-nil. Any
29804// non-2xx status code is an error. Response headers are in either
29805// *AnalyzeEntitiesResponse.ServerResponse.Header or (if a response was
29806// returned at all) in error.(*googleapi.Error).Header. Use
29807// googleapi.IsNotModified to check whether the returned error was
29808// because http.StatusNotModified was returned.
29809func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*AnalyzeEntitiesResponse, error) {
29810	gensupport.SetOptions(c.urlParams_, opts...)
29811	res, err := c.doRequest("json")
29812	if res != nil && res.StatusCode == http.StatusNotModified {
29813		if res.Body != nil {
29814			res.Body.Close()
29815		}
29816		return nil, &googleapi.Error{
29817			Code:   res.StatusCode,
29818			Header: res.Header,
29819		}
29820	}
29821	if err != nil {
29822		return nil, err
29823	}
29824	defer googleapi.CloseBody(res)
29825	if err := googleapi.CheckResponse(res); err != nil {
29826		return nil, err
29827	}
29828	ret := &AnalyzeEntitiesResponse{
29829		ServerResponse: googleapi.ServerResponse{
29830			Header:         res.Header,
29831			HTTPStatusCode: res.StatusCode,
29832		},
29833	}
29834	target := &ret
29835	if err := gensupport.DecodeResponse(target, res); err != nil {
29836		return nil, err
29837	}
29838	return ret, nil
29839	// {
29840	//   "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.",
29841	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/services/nlp:analyzeEntities",
29842	//   "httpMethod": "POST",
29843	//   "id": "healthcare.projects.locations.services.nlp.analyzeEntities",
29844	//   "parameterOrder": [
29845	//     "nlpService"
29846	//   ],
29847	//   "parameters": {
29848	//     "nlpService": {
29849	//       "description": "The resource name of the service of the form: \"projects/{project_id}/locations/{location_id}/services/nlp\".",
29850	//       "location": "path",
29851	//       "pattern": "^projects/[^/]+/locations/[^/]+/services/nlp$",
29852	//       "required": true,
29853	//       "type": "string"
29854	//     }
29855	//   },
29856	//   "path": "v1beta1/{+nlpService}:analyzeEntities",
29857	//   "request": {
29858	//     "$ref": "AnalyzeEntitiesRequest"
29859	//   },
29860	//   "response": {
29861	//     "$ref": "AnalyzeEntitiesResponse"
29862	//   },
29863	//   "scopes": [
29864	//     "https://www.googleapis.com/auth/cloud-platform"
29865	//   ]
29866	// }
29867
29868}
29869