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	// LicensedVocabularies: A list of licensed vocabularies to use in the
453	// request, in addition to the default unlicensed vocabularies.
454	//
455	// Possible values:
456	//   "LICENSED_VOCABULARY_UNSPECIFIED" - No licensed vocabulary
457	// specified.
458	//   "ICD10CM" - ICD-10-CM vocabulary
459	//   "SNOMEDCT_US" - SNOMED CT (US version) vocabulary
460	LicensedVocabularies []string `json:"licensedVocabularies,omitempty"`
461
462	// ForceSendFields is a list of field names (e.g. "DocumentContent") to
463	// unconditionally include in API requests. By default, fields with
464	// empty values are omitted from API requests. However, any non-pointer,
465	// non-interface field appearing in ForceSendFields will be sent to the
466	// server regardless of whether the field is empty or not. This may be
467	// used to include empty fields in Patch requests.
468	ForceSendFields []string `json:"-"`
469
470	// NullFields is a list of field names (e.g. "DocumentContent") to
471	// include in API requests with the JSON null value. By default, fields
472	// with empty values are omitted from API requests. However, any field
473	// with an empty value appearing in NullFields will be sent to the
474	// server as null. It is an error if a field in this list has a
475	// non-empty value. This may be used to include null fields in Patch
476	// requests.
477	NullFields []string `json:"-"`
478}
479
480func (s *AnalyzeEntitiesRequest) MarshalJSON() ([]byte, error) {
481	type NoMethod AnalyzeEntitiesRequest
482	raw := NoMethod(*s)
483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
484}
485
486// AnalyzeEntitiesResponse: Includes recognized entity mentions and
487// relationships between them.
488type AnalyzeEntitiesResponse struct {
489	// Entities: The union of all the candidate entities that the
490	// entity_mentions in this response could link to. These are UMLS
491	// concepts or normalized mention content.
492	Entities []*Entity `json:"entities,omitempty"`
493
494	// EntityMentions: entity_mentions contains all the annotated medical
495	// entities that were mentioned in the provided document.
496	EntityMentions []*EntityMention `json:"entityMentions,omitempty"`
497
498	// Relationships: relationships contains all the binary relationships
499	// that were identified between entity mentions within the provided
500	// document.
501	Relationships []*EntityMentionRelationship `json:"relationships,omitempty"`
502
503	// ServerResponse contains the HTTP response code and headers from the
504	// server.
505	googleapi.ServerResponse `json:"-"`
506
507	// ForceSendFields is a list of field names (e.g. "Entities") to
508	// unconditionally include in API requests. By default, fields with
509	// empty values are omitted from API requests. However, any non-pointer,
510	// non-interface field appearing in ForceSendFields will be sent to the
511	// server regardless of whether the field is empty or not. This may be
512	// used to include empty fields in Patch requests.
513	ForceSendFields []string `json:"-"`
514
515	// NullFields is a list of field names (e.g. "Entities") to include in
516	// API requests with the JSON null value. By default, fields with empty
517	// values are omitted from API requests. However, any field with an
518	// empty value appearing in NullFields will be sent to the server as
519	// null. It is an error if a field in this list has a non-empty value.
520	// This may be used to include null fields in Patch requests.
521	NullFields []string `json:"-"`
522}
523
524func (s *AnalyzeEntitiesResponse) MarshalJSON() ([]byte, error) {
525	type NoMethod AnalyzeEntitiesResponse
526	raw := NoMethod(*s)
527	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
528}
529
530// Annotation: An annotation record.
531type Annotation struct {
532	// AnnotationSource: Details of the source.
533	AnnotationSource *AnnotationSource `json:"annotationSource,omitempty"`
534
535	// CustomData: Additional information for this annotation record, such
536	// as annotator and verifier information or study campaign.
537	CustomData map[string]string `json:"customData,omitempty"`
538
539	// ImageAnnotation: Annotations for images. For example, bounding
540	// polygons.
541	ImageAnnotation *ImageAnnotation `json:"imageAnnotation,omitempty"`
542
543	// Name: Resource name of the Annotation, of the form
544	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
545	// nnotationStores/{annotation_store_id}/annotations/{annotation_id}`.
546	Name string `json:"name,omitempty"`
547
548	// ResourceAnnotation: Annotations for resource. For example,
549	// classification tags.
550	ResourceAnnotation *ResourceAnnotation `json:"resourceAnnotation,omitempty"`
551
552	// TextAnnotation: Annotations for sensitive texts. For example, a range
553	// that describes the location of sensitive text.
554	TextAnnotation *SensitiveTextAnnotation `json:"textAnnotation,omitempty"`
555
556	// ServerResponse contains the HTTP response code and headers from the
557	// server.
558	googleapi.ServerResponse `json:"-"`
559
560	// ForceSendFields is a list of field names (e.g. "AnnotationSource") to
561	// unconditionally include in API requests. By default, fields with
562	// empty values are omitted from API requests. However, any non-pointer,
563	// non-interface field appearing in ForceSendFields will be sent to the
564	// server regardless of whether the field is empty or not. This may be
565	// used to include empty fields in Patch requests.
566	ForceSendFields []string `json:"-"`
567
568	// NullFields is a list of field names (e.g. "AnnotationSource") to
569	// include in API requests with the JSON null value. By default, fields
570	// with empty values are omitted from API requests. However, any field
571	// with an empty value appearing in NullFields will be sent to the
572	// server as null. It is an error if a field in this list has a
573	// non-empty value. This may be used to include null fields in Patch
574	// requests.
575	NullFields []string `json:"-"`
576}
577
578func (s *Annotation) MarshalJSON() ([]byte, error) {
579	type NoMethod Annotation
580	raw := NoMethod(*s)
581	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
582}
583
584// AnnotationConfig: Specifies how to store annotations during
585// de-identification operation.
586type AnnotationConfig struct {
587	// AnnotationStoreName: The name of the annotation store, in the form
588	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
589	// nnotationStores/{annotation_store_id}`). * The destination annotation
590	// store must be in the same project as the source data. De-identifying
591	// data across multiple projects is not supported. * The destination
592	// annotation store must exist when using DeidentifyDicomStore or
593	// DeidentifyFhirStore. DeidentifyDataset automatically creates the
594	// destination annotation store.
595	AnnotationStoreName string `json:"annotationStoreName,omitempty"`
596
597	// StoreQuote: If set to true, the sensitive texts are included in
598	// SensitiveTextAnnotation of Annotation.
599	StoreQuote bool `json:"storeQuote,omitempty"`
600
601	// ForceSendFields is a list of field names (e.g. "AnnotationStoreName")
602	// to unconditionally include in API requests. By default, fields with
603	// empty values are omitted from API requests. However, any non-pointer,
604	// non-interface field appearing in ForceSendFields will be sent to the
605	// server regardless of whether the field is empty or not. This may be
606	// used to include empty fields in Patch requests.
607	ForceSendFields []string `json:"-"`
608
609	// NullFields is a list of field names (e.g. "AnnotationStoreName") to
610	// include in API requests with the JSON null value. By default, fields
611	// with empty values are omitted from API requests. However, any field
612	// with an empty value appearing in NullFields will be sent to the
613	// server as null. It is an error if a field in this list has a
614	// non-empty value. This may be used to include null fields in Patch
615	// requests.
616	NullFields []string `json:"-"`
617}
618
619func (s *AnnotationConfig) MarshalJSON() ([]byte, error) {
620	type NoMethod AnnotationConfig
621	raw := NoMethod(*s)
622	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
623}
624
625// AnnotationSource: AnnotationSource holds the source information of
626// the annotation.
627type AnnotationSource struct {
628	// CloudHealthcareSource: Cloud Healthcare API resource.
629	CloudHealthcareSource *CloudHealthcareSource `json:"cloudHealthcareSource,omitempty"`
630
631	// ForceSendFields is a list of field names (e.g.
632	// "CloudHealthcareSource") to unconditionally include in API requests.
633	// By default, fields with empty values are omitted from API requests.
634	// However, any non-pointer, non-interface field appearing in
635	// ForceSendFields will be sent to the server regardless of whether the
636	// field is empty or not. This may be used to include empty fields in
637	// Patch requests.
638	ForceSendFields []string `json:"-"`
639
640	// NullFields is a list of field names (e.g. "CloudHealthcareSource") to
641	// include in API requests with the JSON null value. By default, fields
642	// with empty values are omitted from API requests. However, any field
643	// with an empty value appearing in NullFields will be sent to the
644	// server as null. It is an error if a field in this list has a
645	// non-empty value. This may be used to include null fields in Patch
646	// requests.
647	NullFields []string `json:"-"`
648}
649
650func (s *AnnotationSource) MarshalJSON() ([]byte, error) {
651	type NoMethod AnnotationSource
652	raw := NoMethod(*s)
653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
654}
655
656// AnnotationStore: An Annotation store that can store annotation
657// resources such as labels and tags for text, image and audio.
658type AnnotationStore struct {
659	// Labels: Optional. User-supplied key-value pairs used to organize
660	// Annotation stores. Label keys must be between 1 and 63 characters
661	// long, have a UTF-8 encoding of maximum 128 bytes, and must conform to
662	// the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label
663	// values must be between 1 and 63 characters long, have a UTF-8
664	// encoding of maximum 128 bytes, and must conform to the following PCRE
665	// regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64
666	// labels can be associated with a given store.
667	Labels map[string]string `json:"labels,omitempty"`
668
669	// Name: Resource name of the Annotation store, of the form
670	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
671	// nnotationStores/{annotation_store_id}`.
672	Name string `json:"name,omitempty"`
673
674	// ServerResponse contains the HTTP response code and headers from the
675	// server.
676	googleapi.ServerResponse `json:"-"`
677
678	// ForceSendFields is a list of field names (e.g. "Labels") to
679	// unconditionally include in API requests. By default, fields with
680	// empty values are omitted from API requests. However, any non-pointer,
681	// non-interface field appearing in ForceSendFields will be sent to the
682	// server regardless of whether the field is empty or not. This may be
683	// used to include empty fields in Patch requests.
684	ForceSendFields []string `json:"-"`
685
686	// NullFields is a list of field names (e.g. "Labels") to include in API
687	// requests with the JSON null value. By default, fields with empty
688	// values are omitted from API requests. However, any field with an
689	// empty value appearing in NullFields will be sent to the server as
690	// null. It is an error if a field in this list has a non-empty value.
691	// This may be used to include null fields in Patch requests.
692	NullFields []string `json:"-"`
693}
694
695func (s *AnnotationStore) MarshalJSON() ([]byte, error) {
696	type NoMethod AnnotationStore
697	raw := NoMethod(*s)
698	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
699}
700
701// ArchiveUserDataMappingRequest: Archives the specified User data
702// mapping.
703type ArchiveUserDataMappingRequest struct {
704}
705
706// ArchiveUserDataMappingResponse: Archives the specified User data
707// mapping.
708type ArchiveUserDataMappingResponse struct {
709	// ServerResponse contains the HTTP response code and headers from the
710	// server.
711	googleapi.ServerResponse `json:"-"`
712}
713
714// Attribute: An attribute value for a Consent or User data mapping.
715// Each Attribute must have a corresponding AttributeDefinition in the
716// consent store that defines the default and allowed values.
717type Attribute struct {
718	// AttributeDefinitionId: Indicates the name of an attribute defined in
719	// the consent store.
720	AttributeDefinitionId string `json:"attributeDefinitionId,omitempty"`
721
722	// Values: The value of the attribute. Must be an acceptable value as
723	// defined in the consent store. For example, if the consent store
724	// defines "data type" with acceptable values "questionnaire" and
725	// "step-count", when the attribute name is data type, this field must
726	// contain one of those values.
727	Values []string `json:"values,omitempty"`
728
729	// ForceSendFields is a list of field names (e.g.
730	// "AttributeDefinitionId") to unconditionally include in API requests.
731	// By default, fields with empty values are omitted from API requests.
732	// However, any non-pointer, non-interface field appearing in
733	// ForceSendFields will be sent to the server regardless of whether the
734	// field is empty or not. This may be used to include empty fields in
735	// Patch requests.
736	ForceSendFields []string `json:"-"`
737
738	// NullFields is a list of field names (e.g. "AttributeDefinitionId") to
739	// include in API requests with the JSON null value. By default, fields
740	// with empty values are omitted from API requests. However, any field
741	// with an empty value appearing in NullFields will be sent to the
742	// server as null. It is an error if a field in this list has a
743	// non-empty value. This may be used to include null fields in Patch
744	// requests.
745	NullFields []string `json:"-"`
746}
747
748func (s *Attribute) MarshalJSON() ([]byte, error) {
749	type NoMethod Attribute
750	raw := NoMethod(*s)
751	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
752}
753
754// AttributeDefinition: A client-defined consent attribute.
755type AttributeDefinition struct {
756	// AllowedValues: Required. Possible values for the attribute. The
757	// number of allowed values must not exceed 100. An empty list is
758	// invalid. The list can only be expanded after creation.
759	AllowedValues []string `json:"allowedValues,omitempty"`
760
761	// Category: Required. The category of the attribute. The value of this
762	// field cannot be changed after creation.
763	//
764	// Possible values:
765	//   "CATEGORY_UNSPECIFIED" - No category specified. This option is
766	// invalid.
767	//   "RESOURCE" - Specify this category when this attribute describes
768	// the properties of resources. For example, data anonymity or data
769	// type.
770	//   "REQUEST" - Specify this category when this attribute describes the
771	// properties of requests. For example, requester's role or requester's
772	// organization.
773	Category string `json:"category,omitempty"`
774
775	// ConsentDefaultValues: Optional. Default values of the attribute in
776	// Consents. If no default values are specified, it defaults to an empty
777	// value.
778	ConsentDefaultValues []string `json:"consentDefaultValues,omitempty"`
779
780	// DataMappingDefaultValue: Optional. Default value of the attribute in
781	// User data mappings. If no default value is specified, it defaults to
782	// an empty value. This field is only applicable to attributes of the
783	// category `RESOURCE`.
784	DataMappingDefaultValue string `json:"dataMappingDefaultValue,omitempty"`
785
786	// Description: Optional. A description of the attribute.
787	Description string `json:"description,omitempty"`
788
789	// Name: Resource name of the Attribute definition, of the form
790	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
791	// onsentStores/{consent_store_id}/attributeDefinitions/{attribute_defini
792	// tion_id}`. Cannot be changed after creation.
793	Name string `json:"name,omitempty"`
794
795	// ServerResponse contains the HTTP response code and headers from the
796	// server.
797	googleapi.ServerResponse `json:"-"`
798
799	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
800	// unconditionally include in API requests. By default, fields with
801	// empty values are omitted from API requests. However, any non-pointer,
802	// non-interface field appearing in ForceSendFields will be sent to the
803	// server regardless of whether the field is empty or not. This may be
804	// used to include empty fields in Patch requests.
805	ForceSendFields []string `json:"-"`
806
807	// NullFields is a list of field names (e.g. "AllowedValues") to include
808	// in API requests with the JSON null value. By default, fields with
809	// empty values are omitted from API requests. However, any field with
810	// an empty value appearing in NullFields will be sent to the server as
811	// null. It is an error if a field in this list has a non-empty value.
812	// This may be used to include null fields in Patch requests.
813	NullFields []string `json:"-"`
814}
815
816func (s *AttributeDefinition) MarshalJSON() ([]byte, error) {
817	type NoMethod AttributeDefinition
818	raw := NoMethod(*s)
819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
820}
821
822// AuditConfig: Specifies the audit configuration for a service. The
823// configuration determines which permission types are logged, and what
824// identities, if any, are exempted from logging. An AuditConfig must
825// have one or more AuditLogConfigs. If there are AuditConfigs for both
826// `allServices` and a specific service, the union of the two
827// AuditConfigs is used for that service: the log_types specified in
828// each AuditConfig are enabled, and the exempted_members in each
829// AuditLogConfig are exempted. Example Policy with multiple
830// AuditConfigs: { "audit_configs": [ { "service": "allServices",
831// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
832// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
833// "log_type": "ADMIN_READ" } ] }, { "service":
834// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
835// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
836// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
837// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
838// jose@example.com from DATA_READ logging, and aliya@example.com from
839// DATA_WRITE logging.
840type AuditConfig struct {
841	// AuditLogConfigs: The configuration for logging of each type of
842	// permission.
843	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
844
845	// Service: Specifies a service that will be enabled for audit logging.
846	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
847	// `allServices` is a special value that covers all services.
848	Service string `json:"service,omitempty"`
849
850	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
851	// unconditionally include in API requests. By default, fields with
852	// empty values are omitted from API requests. However, any non-pointer,
853	// non-interface field appearing in ForceSendFields will be sent to the
854	// server regardless of whether the field is empty or not. This may be
855	// used to include empty fields in Patch requests.
856	ForceSendFields []string `json:"-"`
857
858	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
859	// include in API requests with the JSON null value. By default, fields
860	// with empty values are omitted from API requests. However, any field
861	// with an empty value appearing in NullFields will be sent to the
862	// server as null. It is an error if a field in this list has a
863	// non-empty value. This may be used to include null fields in Patch
864	// requests.
865	NullFields []string `json:"-"`
866}
867
868func (s *AuditConfig) MarshalJSON() ([]byte, error) {
869	type NoMethod AuditConfig
870	raw := NoMethod(*s)
871	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
872}
873
874// AuditLogConfig: Provides the configuration for logging a type of
875// permissions. Example: { "audit_log_configs": [ { "log_type":
876// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
877// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
878// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
879// logging.
880type AuditLogConfig struct {
881	// ExemptedMembers: Specifies the identities that do not cause logging
882	// for this type of permission. Follows the same format of
883	// Binding.members.
884	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
885
886	// LogType: The log type that this config enables.
887	//
888	// Possible values:
889	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
890	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
891	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
892	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
893	LogType string `json:"logType,omitempty"`
894
895	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
896	// unconditionally include in API requests. By default, fields with
897	// empty values are omitted from API requests. However, any non-pointer,
898	// non-interface field appearing in ForceSendFields will be sent to the
899	// server regardless of whether the field is empty or not. This may be
900	// used to include empty fields in Patch requests.
901	ForceSendFields []string `json:"-"`
902
903	// NullFields is a list of field names (e.g. "ExemptedMembers") to
904	// include in API requests with the JSON null value. By default, fields
905	// with empty values are omitted from API requests. However, any field
906	// with an empty value appearing in NullFields will be sent to the
907	// server as null. It is an error if a field in this list has a
908	// non-empty value. This may be used to include null fields in Patch
909	// requests.
910	NullFields []string `json:"-"`
911}
912
913func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
914	type NoMethod AuditLogConfig
915	raw := NoMethod(*s)
916	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
917}
918
919// BatchGetMessagesResponse: Gets multiple messages in a specified HL7v2
920// store.
921type BatchGetMessagesResponse struct {
922	// Messages: The returned Messages. See `MessageView` for populated
923	// fields.
924	Messages []*Message `json:"messages,omitempty"`
925
926	// ServerResponse contains the HTTP response code and headers from the
927	// server.
928	googleapi.ServerResponse `json:"-"`
929
930	// ForceSendFields is a list of field names (e.g. "Messages") to
931	// unconditionally include in API requests. By default, fields with
932	// empty values are omitted from API requests. However, any non-pointer,
933	// non-interface field appearing in ForceSendFields will be sent to the
934	// server regardless of whether the field is empty or not. This may be
935	// used to include empty fields in Patch requests.
936	ForceSendFields []string `json:"-"`
937
938	// NullFields is a list of field names (e.g. "Messages") to include in
939	// API requests with the JSON null value. By default, fields with empty
940	// values are omitted from API requests. However, any field with an
941	// empty value appearing in NullFields will be sent to the server as
942	// null. It is an error if a field in this list has a non-empty value.
943	// This may be used to include null fields in Patch requests.
944	NullFields []string `json:"-"`
945}
946
947func (s *BatchGetMessagesResponse) MarshalJSON() ([]byte, error) {
948	type NoMethod BatchGetMessagesResponse
949	raw := NoMethod(*s)
950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
951}
952
953// Binding: Associates `members` with a `role`.
954type Binding struct {
955	// Condition: The condition that is associated with this binding. If the
956	// condition evaluates to `true`, then this binding applies to the
957	// current request. If the condition evaluates to `false`, then this
958	// binding does not apply to the current request. However, a different
959	// role binding might grant the same role to one or more of the members
960	// in this binding. To learn which resources support conditions in their
961	// IAM policies, see the IAM documentation
962	// (https://cloud.google.com/iam/help/conditions/resource-policies).
963	Condition *Expr `json:"condition,omitempty"`
964
965	// Members: Specifies the identities requesting access for a Cloud
966	// Platform resource. `members` can have the following values: *
967	// `allUsers`: A special identifier that represents anyone who is on the
968	// internet; with or without a Google account. *
969	// `allAuthenticatedUsers`: A special identifier that represents anyone
970	// who is authenticated with a Google account or a service account. *
971	// `user:{emailid}`: An email address that represents a specific Google
972	// account. For example, `alice@example.com` . *
973	// `serviceAccount:{emailid}`: An email address that represents a
974	// service account. For example,
975	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
976	// email address that represents a Google group. For example,
977	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
978	// email address (plus unique identifier) representing a user that has
979	// been recently deleted. For example,
980	// `alice@example.com?uid=123456789012345678901`. If the user is
981	// recovered, this value reverts to `user:{emailid}` and the recovered
982	// user retains the role in the binding. *
983	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
984	// (plus unique identifier) representing a service account that has been
985	// recently deleted. For example,
986	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
987	// If the service account is undeleted, this value reverts to
988	// `serviceAccount:{emailid}` and the undeleted service account retains
989	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
990	// An email address (plus unique identifier) representing a Google group
991	// that has been recently deleted. For example,
992	// `admins@example.com?uid=123456789012345678901`. If the group is
993	// recovered, this value reverts to `group:{emailid}` and the recovered
994	// group retains the role in the binding. * `domain:{domain}`: The G
995	// Suite domain (primary) that represents all the users of that domain.
996	// For example, `google.com` or `example.com`.
997	Members []string `json:"members,omitempty"`
998
999	// Role: Role that is assigned to `members`. For example,
1000	// `roles/viewer`, `roles/editor`, or `roles/owner`.
1001	Role string `json:"role,omitempty"`
1002
1003	// ForceSendFields is a list of field names (e.g. "Condition") to
1004	// unconditionally include in API requests. By default, fields with
1005	// empty values are omitted from API requests. However, any non-pointer,
1006	// non-interface field appearing in ForceSendFields will be sent to the
1007	// server regardless of whether the field is empty or not. This may be
1008	// used to include empty fields in Patch requests.
1009	ForceSendFields []string `json:"-"`
1010
1011	// NullFields is a list of field names (e.g. "Condition") to include in
1012	// API requests with the JSON null value. By default, fields with empty
1013	// values are omitted from API requests. However, any field with an
1014	// empty value appearing in NullFields will be sent to the server as
1015	// null. It is an error if a field in this list has a non-empty value.
1016	// This may be used to include null fields in Patch requests.
1017	NullFields []string `json:"-"`
1018}
1019
1020func (s *Binding) MarshalJSON() ([]byte, error) {
1021	type NoMethod Binding
1022	raw := NoMethod(*s)
1023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1024}
1025
1026// BoundingPoly: A bounding polygon for the detected image annotation.
1027type BoundingPoly struct {
1028	// Label: A description of this polygon.
1029	Label string `json:"label,omitempty"`
1030
1031	// Vertices: List of the vertices of this polygon.
1032	Vertices []*Vertex `json:"vertices,omitempty"`
1033
1034	// ForceSendFields is a list of field names (e.g. "Label") to
1035	// unconditionally include in API requests. By default, fields with
1036	// empty values are omitted from API requests. However, any non-pointer,
1037	// non-interface field appearing in ForceSendFields will be sent to the
1038	// server regardless of whether the field is empty or not. This may be
1039	// used to include empty fields in Patch requests.
1040	ForceSendFields []string `json:"-"`
1041
1042	// NullFields is a list of field names (e.g. "Label") to include in API
1043	// requests with the JSON null value. By default, fields with empty
1044	// values are omitted from API requests. However, any field with an
1045	// empty value appearing in NullFields will be sent to the server as
1046	// null. It is an error if a field in this list has a non-empty value.
1047	// This may be used to include null fields in Patch requests.
1048	NullFields []string `json:"-"`
1049}
1050
1051func (s *BoundingPoly) MarshalJSON() ([]byte, error) {
1052	type NoMethod BoundingPoly
1053	raw := NoMethod(*s)
1054	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1055}
1056
1057// CancelOperationRequest: The request message for
1058// Operations.CancelOperation.
1059type CancelOperationRequest struct {
1060}
1061
1062// CharacterMaskConfig: Mask a string by replacing its characters with a
1063// fixed character.
1064type CharacterMaskConfig struct {
1065	// MaskingCharacter: Character to mask the sensitive values. If not
1066	// supplied, defaults to "*".
1067	MaskingCharacter string `json:"maskingCharacter,omitempty"`
1068
1069	// ForceSendFields is a list of field names (e.g. "MaskingCharacter") to
1070	// unconditionally include in API requests. By default, fields with
1071	// empty values are omitted from API requests. However, any non-pointer,
1072	// non-interface field appearing in ForceSendFields will be sent to the
1073	// server regardless of whether the field is empty or not. This may be
1074	// used to include empty fields in Patch requests.
1075	ForceSendFields []string `json:"-"`
1076
1077	// NullFields is a list of field names (e.g. "MaskingCharacter") to
1078	// include in API requests with the JSON null value. By default, fields
1079	// with empty values are omitted from API requests. However, any field
1080	// with an empty value appearing in NullFields will be sent to the
1081	// server as null. It is an error if a field in this list has a
1082	// non-empty value. This may be used to include null fields in Patch
1083	// requests.
1084	NullFields []string `json:"-"`
1085}
1086
1087func (s *CharacterMaskConfig) MarshalJSON() ([]byte, error) {
1088	type NoMethod CharacterMaskConfig
1089	raw := NoMethod(*s)
1090	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1091}
1092
1093// CheckDataAccessRequest: Checks if a particular data_id of a User data
1094// mapping in the given consent store is consented for a given use.
1095type CheckDataAccessRequest struct {
1096	// ConsentList: Optional. Specific Consents to evaluate the access
1097	// request against. These Consents must have the same `user_id` as the
1098	// evaluated User data mapping, must exist in the current
1099	// `consent_store`, and have a `state` of either `ACTIVE` or `DRAFT`. A
1100	// maximum of 100 Consents can be provided here. If no selection is
1101	// specified, the access request is evaluated against all `ACTIVE`
1102	// unexpired Consents with the same `user_id` as the evaluated User data
1103	// mapping.
1104	ConsentList *ConsentList `json:"consentList,omitempty"`
1105
1106	// DataId: Required. The unique identifier of the resource to check
1107	// access for. This identifier must correspond to a User data mapping in
1108	// the given consent store.
1109	DataId string `json:"dataId,omitempty"`
1110
1111	// RequestAttributes: The values of request attributes associated with
1112	// this access request.
1113	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
1114
1115	// ResponseView: Optional. The view for CheckDataAccessResponse. If
1116	// unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or
1117	// `FALSE`.
1118	//
1119	// Possible values:
1120	//   "RESPONSE_VIEW_UNSPECIFIED" - No response view specified. The API
1121	// will default to the BASIC view.
1122	//   "BASIC" - Only the `consented` field is populated in
1123	// CheckDataAccessResponse.
1124	//   "FULL" - All fields within CheckDataAccessResponse are populated.
1125	// When set to `FULL`, all `ACTIVE` Consents are evaluated even if a
1126	// matching policy is found during evaluation.
1127	ResponseView string `json:"responseView,omitempty"`
1128
1129	// ForceSendFields is a list of field names (e.g. "ConsentList") to
1130	// unconditionally include in API requests. By default, fields with
1131	// empty values are omitted from API requests. However, any non-pointer,
1132	// non-interface field appearing in ForceSendFields will be sent to the
1133	// server regardless of whether the field is empty or not. This may be
1134	// used to include empty fields in Patch requests.
1135	ForceSendFields []string `json:"-"`
1136
1137	// NullFields is a list of field names (e.g. "ConsentList") to include
1138	// in API requests with the JSON null value. By default, fields with
1139	// empty values are omitted from API requests. However, any field with
1140	// an empty value appearing in NullFields will be sent to the server as
1141	// null. It is an error if a field in this list has a non-empty value.
1142	// This may be used to include null fields in Patch requests.
1143	NullFields []string `json:"-"`
1144}
1145
1146func (s *CheckDataAccessRequest) MarshalJSON() ([]byte, error) {
1147	type NoMethod CheckDataAccessRequest
1148	raw := NoMethod(*s)
1149	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1150}
1151
1152// CheckDataAccessResponse: Checks if a particular data_id of a User
1153// data mapping in the given consent store is consented for a given use.
1154type CheckDataAccessResponse struct {
1155	// ConsentDetails: The resource names of all evaluated Consents mapped
1156	// to their evaluation.
1157	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
1158
1159	// Consented: Whether the requested resource is consented for the given
1160	// use.
1161	Consented bool `json:"consented,omitempty"`
1162
1163	// ServerResponse contains the HTTP response code and headers from the
1164	// server.
1165	googleapi.ServerResponse `json:"-"`
1166
1167	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
1168	// unconditionally include in API requests. By default, fields with
1169	// empty values are omitted from API requests. However, any non-pointer,
1170	// non-interface field appearing in ForceSendFields will be sent to the
1171	// server regardless of whether the field is empty or not. This may be
1172	// used to include empty fields in Patch requests.
1173	ForceSendFields []string `json:"-"`
1174
1175	// NullFields is a list of field names (e.g. "ConsentDetails") to
1176	// include in API requests with the JSON null value. By default, fields
1177	// with empty values are omitted from API requests. However, any field
1178	// with an empty value appearing in NullFields will be sent to the
1179	// server as null. It is an error if a field in this list has a
1180	// non-empty value. This may be used to include null fields in Patch
1181	// requests.
1182	NullFields []string `json:"-"`
1183}
1184
1185func (s *CheckDataAccessResponse) MarshalJSON() ([]byte, error) {
1186	type NoMethod CheckDataAccessResponse
1187	raw := NoMethod(*s)
1188	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1189}
1190
1191// CloudHealthcareSource: Cloud Healthcare API resource.
1192type CloudHealthcareSource struct {
1193	// Name: Full path of a Cloud Healthcare API resource.
1194	Name string `json:"name,omitempty"`
1195
1196	// ForceSendFields is a list of field names (e.g. "Name") to
1197	// unconditionally include in API requests. By default, fields with
1198	// empty values are omitted from API requests. However, any non-pointer,
1199	// non-interface field appearing in ForceSendFields will be sent to the
1200	// server regardless of whether the field is empty or not. This may be
1201	// used to include empty fields in Patch requests.
1202	ForceSendFields []string `json:"-"`
1203
1204	// NullFields is a list of field names (e.g. "Name") to include in API
1205	// requests with the JSON null value. By default, fields with empty
1206	// values are omitted from API requests. However, any field with an
1207	// empty value appearing in NullFields will be sent to the server as
1208	// null. It is an error if a field in this list has a non-empty value.
1209	// This may be used to include null fields in Patch requests.
1210	NullFields []string `json:"-"`
1211}
1212
1213func (s *CloudHealthcareSource) MarshalJSON() ([]byte, error) {
1214	type NoMethod CloudHealthcareSource
1215	raw := NoMethod(*s)
1216	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1217}
1218
1219// ConfigureSearchRequest: Request to configure the search parameters
1220// for the specified FHIR store.
1221type ConfigureSearchRequest struct {
1222	// CanonicalUrls: The canonical URLs of the search parameters that are
1223	// intended to be used for the FHIR store. See
1224	// https://www.hl7.org/fhir/references.html#canonical for explanation on
1225	// FHIR canonical urls
1226	CanonicalUrls []string `json:"canonicalUrls,omitempty"`
1227
1228	// ValidateOnly: If `validate_only` is set to true, the method will
1229	// compile all the search parameters without actually setting the search
1230	// config for the store and triggering the reindex.
1231	ValidateOnly bool `json:"validateOnly,omitempty"`
1232
1233	// ForceSendFields is a list of field names (e.g. "CanonicalUrls") to
1234	// unconditionally include in API requests. By default, fields with
1235	// empty values are omitted from API requests. However, any non-pointer,
1236	// non-interface field appearing in ForceSendFields will be sent to the
1237	// server regardless of whether the field is empty or not. This may be
1238	// used to include empty fields in Patch requests.
1239	ForceSendFields []string `json:"-"`
1240
1241	// NullFields is a list of field names (e.g. "CanonicalUrls") to include
1242	// in API requests with the JSON null value. By default, fields with
1243	// empty values are omitted from API requests. However, any field with
1244	// an empty value appearing in NullFields will be sent to the server as
1245	// null. It is an error if a field in this list has a non-empty value.
1246	// This may be used to include null fields in Patch requests.
1247	NullFields []string `json:"-"`
1248}
1249
1250func (s *ConfigureSearchRequest) MarshalJSON() ([]byte, error) {
1251	type NoMethod ConfigureSearchRequest
1252	raw := NoMethod(*s)
1253	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1254}
1255
1256// Consent: Represents a user's consent.
1257type Consent struct {
1258	// ConsentArtifact: Required. The resource name of the Consent artifact
1259	// that contains proof of the end user's consent, of the form
1260	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1261	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
1262	// `.
1263	ConsentArtifact string `json:"consentArtifact,omitempty"`
1264
1265	// ExpireTime: Timestamp in UTC of when this Consent is considered
1266	// expired.
1267	ExpireTime string `json:"expireTime,omitempty"`
1268
1269	// Metadata: Optional. User-supplied key-value pairs used to organize
1270	// Consent resources. Metadata keys must: - be between 1 and 63
1271	// characters long - have a UTF-8 encoding of maximum 128 bytes - begin
1272	// with a letter - consist of up to 63 characters including lowercase
1273	// letters, numeric characters, underscores, and dashes Metadata values
1274	// must be: - be between 1 and 63 characters long - have a UTF-8
1275	// encoding of maximum 128 bytes - consist of up to 63 characters
1276	// including lowercase letters, numeric characters, underscores, and
1277	// dashes No more than 64 metadata entries can be associated with a
1278	// given consent.
1279	Metadata map[string]string `json:"metadata,omitempty"`
1280
1281	// Name: Resource name of the Consent, of the form
1282	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1283	// onsentStores/{consent_store_id}/consents/{consent_id}`. Cannot be
1284	// changed after creation.
1285	Name string `json:"name,omitempty"`
1286
1287	// Policies: Optional. Represents a user's consent in terms of the
1288	// resources that can be accessed and under what conditions.
1289	Policies []*GoogleCloudHealthcareV1beta1ConsentPolicy `json:"policies,omitempty"`
1290
1291	// RevisionCreateTime: Output only. The timestamp that the revision was
1292	// created.
1293	RevisionCreateTime string `json:"revisionCreateTime,omitempty"`
1294
1295	// RevisionId: Output only. The revision ID of the Consent. The format
1296	// is an 8-character hexadecimal string. Refer to a specific revision of
1297	// a Consent by appending `@{revision_id}` to the Consent's resource
1298	// name.
1299	RevisionId string `json:"revisionId,omitempty"`
1300
1301	// State: Required. Indicates the current state of this Consent.
1302	//
1303	// Possible values:
1304	//   "STATE_UNSPECIFIED" - No state specified.
1305	//   "ACTIVE" - The Consent is active and is considered when evaluating
1306	// a user's consent on resources.
1307	//   "ARCHIVED" - When a Consent is updated, the current version is
1308	// archived and a new one is created with its state set to the updated
1309	// Consent's previous state.
1310	//   "REVOKED" - A revoked Consent is not considered when evaluating a
1311	// user's consent on resources.
1312	//   "DRAFT" - A draft Consent is not considered when evaluating a
1313	// user's consent on resources unless explicitly specified.
1314	//   "REJECTED" - When a draft Consent is rejected by a user, it is set
1315	// to a rejected state. A rejected Consent is not considered when
1316	// evaluating a user's consent on resources.
1317	State string `json:"state,omitempty"`
1318
1319	// Ttl: Input only. The time to live for this Consent from when it is
1320	// created.
1321	Ttl string `json:"ttl,omitempty"`
1322
1323	// UserId: Required. User's UUID provided by the client.
1324	UserId string `json:"userId,omitempty"`
1325
1326	// ServerResponse contains the HTTP response code and headers from the
1327	// server.
1328	googleapi.ServerResponse `json:"-"`
1329
1330	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
1331	// unconditionally include in API requests. By default, fields with
1332	// empty values are omitted from API requests. However, any non-pointer,
1333	// non-interface field appearing in ForceSendFields will be sent to the
1334	// server regardless of whether the field is empty or not. This may be
1335	// used to include empty fields in Patch requests.
1336	ForceSendFields []string `json:"-"`
1337
1338	// NullFields is a list of field names (e.g. "ConsentArtifact") to
1339	// include in API requests with the JSON null value. By default, fields
1340	// with empty values are omitted from API requests. However, any field
1341	// with an empty value appearing in NullFields will be sent to the
1342	// server as null. It is an error if a field in this list has a
1343	// non-empty value. This may be used to include null fields in Patch
1344	// requests.
1345	NullFields []string `json:"-"`
1346}
1347
1348func (s *Consent) MarshalJSON() ([]byte, error) {
1349	type NoMethod Consent
1350	raw := NoMethod(*s)
1351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1352}
1353
1354// ConsentArtifact: Documentation of a user's consent.
1355type ConsentArtifact struct {
1356	// ConsentContentScreenshots: Optional. Screenshots, PDFs, or other
1357	// binary information documenting the user's consent.
1358	ConsentContentScreenshots []*Image `json:"consentContentScreenshots,omitempty"`
1359
1360	// ConsentContentVersion: Optional. An string indicating the version of
1361	// the consent information shown to the user.
1362	ConsentContentVersion string `json:"consentContentVersion,omitempty"`
1363
1364	// GuardianSignature: Optional. A signature from a guardian.
1365	GuardianSignature *Signature `json:"guardianSignature,omitempty"`
1366
1367	// Metadata: Optional. Metadata associated with the Consent artifact.
1368	// For example, the consent locale or user agent version.
1369	Metadata map[string]string `json:"metadata,omitempty"`
1370
1371	// Name: Resource name of the Consent artifact, of the form
1372	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1373	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
1374	// `. Cannot be changed after creation.
1375	Name string `json:"name,omitempty"`
1376
1377	// UserId: Required. User's UUID provided by the client.
1378	UserId string `json:"userId,omitempty"`
1379
1380	// UserSignature: Optional. User's signature.
1381	UserSignature *Signature `json:"userSignature,omitempty"`
1382
1383	// WitnessSignature: Optional. A signature from a witness.
1384	WitnessSignature *Signature `json:"witnessSignature,omitempty"`
1385
1386	// ServerResponse contains the HTTP response code and headers from the
1387	// server.
1388	googleapi.ServerResponse `json:"-"`
1389
1390	// ForceSendFields is a list of field names (e.g.
1391	// "ConsentContentScreenshots") to unconditionally include in API
1392	// requests. By default, fields with empty values are omitted from API
1393	// requests. However, any non-pointer, non-interface field appearing in
1394	// ForceSendFields will be sent to the server regardless of whether the
1395	// field is empty or not. This may be used to include empty fields in
1396	// Patch requests.
1397	ForceSendFields []string `json:"-"`
1398
1399	// NullFields is a list of field names (e.g.
1400	// "ConsentContentScreenshots") to include in API requests with the JSON
1401	// null value. By default, fields with empty values are omitted from API
1402	// requests. However, any field with an empty value appearing in
1403	// NullFields will be sent to the server as null. It is an error if a
1404	// field in this list has a non-empty value. This may be used to include
1405	// null fields in Patch requests.
1406	NullFields []string `json:"-"`
1407}
1408
1409func (s *ConsentArtifact) MarshalJSON() ([]byte, error) {
1410	type NoMethod ConsentArtifact
1411	raw := NoMethod(*s)
1412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1413}
1414
1415// ConsentEvaluation: The detailed evaluation of a particular Consent.
1416type ConsentEvaluation struct {
1417	// EvaluationResult: The evaluation result.
1418	//
1419	// Possible values:
1420	//   "EVALUATION_RESULT_UNSPECIFIED" - No evaluation result specified.
1421	// This option is invalid.
1422	//   "NOT_APPLICABLE" - The Consent is not applicable to the requested
1423	// access determination. For example, the Consent does not apply to the
1424	// user for which the access determination is requested, or it has a
1425	// `state` of `REVOKED`.
1426	//   "NO_MATCHING_POLICY" - The Consent does not have a policy that
1427	// matches the `resource_attributes` of the evaluated resource.
1428	//   "NO_SATISFIED_POLICY" - The Consent has at least one policy that
1429	// matches the `resource_attributes` of the evaluated resource, but no
1430	// `authorization_rule` was satisfied.
1431	//   "HAS_SATISFIED_POLICY" - The Consent has at least one policy that
1432	// matches the `resource_attributes` of the evaluated resource, and at
1433	// least one `authorization_rule` was satisfied.
1434	EvaluationResult string `json:"evaluationResult,omitempty"`
1435
1436	// ForceSendFields is a list of field names (e.g. "EvaluationResult") to
1437	// unconditionally include in API requests. By default, fields with
1438	// empty values are omitted from API requests. However, any non-pointer,
1439	// non-interface field appearing in ForceSendFields will be sent to the
1440	// server regardless of whether the field is empty or not. This may be
1441	// used to include empty fields in Patch requests.
1442	ForceSendFields []string `json:"-"`
1443
1444	// NullFields is a list of field names (e.g. "EvaluationResult") to
1445	// include in API requests with the JSON null value. By default, fields
1446	// with empty values are omitted from API requests. However, any field
1447	// with an empty value appearing in NullFields will be sent to the
1448	// server as null. It is an error if a field in this list has a
1449	// non-empty value. This may be used to include null fields in Patch
1450	// requests.
1451	NullFields []string `json:"-"`
1452}
1453
1454func (s *ConsentEvaluation) MarshalJSON() ([]byte, error) {
1455	type NoMethod ConsentEvaluation
1456	raw := NoMethod(*s)
1457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1458}
1459
1460// ConsentList: List of resource names of Consent resources.
1461type ConsentList struct {
1462	// Consents: The resource names of the Consents to evaluate against, of
1463	// the form
1464	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1465	// onsentStores/{consent_store_id}/consents/{consent_id}`.
1466	Consents []string `json:"consents,omitempty"`
1467
1468	// ForceSendFields is a list of field names (e.g. "Consents") to
1469	// unconditionally include in API requests. By default, fields with
1470	// empty values are omitted from API requests. However, any non-pointer,
1471	// non-interface field appearing in ForceSendFields will be sent to the
1472	// server regardless of whether the field is empty or not. This may be
1473	// used to include empty fields in Patch requests.
1474	ForceSendFields []string `json:"-"`
1475
1476	// NullFields is a list of field names (e.g. "Consents") to include in
1477	// API requests with the JSON null value. By default, fields with empty
1478	// values are omitted from API requests. However, any field with an
1479	// empty value appearing in NullFields will be sent to the server as
1480	// null. It is an error if a field in this list has a non-empty value.
1481	// This may be used to include null fields in Patch requests.
1482	NullFields []string `json:"-"`
1483}
1484
1485func (s *ConsentList) MarshalJSON() ([]byte, error) {
1486	type NoMethod ConsentList
1487	raw := NoMethod(*s)
1488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1489}
1490
1491// ConsentStore: Represents a consent store.
1492type ConsentStore struct {
1493	// DefaultConsentTtl: Optional. Default time to live for Consents
1494	// created in this store. Must be at least 24 hours. Updating this field
1495	// will not affect the expiration time of existing consents.
1496	DefaultConsentTtl string `json:"defaultConsentTtl,omitempty"`
1497
1498	// EnableConsentCreateOnUpdate: Optional. If `true`, UpdateConsent
1499	// creates the Consent if it does not already exist. If unspecified,
1500	// defaults to `false`.
1501	EnableConsentCreateOnUpdate bool `json:"enableConsentCreateOnUpdate,omitempty"`
1502
1503	// Labels: Optional. User-supplied key-value pairs used to organize
1504	// consent stores. Label keys must be between 1 and 63 characters long,
1505	// have a UTF-8 encoding of maximum 128 bytes, and must conform to the
1506	// following PCRE regular expression: \p{Ll}\p{Lo}{0,62}. Label values
1507	// must be between 1 and 63 characters long, have a UTF-8 encoding of
1508	// maximum 128 bytes, and must conform to the following PCRE regular
1509	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}. No more than 64 labels can
1510	// be associated with a given store. For more information:
1511	// https://cloud.google.com/healthcare/docs/how-tos/labeling-resources
1512	Labels map[string]string `json:"labels,omitempty"`
1513
1514	// Name: Resource name of the consent store, of the form
1515	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
1516	// onsentStores/{consent_store_id}`. Cannot be changed after creation.
1517	Name string `json:"name,omitempty"`
1518
1519	// ServerResponse contains the HTTP response code and headers from the
1520	// server.
1521	googleapi.ServerResponse `json:"-"`
1522
1523	// ForceSendFields is a list of field names (e.g. "DefaultConsentTtl")
1524	// to unconditionally include in API requests. By default, fields with
1525	// empty values are omitted from API requests. However, any non-pointer,
1526	// non-interface field appearing in ForceSendFields will be sent to the
1527	// server regardless of whether the field is empty or not. This may be
1528	// used to include empty fields in Patch requests.
1529	ForceSendFields []string `json:"-"`
1530
1531	// NullFields is a list of field names (e.g. "DefaultConsentTtl") to
1532	// include in API requests with the JSON null value. By default, fields
1533	// with empty values are omitted from API requests. However, any field
1534	// with an empty value appearing in NullFields will be sent to the
1535	// server as null. It is an error if a field in this list has a
1536	// non-empty value. This may be used to include null fields in Patch
1537	// requests.
1538	NullFields []string `json:"-"`
1539}
1540
1541func (s *ConsentStore) MarshalJSON() ([]byte, error) {
1542	type NoMethod ConsentStore
1543	raw := NoMethod(*s)
1544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1545}
1546
1547// CreateMessageRequest: Creates a new message.
1548type CreateMessageRequest struct {
1549	// Message: HL7v2 message.
1550	Message *Message `json:"message,omitempty"`
1551
1552	// ForceSendFields is a list of field names (e.g. "Message") to
1553	// unconditionally include in API requests. By default, fields with
1554	// empty values are omitted from API requests. However, any non-pointer,
1555	// non-interface field appearing in ForceSendFields will be sent to the
1556	// server regardless of whether the field is empty or not. This may be
1557	// used to include empty fields in Patch requests.
1558	ForceSendFields []string `json:"-"`
1559
1560	// NullFields is a list of field names (e.g. "Message") to include in
1561	// API requests with the JSON null value. By default, fields with empty
1562	// values are omitted from API requests. However, any field with an
1563	// empty value appearing in NullFields will be sent to the server as
1564	// null. It is an error if a field in this list has a non-empty value.
1565	// This may be used to include null fields in Patch requests.
1566	NullFields []string `json:"-"`
1567}
1568
1569func (s *CreateMessageRequest) MarshalJSON() ([]byte, error) {
1570	type NoMethod CreateMessageRequest
1571	raw := NoMethod(*s)
1572	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1573}
1574
1575// CryptoHashConfig: Pseudonymization method that generates surrogates
1576// via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded
1577// representation of the hashed output. For example,
1578// `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.
1579type CryptoHashConfig struct {
1580	// CryptoKey: An AES 128/192/256 bit key. Causes the hash to be computed
1581	// based on this key. A default key is generated for each Deidentify
1582	// operation and is used wherever crypto_key is not specified.
1583	CryptoKey string `json:"cryptoKey,omitempty"`
1584
1585	// ForceSendFields is a list of field names (e.g. "CryptoKey") to
1586	// unconditionally include in API requests. By default, fields with
1587	// empty values are omitted from API requests. However, any non-pointer,
1588	// non-interface field appearing in ForceSendFields will be sent to the
1589	// server regardless of whether the field is empty or not. This may be
1590	// used to include empty fields in Patch requests.
1591	ForceSendFields []string `json:"-"`
1592
1593	// NullFields is a list of field names (e.g. "CryptoKey") to include in
1594	// API requests with the JSON null value. By default, fields with empty
1595	// values are omitted from API requests. However, any field with an
1596	// empty value appearing in NullFields will be sent to the server as
1597	// null. It is an error if a field in this list has a non-empty value.
1598	// This may be used to include null fields in Patch requests.
1599	NullFields []string `json:"-"`
1600}
1601
1602func (s *CryptoHashConfig) MarshalJSON() ([]byte, error) {
1603	type NoMethod CryptoHashConfig
1604	raw := NoMethod(*s)
1605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1606}
1607
1608// Dataset: A message representing a health dataset. A health dataset
1609// represents a collection of healthcare data pertaining to one or more
1610// patients. This may include multiple modalities of healthcare data,
1611// such as electronic medical records or medical imaging data.
1612type Dataset struct {
1613	// Name: Resource name of the dataset, of the form
1614	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
1615	Name string `json:"name,omitempty"`
1616
1617	// TimeZone: The default timezone used by this dataset. Must be a either
1618	// a valid IANA time zone name such as "America/New_York" or empty,
1619	// which defaults to UTC. This is used for parsing times in resources,
1620	// such as HL7 messages, where no explicit timezone is specified.
1621	TimeZone string `json:"timeZone,omitempty"`
1622
1623	// ServerResponse contains the HTTP response code and headers from the
1624	// server.
1625	googleapi.ServerResponse `json:"-"`
1626
1627	// ForceSendFields is a list of field names (e.g. "Name") to
1628	// unconditionally include in API requests. By default, fields with
1629	// empty values are omitted from API requests. However, any non-pointer,
1630	// non-interface field appearing in ForceSendFields will be sent to the
1631	// server regardless of whether the field is empty or not. This may be
1632	// used to include empty fields in Patch requests.
1633	ForceSendFields []string `json:"-"`
1634
1635	// NullFields is a list of field names (e.g. "Name") to include in API
1636	// requests with the JSON null value. By default, fields with empty
1637	// values are omitted from API requests. However, any field with an
1638	// empty value appearing in NullFields will be sent to the server as
1639	// null. It is an error if a field in this list has a non-empty value.
1640	// This may be used to include null fields in Patch requests.
1641	NullFields []string `json:"-"`
1642}
1643
1644func (s *Dataset) MarshalJSON() ([]byte, error) {
1645	type NoMethod Dataset
1646	raw := NoMethod(*s)
1647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1648}
1649
1650// DateShiftConfig: Shift a date forward or backward in time by a random
1651// amount which is consistent for a given patient and crypto key
1652// combination.
1653type DateShiftConfig struct {
1654	// CryptoKey: An AES 128/192/256 bit key. Causes the shift to be
1655	// computed based on this key and the patient ID. A default key is
1656	// generated for each Deidentify operation and is used wherever
1657	// crypto_key is not specified.
1658	CryptoKey string `json:"cryptoKey,omitempty"`
1659
1660	// ForceSendFields is a list of field names (e.g. "CryptoKey") 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. "CryptoKey") 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 *DateShiftConfig) MarshalJSON() ([]byte, error) {
1678	type NoMethod DateShiftConfig
1679	raw := NoMethod(*s)
1680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1681}
1682
1683// DeidentifyConfig: Configures de-id options specific to different
1684// types of content. Each submessage customizes the handling of an
1685// https://tools.ietf.org/html/rfc6838 media type or subtype. Configs
1686// are applied in a nested manner at runtime.
1687type DeidentifyConfig struct {
1688	// Annotation: Configures how annotations, meaning that the location and
1689	// infoType of sensitive information findings, are created during
1690	// de-identification. If unspecified, no annotations are created.
1691	Annotation *AnnotationConfig `json:"annotation,omitempty"`
1692
1693	// Dicom: Configures de-id of application/DICOM content.
1694	Dicom *DicomConfig `json:"dicom,omitempty"`
1695
1696	// Fhir: Configures de-id of application/FHIR content.
1697	Fhir *FhirConfig `json:"fhir,omitempty"`
1698
1699	// Image: Configures de-identification of image pixels wherever they are
1700	// found in the source_dataset.
1701	Image *ImageConfig `json:"image,omitempty"`
1702
1703	// Text: Configures de-identification of text wherever it is found in
1704	// the source_dataset.
1705	Text *TextConfig `json:"text,omitempty"`
1706
1707	// ForceSendFields is a list of field names (e.g. "Annotation") to
1708	// unconditionally include in API requests. By default, fields with
1709	// empty values are omitted from API requests. However, any non-pointer,
1710	// non-interface field appearing in ForceSendFields will be sent to the
1711	// server regardless of whether the field is empty or not. This may be
1712	// used to include empty fields in Patch requests.
1713	ForceSendFields []string `json:"-"`
1714
1715	// NullFields is a list of field names (e.g. "Annotation") to include in
1716	// API requests with the JSON null value. By default, fields with empty
1717	// values are omitted from API requests. However, any field with an
1718	// empty value appearing in NullFields will be sent to the server as
1719	// null. It is an error if a field in this list has a non-empty value.
1720	// This may be used to include null fields in Patch requests.
1721	NullFields []string `json:"-"`
1722}
1723
1724func (s *DeidentifyConfig) MarshalJSON() ([]byte, error) {
1725	type NoMethod DeidentifyConfig
1726	raw := NoMethod(*s)
1727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1728}
1729
1730// DeidentifyDatasetRequest: Redacts identifying information from the
1731// specified dataset.
1732type DeidentifyDatasetRequest struct {
1733	// Config: Deidentify configuration.
1734	Config *DeidentifyConfig `json:"config,omitempty"`
1735
1736	// DestinationDataset: The name of the dataset resource to create and
1737	// write the redacted data to. * The destination dataset must not exist.
1738	// * The destination dataset must be in the same location as the source
1739	// dataset. De-identifying data across multiple locations is not
1740	// supported.
1741	DestinationDataset string `json:"destinationDataset,omitempty"`
1742
1743	// ForceSendFields is a list of field names (e.g. "Config") to
1744	// unconditionally include in API requests. By default, fields with
1745	// empty values are omitted from API requests. However, any non-pointer,
1746	// non-interface field appearing in ForceSendFields will be sent to the
1747	// server regardless of whether the field is empty or not. This may be
1748	// used to include empty fields in Patch requests.
1749	ForceSendFields []string `json:"-"`
1750
1751	// NullFields is a list of field names (e.g. "Config") to include in API
1752	// requests with the JSON null value. By default, fields with empty
1753	// values are omitted from API requests. However, any field with an
1754	// empty value appearing in NullFields will be sent to the server as
1755	// null. It is an error if a field in this list has a non-empty value.
1756	// This may be used to include null fields in Patch requests.
1757	NullFields []string `json:"-"`
1758}
1759
1760func (s *DeidentifyDatasetRequest) MarshalJSON() ([]byte, error) {
1761	type NoMethod DeidentifyDatasetRequest
1762	raw := NoMethod(*s)
1763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1764}
1765
1766// DeidentifyDicomStoreRequest: Creates a new DICOM store with sensitive
1767// information de-identified.
1768type DeidentifyDicomStoreRequest struct {
1769	// Config: De-identify configuration.
1770	Config *DeidentifyConfig `json:"config,omitempty"`
1771
1772	// DestinationStore: The name of the DICOM store to create and write the
1773	// redacted data to. For example,
1774	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
1775	// icomStores/{dicom_store_id}`. * The destination dataset must exist. *
1776	// The source dataset and destination dataset must both reside in the
1777	// same location. De-identifying data across multiple locations is not
1778	// supported. * The destination DICOM store must not exist. * The caller
1779	// must have the necessary permissions to create the destination DICOM
1780	// store.
1781	DestinationStore string `json:"destinationStore,omitempty"`
1782
1783	// FilterConfig: Filter configuration.
1784	FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"`
1785
1786	// ForceSendFields is a list of field names (e.g. "Config") to
1787	// unconditionally include in API requests. By default, fields with
1788	// empty values are omitted from API requests. However, any non-pointer,
1789	// non-interface field appearing in ForceSendFields will be sent to the
1790	// server regardless of whether the field is empty or not. This may be
1791	// used to include empty fields in Patch requests.
1792	ForceSendFields []string `json:"-"`
1793
1794	// NullFields is a list of field names (e.g. "Config") to include in API
1795	// requests with the JSON null value. By default, fields with empty
1796	// values are omitted from API requests. However, any field with an
1797	// empty value appearing in NullFields will be sent to the server as
1798	// null. It is an error if a field in this list has a non-empty value.
1799	// This may be used to include null fields in Patch requests.
1800	NullFields []string `json:"-"`
1801}
1802
1803func (s *DeidentifyDicomStoreRequest) MarshalJSON() ([]byte, error) {
1804	type NoMethod DeidentifyDicomStoreRequest
1805	raw := NoMethod(*s)
1806	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1807}
1808
1809// DeidentifyFhirStoreRequest: Creates a new FHIR store with sensitive
1810// information de-identified.
1811type DeidentifyFhirStoreRequest struct {
1812	// Config: Deidentify configuration.
1813	Config *DeidentifyConfig `json:"config,omitempty"`
1814
1815	// DestinationStore: The name of the FHIR store to create and write the
1816	// redacted data to. For example,
1817	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/f
1818	// hirStores/{fhir_store_id}`. * The destination dataset must exist. *
1819	// The source dataset and destination dataset must both reside in the
1820	// same location. De-identifying data across multiple locations is not
1821	// supported. * The destination FHIR store must exist. * The caller must
1822	// have the healthcare.fhirResources.update permission to write to the
1823	// destination FHIR store.
1824	DestinationStore string `json:"destinationStore,omitempty"`
1825
1826	// ResourceFilter: A filter specifying the resources to include in the
1827	// output. If not specified, all resources are included in the output.
1828	ResourceFilter *FhirFilter `json:"resourceFilter,omitempty"`
1829
1830	// ForceSendFields is a list of field names (e.g. "Config") to
1831	// unconditionally include in API requests. By default, fields with
1832	// empty values are omitted from API requests. However, any non-pointer,
1833	// non-interface field appearing in ForceSendFields will be sent to the
1834	// server regardless of whether the field is empty or not. This may be
1835	// used to include empty fields in Patch requests.
1836	ForceSendFields []string `json:"-"`
1837
1838	// NullFields is a list of field names (e.g. "Config") to include in API
1839	// requests with the JSON null value. By default, fields with empty
1840	// values are omitted from API requests. However, any field with an
1841	// empty value appearing in NullFields will be sent to the server as
1842	// null. It is an error if a field in this list has a non-empty value.
1843	// This may be used to include null fields in Patch requests.
1844	NullFields []string `json:"-"`
1845}
1846
1847func (s *DeidentifyFhirStoreRequest) MarshalJSON() ([]byte, error) {
1848	type NoMethod DeidentifyFhirStoreRequest
1849	raw := NoMethod(*s)
1850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1851}
1852
1853// DeidentifySummary: Contains a detailed summary of the Deidentify
1854// operation.
1855type DeidentifySummary struct {
1856}
1857
1858// Detail: Contains multiple sensitive information findings for each
1859// resource slice.
1860type Detail struct {
1861	Findings []*Finding `json:"findings,omitempty"`
1862
1863	// ForceSendFields is a list of field names (e.g. "Findings") to
1864	// unconditionally include in API requests. By default, fields with
1865	// empty values are omitted from API requests. However, any non-pointer,
1866	// non-interface field appearing in ForceSendFields will be sent to the
1867	// server regardless of whether the field is empty or not. This may be
1868	// used to include empty fields in Patch requests.
1869	ForceSendFields []string `json:"-"`
1870
1871	// NullFields is a list of field names (e.g. "Findings") to include in
1872	// API requests with the JSON null value. By default, fields with empty
1873	// values are omitted from API requests. However, any field with an
1874	// empty value appearing in NullFields will be sent to the server as
1875	// null. It is an error if a field in this list has a non-empty value.
1876	// This may be used to include null fields in Patch requests.
1877	NullFields []string `json:"-"`
1878}
1879
1880func (s *Detail) MarshalJSON() ([]byte, error) {
1881	type NoMethod Detail
1882	raw := NoMethod(*s)
1883	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1884}
1885
1886// DicomConfig: Specifies the parameters needed for de-identification of
1887// DICOM stores.
1888type DicomConfig struct {
1889	// FilterProfile: Tag filtering profile that determines which tags to
1890	// keep/remove.
1891	//
1892	// Possible values:
1893	//   "TAG_FILTER_PROFILE_UNSPECIFIED" - No tag filtration profile
1894	// provided. Same as KEEP_ALL_PROFILE.
1895	//   "MINIMAL_KEEP_LIST_PROFILE" - Keep only tags required to produce
1896	// valid DICOM.
1897	//   "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" - Remove tags based on
1898	// DICOM Standard's Attribute Confidentiality Basic Profile (DICOM
1899	// Standard Edition 2018e)
1900	// http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.
1901	//   "KEEP_ALL_PROFILE" - Keep all tags.
1902	//   "DEIDENTIFY_TAG_CONTENTS" - Inspects within tag contents and
1903	// replaces sensitive text. The process can be configured using the
1904	// TextConfig. Applies to all tags with the following Value
1905	// Representation names: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS
1906	FilterProfile string `json:"filterProfile,omitempty"`
1907
1908	// KeepList: List of tags to keep. Remove all other tags.
1909	KeepList *TagFilterList `json:"keepList,omitempty"`
1910
1911	// RemoveList: List of tags to remove. Keep all other tags.
1912	RemoveList *TagFilterList `json:"removeList,omitempty"`
1913
1914	// SkipIdRedaction: If true, skip replacing StudyInstanceUID,
1915	// SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and
1916	// leave them untouched. The Cloud Healthcare API regenerates these UIDs
1917	// by default based on the DICOM Standard's reasoning: "Whilst these
1918	// UIDs cannot be mapped directly to an individual out of context, given
1919	// access to the original images, or to a database of the original
1920	// images containing the UIDs, it would be possible to recover the
1921	// individual's identity."
1922	// http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html
1923	SkipIdRedaction bool `json:"skipIdRedaction,omitempty"`
1924
1925	// ForceSendFields is a list of field names (e.g. "FilterProfile") to
1926	// unconditionally include in API requests. By default, fields with
1927	// empty values are omitted from API requests. However, any non-pointer,
1928	// non-interface field appearing in ForceSendFields will be sent to the
1929	// server regardless of whether the field is empty or not. This may be
1930	// used to include empty fields in Patch requests.
1931	ForceSendFields []string `json:"-"`
1932
1933	// NullFields is a list of field names (e.g. "FilterProfile") to include
1934	// in API requests with the JSON null value. By default, fields with
1935	// empty values are omitted from API requests. However, any field with
1936	// an empty value appearing in NullFields will be sent to the server as
1937	// null. It is an error if a field in this list has a non-empty value.
1938	// This may be used to include null fields in Patch requests.
1939	NullFields []string `json:"-"`
1940}
1941
1942func (s *DicomConfig) MarshalJSON() ([]byte, error) {
1943	type NoMethod DicomConfig
1944	raw := NoMethod(*s)
1945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1946}
1947
1948// DicomFilterConfig: Specifies the filter configuration for DICOM
1949// resources.
1950type DicomFilterConfig struct {
1951	// ResourcePathsGcsUri: The Cloud Storage location of the filter
1952	// configuration file. The `gcs_uri` must be in the format
1953	// `gs://bucket/path/to/object`. The filter configuration file must
1954	// contain a list of resource paths separated by newline characters (\n
1955	// or \r\n). Each resource path must be in the format
1956	// "/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]"
1957	// The Cloud Healthcare API service account must have the
1958	// `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage
1959	// location.
1960	ResourcePathsGcsUri string `json:"resourcePathsGcsUri,omitempty"`
1961
1962	// ForceSendFields is a list of field names (e.g. "ResourcePathsGcsUri")
1963	// to unconditionally include in API requests. By default, fields with
1964	// empty values are omitted from API requests. However, any non-pointer,
1965	// non-interface field appearing in ForceSendFields will be sent to the
1966	// server regardless of whether the field is empty or not. This may be
1967	// used to include empty fields in Patch requests.
1968	ForceSendFields []string `json:"-"`
1969
1970	// NullFields is a list of field names (e.g. "ResourcePathsGcsUri") to
1971	// include in API requests with the JSON null value. By default, fields
1972	// with empty values are omitted from API requests. However, any field
1973	// with an empty value appearing in NullFields will be sent to the
1974	// server as null. It is an error if a field in this list has a
1975	// non-empty value. This may be used to include null fields in Patch
1976	// requests.
1977	NullFields []string `json:"-"`
1978}
1979
1980func (s *DicomFilterConfig) MarshalJSON() ([]byte, error) {
1981	type NoMethod DicomFilterConfig
1982	raw := NoMethod(*s)
1983	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1984}
1985
1986// DicomStore: Represents a DICOM store.
1987type DicomStore struct {
1988	// Labels: User-supplied key-value pairs used to organize DICOM stores.
1989	// Label keys must be between 1 and 63 characters long, have a UTF-8
1990	// encoding of maximum 128 bytes, and must conform to the following PCRE
1991	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
1992	// must be between 1 and 63 characters long, have a UTF-8 encoding of
1993	// maximum 128 bytes, and must conform to the following PCRE regular
1994	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
1995	// associated with a given store.
1996	Labels map[string]string `json:"labels,omitempty"`
1997
1998	// Name: Resource name of the DICOM store, of the form
1999	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
2000	// icomStores/{dicom_store_id}`.
2001	Name string `json:"name,omitempty"`
2002
2003	// NotificationConfig: Notification destination for new DICOM instances.
2004	// Supplied by the client.
2005	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
2006
2007	// StreamConfigs: A list of streaming configs used to configure the
2008	// destination of streaming exports for every DICOM instance insertion
2009	// in this DICOM store. After a new config is added to `stream_configs`,
2010	// DICOM instance insertions are streamed to the new destination. When a
2011	// config is removed from `stream_configs`, the server stops streaming
2012	// to that destination. Each config must contain a unique destination.
2013	StreamConfigs []*GoogleCloudHealthcareV1beta1DicomStreamConfig `json:"streamConfigs,omitempty"`
2014
2015	// ServerResponse contains the HTTP response code and headers from the
2016	// server.
2017	googleapi.ServerResponse `json:"-"`
2018
2019	// ForceSendFields is a list of field names (e.g. "Labels") to
2020	// unconditionally include in API requests. By default, fields with
2021	// empty values are omitted from API requests. However, any non-pointer,
2022	// non-interface field appearing in ForceSendFields will be sent to the
2023	// server regardless of whether the field is empty or not. This may be
2024	// used to include empty fields in Patch requests.
2025	ForceSendFields []string `json:"-"`
2026
2027	// NullFields is a list of field names (e.g. "Labels") to include in API
2028	// requests with the JSON null value. By default, fields with empty
2029	// values are omitted from API requests. However, any field with an
2030	// empty value appearing in NullFields will be sent to the server as
2031	// null. It is an error if a field in this list has a non-empty value.
2032	// This may be used to include null fields in Patch requests.
2033	NullFields []string `json:"-"`
2034}
2035
2036func (s *DicomStore) MarshalJSON() ([]byte, error) {
2037	type NoMethod DicomStore
2038	raw := NoMethod(*s)
2039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2040}
2041
2042// Empty: A generic empty message that you can re-use to avoid defining
2043// duplicated empty messages in your APIs. A typical example is to use
2044// it as the request or the response type of an API method. For
2045// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
2046// (google.protobuf.Empty); } The JSON representation for `Empty` is
2047// empty JSON object `{}`.
2048type Empty struct {
2049	// ServerResponse contains the HTTP response code and headers from the
2050	// server.
2051	googleapi.ServerResponse `json:"-"`
2052}
2053
2054// Entity: The candidate entities that an entity mention could link to.
2055type Entity struct {
2056	// EntityId: entity_id is a first class field entity_id uniquely
2057	// identifies this concept and its meta-vocabulary. For example,
2058	// "UMLS/C0000970".
2059	EntityId string `json:"entityId,omitempty"`
2060
2061	// PreferredTerm: preferred_term is the preferred term for this concept.
2062	// For example, "Acetaminophen". For ad hoc entities formed by
2063	// normalization, this is the most popular unnormalized string.
2064	PreferredTerm string `json:"preferredTerm,omitempty"`
2065
2066	// VocabularyCodes: Vocabulary codes are first-class fields and
2067	// differentiated from the concept unique identifier (entity_id).
2068	// vocabulary_codes contains the representation of this concept in
2069	// particular vocabularies, such as ICD-10, SNOMED-CT and RxNORM. These
2070	// are prefixed by the name of the vocabulary, followed by the unique
2071	// code within that vocabulary. For example, "RXNORM/A10334543".
2072	VocabularyCodes []string `json:"vocabularyCodes,omitempty"`
2073
2074	// ForceSendFields is a list of field names (e.g. "EntityId") to
2075	// unconditionally include in API requests. By default, fields with
2076	// empty values are omitted from API requests. However, any non-pointer,
2077	// non-interface field appearing in ForceSendFields will be sent to the
2078	// server regardless of whether the field is empty or not. This may be
2079	// used to include empty fields in Patch requests.
2080	ForceSendFields []string `json:"-"`
2081
2082	// NullFields is a list of field names (e.g. "EntityId") to include in
2083	// API requests with the JSON null value. By default, fields with empty
2084	// values are omitted from API requests. However, any field with an
2085	// empty value appearing in NullFields will be sent to the server as
2086	// null. It is an error if a field in this list has a non-empty value.
2087	// This may be used to include null fields in Patch requests.
2088	NullFields []string `json:"-"`
2089}
2090
2091func (s *Entity) MarshalJSON() ([]byte, error) {
2092	type NoMethod Entity
2093	raw := NoMethod(*s)
2094	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2095}
2096
2097// EntityMention: An entity mention in the document.
2098type EntityMention struct {
2099	// CertaintyAssessment: The certainty assessment of the entity mention.
2100	// Its value is one of: LIKELY, SOMEWHAT_LIKELY, UNCERTAIN,
2101	// SOMEWHAT_UNLIKELY, UNLIKELY, CONDITIONAL
2102	CertaintyAssessment *Feature `json:"certaintyAssessment,omitempty"`
2103
2104	// Confidence: The model's confidence in this entity mention annotation.
2105	// A number between 0 and 1.
2106	Confidence float64 `json:"confidence,omitempty"`
2107
2108	// LinkedEntities: linked_entities are candidate ontological concepts
2109	// that this entity mention may refer to. They are sorted by decreasing
2110	// confidence.it
2111	LinkedEntities []*LinkedEntity `json:"linkedEntities,omitempty"`
2112
2113	// MentionId: mention_id uniquely identifies each entity mention in a
2114	// single response.
2115	MentionId string `json:"mentionId,omitempty"`
2116
2117	// Subject: The subject this entity mention relates to. Its value is one
2118	// of: PATIENT, FAMILY_MEMBER, OTHER
2119	Subject *Feature `json:"subject,omitempty"`
2120
2121	// TemporalAssessment: How this entity mention relates to the subject
2122	// temporally. Its value is one of: CURRENT, CLINICAL_HISTORY,
2123	// FAMILY_HISTORY, UPCOMING, ALLERGY
2124	TemporalAssessment *Feature `json:"temporalAssessment,omitempty"`
2125
2126	// Text: text is the location of the entity mention in the document.
2127	Text *TextSpan `json:"text,omitempty"`
2128
2129	// Type: The semantic type of the entity: UNKNOWN_ENTITY_TYPE, ALONE,
2130	// ANATOMICAL_STRUCTURE, ASSISTED_LIVING, BF_RESULT, BM_RESULT, BM_UNIT,
2131	// BM_VALUE, BODY_FUNCTION, BODY_MEASUREMENT, COMPLIANT,
2132	// DOESNOT_FOLLOWUP, FAMILY, FOLLOWSUP, LABORATORY_DATA, LAB_RESULT,
2133	// LAB_UNIT, LAB_VALUE, MEDICAL_DEVICE, MEDICINE, MED_DOSE,
2134	// MED_DURATION, MED_FORM, MED_FREQUENCY, MED_ROUTE, MED_STATUS,
2135	// MED_STRENGTH, MED_TOTALDOSE, MED_UNIT, NON_COMPLIANT,
2136	// OTHER_LIVINGSTATUS, PROBLEM, PROCEDURE, PROCEDURE_RESULT,
2137	// PROC_METHOD, REASON_FOR_NONCOMPLIANCE, SEVERITY, SUBSTANCE_ABUSE,
2138	// UNCLEAR_FOLLOWUP.
2139	Type string `json:"type,omitempty"`
2140
2141	// ForceSendFields is a list of field names (e.g. "CertaintyAssessment")
2142	// to unconditionally include in API requests. By default, fields with
2143	// empty values are omitted from API requests. However, any non-pointer,
2144	// non-interface field appearing in ForceSendFields will be sent to the
2145	// server regardless of whether the field is empty or not. This may be
2146	// used to include empty fields in Patch requests.
2147	ForceSendFields []string `json:"-"`
2148
2149	// NullFields is a list of field names (e.g. "CertaintyAssessment") to
2150	// include in API requests with the JSON null value. By default, fields
2151	// with empty values are omitted from API requests. However, any field
2152	// with an empty value appearing in NullFields will be sent to the
2153	// server as null. It is an error if a field in this list has a
2154	// non-empty value. This may be used to include null fields in Patch
2155	// requests.
2156	NullFields []string `json:"-"`
2157}
2158
2159func (s *EntityMention) MarshalJSON() ([]byte, error) {
2160	type NoMethod EntityMention
2161	raw := NoMethod(*s)
2162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2163}
2164
2165func (s *EntityMention) UnmarshalJSON(data []byte) error {
2166	type NoMethod EntityMention
2167	var s1 struct {
2168		Confidence gensupport.JSONFloat64 `json:"confidence"`
2169		*NoMethod
2170	}
2171	s1.NoMethod = (*NoMethod)(s)
2172	if err := json.Unmarshal(data, &s1); err != nil {
2173		return err
2174	}
2175	s.Confidence = float64(s1.Confidence)
2176	return nil
2177}
2178
2179// EntityMentionRelationship: Defines directed relationship from one
2180// entity mention to another.
2181type EntityMentionRelationship struct {
2182	// Confidence: The model's confidence in this annotation. A number
2183	// between 0 and 1.
2184	Confidence float64 `json:"confidence,omitempty"`
2185
2186	// ObjectId: object_id is the id of the object entity mention.
2187	ObjectId string `json:"objectId,omitempty"`
2188
2189	// SubjectId: subject_id is the id of the subject entity mention.
2190	SubjectId string `json:"subjectId,omitempty"`
2191
2192	// ForceSendFields is a list of field names (e.g. "Confidence") to
2193	// unconditionally include in API requests. By default, fields with
2194	// empty values are omitted from API requests. However, any non-pointer,
2195	// non-interface field appearing in ForceSendFields will be sent to the
2196	// server regardless of whether the field is empty or not. This may be
2197	// used to include empty fields in Patch requests.
2198	ForceSendFields []string `json:"-"`
2199
2200	// NullFields is a list of field names (e.g. "Confidence") to include in
2201	// API requests with the JSON null value. By default, fields with empty
2202	// values are omitted from API requests. However, any field with an
2203	// empty value appearing in NullFields will be sent to the server as
2204	// null. It is an error if a field in this list has a non-empty value.
2205	// This may be used to include null fields in Patch requests.
2206	NullFields []string `json:"-"`
2207}
2208
2209func (s *EntityMentionRelationship) MarshalJSON() ([]byte, error) {
2210	type NoMethod EntityMentionRelationship
2211	raw := NoMethod(*s)
2212	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2213}
2214
2215func (s *EntityMentionRelationship) UnmarshalJSON(data []byte) error {
2216	type NoMethod EntityMentionRelationship
2217	var s1 struct {
2218		Confidence gensupport.JSONFloat64 `json:"confidence"`
2219		*NoMethod
2220	}
2221	s1.NoMethod = (*NoMethod)(s)
2222	if err := json.Unmarshal(data, &s1); err != nil {
2223		return err
2224	}
2225	s.Confidence = float64(s1.Confidence)
2226	return nil
2227}
2228
2229// EvaluateAnnotationStoreRequest: Request to evaluate an Annotation
2230// store against a ground truth [Annotation store].
2231type EvaluateAnnotationStoreRequest struct {
2232	// BigqueryDestination: The BigQuery table where the server writes the
2233	// output. BigQueryDestination requires the `roles/bigquery.dataEditor`
2234	// and `roles/bigquery.jobUser` Cloud IAM roles.
2235	BigqueryDestination *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination `json:"bigqueryDestination,omitempty"`
2236
2237	// EvalInfoTypeMapping: Optional. InfoType mapping for `eval_store`.
2238	// Different resources can map to the same infoType. For example,
2239	// `PERSON_NAME`, `PERSON`, `NAME`, and `HUMAN` are different. To map
2240	// all of these into a single infoType (such as `PERSON_NAME`), specify
2241	// the following mapping: ``` info_type_mapping["PERSON"] =
2242	// "PERSON_NAME" info_type_mapping["NAME"] = "PERSON_NAME"
2243	// info_type_mapping["HUMAN"] = "PERSON_NAME" ``` Unmentioned infoTypes,
2244	// such as `DATE`, are treated as identity mapping. For example: ```
2245	// info_type_mapping["DATE"] = "DATE" ``` InfoTypes are
2246	// case-insensitive.
2247	EvalInfoTypeMapping map[string]string `json:"evalInfoTypeMapping,omitempty"`
2248
2249	// GoldenInfoTypeMapping: Optional. Similar to `eval_info_type_mapping`,
2250	// infoType mapping for `golden_store`.
2251	GoldenInfoTypeMapping map[string]string `json:"goldenInfoTypeMapping,omitempty"`
2252
2253	// GoldenStore: The Annotation store to use as ground truth, in the
2254	// format of
2255	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/a
2256	// nnotationStores/{annotation_store_id}`.
2257	GoldenStore string `json:"goldenStore,omitempty"`
2258
2259	InfoTypeConfig *InfoTypeConfig `json:"infoTypeConfig,omitempty"`
2260
2261	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2262	// to unconditionally include in API requests. By default, fields with
2263	// empty values are omitted from API requests. However, any non-pointer,
2264	// non-interface field appearing in ForceSendFields will be sent to the
2265	// server regardless of whether the field is empty or not. This may be
2266	// used to include empty fields in Patch requests.
2267	ForceSendFields []string `json:"-"`
2268
2269	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2270	// include in API requests with the JSON null value. By default, fields
2271	// with empty values are omitted from API requests. However, any field
2272	// with an empty value appearing in NullFields will be sent to the
2273	// server as null. It is an error if a field in this list has a
2274	// non-empty value. This may be used to include null fields in Patch
2275	// requests.
2276	NullFields []string `json:"-"`
2277}
2278
2279func (s *EvaluateAnnotationStoreRequest) MarshalJSON() ([]byte, error) {
2280	type NoMethod EvaluateAnnotationStoreRequest
2281	raw := NoMethod(*s)
2282	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2283}
2284
2285// EvaluateAnnotationStoreResponse: Response for successful Annotation
2286// store evaluation operations. This structure is included in the
2287// response upon operation completion.
2288type EvaluateAnnotationStoreResponse struct {
2289}
2290
2291// EvaluateUserConsentsRequest: Evaluate a user's Consents for all
2292// matching User data mappings. Note: User data mappings are indexed
2293// asynchronously, causing slight delays between the time mappings are
2294// created or updated and when they are included in EvaluateUserConsents
2295// results.
2296type EvaluateUserConsentsRequest struct {
2297	// ConsentList: Optional. Specific Consents to evaluate the access
2298	// request against. These Consents must have the same `user_id` as the
2299	// User data mappings being evalauted, must exist in the current
2300	// `consent_store`, and must have a `state` of either `ACTIVE` or
2301	// `DRAFT`. A maximum of 100 Consents can be provided here. If
2302	// unspecified, all `ACTIVE` unexpired Consents in the current
2303	// `consent_store` will be evaluated.
2304	ConsentList *ConsentList `json:"consentList,omitempty"`
2305
2306	// PageSize: Optional. Limit on the number of User data mappings to
2307	// return in a single response. If not specified, 100 is used. May not
2308	// be larger than 1000.
2309	PageSize int64 `json:"pageSize,omitempty"`
2310
2311	// PageToken: Optional. Token to retrieve the next page of results, or
2312	// empty to get the first page.
2313	PageToken string `json:"pageToken,omitempty"`
2314
2315	// RequestAttributes: Required. The values of request attributes
2316	// associated with this access request.
2317	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
2318
2319	// ResourceAttributes: Optional. The values of resource attributes
2320	// associated with the resources being requested. If no values are
2321	// specified, then all resources are queried.
2322	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
2323
2324	// ResponseView: Optional. The view for EvaluateUserConsentsResponse. If
2325	// unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or
2326	// `FALSE`.
2327	//
2328	// Possible values:
2329	//   "RESPONSE_VIEW_UNSPECIFIED" - No response view specified. The API
2330	// will default to the BASIC view.
2331	//   "BASIC" - Only the `data_id` and `consented` fields are populated
2332	// in the response.
2333	//   "FULL" - All fields within the response are populated. When set to
2334	// `FULL`, all `ACTIVE` Consents are evaluated even if a matching policy
2335	// is found during evaluation.
2336	ResponseView string `json:"responseView,omitempty"`
2337
2338	// UserId: Required. User ID to evaluate consents for.
2339	UserId string `json:"userId,omitempty"`
2340
2341	// ForceSendFields is a list of field names (e.g. "ConsentList") to
2342	// unconditionally include in API requests. By default, fields with
2343	// empty values are omitted from API requests. However, any non-pointer,
2344	// non-interface field appearing in ForceSendFields will be sent to the
2345	// server regardless of whether the field is empty or not. This may be
2346	// used to include empty fields in Patch requests.
2347	ForceSendFields []string `json:"-"`
2348
2349	// NullFields is a list of field names (e.g. "ConsentList") to include
2350	// in API requests with the JSON null value. By default, fields with
2351	// empty values are omitted from API requests. However, any field with
2352	// an empty value appearing in NullFields will be sent to the server as
2353	// null. It is an error if a field in this list has a non-empty value.
2354	// This may be used to include null fields in Patch requests.
2355	NullFields []string `json:"-"`
2356}
2357
2358func (s *EvaluateUserConsentsRequest) MarshalJSON() ([]byte, error) {
2359	type NoMethod EvaluateUserConsentsRequest
2360	raw := NoMethod(*s)
2361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2362}
2363
2364type EvaluateUserConsentsResponse struct {
2365	// NextPageToken: Token to retrieve the next page of results, or empty
2366	// if there are no more results in the list. This token is valid for 72
2367	// hours after it is created.
2368	NextPageToken string `json:"nextPageToken,omitempty"`
2369
2370	// Results: The consent evaluation result for each `data_id`.
2371	Results []*Result `json:"results,omitempty"`
2372
2373	// ServerResponse contains the HTTP response code and headers from the
2374	// server.
2375	googleapi.ServerResponse `json:"-"`
2376
2377	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2378	// unconditionally include in API requests. By default, fields with
2379	// empty values are omitted from API requests. However, any non-pointer,
2380	// non-interface field appearing in ForceSendFields will be sent to the
2381	// server regardless of whether the field is empty or not. This may be
2382	// used to include empty fields in Patch requests.
2383	ForceSendFields []string `json:"-"`
2384
2385	// NullFields is a list of field names (e.g. "NextPageToken") to include
2386	// in API requests with the JSON null value. By default, fields with
2387	// empty values are omitted from API requests. However, any field with
2388	// an empty value appearing in NullFields will be sent to the server as
2389	// null. It is an error if a field in this list has a non-empty value.
2390	// This may be used to include null fields in Patch requests.
2391	NullFields []string `json:"-"`
2392}
2393
2394func (s *EvaluateUserConsentsResponse) MarshalJSON() ([]byte, error) {
2395	type NoMethod EvaluateUserConsentsResponse
2396	raw := NoMethod(*s)
2397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2398}
2399
2400// ExportAnnotationsRequest: Request to export Annotations. The export
2401// operation is not atomic. If a failure occurs, any annotations already
2402// exported are not removed.
2403type ExportAnnotationsRequest struct {
2404	// BigqueryDestination: The BigQuery output destination, which requires
2405	// two IAM roles: `roles/bigquery.dataEditor` and
2406	// `roles/bigquery.jobUser`.
2407	BigqueryDestination *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination `json:"bigqueryDestination,omitempty"`
2408
2409	// GcsDestination: The Cloud Storage destination, which requires the
2410	// `roles/storage.objectAdmin` Cloud IAM role.
2411	GcsDestination *GoogleCloudHealthcareV1beta1AnnotationGcsDestination `json:"gcsDestination,omitempty"`
2412
2413	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2414	// to unconditionally include in API requests. By default, fields with
2415	// empty values are omitted from API requests. However, any non-pointer,
2416	// non-interface field appearing in ForceSendFields will be sent to the
2417	// server regardless of whether the field is empty or not. This may be
2418	// used to include empty fields in Patch requests.
2419	ForceSendFields []string `json:"-"`
2420
2421	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2422	// include in API requests with the JSON null value. By default, fields
2423	// with empty values are omitted from API requests. However, any field
2424	// with an empty value appearing in NullFields will be sent to the
2425	// server as null. It is an error if a field in this list has a
2426	// non-empty value. This may be used to include null fields in Patch
2427	// requests.
2428	NullFields []string `json:"-"`
2429}
2430
2431func (s *ExportAnnotationsRequest) MarshalJSON() ([]byte, error) {
2432	type NoMethod ExportAnnotationsRequest
2433	raw := NoMethod(*s)
2434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2435}
2436
2437// ExportAnnotationsResponse: Response for successful annotation export
2438// operations. This structure is included in response upon operation
2439// completion.
2440type ExportAnnotationsResponse struct {
2441}
2442
2443// ExportDicomDataRequest: Exports data from the specified DICOM store.
2444// If a given resource, such as a DICOM object with the same SOPInstance
2445// UID, already exists in the output, it is overwritten with the version
2446// in the source dataset. Exported DICOM data persists when the DICOM
2447// store from which it was exported is deleted.
2448type ExportDicomDataRequest struct {
2449	// BigqueryDestination: The BigQuery output destination. You can only
2450	// export to a BigQuery dataset that's in the same project as the DICOM
2451	// store you're exporting from. The Cloud Healthcare Service Agent
2452	// requires two IAM roles on the BigQuery location:
2453	// `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
2454	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
2455
2456	// FilterConfig: Specifies the filter configuration.
2457	FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"`
2458
2459	// GcsDestination: The Cloud Storage output destination. The Cloud
2460	// Healthcare Service Agent requires the `roles/storage.objectAdmin`
2461	// Cloud IAM roles on the Cloud Storage location.
2462	GcsDestination *GoogleCloudHealthcareV1beta1DicomGcsDestination `json:"gcsDestination,omitempty"`
2463
2464	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
2465	// to unconditionally include in API requests. By default, fields with
2466	// empty values are omitted from API requests. However, any non-pointer,
2467	// non-interface field appearing in ForceSendFields will be sent to the
2468	// server regardless of whether the field is empty or not. This may be
2469	// used to include empty fields in Patch requests.
2470	ForceSendFields []string `json:"-"`
2471
2472	// NullFields is a list of field names (e.g. "BigqueryDestination") to
2473	// include in API requests with the JSON null value. By default, fields
2474	// with empty values are omitted from API requests. However, any field
2475	// with an empty value appearing in NullFields will be sent to the
2476	// server as null. It is an error if a field in this list has a
2477	// non-empty value. This may be used to include null fields in Patch
2478	// requests.
2479	NullFields []string `json:"-"`
2480}
2481
2482func (s *ExportDicomDataRequest) MarshalJSON() ([]byte, error) {
2483	type NoMethod ExportDicomDataRequest
2484	raw := NoMethod(*s)
2485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2486}
2487
2488// ExportDicomDataResponse: Returns additional information in regards to
2489// a completed DICOM store export.
2490type ExportDicomDataResponse struct {
2491}
2492
2493// ExportMessagesRequest: Request to schedule an export.
2494type ExportMessagesRequest struct {
2495	// EndTime: The end of the range in `send_time` (MSH.7,
2496	// https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm)
2497	// to process. If not specified, the time when the export is scheduled
2498	// is used. This value has to come after the `start_time` defined below.
2499	// Only messages whose `send_time` lies in the range `start_time`
2500	// (inclusive) to `end_time` (exclusive) are exported.
2501	EndTime string `json:"endTime,omitempty"`
2502
2503	// GcsDestination: Export to a Cloud Storage destination.
2504	GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
2505
2506	// StartTime: The start of the range in `send_time` (MSH.7,
2507	// https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm)
2508	// to process. If not specified, the UNIX epoch (1970-01-01T00:00:00Z)
2509	// is used. This value has to come before the `end_time` defined below.
2510	// Only messages whose `send_time` lies in the range `start_time`
2511	// (inclusive) to `end_time` (exclusive) are exported.
2512	StartTime string `json:"startTime,omitempty"`
2513
2514	// ForceSendFields is a list of field names (e.g. "EndTime") to
2515	// unconditionally include in API requests. By default, fields with
2516	// empty values are omitted from API requests. However, any non-pointer,
2517	// non-interface field appearing in ForceSendFields will be sent to the
2518	// server regardless of whether the field is empty or not. This may be
2519	// used to include empty fields in Patch requests.
2520	ForceSendFields []string `json:"-"`
2521
2522	// NullFields is a list of field names (e.g. "EndTime") to include in
2523	// API requests with the JSON null value. By default, fields with empty
2524	// values are omitted from API requests. However, any field with an
2525	// empty value appearing in NullFields will be sent to the server as
2526	// null. It is an error if a field in this list has a non-empty value.
2527	// This may be used to include null fields in Patch requests.
2528	NullFields []string `json:"-"`
2529}
2530
2531func (s *ExportMessagesRequest) MarshalJSON() ([]byte, error) {
2532	type NoMethod ExportMessagesRequest
2533	raw := NoMethod(*s)
2534	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2535}
2536
2537// ExportResourcesRequest: Request to export resources.
2538type ExportResourcesRequest struct {
2539	// Since: If provided, only resources updated after this time are
2540	// exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For
2541	// example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`.
2542	// The time must be specified to the second and include a time zone.
2543	Since string `json:"_since,omitempty"`
2544
2545	// Type: String of comma-delimited FHIR resource types. If provided,
2546	// only resources of the specified resource type(s) are exported.
2547	Type string `json:"_type,omitempty"`
2548
2549	// BigqueryDestination: The BigQuery output destination. The Cloud
2550	// Healthcare Service Agent requires two IAM roles on the BigQuery
2551	// location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
2552	// The output is one BigQuery table per resource type. Note that unlike
2553	// in FhirStore.StreamConfig.BigQueryDestination, BigQuery views will
2554	// not be created by ExportResources.
2555	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
2556
2557	// GcsDestination: The Cloud Storage output destination. The Cloud
2558	// Healthcare Service Agent requires the `roles/storage.objectAdmin`
2559	// Cloud IAM roles on the Cloud Storage location. The exported outputs
2560	// are organized by FHIR resource types. The server creates one object
2561	// per resource type. Each object contains newline delimited JSON, and
2562	// each line is a FHIR resource.
2563	GcsDestination *GoogleCloudHealthcareV1beta1FhirGcsDestination `json:"gcsDestination,omitempty"`
2564
2565	// ForceSendFields is a list of field names (e.g. "Since") to
2566	// unconditionally include in API requests. By default, fields with
2567	// empty values are omitted from API requests. However, any non-pointer,
2568	// non-interface field appearing in ForceSendFields will be sent to the
2569	// server regardless of whether the field is empty or not. This may be
2570	// used to include empty fields in Patch requests.
2571	ForceSendFields []string `json:"-"`
2572
2573	// NullFields is a list of field names (e.g. "Since") to include in API
2574	// requests with the JSON null value. By default, fields with empty
2575	// values are omitted from API requests. However, any field with an
2576	// empty value appearing in NullFields will be sent to the server as
2577	// null. It is an error if a field in this list has a non-empty value.
2578	// This may be used to include null fields in Patch requests.
2579	NullFields []string `json:"-"`
2580}
2581
2582func (s *ExportResourcesRequest) MarshalJSON() ([]byte, error) {
2583	type NoMethod ExportResourcesRequest
2584	raw := NoMethod(*s)
2585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2586}
2587
2588// Expr: Represents a textual expression in the Common Expression
2589// Language (CEL) syntax. CEL is a C-like expression language. The
2590// syntax and semantics of CEL are documented at
2591// https://github.com/google/cel-spec. Example (Comparison): title:
2592// "Summary size limit" description: "Determines if a summary is less
2593// than 100 chars" expression: "document.summary.size() < 100" Example
2594// (Equality): title: "Requestor is owner" description: "Determines if
2595// requestor is the document owner" expression: "document.owner ==
2596// request.auth.claims.email" Example (Logic): title: "Public documents"
2597// description: "Determine whether the document should be publicly
2598// visible" expression: "document.type != 'private' && document.type !=
2599// 'internal'" Example (Data Manipulation): title: "Notification string"
2600// description: "Create a notification string with a timestamp."
2601// expression: "'New message received at ' +
2602// string(document.create_time)" The exact variables and functions that
2603// may be referenced within an expression are determined by the service
2604// that evaluates it. See the service documentation for additional
2605// information.
2606type Expr struct {
2607	// Description: Optional. Description of the expression. This is a
2608	// longer text which describes the expression, e.g. when hovered over it
2609	// in a UI.
2610	Description string `json:"description,omitempty"`
2611
2612	// Expression: Textual representation of an expression in Common
2613	// Expression Language syntax.
2614	Expression string `json:"expression,omitempty"`
2615
2616	// Location: Optional. String indicating the location of the expression
2617	// for error reporting, e.g. a file name and a position in the file.
2618	Location string `json:"location,omitempty"`
2619
2620	// Title: Optional. Title for the expression, i.e. a short string
2621	// describing its purpose. This can be used e.g. in UIs which allow to
2622	// enter the expression.
2623	Title string `json:"title,omitempty"`
2624
2625	// ForceSendFields is a list of field names (e.g. "Description") to
2626	// unconditionally include in API requests. By default, fields with
2627	// empty values are omitted from API requests. However, any non-pointer,
2628	// non-interface field appearing in ForceSendFields will be sent to the
2629	// server regardless of whether the field is empty or not. This may be
2630	// used to include empty fields in Patch requests.
2631	ForceSendFields []string `json:"-"`
2632
2633	// NullFields is a list of field names (e.g. "Description") to include
2634	// in API requests with the JSON null value. By default, fields with
2635	// empty values are omitted from API requests. However, any field with
2636	// an empty value appearing in NullFields will be sent to the server as
2637	// null. It is an error if a field in this list has a non-empty value.
2638	// This may be used to include null fields in Patch requests.
2639	NullFields []string `json:"-"`
2640}
2641
2642func (s *Expr) MarshalJSON() ([]byte, error) {
2643	type NoMethod Expr
2644	raw := NoMethod(*s)
2645	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2646}
2647
2648// Feature: A feature of an entity mention.
2649type Feature struct {
2650	// Confidence: The model's confidence in this feature annotation. A
2651	// number between 0 and 1.
2652	Confidence float64 `json:"confidence,omitempty"`
2653
2654	// Value: The value of this feature annotation. Its range depends on the
2655	// type of the feature.
2656	Value string `json:"value,omitempty"`
2657
2658	// ForceSendFields is a list of field names (e.g. "Confidence") to
2659	// unconditionally include in API requests. By default, fields with
2660	// empty values are omitted from API requests. However, any non-pointer,
2661	// non-interface field appearing in ForceSendFields will be sent to the
2662	// server regardless of whether the field is empty or not. This may be
2663	// used to include empty fields in Patch requests.
2664	ForceSendFields []string `json:"-"`
2665
2666	// NullFields is a list of field names (e.g. "Confidence") to include in
2667	// API requests with the JSON null value. By default, fields with empty
2668	// values are omitted from API requests. However, any field with an
2669	// empty value appearing in NullFields will be sent to the server as
2670	// null. It is an error if a field in this list has a non-empty value.
2671	// This may be used to include null fields in Patch requests.
2672	NullFields []string `json:"-"`
2673}
2674
2675func (s *Feature) MarshalJSON() ([]byte, error) {
2676	type NoMethod Feature
2677	raw := NoMethod(*s)
2678	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2679}
2680
2681func (s *Feature) UnmarshalJSON(data []byte) error {
2682	type NoMethod Feature
2683	var s1 struct {
2684		Confidence gensupport.JSONFloat64 `json:"confidence"`
2685		*NoMethod
2686	}
2687	s1.NoMethod = (*NoMethod)(s)
2688	if err := json.Unmarshal(data, &s1); err != nil {
2689		return err
2690	}
2691	s.Confidence = float64(s1.Confidence)
2692	return nil
2693}
2694
2695// FhirConfig: Specifies how to handle de-identification of a FHIR
2696// store.
2697type FhirConfig struct {
2698	// FieldMetadataList: Specifies FHIR paths to match and how to transform
2699	// them. Any field that is not matched by a FieldMetadata is passed
2700	// through to the output dataset unmodified. All extensions are removed
2701	// in the output. If a field can be matched by more than one
2702	// FieldMetadata, the first FieldMetadata.Action is applied.
2703	FieldMetadataList []*FieldMetadata `json:"fieldMetadataList,omitempty"`
2704
2705	// ForceSendFields is a list of field names (e.g. "FieldMetadataList")
2706	// to unconditionally include in API requests. By default, fields with
2707	// empty values are omitted from API requests. However, any non-pointer,
2708	// non-interface field appearing in ForceSendFields will be sent to the
2709	// server regardless of whether the field is empty or not. This may be
2710	// used to include empty fields in Patch requests.
2711	ForceSendFields []string `json:"-"`
2712
2713	// NullFields is a list of field names (e.g. "FieldMetadataList") to
2714	// include in API requests with the JSON null value. By default, fields
2715	// with empty values are omitted from API requests. However, any field
2716	// with an empty value appearing in NullFields will be sent to the
2717	// server as null. It is an error if a field in this list has a
2718	// non-empty value. This may be used to include null fields in Patch
2719	// requests.
2720	NullFields []string `json:"-"`
2721}
2722
2723func (s *FhirConfig) MarshalJSON() ([]byte, error) {
2724	type NoMethod FhirConfig
2725	raw := NoMethod(*s)
2726	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2727}
2728
2729// FhirFilter: Filter configuration.
2730type FhirFilter struct {
2731	// Resources: List of resources to include in the output. If this list
2732	// is empty or not specified, all resources are included in the output.
2733	Resources *Resources `json:"resources,omitempty"`
2734
2735	// ForceSendFields is a list of field names (e.g. "Resources") to
2736	// unconditionally include in API requests. By default, fields with
2737	// empty values are omitted from API requests. However, any non-pointer,
2738	// non-interface field appearing in ForceSendFields will be sent to the
2739	// server regardless of whether the field is empty or not. This may be
2740	// used to include empty fields in Patch requests.
2741	ForceSendFields []string `json:"-"`
2742
2743	// NullFields is a list of field names (e.g. "Resources") to include in
2744	// API requests with the JSON null value. By default, fields with empty
2745	// values are omitted from API requests. However, any field with an
2746	// empty value appearing in NullFields will be sent to the server as
2747	// null. It is an error if a field in this list has a non-empty value.
2748	// This may be used to include null fields in Patch requests.
2749	NullFields []string `json:"-"`
2750}
2751
2752func (s *FhirFilter) MarshalJSON() ([]byte, error) {
2753	type NoMethod FhirFilter
2754	raw := NoMethod(*s)
2755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2756}
2757
2758// FhirStore: Represents a FHIR store.
2759type FhirStore struct {
2760	// DefaultSearchHandlingStrict: If true, overrides the default search
2761	// behavior for this FHIR store to `handling=strict` which returns an
2762	// error for unrecognized search parameters. If false, uses the FHIR
2763	// specification default `handling=lenient` which ignores unrecognized
2764	// search parameters. The handling can always be changed from the
2765	// default on an individual API call by setting the HTTP header `Prefer:
2766	// handling=strict` or `Prefer: handling=lenient`.
2767	DefaultSearchHandlingStrict bool `json:"defaultSearchHandlingStrict,omitempty"`
2768
2769	// DisableReferentialIntegrity: Immutable. Whether to disable
2770	// referential integrity in this FHIR store. This field is immutable
2771	// after FHIR store creation. The default value is false, meaning that
2772	// the API enforces referential integrity and fails the requests that
2773	// result in inconsistent state in the FHIR store. When this field is
2774	// set to true, the API skips referential integrity checks.
2775	// Consequently, operations that rely on references, such as
2776	// GetPatientEverything, do not return all the results if broken
2777	// references exist.
2778	DisableReferentialIntegrity bool `json:"disableReferentialIntegrity,omitempty"`
2779
2780	// DisableResourceVersioning: Immutable. Whether to disable resource
2781	// versioning for this FHIR store. This field can not be changed after
2782	// the creation of FHIR store. If set to false, which is the default
2783	// behavior, all write operations cause historical versions to be
2784	// recorded automatically. The historical versions can be fetched
2785	// through the history APIs, but cannot be updated. If set to true, no
2786	// historical versions are kept. The server sends errors for attempts to
2787	// read the historical versions.
2788	DisableResourceVersioning bool `json:"disableResourceVersioning,omitempty"`
2789
2790	// EnableUpdateCreate: Whether this FHIR store has the updateCreate
2791	// capability
2792	// (https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
2793	// This determines if the client can use an Update operation to create a
2794	// new resource with a client-specified ID. If false, all IDs are
2795	// server-assigned through the Create operation and attempts to update a
2796	// non-existent resource return errors. It is strongly advised not to
2797	// include or encode any sensitive data such as patient identifiers in
2798	// client-specified resource IDs. Those IDs are part of the FHIR
2799	// resource path recorded in Cloud audit logs and Pub/Sub notifications.
2800	// Those IDs can also be contained in reference fields within other
2801	// resources.
2802	EnableUpdateCreate bool `json:"enableUpdateCreate,omitempty"`
2803
2804	// Labels: User-supplied key-value pairs used to organize FHIR stores.
2805	// Label keys must be between 1 and 63 characters long, have a UTF-8
2806	// encoding of maximum 128 bytes, and must conform to the following PCRE
2807	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
2808	// must be between 1 and 63 characters long, have a UTF-8 encoding of
2809	// maximum 128 bytes, and must conform to the following PCRE regular
2810	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
2811	// associated with a given store.
2812	Labels map[string]string `json:"labels,omitempty"`
2813
2814	// Name: Output only. Resource name of the FHIR store, of the form
2815	// `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id
2816	// }`.
2817	Name string `json:"name,omitempty"`
2818
2819	// NotificationConfig: If non-empty, publish all resource modifications
2820	// of this FHIR store to this destination. The Pub/Sub message
2821	// attributes contain a map with a string describing the action that has
2822	// triggered the notification. For example, "action":"CreateResource".
2823	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
2824
2825	// SearchConfig: Configuration for how FHIR resource can be searched.
2826	SearchConfig *SearchConfig `json:"searchConfig,omitempty"`
2827
2828	// StreamConfigs: A list of streaming configs that configure the
2829	// destinations of streaming export for every resource mutation in this
2830	// FHIR store. Each store is allowed to have up to 10 streaming configs.
2831	// After a new config is added, the next resource mutation is streamed
2832	// to the new location in addition to the existing ones. When a location
2833	// is removed from the list, the server stops streaming to that
2834	// location. Before adding a new config, you must add the required
2835	// `bigquery.dataEditor`
2836	// (https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
2837	// role to your project's **Cloud Healthcare Service Agent** service
2838	// account (https://cloud.google.com/iam/docs/service-accounts). Some
2839	// lag (typically on the order of dozens of seconds) is expected before
2840	// the results show up in the streaming destination.
2841	StreamConfigs []*StreamConfig `json:"streamConfigs,omitempty"`
2842
2843	// ValidationConfig: Configuration for how to validate incoming FHIR
2844	// resources against configured profiles.
2845	ValidationConfig *ValidationConfig `json:"validationConfig,omitempty"`
2846
2847	// Version: Immutable. The FHIR specification version that this FHIR
2848	// store supports natively. This field is immutable after store
2849	// creation. Requests are rejected if they contain FHIR resources of a
2850	// different version. Version is required for every FHIR store.
2851	//
2852	// Possible values:
2853	//   "VERSION_UNSPECIFIED" - VERSION_UNSPECIFIED is treated as STU3 to
2854	// accommodate the existing FHIR stores.
2855	//   "DSTU2" - Draft Standard for Trial Use, [Release
2856	// 2](https://www.hl7.org/fhir/DSTU2)
2857	//   "STU3" - Standard for Trial Use, [Release
2858	// 3](https://www.hl7.org/fhir/STU3)
2859	//   "R4" - [Release 4](https://www.hl7.org/fhir/R4)
2860	Version string `json:"version,omitempty"`
2861
2862	// ServerResponse contains the HTTP response code and headers from the
2863	// server.
2864	googleapi.ServerResponse `json:"-"`
2865
2866	// ForceSendFields is a list of field names (e.g.
2867	// "DefaultSearchHandlingStrict") to unconditionally include in API
2868	// requests. By default, fields with empty values are omitted from API
2869	// requests. However, any non-pointer, non-interface field appearing in
2870	// ForceSendFields will be sent to the server regardless of whether the
2871	// field is empty or not. This may be used to include empty fields in
2872	// Patch requests.
2873	ForceSendFields []string `json:"-"`
2874
2875	// NullFields is a list of field names (e.g.
2876	// "DefaultSearchHandlingStrict") to include in API requests with the
2877	// JSON null value. By default, fields with empty values are omitted
2878	// from API requests. However, any field with an empty value appearing
2879	// in NullFields will be sent to the server as null. It is an error if a
2880	// field in this list has a non-empty value. This may be used to include
2881	// null fields in Patch requests.
2882	NullFields []string `json:"-"`
2883}
2884
2885func (s *FhirStore) MarshalJSON() ([]byte, error) {
2886	type NoMethod FhirStore
2887	raw := NoMethod(*s)
2888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2889}
2890
2891// Field: A (sub) field of a type.
2892type Field struct {
2893	// MaxOccurs: The maximum number of times this field can be repeated. 0
2894	// or -1 means unbounded.
2895	MaxOccurs int64 `json:"maxOccurs,omitempty"`
2896
2897	// MinOccurs: The minimum number of times this field must be
2898	// present/repeated.
2899	MinOccurs int64 `json:"minOccurs,omitempty"`
2900
2901	// Name: The name of the field. For example, "PID-1" or just "1".
2902	Name string `json:"name,omitempty"`
2903
2904	// Table: The HL7v2 table this field refers to. For example, PID-15
2905	// (Patient's Primary Language) usually refers to table "0296".
2906	Table string `json:"table,omitempty"`
2907
2908	// Type: The type of this field. A Type with this name must be defined
2909	// in an Hl7TypesConfig.
2910	Type string `json:"type,omitempty"`
2911
2912	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
2913	// unconditionally include in API requests. By default, fields with
2914	// empty values are omitted from API requests. However, any non-pointer,
2915	// non-interface field appearing in ForceSendFields will be sent to the
2916	// server regardless of whether the field is empty or not. This may be
2917	// used to include empty fields in Patch requests.
2918	ForceSendFields []string `json:"-"`
2919
2920	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
2921	// API requests with the JSON null value. By default, fields with empty
2922	// values are omitted from API requests. However, any field with an
2923	// empty value appearing in NullFields will be sent to the server as
2924	// null. It is an error if a field in this list has a non-empty value.
2925	// This may be used to include null fields in Patch requests.
2926	NullFields []string `json:"-"`
2927}
2928
2929func (s *Field) MarshalJSON() ([]byte, error) {
2930	type NoMethod Field
2931	raw := NoMethod(*s)
2932	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2933}
2934
2935// FieldMetadata: Specifies FHIR paths to match, and how to handle
2936// de-identification of matching fields.
2937type FieldMetadata struct {
2938	// Action: Deidentify action for one field.
2939	//
2940	// Possible values:
2941	//   "ACTION_UNSPECIFIED" - No action specified.
2942	//   "TRANSFORM" - Transform the entire field based on transformations
2943	// specified in TextConfig. When the specified transformation cannot be
2944	// applied to a field, RedactConfig is used. For example, a Crypto Hash
2945	// transformation can't be applied to a FHIR Date field.
2946	//   "INSPECT_AND_TRANSFORM" - Inspect and transform any found PHI. When
2947	// `AnnotationConfig` is provided, annotations of PHI will be generated,
2948	// except for Date and Datetime.
2949	//   "DO_NOT_TRANSFORM" - Do not transform.
2950	Action string `json:"action,omitempty"`
2951
2952	// Paths: List of paths to FHIR fields to redact. Each path is a
2953	// period-separated list where each component is either a field name or
2954	// FHIR type name. All types begin with an upper case letter. For
2955	// example, the resource field "Patient.Address.city", which uses a
2956	// string type, can be matched by "Patient.Address.String". Path also
2957	// supports partial matching. For example, "Patient.Address.city" can be
2958	// matched by "Address.city" (Patient omitted). Partial matching and
2959	// type matching can be combined. For example, "Patient.Address.city"
2960	// can be matched by "Address.String". For "choice" types (those defined
2961	// in the FHIR spec with the form: field[x]), use two separate
2962	// components. For example, "deceasedAge.unit" is matched by
2963	// "Deceased.Age.unit". Supported types are: AdministrativeGenderCode,
2964	// Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown,
2965	// Oid, String, Uri, Uuid, Xhtml. The sub-type for HumanName, such as
2966	// HumanName.given or HumanName.family, can be omitted.
2967	Paths []string `json:"paths,omitempty"`
2968
2969	// ForceSendFields is a list of field names (e.g. "Action") to
2970	// unconditionally include in API requests. By default, fields with
2971	// empty values are omitted from API requests. However, any non-pointer,
2972	// non-interface field appearing in ForceSendFields will be sent to the
2973	// server regardless of whether the field is empty or not. This may be
2974	// used to include empty fields in Patch requests.
2975	ForceSendFields []string `json:"-"`
2976
2977	// NullFields is a list of field names (e.g. "Action") to include in API
2978	// requests with the JSON null value. By default, fields with empty
2979	// values are omitted from API requests. However, any field with an
2980	// empty value appearing in NullFields will be sent to the server as
2981	// null. It is an error if a field in this list has a non-empty value.
2982	// This may be used to include null fields in Patch requests.
2983	NullFields []string `json:"-"`
2984}
2985
2986func (s *FieldMetadata) MarshalJSON() ([]byte, error) {
2987	type NoMethod FieldMetadata
2988	raw := NoMethod(*s)
2989	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2990}
2991
2992// FilterList: List of infoTypes to be filtered.
2993type FilterList struct {
2994	// InfoTypes: These infoTypes are based on after the
2995	// `eval_info_type_mapping` and `golden_info_type_mapping`.
2996	InfoTypes []string `json:"infoTypes,omitempty"`
2997
2998	// ForceSendFields is a list of field names (e.g. "InfoTypes") to
2999	// unconditionally include in API requests. By default, fields with
3000	// empty values are omitted from API requests. However, any non-pointer,
3001	// non-interface field appearing in ForceSendFields will be sent to the
3002	// server regardless of whether the field is empty or not. This may be
3003	// used to include empty fields in Patch requests.
3004	ForceSendFields []string `json:"-"`
3005
3006	// NullFields is a list of field names (e.g. "InfoTypes") to include in
3007	// API requests with the JSON null value. By default, fields with empty
3008	// values are omitted from API requests. However, any field with an
3009	// empty value appearing in NullFields will be sent to the server as
3010	// null. It is an error if a field in this list has a non-empty value.
3011	// This may be used to include null fields in Patch requests.
3012	NullFields []string `json:"-"`
3013}
3014
3015func (s *FilterList) MarshalJSON() ([]byte, error) {
3016	type NoMethod FilterList
3017	raw := NoMethod(*s)
3018	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3019}
3020
3021type Finding struct {
3022	// End: Zero-based ending index of the found text, exclusively.
3023	End int64 `json:"end,omitempty,string"`
3024
3025	// InfoType: The type of information stored in this text range. For
3026	// example, HumanName, BirthDate, or Address.
3027	InfoType string `json:"infoType,omitempty"`
3028
3029	// Quote: The snippet of the sensitive text. This field is only
3030	// populated during deidentification if `store_quote` is set to true in
3031	// DeidentifyConfig.
3032	Quote string `json:"quote,omitempty"`
3033
3034	// Start: Zero-based starting index of the found text, inclusively.
3035	Start int64 `json:"start,omitempty,string"`
3036
3037	// ForceSendFields is a list of field names (e.g. "End") to
3038	// unconditionally include in API requests. By default, fields with
3039	// empty values are omitted from API requests. However, any non-pointer,
3040	// non-interface field appearing in ForceSendFields will be sent to the
3041	// server regardless of whether the field is empty or not. This may be
3042	// used to include empty fields in Patch requests.
3043	ForceSendFields []string `json:"-"`
3044
3045	// NullFields is a list of field names (e.g. "End") to include in API
3046	// requests with the JSON null value. By default, fields with empty
3047	// values are omitted from API requests. However, any field with an
3048	// empty value appearing in NullFields will be sent to the server as
3049	// null. It is an error if a field in this list has a non-empty value.
3050	// This may be used to include null fields in Patch requests.
3051	NullFields []string `json:"-"`
3052}
3053
3054func (s *Finding) MarshalJSON() ([]byte, error) {
3055	type NoMethod Finding
3056	raw := NoMethod(*s)
3057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3058}
3059
3060// GcsDestination: The Cloud Storage output destination. The Cloud
3061// Healthcare Service Agent requires the `roles/storage.objectAdmin`
3062// Cloud IAM roles on the Cloud Storage location.
3063type GcsDestination struct {
3064	// ContentStructure: The format of the exported HL7v2 message files.
3065	//
3066	// Possible values:
3067	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
3068	// specified, the default value `MESSAGE_JSON` will be used.
3069	//   "MESSAGE_JSON" - Messages are printed using the JSON format
3070	// returned from the `GetMessage` API. Messages are delimited with
3071	// newlines.
3072	ContentStructure string `json:"contentStructure,omitempty"`
3073
3074	// MessageView: Specifies the parts of the Message resource to include
3075	// in the export. If not specified, FULL is used.
3076	//
3077	// Possible values:
3078	//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
3079	// getMessage, equivalent to BASIC for listMessages.
3080	//   "RAW_ONLY" - Server responses include all the message fields except
3081	// parsed_data, and schematized_data fields.
3082	//   "PARSED_ONLY" - Server responses include all the message fields
3083	// except data and schematized_data fields.
3084	//   "FULL" - Server responses include all the message fields.
3085	//   "SCHEMATIZED_ONLY" - Server responses include all the message
3086	// fields except data and parsed_data fields.
3087	//   "BASIC" - Server responses include only the name field.
3088	MessageView string `json:"messageView,omitempty"`
3089
3090	// UriPrefix: URI of an existing Cloud Storage directory where the
3091	// server writes result files, in the format
3092	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3093	// slash, the service appends one when composing the object path.
3094	UriPrefix string `json:"uriPrefix,omitempty"`
3095
3096	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
3097	// unconditionally include in API requests. By default, fields with
3098	// empty values are omitted from API requests. However, any non-pointer,
3099	// non-interface field appearing in ForceSendFields will be sent to the
3100	// server regardless of whether the field is empty or not. This may be
3101	// used to include empty fields in Patch requests.
3102	ForceSendFields []string `json:"-"`
3103
3104	// NullFields is a list of field names (e.g. "ContentStructure") to
3105	// include in API requests with the JSON null value. By default, fields
3106	// with empty values are omitted from API requests. However, any field
3107	// with an empty value appearing in NullFields will be sent to the
3108	// server as null. It is an error if a field in this list has a
3109	// non-empty value. This may be used to include null fields in Patch
3110	// requests.
3111	NullFields []string `json:"-"`
3112}
3113
3114func (s *GcsDestination) MarshalJSON() ([]byte, error) {
3115	type NoMethod GcsDestination
3116	raw := NoMethod(*s)
3117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3118}
3119
3120// GcsSource: Specifies the configuration for importing data from Cloud
3121// Storage.
3122type GcsSource struct {
3123	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3124	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3125	// The URI can include wildcards in `object_id` and thus identify
3126	// multiple files. Supported wildcards: * `*` to match 0 or more
3127	// non-separator characters * `**` to match 0 or more characters
3128	// (including separators). Must be used at the end of a path and with no
3129	// other wildcards in the path. Can also be used with a file extension
3130	// (such as .ndjson), which imports all files with the extension in the
3131	// specified directory and its sub-directories. For example,
3132	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3133	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3134	// `?` to match 1 character Files matching the wildcard are expected to
3135	// contain content only, no metadata.
3136	Uri string `json:"uri,omitempty"`
3137
3138	// ForceSendFields is a list of field names (e.g. "Uri") to
3139	// unconditionally include in API requests. By default, fields with
3140	// empty values are omitted from API requests. However, any non-pointer,
3141	// non-interface field appearing in ForceSendFields will be sent to the
3142	// server regardless of whether the field is empty or not. This may be
3143	// used to include empty fields in Patch requests.
3144	ForceSendFields []string `json:"-"`
3145
3146	// NullFields is a list of field names (e.g. "Uri") to include in API
3147	// requests with the JSON null value. By default, fields with empty
3148	// values are omitted from API requests. However, any field with an
3149	// empty value appearing in NullFields will be sent to the server as
3150	// null. It is an error if a field in this list has a non-empty value.
3151	// This may be used to include null fields in Patch requests.
3152	NullFields []string `json:"-"`
3153}
3154
3155func (s *GcsSource) MarshalJSON() ([]byte, error) {
3156	type NoMethod GcsSource
3157	raw := NoMethod(*s)
3158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3159}
3160
3161// GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination: The
3162// BigQuery table for export.
3163type GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination struct {
3164	// Force: Use `write_disposition` instead. If `write_disposition` is
3165	// specified, this parameter is ignored. force=false is equivalent to
3166	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3167	// write_disposition=WRITE_TRUNCATE.
3168	Force bool `json:"force,omitempty"`
3169
3170	// SchemaType: Specifies the schema format to export.
3171	//
3172	// Possible values:
3173	//   "SCHEMA_TYPE_UNSPECIFIED" - Same as SIMPLE.
3174	//   "SIMPLE" - A flatterned version of Annotation.
3175	SchemaType string `json:"schemaType,omitempty"`
3176
3177	// TableUri: BigQuery URI to a table, up to 2000 characters long, must
3178	// be of the form bq://projectId.bqDatasetId.tableId.
3179	TableUri string `json:"tableUri,omitempty"`
3180
3181	// WriteDisposition: Determines if existing data in the destination
3182	// dataset is overwritten, appended to, or not written if the tables
3183	// contain data. If a write_disposition is specified, the `force`
3184	// parameter is ignored.
3185	//
3186	// Possible values:
3187	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3188	// WRITE_EMPTY.
3189	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3190	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3191	// writing the instances.
3192	//   "WRITE_APPEND" - Append data to the existing table.
3193	WriteDisposition string `json:"writeDisposition,omitempty"`
3194
3195	// ForceSendFields is a list of field names (e.g. "Force") to
3196	// unconditionally include in API requests. By default, fields with
3197	// empty values are omitted from API requests. However, any non-pointer,
3198	// non-interface field appearing in ForceSendFields will be sent to the
3199	// server regardless of whether the field is empty or not. This may be
3200	// used to include empty fields in Patch requests.
3201	ForceSendFields []string `json:"-"`
3202
3203	// NullFields is a list of field names (e.g. "Force") to include in API
3204	// requests with the JSON null value. By default, fields with empty
3205	// values are omitted from API requests. However, any field with an
3206	// empty value appearing in NullFields will be sent to the server as
3207	// null. It is an error if a field in this list has a non-empty value.
3208	// This may be used to include null fields in Patch requests.
3209	NullFields []string `json:"-"`
3210}
3211
3212func (s *GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination) MarshalJSON() ([]byte, error) {
3213	type NoMethod GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination
3214	raw := NoMethod(*s)
3215	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3216}
3217
3218// GoogleCloudHealthcareV1beta1AnnotationGcsDestination: The Cloud
3219// Storage location for export.
3220type GoogleCloudHealthcareV1beta1AnnotationGcsDestination struct {
3221	// UriPrefix: The Cloud Storage destination to export to. URI for a
3222	// Cloud Storage directory where the server writes result files, in the
3223	// format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no
3224	// trailing slash, the service appends one when composing the object
3225	// path. The user is responsible for creating the Cloud Storage bucket
3226	// referenced in `uri_prefix`.
3227	UriPrefix string `json:"uriPrefix,omitempty"`
3228
3229	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3230	// unconditionally include in API requests. By default, fields with
3231	// empty values are omitted from API requests. However, any non-pointer,
3232	// non-interface field appearing in ForceSendFields will be sent to the
3233	// server regardless of whether the field is empty or not. This may be
3234	// used to include empty fields in Patch requests.
3235	ForceSendFields []string `json:"-"`
3236
3237	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3238	// API requests with the JSON null value. By default, fields with empty
3239	// values are omitted from API requests. However, any field with an
3240	// empty value appearing in NullFields will be sent to the server as
3241	// null. It is an error if a field in this list has a non-empty value.
3242	// This may be used to include null fields in Patch requests.
3243	NullFields []string `json:"-"`
3244}
3245
3246func (s *GoogleCloudHealthcareV1beta1AnnotationGcsDestination) MarshalJSON() ([]byte, error) {
3247	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsDestination
3248	raw := NoMethod(*s)
3249	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3250}
3251
3252// GoogleCloudHealthcareV1beta1AnnotationGcsSource: Specifies the
3253// configuration for importing data from Cloud Storage.
3254type GoogleCloudHealthcareV1beta1AnnotationGcsSource struct {
3255	// Uri: Points to a Cloud Storage URI containing file(s) with content
3256	// only. The URI must be in the following format:
3257	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3258	// `object_id` and thus identify multiple files. Supported wildcards:
3259	// '*' to match 0 or more non-separator characters '**' to match 0 or
3260	// more characters (including separators). Must be used at the end of a
3261	// path and with no other wildcards in the path. Can also be used with a
3262	// file extension (such as .dcm), which imports all files with the
3263	// extension in the specified directory and its sub-directories. For
3264	// example, `gs://my-bucket/my-directory/**.json` imports all files with
3265	// .json extensions in `my-directory/` and its sub-directories. '?' to
3266	// match 1 character All other URI formats are invalid. Files matching
3267	// the wildcard are expected to contain content only, no metadata.
3268	Uri string `json:"uri,omitempty"`
3269
3270	// ForceSendFields is a list of field names (e.g. "Uri") to
3271	// unconditionally include in API requests. By default, fields with
3272	// empty values are omitted from API requests. However, any non-pointer,
3273	// non-interface field appearing in ForceSendFields will be sent to the
3274	// server regardless of whether the field is empty or not. This may be
3275	// used to include empty fields in Patch requests.
3276	ForceSendFields []string `json:"-"`
3277
3278	// NullFields is a list of field names (e.g. "Uri") to include in API
3279	// requests with the JSON null value. By default, fields with empty
3280	// values are omitted from API requests. However, any field with an
3281	// empty value appearing in NullFields will be sent to the server as
3282	// null. It is an error if a field in this list has a non-empty value.
3283	// This may be used to include null fields in Patch requests.
3284	NullFields []string `json:"-"`
3285}
3286
3287func (s *GoogleCloudHealthcareV1beta1AnnotationGcsSource) MarshalJSON() ([]byte, error) {
3288	type NoMethod GoogleCloudHealthcareV1beta1AnnotationGcsSource
3289	raw := NoMethod(*s)
3290	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3291}
3292
3293// GoogleCloudHealthcareV1beta1ConsentGcsDestination: The Cloud Storage
3294// location for export.
3295type GoogleCloudHealthcareV1beta1ConsentGcsDestination struct {
3296	// UriPrefix: URI for a Cloud Storage directory where the server writes
3297	// result files, in the format
3298	// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
3299	// slash, the service appends one when composing the object path. The
3300	// user is responsible for creating the Cloud Storage bucket and
3301	// directory referenced in `uri_prefix`.
3302	UriPrefix string `json:"uriPrefix,omitempty"`
3303
3304	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3305	// unconditionally include in API requests. By default, fields with
3306	// empty values are omitted from API requests. However, any non-pointer,
3307	// non-interface field appearing in ForceSendFields will be sent to the
3308	// server regardless of whether the field is empty or not. This may be
3309	// used to include empty fields in Patch requests.
3310	ForceSendFields []string `json:"-"`
3311
3312	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3313	// API requests with the JSON null value. By default, fields with empty
3314	// values are omitted from API requests. However, any field with an
3315	// empty value appearing in NullFields will be sent to the server as
3316	// null. It is an error if a field in this list has a non-empty value.
3317	// This may be used to include null fields in Patch requests.
3318	NullFields []string `json:"-"`
3319}
3320
3321func (s *GoogleCloudHealthcareV1beta1ConsentGcsDestination) MarshalJSON() ([]byte, error) {
3322	type NoMethod GoogleCloudHealthcareV1beta1ConsentGcsDestination
3323	raw := NoMethod(*s)
3324	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3325}
3326
3327// GoogleCloudHealthcareV1beta1ConsentPolicy: Represents a user's
3328// consent in terms of the resources that can be accessed and under what
3329// conditions.
3330type GoogleCloudHealthcareV1beta1ConsentPolicy struct {
3331	// AuthorizationRule: Required. The request conditions to meet to grant
3332	// access. In addition to any supported comparison operators,
3333	// authorization rules may have `IN` operator as well as at most 10
3334	// logical operators that are limited to `AND` (`&&`), `OR` (`||`).
3335	AuthorizationRule *Expr `json:"authorizationRule,omitempty"`
3336
3337	// ResourceAttributes: The resources that this policy applies to. A
3338	// resource is a match if it matches all the attributes listed here. If
3339	// empty, this policy applies to all User data mappings for the given
3340	// user.
3341	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
3342
3343	// ForceSendFields is a list of field names (e.g. "AuthorizationRule")
3344	// to unconditionally include in API requests. By default, fields with
3345	// empty values are omitted from API requests. However, any non-pointer,
3346	// non-interface field appearing in ForceSendFields will be sent to the
3347	// server regardless of whether the field is empty or not. This may be
3348	// used to include empty fields in Patch requests.
3349	ForceSendFields []string `json:"-"`
3350
3351	// NullFields is a list of field names (e.g. "AuthorizationRule") to
3352	// include in API requests with the JSON null value. By default, fields
3353	// with empty values are omitted from API requests. However, any field
3354	// with an empty value appearing in NullFields will be sent to the
3355	// server as null. It is an error if a field in this list has a
3356	// non-empty value. This may be used to include null fields in Patch
3357	// requests.
3358	NullFields []string `json:"-"`
3359}
3360
3361func (s *GoogleCloudHealthcareV1beta1ConsentPolicy) MarshalJSON() ([]byte, error) {
3362	type NoMethod GoogleCloudHealthcareV1beta1ConsentPolicy
3363	raw := NoMethod(*s)
3364	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3365}
3366
3367// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary:
3368// Contains a summary of the DeidentifyDicomStore operation.
3369type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary struct {
3370}
3371
3372// GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary:
3373// Contains a summary of the DeidentifyFhirStore operation.
3374type GoogleCloudHealthcareV1beta1DeidentifyDeidentifyFhirStoreSummary struct {
3375}
3376
3377// GoogleCloudHealthcareV1beta1DicomBigQueryDestination: The BigQuery
3378// table where the server writes output.
3379type GoogleCloudHealthcareV1beta1DicomBigQueryDestination struct {
3380	// Force: Use `write_disposition` instead. If `write_disposition` is
3381	// specified, this parameter is ignored. force=false is equivalent to
3382	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3383	// write_disposition=WRITE_TRUNCATE.
3384	Force bool `json:"force,omitempty"`
3385
3386	// TableUri: BigQuery URI to a table, up to 2000 characters long, in the
3387	// format `bq://projectId.bqDatasetId.tableId`
3388	TableUri string `json:"tableUri,omitempty"`
3389
3390	// WriteDisposition: Determines whether the existing table in the
3391	// destination is to be overwritten or appended to. If a
3392	// write_disposition is specified, the `force` parameter is ignored.
3393	//
3394	// Possible values:
3395	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3396	// WRITE_EMPTY.
3397	//   "WRITE_EMPTY" - Only export data if the destination table is empty.
3398	//   "WRITE_TRUNCATE" - Erase all existing data in a table before
3399	// writing the instances.
3400	//   "WRITE_APPEND" - Append data to the existing table.
3401	WriteDisposition string `json:"writeDisposition,omitempty"`
3402
3403	// ForceSendFields is a list of field names (e.g. "Force") to
3404	// unconditionally include in API requests. By default, fields with
3405	// empty values are omitted from API requests. However, any non-pointer,
3406	// non-interface field appearing in ForceSendFields will be sent to the
3407	// server regardless of whether the field is empty or not. This may be
3408	// used to include empty fields in Patch requests.
3409	ForceSendFields []string `json:"-"`
3410
3411	// NullFields is a list of field names (e.g. "Force") to include in API
3412	// requests with the JSON null value. By default, fields with empty
3413	// values are omitted from API requests. However, any field with an
3414	// empty value appearing in NullFields will be sent to the server as
3415	// null. It is an error if a field in this list has a non-empty value.
3416	// This may be used to include null fields in Patch requests.
3417	NullFields []string `json:"-"`
3418}
3419
3420func (s *GoogleCloudHealthcareV1beta1DicomBigQueryDestination) MarshalJSON() ([]byte, error) {
3421	type NoMethod GoogleCloudHealthcareV1beta1DicomBigQueryDestination
3422	raw := NoMethod(*s)
3423	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3424}
3425
3426// GoogleCloudHealthcareV1beta1DicomGcsDestination: The Cloud Storage
3427// location where the server writes the output and the export
3428// configuration.
3429type GoogleCloudHealthcareV1beta1DicomGcsDestination struct {
3430	// MimeType: MIME types supported by DICOM spec. Each file is written in
3431	// the following format:
3432	// `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}
3433	// ` The frame_number component exists only for multi-frame instances.
3434	// Supported MIME types are consistent with supported formats in
3435	// DICOMweb:
3436	// https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
3437	// Specifically, the following are supported: - application/dicom;
3438	// transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) -
3439	// application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with
3440	// embedded JPEG Baseline) - application/dicom;
3441	// transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000
3442	// Lossless Only) - application/dicom;
3443	// transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG
3444	// 2000)h - application/dicom; transfer-syntax=* (DICOM with no
3445	// transcoding) - application/octet-stream;
3446	// transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) -
3447	// application/octet-stream; transfer-syntax=* (raw PixelData in
3448	// whatever format it was uploaded in) - image/jpeg;
3449	// transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png
3450	// The following extensions are used for output files: -
3451	// application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png -
3452	// application/octet-stream -> no extension If unspecified, the
3453	// instances are exported in the original DICOM format they were
3454	// uploaded in.
3455	MimeType string `json:"mimeType,omitempty"`
3456
3457	// UriPrefix: The Cloud Storage destination to export to. URI for a
3458	// Cloud Storage directory where the server writes the result files, in
3459	// the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is
3460	// no trailing slash, the service appends one when composing the object
3461	// path. The user is responsible for creating the Cloud Storage bucket
3462	// referenced in `uri_prefix`.
3463	UriPrefix string `json:"uriPrefix,omitempty"`
3464
3465	// ForceSendFields is a list of field names (e.g. "MimeType") to
3466	// unconditionally include in API requests. By default, fields with
3467	// empty values are omitted from API requests. However, any non-pointer,
3468	// non-interface field appearing in ForceSendFields will be sent to the
3469	// server regardless of whether the field is empty or not. This may be
3470	// used to include empty fields in Patch requests.
3471	ForceSendFields []string `json:"-"`
3472
3473	// NullFields is a list of field names (e.g. "MimeType") to include in
3474	// API requests with the JSON null value. By default, fields with empty
3475	// values are omitted from API requests. However, any field with an
3476	// empty value appearing in NullFields will be sent to the server as
3477	// null. It is an error if a field in this list has a non-empty value.
3478	// This may be used to include null fields in Patch requests.
3479	NullFields []string `json:"-"`
3480}
3481
3482func (s *GoogleCloudHealthcareV1beta1DicomGcsDestination) MarshalJSON() ([]byte, error) {
3483	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsDestination
3484	raw := NoMethod(*s)
3485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3486}
3487
3488// GoogleCloudHealthcareV1beta1DicomGcsSource: Specifies the
3489// configuration for importing data from Cloud Storage.
3490type GoogleCloudHealthcareV1beta1DicomGcsSource struct {
3491	// Uri: Points to a Cloud Storage URI containing file(s) with content
3492	// only. The URI must be in the following format:
3493	// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
3494	// `object_id` and thus identify multiple files. Supported wildcards: *
3495	// '*' to match 0 or more non-separator characters * '**' to match 0 or
3496	// more characters (including separators). Must be used at the end of a
3497	// path and with no other wildcards in the path. Can also be used with a
3498	// file extension (such as .dcm), which imports all files with the
3499	// extension in the specified directory and its sub-directories. For
3500	// example, `gs://my-bucket/my-directory/**.dcm` imports all files with
3501	// .dcm extensions in `my-directory/` and its sub-directories. * '?' to
3502	// match 1 character. All other URI formats are invalid. Files matching
3503	// the wildcard are expected to contain content only, no metadata.
3504	Uri string `json:"uri,omitempty"`
3505
3506	// ForceSendFields is a list of field names (e.g. "Uri") to
3507	// unconditionally include in API requests. By default, fields with
3508	// empty values are omitted from API requests. However, any non-pointer,
3509	// non-interface field appearing in ForceSendFields will be sent to the
3510	// server regardless of whether the field is empty or not. This may be
3511	// used to include empty fields in Patch requests.
3512	ForceSendFields []string `json:"-"`
3513
3514	// NullFields is a list of field names (e.g. "Uri") to include in API
3515	// requests with the JSON null value. By default, fields with empty
3516	// values are omitted from API requests. However, any field with an
3517	// empty value appearing in NullFields will be sent to the server as
3518	// null. It is an error if a field in this list has a non-empty value.
3519	// This may be used to include null fields in Patch requests.
3520	NullFields []string `json:"-"`
3521}
3522
3523func (s *GoogleCloudHealthcareV1beta1DicomGcsSource) MarshalJSON() ([]byte, error) {
3524	type NoMethod GoogleCloudHealthcareV1beta1DicomGcsSource
3525	raw := NoMethod(*s)
3526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3527}
3528
3529// GoogleCloudHealthcareV1beta1DicomStreamConfig: StreamConfig specifies
3530// configuration for a streaming DICOM export.
3531type GoogleCloudHealthcareV1beta1DicomStreamConfig struct {
3532	// BigqueryDestination: Results are appended to this table. The server
3533	// creates a new table in the given BigQuery dataset if the specified
3534	// table does not exist. To enable the Cloud Healthcare API to write to
3535	// your BigQuery table, you must give the Cloud Healthcare API service
3536	// account the bigquery.dataEditor role. The service account is:
3537	// `service-{PROJECT_NUMBER}@gcp-sa-healthcare.iam.gserviceaccount.com`.
3538	// The PROJECT_NUMBER identifies the project that the DICOM store
3539	// resides in. To get the project number, go to the Cloud Console
3540	// Dashboard. It is recommended to not have a custom schema in the
3541	// destination table which could conflict with the schema created by the
3542	// Cloud Healthcare API. Instance deletions are not applied to the
3543	// destination table. The destination's table schema will be
3544	// automatically updated in case a new instance's data is incompatible
3545	// with the current schema. The schema should not be updated manually as
3546	// this can cause incompatibilies that cannot be resolved automatically.
3547	// One resolution in this case is to delete the incompatible table and
3548	// let the server recreate one, though the newly created table only
3549	// contains data after the table recreation. BigQuery imposes a 1 MB
3550	// limit on streaming insert row size, therefore any instance that
3551	// generates more than 1 MB of BigQuery data will not be streamed. If an
3552	// instance cannot be streamed to BigQuery, errors will be logged to
3553	// Cloud Logging (see Viewing error logs in Cloud Logging
3554	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
3555	BigqueryDestination *GoogleCloudHealthcareV1beta1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
3556
3557	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
3558	// to unconditionally include in API requests. By default, fields with
3559	// empty values are omitted from API requests. However, any non-pointer,
3560	// non-interface field appearing in ForceSendFields will be sent to the
3561	// server regardless of whether the field is empty or not. This may be
3562	// used to include empty fields in Patch requests.
3563	ForceSendFields []string `json:"-"`
3564
3565	// NullFields is a list of field names (e.g. "BigqueryDestination") to
3566	// include in API requests with the JSON null value. By default, fields
3567	// with empty values are omitted from API requests. However, any field
3568	// with an empty value appearing in NullFields will be sent to the
3569	// server as null. It is an error if a field in this list has a
3570	// non-empty value. This may be used to include null fields in Patch
3571	// requests.
3572	NullFields []string `json:"-"`
3573}
3574
3575func (s *GoogleCloudHealthcareV1beta1DicomStreamConfig) MarshalJSON() ([]byte, error) {
3576	type NoMethod GoogleCloudHealthcareV1beta1DicomStreamConfig
3577	raw := NoMethod(*s)
3578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3579}
3580
3581// GoogleCloudHealthcareV1beta1FhirBigQueryDestination: The
3582// configuration for exporting to BigQuery.
3583type GoogleCloudHealthcareV1beta1FhirBigQueryDestination struct {
3584	// DatasetUri: BigQuery URI to an existing dataset, up to 2000
3585	// characters long, in the format `bq://projectId.bqDatasetId`.
3586	DatasetUri string `json:"datasetUri,omitempty"`
3587
3588	// Force: Use `write_disposition` instead. If `write_disposition` is
3589	// specified, this parameter is ignored. force=false is equivalent to
3590	// write_disposition=WRITE_EMPTY and force=true is equivalent to
3591	// write_disposition=WRITE_TRUNCATE.
3592	Force bool `json:"force,omitempty"`
3593
3594	// SchemaConfig: The configuration for the exported BigQuery schema.
3595	SchemaConfig *SchemaConfig `json:"schemaConfig,omitempty"`
3596
3597	// WriteDisposition: Determines if existing data in the destination
3598	// dataset is overwritten, appended to, or not written if the tables
3599	// contain data. If a write_disposition is specified, the `force`
3600	// parameter is ignored.
3601	//
3602	// Possible values:
3603	//   "WRITE_DISPOSITION_UNSPECIFIED" - Default behavior is the same as
3604	// WRITE_EMPTY.
3605	//   "WRITE_EMPTY" - Only export data if the destination tables are
3606	// empty.
3607	//   "WRITE_TRUNCATE" - Erase all existing data in the tables before
3608	// writing the instances.
3609	//   "WRITE_APPEND" - Append data to the existing tables.
3610	WriteDisposition string `json:"writeDisposition,omitempty"`
3611
3612	// ForceSendFields is a list of field names (e.g. "DatasetUri") to
3613	// unconditionally include in API requests. By default, fields with
3614	// empty values are omitted from API requests. However, any non-pointer,
3615	// non-interface field appearing in ForceSendFields will be sent to the
3616	// server regardless of whether the field is empty or not. This may be
3617	// used to include empty fields in Patch requests.
3618	ForceSendFields []string `json:"-"`
3619
3620	// NullFields is a list of field names (e.g. "DatasetUri") to include in
3621	// API requests with the JSON null value. By default, fields with empty
3622	// values are omitted from API requests. However, any field with an
3623	// empty value appearing in NullFields will be sent to the server as
3624	// null. It is an error if a field in this list has a non-empty value.
3625	// This may be used to include null fields in Patch requests.
3626	NullFields []string `json:"-"`
3627}
3628
3629func (s *GoogleCloudHealthcareV1beta1FhirBigQueryDestination) MarshalJSON() ([]byte, error) {
3630	type NoMethod GoogleCloudHealthcareV1beta1FhirBigQueryDestination
3631	raw := NoMethod(*s)
3632	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3633}
3634
3635// GoogleCloudHealthcareV1beta1FhirExportResourcesResponse: Response
3636// when all resources export successfully. This structure is included in
3637// the response to describe the detailed outcome after the operation
3638// finishes successfully.
3639type GoogleCloudHealthcareV1beta1FhirExportResourcesResponse struct {
3640}
3641
3642// GoogleCloudHealthcareV1beta1FhirGcsDestination: The configuration for
3643// exporting to Cloud Storage.
3644type GoogleCloudHealthcareV1beta1FhirGcsDestination struct {
3645	// UriPrefix: URI for a Cloud Storage directory where result files
3646	// should be written (in the format
3647	// `gs://{bucket-id}/{path/to/destination/dir}`). If there is no
3648	// trailing slash, the service appends one when composing the object
3649	// path. The Cloud Storage bucket referenced in `uri_prefix` must exist
3650	// or an error occurs.
3651	UriPrefix string `json:"uriPrefix,omitempty"`
3652
3653	// ForceSendFields is a list of field names (e.g. "UriPrefix") to
3654	// unconditionally include in API requests. By default, fields with
3655	// empty values are omitted from API requests. However, any non-pointer,
3656	// non-interface field appearing in ForceSendFields will be sent to the
3657	// server regardless of whether the field is empty or not. This may be
3658	// used to include empty fields in Patch requests.
3659	ForceSendFields []string `json:"-"`
3660
3661	// NullFields is a list of field names (e.g. "UriPrefix") to include in
3662	// API requests with the JSON null value. By default, fields with empty
3663	// values are omitted from API requests. However, any field with an
3664	// empty value appearing in NullFields will be sent to the server as
3665	// null. It is an error if a field in this list has a non-empty value.
3666	// This may be used to include null fields in Patch requests.
3667	NullFields []string `json:"-"`
3668}
3669
3670func (s *GoogleCloudHealthcareV1beta1FhirGcsDestination) MarshalJSON() ([]byte, error) {
3671	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsDestination
3672	raw := NoMethod(*s)
3673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3674}
3675
3676// GoogleCloudHealthcareV1beta1FhirGcsSource: Specifies the
3677// configuration for importing data from Cloud Storage.
3678type GoogleCloudHealthcareV1beta1FhirGcsSource struct {
3679	// Uri: Points to a Cloud Storage URI containing file(s) to import. The
3680	// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
3681	// The URI can include wildcards in `object_id` and thus identify
3682	// multiple files. Supported wildcards: * `*` to match 0 or more
3683	// non-separator characters * `**` to match 0 or more characters
3684	// (including separators). Must be used at the end of a path and with no
3685	// other wildcards in the path. Can also be used with a file extension
3686	// (such as .ndjson), which imports all files with the extension in the
3687	// specified directory and its sub-directories. For example,
3688	// `gs://my-bucket/my-directory/**.ndjson` imports all files with
3689	// `.ndjson` extensions in `my-directory/` and its sub-directories. *
3690	// `?` to match 1 character Files matching the wildcard are expected to
3691	// contain content only, no metadata.
3692	Uri string `json:"uri,omitempty"`
3693
3694	// ForceSendFields is a list of field names (e.g. "Uri") to
3695	// unconditionally include in API requests. By default, fields with
3696	// empty values are omitted from API requests. However, any non-pointer,
3697	// non-interface field appearing in ForceSendFields will be sent to the
3698	// server regardless of whether the field is empty or not. This may be
3699	// used to include empty fields in Patch requests.
3700	ForceSendFields []string `json:"-"`
3701
3702	// NullFields is a list of field names (e.g. "Uri") to include in API
3703	// requests with the JSON null value. By default, fields with empty
3704	// values are omitted from API requests. However, any field with an
3705	// empty value appearing in NullFields will be sent to the server as
3706	// null. It is an error if a field in this list has a non-empty value.
3707	// This may be used to include null fields in Patch requests.
3708	NullFields []string `json:"-"`
3709}
3710
3711func (s *GoogleCloudHealthcareV1beta1FhirGcsSource) MarshalJSON() ([]byte, error) {
3712	type NoMethod GoogleCloudHealthcareV1beta1FhirGcsSource
3713	raw := NoMethod(*s)
3714	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3715}
3716
3717// GoogleCloudHealthcareV1beta1FhirImportResourcesResponse: Final
3718// response of importing resources. This structure is included in the
3719// response to describe the detailed outcome after the operation
3720// finishes successfully.
3721type GoogleCloudHealthcareV1beta1FhirImportResourcesResponse struct {
3722}
3723
3724// GroupOrSegment: Construct representing a logical group or a segment.
3725type GroupOrSegment struct {
3726	Group *SchemaGroup `json:"group,omitempty"`
3727
3728	Segment *SchemaSegment `json:"segment,omitempty"`
3729
3730	// ForceSendFields is a list of field names (e.g. "Group") to
3731	// unconditionally include in API requests. By default, fields with
3732	// empty values are omitted from API requests. However, any non-pointer,
3733	// non-interface field appearing in ForceSendFields will be sent to the
3734	// server regardless of whether the field is empty or not. This may be
3735	// used to include empty fields in Patch requests.
3736	ForceSendFields []string `json:"-"`
3737
3738	// NullFields is a list of field names (e.g. "Group") to include in API
3739	// requests with the JSON null value. By default, fields with empty
3740	// values are omitted from API requests. However, any field with an
3741	// empty value appearing in NullFields will be sent to the server as
3742	// null. It is an error if a field in this list has a non-empty value.
3743	// This may be used to include null fields in Patch requests.
3744	NullFields []string `json:"-"`
3745}
3746
3747func (s *GroupOrSegment) MarshalJSON() ([]byte, error) {
3748	type NoMethod GroupOrSegment
3749	raw := NoMethod(*s)
3750	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3751}
3752
3753// Hl7SchemaConfig: Root config message for HL7v2 schema. This contains
3754// a schema structure of groups and segments, and filters that determine
3755// which messages to apply the schema structure to.
3756type Hl7SchemaConfig struct {
3757	// MessageSchemaConfigs: Map from each HL7v2 message type and trigger
3758	// event pair, such as ADT_A04, to its schema configuration root group.
3759	MessageSchemaConfigs map[string]SchemaGroup `json:"messageSchemaConfigs,omitempty"`
3760
3761	// Version: Each VersionSource is tested and only if they all match is
3762	// the schema used for the message.
3763	Version []*VersionSource `json:"version,omitempty"`
3764
3765	// ForceSendFields is a list of field names (e.g.
3766	// "MessageSchemaConfigs") to unconditionally include in API requests.
3767	// By default, fields with empty values are omitted from API requests.
3768	// However, any non-pointer, non-interface field appearing in
3769	// ForceSendFields will be sent to the server regardless of whether the
3770	// field is empty or not. This may be used to include empty fields in
3771	// Patch requests.
3772	ForceSendFields []string `json:"-"`
3773
3774	// NullFields is a list of field names (e.g. "MessageSchemaConfigs") to
3775	// include in API requests with the JSON null value. By default, fields
3776	// with empty values are omitted from API requests. However, any field
3777	// with an empty value appearing in NullFields will be sent to the
3778	// server as null. It is an error if a field in this list has a
3779	// non-empty value. This may be used to include null fields in Patch
3780	// requests.
3781	NullFields []string `json:"-"`
3782}
3783
3784func (s *Hl7SchemaConfig) MarshalJSON() ([]byte, error) {
3785	type NoMethod Hl7SchemaConfig
3786	raw := NoMethod(*s)
3787	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3788}
3789
3790// Hl7TypesConfig: Root config for HL7v2 datatype definitions for a
3791// specific HL7v2 version.
3792type Hl7TypesConfig struct {
3793	// Type: The HL7v2 type definitions.
3794	Type []*Type `json:"type,omitempty"`
3795
3796	// Version: The version selectors that this config applies to. A message
3797	// must match ALL version sources to apply.
3798	Version []*VersionSource `json:"version,omitempty"`
3799
3800	// ForceSendFields is a list of field names (e.g. "Type") to
3801	// unconditionally include in API requests. By default, fields with
3802	// empty values are omitted from API requests. However, any non-pointer,
3803	// non-interface field appearing in ForceSendFields will be sent to the
3804	// server regardless of whether the field is empty or not. This may be
3805	// used to include empty fields in Patch requests.
3806	ForceSendFields []string `json:"-"`
3807
3808	// NullFields is a list of field names (e.g. "Type") to include in API
3809	// requests with the JSON null value. By default, fields with empty
3810	// values are omitted from API requests. However, any field with an
3811	// empty value appearing in NullFields will be sent to the server as
3812	// null. It is an error if a field in this list has a non-empty value.
3813	// This may be used to include null fields in Patch requests.
3814	NullFields []string `json:"-"`
3815}
3816
3817func (s *Hl7TypesConfig) MarshalJSON() ([]byte, error) {
3818	type NoMethod Hl7TypesConfig
3819	raw := NoMethod(*s)
3820	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3821}
3822
3823// Hl7V2NotificationConfig: Specifies where and whether to send
3824// notifications upon changes to a data store.
3825type Hl7V2NotificationConfig struct {
3826	// Filter: Restricts notifications sent for messages matching a filter.
3827	// If this is empty, all messages are matched. The following syntax is
3828	// available: * A string field value can be written as text inside
3829	// quotation marks, for example "query text". The only valid
3830	// relational operation for text fields is equality (`=`), where text is
3831	// searched within the field, rather than having the field be equal to
3832	// the text. For example, "Comment = great" returns messages with
3833	// `great` in the comment field. * A number field value can be written
3834	// as an integer, a decimal, or an exponential. The valid relational
3835	// operators for number fields are the equality operator (`=`), along
3836	// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
3837	// Note that there is no inequality (`!=`) operator. You can prepend the
3838	// `NOT` operator to an expression to negate it. * A date field value
3839	// must be written in `yyyy-mm-dd` form. Fields with date and time use
3840	// the RFC3339 time format. Leading zeros are required for one-digit
3841	// months and days. The valid relational operators for date fields are
3842	// the equality operator (`=`) , along with the less than/greater than
3843	// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
3844	// (`!=`) operator. You can prepend the `NOT` operator to an expression
3845	// to negate it. * Multiple field query expressions can be combined in
3846	// one query by adding `AND` or `OR` operators between the expressions.
3847	// If a boolean operator appears within a quoted string, it is not
3848	// treated as special, it's just another part of the character string to
3849	// be matched. You can prepend the `NOT` operator to an expression to
3850	// negate it. Fields/functions available for filtering are: *
3851	// `message_type`, from the MSH-9.1 field. For example, `NOT
3852	// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
3853	// date the message was sent in the dataset's time_zone, from the MSH-7
3854	// segment. For example, `send_date < "2017-01-02". * `send_time`, the
3855	// timestamp when the message was sent, using the RFC3339 time format
3856	// for comparisons, from the MSH-7 segment. For example, `send_time <
3857	// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
3858	// message was created in the HL7v2 store. Use the RFC3339 time format
3859	// for comparisons. For example, `create_time <
3860	// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
3861	// the message came from, from the MSH-4 segment. For example,
3862	// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
3863	// the message lists a patient having an ID of the given value and type
3864	// in the PID-2, PID-3, or PID-4 segments. For example,
3865	// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
3866	// label with key `x` as set using the Message.labels map. For example,
3867	// `labels."priority"="high". The operator `:*` can be used to assert
3868	// the existence of a label. For example, `labels."priority":*`.
3869	Filter string `json:"filter,omitempty"`
3870
3871	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
3872	// topic that notifications of changes are published on. Supplied by the
3873	// client. The notification is a `PubsubMessage` with the following
3874	// fields: * `PubsubMessage.Data` contains the resource name. *
3875	// `PubsubMessage.MessageId` is the ID of this notification. It is
3876	// guaranteed to be unique within the topic. *
3877	// `PubsubMessage.PublishTime` is the time when the message was
3878	// published. Note that notifications are only sent if the topic is
3879	// non-empty. Topic names
3880	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
3881	// to a project. Cloud Healthcare API service account must have
3882	// publisher permissions on the given Pub/Sub topic. Not having adequate
3883	// permissions causes the calls that send notifications to fail. If a
3884	// notification can't be published to Pub/Sub, errors are logged to
3885	// Cloud Logging. For more information, see Viewing error logs in Cloud
3886	// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
3887	PubsubTopic string `json:"pubsubTopic,omitempty"`
3888
3889	// ForceSendFields is a list of field names (e.g. "Filter") to
3890	// unconditionally include in API requests. By default, fields with
3891	// empty values are omitted from API requests. However, any non-pointer,
3892	// non-interface field appearing in ForceSendFields will be sent to the
3893	// server regardless of whether the field is empty or not. This may be
3894	// used to include empty fields in Patch requests.
3895	ForceSendFields []string `json:"-"`
3896
3897	// NullFields is a list of field names (e.g. "Filter") to include in API
3898	// requests with the JSON null value. By default, fields with empty
3899	// values are omitted from API requests. However, any field with an
3900	// empty value appearing in NullFields will be sent to the server as
3901	// null. It is an error if a field in this list has a non-empty value.
3902	// This may be used to include null fields in Patch requests.
3903	NullFields []string `json:"-"`
3904}
3905
3906func (s *Hl7V2NotificationConfig) MarshalJSON() ([]byte, error) {
3907	type NoMethod Hl7V2NotificationConfig
3908	raw := NoMethod(*s)
3909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3910}
3911
3912// Hl7V2Store: Represents an HL7v2 store.
3913type Hl7V2Store struct {
3914	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
3915	// Label keys must be between 1 and 63 characters long, have a UTF-8
3916	// encoding of maximum 128 bytes, and must conform to the following PCRE
3917	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
3918	// must be between 1 and 63 characters long, have a UTF-8 encoding of
3919	// maximum 128 bytes, and must conform to the following PCRE regular
3920	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
3921	// associated with a given store.
3922	Labels map[string]string `json:"labels,omitempty"`
3923
3924	// Name: Resource name of the HL7v2 store, of the form
3925	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_
3926	// id}`.
3927	Name string `json:"name,omitempty"`
3928
3929	// NotificationConfig: The notification destination all messages (both
3930	// Ingest & Create) are published on. Only the message name is sent as
3931	// part of the notification. If this is unset, no notifications are
3932	// sent. Supplied by the client.
3933	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
3934
3935	// NotificationConfigs: A list of notification configs. Each
3936	// configuration uses a filter to determine whether to publish a message
3937	// (both Ingest & Create) on the corresponding notification destination.
3938	// Only the message name is sent as part of the notification. Supplied
3939	// by the client.
3940	NotificationConfigs []*Hl7V2NotificationConfig `json:"notificationConfigs,omitempty"`
3941
3942	// ParserConfig: The configuration for the parser. It determines how the
3943	// server parses the messages.
3944	ParserConfig *ParserConfig `json:"parserConfig,omitempty"`
3945
3946	// RejectDuplicateMessage: Determines whether to reject duplicate
3947	// messages. A duplicate message is a message with the same raw bytes as
3948	// a message that has already been ingested/created in this HL7v2 store.
3949	// The default value is false, meaning that the store accepts the
3950	// duplicate messages and it also returns the same ACK message in the
3951	// IngestMessageResponse as has been returned previously. Note that only
3952	// one resource is created in the store. When this field is set to true,
3953	// CreateMessage/IngestMessage requests with a duplicate message will be
3954	// rejected by the store, and IngestMessageErrorDetail returns a NACK
3955	// message upon rejection.
3956	RejectDuplicateMessage bool `json:"rejectDuplicateMessage,omitempty"`
3957
3958	// ServerResponse contains the HTTP response code and headers from the
3959	// server.
3960	googleapi.ServerResponse `json:"-"`
3961
3962	// ForceSendFields is a list of field names (e.g. "Labels") to
3963	// unconditionally include in API requests. By default, fields with
3964	// empty values are omitted from API requests. However, any non-pointer,
3965	// non-interface field appearing in ForceSendFields will be sent to the
3966	// server regardless of whether the field is empty or not. This may be
3967	// used to include empty fields in Patch requests.
3968	ForceSendFields []string `json:"-"`
3969
3970	// NullFields is a list of field names (e.g. "Labels") to include in API
3971	// requests with the JSON null value. By default, fields with empty
3972	// values are omitted from API requests. However, any field with an
3973	// empty value appearing in NullFields will be sent to the server as
3974	// null. It is an error if a field in this list has a non-empty value.
3975	// This may be used to include null fields in Patch requests.
3976	NullFields []string `json:"-"`
3977}
3978
3979func (s *Hl7V2Store) MarshalJSON() ([]byte, error) {
3980	type NoMethod Hl7V2Store
3981	raw := NoMethod(*s)
3982	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3983}
3984
3985// HttpBody: Message that represents an arbitrary HTTP body. It should
3986// only be used for payload formats that can't be represented as JSON,
3987// such as raw binary or an HTML page. This message can be used both in
3988// streaming and non-streaming API methods in the request as well as the
3989// response. It can be used as a top-level request field, which is
3990// convenient if one wants to extract parameters from either the URL or
3991// HTTP template into the request fields and also want access to the raw
3992// HTTP body. Example: message GetResourceRequest { // A unique request
3993// id. string request_id = 1; // The raw HTTP body is bound to this
3994// field. google.api.HttpBody http_body = 2; } service ResourceService {
3995// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
3996// rpc UpdateResource(google.api.HttpBody) returns
3997// (google.protobuf.Empty); } Example with streaming methods: service
3998// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns
3999// (stream google.api.HttpBody); rpc UpdateCalendar(stream
4000// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
4001// this type only changes how the request and response bodies are
4002// handled, all other features will continue to work unchanged.
4003type HttpBody struct {
4004	// ContentType: The HTTP Content-Type header value specifying the
4005	// content type of the body.
4006	ContentType string `json:"contentType,omitempty"`
4007
4008	// Data: The HTTP request/response body as raw binary.
4009	Data string `json:"data,omitempty"`
4010
4011	// Extensions: Application specific response metadata. Must be set in
4012	// the first response for streaming APIs.
4013	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
4014
4015	// ServerResponse contains the HTTP response code and headers from the
4016	// server.
4017	googleapi.ServerResponse `json:"-"`
4018
4019	// ForceSendFields is a list of field names (e.g. "ContentType") to
4020	// unconditionally include in API requests. By default, fields with
4021	// empty values are omitted from API requests. However, any non-pointer,
4022	// non-interface field appearing in ForceSendFields will be sent to the
4023	// server regardless of whether the field is empty or not. This may be
4024	// used to include empty fields in Patch requests.
4025	ForceSendFields []string `json:"-"`
4026
4027	// NullFields is a list of field names (e.g. "ContentType") to include
4028	// in API requests with the JSON null value. By default, fields with
4029	// empty values are omitted from API requests. However, any field with
4030	// an empty value appearing in NullFields will be sent to the server as
4031	// null. It is an error if a field in this list has a non-empty value.
4032	// This may be used to include null fields in Patch requests.
4033	NullFields []string `json:"-"`
4034}
4035
4036func (s *HttpBody) MarshalJSON() ([]byte, error) {
4037	type NoMethod HttpBody
4038	raw := NoMethod(*s)
4039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4040}
4041
4042// Image: Raw bytes representing consent artifact content.
4043type Image struct {
4044	// GcsUri: Input only. Points to a Cloud Storage URI containing the
4045	// consent artifact content. The URI must be in the following format:
4046	// `gs://{bucket_id}/{object_id}`. The Cloud Healthcare API service
4047	// account must have the `roles/storage.objectViewer` Cloud IAM role for
4048	// this Cloud Storage location. The consent artifact content at this URI
4049	// is copied to a Cloud Storage location managed by the Cloud Healthcare
4050	// API. Responses to fetching requests return the consent artifact
4051	// content in raw_bytes.
4052	GcsUri string `json:"gcsUri,omitempty"`
4053
4054	// RawBytes: Consent artifact content represented as a stream of bytes.
4055	// This field is populated when returned in GetConsentArtifact response,
4056	// but not included in CreateConsentArtifact and ListConsentArtifact
4057	// response.
4058	RawBytes string `json:"rawBytes,omitempty"`
4059
4060	// ForceSendFields is a list of field names (e.g. "GcsUri") to
4061	// unconditionally include in API requests. By default, fields with
4062	// empty values are omitted from API requests. However, any non-pointer,
4063	// non-interface field appearing in ForceSendFields will be sent to the
4064	// server regardless of whether the field is empty or not. This may be
4065	// used to include empty fields in Patch requests.
4066	ForceSendFields []string `json:"-"`
4067
4068	// NullFields is a list of field names (e.g. "GcsUri") to include in API
4069	// requests with the JSON null value. By default, fields with empty
4070	// values are omitted from API requests. However, any field with an
4071	// empty value appearing in NullFields will be sent to the server as
4072	// null. It is an error if a field in this list has a non-empty value.
4073	// This may be used to include null fields in Patch requests.
4074	NullFields []string `json:"-"`
4075}
4076
4077func (s *Image) MarshalJSON() ([]byte, error) {
4078	type NoMethod Image
4079	raw := NoMethod(*s)
4080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4081}
4082
4083// ImageAnnotation: Image annotation.
4084type ImageAnnotation struct {
4085	// BoundingPolys: The list of polygons outlining the sensitive regions
4086	// in the image.
4087	BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"`
4088
4089	// FrameIndex: 0-based index of the image frame. For example, an image
4090	// frame in a DICOM instance.
4091	FrameIndex int64 `json:"frameIndex,omitempty"`
4092
4093	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
4094	// unconditionally include in API requests. By default, fields with
4095	// empty values are omitted from API requests. However, any non-pointer,
4096	// non-interface field appearing in ForceSendFields will be sent to the
4097	// server regardless of whether the field is empty or not. This may be
4098	// used to include empty fields in Patch requests.
4099	ForceSendFields []string `json:"-"`
4100
4101	// NullFields is a list of field names (e.g. "BoundingPolys") to include
4102	// in API requests with the JSON null value. By default, fields with
4103	// empty values are omitted from API requests. However, any field with
4104	// an empty value appearing in NullFields will be sent to the server as
4105	// null. It is an error if a field in this list has a non-empty value.
4106	// This may be used to include null fields in Patch requests.
4107	NullFields []string `json:"-"`
4108}
4109
4110func (s *ImageAnnotation) MarshalJSON() ([]byte, error) {
4111	type NoMethod ImageAnnotation
4112	raw := NoMethod(*s)
4113	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4114}
4115
4116// ImageConfig: Specifies how to handle de-identification of image
4117// pixels.
4118type ImageConfig struct {
4119	// TextRedactionMode: Determines how to redact text from image.
4120	//
4121	// Possible values:
4122	//   "TEXT_REDACTION_MODE_UNSPECIFIED" - No text redaction specified.
4123	// Same as REDACT_NO_TEXT.
4124	//   "REDACT_ALL_TEXT" - Redact all text.
4125	//   "REDACT_SENSITIVE_TEXT" - Redact sensitive text.
4126	//   "REDACT_NO_TEXT" - Do not redact text.
4127	TextRedactionMode string `json:"textRedactionMode,omitempty"`
4128
4129	// ForceSendFields is a list of field names (e.g. "TextRedactionMode")
4130	// to unconditionally include in API requests. By default, fields with
4131	// empty values are omitted from API requests. However, any non-pointer,
4132	// non-interface field appearing in ForceSendFields will be sent to the
4133	// server regardless of whether the field is empty or not. This may be
4134	// used to include empty fields in Patch requests.
4135	ForceSendFields []string `json:"-"`
4136
4137	// NullFields is a list of field names (e.g. "TextRedactionMode") to
4138	// include in API requests with the JSON null value. By default, fields
4139	// with empty values are omitted from API requests. However, any field
4140	// with an empty value appearing in NullFields will be sent to the
4141	// server as null. It is an error if a field in this list has a
4142	// non-empty value. This may be used to include null fields in Patch
4143	// requests.
4144	NullFields []string `json:"-"`
4145}
4146
4147func (s *ImageConfig) MarshalJSON() ([]byte, error) {
4148	type NoMethod ImageConfig
4149	raw := NoMethod(*s)
4150	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4151}
4152
4153// ImportAnnotationsRequest: Request to import Annotations. The
4154// Annotations to be imported must have client-supplied resource names
4155// which indicate the annotation resource. The import operation is not
4156// atomic. If a failure occurs, any annotations already imported are not
4157// removed.
4158type ImportAnnotationsRequest struct {
4159	GcsSource *GoogleCloudHealthcareV1beta1AnnotationGcsSource `json:"gcsSource,omitempty"`
4160
4161	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4162	// unconditionally include in API requests. By default, fields with
4163	// empty values are omitted from API requests. However, any non-pointer,
4164	// non-interface field appearing in ForceSendFields will be sent to the
4165	// server regardless of whether the field is empty or not. This may be
4166	// used to include empty fields in Patch requests.
4167	ForceSendFields []string `json:"-"`
4168
4169	// NullFields is a list of field names (e.g. "GcsSource") to include in
4170	// API requests with the JSON null value. By default, fields with empty
4171	// values are omitted from API requests. However, any field with an
4172	// empty value appearing in NullFields will be sent to the server as
4173	// null. It is an error if a field in this list has a non-empty value.
4174	// This may be used to include null fields in Patch requests.
4175	NullFields []string `json:"-"`
4176}
4177
4178func (s *ImportAnnotationsRequest) MarshalJSON() ([]byte, error) {
4179	type NoMethod ImportAnnotationsRequest
4180	raw := NoMethod(*s)
4181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4182}
4183
4184// ImportAnnotationsResponse: Final response of importing Annotations in
4185// successful case. This structure is included in the response. It is
4186// only included when the operation finishes.
4187type ImportAnnotationsResponse struct {
4188}
4189
4190// ImportDicomDataRequest: Imports data into the specified DICOM store.
4191// Returns an error if any of the files to import are not DICOM files.
4192// This API accepts duplicate DICOM instances by ignoring the
4193// newly-pushed instance. It does not overwrite.
4194type ImportDicomDataRequest struct {
4195	// GcsSource: Cloud Storage source data location and import
4196	// configuration. The Cloud Healthcare Service Agent requires the
4197	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4198	// location.
4199	GcsSource *GoogleCloudHealthcareV1beta1DicomGcsSource `json:"gcsSource,omitempty"`
4200
4201	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4202	// unconditionally include in API requests. By default, fields with
4203	// empty values are omitted from API requests. However, any non-pointer,
4204	// non-interface field appearing in ForceSendFields will be sent to the
4205	// server regardless of whether the field is empty or not. This may be
4206	// used to include empty fields in Patch requests.
4207	ForceSendFields []string `json:"-"`
4208
4209	// NullFields is a list of field names (e.g. "GcsSource") to include in
4210	// API requests with the JSON null value. By default, fields with empty
4211	// values are omitted from API requests. However, any field with an
4212	// empty value appearing in NullFields will be sent to the server as
4213	// null. It is an error if a field in this list has a non-empty value.
4214	// This may be used to include null fields in Patch requests.
4215	NullFields []string `json:"-"`
4216}
4217
4218func (s *ImportDicomDataRequest) MarshalJSON() ([]byte, error) {
4219	type NoMethod ImportDicomDataRequest
4220	raw := NoMethod(*s)
4221	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4222}
4223
4224// ImportDicomDataResponse: Returns additional information in regards to
4225// a completed DICOM store import.
4226type ImportDicomDataResponse struct {
4227}
4228
4229// ImportMessagesRequest: Request to import messages.
4230type ImportMessagesRequest struct {
4231	// GcsSource: Cloud Storage source data location and import
4232	// configuration. The Cloud Healthcare Service Agent requires the
4233	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4234	// location.
4235	GcsSource *GcsSource `json:"gcsSource,omitempty"`
4236
4237	// ForceSendFields is a list of field names (e.g. "GcsSource") to
4238	// unconditionally include in API requests. By default, fields with
4239	// empty values are omitted from API requests. However, any non-pointer,
4240	// non-interface field appearing in ForceSendFields will be sent to the
4241	// server regardless of whether the field is empty or not. This may be
4242	// used to include empty fields in Patch requests.
4243	ForceSendFields []string `json:"-"`
4244
4245	// NullFields is a list of field names (e.g. "GcsSource") to include in
4246	// API requests with the JSON null value. By default, fields with empty
4247	// values are omitted from API requests. However, any field with an
4248	// empty value appearing in NullFields will be sent to the server as
4249	// null. It is an error if a field in this list has a non-empty value.
4250	// This may be used to include null fields in Patch requests.
4251	NullFields []string `json:"-"`
4252}
4253
4254func (s *ImportMessagesRequest) MarshalJSON() ([]byte, error) {
4255	type NoMethod ImportMessagesRequest
4256	raw := NoMethod(*s)
4257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4258}
4259
4260// ImportMessagesResponse: Final response of importing messages. This
4261// structure is included in the response to describe the detailed
4262// outcome. It is only included when the operation finishes
4263// successfully.
4264type ImportMessagesResponse struct {
4265}
4266
4267// ImportResourcesRequest: Request to import resources.
4268type ImportResourcesRequest struct {
4269	// ContentStructure: The content structure in the source location. If
4270	// not specified, the server treats the input source files as BUNDLE.
4271	//
4272	// Possible values:
4273	//   "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
4274	// specified, the default value `BUNDLE` is used.
4275	//   "BUNDLE" - The source file contains one or more lines of
4276	// newline-delimited JSON (ndjson). Each line is a bundle that contains
4277	// one or more resources.
4278	//   "RESOURCE" - The source file contains one or more lines of
4279	// newline-delimited JSON (ndjson). Each line is a single resource.
4280	//   "BUNDLE_PRETTY" - The entire file is one JSON bundle. The JSON can
4281	// span multiple lines.
4282	//   "RESOURCE_PRETTY" - The entire file is one JSON resource. The JSON
4283	// can span multiple lines.
4284	ContentStructure string `json:"contentStructure,omitempty"`
4285
4286	// GcsSource: Cloud Storage source data location and import
4287	// configuration. The Cloud Healthcare Service Agent requires the
4288	// `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage
4289	// location. The Healthcare Service Agent Each Cloud Storage object
4290	// should be a text file that contains the format specified in
4291	// ContentStructure.
4292	GcsSource *GoogleCloudHealthcareV1beta1FhirGcsSource `json:"gcsSource,omitempty"`
4293
4294	// ForceSendFields is a list of field names (e.g. "ContentStructure") to
4295	// unconditionally include in API requests. By default, fields with
4296	// empty values are omitted from API requests. However, any non-pointer,
4297	// non-interface field appearing in ForceSendFields will be sent to the
4298	// server regardless of whether the field is empty or not. This may be
4299	// used to include empty fields in Patch requests.
4300	ForceSendFields []string `json:"-"`
4301
4302	// NullFields is a list of field names (e.g. "ContentStructure") to
4303	// include in API requests with the JSON null value. By default, fields
4304	// with empty values are omitted from API requests. However, any field
4305	// with an empty value appearing in NullFields will be sent to the
4306	// server as null. It is an error if a field in this list has a
4307	// non-empty value. This may be used to include null fields in Patch
4308	// requests.
4309	NullFields []string `json:"-"`
4310}
4311
4312func (s *ImportResourcesRequest) MarshalJSON() ([]byte, error) {
4313	type NoMethod ImportResourcesRequest
4314	raw := NoMethod(*s)
4315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4316}
4317
4318// InfoTypeConfig: Specifies how to use infoTypes for evaluation. For
4319// example, a user might only want to evaluate `PERSON`, `LOCATION`, and
4320// `AGE`.
4321type InfoTypeConfig struct {
4322	EvaluateList *FilterList `json:"evaluateList,omitempty"`
4323
4324	IgnoreList *FilterList `json:"ignoreList,omitempty"`
4325
4326	// StrictMatching: If `TRUE`, infoTypes described by `filter` are used
4327	// for evaluation. Otherwise, infoTypes are not considered for
4328	// evaluation. For example: * Annotated text: "Toronto is a location" *
4329	// Finding 1: `{"infoType": "PERSON", "quote": "Toronto", "start": 0,
4330	// "end": 7}` * Finding 2: `{"infoType": "CITY", "quote": "Toronto",
4331	// "start": 0, "end": 7}` * Finding 3: `{}` * Ground truth:
4332	// `{"infoType": "LOCATION", "quote": "Toronto", "start": 0, "end": 7}`
4333	// When `strict_matching` is `TRUE`: * Finding 1: 1 false positive *
4334	// Finding 2: 1 false positive * Finding 3: 1 false negative When
4335	// `strict_matching` is `FALSE`: * Finding 1: 1 true positive * Finding
4336	// 2: 1 true positive * Finding 3: 1 false negative
4337	StrictMatching bool `json:"strictMatching,omitempty"`
4338
4339	// ForceSendFields is a list of field names (e.g. "EvaluateList") to
4340	// unconditionally include in API requests. By default, fields with
4341	// empty values are omitted from API requests. However, any non-pointer,
4342	// non-interface field appearing in ForceSendFields will be sent to the
4343	// server regardless of whether the field is empty or not. This may be
4344	// used to include empty fields in Patch requests.
4345	ForceSendFields []string `json:"-"`
4346
4347	// NullFields is a list of field names (e.g. "EvaluateList") to include
4348	// in API requests with the JSON null value. By default, fields with
4349	// empty values are omitted from API requests. However, any field with
4350	// an empty value appearing in NullFields will be sent to the server as
4351	// null. It is an error if a field in this list has a non-empty value.
4352	// This may be used to include null fields in Patch requests.
4353	NullFields []string `json:"-"`
4354}
4355
4356func (s *InfoTypeConfig) MarshalJSON() ([]byte, error) {
4357	type NoMethod InfoTypeConfig
4358	raw := NoMethod(*s)
4359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4360}
4361
4362// InfoTypeTransformation: A transformation to apply to text that is
4363// identified as a specific info_type.
4364type InfoTypeTransformation struct {
4365	// CharacterMaskConfig: Config for character mask.
4366	CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"`
4367
4368	// CryptoHashConfig: Config for crypto hash.
4369	CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"`
4370
4371	// DateShiftConfig: Config for date shift.
4372	DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"`
4373
4374	// InfoTypes: InfoTypes to apply this transformation to. If this is not
4375	// specified, this transformation becomes the default transformation,
4376	// and is used for any info_type that is not specified in another
4377	// transformation.
4378	InfoTypes []string `json:"infoTypes,omitempty"`
4379
4380	// RedactConfig: Config for text redaction.
4381	RedactConfig *RedactConfig `json:"redactConfig,omitempty"`
4382
4383	// ReplaceWithInfoTypeConfig: Config for replace with InfoType.
4384	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"`
4385
4386	// ForceSendFields is a list of field names (e.g. "CharacterMaskConfig")
4387	// to unconditionally include in API requests. By default, fields with
4388	// empty values are omitted from API requests. However, any non-pointer,
4389	// non-interface field appearing in ForceSendFields will be sent to the
4390	// server regardless of whether the field is empty or not. This may be
4391	// used to include empty fields in Patch requests.
4392	ForceSendFields []string `json:"-"`
4393
4394	// NullFields is a list of field names (e.g. "CharacterMaskConfig") to
4395	// include in API requests with the JSON null value. By default, fields
4396	// with empty values are omitted from API requests. However, any field
4397	// with an empty value appearing in NullFields will be sent to the
4398	// server as null. It is an error if a field in this list has a
4399	// non-empty value. This may be used to include null fields in Patch
4400	// requests.
4401	NullFields []string `json:"-"`
4402}
4403
4404func (s *InfoTypeTransformation) MarshalJSON() ([]byte, error) {
4405	type NoMethod InfoTypeTransformation
4406	raw := NoMethod(*s)
4407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4408}
4409
4410// IngestMessageRequest: Ingests a message into the specified HL7v2
4411// store.
4412type IngestMessageRequest struct {
4413	// Message: HL7v2 message to ingest.
4414	Message *Message `json:"message,omitempty"`
4415
4416	// ForceSendFields is a list of field names (e.g. "Message") to
4417	// unconditionally include in API requests. By default, fields with
4418	// empty values are omitted from API requests. However, any non-pointer,
4419	// non-interface field appearing in ForceSendFields will be sent to the
4420	// server regardless of whether the field is empty or not. This may be
4421	// used to include empty fields in Patch requests.
4422	ForceSendFields []string `json:"-"`
4423
4424	// NullFields is a list of field names (e.g. "Message") to include in
4425	// API requests with the JSON null value. By default, fields with empty
4426	// values are omitted from API requests. However, any field with an
4427	// empty value appearing in NullFields will be sent to the server as
4428	// null. It is an error if a field in this list has a non-empty value.
4429	// This may be used to include null fields in Patch requests.
4430	NullFields []string `json:"-"`
4431}
4432
4433func (s *IngestMessageRequest) MarshalJSON() ([]byte, error) {
4434	type NoMethod IngestMessageRequest
4435	raw := NoMethod(*s)
4436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4437}
4438
4439// IngestMessageResponse: Acknowledges that a message has been ingested
4440// into the specified HL7v2 store.
4441type IngestMessageResponse struct {
4442	// Hl7Ack: HL7v2 ACK message.
4443	Hl7Ack string `json:"hl7Ack,omitempty"`
4444
4445	// Message: Created message resource.
4446	Message *Message `json:"message,omitempty"`
4447
4448	// ServerResponse contains the HTTP response code and headers from the
4449	// server.
4450	googleapi.ServerResponse `json:"-"`
4451
4452	// ForceSendFields is a list of field names (e.g. "Hl7Ack") to
4453	// unconditionally include in API requests. By default, fields with
4454	// empty values are omitted from API requests. However, any non-pointer,
4455	// non-interface field appearing in ForceSendFields will be sent to the
4456	// server regardless of whether the field is empty or not. This may be
4457	// used to include empty fields in Patch requests.
4458	ForceSendFields []string `json:"-"`
4459
4460	// NullFields is a list of field names (e.g. "Hl7Ack") to include in API
4461	// requests with the JSON null value. By default, fields with empty
4462	// values are omitted from API requests. However, any field with an
4463	// empty value appearing in NullFields will be sent to the server as
4464	// null. It is an error if a field in this list has a non-empty value.
4465	// This may be used to include null fields in Patch requests.
4466	NullFields []string `json:"-"`
4467}
4468
4469func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) {
4470	type NoMethod IngestMessageResponse
4471	raw := NoMethod(*s)
4472	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4473}
4474
4475// LinkedEntity: EntityMentions can be linked to multiple entities using
4476// a LinkedEntity message lets us add other fields, e.g. confidence.
4477type LinkedEntity struct {
4478	// EntityId: entity_id is a concept unique identifier. These are
4479	// prefixed by a string that identifies the entity coding system,
4480	// followed by the unique identifier within that system. For example,
4481	// "UMLS/C0000970". This also supports ad hoc entities, which are formed
4482	// by normalizing entity mention content.
4483	EntityId string `json:"entityId,omitempty"`
4484
4485	// ForceSendFields is a list of field names (e.g. "EntityId") to
4486	// unconditionally include in API requests. By default, fields with
4487	// empty values are omitted from API requests. However, any non-pointer,
4488	// non-interface field appearing in ForceSendFields will be sent to the
4489	// server regardless of whether the field is empty or not. This may be
4490	// used to include empty fields in Patch requests.
4491	ForceSendFields []string `json:"-"`
4492
4493	// NullFields is a list of field names (e.g. "EntityId") to include in
4494	// API requests with the JSON null value. By default, fields with empty
4495	// values are omitted from API requests. However, any field with an
4496	// empty value appearing in NullFields will be sent to the server as
4497	// null. It is an error if a field in this list has a non-empty value.
4498	// This may be used to include null fields in Patch requests.
4499	NullFields []string `json:"-"`
4500}
4501
4502func (s *LinkedEntity) MarshalJSON() ([]byte, error) {
4503	type NoMethod LinkedEntity
4504	raw := NoMethod(*s)
4505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4506}
4507
4508// ListAnnotationStoresResponse: Lists the Annotation stores in the
4509// given dataset.
4510type ListAnnotationStoresResponse struct {
4511	// AnnotationStores: The returned Annotation stores. Won't be more
4512	// Annotation stores than the value of page_size in the request.
4513	AnnotationStores []*AnnotationStore `json:"annotationStores,omitempty"`
4514
4515	// NextPageToken: Token to retrieve the next page of results or empty if
4516	// there are no more results in the list.
4517	NextPageToken string `json:"nextPageToken,omitempty"`
4518
4519	// ServerResponse contains the HTTP response code and headers from the
4520	// server.
4521	googleapi.ServerResponse `json:"-"`
4522
4523	// ForceSendFields is a list of field names (e.g. "AnnotationStores") to
4524	// unconditionally include in API requests. By default, fields with
4525	// empty values are omitted from API requests. However, any non-pointer,
4526	// non-interface field appearing in ForceSendFields will be sent to the
4527	// server regardless of whether the field is empty or not. This may be
4528	// used to include empty fields in Patch requests.
4529	ForceSendFields []string `json:"-"`
4530
4531	// NullFields is a list of field names (e.g. "AnnotationStores") to
4532	// include in API requests with the JSON null value. By default, fields
4533	// with empty values are omitted from API requests. However, any field
4534	// with an empty value appearing in NullFields will be sent to the
4535	// server as null. It is an error if a field in this list has a
4536	// non-empty value. This may be used to include null fields in Patch
4537	// requests.
4538	NullFields []string `json:"-"`
4539}
4540
4541func (s *ListAnnotationStoresResponse) MarshalJSON() ([]byte, error) {
4542	type NoMethod ListAnnotationStoresResponse
4543	raw := NoMethod(*s)
4544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4545}
4546
4547// ListAnnotationsResponse: Lists the Annotations in the specified
4548// Annotation store.
4549type ListAnnotationsResponse struct {
4550	// Annotations: The returned Annotations. Won't be more values than the
4551	// value of page_size in the request. See `AnnotationView` in the
4552	// request for populated fields.
4553	Annotations []*Annotation `json:"annotations,omitempty"`
4554
4555	// NextPageToken: Token to retrieve the next page of results or empty if
4556	// there are no more results in the list.
4557	NextPageToken string `json:"nextPageToken,omitempty"`
4558
4559	// ServerResponse contains the HTTP response code and headers from the
4560	// server.
4561	googleapi.ServerResponse `json:"-"`
4562
4563	// ForceSendFields is a list of field names (e.g. "Annotations") to
4564	// unconditionally include in API requests. By default, fields with
4565	// empty values are omitted from API requests. However, any non-pointer,
4566	// non-interface field appearing in ForceSendFields will be sent to the
4567	// server regardless of whether the field is empty or not. This may be
4568	// used to include empty fields in Patch requests.
4569	ForceSendFields []string `json:"-"`
4570
4571	// NullFields is a list of field names (e.g. "Annotations") to include
4572	// in API requests with the JSON null value. By default, fields with
4573	// empty values are omitted from API requests. However, any field with
4574	// an empty value appearing in NullFields will be sent to the server as
4575	// null. It is an error if a field in this list has a non-empty value.
4576	// This may be used to include null fields in Patch requests.
4577	NullFields []string `json:"-"`
4578}
4579
4580func (s *ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
4581	type NoMethod ListAnnotationsResponse
4582	raw := NoMethod(*s)
4583	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4584}
4585
4586type ListAttributeDefinitionsResponse struct {
4587	// AttributeDefinitions: The returned Attribute definitions. The maximum
4588	// number of attributes returned is determined by the value of page_size
4589	// in the ListAttributeDefinitionsRequest.
4590	AttributeDefinitions []*AttributeDefinition `json:"attributeDefinitions,omitempty"`
4591
4592	// NextPageToken: Token to retrieve the next page of results, or empty
4593	// if there are no more results in the list.
4594	NextPageToken string `json:"nextPageToken,omitempty"`
4595
4596	// ServerResponse contains the HTTP response code and headers from the
4597	// server.
4598	googleapi.ServerResponse `json:"-"`
4599
4600	// ForceSendFields is a list of field names (e.g.
4601	// "AttributeDefinitions") to unconditionally include in API requests.
4602	// By default, fields with empty values are omitted from API requests.
4603	// However, any non-pointer, non-interface field appearing in
4604	// ForceSendFields will be sent to the server regardless of whether the
4605	// field is empty or not. This may be used to include empty fields in
4606	// Patch requests.
4607	ForceSendFields []string `json:"-"`
4608
4609	// NullFields is a list of field names (e.g. "AttributeDefinitions") to
4610	// include in API requests with the JSON null value. By default, fields
4611	// with empty values are omitted from API requests. However, any field
4612	// with an empty value appearing in NullFields will be sent to the
4613	// server as null. It is an error if a field in this list has a
4614	// non-empty value. This may be used to include null fields in Patch
4615	// requests.
4616	NullFields []string `json:"-"`
4617}
4618
4619func (s *ListAttributeDefinitionsResponse) MarshalJSON() ([]byte, error) {
4620	type NoMethod ListAttributeDefinitionsResponse
4621	raw := NoMethod(*s)
4622	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4623}
4624
4625type ListConsentArtifactsResponse struct {
4626	// ConsentArtifacts: The returned Consent artifacts. The maximum number
4627	// of artifacts returned is determined by the value of page_size in the
4628	// ListConsentArtifactsRequest.
4629	ConsentArtifacts []*ConsentArtifact `json:"consentArtifacts,omitempty"`
4630
4631	// NextPageToken: Token to retrieve the next page of results, or empty
4632	// if there are no more results in the list.
4633	NextPageToken string `json:"nextPageToken,omitempty"`
4634
4635	// ServerResponse contains the HTTP response code and headers from the
4636	// server.
4637	googleapi.ServerResponse `json:"-"`
4638
4639	// ForceSendFields is a list of field names (e.g. "ConsentArtifacts") to
4640	// unconditionally include in API requests. By default, fields with
4641	// empty values are omitted from API requests. However, any non-pointer,
4642	// non-interface field appearing in ForceSendFields will be sent to the
4643	// server regardless of whether the field is empty or not. This may be
4644	// used to include empty fields in Patch requests.
4645	ForceSendFields []string `json:"-"`
4646
4647	// NullFields is a list of field names (e.g. "ConsentArtifacts") to
4648	// include in API requests with the JSON null value. By default, fields
4649	// with empty values are omitted from API requests. However, any field
4650	// with an empty value appearing in NullFields will be sent to the
4651	// server as null. It is an error if a field in this list has a
4652	// non-empty value. This may be used to include null fields in Patch
4653	// requests.
4654	NullFields []string `json:"-"`
4655}
4656
4657func (s *ListConsentArtifactsResponse) MarshalJSON() ([]byte, error) {
4658	type NoMethod ListConsentArtifactsResponse
4659	raw := NoMethod(*s)
4660	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4661}
4662
4663type ListConsentRevisionsResponse struct {
4664	// Consents: The returned Consent revisions. The maximum number of
4665	// revisions returned is determined by the value of `page_size` in the
4666	// ListConsentRevisionsRequest.
4667	Consents []*Consent `json:"consents,omitempty"`
4668
4669	// NextPageToken: Token to retrieve the next page of results, or empty
4670	// if there are no more results in the list.
4671	NextPageToken string `json:"nextPageToken,omitempty"`
4672
4673	// ServerResponse contains the HTTP response code and headers from the
4674	// server.
4675	googleapi.ServerResponse `json:"-"`
4676
4677	// ForceSendFields is a list of field names (e.g. "Consents") to
4678	// unconditionally include in API requests. By default, fields with
4679	// empty values are omitted from API requests. However, any non-pointer,
4680	// non-interface field appearing in ForceSendFields will be sent to the
4681	// server regardless of whether the field is empty or not. This may be
4682	// used to include empty fields in Patch requests.
4683	ForceSendFields []string `json:"-"`
4684
4685	// NullFields is a list of field names (e.g. "Consents") to include in
4686	// API requests with the JSON null value. By default, fields with empty
4687	// values are omitted from API requests. However, any field with an
4688	// empty value appearing in NullFields will be sent to the server as
4689	// null. It is an error if a field in this list has a non-empty value.
4690	// This may be used to include null fields in Patch requests.
4691	NullFields []string `json:"-"`
4692}
4693
4694func (s *ListConsentRevisionsResponse) MarshalJSON() ([]byte, error) {
4695	type NoMethod ListConsentRevisionsResponse
4696	raw := NoMethod(*s)
4697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4698}
4699
4700type ListConsentStoresResponse struct {
4701	// ConsentStores: The returned consent stores. The maximum number of
4702	// stores returned is determined by the value of page_size in the
4703	// ListConsentStoresRequest.
4704	ConsentStores []*ConsentStore `json:"consentStores,omitempty"`
4705
4706	// NextPageToken: Token to retrieve the next page of results, or empty
4707	// if there are no more results in the list.
4708	NextPageToken string `json:"nextPageToken,omitempty"`
4709
4710	// ServerResponse contains the HTTP response code and headers from the
4711	// server.
4712	googleapi.ServerResponse `json:"-"`
4713
4714	// ForceSendFields is a list of field names (e.g. "ConsentStores") to
4715	// unconditionally include in API requests. By default, fields with
4716	// empty values are omitted from API requests. However, any non-pointer,
4717	// non-interface field appearing in ForceSendFields will be sent to the
4718	// server regardless of whether the field is empty or not. This may be
4719	// used to include empty fields in Patch requests.
4720	ForceSendFields []string `json:"-"`
4721
4722	// NullFields is a list of field names (e.g. "ConsentStores") to include
4723	// in API requests with the JSON null value. By default, fields with
4724	// empty values are omitted from API requests. However, any field with
4725	// an empty value appearing in NullFields will be sent to the server as
4726	// null. It is an error if a field in this list has a non-empty value.
4727	// This may be used to include null fields in Patch requests.
4728	NullFields []string `json:"-"`
4729}
4730
4731func (s *ListConsentStoresResponse) MarshalJSON() ([]byte, error) {
4732	type NoMethod ListConsentStoresResponse
4733	raw := NoMethod(*s)
4734	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4735}
4736
4737type ListConsentsResponse struct {
4738	// Consents: The returned Consents. The maximum number of Consents
4739	// returned is determined by the value of page_size in the
4740	// ListConsentsRequest.
4741	Consents []*Consent `json:"consents,omitempty"`
4742
4743	// NextPageToken: Token to retrieve the next page of results, or empty
4744	// if there are no more results in the list.
4745	NextPageToken string `json:"nextPageToken,omitempty"`
4746
4747	// ServerResponse contains the HTTP response code and headers from the
4748	// server.
4749	googleapi.ServerResponse `json:"-"`
4750
4751	// ForceSendFields is a list of field names (e.g. "Consents") to
4752	// unconditionally include in API requests. By default, fields with
4753	// empty values are omitted from API requests. However, any non-pointer,
4754	// non-interface field appearing in ForceSendFields will be sent to the
4755	// server regardless of whether the field is empty or not. This may be
4756	// used to include empty fields in Patch requests.
4757	ForceSendFields []string `json:"-"`
4758
4759	// NullFields is a list of field names (e.g. "Consents") to include in
4760	// API requests with the JSON null value. By default, fields with empty
4761	// values are omitted from API requests. However, any field with an
4762	// empty value appearing in NullFields will be sent to the server as
4763	// null. It is an error if a field in this list has a non-empty value.
4764	// This may be used to include null fields in Patch requests.
4765	NullFields []string `json:"-"`
4766}
4767
4768func (s *ListConsentsResponse) MarshalJSON() ([]byte, error) {
4769	type NoMethod ListConsentsResponse
4770	raw := NoMethod(*s)
4771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4772}
4773
4774// ListDatasetsResponse: Lists the available datasets.
4775type ListDatasetsResponse struct {
4776	// Datasets: The first page of datasets.
4777	Datasets []*Dataset `json:"datasets,omitempty"`
4778
4779	// NextPageToken: Token to retrieve the next page of results, or empty
4780	// if there are no more results in the list.
4781	NextPageToken string `json:"nextPageToken,omitempty"`
4782
4783	// ServerResponse contains the HTTP response code and headers from the
4784	// server.
4785	googleapi.ServerResponse `json:"-"`
4786
4787	// ForceSendFields is a list of field names (e.g. "Datasets") to
4788	// unconditionally include in API requests. By default, fields with
4789	// empty values are omitted from API requests. However, any non-pointer,
4790	// non-interface field appearing in ForceSendFields will be sent to the
4791	// server regardless of whether the field is empty or not. This may be
4792	// used to include empty fields in Patch requests.
4793	ForceSendFields []string `json:"-"`
4794
4795	// NullFields is a list of field names (e.g. "Datasets") to include in
4796	// API requests with the JSON null value. By default, fields with empty
4797	// values are omitted from API requests. However, any field with an
4798	// empty value appearing in NullFields will be sent to the server as
4799	// null. It is an error if a field in this list has a non-empty value.
4800	// This may be used to include null fields in Patch requests.
4801	NullFields []string `json:"-"`
4802}
4803
4804func (s *ListDatasetsResponse) MarshalJSON() ([]byte, error) {
4805	type NoMethod ListDatasetsResponse
4806	raw := NoMethod(*s)
4807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4808}
4809
4810// ListDicomStoresResponse: Lists the DICOM stores in the given dataset.
4811type ListDicomStoresResponse struct {
4812	// DicomStores: The returned DICOM stores. Won't be more DICOM stores
4813	// than the value of page_size in the request.
4814	DicomStores []*DicomStore `json:"dicomStores,omitempty"`
4815
4816	// NextPageToken: Token to retrieve the next page of results or empty if
4817	// there are no more results in the list.
4818	NextPageToken string `json:"nextPageToken,omitempty"`
4819
4820	// ServerResponse contains the HTTP response code and headers from the
4821	// server.
4822	googleapi.ServerResponse `json:"-"`
4823
4824	// ForceSendFields is a list of field names (e.g. "DicomStores") to
4825	// unconditionally include in API requests. By default, fields with
4826	// empty values are omitted from API requests. However, any non-pointer,
4827	// non-interface field appearing in ForceSendFields will be sent to the
4828	// server regardless of whether the field is empty or not. This may be
4829	// used to include empty fields in Patch requests.
4830	ForceSendFields []string `json:"-"`
4831
4832	// NullFields is a list of field names (e.g. "DicomStores") to include
4833	// in API requests with the JSON null value. By default, fields with
4834	// empty values are omitted from API requests. However, any field with
4835	// an empty value appearing in NullFields will be sent to the server as
4836	// null. It is an error if a field in this list has a non-empty value.
4837	// This may be used to include null fields in Patch requests.
4838	NullFields []string `json:"-"`
4839}
4840
4841func (s *ListDicomStoresResponse) MarshalJSON() ([]byte, error) {
4842	type NoMethod ListDicomStoresResponse
4843	raw := NoMethod(*s)
4844	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4845}
4846
4847// ListFhirStoresResponse: Lists the FHIR stores in the given dataset.
4848type ListFhirStoresResponse struct {
4849	// FhirStores: The returned FHIR stores. Won't be more FHIR stores than
4850	// the value of page_size in the request.
4851	FhirStores []*FhirStore `json:"fhirStores,omitempty"`
4852
4853	// NextPageToken: Token to retrieve the next page of results or empty if
4854	// there are no more results in the list.
4855	NextPageToken string `json:"nextPageToken,omitempty"`
4856
4857	// ServerResponse contains the HTTP response code and headers from the
4858	// server.
4859	googleapi.ServerResponse `json:"-"`
4860
4861	// ForceSendFields is a list of field names (e.g. "FhirStores") to
4862	// unconditionally include in API requests. By default, fields with
4863	// empty values are omitted from API requests. However, any non-pointer,
4864	// non-interface field appearing in ForceSendFields will be sent to the
4865	// server regardless of whether the field is empty or not. This may be
4866	// used to include empty fields in Patch requests.
4867	ForceSendFields []string `json:"-"`
4868
4869	// NullFields is a list of field names (e.g. "FhirStores") to include in
4870	// API requests with the JSON null value. By default, fields with empty
4871	// values are omitted from API requests. However, any field with an
4872	// empty value appearing in NullFields will be sent to the server as
4873	// null. It is an error if a field in this list has a non-empty value.
4874	// This may be used to include null fields in Patch requests.
4875	NullFields []string `json:"-"`
4876}
4877
4878func (s *ListFhirStoresResponse) MarshalJSON() ([]byte, error) {
4879	type NoMethod ListFhirStoresResponse
4880	raw := NoMethod(*s)
4881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4882}
4883
4884// ListHl7V2StoresResponse: Lists the HL7v2 stores in the given dataset.
4885type ListHl7V2StoresResponse struct {
4886	// Hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores
4887	// than the value of page_size in the request.
4888	Hl7V2Stores []*Hl7V2Store `json:"hl7V2Stores,omitempty"`
4889
4890	// NextPageToken: Token to retrieve the next page of results or empty if
4891	// there are no more results in the list.
4892	NextPageToken string `json:"nextPageToken,omitempty"`
4893
4894	// ServerResponse contains the HTTP response code and headers from the
4895	// server.
4896	googleapi.ServerResponse `json:"-"`
4897
4898	// ForceSendFields is a list of field names (e.g. "Hl7V2Stores") to
4899	// unconditionally include in API requests. By default, fields with
4900	// empty values are omitted from API requests. However, any non-pointer,
4901	// non-interface field appearing in ForceSendFields will be sent to the
4902	// server regardless of whether the field is empty or not. This may be
4903	// used to include empty fields in Patch requests.
4904	ForceSendFields []string `json:"-"`
4905
4906	// NullFields is a list of field names (e.g. "Hl7V2Stores") to include
4907	// in API requests with the JSON null value. By default, fields with
4908	// empty values are omitted from API requests. However, any field with
4909	// an empty value appearing in NullFields will be sent to the server as
4910	// null. It is an error if a field in this list has a non-empty value.
4911	// This may be used to include null fields in Patch requests.
4912	NullFields []string `json:"-"`
4913}
4914
4915func (s *ListHl7V2StoresResponse) MarshalJSON() ([]byte, error) {
4916	type NoMethod ListHl7V2StoresResponse
4917	raw := NoMethod(*s)
4918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4919}
4920
4921// ListLocationsResponse: The response message for
4922// Locations.ListLocations.
4923type ListLocationsResponse struct {
4924	// Locations: A list of locations that matches the specified filter in
4925	// the request.
4926	Locations []*Location `json:"locations,omitempty"`
4927
4928	// NextPageToken: The standard List next-page token.
4929	NextPageToken string `json:"nextPageToken,omitempty"`
4930
4931	// ServerResponse contains the HTTP response code and headers from the
4932	// server.
4933	googleapi.ServerResponse `json:"-"`
4934
4935	// ForceSendFields is a list of field names (e.g. "Locations") to
4936	// unconditionally include in API requests. By default, fields with
4937	// empty values are omitted from API requests. However, any non-pointer,
4938	// non-interface field appearing in ForceSendFields will be sent to the
4939	// server regardless of whether the field is empty or not. This may be
4940	// used to include empty fields in Patch requests.
4941	ForceSendFields []string `json:"-"`
4942
4943	// NullFields is a list of field names (e.g. "Locations") to include in
4944	// API requests with the JSON null value. By default, fields with empty
4945	// values are omitted from API requests. However, any field with an
4946	// empty value appearing in NullFields will be sent to the server as
4947	// null. It is an error if a field in this list has a non-empty value.
4948	// This may be used to include null fields in Patch requests.
4949	NullFields []string `json:"-"`
4950}
4951
4952func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
4953	type NoMethod ListLocationsResponse
4954	raw := NoMethod(*s)
4955	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4956}
4957
4958// ListMessagesResponse: Lists the messages in the specified HL7v2
4959// store.
4960type ListMessagesResponse struct {
4961	// Hl7V2Messages: The returned Messages. Won't be more Messages than the
4962	// value of page_size in the request. See view for populated fields.
4963	Hl7V2Messages []*Message `json:"hl7V2Messages,omitempty"`
4964
4965	// NextPageToken: Token to retrieve the next page of results or empty if
4966	// there are no more results in the list.
4967	NextPageToken string `json:"nextPageToken,omitempty"`
4968
4969	// ServerResponse contains the HTTP response code and headers from the
4970	// server.
4971	googleapi.ServerResponse `json:"-"`
4972
4973	// ForceSendFields is a list of field names (e.g. "Hl7V2Messages") to
4974	// unconditionally include in API requests. By default, fields with
4975	// empty values are omitted from API requests. However, any non-pointer,
4976	// non-interface field appearing in ForceSendFields will be sent to the
4977	// server regardless of whether the field is empty or not. This may be
4978	// used to include empty fields in Patch requests.
4979	ForceSendFields []string `json:"-"`
4980
4981	// NullFields is a list of field names (e.g. "Hl7V2Messages") to include
4982	// in API requests with the JSON null value. By default, fields with
4983	// empty values are omitted from API requests. However, any field with
4984	// an empty value appearing in NullFields will be sent to the server as
4985	// null. It is an error if a field in this list has a non-empty value.
4986	// This may be used to include null fields in Patch requests.
4987	NullFields []string `json:"-"`
4988}
4989
4990func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) {
4991	type NoMethod ListMessagesResponse
4992	raw := NoMethod(*s)
4993	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4994}
4995
4996// ListOperationsResponse: The response message for
4997// Operations.ListOperations.
4998type ListOperationsResponse struct {
4999	// NextPageToken: The standard List next-page token.
5000	NextPageToken string `json:"nextPageToken,omitempty"`
5001
5002	// Operations: A list of operations that matches the specified filter in
5003	// the request.
5004	Operations []*Operation `json:"operations,omitempty"`
5005
5006	// ServerResponse contains the HTTP response code and headers from the
5007	// server.
5008	googleapi.ServerResponse `json:"-"`
5009
5010	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
5011	// unconditionally include in API requests. By default, fields with
5012	// empty values are omitted from API requests. However, any non-pointer,
5013	// non-interface field appearing in ForceSendFields will be sent to the
5014	// server regardless of whether the field is empty or not. This may be
5015	// used to include empty fields in Patch requests.
5016	ForceSendFields []string `json:"-"`
5017
5018	// NullFields is a list of field names (e.g. "NextPageToken") to include
5019	// in API requests with the JSON null value. By default, fields with
5020	// empty values are omitted from API requests. However, any field with
5021	// an empty value appearing in NullFields will be sent to the server as
5022	// null. It is an error if a field in this list has a non-empty value.
5023	// This may be used to include null fields in Patch requests.
5024	NullFields []string `json:"-"`
5025}
5026
5027func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
5028	type NoMethod ListOperationsResponse
5029	raw := NoMethod(*s)
5030	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5031}
5032
5033type ListUserDataMappingsResponse struct {
5034	// NextPageToken: Token to retrieve the next page of results, or empty
5035	// if there are no more results in the list.
5036	NextPageToken string `json:"nextPageToken,omitempty"`
5037
5038	// UserDataMappings: The returned User data mappings. The maximum number
5039	// of User data mappings returned is determined by the value of
5040	// page_size in the ListUserDataMappingsRequest.
5041	UserDataMappings []*UserDataMapping `json:"userDataMappings,omitempty"`
5042
5043	// ServerResponse contains the HTTP response code and headers from the
5044	// server.
5045	googleapi.ServerResponse `json:"-"`
5046
5047	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
5048	// unconditionally include in API requests. By default, fields with
5049	// empty values are omitted from API requests. However, any non-pointer,
5050	// non-interface field appearing in ForceSendFields will be sent to the
5051	// server regardless of whether the field is empty or not. This may be
5052	// used to include empty fields in Patch requests.
5053	ForceSendFields []string `json:"-"`
5054
5055	// NullFields is a list of field names (e.g. "NextPageToken") to include
5056	// in API requests with the JSON null value. By default, fields with
5057	// empty values are omitted from API requests. However, any field with
5058	// an empty value appearing in NullFields will be sent to the server as
5059	// null. It is an error if a field in this list has a non-empty value.
5060	// This may be used to include null fields in Patch requests.
5061	NullFields []string `json:"-"`
5062}
5063
5064func (s *ListUserDataMappingsResponse) MarshalJSON() ([]byte, error) {
5065	type NoMethod ListUserDataMappingsResponse
5066	raw := NoMethod(*s)
5067	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5068}
5069
5070// Location: A resource that represents Google Cloud Platform location.
5071type Location struct {
5072	// DisplayName: The friendly name for this location, typically a nearby
5073	// city name. For example, "Tokyo".
5074	DisplayName string `json:"displayName,omitempty"`
5075
5076	// Labels: Cross-service attributes for the location. For example
5077	// {"cloud.googleapis.com/region": "us-east1"}
5078	Labels map[string]string `json:"labels,omitempty"`
5079
5080	// LocationId: The canonical id for this location. For example:
5081	// "us-east1".
5082	LocationId string `json:"locationId,omitempty"`
5083
5084	// Metadata: Service-specific metadata. For example the available
5085	// capacity at the given location.
5086	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5087
5088	// Name: Resource name for the location, which may vary between
5089	// implementations. For example:
5090	// "projects/example-project/locations/us-east1"
5091	Name string `json:"name,omitempty"`
5092
5093	// ServerResponse contains the HTTP response code and headers from the
5094	// server.
5095	googleapi.ServerResponse `json:"-"`
5096
5097	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5098	// unconditionally include in API requests. By default, fields with
5099	// empty values are omitted from API requests. However, any non-pointer,
5100	// non-interface field appearing in ForceSendFields will be sent to the
5101	// server regardless of whether the field is empty or not. This may be
5102	// used to include empty fields in Patch requests.
5103	ForceSendFields []string `json:"-"`
5104
5105	// NullFields is a list of field names (e.g. "DisplayName") to include
5106	// in API requests with the JSON null value. By default, fields with
5107	// empty values are omitted from API requests. However, any field with
5108	// an empty value appearing in NullFields will be sent to the server as
5109	// null. It is an error if a field in this list has a non-empty value.
5110	// This may be used to include null fields in Patch requests.
5111	NullFields []string `json:"-"`
5112}
5113
5114func (s *Location) MarshalJSON() ([]byte, error) {
5115	type NoMethod Location
5116	raw := NoMethod(*s)
5117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5118}
5119
5120// Message: A complete HL7v2 message. See [Introduction to HL7
5121// Standards]
5122// (https://www.hl7.org/implement/standards/index.cfm?ref=common) for
5123// details on the standard.
5124type Message struct {
5125	// CreateTime: Output only. The datetime when the message was created.
5126	// Set by the server.
5127	CreateTime string `json:"createTime,omitempty"`
5128
5129	// Data: Raw message bytes.
5130	Data string `json:"data,omitempty"`
5131
5132	// Labels: User-supplied key-value pairs used to organize HL7v2 stores.
5133	// Label keys must be between 1 and 63 characters long, have a UTF-8
5134	// encoding of maximum 128 bytes, and must conform to the following PCRE
5135	// regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional,
5136	// must be between 1 and 63 characters long, have a UTF-8 encoding of
5137	// maximum 128 bytes, and must conform to the following PCRE regular
5138	// expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be
5139	// associated with a given store.
5140	Labels map[string]string `json:"labels,omitempty"`
5141
5142	// MessageType: The message type for this message. MSH-9.1.
5143	MessageType string `json:"messageType,omitempty"`
5144
5145	// Name: Resource name of the Message, of the form
5146	// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store
5147	// _id}/messages/{message_id}`. Assigned by the server.
5148	Name string `json:"name,omitempty"`
5149
5150	// ParsedData: Output only. The parsed version of the raw message data.
5151	ParsedData *ParsedData `json:"parsedData,omitempty"`
5152
5153	// PatientIds: All patient IDs listed in the PID-2, PID-3, and PID-4
5154	// segments of this message.
5155	PatientIds []*PatientId `json:"patientIds,omitempty"`
5156
5157	// SchematizedData: The parsed version of the raw message data
5158	// schematized according to this store's schemas and type definitions.
5159	SchematizedData *SchematizedData `json:"schematizedData,omitempty"`
5160
5161	// SendFacility: The hospital that this message came from. MSH-4.
5162	SendFacility string `json:"sendFacility,omitempty"`
5163
5164	// SendTime: The datetime the sending application sent this message.
5165	// MSH-7.
5166	SendTime string `json:"sendTime,omitempty"`
5167
5168	// ServerResponse contains the HTTP response code and headers from the
5169	// server.
5170	googleapi.ServerResponse `json:"-"`
5171
5172	// ForceSendFields is a list of field names (e.g. "CreateTime") to
5173	// unconditionally include in API requests. By default, fields with
5174	// empty values are omitted from API requests. However, any non-pointer,
5175	// non-interface field appearing in ForceSendFields will be sent to the
5176	// server regardless of whether the field is empty or not. This may be
5177	// used to include empty fields in Patch requests.
5178	ForceSendFields []string `json:"-"`
5179
5180	// NullFields is a list of field names (e.g. "CreateTime") to include in
5181	// API requests with the JSON null value. By default, fields with empty
5182	// values are omitted from API requests. However, any field with an
5183	// empty value appearing in NullFields will be sent to the server as
5184	// null. It is an error if a field in this list has a non-empty value.
5185	// This may be used to include null fields in Patch requests.
5186	NullFields []string `json:"-"`
5187}
5188
5189func (s *Message) MarshalJSON() ([]byte, error) {
5190	type NoMethod Message
5191	raw := NoMethod(*s)
5192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5193}
5194
5195// NotificationConfig: Specifies where to send notifications upon
5196// changes to a data store.
5197type NotificationConfig struct {
5198	// PubsubTopic: The Pub/Sub (https://cloud.google.com/pubsub/docs/)
5199	// topic that notifications of changes are published on. Supplied by the
5200	// client. PubsubMessage.Data contains the resource name.
5201	// PubsubMessage.MessageId is the ID of this message. It is guaranteed
5202	// to be unique within the topic. PubsubMessage.PublishTime is the time
5203	// at which the message was published. Notifications are only sent if
5204	// the topic is non-empty. Topic names
5205	// (https://cloud.google.com/pubsub/docs/overview#names) must be scoped
5206	// to a project. Cloud Healthcare API service account must have
5207	// publisher permissions on the given Pub/Sub topic. Not having adequate
5208	// permissions causes the calls that send notifications to fail. If a
5209	// notification can't be published to Pub/Sub, errors are logged to
5210	// Cloud Logging (see Viewing error logs in Cloud Logging
5211	// (https://cloud.google.com/healthcare/docs/how-tos/logging)). If the
5212	// number of errors exceeds a certain rate, some aren't submitted. Note
5213	// that not all operations trigger notifications, see Configuring
5214	// Pub/Sub notifications
5215	// (https://cloud.google.com/healthcare/docs/how-tos/pubsub) for
5216	// specific details.
5217	PubsubTopic string `json:"pubsubTopic,omitempty"`
5218
5219	// ForceSendFields is a list of field names (e.g. "PubsubTopic") to
5220	// unconditionally include in API requests. By default, fields with
5221	// empty values are omitted from API requests. However, any non-pointer,
5222	// non-interface field appearing in ForceSendFields will be sent to the
5223	// server regardless of whether the field is empty or not. This may be
5224	// used to include empty fields in Patch requests.
5225	ForceSendFields []string `json:"-"`
5226
5227	// NullFields is a list of field names (e.g. "PubsubTopic") to include
5228	// in API requests with the JSON null value. By default, fields with
5229	// empty values are omitted from API requests. However, any field with
5230	// an empty value appearing in NullFields will be sent to the server as
5231	// null. It is an error if a field in this list has a non-empty value.
5232	// This may be used to include null fields in Patch requests.
5233	NullFields []string `json:"-"`
5234}
5235
5236func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
5237	type NoMethod NotificationConfig
5238	raw := NoMethod(*s)
5239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5240}
5241
5242// Operation: This resource represents a long-running operation that is
5243// the result of a network API call.
5244type Operation struct {
5245	// Done: If the value is `false`, it means the operation is still in
5246	// progress. If `true`, the operation is completed, and either `error`
5247	// or `response` is available.
5248	Done bool `json:"done,omitempty"`
5249
5250	// Error: The error result of the operation in case of failure or
5251	// cancellation.
5252	Error *Status `json:"error,omitempty"`
5253
5254	// Metadata: Service-specific metadata associated with the operation. It
5255	// typically contains progress information and common metadata such as
5256	// create time. Some services might not provide such metadata. Any
5257	// method that returns a long-running operation should document the
5258	// metadata type, if any.
5259	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5260
5261	// Name: The server-assigned name, which is only unique within the same
5262	// service that originally returns it. If you use the default HTTP
5263	// mapping, the `name` should be a resource name ending with
5264	// `operations/{unique_id}`.
5265	Name string `json:"name,omitempty"`
5266
5267	// Response: The normal response of the operation in case of success. If
5268	// the original method returns no data on success, such as `Delete`, the
5269	// response is `google.protobuf.Empty`. If the original method is
5270	// standard `Get`/`Create`/`Update`, the response should be the
5271	// resource. For other methods, the response should have the type
5272	// `XxxResponse`, where `Xxx` is the original method name. For example,
5273	// if the original method name is `TakeSnapshot()`, the inferred
5274	// response type is `TakeSnapshotResponse`.
5275	Response googleapi.RawMessage `json:"response,omitempty"`
5276
5277	// ServerResponse contains the HTTP response code and headers from the
5278	// server.
5279	googleapi.ServerResponse `json:"-"`
5280
5281	// ForceSendFields is a list of field names (e.g. "Done") to
5282	// unconditionally include in API requests. By default, fields with
5283	// empty values are omitted from API requests. However, any non-pointer,
5284	// non-interface field appearing in ForceSendFields will be sent to the
5285	// server regardless of whether the field is empty or not. This may be
5286	// used to include empty fields in Patch requests.
5287	ForceSendFields []string `json:"-"`
5288
5289	// NullFields is a list of field names (e.g. "Done") to include in API
5290	// requests with the JSON null value. By default, fields with empty
5291	// values are omitted from API requests. However, any field with an
5292	// empty value appearing in NullFields will be sent to the server as
5293	// null. It is an error if a field in this list has a non-empty value.
5294	// This may be used to include null fields in Patch requests.
5295	NullFields []string `json:"-"`
5296}
5297
5298func (s *Operation) MarshalJSON() ([]byte, error) {
5299	type NoMethod Operation
5300	raw := NoMethod(*s)
5301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5302}
5303
5304// OperationMetadata: OperationMetadata provides information about the
5305// operation execution. Returned in the long-running operation's
5306// metadata field.
5307type OperationMetadata struct {
5308	// ApiMethodName: The name of the API method that initiated the
5309	// operation.
5310	ApiMethodName string `json:"apiMethodName,omitempty"`
5311
5312	// CancelRequested: Specifies if cancellation was requested for the
5313	// operation.
5314	CancelRequested bool `json:"cancelRequested,omitempty"`
5315
5316	Counter *ProgressCounter `json:"counter,omitempty"`
5317
5318	// CreateTime: The time at which the operation was created by the API.
5319	CreateTime string `json:"createTime,omitempty"`
5320
5321	// EndTime: The time at which execution was completed.
5322	EndTime string `json:"endTime,omitempty"`
5323
5324	// LogsUrl: A link to audit and error logs in the log viewer. Error logs
5325	// are generated only by some operations, listed at Viewing error logs
5326	// in Cloud Logging
5327	// (https://cloud.google.com/healthcare/docs/how-tos/logging).
5328	LogsUrl string `json:"logsUrl,omitempty"`
5329
5330	// ForceSendFields is a list of field names (e.g. "ApiMethodName") to
5331	// unconditionally include in API requests. By default, fields with
5332	// empty values are omitted from API requests. However, any non-pointer,
5333	// non-interface field appearing in ForceSendFields will be sent to the
5334	// server regardless of whether the field is empty or not. This may be
5335	// used to include empty fields in Patch requests.
5336	ForceSendFields []string `json:"-"`
5337
5338	// NullFields is a list of field names (e.g. "ApiMethodName") to include
5339	// in API requests with the JSON null value. By default, fields with
5340	// empty values are omitted from API requests. However, any field with
5341	// an empty value appearing in NullFields will be sent to the server as
5342	// null. It is an error if a field in this list has a non-empty value.
5343	// This may be used to include null fields in Patch requests.
5344	NullFields []string `json:"-"`
5345}
5346
5347func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
5348	type NoMethod OperationMetadata
5349	raw := NoMethod(*s)
5350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5351}
5352
5353// ParsedData: The content of an HL7v2 message in a structured format.
5354type ParsedData struct {
5355	Segments []*Segment `json:"segments,omitempty"`
5356
5357	// ForceSendFields is a list of field names (e.g. "Segments") 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. "Segments") to include in
5366	// API requests with the JSON null value. By default, fields with empty
5367	// values are omitted from API requests. However, any field with an
5368	// empty value appearing in NullFields will be sent to the server as
5369	// null. It is an error if a field in this list has a non-empty value.
5370	// This may be used to include null fields in Patch requests.
5371	NullFields []string `json:"-"`
5372}
5373
5374func (s *ParsedData) MarshalJSON() ([]byte, error) {
5375	type NoMethod ParsedData
5376	raw := NoMethod(*s)
5377	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5378}
5379
5380// ParserConfig: The configuration for the parser. It determines how the
5381// server parses the messages.
5382type ParserConfig struct {
5383	// AllowNullHeader: Determines whether messages with no header are
5384	// allowed.
5385	AllowNullHeader bool `json:"allowNullHeader,omitempty"`
5386
5387	// Schema: Schemas used to parse messages in this store, if schematized
5388	// parsing is desired.
5389	Schema *SchemaPackage `json:"schema,omitempty"`
5390
5391	// SegmentTerminator: Byte(s) to use as the segment terminator. If this
5392	// is unset, '\r' is used as segment terminator, matching the HL7
5393	// version 2 specification.
5394	SegmentTerminator string `json:"segmentTerminator,omitempty"`
5395
5396	// Version: Immutable. Determines the version of the unschematized
5397	// parser to be used when `schema` is not given. This field is immutable
5398	// after store creation.
5399	//
5400	// Possible values:
5401	//   "PARSER_VERSION_UNSPECIFIED" - Unspecified parser version,
5402	// equivalent to V1.
5403	//   "V1" - The `parsed_data` includes every given non-empty message
5404	// field except the Field Separator (MSH-1) field. As a result, the
5405	// parsed MSH segment starts with the MSH-2 field and the field numbers
5406	// are off-by-one with respect to the HL7 standard.
5407	//   "V2" - The `parsed_data` includes every given non-empty message
5408	// field.
5409	Version string `json:"version,omitempty"`
5410
5411	// ForceSendFields is a list of field names (e.g. "AllowNullHeader") to
5412	// unconditionally include in API requests. By default, fields with
5413	// empty values are omitted from API requests. However, any non-pointer,
5414	// non-interface field appearing in ForceSendFields will be sent to the
5415	// server regardless of whether the field is empty or not. This may be
5416	// used to include empty fields in Patch requests.
5417	ForceSendFields []string `json:"-"`
5418
5419	// NullFields is a list of field names (e.g. "AllowNullHeader") to
5420	// include in API requests with the JSON null value. By default, fields
5421	// with empty values are omitted from API requests. However, any field
5422	// with an empty value appearing in NullFields will be sent to the
5423	// server as null. It is an error if a field in this list has a
5424	// non-empty value. This may be used to include null fields in Patch
5425	// requests.
5426	NullFields []string `json:"-"`
5427}
5428
5429func (s *ParserConfig) MarshalJSON() ([]byte, error) {
5430	type NoMethod ParserConfig
5431	raw := NoMethod(*s)
5432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5433}
5434
5435// PatientId: A patient identifier and associated type.
5436type PatientId struct {
5437	// Type: ID type. For example, MRN or NHS.
5438	Type string `json:"type,omitempty"`
5439
5440	// Value: The patient's unique identifier.
5441	Value string `json:"value,omitempty"`
5442
5443	// ForceSendFields is a list of field names (e.g. "Type") to
5444	// unconditionally include in API requests. By default, fields with
5445	// empty values are omitted from API requests. However, any non-pointer,
5446	// non-interface field appearing in ForceSendFields will be sent to the
5447	// server regardless of whether the field is empty or not. This may be
5448	// used to include empty fields in Patch requests.
5449	ForceSendFields []string `json:"-"`
5450
5451	// NullFields is a list of field names (e.g. "Type") to include in API
5452	// requests with the JSON null value. By default, fields with empty
5453	// values are omitted from API requests. However, any field with an
5454	// empty value appearing in NullFields will be sent to the server as
5455	// null. It is an error if a field in this list has a non-empty value.
5456	// This may be used to include null fields in Patch requests.
5457	NullFields []string `json:"-"`
5458}
5459
5460func (s *PatientId) MarshalJSON() ([]byte, error) {
5461	type NoMethod PatientId
5462	raw := NoMethod(*s)
5463	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5464}
5465
5466// Policy: An Identity and Access Management (IAM) policy, which
5467// specifies access controls for Google Cloud resources. A `Policy` is a
5468// collection of `bindings`. A `binding` binds one or more `members` to
5469// a single `role`. Members can be user accounts, service accounts,
5470// Google groups, and domains (such as G Suite). A `role` is a named
5471// list of permissions; each `role` can be an IAM predefined role or a
5472// user-created custom role. For some types of Google Cloud resources, a
5473// `binding` can also specify a `condition`, which is a logical
5474// expression that allows access to a resource only if the expression
5475// evaluates to `true`. A condition can add constraints based on
5476// attributes of the request, the resource, or both. To learn which
5477// resources support conditions in their IAM policies, see the IAM
5478// documentation
5479// (https://cloud.google.com/iam/help/conditions/resource-policies).
5480// **JSON example:** { "bindings": [ { "role":
5481// "roles/resourcemanager.organizationAdmin", "members": [
5482// "user:mike@example.com", "group:admins@example.com",
5483// "domain:google.com",
5484// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
5485// "role": "roles/resourcemanager.organizationViewer", "members": [
5486// "user:eve@example.com" ], "condition": { "title": "expirable access",
5487// "description": "Does not grant access after Sep 2020", "expression":
5488// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
5489// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
5490// members: - user:mike@example.com - group:admins@example.com -
5491// domain:google.com -
5492// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
5493// roles/resourcemanager.organizationAdmin - members: -
5494// user:eve@example.com role: roles/resourcemanager.organizationViewer
5495// condition: title: expirable access description: Does not grant access
5496// after Sep 2020 expression: request.time <
5497// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
5498// 3 For a description of IAM and its features, see the IAM
5499// documentation (https://cloud.google.com/iam/docs/).
5500type Policy struct {
5501	// AuditConfigs: Specifies cloud audit logging configuration for this
5502	// policy.
5503	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
5504
5505	// Bindings: Associates a list of `members` to a `role`. Optionally, may
5506	// specify a `condition` that determines how and when the `bindings` are
5507	// applied. Each of the `bindings` must contain at least one member.
5508	Bindings []*Binding `json:"bindings,omitempty"`
5509
5510	// Etag: `etag` is used for optimistic concurrency control as a way to
5511	// help prevent simultaneous updates of a policy from overwriting each
5512	// other. It is strongly suggested that systems make use of the `etag`
5513	// in the read-modify-write cycle to perform policy updates in order to
5514	// avoid race conditions: An `etag` is returned in the response to
5515	// `getIamPolicy`, and systems are expected to put that etag in the
5516	// request to `setIamPolicy` to ensure that their change will be applied
5517	// to the same version of the policy. **Important:** If you use IAM
5518	// Conditions, you must include the `etag` field whenever you call
5519	// `setIamPolicy`. If you omit this field, then IAM allows you to
5520	// overwrite a version `3` policy with a version `1` policy, and all of
5521	// the conditions in the version `3` policy are lost.
5522	Etag string `json:"etag,omitempty"`
5523
5524	// Version: Specifies the format of the policy. Valid values are `0`,
5525	// `1`, and `3`. Requests that specify an invalid value are rejected.
5526	// Any operation that affects conditional role bindings must specify
5527	// version `3`. This requirement applies to the following operations: *
5528	// Getting a policy that includes a conditional role binding * Adding a
5529	// conditional role binding to a policy * Changing a conditional role
5530	// binding in a policy * Removing any role binding, with or without a
5531	// condition, from a policy that includes conditions **Important:** If
5532	// you use IAM Conditions, you must include the `etag` field whenever
5533	// you call `setIamPolicy`. If you omit this field, then IAM allows you
5534	// to overwrite a version `3` policy with a version `1` policy, and all
5535	// of the conditions in the version `3` policy are lost. If a policy
5536	// does not include any conditions, operations on that policy may
5537	// specify any valid version or leave the field unset. To learn which
5538	// resources support conditions in their IAM policies, see the IAM
5539	// documentation
5540	// (https://cloud.google.com/iam/help/conditions/resource-policies).
5541	Version int64 `json:"version,omitempty"`
5542
5543	// ServerResponse contains the HTTP response code and headers from the
5544	// server.
5545	googleapi.ServerResponse `json:"-"`
5546
5547	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
5548	// unconditionally include in API requests. By default, fields with
5549	// empty values are omitted from API requests. However, any non-pointer,
5550	// non-interface field appearing in ForceSendFields will be sent to the
5551	// server regardless of whether the field is empty or not. This may be
5552	// used to include empty fields in Patch requests.
5553	ForceSendFields []string `json:"-"`
5554
5555	// NullFields is a list of field names (e.g. "AuditConfigs") to include
5556	// in API requests with the JSON null value. By default, fields with
5557	// empty values are omitted from API requests. However, any field with
5558	// an empty value appearing in NullFields will be sent to the server as
5559	// null. It is an error if a field in this list has a non-empty value.
5560	// This may be used to include null fields in Patch requests.
5561	NullFields []string `json:"-"`
5562}
5563
5564func (s *Policy) MarshalJSON() ([]byte, error) {
5565	type NoMethod Policy
5566	raw := NoMethod(*s)
5567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5568}
5569
5570// ProgressCounter: ProgressCounter provides counters to describe an
5571// operation's progress.
5572type ProgressCounter struct {
5573	// Failure: The number of units that failed in the operation.
5574	Failure int64 `json:"failure,omitempty,string"`
5575
5576	// Pending: The number of units that are pending in the operation.
5577	Pending int64 `json:"pending,omitempty,string"`
5578
5579	// Success: The number of units that succeeded in the operation.
5580	Success int64 `json:"success,omitempty,string"`
5581
5582	// ForceSendFields is a list of field names (e.g. "Failure") to
5583	// unconditionally include in API requests. By default, fields with
5584	// empty values are omitted from API requests. However, any non-pointer,
5585	// non-interface field appearing in ForceSendFields will be sent to the
5586	// server regardless of whether the field is empty or not. This may be
5587	// used to include empty fields in Patch requests.
5588	ForceSendFields []string `json:"-"`
5589
5590	// NullFields is a list of field names (e.g. "Failure") to include in
5591	// API requests with the JSON null value. By default, fields with empty
5592	// values are omitted from API requests. However, any field with an
5593	// empty value appearing in NullFields will be sent to the server as
5594	// null. It is an error if a field in this list has a non-empty value.
5595	// This may be used to include null fields in Patch requests.
5596	NullFields []string `json:"-"`
5597}
5598
5599func (s *ProgressCounter) MarshalJSON() ([]byte, error) {
5600	type NoMethod ProgressCounter
5601	raw := NoMethod(*s)
5602	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5603}
5604
5605// QueryAccessibleDataRequest: Queries all data_ids that are consented
5606// for a given use in the given consent store and writes them to a
5607// specified destination. The returned Operation includes a progress
5608// counter for the number of User data mappings processed. Errors are
5609// logged to Cloud Logging (see [Viewing error logs in Cloud Logging]
5610// (https://cloud.google.com/healthcare/docs/how-tos/logging) and
5611// [QueryAccessibleData] for a sample log entry).
5612type QueryAccessibleDataRequest struct {
5613	// GcsDestination: The Cloud Storage destination. The Cloud Healthcare
5614	// API service account must have the `roles/storage.objectAdmin` Cloud
5615	// IAM role for this Cloud Storage location. The object name is in the
5616	// following format: query-accessible-data-result-{operation_id}.txt
5617	// where each line contains a single data_id.
5618	GcsDestination *GoogleCloudHealthcareV1beta1ConsentGcsDestination `json:"gcsDestination,omitempty"`
5619
5620	// RequestAttributes: The values of request attributes associated with
5621	// this access request.
5622	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
5623
5624	// ResourceAttributes: Optional. The values of resource attributes
5625	// associated with the type of resources being requested. If no values
5626	// are specified, then all resource types are included in the output.
5627	ResourceAttributes map[string]string `json:"resourceAttributes,omitempty"`
5628
5629	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
5630	// unconditionally include in API requests. By default, fields with
5631	// empty values are omitted from API requests. However, any non-pointer,
5632	// non-interface field appearing in ForceSendFields will be sent to the
5633	// server regardless of whether the field is empty or not. This may be
5634	// used to include empty fields in Patch requests.
5635	ForceSendFields []string `json:"-"`
5636
5637	// NullFields is a list of field names (e.g. "GcsDestination") to
5638	// include in API requests with the JSON null value. By default, fields
5639	// with empty values are omitted from API requests. However, any field
5640	// with an empty value appearing in NullFields will be sent to the
5641	// server as null. It is an error if a field in this list has a
5642	// non-empty value. This may be used to include null fields in Patch
5643	// requests.
5644	NullFields []string `json:"-"`
5645}
5646
5647func (s *QueryAccessibleDataRequest) MarshalJSON() ([]byte, error) {
5648	type NoMethod QueryAccessibleDataRequest
5649	raw := NoMethod(*s)
5650	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5651}
5652
5653// QueryAccessibleDataResponse: Response for successful
5654// QueryAccessibleData operations. This structure is included in the
5655// response upon operation completion.
5656type QueryAccessibleDataResponse struct {
5657	// GcsUris: List of files, each of which contains a list of data_id(s)
5658	// that are consented for a specified use in the request.
5659	GcsUris []string `json:"gcsUris,omitempty"`
5660
5661	// ForceSendFields is a list of field names (e.g. "GcsUris") to
5662	// unconditionally include in API requests. By default, fields with
5663	// empty values are omitted from API requests. However, any non-pointer,
5664	// non-interface field appearing in ForceSendFields will be sent to the
5665	// server regardless of whether the field is empty or not. This may be
5666	// used to include empty fields in Patch requests.
5667	ForceSendFields []string `json:"-"`
5668
5669	// NullFields is a list of field names (e.g. "GcsUris") to include in
5670	// API requests with the JSON null value. By default, fields with empty
5671	// values are omitted from API requests. However, any field with an
5672	// empty value appearing in NullFields will be sent to the server as
5673	// null. It is an error if a field in this list has a non-empty value.
5674	// This may be used to include null fields in Patch requests.
5675	NullFields []string `json:"-"`
5676}
5677
5678func (s *QueryAccessibleDataResponse) MarshalJSON() ([]byte, error) {
5679	type NoMethod QueryAccessibleDataResponse
5680	raw := NoMethod(*s)
5681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5682}
5683
5684// RedactConfig: Define how to redact sensitive values. Default
5685// behaviour is erase. For example, "My name is Jane." becomes "My name
5686// is ."
5687type RedactConfig struct {
5688}
5689
5690// RejectConsentRequest: Rejects the latest revision of the specified
5691// Consent by committing a new revision with `state` updated to
5692// `REJECTED`. If the latest revision of the given Consent is in the
5693// `REJECTED` state, no new revision is committed.
5694type RejectConsentRequest struct {
5695	// ConsentArtifact: Optional. The resource name of the Consent artifact
5696	// that contains documentation of the user's rejection of the draft
5697	// Consent, of the form
5698	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5699	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5700	// `. If the draft Consent had a Consent artifact, this Consent artifact
5701	// overwrites it.
5702	ConsentArtifact string `json:"consentArtifact,omitempty"`
5703
5704	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5705	// unconditionally include in API requests. By default, fields with
5706	// empty values are omitted from API requests. However, any non-pointer,
5707	// non-interface field appearing in ForceSendFields will be sent to the
5708	// server regardless of whether the field is empty or not. This may be
5709	// used to include empty fields in Patch requests.
5710	ForceSendFields []string `json:"-"`
5711
5712	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5713	// include in API requests with the JSON null value. By default, fields
5714	// with empty values are omitted from API requests. However, any field
5715	// with an empty value appearing in NullFields will be sent to the
5716	// server as null. It is an error if a field in this list has a
5717	// non-empty value. This may be used to include null fields in Patch
5718	// requests.
5719	NullFields []string `json:"-"`
5720}
5721
5722func (s *RejectConsentRequest) MarshalJSON() ([]byte, error) {
5723	type NoMethod RejectConsentRequest
5724	raw := NoMethod(*s)
5725	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5726}
5727
5728// ReplaceWithInfoTypeConfig: When using the INSPECT_AND_TRANSFORM
5729// action, each match is replaced with the name of the info_type. For
5730// example, "My name is Jane" becomes "My name is [PERSON_NAME]." The
5731// TRANSFORM action is equivalent to redacting.
5732type ReplaceWithInfoTypeConfig struct {
5733}
5734
5735// ResourceAnnotation: Resource level annotation.
5736type ResourceAnnotation struct {
5737	// Label: A description of the annotation record.
5738	Label string `json:"label,omitempty"`
5739
5740	// ForceSendFields is a list of field names (e.g. "Label") to
5741	// unconditionally include in API requests. By default, fields with
5742	// empty values are omitted from API requests. However, any non-pointer,
5743	// non-interface field appearing in ForceSendFields will be sent to the
5744	// server regardless of whether the field is empty or not. This may be
5745	// used to include empty fields in Patch requests.
5746	ForceSendFields []string `json:"-"`
5747
5748	// NullFields is a list of field names (e.g. "Label") to include in API
5749	// requests with the JSON null value. By default, fields with empty
5750	// values are omitted from API requests. However, any field with an
5751	// empty value appearing in NullFields will be sent to the server as
5752	// null. It is an error if a field in this list has a non-empty value.
5753	// This may be used to include null fields in Patch requests.
5754	NullFields []string `json:"-"`
5755}
5756
5757func (s *ResourceAnnotation) MarshalJSON() ([]byte, error) {
5758	type NoMethod ResourceAnnotation
5759	raw := NoMethod(*s)
5760	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5761}
5762
5763// Resources: A list of FHIR resources.
5764type Resources struct {
5765	// Resources: List of resources IDs. For example, "Patient/1234".
5766	Resources []string `json:"resources,omitempty"`
5767
5768	// ForceSendFields is a list of field names (e.g. "Resources") to
5769	// unconditionally include in API requests. By default, fields with
5770	// empty values are omitted from API requests. However, any non-pointer,
5771	// non-interface field appearing in ForceSendFields will be sent to the
5772	// server regardless of whether the field is empty or not. This may be
5773	// used to include empty fields in Patch requests.
5774	ForceSendFields []string `json:"-"`
5775
5776	// NullFields is a list of field names (e.g. "Resources") to include in
5777	// API requests with the JSON null value. By default, fields with empty
5778	// values are omitted from API requests. However, any field with an
5779	// empty value appearing in NullFields will be sent to the server as
5780	// null. It is an error if a field in this list has a non-empty value.
5781	// This may be used to include null fields in Patch requests.
5782	NullFields []string `json:"-"`
5783}
5784
5785func (s *Resources) MarshalJSON() ([]byte, error) {
5786	type NoMethod Resources
5787	raw := NoMethod(*s)
5788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5789}
5790
5791// Result: The consent evaluation result for a single `data_id`.
5792type Result struct {
5793	// ConsentDetails: The resource names of all evaluated Consents mapped
5794	// to their evaluation.
5795	ConsentDetails map[string]ConsentEvaluation `json:"consentDetails,omitempty"`
5796
5797	// Consented: Whether the resource is consented for the given use.
5798	Consented bool `json:"consented,omitempty"`
5799
5800	// DataId: The unique identifier of the evaluated resource.
5801	DataId string `json:"dataId,omitempty"`
5802
5803	// ForceSendFields is a list of field names (e.g. "ConsentDetails") to
5804	// unconditionally include in API requests. By default, fields with
5805	// empty values are omitted from API requests. However, any non-pointer,
5806	// non-interface field appearing in ForceSendFields will be sent to the
5807	// server regardless of whether the field is empty or not. This may be
5808	// used to include empty fields in Patch requests.
5809	ForceSendFields []string `json:"-"`
5810
5811	// NullFields is a list of field names (e.g. "ConsentDetails") to
5812	// include in API requests with the JSON null value. By default, fields
5813	// with empty values are omitted from API requests. However, any field
5814	// with an empty value appearing in NullFields will be sent to the
5815	// server as null. It is an error if a field in this list has a
5816	// non-empty value. This may be used to include null fields in Patch
5817	// requests.
5818	NullFields []string `json:"-"`
5819}
5820
5821func (s *Result) MarshalJSON() ([]byte, error) {
5822	type NoMethod Result
5823	raw := NoMethod(*s)
5824	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5825}
5826
5827// RevokeConsentRequest: Revokes the latest revision of the specified
5828// Consent by committing a new revision with `state` updated to
5829// `REVOKED`. If the latest revision of the given Consent is in the
5830// `REVOKED` state, no new revision is committed.
5831type RevokeConsentRequest struct {
5832	// ConsentArtifact: Optional. The resource name of the Consent artifact
5833	// that contains proof of the user's revocation of the Consent, of the
5834	// form
5835	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
5836	// onsentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}
5837	// `.
5838	ConsentArtifact string `json:"consentArtifact,omitempty"`
5839
5840	// ForceSendFields is a list of field names (e.g. "ConsentArtifact") to
5841	// unconditionally include in API requests. By default, fields with
5842	// empty values are omitted from API requests. However, any non-pointer,
5843	// non-interface field appearing in ForceSendFields will be sent to the
5844	// server regardless of whether the field is empty or not. This may be
5845	// used to include empty fields in Patch requests.
5846	ForceSendFields []string `json:"-"`
5847
5848	// NullFields is a list of field names (e.g. "ConsentArtifact") to
5849	// include in API requests with the JSON null value. By default, fields
5850	// with empty values are omitted from API requests. However, any field
5851	// with an empty value appearing in NullFields will be sent to the
5852	// server as null. It is an error if a field in this list has a
5853	// non-empty value. This may be used to include null fields in Patch
5854	// requests.
5855	NullFields []string `json:"-"`
5856}
5857
5858func (s *RevokeConsentRequest) MarshalJSON() ([]byte, error) {
5859	type NoMethod RevokeConsentRequest
5860	raw := NoMethod(*s)
5861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5862}
5863
5864// SchemaConfig: Configuration for the FHIR BigQuery schema. Determines
5865// how the server generates the schema.
5866type SchemaConfig struct {
5867	// RecursiveStructureDepth: The depth for all recursive structures in
5868	// the output analytics schema. For example, `concept` in the CodeSystem
5869	// resource is a recursive structure; when the depth is 2, the
5870	// CodeSystem table will have a column called `concept.concept` but not
5871	// `concept.concept.concept`. If not specified or set to 0, the server
5872	// will use the default value 2. The maximum depth allowed is 5.
5873	RecursiveStructureDepth int64 `json:"recursiveStructureDepth,omitempty,string"`
5874
5875	// SchemaType: Specifies the output schema type. Schema type is
5876	// required.
5877	//
5878	// Possible values:
5879	//   "SCHEMA_TYPE_UNSPECIFIED" - No schema type specified. This type is
5880	// unsupported.
5881	//   "LOSSLESS" - A data-driven schema generated from the fields present
5882	// in the FHIR data being exported, with no additional simplification.
5883	//   "ANALYTICS" - Analytics schema defined by the FHIR community. See
5884	// https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
5885	// BigQuery only allows a maximum of 10,000 columns per table. Due to
5886	// this limitation, the server will not generate schemas for fields of
5887	// type `Resource`, which can hold any resource type. The affected
5888	// fields are `Parameters.parameter.resource`, `Bundle.entry.resource`,
5889	// and `Bundle.entry.response.outcome`.
5890	SchemaType string `json:"schemaType,omitempty"`
5891
5892	// ForceSendFields is a list of field names (e.g.
5893	// "RecursiveStructureDepth") to unconditionally include in API
5894	// requests. By default, fields with empty values are omitted from API
5895	// requests. However, any non-pointer, non-interface field appearing in
5896	// ForceSendFields will be sent to the server regardless of whether the
5897	// field is empty or not. This may be used to include empty fields in
5898	// Patch requests.
5899	ForceSendFields []string `json:"-"`
5900
5901	// NullFields is a list of field names (e.g. "RecursiveStructureDepth")
5902	// to include in API requests with the JSON null value. By default,
5903	// fields with empty values are omitted from API requests. However, any
5904	// field with an empty value appearing in NullFields will be sent to the
5905	// server as null. It is an error if a field in this list has a
5906	// non-empty value. This may be used to include null fields in Patch
5907	// requests.
5908	NullFields []string `json:"-"`
5909}
5910
5911func (s *SchemaConfig) MarshalJSON() ([]byte, error) {
5912	type NoMethod SchemaConfig
5913	raw := NoMethod(*s)
5914	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5915}
5916
5917// SchemaGroup: An HL7v2 logical group construct.
5918type SchemaGroup struct {
5919	// Choice: True indicates that this is a choice group, meaning that only
5920	// one of its segments can exist in a given message.
5921	Choice bool `json:"choice,omitempty"`
5922
5923	// MaxOccurs: The maximum number of times this group can be repeated. 0
5924	// or -1 means unbounded.
5925	MaxOccurs int64 `json:"maxOccurs,omitempty"`
5926
5927	// Members: Nested groups and/or segments.
5928	Members []*GroupOrSegment `json:"members,omitempty"`
5929
5930	// MinOccurs: The minimum number of times this group must be
5931	// present/repeated.
5932	MinOccurs int64 `json:"minOccurs,omitempty"`
5933
5934	// Name: The name of this group. For example, "ORDER_DETAIL".
5935	Name string `json:"name,omitempty"`
5936
5937	// ForceSendFields is a list of field names (e.g. "Choice") to
5938	// unconditionally include in API requests. By default, fields with
5939	// empty values are omitted from API requests. However, any non-pointer,
5940	// non-interface field appearing in ForceSendFields will be sent to the
5941	// server regardless of whether the field is empty or not. This may be
5942	// used to include empty fields in Patch requests.
5943	ForceSendFields []string `json:"-"`
5944
5945	// NullFields is a list of field names (e.g. "Choice") to include in API
5946	// requests with the JSON null value. By default, fields with empty
5947	// values are omitted from API requests. However, any field with an
5948	// empty value appearing in NullFields will be sent to the server as
5949	// null. It is an error if a field in this list has a non-empty value.
5950	// This may be used to include null fields in Patch requests.
5951	NullFields []string `json:"-"`
5952}
5953
5954func (s *SchemaGroup) MarshalJSON() ([]byte, error) {
5955	type NoMethod SchemaGroup
5956	raw := NoMethod(*s)
5957	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5958}
5959
5960// SchemaPackage: A schema package contains a set of schemas and type
5961// definitions.
5962type SchemaPackage struct {
5963	// IgnoreMinOccurs: Flag to ignore all min_occurs restrictions in the
5964	// schema. This means that incoming messages can omit any group,
5965	// segment, field, component, or subcomponent.
5966	IgnoreMinOccurs bool `json:"ignoreMinOccurs,omitempty"`
5967
5968	// Schemas: Schema configs that are layered based on their
5969	// VersionSources that match the incoming message. Schema configs
5970	// present in higher indices override those in lower indices with the
5971	// same message type and trigger event if their VersionSources all match
5972	// an incoming message.
5973	Schemas []*Hl7SchemaConfig `json:"schemas,omitempty"`
5974
5975	// SchematizedParsingType: Determines how messages that fail to parse
5976	// are handled.
5977	//
5978	// Possible values:
5979	//   "SCHEMATIZED_PARSING_TYPE_UNSPECIFIED" - Unspecified schematized
5980	// parsing type, equivalent to `SOFT_FAIL`.
5981	//   "SOFT_FAIL" - Messages that fail to parse are still stored and
5982	// ACKed but a parser error is stored in place of the schematized data.
5983	//   "HARD_FAIL" - Messages that fail to parse are rejected from
5984	// ingestion/insertion and return an error code.
5985	SchematizedParsingType string `json:"schematizedParsingType,omitempty"`
5986
5987	// Types: Schema type definitions that are layered based on their
5988	// VersionSources that match the incoming message. Type definitions
5989	// present in higher indices override those in lower indices with the
5990	// same type name if their VersionSources all match an incoming message.
5991	Types []*Hl7TypesConfig `json:"types,omitempty"`
5992
5993	// UnexpectedSegmentHandling: Determines how unexpected segments
5994	// (segments not matched to the schema) are handled.
5995	//
5996	// Possible values:
5997	//   "UNEXPECTED_SEGMENT_HANDLING_MODE_UNSPECIFIED" - Unspecified
5998	// handling mode, equivalent to FAIL.
5999	//   "FAIL" - Unexpected segments fail to parse and return an error.
6000	//   "SKIP" - Unexpected segments do not fail, but are omitted from the
6001	// output.
6002	//   "PARSE" - Unexpected segments do not fail, but are parsed in place
6003	// and added to the current group. If a segment has a type definition,
6004	// it is used, otherwise it is parsed as VARIES.
6005	UnexpectedSegmentHandling string `json:"unexpectedSegmentHandling,omitempty"`
6006
6007	// ForceSendFields is a list of field names (e.g. "IgnoreMinOccurs") to
6008	// unconditionally include in API requests. By default, fields with
6009	// empty values are omitted from API requests. However, any non-pointer,
6010	// non-interface field appearing in ForceSendFields will be sent to the
6011	// server regardless of whether the field is empty or not. This may be
6012	// used to include empty fields in Patch requests.
6013	ForceSendFields []string `json:"-"`
6014
6015	// NullFields is a list of field names (e.g. "IgnoreMinOccurs") to
6016	// include in API requests with the JSON null value. By default, fields
6017	// with empty values are omitted from API requests. However, any field
6018	// with an empty value appearing in NullFields will be sent to the
6019	// server as null. It is an error if a field in this list has a
6020	// non-empty value. This may be used to include null fields in Patch
6021	// requests.
6022	NullFields []string `json:"-"`
6023}
6024
6025func (s *SchemaPackage) MarshalJSON() ([]byte, error) {
6026	type NoMethod SchemaPackage
6027	raw := NoMethod(*s)
6028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6029}
6030
6031// SchemaSegment: An HL7v2 Segment.
6032type SchemaSegment struct {
6033	// MaxOccurs: The maximum number of times this segment can be present in
6034	// this group. 0 or -1 means unbounded.
6035	MaxOccurs int64 `json:"maxOccurs,omitempty"`
6036
6037	// MinOccurs: The minimum number of times this segment can be present in
6038	// this group.
6039	MinOccurs int64 `json:"minOccurs,omitempty"`
6040
6041	// Type: The Segment type. For example, "PID".
6042	Type string `json:"type,omitempty"`
6043
6044	// ForceSendFields is a list of field names (e.g. "MaxOccurs") to
6045	// unconditionally include in API requests. By default, fields with
6046	// empty values are omitted from API requests. However, any non-pointer,
6047	// non-interface field appearing in ForceSendFields will be sent to the
6048	// server regardless of whether the field is empty or not. This may be
6049	// used to include empty fields in Patch requests.
6050	ForceSendFields []string `json:"-"`
6051
6052	// NullFields is a list of field names (e.g. "MaxOccurs") to include in
6053	// API requests with the JSON null value. By default, fields with empty
6054	// values are omitted from API requests. However, any field with an
6055	// empty value appearing in NullFields will be sent to the server as
6056	// null. It is an error if a field in this list has a non-empty value.
6057	// This may be used to include null fields in Patch requests.
6058	NullFields []string `json:"-"`
6059}
6060
6061func (s *SchemaSegment) MarshalJSON() ([]byte, error) {
6062	type NoMethod SchemaSegment
6063	raw := NoMethod(*s)
6064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6065}
6066
6067// SchematizedData: The content of an HL7v2 message in a structured
6068// format as specified by a schema.
6069type SchematizedData struct {
6070	// Data: JSON output of the parser.
6071	Data string `json:"data,omitempty"`
6072
6073	// Error: The error output of the parser.
6074	Error string `json:"error,omitempty"`
6075
6076	// ForceSendFields is a list of field names (e.g. "Data") to
6077	// unconditionally include in API requests. By default, fields with
6078	// empty values are omitted from API requests. However, any non-pointer,
6079	// non-interface field appearing in ForceSendFields will be sent to the
6080	// server regardless of whether the field is empty or not. This may be
6081	// used to include empty fields in Patch requests.
6082	ForceSendFields []string `json:"-"`
6083
6084	// NullFields is a list of field names (e.g. "Data") to include in API
6085	// requests with the JSON null value. By default, fields with empty
6086	// values are omitted from API requests. However, any field with an
6087	// empty value appearing in NullFields will be sent to the server as
6088	// null. It is an error if a field in this list has a non-empty value.
6089	// This may be used to include null fields in Patch requests.
6090	NullFields []string `json:"-"`
6091}
6092
6093func (s *SchematizedData) MarshalJSON() ([]byte, error) {
6094	type NoMethod SchematizedData
6095	raw := NoMethod(*s)
6096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6097}
6098
6099// SearchConfig: Contains the configuration for FHIR search.
6100type SearchConfig struct {
6101	// SearchParameters: A list of search parameters in this FHIR store that
6102	// are used to configure this FHIR store.
6103	SearchParameters []*SearchParameter `json:"searchParameters,omitempty"`
6104
6105	// ForceSendFields is a list of field names (e.g. "SearchParameters") to
6106	// unconditionally include in API requests. By default, fields with
6107	// empty values are omitted from API requests. However, any non-pointer,
6108	// non-interface field appearing in ForceSendFields will be sent to the
6109	// server regardless of whether the field is empty or not. This may be
6110	// used to include empty fields in Patch requests.
6111	ForceSendFields []string `json:"-"`
6112
6113	// NullFields is a list of field names (e.g. "SearchParameters") to
6114	// include in API requests with the JSON null value. By default, fields
6115	// with empty values are omitted from API requests. However, any field
6116	// with an empty value appearing in NullFields will be sent to the
6117	// server as null. It is an error if a field in this list has a
6118	// non-empty value. This may be used to include null fields in Patch
6119	// requests.
6120	NullFields []string `json:"-"`
6121}
6122
6123func (s *SearchConfig) MarshalJSON() ([]byte, error) {
6124	type NoMethod SearchConfig
6125	raw := NoMethod(*s)
6126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6127}
6128
6129// SearchParameter: Contains the versioned name and the URL for one
6130// SearchParameter.
6131type SearchParameter struct {
6132	// CanonicalUrl: The canonical url of the search parameter resource.
6133	CanonicalUrl string `json:"canonicalUrl,omitempty"`
6134
6135	// Parameter: The versioned name of the search parameter resource. The
6136	// format is
6137	// projects/{project-id}/locations/{location}/datasets/{dataset-id}/fhirS
6138	// tores/{fhirStore-id}/fhir/SearchParameter/{resource-id}/_history/{vers
6139	// ion-id} For fhir stores with disable_resource_versioning=true, the
6140	// format is
6141	// projects/{project-id}/locations/{location}/datasets/{dataset-id}/fhirS
6142	// tores/{fhirStore-id}/fhir/SearchParameter/{resource-id}/
6143	Parameter string `json:"parameter,omitempty"`
6144
6145	// ForceSendFields is a list of field names (e.g. "CanonicalUrl") to
6146	// unconditionally include in API requests. By default, fields with
6147	// empty values are omitted from API requests. However, any non-pointer,
6148	// non-interface field appearing in ForceSendFields will be sent to the
6149	// server regardless of whether the field is empty or not. This may be
6150	// used to include empty fields in Patch requests.
6151	ForceSendFields []string `json:"-"`
6152
6153	// NullFields is a list of field names (e.g. "CanonicalUrl") to include
6154	// in API requests with the JSON null value. By default, fields with
6155	// empty values are omitted from API requests. However, any field with
6156	// an empty value appearing in NullFields will be sent to the server as
6157	// null. It is an error if a field in this list has a non-empty value.
6158	// This may be used to include null fields in Patch requests.
6159	NullFields []string `json:"-"`
6160}
6161
6162func (s *SearchParameter) MarshalJSON() ([]byte, error) {
6163	type NoMethod SearchParameter
6164	raw := NoMethod(*s)
6165	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6166}
6167
6168// SearchResourcesRequest: Request to search the resources in the
6169// specified FHIR store.
6170type SearchResourcesRequest struct {
6171	// ResourceType: The FHIR resource type to search, such as Patient or
6172	// Observation. For a complete list, see the FHIR Resource Index (DSTU2
6173	// (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
6174	// STU3
6175	// (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html), R4
6176	// (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
6177	ResourceType string `json:"resourceType,omitempty"`
6178
6179	// ForceSendFields is a list of field names (e.g. "ResourceType") to
6180	// unconditionally include in API requests. By default, fields with
6181	// empty values are omitted from API requests. However, any non-pointer,
6182	// non-interface field appearing in ForceSendFields will be sent to the
6183	// server regardless of whether the field is empty or not. This may be
6184	// used to include empty fields in Patch requests.
6185	ForceSendFields []string `json:"-"`
6186
6187	// NullFields is a list of field names (e.g. "ResourceType") to include
6188	// in API requests with the JSON null value. By default, fields with
6189	// empty values are omitted from API requests. However, any field with
6190	// an empty value appearing in NullFields will be sent to the server as
6191	// null. It is an error if a field in this list has a non-empty value.
6192	// This may be used to include null fields in Patch requests.
6193	NullFields []string `json:"-"`
6194}
6195
6196func (s *SearchResourcesRequest) MarshalJSON() ([]byte, error) {
6197	type NoMethod SearchResourcesRequest
6198	raw := NoMethod(*s)
6199	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6200}
6201
6202// Segment: A segment in a structured format.
6203type Segment struct {
6204	// Fields: A mapping from the positional location to the value. The key
6205	// string uses zero-based indexes separated by dots to identify Fields,
6206	// components and sub-components. A bracket notation is also used to
6207	// identify different instances of a repeated field. Regex for key:
6208	// (\d+)(\[\d+\])?(.\d+)?(.\d+)? Examples of (key, value) pairs: * (0.1,
6209	// "hemoglobin") denotes that the first component of Field 0 has the
6210	// value "hemoglobin". * (1.1.2, "CBC") denotes that the second
6211	// sub-component of the first component of Field 1 has the value "CBC".
6212	// * (1[0].1, "HbA1c") denotes that the first component of the first
6213	// Instance of Field 1, which is repeated, has the value "HbA1c".
6214	Fields map[string]string `json:"fields,omitempty"`
6215
6216	// SegmentId: A string that indicates the type of segment. For example,
6217	// EVN or PID.
6218	SegmentId string `json:"segmentId,omitempty"`
6219
6220	// SetId: Set ID for segments that can be in a set. This can be empty if
6221	// it's missing or isn't applicable.
6222	SetId string `json:"setId,omitempty"`
6223
6224	// ForceSendFields is a list of field names (e.g. "Fields") to
6225	// unconditionally include in API requests. By default, fields with
6226	// empty values are omitted from API requests. However, any non-pointer,
6227	// non-interface field appearing in ForceSendFields will be sent to the
6228	// server regardless of whether the field is empty or not. This may be
6229	// used to include empty fields in Patch requests.
6230	ForceSendFields []string `json:"-"`
6231
6232	// NullFields is a list of field names (e.g. "Fields") to include in API
6233	// requests with the JSON null value. By default, fields with empty
6234	// values are omitted from API requests. However, any field with an
6235	// empty value appearing in NullFields will be sent to the server as
6236	// null. It is an error if a field in this list has a non-empty value.
6237	// This may be used to include null fields in Patch requests.
6238	NullFields []string `json:"-"`
6239}
6240
6241func (s *Segment) MarshalJSON() ([]byte, error) {
6242	type NoMethod Segment
6243	raw := NoMethod(*s)
6244	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6245}
6246
6247// SensitiveTextAnnotation: A TextAnnotation specifies a text range that
6248// includes sensitive information.
6249type SensitiveTextAnnotation struct {
6250	// Details: Maps from a resource slice. For example, FHIR resource field
6251	// path to a set of sensitive text findings. For example,
6252	// Appointment.Narrative text1 --> {findings_1, findings_2, findings_3}
6253	Details map[string]Detail `json:"details,omitempty"`
6254
6255	// ForceSendFields is a list of field names (e.g. "Details") to
6256	// unconditionally include in API requests. By default, fields with
6257	// empty values are omitted from API requests. However, any non-pointer,
6258	// non-interface field appearing in ForceSendFields will be sent to the
6259	// server regardless of whether the field is empty or not. This may be
6260	// used to include empty fields in Patch requests.
6261	ForceSendFields []string `json:"-"`
6262
6263	// NullFields is a list of field names (e.g. "Details") to include in
6264	// API requests with the JSON null value. By default, fields with empty
6265	// values are omitted from API requests. However, any field with an
6266	// empty value appearing in NullFields will be sent to the server as
6267	// null. It is an error if a field in this list has a non-empty value.
6268	// This may be used to include null fields in Patch requests.
6269	NullFields []string `json:"-"`
6270}
6271
6272func (s *SensitiveTextAnnotation) MarshalJSON() ([]byte, error) {
6273	type NoMethod SensitiveTextAnnotation
6274	raw := NoMethod(*s)
6275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6276}
6277
6278// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
6279type SetIamPolicyRequest struct {
6280	// Policy: REQUIRED: The complete policy to be applied to the
6281	// `resource`. The size of the policy is limited to a few 10s of KB. An
6282	// empty policy is a valid policy but certain Cloud Platform services
6283	// (such as Projects) might reject them.
6284	Policy *Policy `json:"policy,omitempty"`
6285
6286	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
6287	// policy to modify. Only the fields in the mask will be modified. If no
6288	// mask is provided, the following default mask is used: `paths:
6289	// "bindings, etag"
6290	UpdateMask string `json:"updateMask,omitempty"`
6291
6292	// ForceSendFields is a list of field names (e.g. "Policy") to
6293	// unconditionally include in API requests. By default, fields with
6294	// empty values are omitted from API requests. However, any non-pointer,
6295	// non-interface field appearing in ForceSendFields will be sent to the
6296	// server regardless of whether the field is empty or not. This may be
6297	// used to include empty fields in Patch requests.
6298	ForceSendFields []string `json:"-"`
6299
6300	// NullFields is a list of field names (e.g. "Policy") to include in API
6301	// requests with the JSON null value. By default, fields with empty
6302	// values are omitted from API requests. However, any field with an
6303	// empty value appearing in NullFields will be sent to the server as
6304	// null. It is an error if a field in this list has a non-empty value.
6305	// This may be used to include null fields in Patch requests.
6306	NullFields []string `json:"-"`
6307}
6308
6309func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
6310	type NoMethod SetIamPolicyRequest
6311	raw := NoMethod(*s)
6312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6313}
6314
6315// Signature: User signature.
6316type Signature struct {
6317	// Image: Optional. An image of the user's signature.
6318	Image *Image `json:"image,omitempty"`
6319
6320	// Metadata: Optional. Metadata associated with the user's signature.
6321	// For example, the user's name or the user's title.
6322	Metadata map[string]string `json:"metadata,omitempty"`
6323
6324	// SignatureTime: Optional. Timestamp of the signature.
6325	SignatureTime string `json:"signatureTime,omitempty"`
6326
6327	// UserId: Required. User's UUID provided by the client.
6328	UserId string `json:"userId,omitempty"`
6329
6330	// ForceSendFields is a list of field names (e.g. "Image") to
6331	// unconditionally include in API requests. By default, fields with
6332	// empty values are omitted from API requests. However, any non-pointer,
6333	// non-interface field appearing in ForceSendFields will be sent to the
6334	// server regardless of whether the field is empty or not. This may be
6335	// used to include empty fields in Patch requests.
6336	ForceSendFields []string `json:"-"`
6337
6338	// NullFields is a list of field names (e.g. "Image") to include in API
6339	// requests with the JSON null value. By default, fields with empty
6340	// values are omitted from API requests. However, any field with an
6341	// empty value appearing in NullFields will be sent to the server as
6342	// null. It is an error if a field in this list has a non-empty value.
6343	// This may be used to include null fields in Patch requests.
6344	NullFields []string `json:"-"`
6345}
6346
6347func (s *Signature) MarshalJSON() ([]byte, error) {
6348	type NoMethod Signature
6349	raw := NoMethod(*s)
6350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6351}
6352
6353// Status: The `Status` type defines a logical error model that is
6354// suitable for different programming environments, including REST APIs
6355// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
6356// `Status` message contains three pieces of data: error code, error
6357// message, and error details. You can find out more about this error
6358// model and how to work with it in the API Design Guide
6359// (https://cloud.google.com/apis/design/errors).
6360type Status struct {
6361	// Code: The status code, which should be an enum value of
6362	// google.rpc.Code.
6363	Code int64 `json:"code,omitempty"`
6364
6365	// Details: A list of messages that carry the error details. There is a
6366	// common set of message types for APIs to use.
6367	Details []googleapi.RawMessage `json:"details,omitempty"`
6368
6369	// Message: A developer-facing error message, which should be in
6370	// English. Any user-facing error message should be localized and sent
6371	// in the google.rpc.Status.details field, or localized by the client.
6372	Message string `json:"message,omitempty"`
6373
6374	// ForceSendFields is a list of field names (e.g. "Code") to
6375	// unconditionally include in API requests. By default, fields with
6376	// empty values are omitted from API requests. However, any non-pointer,
6377	// non-interface field appearing in ForceSendFields will be sent to the
6378	// server regardless of whether the field is empty or not. This may be
6379	// used to include empty fields in Patch requests.
6380	ForceSendFields []string `json:"-"`
6381
6382	// NullFields is a list of field names (e.g. "Code") to include in API
6383	// requests with the JSON null value. By default, fields with empty
6384	// values are omitted from API requests. However, any field with an
6385	// empty value appearing in NullFields will be sent to the server as
6386	// null. It is an error if a field in this list has a non-empty value.
6387	// This may be used to include null fields in Patch requests.
6388	NullFields []string `json:"-"`
6389}
6390
6391func (s *Status) MarshalJSON() ([]byte, error) {
6392	type NoMethod Status
6393	raw := NoMethod(*s)
6394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6395}
6396
6397// StreamConfig: Contains configuration for streaming FHIR export.
6398type StreamConfig struct {
6399	// BigqueryDestination: The destination BigQuery structure that contains
6400	// both the dataset location and corresponding schema config. The output
6401	// is organized in one table per resource type. The server reuses the
6402	// existing tables (if any) that are named after the resource types,
6403	// e.g. "Patient", "Observation". When there is no existing table for a
6404	// given resource type, the server attempts to create one. When a table
6405	// schema doesn't align with the schema config, either because of
6406	// existing incompatible schema or out of band incompatible
6407	// modification, the server does not stream in new data. One resolution
6408	// in this case is to delete the incompatible table and let the server
6409	// recreate one, though the newly created table only contains data after
6410	// the table recreation. BigQuery imposes a 1 MB limit on streaming
6411	// insert row size, therefore any resource mutation that generates more
6412	// than 1 MB of BigQuery data will not be streamed. Results are appended
6413	// to the corresponding BigQuery tables. Different versions of the same
6414	// resource are distinguishable by the meta.versionId and
6415	// meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that
6416	// results in the new version is recorded in the meta.tag. The tables
6417	// contain all historical resource versions since streaming was enabled.
6418	// For query convenience, the server also creates one view per table of
6419	// the same name containing only the current resource version. The
6420	// streamed data in the BigQuery dataset is not guaranteed to be
6421	// completely unique. The combination of the id and meta.versionId
6422	// columns should ideally identify a single unique row. But in rare
6423	// cases, duplicates may exist. At query time, users may use the SQL
6424	// select statement to keep only one of the duplicate rows given an id
6425	// and meta.versionId pair. Alternatively, the server created view
6426	// mentioned above also filters out duplicates. If a resource mutation
6427	// cannot be streamed to BigQuery, errors will be logged to Cloud
6428	// Logging (see Viewing error logs in Cloud Logging
6429	// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
6430	BigqueryDestination *GoogleCloudHealthcareV1beta1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
6431
6432	// ResourceTypes: Supply a FHIR resource type (such as "Patient" or
6433	// "Observation"). See
6434	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of
6435	// all FHIR resource types. The server treats an empty list as an intent
6436	// to stream all the supported resource types in this FHIR store.
6437	ResourceTypes []string `json:"resourceTypes,omitempty"`
6438
6439	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
6440	// to unconditionally include in API requests. By default, fields with
6441	// empty values are omitted from API requests. However, any non-pointer,
6442	// non-interface field appearing in ForceSendFields will be sent to the
6443	// server regardless of whether the field is empty or not. This may be
6444	// used to include empty fields in Patch requests.
6445	ForceSendFields []string `json:"-"`
6446
6447	// NullFields is a list of field names (e.g. "BigqueryDestination") to
6448	// include in API requests with the JSON null value. By default, fields
6449	// with empty values are omitted from API requests. However, any field
6450	// with an empty value appearing in NullFields will be sent to the
6451	// server as null. It is an error if a field in this list has a
6452	// non-empty value. This may be used to include null fields in Patch
6453	// requests.
6454	NullFields []string `json:"-"`
6455}
6456
6457func (s *StreamConfig) MarshalJSON() ([]byte, error) {
6458	type NoMethod StreamConfig
6459	raw := NoMethod(*s)
6460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6461}
6462
6463// TagFilterList: List of tags to be filtered.
6464type TagFilterList struct {
6465	// Tags: Tags to be filtered. Tags must be DICOM Data Elements, File
6466	// Meta Elements, or Directory Structuring Elements, as defined at:
6467	// http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.
6468	// They may be provided by "Keyword" or "Tag". For example, "PatientID",
6469	// "00100010".
6470	Tags []string `json:"tags,omitempty"`
6471
6472	// ForceSendFields is a list of field names (e.g. "Tags") to
6473	// unconditionally include in API requests. By default, fields with
6474	// empty values are omitted from API requests. However, any non-pointer,
6475	// non-interface field appearing in ForceSendFields will be sent to the
6476	// server regardless of whether the field is empty or not. This may be
6477	// used to include empty fields in Patch requests.
6478	ForceSendFields []string `json:"-"`
6479
6480	// NullFields is a list of field names (e.g. "Tags") to include in API
6481	// requests with the JSON null value. By default, fields with empty
6482	// values are omitted from API requests. However, any field with an
6483	// empty value appearing in NullFields will be sent to the server as
6484	// null. It is an error if a field in this list has a non-empty value.
6485	// This may be used to include null fields in Patch requests.
6486	NullFields []string `json:"-"`
6487}
6488
6489func (s *TagFilterList) MarshalJSON() ([]byte, error) {
6490	type NoMethod TagFilterList
6491	raw := NoMethod(*s)
6492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6493}
6494
6495// TestIamPermissionsRequest: Request message for `TestIamPermissions`
6496// method.
6497type TestIamPermissionsRequest struct {
6498	// Permissions: The set of permissions to check for the `resource`.
6499	// Permissions with wildcards (such as '*' or 'storage.*') are not
6500	// allowed. For more information see IAM Overview
6501	// (https://cloud.google.com/iam/docs/overview#permissions).
6502	Permissions []string `json:"permissions,omitempty"`
6503
6504	// ForceSendFields is a list of field names (e.g. "Permissions") to
6505	// unconditionally include in API requests. By default, fields with
6506	// empty values are omitted from API requests. However, any non-pointer,
6507	// non-interface field appearing in ForceSendFields will be sent to the
6508	// server regardless of whether the field is empty or not. This may be
6509	// used to include empty fields in Patch requests.
6510	ForceSendFields []string `json:"-"`
6511
6512	// NullFields is a list of field names (e.g. "Permissions") to include
6513	// in API requests with the JSON null value. By default, fields with
6514	// empty values are omitted from API requests. However, any field with
6515	// an empty value appearing in NullFields will be sent to the server as
6516	// null. It is an error if a field in this list has a non-empty value.
6517	// This may be used to include null fields in Patch requests.
6518	NullFields []string `json:"-"`
6519}
6520
6521func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
6522	type NoMethod TestIamPermissionsRequest
6523	raw := NoMethod(*s)
6524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6525}
6526
6527// TestIamPermissionsResponse: Response message for `TestIamPermissions`
6528// method.
6529type TestIamPermissionsResponse struct {
6530	// Permissions: A subset of `TestPermissionsRequest.permissions` that
6531	// the caller is allowed.
6532	Permissions []string `json:"permissions,omitempty"`
6533
6534	// ServerResponse contains the HTTP response code and headers from the
6535	// server.
6536	googleapi.ServerResponse `json:"-"`
6537
6538	// ForceSendFields is a list of field names (e.g. "Permissions") to
6539	// unconditionally include in API requests. By default, fields with
6540	// empty values are omitted from API requests. However, any non-pointer,
6541	// non-interface field appearing in ForceSendFields will be sent to the
6542	// server regardless of whether the field is empty or not. This may be
6543	// used to include empty fields in Patch requests.
6544	ForceSendFields []string `json:"-"`
6545
6546	// NullFields is a list of field names (e.g. "Permissions") to include
6547	// in API requests with the JSON null value. By default, fields with
6548	// empty values are omitted from API requests. However, any field with
6549	// an empty value appearing in NullFields will be sent to the server as
6550	// null. It is an error if a field in this list has a non-empty value.
6551	// This may be used to include null fields in Patch requests.
6552	NullFields []string `json:"-"`
6553}
6554
6555func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
6556	type NoMethod TestIamPermissionsResponse
6557	raw := NoMethod(*s)
6558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6559}
6560
6561type TextConfig struct {
6562	// Transformations: The transformations to apply to the detected data.
6563	Transformations []*InfoTypeTransformation `json:"transformations,omitempty"`
6564
6565	// ForceSendFields is a list of field names (e.g. "Transformations") to
6566	// unconditionally include in API requests. By default, fields with
6567	// empty values are omitted from API requests. However, any non-pointer,
6568	// non-interface field appearing in ForceSendFields will be sent to the
6569	// server regardless of whether the field is empty or not. This may be
6570	// used to include empty fields in Patch requests.
6571	ForceSendFields []string `json:"-"`
6572
6573	// NullFields is a list of field names (e.g. "Transformations") to
6574	// include in API requests with the JSON null value. By default, fields
6575	// with empty values are omitted from API requests. However, any field
6576	// with an empty value appearing in NullFields will be sent to the
6577	// server as null. It is an error if a field in this list has a
6578	// non-empty value. This may be used to include null fields in Patch
6579	// requests.
6580	NullFields []string `json:"-"`
6581}
6582
6583func (s *TextConfig) MarshalJSON() ([]byte, error) {
6584	type NoMethod TextConfig
6585	raw := NoMethod(*s)
6586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6587}
6588
6589// TextSpan: A span of text in the provided document.
6590type TextSpan struct {
6591	// BeginOffset: The unicode codepoint index of the beginning of this
6592	// span.
6593	BeginOffset int64 `json:"beginOffset,omitempty"`
6594
6595	// Content: The original text contained in this span.
6596	Content string `json:"content,omitempty"`
6597
6598	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
6599	// unconditionally include in API requests. By default, fields with
6600	// empty values are omitted from API requests. However, any non-pointer,
6601	// non-interface field appearing in ForceSendFields will be sent to the
6602	// server regardless of whether the field is empty or not. This may be
6603	// used to include empty fields in Patch requests.
6604	ForceSendFields []string `json:"-"`
6605
6606	// NullFields is a list of field names (e.g. "BeginOffset") to include
6607	// in API requests with the JSON null value. By default, fields with
6608	// empty values are omitted from API requests. However, any field with
6609	// an empty value appearing in NullFields will be sent to the server as
6610	// null. It is an error if a field in this list has a non-empty value.
6611	// This may be used to include null fields in Patch requests.
6612	NullFields []string `json:"-"`
6613}
6614
6615func (s *TextSpan) MarshalJSON() ([]byte, error) {
6616	type NoMethod TextSpan
6617	raw := NoMethod(*s)
6618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6619}
6620
6621// Type: A type definition for some HL7v2 type (incl. Segments and
6622// Datatypes).
6623type Type struct {
6624	// Fields: The (sub) fields this type has (if not primitive).
6625	Fields []*Field `json:"fields,omitempty"`
6626
6627	// Name: The name of this type. This would be the segment or datatype
6628	// name. For example, "PID" or "XPN".
6629	Name string `json:"name,omitempty"`
6630
6631	// Primitive: If this is a primitive type then this field is the type of
6632	// the primitive For example, STRING. Leave unspecified for composite
6633	// types.
6634	//
6635	// Possible values:
6636	//   "PRIMITIVE_UNSPECIFIED" - Not a primitive.
6637	//   "STRING" - String primitive.
6638	//   "VARIES" - Element that can have unschematized children.
6639	//   "UNESCAPED_STRING" - Like STRING, but all delimiters below this
6640	// element are ignored.
6641	Primitive string `json:"primitive,omitempty"`
6642
6643	// ForceSendFields is a list of field names (e.g. "Fields") to
6644	// unconditionally include in API requests. By default, fields with
6645	// empty values are omitted from API requests. However, any non-pointer,
6646	// non-interface field appearing in ForceSendFields will be sent to the
6647	// server regardless of whether the field is empty or not. This may be
6648	// used to include empty fields in Patch requests.
6649	ForceSendFields []string `json:"-"`
6650
6651	// NullFields is a list of field names (e.g. "Fields") to include in API
6652	// requests with the JSON null value. By default, fields with empty
6653	// values are omitted from API requests. However, any field with an
6654	// empty value appearing in NullFields will be sent to the server as
6655	// null. It is an error if a field in this list has a non-empty value.
6656	// This may be used to include null fields in Patch requests.
6657	NullFields []string `json:"-"`
6658}
6659
6660func (s *Type) MarshalJSON() ([]byte, error) {
6661	type NoMethod Type
6662	raw := NoMethod(*s)
6663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6664}
6665
6666// UserDataMapping: Maps a resource to the associated user and
6667// Attributes.
6668type UserDataMapping struct {
6669	// ArchiveTime: Output only. Indicates the time when this mapping was
6670	// archived.
6671	ArchiveTime string `json:"archiveTime,omitempty"`
6672
6673	// Archived: Output only. Indicates whether this mapping is archived.
6674	Archived bool `json:"archived,omitempty"`
6675
6676	// DataId: Required. A unique identifier for the mapped resource.
6677	DataId string `json:"dataId,omitempty"`
6678
6679	// Name: Resource name of the User data mapping, of the form
6680	// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
6681	// onsentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id
6682	// }`.
6683	Name string `json:"name,omitempty"`
6684
6685	// ResourceAttributes: Attributes of the resource. Only explicitly set
6686	// attributes are displayed here. Attribute definitions with defaults
6687	// set implicitly apply to these User data mappings. Attributes listed
6688	// here must be single valued, that is, exactly one value is specified
6689	// for the field "values" in each Attribute.
6690	ResourceAttributes []*Attribute `json:"resourceAttributes,omitempty"`
6691
6692	// UserId: Required. User's UUID provided by the client.
6693	UserId string `json:"userId,omitempty"`
6694
6695	// ServerResponse contains the HTTP response code and headers from the
6696	// server.
6697	googleapi.ServerResponse `json:"-"`
6698
6699	// ForceSendFields is a list of field names (e.g. "ArchiveTime") to
6700	// unconditionally include in API requests. By default, fields with
6701	// empty values are omitted from API requests. However, any non-pointer,
6702	// non-interface field appearing in ForceSendFields will be sent to the
6703	// server regardless of whether the field is empty or not. This may be
6704	// used to include empty fields in Patch requests.
6705	ForceSendFields []string `json:"-"`
6706
6707	// NullFields is a list of field names (e.g. "ArchiveTime") to include
6708	// in API requests with the JSON null value. By default, fields with
6709	// empty values are omitted from API requests. However, any field with
6710	// an empty value appearing in NullFields will be sent to the server as
6711	// null. It is an error if a field in this list has a non-empty value.
6712	// This may be used to include null fields in Patch requests.
6713	NullFields []string `json:"-"`
6714}
6715
6716func (s *UserDataMapping) MarshalJSON() ([]byte, error) {
6717	type NoMethod UserDataMapping
6718	raw := NoMethod(*s)
6719	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6720}
6721
6722// ValidationConfig: Contains the configuration for FHIR profiles and
6723// validation.
6724type ValidationConfig struct {
6725	// DisableProfileValidation: Whether to disable profile validation for
6726	// this FHIR store. Set this to true to disable checking incoming
6727	// resources for conformance against StructureDefinitions in this FHIR
6728	// store.
6729	DisableProfileValidation bool `json:"disableProfileValidation,omitempty"`
6730
6731	// EnabledImplementationGuides: A list of ImplementationGuide URLs in
6732	// this FHIR store that are used to configure the profiles to use for
6733	// validation. For example, to use the US Core profiles for validation,
6734	// set `enabled_implementation_guides` to
6735	// `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If
6736	// `enabled_implementation_guides` is empty or omitted, then incoming
6737	// resources are only required to conform to the base FHIR profiles.
6738	// Otherwise, a resource must conform to at least one profile listed in
6739	// the `global` property of one of the enabled ImplementationGuides. The
6740	// Cloud Healthcare API does not currently enforce all of the rules in a
6741	// StructureDefinition. The following rules are supported: - min/max -
6742	// minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on
6743	// simple types - slicing, when using "value" as the discriminator type
6744	// When a URL cannot be resolved (for example, in a type assertion), the
6745	// server does not return an error.
6746	EnabledImplementationGuides []string `json:"enabledImplementationGuides,omitempty"`
6747
6748	// ForceSendFields is a list of field names (e.g.
6749	// "DisableProfileValidation") to unconditionally include in API
6750	// requests. By default, fields with empty values are omitted from API
6751	// requests. However, any non-pointer, non-interface field appearing in
6752	// ForceSendFields will be sent to the server regardless of whether the
6753	// field is empty or not. This may be used to include empty fields in
6754	// Patch requests.
6755	ForceSendFields []string `json:"-"`
6756
6757	// NullFields is a list of field names (e.g. "DisableProfileValidation")
6758	// to include in API requests with the JSON null value. By default,
6759	// fields with empty values are omitted from API requests. However, any
6760	// field with an empty value appearing in NullFields will be sent to the
6761	// server as null. It is an error if a field in this list has a
6762	// non-empty value. This may be used to include null fields in Patch
6763	// requests.
6764	NullFields []string `json:"-"`
6765}
6766
6767func (s *ValidationConfig) MarshalJSON() ([]byte, error) {
6768	type NoMethod ValidationConfig
6769	raw := NoMethod(*s)
6770	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6771}
6772
6773// VersionSource: Describes a selector for extracting and matching an
6774// MSH field to a value.
6775type VersionSource struct {
6776	// MshField: The field to extract from the MSH segment. For example,
6777	// "3.1" or "18[1].1".
6778	MshField string `json:"mshField,omitempty"`
6779
6780	// Value: The value to match with the field. For example, "My
6781	// Application Name" or "2.3".
6782	Value string `json:"value,omitempty"`
6783
6784	// ForceSendFields is a list of field names (e.g. "MshField") to
6785	// unconditionally include in API requests. By default, fields with
6786	// empty values are omitted from API requests. However, any non-pointer,
6787	// non-interface field appearing in ForceSendFields will be sent to the
6788	// server regardless of whether the field is empty or not. This may be
6789	// used to include empty fields in Patch requests.
6790	ForceSendFields []string `json:"-"`
6791
6792	// NullFields is a list of field names (e.g. "MshField") to include in
6793	// API requests with the JSON null value. By default, fields with empty
6794	// values are omitted from API requests. However, any field with an
6795	// empty value appearing in NullFields will be sent to the server as
6796	// null. It is an error if a field in this list has a non-empty value.
6797	// This may be used to include null fields in Patch requests.
6798	NullFields []string `json:"-"`
6799}
6800
6801func (s *VersionSource) MarshalJSON() ([]byte, error) {
6802	type NoMethod VersionSource
6803	raw := NoMethod(*s)
6804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6805}
6806
6807// Vertex: A 2D coordinate in an image. The origin is the top-left.
6808type Vertex struct {
6809	// X: X coordinate.
6810	X float64 `json:"x,omitempty"`
6811
6812	// Y: Y coordinate.
6813	Y float64 `json:"y,omitempty"`
6814
6815	// ForceSendFields is a list of field names (e.g. "X") to
6816	// unconditionally include in API requests. By default, fields with
6817	// empty values are omitted from API requests. However, any non-pointer,
6818	// non-interface field appearing in ForceSendFields will be sent to the
6819	// server regardless of whether the field is empty or not. This may be
6820	// used to include empty fields in Patch requests.
6821	ForceSendFields []string `json:"-"`
6822
6823	// NullFields is a list of field names (e.g. "X") to include in API
6824	// requests with the JSON null value. By default, fields with empty
6825	// values are omitted from API requests. However, any field with an
6826	// empty value appearing in NullFields will be sent to the server as
6827	// null. It is an error if a field in this list has a non-empty value.
6828	// This may be used to include null fields in Patch requests.
6829	NullFields []string `json:"-"`
6830}
6831
6832func (s *Vertex) MarshalJSON() ([]byte, error) {
6833	type NoMethod Vertex
6834	raw := NoMethod(*s)
6835	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6836}
6837
6838func (s *Vertex) UnmarshalJSON(data []byte) error {
6839	type NoMethod Vertex
6840	var s1 struct {
6841		X gensupport.JSONFloat64 `json:"x"`
6842		Y gensupport.JSONFloat64 `json:"y"`
6843		*NoMethod
6844	}
6845	s1.NoMethod = (*NoMethod)(s)
6846	if err := json.Unmarshal(data, &s1); err != nil {
6847		return err
6848	}
6849	s.X = float64(s1.X)
6850	s.Y = float64(s1.Y)
6851	return nil
6852}
6853
6854// method id "healthcare.projects.locations.get":
6855
6856type ProjectsLocationsGetCall struct {
6857	s            *Service
6858	name         string
6859	urlParams_   gensupport.URLParams
6860	ifNoneMatch_ string
6861	ctx_         context.Context
6862	header_      http.Header
6863}
6864
6865// Get: Gets information about a location.
6866//
6867// - name: Resource name for the location.
6868func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
6869	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6870	c.name = name
6871	return c
6872}
6873
6874// Fields allows partial responses to be retrieved. See
6875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6876// for more information.
6877func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
6878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6879	return c
6880}
6881
6882// IfNoneMatch sets the optional parameter which makes the operation
6883// fail if the object's ETag matches the given value. This is useful for
6884// getting updates only after the object has changed since the last
6885// request. Use googleapi.IsNotModified to check whether the response
6886// error from Do is the result of In-None-Match.
6887func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
6888	c.ifNoneMatch_ = entityTag
6889	return c
6890}
6891
6892// Context sets the context to be used in this call's Do method. Any
6893// pending HTTP request will be aborted if the provided context is
6894// canceled.
6895func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
6896	c.ctx_ = ctx
6897	return c
6898}
6899
6900// Header returns an http.Header that can be modified by the caller to
6901// add HTTP headers to the request.
6902func (c *ProjectsLocationsGetCall) Header() http.Header {
6903	if c.header_ == nil {
6904		c.header_ = make(http.Header)
6905	}
6906	return c.header_
6907}
6908
6909func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
6910	reqHeaders := make(http.Header)
6911	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6912	for k, v := range c.header_ {
6913		reqHeaders[k] = v
6914	}
6915	reqHeaders.Set("User-Agent", c.s.userAgent())
6916	if c.ifNoneMatch_ != "" {
6917		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6918	}
6919	var body io.Reader = nil
6920	c.urlParams_.Set("alt", alt)
6921	c.urlParams_.Set("prettyPrint", "false")
6922	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6923	urls += "?" + c.urlParams_.Encode()
6924	req, err := http.NewRequest("GET", urls, body)
6925	if err != nil {
6926		return nil, err
6927	}
6928	req.Header = reqHeaders
6929	googleapi.Expand(req.URL, map[string]string{
6930		"name": c.name,
6931	})
6932	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6933}
6934
6935// Do executes the "healthcare.projects.locations.get" call.
6936// Exactly one of *Location or error will be non-nil. Any non-2xx status
6937// code is an error. Response headers are in either
6938// *Location.ServerResponse.Header or (if a response was returned at
6939// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6940// to check whether the returned error was because
6941// http.StatusNotModified was returned.
6942func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
6943	gensupport.SetOptions(c.urlParams_, opts...)
6944	res, err := c.doRequest("json")
6945	if res != nil && res.StatusCode == http.StatusNotModified {
6946		if res.Body != nil {
6947			res.Body.Close()
6948		}
6949		return nil, &googleapi.Error{
6950			Code:   res.StatusCode,
6951			Header: res.Header,
6952		}
6953	}
6954	if err != nil {
6955		return nil, err
6956	}
6957	defer googleapi.CloseBody(res)
6958	if err := googleapi.CheckResponse(res); err != nil {
6959		return nil, err
6960	}
6961	ret := &Location{
6962		ServerResponse: googleapi.ServerResponse{
6963			Header:         res.Header,
6964			HTTPStatusCode: res.StatusCode,
6965		},
6966	}
6967	target := &ret
6968	if err := gensupport.DecodeResponse(target, res); err != nil {
6969		return nil, err
6970	}
6971	return ret, nil
6972	// {
6973	//   "description": "Gets information about a location.",
6974	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}",
6975	//   "httpMethod": "GET",
6976	//   "id": "healthcare.projects.locations.get",
6977	//   "parameterOrder": [
6978	//     "name"
6979	//   ],
6980	//   "parameters": {
6981	//     "name": {
6982	//       "description": "Resource name for the location.",
6983	//       "location": "path",
6984	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6985	//       "required": true,
6986	//       "type": "string"
6987	//     }
6988	//   },
6989	//   "path": "v1beta1/{+name}",
6990	//   "response": {
6991	//     "$ref": "Location"
6992	//   },
6993	//   "scopes": [
6994	//     "https://www.googleapis.com/auth/cloud-platform"
6995	//   ]
6996	// }
6997
6998}
6999
7000// method id "healthcare.projects.locations.list":
7001
7002type ProjectsLocationsListCall struct {
7003	s            *Service
7004	name         string
7005	urlParams_   gensupport.URLParams
7006	ifNoneMatch_ string
7007	ctx_         context.Context
7008	header_      http.Header
7009}
7010
7011// List: Lists information about the supported locations for this
7012// service.
7013//
7014// - name: The resource that owns the locations collection, if
7015//   applicable.
7016func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
7017	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7018	c.name = name
7019	return c
7020}
7021
7022// Filter sets the optional parameter "filter": A filter to narrow down
7023// results to a preferred subset. The filtering language accepts strings
7024// like "displayName=tokyo", and is documented in more detail in AIP-160
7025// (https://google.aip.dev/160).
7026func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
7027	c.urlParams_.Set("filter", filter)
7028	return c
7029}
7030
7031// PageSize sets the optional parameter "pageSize": The maximum number
7032// of results to return. If not set, the service selects a default.
7033func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
7034	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7035	return c
7036}
7037
7038// PageToken sets the optional parameter "pageToken": A page token
7039// received from the `next_page_token` field in the response. Send that
7040// page token to receive the subsequent page.
7041func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
7042	c.urlParams_.Set("pageToken", pageToken)
7043	return c
7044}
7045
7046// Fields allows partial responses to be retrieved. See
7047// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7048// for more information.
7049func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
7050	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7051	return c
7052}
7053
7054// IfNoneMatch sets the optional parameter which makes the operation
7055// fail if the object's ETag matches the given value. This is useful for
7056// getting updates only after the object has changed since the last
7057// request. Use googleapi.IsNotModified to check whether the response
7058// error from Do is the result of In-None-Match.
7059func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
7060	c.ifNoneMatch_ = entityTag
7061	return c
7062}
7063
7064// Context sets the context to be used in this call's Do method. Any
7065// pending HTTP request will be aborted if the provided context is
7066// canceled.
7067func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
7068	c.ctx_ = ctx
7069	return c
7070}
7071
7072// Header returns an http.Header that can be modified by the caller to
7073// add HTTP headers to the request.
7074func (c *ProjectsLocationsListCall) Header() http.Header {
7075	if c.header_ == nil {
7076		c.header_ = make(http.Header)
7077	}
7078	return c.header_
7079}
7080
7081func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
7082	reqHeaders := make(http.Header)
7083	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7084	for k, v := range c.header_ {
7085		reqHeaders[k] = v
7086	}
7087	reqHeaders.Set("User-Agent", c.s.userAgent())
7088	if c.ifNoneMatch_ != "" {
7089		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7090	}
7091	var body io.Reader = nil
7092	c.urlParams_.Set("alt", alt)
7093	c.urlParams_.Set("prettyPrint", "false")
7094	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/locations")
7095	urls += "?" + c.urlParams_.Encode()
7096	req, err := http.NewRequest("GET", urls, body)
7097	if err != nil {
7098		return nil, err
7099	}
7100	req.Header = reqHeaders
7101	googleapi.Expand(req.URL, map[string]string{
7102		"name": c.name,
7103	})
7104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7105}
7106
7107// Do executes the "healthcare.projects.locations.list" call.
7108// Exactly one of *ListLocationsResponse or error will be non-nil. Any
7109// non-2xx status code is an error. Response headers are in either
7110// *ListLocationsResponse.ServerResponse.Header or (if a response was
7111// returned at all) in error.(*googleapi.Error).Header. Use
7112// googleapi.IsNotModified to check whether the returned error was
7113// because http.StatusNotModified was returned.
7114func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
7115	gensupport.SetOptions(c.urlParams_, opts...)
7116	res, err := c.doRequest("json")
7117	if res != nil && res.StatusCode == http.StatusNotModified {
7118		if res.Body != nil {
7119			res.Body.Close()
7120		}
7121		return nil, &googleapi.Error{
7122			Code:   res.StatusCode,
7123			Header: res.Header,
7124		}
7125	}
7126	if err != nil {
7127		return nil, err
7128	}
7129	defer googleapi.CloseBody(res)
7130	if err := googleapi.CheckResponse(res); err != nil {
7131		return nil, err
7132	}
7133	ret := &ListLocationsResponse{
7134		ServerResponse: googleapi.ServerResponse{
7135			Header:         res.Header,
7136			HTTPStatusCode: res.StatusCode,
7137		},
7138	}
7139	target := &ret
7140	if err := gensupport.DecodeResponse(target, res); err != nil {
7141		return nil, err
7142	}
7143	return ret, nil
7144	// {
7145	//   "description": "Lists information about the supported locations for this service.",
7146	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
7147	//   "httpMethod": "GET",
7148	//   "id": "healthcare.projects.locations.list",
7149	//   "parameterOrder": [
7150	//     "name"
7151	//   ],
7152	//   "parameters": {
7153	//     "filter": {
7154	//       "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).",
7155	//       "location": "query",
7156	//       "type": "string"
7157	//     },
7158	//     "name": {
7159	//       "description": "The resource that owns the locations collection, if applicable.",
7160	//       "location": "path",
7161	//       "pattern": "^projects/[^/]+$",
7162	//       "required": true,
7163	//       "type": "string"
7164	//     },
7165	//     "pageSize": {
7166	//       "description": "The maximum number of results to return. If not set, the service selects a default.",
7167	//       "format": "int32",
7168	//       "location": "query",
7169	//       "type": "integer"
7170	//     },
7171	//     "pageToken": {
7172	//       "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
7173	//       "location": "query",
7174	//       "type": "string"
7175	//     }
7176	//   },
7177	//   "path": "v1beta1/{+name}/locations",
7178	//   "response": {
7179	//     "$ref": "ListLocationsResponse"
7180	//   },
7181	//   "scopes": [
7182	//     "https://www.googleapis.com/auth/cloud-platform"
7183	//   ]
7184	// }
7185
7186}
7187
7188// Pages invokes f for each page of results.
7189// A non-nil error returned from f will halt the iteration.
7190// The provided context supersedes any context provided to the Context method.
7191func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
7192	c.ctx_ = ctx
7193	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7194	for {
7195		x, err := c.Do()
7196		if err != nil {
7197			return err
7198		}
7199		if err := f(x); err != nil {
7200			return err
7201		}
7202		if x.NextPageToken == "" {
7203			return nil
7204		}
7205		c.PageToken(x.NextPageToken)
7206	}
7207}
7208
7209// method id "healthcare.projects.locations.datasets.create":
7210
7211type ProjectsLocationsDatasetsCreateCall struct {
7212	s          *Service
7213	parent     string
7214	dataset    *Dataset
7215	urlParams_ gensupport.URLParams
7216	ctx_       context.Context
7217	header_    http.Header
7218}
7219
7220// Create: Creates a new health dataset. Results are returned through
7221// the Operation interface which returns either an `Operation.response`
7222// which contains a Dataset or `Operation.error`. The metadata field
7223// type is OperationMetadata.
7224//
7225// - parent: The name of the project where the server creates the
7226//   dataset. For example,
7227//   `projects/{project_id}/locations/{location_id}`.
7228func (r *ProjectsLocationsDatasetsService) Create(parent string, dataset *Dataset) *ProjectsLocationsDatasetsCreateCall {
7229	c := &ProjectsLocationsDatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7230	c.parent = parent
7231	c.dataset = dataset
7232	return c
7233}
7234
7235// DatasetId sets the optional parameter "datasetId": The ID of the
7236// dataset that is being created. The string must match the following
7237// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
7238func (c *ProjectsLocationsDatasetsCreateCall) DatasetId(datasetId string) *ProjectsLocationsDatasetsCreateCall {
7239	c.urlParams_.Set("datasetId", datasetId)
7240	return c
7241}
7242
7243// Fields allows partial responses to be retrieved. See
7244// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7245// for more information.
7246func (c *ProjectsLocationsDatasetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsCreateCall {
7247	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7248	return c
7249}
7250
7251// Context sets the context to be used in this call's Do method. Any
7252// pending HTTP request will be aborted if the provided context is
7253// canceled.
7254func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
7255	c.ctx_ = ctx
7256	return c
7257}
7258
7259// Header returns an http.Header that can be modified by the caller to
7260// add HTTP headers to the request.
7261func (c *ProjectsLocationsDatasetsCreateCall) Header() http.Header {
7262	if c.header_ == nil {
7263		c.header_ = make(http.Header)
7264	}
7265	return c.header_
7266}
7267
7268func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
7269	reqHeaders := make(http.Header)
7270	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7271	for k, v := range c.header_ {
7272		reqHeaders[k] = v
7273	}
7274	reqHeaders.Set("User-Agent", c.s.userAgent())
7275	var body io.Reader = nil
7276	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
7277	if err != nil {
7278		return nil, err
7279	}
7280	reqHeaders.Set("Content-Type", "application/json")
7281	c.urlParams_.Set("alt", alt)
7282	c.urlParams_.Set("prettyPrint", "false")
7283	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
7284	urls += "?" + c.urlParams_.Encode()
7285	req, err := http.NewRequest("POST", urls, body)
7286	if err != nil {
7287		return nil, err
7288	}
7289	req.Header = reqHeaders
7290	googleapi.Expand(req.URL, map[string]string{
7291		"parent": c.parent,
7292	})
7293	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7294}
7295
7296// Do executes the "healthcare.projects.locations.datasets.create" call.
7297// Exactly one of *Operation or error will be non-nil. Any non-2xx
7298// status code is an error. Response headers are in either
7299// *Operation.ServerResponse.Header or (if a response was returned at
7300// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7301// to check whether the returned error was because
7302// http.StatusNotModified was returned.
7303func (c *ProjectsLocationsDatasetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7304	gensupport.SetOptions(c.urlParams_, opts...)
7305	res, err := c.doRequest("json")
7306	if res != nil && res.StatusCode == http.StatusNotModified {
7307		if res.Body != nil {
7308			res.Body.Close()
7309		}
7310		return nil, &googleapi.Error{
7311			Code:   res.StatusCode,
7312			Header: res.Header,
7313		}
7314	}
7315	if err != nil {
7316		return nil, err
7317	}
7318	defer googleapi.CloseBody(res)
7319	if err := googleapi.CheckResponse(res); err != nil {
7320		return nil, err
7321	}
7322	ret := &Operation{
7323		ServerResponse: googleapi.ServerResponse{
7324			Header:         res.Header,
7325			HTTPStatusCode: res.StatusCode,
7326		},
7327	}
7328	target := &ret
7329	if err := gensupport.DecodeResponse(target, res); err != nil {
7330		return nil, err
7331	}
7332	return ret, nil
7333	// {
7334	//   "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.",
7335	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
7336	//   "httpMethod": "POST",
7337	//   "id": "healthcare.projects.locations.datasets.create",
7338	//   "parameterOrder": [
7339	//     "parent"
7340	//   ],
7341	//   "parameters": {
7342	//     "datasetId": {
7343	//       "description": "The ID of the dataset that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
7344	//       "location": "query",
7345	//       "type": "string"
7346	//     },
7347	//     "parent": {
7348	//       "description": "The name of the project where the server creates the dataset. For example, `projects/{project_id}/locations/{location_id}`.",
7349	//       "location": "path",
7350	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7351	//       "required": true,
7352	//       "type": "string"
7353	//     }
7354	//   },
7355	//   "path": "v1beta1/{+parent}/datasets",
7356	//   "request": {
7357	//     "$ref": "Dataset"
7358	//   },
7359	//   "response": {
7360	//     "$ref": "Operation"
7361	//   },
7362	//   "scopes": [
7363	//     "https://www.googleapis.com/auth/cloud-platform"
7364	//   ]
7365	// }
7366
7367}
7368
7369// method id "healthcare.projects.locations.datasets.deidentify":
7370
7371type ProjectsLocationsDatasetsDeidentifyCall struct {
7372	s                        *Service
7373	sourceDataset            string
7374	deidentifydatasetrequest *DeidentifyDatasetRequest
7375	urlParams_               gensupport.URLParams
7376	ctx_                     context.Context
7377	header_                  http.Header
7378}
7379
7380// Deidentify: Creates a new dataset containing de-identified data from
7381// the source dataset. The metadata field type is OperationMetadata. If
7382// the request is successful, the response field type is
7383// DeidentifySummary. The LRO result may still be successful if
7384// de-identification fails for some resources. The new de-identified
7385// dataset will not contain these failed resources. The number of
7386// resources processed are tracked in Operation.metadata. Error details
7387// are logged to Cloud Logging. For more information, see Viewing error
7388// logs in Cloud Logging
7389// (https://cloud.google.com/healthcare/docs/how-tos/logging).
7390//
7391// - sourceDataset: Source dataset resource name. For example,
7392//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7393//   `.
7394func (r *ProjectsLocationsDatasetsService) Deidentify(sourceDataset string, deidentifydatasetrequest *DeidentifyDatasetRequest) *ProjectsLocationsDatasetsDeidentifyCall {
7395	c := &ProjectsLocationsDatasetsDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7396	c.sourceDataset = sourceDataset
7397	c.deidentifydatasetrequest = deidentifydatasetrequest
7398	return c
7399}
7400
7401// Fields allows partial responses to be retrieved. See
7402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7403// for more information.
7404func (c *ProjectsLocationsDatasetsDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeidentifyCall {
7405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7406	return c
7407}
7408
7409// Context sets the context to be used in this call's Do method. Any
7410// pending HTTP request will be aborted if the provided context is
7411// canceled.
7412func (c *ProjectsLocationsDatasetsDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeidentifyCall {
7413	c.ctx_ = ctx
7414	return c
7415}
7416
7417// Header returns an http.Header that can be modified by the caller to
7418// add HTTP headers to the request.
7419func (c *ProjectsLocationsDatasetsDeidentifyCall) Header() http.Header {
7420	if c.header_ == nil {
7421		c.header_ = make(http.Header)
7422	}
7423	return c.header_
7424}
7425
7426func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
7427	reqHeaders := make(http.Header)
7428	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7429	for k, v := range c.header_ {
7430		reqHeaders[k] = v
7431	}
7432	reqHeaders.Set("User-Agent", c.s.userAgent())
7433	var body io.Reader = nil
7434	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydatasetrequest)
7435	if err != nil {
7436		return nil, err
7437	}
7438	reqHeaders.Set("Content-Type", "application/json")
7439	c.urlParams_.Set("alt", alt)
7440	c.urlParams_.Set("prettyPrint", "false")
7441	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceDataset}:deidentify")
7442	urls += "?" + c.urlParams_.Encode()
7443	req, err := http.NewRequest("POST", urls, body)
7444	if err != nil {
7445		return nil, err
7446	}
7447	req.Header = reqHeaders
7448	googleapi.Expand(req.URL, map[string]string{
7449		"sourceDataset": c.sourceDataset,
7450	})
7451	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7452}
7453
7454// Do executes the "healthcare.projects.locations.datasets.deidentify" call.
7455// Exactly one of *Operation or error will be non-nil. Any non-2xx
7456// status code is an error. Response headers are in either
7457// *Operation.ServerResponse.Header or (if a response was returned at
7458// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7459// to check whether the returned error was because
7460// http.StatusNotModified was returned.
7461func (c *ProjectsLocationsDatasetsDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7462	gensupport.SetOptions(c.urlParams_, opts...)
7463	res, err := c.doRequest("json")
7464	if res != nil && res.StatusCode == http.StatusNotModified {
7465		if res.Body != nil {
7466			res.Body.Close()
7467		}
7468		return nil, &googleapi.Error{
7469			Code:   res.StatusCode,
7470			Header: res.Header,
7471		}
7472	}
7473	if err != nil {
7474		return nil, err
7475	}
7476	defer googleapi.CloseBody(res)
7477	if err := googleapi.CheckResponse(res); err != nil {
7478		return nil, err
7479	}
7480	ret := &Operation{
7481		ServerResponse: googleapi.ServerResponse{
7482			Header:         res.Header,
7483			HTTPStatusCode: res.StatusCode,
7484		},
7485	}
7486	target := &ret
7487	if err := gensupport.DecodeResponse(target, res); err != nil {
7488		return nil, err
7489	}
7490	return ret, nil
7491	// {
7492	//   "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).",
7493	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify",
7494	//   "httpMethod": "POST",
7495	//   "id": "healthcare.projects.locations.datasets.deidentify",
7496	//   "parameterOrder": [
7497	//     "sourceDataset"
7498	//   ],
7499	//   "parameters": {
7500	//     "sourceDataset": {
7501	//       "description": "Source dataset resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7502	//       "location": "path",
7503	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7504	//       "required": true,
7505	//       "type": "string"
7506	//     }
7507	//   },
7508	//   "path": "v1beta1/{+sourceDataset}:deidentify",
7509	//   "request": {
7510	//     "$ref": "DeidentifyDatasetRequest"
7511	//   },
7512	//   "response": {
7513	//     "$ref": "Operation"
7514	//   },
7515	//   "scopes": [
7516	//     "https://www.googleapis.com/auth/cloud-platform"
7517	//   ]
7518	// }
7519
7520}
7521
7522// method id "healthcare.projects.locations.datasets.delete":
7523
7524type ProjectsLocationsDatasetsDeleteCall struct {
7525	s          *Service
7526	name       string
7527	urlParams_ gensupport.URLParams
7528	ctx_       context.Context
7529	header_    http.Header
7530}
7531
7532// Delete: Deletes the specified health dataset and all data contained
7533// in the dataset. Deleting a dataset does not affect the sources from
7534// which the dataset was imported (if any).
7535//
7536// - name: The name of the dataset to delete. For example,
7537//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7538//   `.
7539func (r *ProjectsLocationsDatasetsService) Delete(name string) *ProjectsLocationsDatasetsDeleteCall {
7540	c := &ProjectsLocationsDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7541	c.name = name
7542	return c
7543}
7544
7545// Fields allows partial responses to be retrieved. See
7546// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7547// for more information.
7548func (c *ProjectsLocationsDatasetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeleteCall {
7549	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7550	return c
7551}
7552
7553// Context sets the context to be used in this call's Do method. Any
7554// pending HTTP request will be aborted if the provided context is
7555// canceled.
7556func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
7557	c.ctx_ = ctx
7558	return c
7559}
7560
7561// Header returns an http.Header that can be modified by the caller to
7562// add HTTP headers to the request.
7563func (c *ProjectsLocationsDatasetsDeleteCall) Header() http.Header {
7564	if c.header_ == nil {
7565		c.header_ = make(http.Header)
7566	}
7567	return c.header_
7568}
7569
7570func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
7571	reqHeaders := make(http.Header)
7572	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7573	for k, v := range c.header_ {
7574		reqHeaders[k] = v
7575	}
7576	reqHeaders.Set("User-Agent", c.s.userAgent())
7577	var body io.Reader = nil
7578	c.urlParams_.Set("alt", alt)
7579	c.urlParams_.Set("prettyPrint", "false")
7580	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7581	urls += "?" + c.urlParams_.Encode()
7582	req, err := http.NewRequest("DELETE", urls, body)
7583	if err != nil {
7584		return nil, err
7585	}
7586	req.Header = reqHeaders
7587	googleapi.Expand(req.URL, map[string]string{
7588		"name": c.name,
7589	})
7590	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7591}
7592
7593// Do executes the "healthcare.projects.locations.datasets.delete" call.
7594// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7595// code is an error. Response headers are in either
7596// *Empty.ServerResponse.Header or (if a response was returned at all)
7597// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7598// check whether the returned error was because http.StatusNotModified
7599// was returned.
7600func (c *ProjectsLocationsDatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7601	gensupport.SetOptions(c.urlParams_, opts...)
7602	res, err := c.doRequest("json")
7603	if res != nil && res.StatusCode == http.StatusNotModified {
7604		if res.Body != nil {
7605			res.Body.Close()
7606		}
7607		return nil, &googleapi.Error{
7608			Code:   res.StatusCode,
7609			Header: res.Header,
7610		}
7611	}
7612	if err != nil {
7613		return nil, err
7614	}
7615	defer googleapi.CloseBody(res)
7616	if err := googleapi.CheckResponse(res); err != nil {
7617		return nil, err
7618	}
7619	ret := &Empty{
7620		ServerResponse: googleapi.ServerResponse{
7621			Header:         res.Header,
7622			HTTPStatusCode: res.StatusCode,
7623		},
7624	}
7625	target := &ret
7626	if err := gensupport.DecodeResponse(target, res); err != nil {
7627		return nil, err
7628	}
7629	return ret, nil
7630	// {
7631	//   "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).",
7632	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7633	//   "httpMethod": "DELETE",
7634	//   "id": "healthcare.projects.locations.datasets.delete",
7635	//   "parameterOrder": [
7636	//     "name"
7637	//   ],
7638	//   "parameters": {
7639	//     "name": {
7640	//       "description": "The name of the dataset to delete. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7641	//       "location": "path",
7642	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7643	//       "required": true,
7644	//       "type": "string"
7645	//     }
7646	//   },
7647	//   "path": "v1beta1/{+name}",
7648	//   "response": {
7649	//     "$ref": "Empty"
7650	//   },
7651	//   "scopes": [
7652	//     "https://www.googleapis.com/auth/cloud-platform"
7653	//   ]
7654	// }
7655
7656}
7657
7658// method id "healthcare.projects.locations.datasets.get":
7659
7660type ProjectsLocationsDatasetsGetCall struct {
7661	s            *Service
7662	name         string
7663	urlParams_   gensupport.URLParams
7664	ifNoneMatch_ string
7665	ctx_         context.Context
7666	header_      http.Header
7667}
7668
7669// Get: Gets any metadata associated with a dataset.
7670//
7671// - name: The name of the dataset to read. For example,
7672//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
7673//   `.
7674func (r *ProjectsLocationsDatasetsService) Get(name string) *ProjectsLocationsDatasetsGetCall {
7675	c := &ProjectsLocationsDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7676	c.name = name
7677	return c
7678}
7679
7680// Fields allows partial responses to be retrieved. See
7681// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7682// for more information.
7683func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
7684	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7685	return c
7686}
7687
7688// IfNoneMatch sets the optional parameter which makes the operation
7689// fail if the object's ETag matches the given value. This is useful for
7690// getting updates only after the object has changed since the last
7691// request. Use googleapi.IsNotModified to check whether the response
7692// error from Do is the result of In-None-Match.
7693func (c *ProjectsLocationsDatasetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetCall {
7694	c.ifNoneMatch_ = entityTag
7695	return c
7696}
7697
7698// Context sets the context to be used in this call's Do method. Any
7699// pending HTTP request will be aborted if the provided context is
7700// canceled.
7701func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
7702	c.ctx_ = ctx
7703	return c
7704}
7705
7706// Header returns an http.Header that can be modified by the caller to
7707// add HTTP headers to the request.
7708func (c *ProjectsLocationsDatasetsGetCall) Header() http.Header {
7709	if c.header_ == nil {
7710		c.header_ = make(http.Header)
7711	}
7712	return c.header_
7713}
7714
7715func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
7716	reqHeaders := make(http.Header)
7717	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7718	for k, v := range c.header_ {
7719		reqHeaders[k] = v
7720	}
7721	reqHeaders.Set("User-Agent", c.s.userAgent())
7722	if c.ifNoneMatch_ != "" {
7723		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7724	}
7725	var body io.Reader = nil
7726	c.urlParams_.Set("alt", alt)
7727	c.urlParams_.Set("prettyPrint", "false")
7728	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7729	urls += "?" + c.urlParams_.Encode()
7730	req, err := http.NewRequest("GET", urls, body)
7731	if err != nil {
7732		return nil, err
7733	}
7734	req.Header = reqHeaders
7735	googleapi.Expand(req.URL, map[string]string{
7736		"name": c.name,
7737	})
7738	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7739}
7740
7741// Do executes the "healthcare.projects.locations.datasets.get" call.
7742// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
7743// code is an error. Response headers are in either
7744// *Dataset.ServerResponse.Header or (if a response was returned at all)
7745// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7746// check whether the returned error was because http.StatusNotModified
7747// was returned.
7748func (c *ProjectsLocationsDatasetsGetCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
7749	gensupport.SetOptions(c.urlParams_, opts...)
7750	res, err := c.doRequest("json")
7751	if res != nil && res.StatusCode == http.StatusNotModified {
7752		if res.Body != nil {
7753			res.Body.Close()
7754		}
7755		return nil, &googleapi.Error{
7756			Code:   res.StatusCode,
7757			Header: res.Header,
7758		}
7759	}
7760	if err != nil {
7761		return nil, err
7762	}
7763	defer googleapi.CloseBody(res)
7764	if err := googleapi.CheckResponse(res); err != nil {
7765		return nil, err
7766	}
7767	ret := &Dataset{
7768		ServerResponse: googleapi.ServerResponse{
7769			Header:         res.Header,
7770			HTTPStatusCode: res.StatusCode,
7771		},
7772	}
7773	target := &ret
7774	if err := gensupport.DecodeResponse(target, res); err != nil {
7775		return nil, err
7776	}
7777	return ret, nil
7778	// {
7779	//   "description": "Gets any metadata associated with a dataset.",
7780	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
7781	//   "httpMethod": "GET",
7782	//   "id": "healthcare.projects.locations.datasets.get",
7783	//   "parameterOrder": [
7784	//     "name"
7785	//   ],
7786	//   "parameters": {
7787	//     "name": {
7788	//       "description": "The name of the dataset to read. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
7789	//       "location": "path",
7790	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7791	//       "required": true,
7792	//       "type": "string"
7793	//     }
7794	//   },
7795	//   "path": "v1beta1/{+name}",
7796	//   "response": {
7797	//     "$ref": "Dataset"
7798	//   },
7799	//   "scopes": [
7800	//     "https://www.googleapis.com/auth/cloud-platform"
7801	//   ]
7802	// }
7803
7804}
7805
7806// method id "healthcare.projects.locations.datasets.getIamPolicy":
7807
7808type ProjectsLocationsDatasetsGetIamPolicyCall struct {
7809	s            *Service
7810	resource     string
7811	urlParams_   gensupport.URLParams
7812	ifNoneMatch_ string
7813	ctx_         context.Context
7814	header_      http.Header
7815}
7816
7817// GetIamPolicy: Gets the access control policy for a resource. Returns
7818// an empty policy if the resource exists and does not have a policy
7819// set.
7820//
7821// - resource: REQUIRED: The resource for which the policy is being
7822//   requested. See the operation documentation for the appropriate
7823//   value for this field.
7824func (r *ProjectsLocationsDatasetsService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7825	c := &ProjectsLocationsDatasetsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7826	c.resource = resource
7827	return c
7828}
7829
7830// OptionsRequestedPolicyVersion sets the optional parameter
7831// "options.requestedPolicyVersion": The policy format version to be
7832// returned. Valid values are 0, 1, and 3. Requests specifying an
7833// invalid value will be rejected. Requests for policies with any
7834// conditional bindings must specify version 3. Policies without any
7835// conditional bindings may specify any valid value or leave the field
7836// unset. To learn which resources support conditions in their IAM
7837// policies, see the IAM documentation
7838// (https://cloud.google.com/iam/help/conditions/resource-policies).
7839func (c *ProjectsLocationsDatasetsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsGetIamPolicyCall {
7840	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
7841	return c
7842}
7843
7844// Fields allows partial responses to be retrieved. See
7845// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7846// for more information.
7847func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetIamPolicyCall {
7848	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7849	return c
7850}
7851
7852// IfNoneMatch sets the optional parameter which makes the operation
7853// fail if the object's ETag matches the given value. This is useful for
7854// getting updates only after the object has changed since the last
7855// request. Use googleapi.IsNotModified to check whether the response
7856// error from Do is the result of In-None-Match.
7857func (c *ProjectsLocationsDatasetsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetIamPolicyCall {
7858	c.ifNoneMatch_ = entityTag
7859	return c
7860}
7861
7862// Context sets the context to be used in this call's Do method. Any
7863// pending HTTP request will be aborted if the provided context is
7864// canceled.
7865func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetIamPolicyCall {
7866	c.ctx_ = ctx
7867	return c
7868}
7869
7870// Header returns an http.Header that can be modified by the caller to
7871// add HTTP headers to the request.
7872func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Header() http.Header {
7873	if c.header_ == nil {
7874		c.header_ = make(http.Header)
7875	}
7876	return c.header_
7877}
7878
7879func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7880	reqHeaders := make(http.Header)
7881	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7882	for k, v := range c.header_ {
7883		reqHeaders[k] = v
7884	}
7885	reqHeaders.Set("User-Agent", c.s.userAgent())
7886	if c.ifNoneMatch_ != "" {
7887		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7888	}
7889	var body io.Reader = nil
7890	c.urlParams_.Set("alt", alt)
7891	c.urlParams_.Set("prettyPrint", "false")
7892	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7893	urls += "?" + c.urlParams_.Encode()
7894	req, err := http.NewRequest("GET", urls, body)
7895	if err != nil {
7896		return nil, err
7897	}
7898	req.Header = reqHeaders
7899	googleapi.Expand(req.URL, map[string]string{
7900		"resource": c.resource,
7901	})
7902	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7903}
7904
7905// Do executes the "healthcare.projects.locations.datasets.getIamPolicy" call.
7906// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7907// code is an error. Response headers are in either
7908// *Policy.ServerResponse.Header or (if a response was returned at all)
7909// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7910// check whether the returned error was because http.StatusNotModified
7911// was returned.
7912func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7913	gensupport.SetOptions(c.urlParams_, opts...)
7914	res, err := c.doRequest("json")
7915	if res != nil && res.StatusCode == http.StatusNotModified {
7916		if res.Body != nil {
7917			res.Body.Close()
7918		}
7919		return nil, &googleapi.Error{
7920			Code:   res.StatusCode,
7921			Header: res.Header,
7922		}
7923	}
7924	if err != nil {
7925		return nil, err
7926	}
7927	defer googleapi.CloseBody(res)
7928	if err := googleapi.CheckResponse(res); err != nil {
7929		return nil, err
7930	}
7931	ret := &Policy{
7932		ServerResponse: googleapi.ServerResponse{
7933			Header:         res.Header,
7934			HTTPStatusCode: res.StatusCode,
7935		},
7936	}
7937	target := &ret
7938	if err := gensupport.DecodeResponse(target, res); err != nil {
7939		return nil, err
7940	}
7941	return ret, nil
7942	// {
7943	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
7944	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy",
7945	//   "httpMethod": "GET",
7946	//   "id": "healthcare.projects.locations.datasets.getIamPolicy",
7947	//   "parameterOrder": [
7948	//     "resource"
7949	//   ],
7950	//   "parameters": {
7951	//     "options.requestedPolicyVersion": {
7952	//       "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).",
7953	//       "format": "int32",
7954	//       "location": "query",
7955	//       "type": "integer"
7956	//     },
7957	//     "resource": {
7958	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7959	//       "location": "path",
7960	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
7961	//       "required": true,
7962	//       "type": "string"
7963	//     }
7964	//   },
7965	//   "path": "v1beta1/{+resource}:getIamPolicy",
7966	//   "response": {
7967	//     "$ref": "Policy"
7968	//   },
7969	//   "scopes": [
7970	//     "https://www.googleapis.com/auth/cloud-platform"
7971	//   ]
7972	// }
7973
7974}
7975
7976// method id "healthcare.projects.locations.datasets.list":
7977
7978type ProjectsLocationsDatasetsListCall struct {
7979	s            *Service
7980	parent       string
7981	urlParams_   gensupport.URLParams
7982	ifNoneMatch_ string
7983	ctx_         context.Context
7984	header_      http.Header
7985}
7986
7987// List: Lists the health datasets in the current project.
7988//
7989// - parent: The name of the project whose datasets should be listed.
7990//   For example, `projects/{project_id}/locations/{location_id}`.
7991func (r *ProjectsLocationsDatasetsService) List(parent string) *ProjectsLocationsDatasetsListCall {
7992	c := &ProjectsLocationsDatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7993	c.parent = parent
7994	return c
7995}
7996
7997// PageSize sets the optional parameter "pageSize": The maximum number
7998// of items to return. If not specified, 100 is used. May not be larger
7999// than 1000.
8000func (c *ProjectsLocationsDatasetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsListCall {
8001	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
8002	return c
8003}
8004
8005// PageToken sets the optional parameter "pageToken": The
8006// next_page_token value returned from a previous List request, if any.
8007func (c *ProjectsLocationsDatasetsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsListCall {
8008	c.urlParams_.Set("pageToken", pageToken)
8009	return c
8010}
8011
8012// Fields allows partial responses to be retrieved. See
8013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8014// for more information.
8015func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
8016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8017	return c
8018}
8019
8020// IfNoneMatch sets the optional parameter which makes the operation
8021// fail if the object's ETag matches the given value. This is useful for
8022// getting updates only after the object has changed since the last
8023// request. Use googleapi.IsNotModified to check whether the response
8024// error from Do is the result of In-None-Match.
8025func (c *ProjectsLocationsDatasetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsListCall {
8026	c.ifNoneMatch_ = entityTag
8027	return c
8028}
8029
8030// Context sets the context to be used in this call's Do method. Any
8031// pending HTTP request will be aborted if the provided context is
8032// canceled.
8033func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
8034	c.ctx_ = ctx
8035	return c
8036}
8037
8038// Header returns an http.Header that can be modified by the caller to
8039// add HTTP headers to the request.
8040func (c *ProjectsLocationsDatasetsListCall) Header() http.Header {
8041	if c.header_ == nil {
8042		c.header_ = make(http.Header)
8043	}
8044	return c.header_
8045}
8046
8047func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
8048	reqHeaders := make(http.Header)
8049	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8050	for k, v := range c.header_ {
8051		reqHeaders[k] = v
8052	}
8053	reqHeaders.Set("User-Agent", c.s.userAgent())
8054	if c.ifNoneMatch_ != "" {
8055		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8056	}
8057	var body io.Reader = nil
8058	c.urlParams_.Set("alt", alt)
8059	c.urlParams_.Set("prettyPrint", "false")
8060	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/datasets")
8061	urls += "?" + c.urlParams_.Encode()
8062	req, err := http.NewRequest("GET", urls, body)
8063	if err != nil {
8064		return nil, err
8065	}
8066	req.Header = reqHeaders
8067	googleapi.Expand(req.URL, map[string]string{
8068		"parent": c.parent,
8069	})
8070	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8071}
8072
8073// Do executes the "healthcare.projects.locations.datasets.list" call.
8074// Exactly one of *ListDatasetsResponse or error will be non-nil. Any
8075// non-2xx status code is an error. Response headers are in either
8076// *ListDatasetsResponse.ServerResponse.Header or (if a response was
8077// returned at all) in error.(*googleapi.Error).Header. Use
8078// googleapi.IsNotModified to check whether the returned error was
8079// because http.StatusNotModified was returned.
8080func (c *ProjectsLocationsDatasetsListCall) Do(opts ...googleapi.CallOption) (*ListDatasetsResponse, error) {
8081	gensupport.SetOptions(c.urlParams_, opts...)
8082	res, err := c.doRequest("json")
8083	if res != nil && res.StatusCode == http.StatusNotModified {
8084		if res.Body != nil {
8085			res.Body.Close()
8086		}
8087		return nil, &googleapi.Error{
8088			Code:   res.StatusCode,
8089			Header: res.Header,
8090		}
8091	}
8092	if err != nil {
8093		return nil, err
8094	}
8095	defer googleapi.CloseBody(res)
8096	if err := googleapi.CheckResponse(res); err != nil {
8097		return nil, err
8098	}
8099	ret := &ListDatasetsResponse{
8100		ServerResponse: googleapi.ServerResponse{
8101			Header:         res.Header,
8102			HTTPStatusCode: res.StatusCode,
8103		},
8104	}
8105	target := &ret
8106	if err := gensupport.DecodeResponse(target, res); err != nil {
8107		return nil, err
8108	}
8109	return ret, nil
8110	// {
8111	//   "description": "Lists the health datasets in the current project.",
8112	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets",
8113	//   "httpMethod": "GET",
8114	//   "id": "healthcare.projects.locations.datasets.list",
8115	//   "parameterOrder": [
8116	//     "parent"
8117	//   ],
8118	//   "parameters": {
8119	//     "pageSize": {
8120	//       "description": "The maximum number of items to return. If not specified, 100 is used. May not be larger than 1000.",
8121	//       "format": "int32",
8122	//       "location": "query",
8123	//       "type": "integer"
8124	//     },
8125	//     "pageToken": {
8126	//       "description": "The next_page_token value returned from a previous List request, if any.",
8127	//       "location": "query",
8128	//       "type": "string"
8129	//     },
8130	//     "parent": {
8131	//       "description": "The name of the project whose datasets should be listed. For example, `projects/{project_id}/locations/{location_id}`.",
8132	//       "location": "path",
8133	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8134	//       "required": true,
8135	//       "type": "string"
8136	//     }
8137	//   },
8138	//   "path": "v1beta1/{+parent}/datasets",
8139	//   "response": {
8140	//     "$ref": "ListDatasetsResponse"
8141	//   },
8142	//   "scopes": [
8143	//     "https://www.googleapis.com/auth/cloud-platform"
8144	//   ]
8145	// }
8146
8147}
8148
8149// Pages invokes f for each page of results.
8150// A non-nil error returned from f will halt the iteration.
8151// The provided context supersedes any context provided to the Context method.
8152func (c *ProjectsLocationsDatasetsListCall) Pages(ctx context.Context, f func(*ListDatasetsResponse) error) error {
8153	c.ctx_ = ctx
8154	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8155	for {
8156		x, err := c.Do()
8157		if err != nil {
8158			return err
8159		}
8160		if err := f(x); err != nil {
8161			return err
8162		}
8163		if x.NextPageToken == "" {
8164			return nil
8165		}
8166		c.PageToken(x.NextPageToken)
8167	}
8168}
8169
8170// method id "healthcare.projects.locations.datasets.patch":
8171
8172type ProjectsLocationsDatasetsPatchCall struct {
8173	s          *Service
8174	name       string
8175	dataset    *Dataset
8176	urlParams_ gensupport.URLParams
8177	ctx_       context.Context
8178	header_    http.Header
8179}
8180
8181// Patch: Updates dataset metadata.
8182//
8183// - name: Resource name of the dataset, of the form
8184//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8185//   `.
8186func (r *ProjectsLocationsDatasetsService) Patch(name string, dataset *Dataset) *ProjectsLocationsDatasetsPatchCall {
8187	c := &ProjectsLocationsDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8188	c.name = name
8189	c.dataset = dataset
8190	return c
8191}
8192
8193// UpdateMask sets the optional parameter "updateMask": The update mask
8194// applies to the resource. For the `FieldMask` definition, see
8195// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
8196func (c *ProjectsLocationsDatasetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsPatchCall {
8197	c.urlParams_.Set("updateMask", updateMask)
8198	return c
8199}
8200
8201// Fields allows partial responses to be retrieved. See
8202// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8203// for more information.
8204func (c *ProjectsLocationsDatasetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsPatchCall {
8205	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8206	return c
8207}
8208
8209// Context sets the context to be used in this call's Do method. Any
8210// pending HTTP request will be aborted if the provided context is
8211// canceled.
8212func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
8213	c.ctx_ = ctx
8214	return c
8215}
8216
8217// Header returns an http.Header that can be modified by the caller to
8218// add HTTP headers to the request.
8219func (c *ProjectsLocationsDatasetsPatchCall) Header() http.Header {
8220	if c.header_ == nil {
8221		c.header_ = make(http.Header)
8222	}
8223	return c.header_
8224}
8225
8226func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
8227	reqHeaders := make(http.Header)
8228	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8229	for k, v := range c.header_ {
8230		reqHeaders[k] = v
8231	}
8232	reqHeaders.Set("User-Agent", c.s.userAgent())
8233	var body io.Reader = nil
8234	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dataset)
8235	if err != nil {
8236		return nil, err
8237	}
8238	reqHeaders.Set("Content-Type", "application/json")
8239	c.urlParams_.Set("alt", alt)
8240	c.urlParams_.Set("prettyPrint", "false")
8241	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8242	urls += "?" + c.urlParams_.Encode()
8243	req, err := http.NewRequest("PATCH", urls, body)
8244	if err != nil {
8245		return nil, err
8246	}
8247	req.Header = reqHeaders
8248	googleapi.Expand(req.URL, map[string]string{
8249		"name": c.name,
8250	})
8251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8252}
8253
8254// Do executes the "healthcare.projects.locations.datasets.patch" call.
8255// Exactly one of *Dataset or error will be non-nil. Any non-2xx status
8256// code is an error. Response headers are in either
8257// *Dataset.ServerResponse.Header or (if a response was returned at all)
8258// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8259// check whether the returned error was because http.StatusNotModified
8260// was returned.
8261func (c *ProjectsLocationsDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*Dataset, error) {
8262	gensupport.SetOptions(c.urlParams_, opts...)
8263	res, err := c.doRequest("json")
8264	if res != nil && res.StatusCode == http.StatusNotModified {
8265		if res.Body != nil {
8266			res.Body.Close()
8267		}
8268		return nil, &googleapi.Error{
8269			Code:   res.StatusCode,
8270			Header: res.Header,
8271		}
8272	}
8273	if err != nil {
8274		return nil, err
8275	}
8276	defer googleapi.CloseBody(res)
8277	if err := googleapi.CheckResponse(res); err != nil {
8278		return nil, err
8279	}
8280	ret := &Dataset{
8281		ServerResponse: googleapi.ServerResponse{
8282			Header:         res.Header,
8283			HTTPStatusCode: res.StatusCode,
8284		},
8285	}
8286	target := &ret
8287	if err := gensupport.DecodeResponse(target, res); err != nil {
8288		return nil, err
8289	}
8290	return ret, nil
8291	// {
8292	//   "description": "Updates dataset metadata.",
8293	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
8294	//   "httpMethod": "PATCH",
8295	//   "id": "healthcare.projects.locations.datasets.patch",
8296	//   "parameterOrder": [
8297	//     "name"
8298	//   ],
8299	//   "parameters": {
8300	//     "name": {
8301	//       "description": "Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
8302	//       "location": "path",
8303	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8304	//       "required": true,
8305	//       "type": "string"
8306	//     },
8307	//     "updateMask": {
8308	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
8309	//       "format": "google-fieldmask",
8310	//       "location": "query",
8311	//       "type": "string"
8312	//     }
8313	//   },
8314	//   "path": "v1beta1/{+name}",
8315	//   "request": {
8316	//     "$ref": "Dataset"
8317	//   },
8318	//   "response": {
8319	//     "$ref": "Dataset"
8320	//   },
8321	//   "scopes": [
8322	//     "https://www.googleapis.com/auth/cloud-platform"
8323	//   ]
8324	// }
8325
8326}
8327
8328// method id "healthcare.projects.locations.datasets.setIamPolicy":
8329
8330type ProjectsLocationsDatasetsSetIamPolicyCall struct {
8331	s                   *Service
8332	resource            string
8333	setiampolicyrequest *SetIamPolicyRequest
8334	urlParams_          gensupport.URLParams
8335	ctx_                context.Context
8336	header_             http.Header
8337}
8338
8339// SetIamPolicy: Sets the access control policy on the specified
8340// resource. Replaces any existing policy. Can return `NOT_FOUND`,
8341// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
8342//
8343// - resource: REQUIRED: The resource for which the policy is being
8344//   specified. See the operation documentation for the appropriate
8345//   value for this field.
8346func (r *ProjectsLocationsDatasetsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsSetIamPolicyCall {
8347	c := &ProjectsLocationsDatasetsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8348	c.resource = resource
8349	c.setiampolicyrequest = setiampolicyrequest
8350	return c
8351}
8352
8353// Fields allows partial responses to be retrieved. See
8354// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8355// for more information.
8356func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSetIamPolicyCall {
8357	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8358	return c
8359}
8360
8361// Context sets the context to be used in this call's Do method. Any
8362// pending HTTP request will be aborted if the provided context is
8363// canceled.
8364func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSetIamPolicyCall {
8365	c.ctx_ = ctx
8366	return c
8367}
8368
8369// Header returns an http.Header that can be modified by the caller to
8370// add HTTP headers to the request.
8371func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Header() http.Header {
8372	if c.header_ == nil {
8373		c.header_ = make(http.Header)
8374	}
8375	return c.header_
8376}
8377
8378func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
8379	reqHeaders := make(http.Header)
8380	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8381	for k, v := range c.header_ {
8382		reqHeaders[k] = v
8383	}
8384	reqHeaders.Set("User-Agent", c.s.userAgent())
8385	var body io.Reader = nil
8386	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
8387	if err != nil {
8388		return nil, err
8389	}
8390	reqHeaders.Set("Content-Type", "application/json")
8391	c.urlParams_.Set("alt", alt)
8392	c.urlParams_.Set("prettyPrint", "false")
8393	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
8394	urls += "?" + c.urlParams_.Encode()
8395	req, err := http.NewRequest("POST", urls, body)
8396	if err != nil {
8397		return nil, err
8398	}
8399	req.Header = reqHeaders
8400	googleapi.Expand(req.URL, map[string]string{
8401		"resource": c.resource,
8402	})
8403	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8404}
8405
8406// Do executes the "healthcare.projects.locations.datasets.setIamPolicy" call.
8407// Exactly one of *Policy or error will be non-nil. Any non-2xx status
8408// code is an error. Response headers are in either
8409// *Policy.ServerResponse.Header or (if a response was returned at all)
8410// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8411// check whether the returned error was because http.StatusNotModified
8412// was returned.
8413func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
8414	gensupport.SetOptions(c.urlParams_, opts...)
8415	res, err := c.doRequest("json")
8416	if res != nil && res.StatusCode == http.StatusNotModified {
8417		if res.Body != nil {
8418			res.Body.Close()
8419		}
8420		return nil, &googleapi.Error{
8421			Code:   res.StatusCode,
8422			Header: res.Header,
8423		}
8424	}
8425	if err != nil {
8426		return nil, err
8427	}
8428	defer googleapi.CloseBody(res)
8429	if err := googleapi.CheckResponse(res); err != nil {
8430		return nil, err
8431	}
8432	ret := &Policy{
8433		ServerResponse: googleapi.ServerResponse{
8434			Header:         res.Header,
8435			HTTPStatusCode: res.StatusCode,
8436		},
8437	}
8438	target := &ret
8439	if err := gensupport.DecodeResponse(target, res); err != nil {
8440		return nil, err
8441	}
8442	return ret, nil
8443	// {
8444	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
8445	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy",
8446	//   "httpMethod": "POST",
8447	//   "id": "healthcare.projects.locations.datasets.setIamPolicy",
8448	//   "parameterOrder": [
8449	//     "resource"
8450	//   ],
8451	//   "parameters": {
8452	//     "resource": {
8453	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
8454	//       "location": "path",
8455	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8456	//       "required": true,
8457	//       "type": "string"
8458	//     }
8459	//   },
8460	//   "path": "v1beta1/{+resource}:setIamPolicy",
8461	//   "request": {
8462	//     "$ref": "SetIamPolicyRequest"
8463	//   },
8464	//   "response": {
8465	//     "$ref": "Policy"
8466	//   },
8467	//   "scopes": [
8468	//     "https://www.googleapis.com/auth/cloud-platform"
8469	//   ]
8470	// }
8471
8472}
8473
8474// method id "healthcare.projects.locations.datasets.testIamPermissions":
8475
8476type ProjectsLocationsDatasetsTestIamPermissionsCall struct {
8477	s                         *Service
8478	resource                  string
8479	testiampermissionsrequest *TestIamPermissionsRequest
8480	urlParams_                gensupport.URLParams
8481	ctx_                      context.Context
8482	header_                   http.Header
8483}
8484
8485// TestIamPermissions: Returns permissions that a caller has on the
8486// specified resource. If the resource does not exist, this will return
8487// an empty set of permissions, not a `NOT_FOUND` error. Note: This
8488// operation is designed to be used for building permission-aware UIs
8489// and command-line tools, not for authorization checking. This
8490// operation may "fail open" without warning.
8491//
8492// - resource: REQUIRED: The resource for which the policy detail is
8493//   being requested. See the operation documentation for the
8494//   appropriate value for this field.
8495func (r *ProjectsLocationsDatasetsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8496	c := &ProjectsLocationsDatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8497	c.resource = resource
8498	c.testiampermissionsrequest = testiampermissionsrequest
8499	return c
8500}
8501
8502// Fields allows partial responses to be retrieved. See
8503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8504// for more information.
8505func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8507	return c
8508}
8509
8510// Context sets the context to be used in this call's Do method. Any
8511// pending HTTP request will be aborted if the provided context is
8512// canceled.
8513func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsTestIamPermissionsCall {
8514	c.ctx_ = ctx
8515	return c
8516}
8517
8518// Header returns an http.Header that can be modified by the caller to
8519// add HTTP headers to the request.
8520func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Header() http.Header {
8521	if c.header_ == nil {
8522		c.header_ = make(http.Header)
8523	}
8524	return c.header_
8525}
8526
8527func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
8528	reqHeaders := make(http.Header)
8529	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8530	for k, v := range c.header_ {
8531		reqHeaders[k] = v
8532	}
8533	reqHeaders.Set("User-Agent", c.s.userAgent())
8534	var body io.Reader = nil
8535	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
8536	if err != nil {
8537		return nil, err
8538	}
8539	reqHeaders.Set("Content-Type", "application/json")
8540	c.urlParams_.Set("alt", alt)
8541	c.urlParams_.Set("prettyPrint", "false")
8542	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
8543	urls += "?" + c.urlParams_.Encode()
8544	req, err := http.NewRequest("POST", urls, body)
8545	if err != nil {
8546		return nil, err
8547	}
8548	req.Header = reqHeaders
8549	googleapi.Expand(req.URL, map[string]string{
8550		"resource": c.resource,
8551	})
8552	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8553}
8554
8555// Do executes the "healthcare.projects.locations.datasets.testIamPermissions" call.
8556// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
8557// Any non-2xx status code is an error. Response headers are in either
8558// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
8559// was returned at all) in error.(*googleapi.Error).Header. Use
8560// googleapi.IsNotModified to check whether the returned error was
8561// because http.StatusNotModified was returned.
8562func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
8563	gensupport.SetOptions(c.urlParams_, opts...)
8564	res, err := c.doRequest("json")
8565	if res != nil && res.StatusCode == http.StatusNotModified {
8566		if res.Body != nil {
8567			res.Body.Close()
8568		}
8569		return nil, &googleapi.Error{
8570			Code:   res.StatusCode,
8571			Header: res.Header,
8572		}
8573	}
8574	if err != nil {
8575		return nil, err
8576	}
8577	defer googleapi.CloseBody(res)
8578	if err := googleapi.CheckResponse(res); err != nil {
8579		return nil, err
8580	}
8581	ret := &TestIamPermissionsResponse{
8582		ServerResponse: googleapi.ServerResponse{
8583			Header:         res.Header,
8584			HTTPStatusCode: res.StatusCode,
8585		},
8586	}
8587	target := &ret
8588	if err := gensupport.DecodeResponse(target, res); err != nil {
8589		return nil, err
8590	}
8591	return ret, nil
8592	// {
8593	//   "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.",
8594	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions",
8595	//   "httpMethod": "POST",
8596	//   "id": "healthcare.projects.locations.datasets.testIamPermissions",
8597	//   "parameterOrder": [
8598	//     "resource"
8599	//   ],
8600	//   "parameters": {
8601	//     "resource": {
8602	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
8603	//       "location": "path",
8604	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8605	//       "required": true,
8606	//       "type": "string"
8607	//     }
8608	//   },
8609	//   "path": "v1beta1/{+resource}:testIamPermissions",
8610	//   "request": {
8611	//     "$ref": "TestIamPermissionsRequest"
8612	//   },
8613	//   "response": {
8614	//     "$ref": "TestIamPermissionsResponse"
8615	//   },
8616	//   "scopes": [
8617	//     "https://www.googleapis.com/auth/cloud-platform"
8618	//   ]
8619	// }
8620
8621}
8622
8623// method id "healthcare.projects.locations.datasets.annotationStores.create":
8624
8625type ProjectsLocationsDatasetsAnnotationStoresCreateCall struct {
8626	s               *Service
8627	parent          string
8628	annotationstore *AnnotationStore
8629	urlParams_      gensupport.URLParams
8630	ctx_            context.Context
8631	header_         http.Header
8632}
8633
8634// Create: Creates a new Annotation store within the parent dataset.
8635//
8636// - parent: The name of the dataset this Annotation store belongs to.
8637func (r *ProjectsLocationsDatasetsAnnotationStoresService) Create(parent string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8638	c := &ProjectsLocationsDatasetsAnnotationStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8639	c.parent = parent
8640	c.annotationstore = annotationstore
8641	return c
8642}
8643
8644// AnnotationStoreId sets the optional parameter "annotationStoreId":
8645// The ID of the Annotation store that is being created. The string must
8646// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
8647func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) AnnotationStoreId(annotationStoreId string) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8648	c.urlParams_.Set("annotationStoreId", annotationStoreId)
8649	return c
8650}
8651
8652// Fields allows partial responses to be retrieved. See
8653// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8654// for more information.
8655func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8656	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8657	return c
8658}
8659
8660// Context sets the context to be used in this call's Do method. Any
8661// pending HTTP request will be aborted if the provided context is
8662// canceled.
8663func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresCreateCall {
8664	c.ctx_ = ctx
8665	return c
8666}
8667
8668// Header returns an http.Header that can be modified by the caller to
8669// add HTTP headers to the request.
8670func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Header() http.Header {
8671	if c.header_ == nil {
8672		c.header_ = make(http.Header)
8673	}
8674	return c.header_
8675}
8676
8677func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) doRequest(alt string) (*http.Response, error) {
8678	reqHeaders := make(http.Header)
8679	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8680	for k, v := range c.header_ {
8681		reqHeaders[k] = v
8682	}
8683	reqHeaders.Set("User-Agent", c.s.userAgent())
8684	var body io.Reader = nil
8685	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
8686	if err != nil {
8687		return nil, err
8688	}
8689	reqHeaders.Set("Content-Type", "application/json")
8690	c.urlParams_.Set("alt", alt)
8691	c.urlParams_.Set("prettyPrint", "false")
8692	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
8693	urls += "?" + c.urlParams_.Encode()
8694	req, err := http.NewRequest("POST", urls, body)
8695	if err != nil {
8696		return nil, err
8697	}
8698	req.Header = reqHeaders
8699	googleapi.Expand(req.URL, map[string]string{
8700		"parent": c.parent,
8701	})
8702	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8703}
8704
8705// Do executes the "healthcare.projects.locations.datasets.annotationStores.create" call.
8706// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
8707// status code is an error. Response headers are in either
8708// *AnnotationStore.ServerResponse.Header or (if a response was returned
8709// at all) in error.(*googleapi.Error).Header. Use
8710// googleapi.IsNotModified to check whether the returned error was
8711// because http.StatusNotModified was returned.
8712func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
8713	gensupport.SetOptions(c.urlParams_, opts...)
8714	res, err := c.doRequest("json")
8715	if res != nil && res.StatusCode == http.StatusNotModified {
8716		if res.Body != nil {
8717			res.Body.Close()
8718		}
8719		return nil, &googleapi.Error{
8720			Code:   res.StatusCode,
8721			Header: res.Header,
8722		}
8723	}
8724	if err != nil {
8725		return nil, err
8726	}
8727	defer googleapi.CloseBody(res)
8728	if err := googleapi.CheckResponse(res); err != nil {
8729		return nil, err
8730	}
8731	ret := &AnnotationStore{
8732		ServerResponse: googleapi.ServerResponse{
8733			Header:         res.Header,
8734			HTTPStatusCode: res.StatusCode,
8735		},
8736	}
8737	target := &ret
8738	if err := gensupport.DecodeResponse(target, res); err != nil {
8739		return nil, err
8740	}
8741	return ret, nil
8742	// {
8743	//   "description": "Creates a new Annotation store within the parent dataset.",
8744	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
8745	//   "httpMethod": "POST",
8746	//   "id": "healthcare.projects.locations.datasets.annotationStores.create",
8747	//   "parameterOrder": [
8748	//     "parent"
8749	//   ],
8750	//   "parameters": {
8751	//     "annotationStoreId": {
8752	//       "description": "The ID of the Annotation store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
8753	//       "location": "query",
8754	//       "type": "string"
8755	//     },
8756	//     "parent": {
8757	//       "description": "The name of the dataset this Annotation store belongs to.",
8758	//       "location": "path",
8759	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
8760	//       "required": true,
8761	//       "type": "string"
8762	//     }
8763	//   },
8764	//   "path": "v1beta1/{+parent}/annotationStores",
8765	//   "request": {
8766	//     "$ref": "AnnotationStore"
8767	//   },
8768	//   "response": {
8769	//     "$ref": "AnnotationStore"
8770	//   },
8771	//   "scopes": [
8772	//     "https://www.googleapis.com/auth/cloud-platform"
8773	//   ]
8774	// }
8775
8776}
8777
8778// method id "healthcare.projects.locations.datasets.annotationStores.delete":
8779
8780type ProjectsLocationsDatasetsAnnotationStoresDeleteCall struct {
8781	s          *Service
8782	name       string
8783	urlParams_ gensupport.URLParams
8784	ctx_       context.Context
8785	header_    http.Header
8786}
8787
8788// Delete: Deletes the specified Annotation store and removes all
8789// annotations that are contained within it.
8790//
8791// - name: The resource name of the Annotation store to delete.
8792func (r *ProjectsLocationsDatasetsAnnotationStoresService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8793	c := &ProjectsLocationsDatasetsAnnotationStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8794	c.name = name
8795	return c
8796}
8797
8798// Fields allows partial responses to be retrieved. See
8799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8800// for more information.
8801func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8803	return c
8804}
8805
8806// Context sets the context to be used in this call's Do method. Any
8807// pending HTTP request will be aborted if the provided context is
8808// canceled.
8809func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresDeleteCall {
8810	c.ctx_ = ctx
8811	return c
8812}
8813
8814// Header returns an http.Header that can be modified by the caller to
8815// add HTTP headers to the request.
8816func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Header() http.Header {
8817	if c.header_ == nil {
8818		c.header_ = make(http.Header)
8819	}
8820	return c.header_
8821}
8822
8823func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
8824	reqHeaders := make(http.Header)
8825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8826	for k, v := range c.header_ {
8827		reqHeaders[k] = v
8828	}
8829	reqHeaders.Set("User-Agent", c.s.userAgent())
8830	var body io.Reader = nil
8831	c.urlParams_.Set("alt", alt)
8832	c.urlParams_.Set("prettyPrint", "false")
8833	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8834	urls += "?" + c.urlParams_.Encode()
8835	req, err := http.NewRequest("DELETE", urls, body)
8836	if err != nil {
8837		return nil, err
8838	}
8839	req.Header = reqHeaders
8840	googleapi.Expand(req.URL, map[string]string{
8841		"name": c.name,
8842	})
8843	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8844}
8845
8846// Do executes the "healthcare.projects.locations.datasets.annotationStores.delete" call.
8847// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8848// code is an error. Response headers are in either
8849// *Empty.ServerResponse.Header or (if a response was returned at all)
8850// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8851// check whether the returned error was because http.StatusNotModified
8852// was returned.
8853func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8854	gensupport.SetOptions(c.urlParams_, opts...)
8855	res, err := c.doRequest("json")
8856	if res != nil && res.StatusCode == http.StatusNotModified {
8857		if res.Body != nil {
8858			res.Body.Close()
8859		}
8860		return nil, &googleapi.Error{
8861			Code:   res.StatusCode,
8862			Header: res.Header,
8863		}
8864	}
8865	if err != nil {
8866		return nil, err
8867	}
8868	defer googleapi.CloseBody(res)
8869	if err := googleapi.CheckResponse(res); err != nil {
8870		return nil, err
8871	}
8872	ret := &Empty{
8873		ServerResponse: googleapi.ServerResponse{
8874			Header:         res.Header,
8875			HTTPStatusCode: res.StatusCode,
8876		},
8877	}
8878	target := &ret
8879	if err := gensupport.DecodeResponse(target, res); err != nil {
8880		return nil, err
8881	}
8882	return ret, nil
8883	// {
8884	//   "description": "Deletes the specified Annotation store and removes all annotations that are contained within it.",
8885	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
8886	//   "httpMethod": "DELETE",
8887	//   "id": "healthcare.projects.locations.datasets.annotationStores.delete",
8888	//   "parameterOrder": [
8889	//     "name"
8890	//   ],
8891	//   "parameters": {
8892	//     "name": {
8893	//       "description": "The resource name of the Annotation store to delete.",
8894	//       "location": "path",
8895	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
8896	//       "required": true,
8897	//       "type": "string"
8898	//     }
8899	//   },
8900	//   "path": "v1beta1/{+name}",
8901	//   "response": {
8902	//     "$ref": "Empty"
8903	//   },
8904	//   "scopes": [
8905	//     "https://www.googleapis.com/auth/cloud-platform"
8906	//   ]
8907	// }
8908
8909}
8910
8911// method id "healthcare.projects.locations.datasets.annotationStores.evaluate":
8912
8913type ProjectsLocationsDatasetsAnnotationStoresEvaluateCall struct {
8914	s                              *Service
8915	name                           string
8916	evaluateannotationstorerequest *EvaluateAnnotationStoreRequest
8917	urlParams_                     gensupport.URLParams
8918	ctx_                           context.Context
8919	header_                        http.Header
8920}
8921
8922// Evaluate: Evaluate an Annotation store against a ground truth
8923// Annotation store. When the operation finishes successfully, a
8924// detailed response is returned of type
8925// EvaluateAnnotationStoreResponse, contained in the response. The
8926// metadata field type is OperationMetadata. Errors are logged to Cloud
8927// Logging (see Viewing error logs in Cloud Logging
8928// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
8929//
8930// - name: The Annotation store to compare against `golden_store`, in
8931//   the format of
8932//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
8933//   /annotationStores/{annotation_store_id}`.
8934func (r *ProjectsLocationsDatasetsAnnotationStoresService) Evaluate(name string, evaluateannotationstorerequest *EvaluateAnnotationStoreRequest) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8935	c := &ProjectsLocationsDatasetsAnnotationStoresEvaluateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8936	c.name = name
8937	c.evaluateannotationstorerequest = evaluateannotationstorerequest
8938	return c
8939}
8940
8941// Fields allows partial responses to be retrieved. See
8942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8943// for more information.
8944func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8946	return c
8947}
8948
8949// Context sets the context to be used in this call's Do method. Any
8950// pending HTTP request will be aborted if the provided context is
8951// canceled.
8952func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall {
8953	c.ctx_ = ctx
8954	return c
8955}
8956
8957// Header returns an http.Header that can be modified by the caller to
8958// add HTTP headers to the request.
8959func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Header() http.Header {
8960	if c.header_ == nil {
8961		c.header_ = make(http.Header)
8962	}
8963	return c.header_
8964}
8965
8966func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) doRequest(alt string) (*http.Response, error) {
8967	reqHeaders := make(http.Header)
8968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8969	for k, v := range c.header_ {
8970		reqHeaders[k] = v
8971	}
8972	reqHeaders.Set("User-Agent", c.s.userAgent())
8973	var body io.Reader = nil
8974	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateannotationstorerequest)
8975	if err != nil {
8976		return nil, err
8977	}
8978	reqHeaders.Set("Content-Type", "application/json")
8979	c.urlParams_.Set("alt", alt)
8980	c.urlParams_.Set("prettyPrint", "false")
8981	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:evaluate")
8982	urls += "?" + c.urlParams_.Encode()
8983	req, err := http.NewRequest("POST", urls, body)
8984	if err != nil {
8985		return nil, err
8986	}
8987	req.Header = reqHeaders
8988	googleapi.Expand(req.URL, map[string]string{
8989		"name": c.name,
8990	})
8991	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8992}
8993
8994// Do executes the "healthcare.projects.locations.datasets.annotationStores.evaluate" call.
8995// Exactly one of *Operation or error will be non-nil. Any non-2xx
8996// status code is an error. Response headers are in either
8997// *Operation.ServerResponse.Header or (if a response was returned at
8998// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8999// to check whether the returned error was because
9000// http.StatusNotModified was returned.
9001func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9002	gensupport.SetOptions(c.urlParams_, opts...)
9003	res, err := c.doRequest("json")
9004	if res != nil && res.StatusCode == http.StatusNotModified {
9005		if res.Body != nil {
9006			res.Body.Close()
9007		}
9008		return nil, &googleapi.Error{
9009			Code:   res.StatusCode,
9010			Header: res.Header,
9011		}
9012	}
9013	if err != nil {
9014		return nil, err
9015	}
9016	defer googleapi.CloseBody(res)
9017	if err := googleapi.CheckResponse(res); err != nil {
9018		return nil, err
9019	}
9020	ret := &Operation{
9021		ServerResponse: googleapi.ServerResponse{
9022			Header:         res.Header,
9023			HTTPStatusCode: res.StatusCode,
9024		},
9025	}
9026	target := &ret
9027	if err := gensupport.DecodeResponse(target, res); err != nil {
9028		return nil, err
9029	}
9030	return ret, nil
9031	// {
9032	//   "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)).",
9033	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate",
9034	//   "httpMethod": "POST",
9035	//   "id": "healthcare.projects.locations.datasets.annotationStores.evaluate",
9036	//   "parameterOrder": [
9037	//     "name"
9038	//   ],
9039	//   "parameters": {
9040	//     "name": {
9041	//       "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}`.",
9042	//       "location": "path",
9043	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9044	//       "required": true,
9045	//       "type": "string"
9046	//     }
9047	//   },
9048	//   "path": "v1beta1/{+name}:evaluate",
9049	//   "request": {
9050	//     "$ref": "EvaluateAnnotationStoreRequest"
9051	//   },
9052	//   "response": {
9053	//     "$ref": "Operation"
9054	//   },
9055	//   "scopes": [
9056	//     "https://www.googleapis.com/auth/cloud-platform"
9057	//   ]
9058	// }
9059
9060}
9061
9062// method id "healthcare.projects.locations.datasets.annotationStores.export":
9063
9064type ProjectsLocationsDatasetsAnnotationStoresExportCall struct {
9065	s                        *Service
9066	name                     string
9067	exportannotationsrequest *ExportAnnotationsRequest
9068	urlParams_               gensupport.URLParams
9069	ctx_                     context.Context
9070	header_                  http.Header
9071}
9072
9073// Export: Export Annotations from the Annotation store. If the request
9074// is successful, a detailed response is returned of type
9075// ExportAnnotationsResponse, contained in the response field when the
9076// operation finishes. The metadata field type is OperationMetadata.
9077// Errors are logged to Cloud Logging (see Viewing error logs in Cloud
9078// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)).
9079//
9080// - name: The name of the Annotation store to export annotations to, in
9081//   the format of
9082//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9083//   /annotationStores/{annotation_store_id}`.
9084func (r *ProjectsLocationsDatasetsAnnotationStoresService) Export(name string, exportannotationsrequest *ExportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
9085	c := &ProjectsLocationsDatasetsAnnotationStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9086	c.name = name
9087	c.exportannotationsrequest = exportannotationsrequest
9088	return c
9089}
9090
9091// Fields allows partial responses to be retrieved. See
9092// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9093// for more information.
9094func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
9095	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9096	return c
9097}
9098
9099// Context sets the context to be used in this call's Do method. Any
9100// pending HTTP request will be aborted if the provided context is
9101// canceled.
9102func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresExportCall {
9103	c.ctx_ = ctx
9104	return c
9105}
9106
9107// Header returns an http.Header that can be modified by the caller to
9108// add HTTP headers to the request.
9109func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Header() http.Header {
9110	if c.header_ == nil {
9111		c.header_ = make(http.Header)
9112	}
9113	return c.header_
9114}
9115
9116func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) doRequest(alt string) (*http.Response, error) {
9117	reqHeaders := make(http.Header)
9118	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9119	for k, v := range c.header_ {
9120		reqHeaders[k] = v
9121	}
9122	reqHeaders.Set("User-Agent", c.s.userAgent())
9123	var body io.Reader = nil
9124	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportannotationsrequest)
9125	if err != nil {
9126		return nil, err
9127	}
9128	reqHeaders.Set("Content-Type", "application/json")
9129	c.urlParams_.Set("alt", alt)
9130	c.urlParams_.Set("prettyPrint", "false")
9131	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
9132	urls += "?" + c.urlParams_.Encode()
9133	req, err := http.NewRequest("POST", urls, body)
9134	if err != nil {
9135		return nil, err
9136	}
9137	req.Header = reqHeaders
9138	googleapi.Expand(req.URL, map[string]string{
9139		"name": c.name,
9140	})
9141	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9142}
9143
9144// Do executes the "healthcare.projects.locations.datasets.annotationStores.export" call.
9145// Exactly one of *Operation or error will be non-nil. Any non-2xx
9146// status code is an error. Response headers are in either
9147// *Operation.ServerResponse.Header or (if a response was returned at
9148// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9149// to check whether the returned error was because
9150// http.StatusNotModified was returned.
9151func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9152	gensupport.SetOptions(c.urlParams_, opts...)
9153	res, err := c.doRequest("json")
9154	if res != nil && res.StatusCode == http.StatusNotModified {
9155		if res.Body != nil {
9156			res.Body.Close()
9157		}
9158		return nil, &googleapi.Error{
9159			Code:   res.StatusCode,
9160			Header: res.Header,
9161		}
9162	}
9163	if err != nil {
9164		return nil, err
9165	}
9166	defer googleapi.CloseBody(res)
9167	if err := googleapi.CheckResponse(res); err != nil {
9168		return nil, err
9169	}
9170	ret := &Operation{
9171		ServerResponse: googleapi.ServerResponse{
9172			Header:         res.Header,
9173			HTTPStatusCode: res.StatusCode,
9174		},
9175	}
9176	target := &ret
9177	if err := gensupport.DecodeResponse(target, res); err != nil {
9178		return nil, err
9179	}
9180	return ret, nil
9181	// {
9182	//   "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)).",
9183	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export",
9184	//   "httpMethod": "POST",
9185	//   "id": "healthcare.projects.locations.datasets.annotationStores.export",
9186	//   "parameterOrder": [
9187	//     "name"
9188	//   ],
9189	//   "parameters": {
9190	//     "name": {
9191	//       "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}`.",
9192	//       "location": "path",
9193	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9194	//       "required": true,
9195	//       "type": "string"
9196	//     }
9197	//   },
9198	//   "path": "v1beta1/{+name}:export",
9199	//   "request": {
9200	//     "$ref": "ExportAnnotationsRequest"
9201	//   },
9202	//   "response": {
9203	//     "$ref": "Operation"
9204	//   },
9205	//   "scopes": [
9206	//     "https://www.googleapis.com/auth/cloud-platform"
9207	//   ]
9208	// }
9209
9210}
9211
9212// method id "healthcare.projects.locations.datasets.annotationStores.get":
9213
9214type ProjectsLocationsDatasetsAnnotationStoresGetCall struct {
9215	s            *Service
9216	name         string
9217	urlParams_   gensupport.URLParams
9218	ifNoneMatch_ string
9219	ctx_         context.Context
9220	header_      http.Header
9221}
9222
9223// Get: Gets the specified Annotation store or returns NOT_FOUND if it
9224// does not exist.
9225//
9226// - name: The resource name of the Annotation store to get.
9227func (r *ProjectsLocationsDatasetsAnnotationStoresService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9228	c := &ProjectsLocationsDatasetsAnnotationStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9229	c.name = name
9230	return c
9231}
9232
9233// Fields allows partial responses to be retrieved. See
9234// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9235// for more information.
9236func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9237	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9238	return c
9239}
9240
9241// IfNoneMatch sets the optional parameter which makes the operation
9242// fail if the object's ETag matches the given value. This is useful for
9243// getting updates only after the object has changed since the last
9244// request. Use googleapi.IsNotModified to check whether the response
9245// error from Do is the result of In-None-Match.
9246func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9247	c.ifNoneMatch_ = entityTag
9248	return c
9249}
9250
9251// Context sets the context to be used in this call's Do method. Any
9252// pending HTTP request will be aborted if the provided context is
9253// canceled.
9254func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetCall {
9255	c.ctx_ = ctx
9256	return c
9257}
9258
9259// Header returns an http.Header that can be modified by the caller to
9260// add HTTP headers to the request.
9261func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Header() http.Header {
9262	if c.header_ == nil {
9263		c.header_ = make(http.Header)
9264	}
9265	return c.header_
9266}
9267
9268func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) doRequest(alt string) (*http.Response, error) {
9269	reqHeaders := make(http.Header)
9270	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9271	for k, v := range c.header_ {
9272		reqHeaders[k] = v
9273	}
9274	reqHeaders.Set("User-Agent", c.s.userAgent())
9275	if c.ifNoneMatch_ != "" {
9276		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9277	}
9278	var body io.Reader = nil
9279	c.urlParams_.Set("alt", alt)
9280	c.urlParams_.Set("prettyPrint", "false")
9281	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9282	urls += "?" + c.urlParams_.Encode()
9283	req, err := http.NewRequest("GET", urls, body)
9284	if err != nil {
9285		return nil, err
9286	}
9287	req.Header = reqHeaders
9288	googleapi.Expand(req.URL, map[string]string{
9289		"name": c.name,
9290	})
9291	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9292}
9293
9294// Do executes the "healthcare.projects.locations.datasets.annotationStores.get" call.
9295// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9296// status code is an error. Response headers are in either
9297// *AnnotationStore.ServerResponse.Header or (if a response was returned
9298// at all) in error.(*googleapi.Error).Header. Use
9299// googleapi.IsNotModified to check whether the returned error was
9300// because http.StatusNotModified was returned.
9301func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
9302	gensupport.SetOptions(c.urlParams_, opts...)
9303	res, err := c.doRequest("json")
9304	if res != nil && res.StatusCode == http.StatusNotModified {
9305		if res.Body != nil {
9306			res.Body.Close()
9307		}
9308		return nil, &googleapi.Error{
9309			Code:   res.StatusCode,
9310			Header: res.Header,
9311		}
9312	}
9313	if err != nil {
9314		return nil, err
9315	}
9316	defer googleapi.CloseBody(res)
9317	if err := googleapi.CheckResponse(res); err != nil {
9318		return nil, err
9319	}
9320	ret := &AnnotationStore{
9321		ServerResponse: googleapi.ServerResponse{
9322			Header:         res.Header,
9323			HTTPStatusCode: res.StatusCode,
9324		},
9325	}
9326	target := &ret
9327	if err := gensupport.DecodeResponse(target, res); err != nil {
9328		return nil, err
9329	}
9330	return ret, nil
9331	// {
9332	//   "description": "Gets the specified Annotation store or returns NOT_FOUND if it does not exist.",
9333	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
9334	//   "httpMethod": "GET",
9335	//   "id": "healthcare.projects.locations.datasets.annotationStores.get",
9336	//   "parameterOrder": [
9337	//     "name"
9338	//   ],
9339	//   "parameters": {
9340	//     "name": {
9341	//       "description": "The resource name of the Annotation store to get.",
9342	//       "location": "path",
9343	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9344	//       "required": true,
9345	//       "type": "string"
9346	//     }
9347	//   },
9348	//   "path": "v1beta1/{+name}",
9349	//   "response": {
9350	//     "$ref": "AnnotationStore"
9351	//   },
9352	//   "scopes": [
9353	//     "https://www.googleapis.com/auth/cloud-platform"
9354	//   ]
9355	// }
9356
9357}
9358
9359// method id "healthcare.projects.locations.datasets.annotationStores.getIamPolicy":
9360
9361type ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall struct {
9362	s            *Service
9363	resource     string
9364	urlParams_   gensupport.URLParams
9365	ifNoneMatch_ string
9366	ctx_         context.Context
9367	header_      http.Header
9368}
9369
9370// GetIamPolicy: Gets the access control policy for a resource. Returns
9371// an empty policy if the resource exists and does not have a policy
9372// set.
9373//
9374// - resource: REQUIRED: The resource for which the policy is being
9375//   requested. See the operation documentation for the appropriate
9376//   value for this field.
9377func (r *ProjectsLocationsDatasetsAnnotationStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9378	c := &ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9379	c.resource = resource
9380	return c
9381}
9382
9383// OptionsRequestedPolicyVersion sets the optional parameter
9384// "options.requestedPolicyVersion": The policy format version to be
9385// returned. Valid values are 0, 1, and 3. Requests specifying an
9386// invalid value will be rejected. Requests for policies with any
9387// conditional bindings must specify version 3. Policies without any
9388// conditional bindings may specify any valid value or leave the field
9389// unset. To learn which resources support conditions in their IAM
9390// policies, see the IAM documentation
9391// (https://cloud.google.com/iam/help/conditions/resource-policies).
9392func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9393	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
9394	return c
9395}
9396
9397// Fields allows partial responses to be retrieved. See
9398// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9399// for more information.
9400func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9401	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9402	return c
9403}
9404
9405// IfNoneMatch sets the optional parameter which makes the operation
9406// fail if the object's ETag matches the given value. This is useful for
9407// getting updates only after the object has changed since the last
9408// request. Use googleapi.IsNotModified to check whether the response
9409// error from Do is the result of In-None-Match.
9410func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9411	c.ifNoneMatch_ = entityTag
9412	return c
9413}
9414
9415// Context sets the context to be used in this call's Do method. Any
9416// pending HTTP request will be aborted if the provided context is
9417// canceled.
9418func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall {
9419	c.ctx_ = ctx
9420	return c
9421}
9422
9423// Header returns an http.Header that can be modified by the caller to
9424// add HTTP headers to the request.
9425func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Header() http.Header {
9426	if c.header_ == nil {
9427		c.header_ = make(http.Header)
9428	}
9429	return c.header_
9430}
9431
9432func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9433	reqHeaders := make(http.Header)
9434	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9435	for k, v := range c.header_ {
9436		reqHeaders[k] = v
9437	}
9438	reqHeaders.Set("User-Agent", c.s.userAgent())
9439	if c.ifNoneMatch_ != "" {
9440		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9441	}
9442	var body io.Reader = nil
9443	c.urlParams_.Set("alt", alt)
9444	c.urlParams_.Set("prettyPrint", "false")
9445	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9446	urls += "?" + c.urlParams_.Encode()
9447	req, err := http.NewRequest("GET", urls, body)
9448	if err != nil {
9449		return nil, err
9450	}
9451	req.Header = reqHeaders
9452	googleapi.Expand(req.URL, map[string]string{
9453		"resource": c.resource,
9454	})
9455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9456}
9457
9458// Do executes the "healthcare.projects.locations.datasets.annotationStores.getIamPolicy" call.
9459// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9460// code is an error. Response headers are in either
9461// *Policy.ServerResponse.Header or (if a response was returned at all)
9462// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9463// check whether the returned error was because http.StatusNotModified
9464// was returned.
9465func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9466	gensupport.SetOptions(c.urlParams_, opts...)
9467	res, err := c.doRequest("json")
9468	if res != nil && res.StatusCode == http.StatusNotModified {
9469		if res.Body != nil {
9470			res.Body.Close()
9471		}
9472		return nil, &googleapi.Error{
9473			Code:   res.StatusCode,
9474			Header: res.Header,
9475		}
9476	}
9477	if err != nil {
9478		return nil, err
9479	}
9480	defer googleapi.CloseBody(res)
9481	if err := googleapi.CheckResponse(res); err != nil {
9482		return nil, err
9483	}
9484	ret := &Policy{
9485		ServerResponse: googleapi.ServerResponse{
9486			Header:         res.Header,
9487			HTTPStatusCode: res.StatusCode,
9488		},
9489	}
9490	target := &ret
9491	if err := gensupport.DecodeResponse(target, res); err != nil {
9492		return nil, err
9493	}
9494	return ret, nil
9495	// {
9496	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
9497	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy",
9498	//   "httpMethod": "GET",
9499	//   "id": "healthcare.projects.locations.datasets.annotationStores.getIamPolicy",
9500	//   "parameterOrder": [
9501	//     "resource"
9502	//   ],
9503	//   "parameters": {
9504	//     "options.requestedPolicyVersion": {
9505	//       "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).",
9506	//       "format": "int32",
9507	//       "location": "query",
9508	//       "type": "integer"
9509	//     },
9510	//     "resource": {
9511	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9512	//       "location": "path",
9513	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9514	//       "required": true,
9515	//       "type": "string"
9516	//     }
9517	//   },
9518	//   "path": "v1beta1/{+resource}:getIamPolicy",
9519	//   "response": {
9520	//     "$ref": "Policy"
9521	//   },
9522	//   "scopes": [
9523	//     "https://www.googleapis.com/auth/cloud-platform"
9524	//   ]
9525	// }
9526
9527}
9528
9529// method id "healthcare.projects.locations.datasets.annotationStores.import":
9530
9531type ProjectsLocationsDatasetsAnnotationStoresImportCall struct {
9532	s                        *Service
9533	name                     string
9534	importannotationsrequest *ImportAnnotationsRequest
9535	urlParams_               gensupport.URLParams
9536	ctx_                     context.Context
9537	header_                  http.Header
9538}
9539
9540// Import: Import Annotations to the Annotation store by loading data
9541// from the specified sources. If the request is successful, a detailed
9542// response is returned as of type ImportAnnotationsResponse, contained
9543// in the response field when the operation finishes. The metadata field
9544// type is OperationMetadata. Errors are logged to Cloud Logging (see
9545// Viewing error logs in Cloud Logging
9546// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
9547//
9548// - name: The name of the Annotation store to which the server imports
9549//   annotations, in the format
9550//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9551//   /annotationStores/{annotation_store_id}`.
9552func (r *ProjectsLocationsDatasetsAnnotationStoresService) Import(name string, importannotationsrequest *ImportAnnotationsRequest) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9553	c := &ProjectsLocationsDatasetsAnnotationStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9554	c.name = name
9555	c.importannotationsrequest = importannotationsrequest
9556	return c
9557}
9558
9559// Fields allows partial responses to be retrieved. See
9560// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9561// for more information.
9562func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9563	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9564	return c
9565}
9566
9567// Context sets the context to be used in this call's Do method. Any
9568// pending HTTP request will be aborted if the provided context is
9569// canceled.
9570func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresImportCall {
9571	c.ctx_ = ctx
9572	return c
9573}
9574
9575// Header returns an http.Header that can be modified by the caller to
9576// add HTTP headers to the request.
9577func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Header() http.Header {
9578	if c.header_ == nil {
9579		c.header_ = make(http.Header)
9580	}
9581	return c.header_
9582}
9583
9584func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) doRequest(alt string) (*http.Response, error) {
9585	reqHeaders := make(http.Header)
9586	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9587	for k, v := range c.header_ {
9588		reqHeaders[k] = v
9589	}
9590	reqHeaders.Set("User-Agent", c.s.userAgent())
9591	var body io.Reader = nil
9592	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importannotationsrequest)
9593	if err != nil {
9594		return nil, err
9595	}
9596	reqHeaders.Set("Content-Type", "application/json")
9597	c.urlParams_.Set("alt", alt)
9598	c.urlParams_.Set("prettyPrint", "false")
9599	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
9600	urls += "?" + c.urlParams_.Encode()
9601	req, err := http.NewRequest("POST", urls, body)
9602	if err != nil {
9603		return nil, err
9604	}
9605	req.Header = reqHeaders
9606	googleapi.Expand(req.URL, map[string]string{
9607		"name": c.name,
9608	})
9609	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9610}
9611
9612// Do executes the "healthcare.projects.locations.datasets.annotationStores.import" call.
9613// Exactly one of *Operation or error will be non-nil. Any non-2xx
9614// status code is an error. Response headers are in either
9615// *Operation.ServerResponse.Header or (if a response was returned at
9616// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9617// to check whether the returned error was because
9618// http.StatusNotModified was returned.
9619func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9620	gensupport.SetOptions(c.urlParams_, opts...)
9621	res, err := c.doRequest("json")
9622	if res != nil && res.StatusCode == http.StatusNotModified {
9623		if res.Body != nil {
9624			res.Body.Close()
9625		}
9626		return nil, &googleapi.Error{
9627			Code:   res.StatusCode,
9628			Header: res.Header,
9629		}
9630	}
9631	if err != nil {
9632		return nil, err
9633	}
9634	defer googleapi.CloseBody(res)
9635	if err := googleapi.CheckResponse(res); err != nil {
9636		return nil, err
9637	}
9638	ret := &Operation{
9639		ServerResponse: googleapi.ServerResponse{
9640			Header:         res.Header,
9641			HTTPStatusCode: res.StatusCode,
9642		},
9643	}
9644	target := &ret
9645	if err := gensupport.DecodeResponse(target, res); err != nil {
9646		return nil, err
9647	}
9648	return ret, nil
9649	// {
9650	//   "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)).",
9651	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import",
9652	//   "httpMethod": "POST",
9653	//   "id": "healthcare.projects.locations.datasets.annotationStores.import",
9654	//   "parameterOrder": [
9655	//     "name"
9656	//   ],
9657	//   "parameters": {
9658	//     "name": {
9659	//       "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}`.",
9660	//       "location": "path",
9661	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
9662	//       "required": true,
9663	//       "type": "string"
9664	//     }
9665	//   },
9666	//   "path": "v1beta1/{+name}:import",
9667	//   "request": {
9668	//     "$ref": "ImportAnnotationsRequest"
9669	//   },
9670	//   "response": {
9671	//     "$ref": "Operation"
9672	//   },
9673	//   "scopes": [
9674	//     "https://www.googleapis.com/auth/cloud-platform"
9675	//   ]
9676	// }
9677
9678}
9679
9680// method id "healthcare.projects.locations.datasets.annotationStores.list":
9681
9682type ProjectsLocationsDatasetsAnnotationStoresListCall struct {
9683	s            *Service
9684	parent       string
9685	urlParams_   gensupport.URLParams
9686	ifNoneMatch_ string
9687	ctx_         context.Context
9688	header_      http.Header
9689}
9690
9691// List: Lists the Annotation stores in the given dataset for a source
9692// store.
9693//
9694// - parent: Name of the dataset.
9695func (r *ProjectsLocationsDatasetsAnnotationStoresService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9696	c := &ProjectsLocationsDatasetsAnnotationStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9697	c.parent = parent
9698	return c
9699}
9700
9701// Filter sets the optional parameter "filter": Restricts stores
9702// returned to those matching a filter. The following syntax is
9703// available: * A string field value can be written as text inside
9704// quotation marks, for example "query text". The only valid
9705// relational operation for text fields is equality (`=`), where text is
9706// searched within the field, rather than having the field be equal to
9707// the text. For example, "Comment = great" returns messages with
9708// `great` in the comment field. * A number field value can be written
9709// as an integer, a decimal, or an exponential. The valid relational
9710// operators for number fields are the equality operator (`=`), along
9711// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
9712// Note that there is no inequality (`!=`) operator. You can prepend the
9713// `NOT` operator to an expression to negate it. * A date field value
9714// must be written in `yyyy-mm-dd` form. Fields with date and time use
9715// the RFC3339 time format. Leading zeros are required for one-digit
9716// months and days. The valid relational operators for date fields are
9717// the equality operator (`=`) , along with the less than/greater than
9718// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
9719// (`!=`) operator. You can prepend the `NOT` operator to an expression
9720// to negate it. * Multiple field query expressions can be combined in
9721// one query by adding `AND` or `OR` operators between the expressions.
9722// If a boolean operator appears within a quoted string, it is not
9723// treated as special, it's just another part of the character string to
9724// be matched. You can prepend the `NOT` operator to an expression to
9725// negate it. Only filtering on labels is supported, for example
9726// `labels.key=value`.
9727func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9728	c.urlParams_.Set("filter", filter)
9729	return c
9730}
9731
9732// PageSize sets the optional parameter "pageSize": Limit on the number
9733// of Annotation stores to return in a single response. If not
9734// specified, 100 is used. May not be larger than 1000.
9735func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9736	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9737	return c
9738}
9739
9740// PageToken sets the optional parameter "pageToken": The
9741// next_page_token value returned from the previous List request, if
9742// any.
9743func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9744	c.urlParams_.Set("pageToken", pageToken)
9745	return c
9746}
9747
9748// Fields allows partial responses to be retrieved. See
9749// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9750// for more information.
9751func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9752	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9753	return c
9754}
9755
9756// IfNoneMatch sets the optional parameter which makes the operation
9757// fail if the object's ETag matches the given value. This is useful for
9758// getting updates only after the object has changed since the last
9759// request. Use googleapi.IsNotModified to check whether the response
9760// error from Do is the result of In-None-Match.
9761func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9762	c.ifNoneMatch_ = entityTag
9763	return c
9764}
9765
9766// Context sets the context to be used in this call's Do method. Any
9767// pending HTTP request will be aborted if the provided context is
9768// canceled.
9769func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresListCall {
9770	c.ctx_ = ctx
9771	return c
9772}
9773
9774// Header returns an http.Header that can be modified by the caller to
9775// add HTTP headers to the request.
9776func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Header() http.Header {
9777	if c.header_ == nil {
9778		c.header_ = make(http.Header)
9779	}
9780	return c.header_
9781}
9782
9783func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) doRequest(alt string) (*http.Response, error) {
9784	reqHeaders := make(http.Header)
9785	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9786	for k, v := range c.header_ {
9787		reqHeaders[k] = v
9788	}
9789	reqHeaders.Set("User-Agent", c.s.userAgent())
9790	if c.ifNoneMatch_ != "" {
9791		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9792	}
9793	var body io.Reader = nil
9794	c.urlParams_.Set("alt", alt)
9795	c.urlParams_.Set("prettyPrint", "false")
9796	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotationStores")
9797	urls += "?" + c.urlParams_.Encode()
9798	req, err := http.NewRequest("GET", urls, body)
9799	if err != nil {
9800		return nil, err
9801	}
9802	req.Header = reqHeaders
9803	googleapi.Expand(req.URL, map[string]string{
9804		"parent": c.parent,
9805	})
9806	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9807}
9808
9809// Do executes the "healthcare.projects.locations.datasets.annotationStores.list" call.
9810// Exactly one of *ListAnnotationStoresResponse or error will be
9811// non-nil. Any non-2xx status code is an error. Response headers are in
9812// either *ListAnnotationStoresResponse.ServerResponse.Header or (if a
9813// response was returned at all) in error.(*googleapi.Error).Header. Use
9814// googleapi.IsNotModified to check whether the returned error was
9815// because http.StatusNotModified was returned.
9816func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationStoresResponse, error) {
9817	gensupport.SetOptions(c.urlParams_, opts...)
9818	res, err := c.doRequest("json")
9819	if res != nil && res.StatusCode == http.StatusNotModified {
9820		if res.Body != nil {
9821			res.Body.Close()
9822		}
9823		return nil, &googleapi.Error{
9824			Code:   res.StatusCode,
9825			Header: res.Header,
9826		}
9827	}
9828	if err != nil {
9829		return nil, err
9830	}
9831	defer googleapi.CloseBody(res)
9832	if err := googleapi.CheckResponse(res); err != nil {
9833		return nil, err
9834	}
9835	ret := &ListAnnotationStoresResponse{
9836		ServerResponse: googleapi.ServerResponse{
9837			Header:         res.Header,
9838			HTTPStatusCode: res.StatusCode,
9839		},
9840	}
9841	target := &ret
9842	if err := gensupport.DecodeResponse(target, res); err != nil {
9843		return nil, err
9844	}
9845	return ret, nil
9846	// {
9847	//   "description": "Lists the Annotation stores in the given dataset for a source store.",
9848	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores",
9849	//   "httpMethod": "GET",
9850	//   "id": "healthcare.projects.locations.datasets.annotationStores.list",
9851	//   "parameterOrder": [
9852	//     "parent"
9853	//   ],
9854	//   "parameters": {
9855	//     "filter": {
9856	//       "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`.",
9857	//       "location": "query",
9858	//       "type": "string"
9859	//     },
9860	//     "pageSize": {
9861	//       "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.",
9862	//       "format": "int32",
9863	//       "location": "query",
9864	//       "type": "integer"
9865	//     },
9866	//     "pageToken": {
9867	//       "description": "The next_page_token value returned from the previous List request, if any.",
9868	//       "location": "query",
9869	//       "type": "string"
9870	//     },
9871	//     "parent": {
9872	//       "description": "Name of the dataset.",
9873	//       "location": "path",
9874	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
9875	//       "required": true,
9876	//       "type": "string"
9877	//     }
9878	//   },
9879	//   "path": "v1beta1/{+parent}/annotationStores",
9880	//   "response": {
9881	//     "$ref": "ListAnnotationStoresResponse"
9882	//   },
9883	//   "scopes": [
9884	//     "https://www.googleapis.com/auth/cloud-platform"
9885	//   ]
9886	// }
9887
9888}
9889
9890// Pages invokes f for each page of results.
9891// A non-nil error returned from f will halt the iteration.
9892// The provided context supersedes any context provided to the Context method.
9893func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) Pages(ctx context.Context, f func(*ListAnnotationStoresResponse) error) error {
9894	c.ctx_ = ctx
9895	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9896	for {
9897		x, err := c.Do()
9898		if err != nil {
9899			return err
9900		}
9901		if err := f(x); err != nil {
9902			return err
9903		}
9904		if x.NextPageToken == "" {
9905			return nil
9906		}
9907		c.PageToken(x.NextPageToken)
9908	}
9909}
9910
9911// method id "healthcare.projects.locations.datasets.annotationStores.patch":
9912
9913type ProjectsLocationsDatasetsAnnotationStoresPatchCall struct {
9914	s               *Service
9915	name            string
9916	annotationstore *AnnotationStore
9917	urlParams_      gensupport.URLParams
9918	ctx_            context.Context
9919	header_         http.Header
9920}
9921
9922// Patch: Updates the specified Annotation store.
9923//
9924// - name: Resource name of the Annotation store, of the form
9925//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
9926//   /annotationStores/{annotation_store_id}`.
9927func (r *ProjectsLocationsDatasetsAnnotationStoresService) Patch(name string, annotationstore *AnnotationStore) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9928	c := &ProjectsLocationsDatasetsAnnotationStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9929	c.name = name
9930	c.annotationstore = annotationstore
9931	return c
9932}
9933
9934// UpdateMask sets the optional parameter "updateMask": The update mask
9935// applies to the resource. For the `FieldMask` definition, see
9936// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9937func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9938	c.urlParams_.Set("updateMask", updateMask)
9939	return c
9940}
9941
9942// Fields allows partial responses to be retrieved. See
9943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9944// for more information.
9945func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9947	return c
9948}
9949
9950// Context sets the context to be used in this call's Do method. Any
9951// pending HTTP request will be aborted if the provided context is
9952// canceled.
9953func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresPatchCall {
9954	c.ctx_ = ctx
9955	return c
9956}
9957
9958// Header returns an http.Header that can be modified by the caller to
9959// add HTTP headers to the request.
9960func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Header() http.Header {
9961	if c.header_ == nil {
9962		c.header_ = make(http.Header)
9963	}
9964	return c.header_
9965}
9966
9967func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) doRequest(alt string) (*http.Response, error) {
9968	reqHeaders := make(http.Header)
9969	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9970	for k, v := range c.header_ {
9971		reqHeaders[k] = v
9972	}
9973	reqHeaders.Set("User-Agent", c.s.userAgent())
9974	var body io.Reader = nil
9975	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotationstore)
9976	if err != nil {
9977		return nil, err
9978	}
9979	reqHeaders.Set("Content-Type", "application/json")
9980	c.urlParams_.Set("alt", alt)
9981	c.urlParams_.Set("prettyPrint", "false")
9982	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9983	urls += "?" + c.urlParams_.Encode()
9984	req, err := http.NewRequest("PATCH", urls, body)
9985	if err != nil {
9986		return nil, err
9987	}
9988	req.Header = reqHeaders
9989	googleapi.Expand(req.URL, map[string]string{
9990		"name": c.name,
9991	})
9992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9993}
9994
9995// Do executes the "healthcare.projects.locations.datasets.annotationStores.patch" call.
9996// Exactly one of *AnnotationStore or error will be non-nil. Any non-2xx
9997// status code is an error. Response headers are in either
9998// *AnnotationStore.ServerResponse.Header or (if a response was returned
9999// at all) in error.(*googleapi.Error).Header. Use
10000// googleapi.IsNotModified to check whether the returned error was
10001// because http.StatusNotModified was returned.
10002func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) Do(opts ...googleapi.CallOption) (*AnnotationStore, error) {
10003	gensupport.SetOptions(c.urlParams_, opts...)
10004	res, err := c.doRequest("json")
10005	if res != nil && res.StatusCode == http.StatusNotModified {
10006		if res.Body != nil {
10007			res.Body.Close()
10008		}
10009		return nil, &googleapi.Error{
10010			Code:   res.StatusCode,
10011			Header: res.Header,
10012		}
10013	}
10014	if err != nil {
10015		return nil, err
10016	}
10017	defer googleapi.CloseBody(res)
10018	if err := googleapi.CheckResponse(res); err != nil {
10019		return nil, err
10020	}
10021	ret := &AnnotationStore{
10022		ServerResponse: googleapi.ServerResponse{
10023			Header:         res.Header,
10024			HTTPStatusCode: res.StatusCode,
10025		},
10026	}
10027	target := &ret
10028	if err := gensupport.DecodeResponse(target, res); err != nil {
10029		return nil, err
10030	}
10031	return ret, nil
10032	// {
10033	//   "description": "Updates the specified Annotation store.",
10034	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}",
10035	//   "httpMethod": "PATCH",
10036	//   "id": "healthcare.projects.locations.datasets.annotationStores.patch",
10037	//   "parameterOrder": [
10038	//     "name"
10039	//   ],
10040	//   "parameters": {
10041	//     "name": {
10042	//       "description": "Resource name of the Annotation store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.",
10043	//       "location": "path",
10044	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10045	//       "required": true,
10046	//       "type": "string"
10047	//     },
10048	//     "updateMask": {
10049	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
10050	//       "format": "google-fieldmask",
10051	//       "location": "query",
10052	//       "type": "string"
10053	//     }
10054	//   },
10055	//   "path": "v1beta1/{+name}",
10056	//   "request": {
10057	//     "$ref": "AnnotationStore"
10058	//   },
10059	//   "response": {
10060	//     "$ref": "AnnotationStore"
10061	//   },
10062	//   "scopes": [
10063	//     "https://www.googleapis.com/auth/cloud-platform"
10064	//   ]
10065	// }
10066
10067}
10068
10069// method id "healthcare.projects.locations.datasets.annotationStores.setIamPolicy":
10070
10071type ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall struct {
10072	s                   *Service
10073	resource            string
10074	setiampolicyrequest *SetIamPolicyRequest
10075	urlParams_          gensupport.URLParams
10076	ctx_                context.Context
10077	header_             http.Header
10078}
10079
10080// SetIamPolicy: Sets the access control policy on the specified
10081// resource. Replaces any existing policy. Can return `NOT_FOUND`,
10082// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
10083//
10084// - resource: REQUIRED: The resource for which the policy is being
10085//   specified. See the operation documentation for the appropriate
10086//   value for this field.
10087func (r *ProjectsLocationsDatasetsAnnotationStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
10088	c := &ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10089	c.resource = resource
10090	c.setiampolicyrequest = setiampolicyrequest
10091	return c
10092}
10093
10094// Fields allows partial responses to be retrieved. See
10095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10096// for more information.
10097func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
10098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10099	return c
10100}
10101
10102// Context sets the context to be used in this call's Do method. Any
10103// pending HTTP request will be aborted if the provided context is
10104// canceled.
10105func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall {
10106	c.ctx_ = ctx
10107	return c
10108}
10109
10110// Header returns an http.Header that can be modified by the caller to
10111// add HTTP headers to the request.
10112func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Header() http.Header {
10113	if c.header_ == nil {
10114		c.header_ = make(http.Header)
10115	}
10116	return c.header_
10117}
10118
10119func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10120	reqHeaders := make(http.Header)
10121	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10122	for k, v := range c.header_ {
10123		reqHeaders[k] = v
10124	}
10125	reqHeaders.Set("User-Agent", c.s.userAgent())
10126	var body io.Reader = nil
10127	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
10128	if err != nil {
10129		return nil, err
10130	}
10131	reqHeaders.Set("Content-Type", "application/json")
10132	c.urlParams_.Set("alt", alt)
10133	c.urlParams_.Set("prettyPrint", "false")
10134	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
10135	urls += "?" + c.urlParams_.Encode()
10136	req, err := http.NewRequest("POST", urls, body)
10137	if err != nil {
10138		return nil, err
10139	}
10140	req.Header = reqHeaders
10141	googleapi.Expand(req.URL, map[string]string{
10142		"resource": c.resource,
10143	})
10144	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10145}
10146
10147// Do executes the "healthcare.projects.locations.datasets.annotationStores.setIamPolicy" call.
10148// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10149// code is an error. Response headers are in either
10150// *Policy.ServerResponse.Header or (if a response was returned at all)
10151// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10152// check whether the returned error was because http.StatusNotModified
10153// was returned.
10154func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10155	gensupport.SetOptions(c.urlParams_, opts...)
10156	res, err := c.doRequest("json")
10157	if res != nil && res.StatusCode == http.StatusNotModified {
10158		if res.Body != nil {
10159			res.Body.Close()
10160		}
10161		return nil, &googleapi.Error{
10162			Code:   res.StatusCode,
10163			Header: res.Header,
10164		}
10165	}
10166	if err != nil {
10167		return nil, err
10168	}
10169	defer googleapi.CloseBody(res)
10170	if err := googleapi.CheckResponse(res); err != nil {
10171		return nil, err
10172	}
10173	ret := &Policy{
10174		ServerResponse: googleapi.ServerResponse{
10175			Header:         res.Header,
10176			HTTPStatusCode: res.StatusCode,
10177		},
10178	}
10179	target := &ret
10180	if err := gensupport.DecodeResponse(target, res); err != nil {
10181		return nil, err
10182	}
10183	return ret, nil
10184	// {
10185	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
10186	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy",
10187	//   "httpMethod": "POST",
10188	//   "id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy",
10189	//   "parameterOrder": [
10190	//     "resource"
10191	//   ],
10192	//   "parameters": {
10193	//     "resource": {
10194	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
10195	//       "location": "path",
10196	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10197	//       "required": true,
10198	//       "type": "string"
10199	//     }
10200	//   },
10201	//   "path": "v1beta1/{+resource}:setIamPolicy",
10202	//   "request": {
10203	//     "$ref": "SetIamPolicyRequest"
10204	//   },
10205	//   "response": {
10206	//     "$ref": "Policy"
10207	//   },
10208	//   "scopes": [
10209	//     "https://www.googleapis.com/auth/cloud-platform"
10210	//   ]
10211	// }
10212
10213}
10214
10215// method id "healthcare.projects.locations.datasets.annotationStores.testIamPermissions":
10216
10217type ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall struct {
10218	s                         *Service
10219	resource                  string
10220	testiampermissionsrequest *TestIamPermissionsRequest
10221	urlParams_                gensupport.URLParams
10222	ctx_                      context.Context
10223	header_                   http.Header
10224}
10225
10226// TestIamPermissions: Returns permissions that a caller has on the
10227// specified resource. If the resource does not exist, this will return
10228// an empty set of permissions, not a `NOT_FOUND` error. Note: This
10229// operation is designed to be used for building permission-aware UIs
10230// and command-line tools, not for authorization checking. This
10231// operation may "fail open" without warning.
10232//
10233// - resource: REQUIRED: The resource for which the policy detail is
10234//   being requested. See the operation documentation for the
10235//   appropriate value for this field.
10236func (r *ProjectsLocationsDatasetsAnnotationStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10237	c := &ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10238	c.resource = resource
10239	c.testiampermissionsrequest = testiampermissionsrequest
10240	return c
10241}
10242
10243// Fields allows partial responses to be retrieved. See
10244// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10245// for more information.
10246func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10247	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10248	return c
10249}
10250
10251// Context sets the context to be used in this call's Do method. Any
10252// pending HTTP request will be aborted if the provided context is
10253// canceled.
10254func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall {
10255	c.ctx_ = ctx
10256	return c
10257}
10258
10259// Header returns an http.Header that can be modified by the caller to
10260// add HTTP headers to the request.
10261func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Header() http.Header {
10262	if c.header_ == nil {
10263		c.header_ = make(http.Header)
10264	}
10265	return c.header_
10266}
10267
10268func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10269	reqHeaders := make(http.Header)
10270	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10271	for k, v := range c.header_ {
10272		reqHeaders[k] = v
10273	}
10274	reqHeaders.Set("User-Agent", c.s.userAgent())
10275	var body io.Reader = nil
10276	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
10277	if err != nil {
10278		return nil, err
10279	}
10280	reqHeaders.Set("Content-Type", "application/json")
10281	c.urlParams_.Set("alt", alt)
10282	c.urlParams_.Set("prettyPrint", "false")
10283	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
10284	urls += "?" + c.urlParams_.Encode()
10285	req, err := http.NewRequest("POST", urls, body)
10286	if err != nil {
10287		return nil, err
10288	}
10289	req.Header = reqHeaders
10290	googleapi.Expand(req.URL, map[string]string{
10291		"resource": c.resource,
10292	})
10293	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10294}
10295
10296// Do executes the "healthcare.projects.locations.datasets.annotationStores.testIamPermissions" call.
10297// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
10298// Any non-2xx status code is an error. Response headers are in either
10299// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
10300// was returned at all) in error.(*googleapi.Error).Header. Use
10301// googleapi.IsNotModified to check whether the returned error was
10302// because http.StatusNotModified was returned.
10303func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
10304	gensupport.SetOptions(c.urlParams_, opts...)
10305	res, err := c.doRequest("json")
10306	if res != nil && res.StatusCode == http.StatusNotModified {
10307		if res.Body != nil {
10308			res.Body.Close()
10309		}
10310		return nil, &googleapi.Error{
10311			Code:   res.StatusCode,
10312			Header: res.Header,
10313		}
10314	}
10315	if err != nil {
10316		return nil, err
10317	}
10318	defer googleapi.CloseBody(res)
10319	if err := googleapi.CheckResponse(res); err != nil {
10320		return nil, err
10321	}
10322	ret := &TestIamPermissionsResponse{
10323		ServerResponse: googleapi.ServerResponse{
10324			Header:         res.Header,
10325			HTTPStatusCode: res.StatusCode,
10326		},
10327	}
10328	target := &ret
10329	if err := gensupport.DecodeResponse(target, res); err != nil {
10330		return nil, err
10331	}
10332	return ret, nil
10333	// {
10334	//   "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.",
10335	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions",
10336	//   "httpMethod": "POST",
10337	//   "id": "healthcare.projects.locations.datasets.annotationStores.testIamPermissions",
10338	//   "parameterOrder": [
10339	//     "resource"
10340	//   ],
10341	//   "parameters": {
10342	//     "resource": {
10343	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10344	//       "location": "path",
10345	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10346	//       "required": true,
10347	//       "type": "string"
10348	//     }
10349	//   },
10350	//   "path": "v1beta1/{+resource}:testIamPermissions",
10351	//   "request": {
10352	//     "$ref": "TestIamPermissionsRequest"
10353	//   },
10354	//   "response": {
10355	//     "$ref": "TestIamPermissionsResponse"
10356	//   },
10357	//   "scopes": [
10358	//     "https://www.googleapis.com/auth/cloud-platform"
10359	//   ]
10360	// }
10361
10362}
10363
10364// method id "healthcare.projects.locations.datasets.annotationStores.annotations.create":
10365
10366type ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall struct {
10367	s          *Service
10368	parent     string
10369	annotation *Annotation
10370	urlParams_ gensupport.URLParams
10371	ctx_       context.Context
10372	header_    http.Header
10373}
10374
10375// Create: Creates a new Annotation record. It is valid to create
10376// Annotation objects for the same source more than once since a unique
10377// ID is assigned to each record by this service.
10378//
10379// - parent: The name of the Annotation store this annotation belongs
10380//   to. For example,
10381//   `projects/my-project/locations/us-central1/datasets/mydataset/annota
10382//   tionStores/myannotationstore`.
10383func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Create(parent string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10384	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10385	c.parent = parent
10386	c.annotation = annotation
10387	return c
10388}
10389
10390// Fields allows partial responses to be retrieved. See
10391// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10392// for more information.
10393func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10394	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10395	return c
10396}
10397
10398// Context sets the context to be used in this call's Do method. Any
10399// pending HTTP request will be aborted if the provided context is
10400// canceled.
10401func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall {
10402	c.ctx_ = ctx
10403	return c
10404}
10405
10406// Header returns an http.Header that can be modified by the caller to
10407// add HTTP headers to the request.
10408func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Header() http.Header {
10409	if c.header_ == nil {
10410		c.header_ = make(http.Header)
10411	}
10412	return c.header_
10413}
10414
10415func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) doRequest(alt string) (*http.Response, error) {
10416	reqHeaders := make(http.Header)
10417	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10418	for k, v := range c.header_ {
10419		reqHeaders[k] = v
10420	}
10421	reqHeaders.Set("User-Agent", c.s.userAgent())
10422	var body io.Reader = nil
10423	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
10424	if err != nil {
10425		return nil, err
10426	}
10427	reqHeaders.Set("Content-Type", "application/json")
10428	c.urlParams_.Set("alt", alt)
10429	c.urlParams_.Set("prettyPrint", "false")
10430	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10431	urls += "?" + c.urlParams_.Encode()
10432	req, err := http.NewRequest("POST", urls, body)
10433	if err != nil {
10434		return nil, err
10435	}
10436	req.Header = reqHeaders
10437	googleapi.Expand(req.URL, map[string]string{
10438		"parent": c.parent,
10439	})
10440	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10441}
10442
10443// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.create" call.
10444// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10445// status code is an error. Response headers are in either
10446// *Annotation.ServerResponse.Header or (if a response was returned at
10447// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10448// to check whether the returned error was because
10449// http.StatusNotModified was returned.
10450func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10451	gensupport.SetOptions(c.urlParams_, opts...)
10452	res, err := c.doRequest("json")
10453	if res != nil && res.StatusCode == http.StatusNotModified {
10454		if res.Body != nil {
10455			res.Body.Close()
10456		}
10457		return nil, &googleapi.Error{
10458			Code:   res.StatusCode,
10459			Header: res.Header,
10460		}
10461	}
10462	if err != nil {
10463		return nil, err
10464	}
10465	defer googleapi.CloseBody(res)
10466	if err := googleapi.CheckResponse(res); err != nil {
10467		return nil, err
10468	}
10469	ret := &Annotation{
10470		ServerResponse: googleapi.ServerResponse{
10471			Header:         res.Header,
10472			HTTPStatusCode: res.StatusCode,
10473		},
10474	}
10475	target := &ret
10476	if err := gensupport.DecodeResponse(target, res); err != nil {
10477		return nil, err
10478	}
10479	return ret, nil
10480	// {
10481	//   "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.",
10482	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10483	//   "httpMethod": "POST",
10484	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.create",
10485	//   "parameterOrder": [
10486	//     "parent"
10487	//   ],
10488	//   "parameters": {
10489	//     "parent": {
10490	//       "description": "The name of the Annotation store this annotation belongs to. For example, `projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.",
10491	//       "location": "path",
10492	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10493	//       "required": true,
10494	//       "type": "string"
10495	//     }
10496	//   },
10497	//   "path": "v1beta1/{+parent}/annotations",
10498	//   "request": {
10499	//     "$ref": "Annotation"
10500	//   },
10501	//   "response": {
10502	//     "$ref": "Annotation"
10503	//   },
10504	//   "scopes": [
10505	//     "https://www.googleapis.com/auth/cloud-platform"
10506	//   ]
10507	// }
10508
10509}
10510
10511// method id "healthcare.projects.locations.datasets.annotationStores.annotations.delete":
10512
10513type ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall struct {
10514	s          *Service
10515	name       string
10516	urlParams_ gensupport.URLParams
10517	ctx_       context.Context
10518	header_    http.Header
10519}
10520
10521// Delete: Deletes an Annotation or returns NOT_FOUND if it does not
10522// exist.
10523//
10524// - name: The resource name of the Annotation to delete.
10525func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Delete(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10526	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10527	c.name = name
10528	return c
10529}
10530
10531// Fields allows partial responses to be retrieved. See
10532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10533// for more information.
10534func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10536	return c
10537}
10538
10539// Context sets the context to be used in this call's Do method. Any
10540// pending HTTP request will be aborted if the provided context is
10541// canceled.
10542func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall {
10543	c.ctx_ = ctx
10544	return c
10545}
10546
10547// Header returns an http.Header that can be modified by the caller to
10548// add HTTP headers to the request.
10549func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Header() http.Header {
10550	if c.header_ == nil {
10551		c.header_ = make(http.Header)
10552	}
10553	return c.header_
10554}
10555
10556func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
10557	reqHeaders := make(http.Header)
10558	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10559	for k, v := range c.header_ {
10560		reqHeaders[k] = v
10561	}
10562	reqHeaders.Set("User-Agent", c.s.userAgent())
10563	var body io.Reader = nil
10564	c.urlParams_.Set("alt", alt)
10565	c.urlParams_.Set("prettyPrint", "false")
10566	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10567	urls += "?" + c.urlParams_.Encode()
10568	req, err := http.NewRequest("DELETE", urls, body)
10569	if err != nil {
10570		return nil, err
10571	}
10572	req.Header = reqHeaders
10573	googleapi.Expand(req.URL, map[string]string{
10574		"name": c.name,
10575	})
10576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10577}
10578
10579// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.delete" call.
10580// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10581// code is an error. Response headers are in either
10582// *Empty.ServerResponse.Header or (if a response was returned at all)
10583// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10584// check whether the returned error was because http.StatusNotModified
10585// was returned.
10586func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10587	gensupport.SetOptions(c.urlParams_, opts...)
10588	res, err := c.doRequest("json")
10589	if res != nil && res.StatusCode == http.StatusNotModified {
10590		if res.Body != nil {
10591			res.Body.Close()
10592		}
10593		return nil, &googleapi.Error{
10594			Code:   res.StatusCode,
10595			Header: res.Header,
10596		}
10597	}
10598	if err != nil {
10599		return nil, err
10600	}
10601	defer googleapi.CloseBody(res)
10602	if err := googleapi.CheckResponse(res); err != nil {
10603		return nil, err
10604	}
10605	ret := &Empty{
10606		ServerResponse: googleapi.ServerResponse{
10607			Header:         res.Header,
10608			HTTPStatusCode: res.StatusCode,
10609		},
10610	}
10611	target := &ret
10612	if err := gensupport.DecodeResponse(target, res); err != nil {
10613		return nil, err
10614	}
10615	return ret, nil
10616	// {
10617	//   "description": "Deletes an Annotation or returns NOT_FOUND if it does not exist.",
10618	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10619	//   "httpMethod": "DELETE",
10620	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete",
10621	//   "parameterOrder": [
10622	//     "name"
10623	//   ],
10624	//   "parameters": {
10625	//     "name": {
10626	//       "description": "The resource name of the Annotation to delete.",
10627	//       "location": "path",
10628	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10629	//       "required": true,
10630	//       "type": "string"
10631	//     }
10632	//   },
10633	//   "path": "v1beta1/{+name}",
10634	//   "response": {
10635	//     "$ref": "Empty"
10636	//   },
10637	//   "scopes": [
10638	//     "https://www.googleapis.com/auth/cloud-platform"
10639	//   ]
10640	// }
10641
10642}
10643
10644// method id "healthcare.projects.locations.datasets.annotationStores.annotations.get":
10645
10646type ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall struct {
10647	s            *Service
10648	name         string
10649	urlParams_   gensupport.URLParams
10650	ifNoneMatch_ string
10651	ctx_         context.Context
10652	header_      http.Header
10653}
10654
10655// Get: Gets an Annotation.
10656//
10657// - name: The resource name of the Annotation to retrieve.
10658func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Get(name string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10659	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10660	c.name = name
10661	return c
10662}
10663
10664// Fields allows partial responses to be retrieved. See
10665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10666// for more information.
10667func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10669	return c
10670}
10671
10672// IfNoneMatch sets the optional parameter which makes the operation
10673// fail if the object's ETag matches the given value. This is useful for
10674// getting updates only after the object has changed since the last
10675// request. Use googleapi.IsNotModified to check whether the response
10676// error from Do is the result of In-None-Match.
10677func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10678	c.ifNoneMatch_ = entityTag
10679	return c
10680}
10681
10682// Context sets the context to be used in this call's Do method. Any
10683// pending HTTP request will be aborted if the provided context is
10684// canceled.
10685func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall {
10686	c.ctx_ = ctx
10687	return c
10688}
10689
10690// Header returns an http.Header that can be modified by the caller to
10691// add HTTP headers to the request.
10692func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Header() http.Header {
10693	if c.header_ == nil {
10694		c.header_ = make(http.Header)
10695	}
10696	return c.header_
10697}
10698
10699func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
10700	reqHeaders := make(http.Header)
10701	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10702	for k, v := range c.header_ {
10703		reqHeaders[k] = v
10704	}
10705	reqHeaders.Set("User-Agent", c.s.userAgent())
10706	if c.ifNoneMatch_ != "" {
10707		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10708	}
10709	var body io.Reader = nil
10710	c.urlParams_.Set("alt", alt)
10711	c.urlParams_.Set("prettyPrint", "false")
10712	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10713	urls += "?" + c.urlParams_.Encode()
10714	req, err := http.NewRequest("GET", urls, body)
10715	if err != nil {
10716		return nil, err
10717	}
10718	req.Header = reqHeaders
10719	googleapi.Expand(req.URL, map[string]string{
10720		"name": c.name,
10721	})
10722	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10723}
10724
10725// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.get" call.
10726// Exactly one of *Annotation or error will be non-nil. Any non-2xx
10727// status code is an error. Response headers are in either
10728// *Annotation.ServerResponse.Header or (if a response was returned at
10729// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10730// to check whether the returned error was because
10731// http.StatusNotModified was returned.
10732func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
10733	gensupport.SetOptions(c.urlParams_, opts...)
10734	res, err := c.doRequest("json")
10735	if res != nil && res.StatusCode == http.StatusNotModified {
10736		if res.Body != nil {
10737			res.Body.Close()
10738		}
10739		return nil, &googleapi.Error{
10740			Code:   res.StatusCode,
10741			Header: res.Header,
10742		}
10743	}
10744	if err != nil {
10745		return nil, err
10746	}
10747	defer googleapi.CloseBody(res)
10748	if err := googleapi.CheckResponse(res); err != nil {
10749		return nil, err
10750	}
10751	ret := &Annotation{
10752		ServerResponse: googleapi.ServerResponse{
10753			Header:         res.Header,
10754			HTTPStatusCode: res.StatusCode,
10755		},
10756	}
10757	target := &ret
10758	if err := gensupport.DecodeResponse(target, res); err != nil {
10759		return nil, err
10760	}
10761	return ret, nil
10762	// {
10763	//   "description": "Gets an Annotation.",
10764	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
10765	//   "httpMethod": "GET",
10766	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.get",
10767	//   "parameterOrder": [
10768	//     "name"
10769	//   ],
10770	//   "parameters": {
10771	//     "name": {
10772	//       "description": "The resource name of the Annotation to retrieve.",
10773	//       "location": "path",
10774	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
10775	//       "required": true,
10776	//       "type": "string"
10777	//     }
10778	//   },
10779	//   "path": "v1beta1/{+name}",
10780	//   "response": {
10781	//     "$ref": "Annotation"
10782	//   },
10783	//   "scopes": [
10784	//     "https://www.googleapis.com/auth/cloud-platform"
10785	//   ]
10786	// }
10787
10788}
10789
10790// method id "healthcare.projects.locations.datasets.annotationStores.annotations.list":
10791
10792type ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall struct {
10793	s            *Service
10794	parent       string
10795	urlParams_   gensupport.URLParams
10796	ifNoneMatch_ string
10797	ctx_         context.Context
10798	header_      http.Header
10799}
10800
10801// List: Lists the Annotations in the given Annotation store for a
10802// source resource.
10803//
10804// - parent: Name of the Annotation store to retrieve Annotations from.
10805func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) List(parent string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10806	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10807	c.parent = parent
10808	return c
10809}
10810
10811// Filter sets the optional parameter "filter": Restricts Annotations
10812// returned to those matching a filter. Functions available for
10813// filtering are: -
10814// `matches("annotation_source.cloud_healthcare_source.name",
10815// substring)`. Filter on `cloud_healthcare_source.name`. For example:
10816// `matches("annotation_source.cloud_healthcare_source.name", "some
10817// source")`. - `matches("annotation", substring)`. Filter on all fields
10818// of annotation. For example: `matches("annotation", "some-content")`.
10819// - `type("text")`, `type("image")`, `type("resource")`. Filter on the
10820// type of annotation `data`.
10821func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10822	c.urlParams_.Set("filter", filter)
10823	return c
10824}
10825
10826// PageSize sets the optional parameter "pageSize": Limit on the number
10827// of Annotations to return in a single response. If not specified, 100
10828// is used. May not be larger than 1000.
10829func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10830	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10831	return c
10832}
10833
10834// PageToken sets the optional parameter "pageToken": The
10835// next_page_token value returned from the previous List request, if
10836// any.
10837func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10838	c.urlParams_.Set("pageToken", pageToken)
10839	return c
10840}
10841
10842// View sets the optional parameter "view": Controls which fields are
10843// populated in the response.
10844//
10845// Possible values:
10846//   "ANNOTATION_VIEW_UNSPECIFIED" - Same as BASIC.
10847//   "ANNOTATION_VIEW_BASIC" - Only `name`, `annotation_source` and
10848// `custom_data` fields are populated.
10849//   "ANNOTATION_VIEW_FULL" - All fields are populated.
10850func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) View(view string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10851	c.urlParams_.Set("view", view)
10852	return c
10853}
10854
10855// Fields allows partial responses to be retrieved. See
10856// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10857// for more information.
10858func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10859	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10860	return c
10861}
10862
10863// IfNoneMatch sets the optional parameter which makes the operation
10864// fail if the object's ETag matches the given value. This is useful for
10865// getting updates only after the object has changed since the last
10866// request. Use googleapi.IsNotModified to check whether the response
10867// error from Do is the result of In-None-Match.
10868func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10869	c.ifNoneMatch_ = entityTag
10870	return c
10871}
10872
10873// Context sets the context to be used in this call's Do method. Any
10874// pending HTTP request will be aborted if the provided context is
10875// canceled.
10876func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall {
10877	c.ctx_ = ctx
10878	return c
10879}
10880
10881// Header returns an http.Header that can be modified by the caller to
10882// add HTTP headers to the request.
10883func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Header() http.Header {
10884	if c.header_ == nil {
10885		c.header_ = make(http.Header)
10886	}
10887	return c.header_
10888}
10889
10890func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
10891	reqHeaders := make(http.Header)
10892	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10893	for k, v := range c.header_ {
10894		reqHeaders[k] = v
10895	}
10896	reqHeaders.Set("User-Agent", c.s.userAgent())
10897	if c.ifNoneMatch_ != "" {
10898		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10899	}
10900	var body io.Reader = nil
10901	c.urlParams_.Set("alt", alt)
10902	c.urlParams_.Set("prettyPrint", "false")
10903	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/annotations")
10904	urls += "?" + c.urlParams_.Encode()
10905	req, err := http.NewRequest("GET", urls, body)
10906	if err != nil {
10907		return nil, err
10908	}
10909	req.Header = reqHeaders
10910	googleapi.Expand(req.URL, map[string]string{
10911		"parent": c.parent,
10912	})
10913	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10914}
10915
10916// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.list" call.
10917// Exactly one of *ListAnnotationsResponse or error will be non-nil. Any
10918// non-2xx status code is an error. Response headers are in either
10919// *ListAnnotationsResponse.ServerResponse.Header or (if a response was
10920// returned at all) in error.(*googleapi.Error).Header. Use
10921// googleapi.IsNotModified to check whether the returned error was
10922// because http.StatusNotModified was returned.
10923func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Do(opts ...googleapi.CallOption) (*ListAnnotationsResponse, error) {
10924	gensupport.SetOptions(c.urlParams_, opts...)
10925	res, err := c.doRequest("json")
10926	if res != nil && res.StatusCode == http.StatusNotModified {
10927		if res.Body != nil {
10928			res.Body.Close()
10929		}
10930		return nil, &googleapi.Error{
10931			Code:   res.StatusCode,
10932			Header: res.Header,
10933		}
10934	}
10935	if err != nil {
10936		return nil, err
10937	}
10938	defer googleapi.CloseBody(res)
10939	if err := googleapi.CheckResponse(res); err != nil {
10940		return nil, err
10941	}
10942	ret := &ListAnnotationsResponse{
10943		ServerResponse: googleapi.ServerResponse{
10944			Header:         res.Header,
10945			HTTPStatusCode: res.StatusCode,
10946		},
10947	}
10948	target := &ret
10949	if err := gensupport.DecodeResponse(target, res); err != nil {
10950		return nil, err
10951	}
10952	return ret, nil
10953	// {
10954	//   "description": "Lists the Annotations in the given Annotation store for a source resource.",
10955	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations",
10956	//   "httpMethod": "GET",
10957	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.list",
10958	//   "parameterOrder": [
10959	//     "parent"
10960	//   ],
10961	//   "parameters": {
10962	//     "filter": {
10963	//       "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`.",
10964	//       "location": "query",
10965	//       "type": "string"
10966	//     },
10967	//     "pageSize": {
10968	//       "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.",
10969	//       "format": "int32",
10970	//       "location": "query",
10971	//       "type": "integer"
10972	//     },
10973	//     "pageToken": {
10974	//       "description": "The next_page_token value returned from the previous List request, if any.",
10975	//       "location": "query",
10976	//       "type": "string"
10977	//     },
10978	//     "parent": {
10979	//       "description": "Name of the Annotation store to retrieve Annotations from.",
10980	//       "location": "path",
10981	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$",
10982	//       "required": true,
10983	//       "type": "string"
10984	//     },
10985	//     "view": {
10986	//       "description": "Controls which fields are populated in the response.",
10987	//       "enum": [
10988	//         "ANNOTATION_VIEW_UNSPECIFIED",
10989	//         "ANNOTATION_VIEW_BASIC",
10990	//         "ANNOTATION_VIEW_FULL"
10991	//       ],
10992	//       "enumDescriptions": [
10993	//         "Same as BASIC.",
10994	//         "Only `name`, `annotation_source` and `custom_data` fields are populated.",
10995	//         "All fields are populated."
10996	//       ],
10997	//       "location": "query",
10998	//       "type": "string"
10999	//     }
11000	//   },
11001	//   "path": "v1beta1/{+parent}/annotations",
11002	//   "response": {
11003	//     "$ref": "ListAnnotationsResponse"
11004	//   },
11005	//   "scopes": [
11006	//     "https://www.googleapis.com/auth/cloud-platform"
11007	//   ]
11008	// }
11009
11010}
11011
11012// Pages invokes f for each page of results.
11013// A non-nil error returned from f will halt the iteration.
11014// The provided context supersedes any context provided to the Context method.
11015func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) Pages(ctx context.Context, f func(*ListAnnotationsResponse) error) error {
11016	c.ctx_ = ctx
11017	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11018	for {
11019		x, err := c.Do()
11020		if err != nil {
11021			return err
11022		}
11023		if err := f(x); err != nil {
11024			return err
11025		}
11026		if x.NextPageToken == "" {
11027			return nil
11028		}
11029		c.PageToken(x.NextPageToken)
11030	}
11031}
11032
11033// method id "healthcare.projects.locations.datasets.annotationStores.annotations.patch":
11034
11035type ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall struct {
11036	s          *Service
11037	name       string
11038	annotation *Annotation
11039	urlParams_ gensupport.URLParams
11040	ctx_       context.Context
11041	header_    http.Header
11042}
11043
11044// Patch: Updates the Annotation.
11045//
11046// - name: Resource name of the Annotation, of the form
11047//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
11048//   /annotationStores/{annotation_store_id}/annotations/{annotation_id}`
11049//   .
11050func (r *ProjectsLocationsDatasetsAnnotationStoresAnnotationsService) Patch(name string, annotation *Annotation) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
11051	c := &ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11052	c.name = name
11053	c.annotation = annotation
11054	return c
11055}
11056
11057// UpdateMask sets the optional parameter "updateMask": The update mask
11058// applies to the resource. For the `FieldMask` definition, see
11059// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
11060func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
11061	c.urlParams_.Set("updateMask", updateMask)
11062	return c
11063}
11064
11065// Fields allows partial responses to be retrieved. See
11066// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11067// for more information.
11068func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
11069	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11070	return c
11071}
11072
11073// Context sets the context to be used in this call's Do method. Any
11074// pending HTTP request will be aborted if the provided context is
11075// canceled.
11076func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall {
11077	c.ctx_ = ctx
11078	return c
11079}
11080
11081// Header returns an http.Header that can be modified by the caller to
11082// add HTTP headers to the request.
11083func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Header() http.Header {
11084	if c.header_ == nil {
11085		c.header_ = make(http.Header)
11086	}
11087	return c.header_
11088}
11089
11090func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) doRequest(alt string) (*http.Response, error) {
11091	reqHeaders := make(http.Header)
11092	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11093	for k, v := range c.header_ {
11094		reqHeaders[k] = v
11095	}
11096	reqHeaders.Set("User-Agent", c.s.userAgent())
11097	var body io.Reader = nil
11098	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
11099	if err != nil {
11100		return nil, err
11101	}
11102	reqHeaders.Set("Content-Type", "application/json")
11103	c.urlParams_.Set("alt", alt)
11104	c.urlParams_.Set("prettyPrint", "false")
11105	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11106	urls += "?" + c.urlParams_.Encode()
11107	req, err := http.NewRequest("PATCH", urls, body)
11108	if err != nil {
11109		return nil, err
11110	}
11111	req.Header = reqHeaders
11112	googleapi.Expand(req.URL, map[string]string{
11113		"name": c.name,
11114	})
11115	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11116}
11117
11118// Do executes the "healthcare.projects.locations.datasets.annotationStores.annotations.patch" call.
11119// Exactly one of *Annotation or error will be non-nil. Any non-2xx
11120// status code is an error. Response headers are in either
11121// *Annotation.ServerResponse.Header or (if a response was returned at
11122// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11123// to check whether the returned error was because
11124// http.StatusNotModified was returned.
11125func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
11126	gensupport.SetOptions(c.urlParams_, opts...)
11127	res, err := c.doRequest("json")
11128	if res != nil && res.StatusCode == http.StatusNotModified {
11129		if res.Body != nil {
11130			res.Body.Close()
11131		}
11132		return nil, &googleapi.Error{
11133			Code:   res.StatusCode,
11134			Header: res.Header,
11135		}
11136	}
11137	if err != nil {
11138		return nil, err
11139	}
11140	defer googleapi.CloseBody(res)
11141	if err := googleapi.CheckResponse(res); err != nil {
11142		return nil, err
11143	}
11144	ret := &Annotation{
11145		ServerResponse: googleapi.ServerResponse{
11146			Header:         res.Header,
11147			HTTPStatusCode: res.StatusCode,
11148		},
11149	}
11150	target := &ret
11151	if err := gensupport.DecodeResponse(target, res); err != nil {
11152		return nil, err
11153	}
11154	return ret, nil
11155	// {
11156	//   "description": "Updates the Annotation.",
11157	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}",
11158	//   "httpMethod": "PATCH",
11159	//   "id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch",
11160	//   "parameterOrder": [
11161	//     "name"
11162	//   ],
11163	//   "parameters": {
11164	//     "name": {
11165	//       "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}`.",
11166	//       "location": "path",
11167	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$",
11168	//       "required": true,
11169	//       "type": "string"
11170	//     },
11171	//     "updateMask": {
11172	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
11173	//       "format": "google-fieldmask",
11174	//       "location": "query",
11175	//       "type": "string"
11176	//     }
11177	//   },
11178	//   "path": "v1beta1/{+name}",
11179	//   "request": {
11180	//     "$ref": "Annotation"
11181	//   },
11182	//   "response": {
11183	//     "$ref": "Annotation"
11184	//   },
11185	//   "scopes": [
11186	//     "https://www.googleapis.com/auth/cloud-platform"
11187	//   ]
11188	// }
11189
11190}
11191
11192// method id "healthcare.projects.locations.datasets.consentStores.checkDataAccess":
11193
11194type ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall struct {
11195	s                      *Service
11196	consentStore           string
11197	checkdataaccessrequest *CheckDataAccessRequest
11198	urlParams_             gensupport.URLParams
11199	ctx_                   context.Context
11200	header_                http.Header
11201}
11202
11203// CheckDataAccess: Checks if a particular data_id of a User data
11204// mapping in the specified consent store is consented for the specified
11205// use.
11206//
11207// - consentStore: Name of the consent store where the requested data_id
11208//   is stored, of the form
11209//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
11210//   /consentStores/{consent_store_id}`.
11211func (r *ProjectsLocationsDatasetsConsentStoresService) CheckDataAccess(consentStore string, checkdataaccessrequest *CheckDataAccessRequest) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11212	c := &ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11213	c.consentStore = consentStore
11214	c.checkdataaccessrequest = checkdataaccessrequest
11215	return c
11216}
11217
11218// Fields allows partial responses to be retrieved. See
11219// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11220// for more information.
11221func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11222	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11223	return c
11224}
11225
11226// Context sets the context to be used in this call's Do method. Any
11227// pending HTTP request will be aborted if the provided context is
11228// canceled.
11229func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall {
11230	c.ctx_ = ctx
11231	return c
11232}
11233
11234// Header returns an http.Header that can be modified by the caller to
11235// add HTTP headers to the request.
11236func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Header() http.Header {
11237	if c.header_ == nil {
11238		c.header_ = make(http.Header)
11239	}
11240	return c.header_
11241}
11242
11243func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) doRequest(alt string) (*http.Response, error) {
11244	reqHeaders := make(http.Header)
11245	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11246	for k, v := range c.header_ {
11247		reqHeaders[k] = v
11248	}
11249	reqHeaders.Set("User-Agent", c.s.userAgent())
11250	var body io.Reader = nil
11251	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkdataaccessrequest)
11252	if err != nil {
11253		return nil, err
11254	}
11255	reqHeaders.Set("Content-Type", "application/json")
11256	c.urlParams_.Set("alt", alt)
11257	c.urlParams_.Set("prettyPrint", "false")
11258	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:checkDataAccess")
11259	urls += "?" + c.urlParams_.Encode()
11260	req, err := http.NewRequest("POST", urls, body)
11261	if err != nil {
11262		return nil, err
11263	}
11264	req.Header = reqHeaders
11265	googleapi.Expand(req.URL, map[string]string{
11266		"consentStore": c.consentStore,
11267	})
11268	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11269}
11270
11271// Do executes the "healthcare.projects.locations.datasets.consentStores.checkDataAccess" call.
11272// Exactly one of *CheckDataAccessResponse or error will be non-nil. Any
11273// non-2xx status code is an error. Response headers are in either
11274// *CheckDataAccessResponse.ServerResponse.Header or (if a response was
11275// returned at all) in error.(*googleapi.Error).Header. Use
11276// googleapi.IsNotModified to check whether the returned error was
11277// because http.StatusNotModified was returned.
11278func (c *ProjectsLocationsDatasetsConsentStoresCheckDataAccessCall) Do(opts ...googleapi.CallOption) (*CheckDataAccessResponse, error) {
11279	gensupport.SetOptions(c.urlParams_, opts...)
11280	res, err := c.doRequest("json")
11281	if res != nil && res.StatusCode == http.StatusNotModified {
11282		if res.Body != nil {
11283			res.Body.Close()
11284		}
11285		return nil, &googleapi.Error{
11286			Code:   res.StatusCode,
11287			Header: res.Header,
11288		}
11289	}
11290	if err != nil {
11291		return nil, err
11292	}
11293	defer googleapi.CloseBody(res)
11294	if err := googleapi.CheckResponse(res); err != nil {
11295		return nil, err
11296	}
11297	ret := &CheckDataAccessResponse{
11298		ServerResponse: googleapi.ServerResponse{
11299			Header:         res.Header,
11300			HTTPStatusCode: res.StatusCode,
11301		},
11302	}
11303	target := &ret
11304	if err := gensupport.DecodeResponse(target, res); err != nil {
11305		return nil, err
11306	}
11307	return ret, nil
11308	// {
11309	//   "description": "Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.",
11310	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess",
11311	//   "httpMethod": "POST",
11312	//   "id": "healthcare.projects.locations.datasets.consentStores.checkDataAccess",
11313	//   "parameterOrder": [
11314	//     "consentStore"
11315	//   ],
11316	//   "parameters": {
11317	//     "consentStore": {
11318	//       "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}`.",
11319	//       "location": "path",
11320	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11321	//       "required": true,
11322	//       "type": "string"
11323	//     }
11324	//   },
11325	//   "path": "v1beta1/{+consentStore}:checkDataAccess",
11326	//   "request": {
11327	//     "$ref": "CheckDataAccessRequest"
11328	//   },
11329	//   "response": {
11330	//     "$ref": "CheckDataAccessResponse"
11331	//   },
11332	//   "scopes": [
11333	//     "https://www.googleapis.com/auth/cloud-platform"
11334	//   ]
11335	// }
11336
11337}
11338
11339// method id "healthcare.projects.locations.datasets.consentStores.create":
11340
11341type ProjectsLocationsDatasetsConsentStoresCreateCall struct {
11342	s            *Service
11343	parent       string
11344	consentstore *ConsentStore
11345	urlParams_   gensupport.URLParams
11346	ctx_         context.Context
11347	header_      http.Header
11348}
11349
11350// Create: Creates a new consent store in the parent dataset. Attempting
11351// to create a consent store with the same ID as an existing store fails
11352// with an ALREADY_EXISTS error.
11353//
11354// - parent: The name of the dataset this consent store belongs to.
11355func (r *ProjectsLocationsDatasetsConsentStoresService) Create(parent string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11356	c := &ProjectsLocationsDatasetsConsentStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11357	c.parent = parent
11358	c.consentstore = consentstore
11359	return c
11360}
11361
11362// ConsentStoreId sets the optional parameter "consentStoreId":
11363// Required. The ID of the consent store to create. The string must
11364// match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`. Cannot be
11365// changed after creation.
11366func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) ConsentStoreId(consentStoreId string) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11367	c.urlParams_.Set("consentStoreId", consentStoreId)
11368	return c
11369}
11370
11371// Fields allows partial responses to be retrieved. See
11372// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11373// for more information.
11374func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11375	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11376	return c
11377}
11378
11379// Context sets the context to be used in this call's Do method. Any
11380// pending HTTP request will be aborted if the provided context is
11381// canceled.
11382func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresCreateCall {
11383	c.ctx_ = ctx
11384	return c
11385}
11386
11387// Header returns an http.Header that can be modified by the caller to
11388// add HTTP headers to the request.
11389func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Header() http.Header {
11390	if c.header_ == nil {
11391		c.header_ = make(http.Header)
11392	}
11393	return c.header_
11394}
11395
11396func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) doRequest(alt string) (*http.Response, error) {
11397	reqHeaders := make(http.Header)
11398	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11399	for k, v := range c.header_ {
11400		reqHeaders[k] = v
11401	}
11402	reqHeaders.Set("User-Agent", c.s.userAgent())
11403	var body io.Reader = nil
11404	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
11405	if err != nil {
11406		return nil, err
11407	}
11408	reqHeaders.Set("Content-Type", "application/json")
11409	c.urlParams_.Set("alt", alt)
11410	c.urlParams_.Set("prettyPrint", "false")
11411	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
11412	urls += "?" + c.urlParams_.Encode()
11413	req, err := http.NewRequest("POST", urls, body)
11414	if err != nil {
11415		return nil, err
11416	}
11417	req.Header = reqHeaders
11418	googleapi.Expand(req.URL, map[string]string{
11419		"parent": c.parent,
11420	})
11421	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11422}
11423
11424// Do executes the "healthcare.projects.locations.datasets.consentStores.create" call.
11425// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11426// status code is an error. Response headers are in either
11427// *ConsentStore.ServerResponse.Header or (if a response was returned at
11428// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11429// to check whether the returned error was because
11430// http.StatusNotModified was returned.
11431func (c *ProjectsLocationsDatasetsConsentStoresCreateCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11432	gensupport.SetOptions(c.urlParams_, opts...)
11433	res, err := c.doRequest("json")
11434	if res != nil && res.StatusCode == http.StatusNotModified {
11435		if res.Body != nil {
11436			res.Body.Close()
11437		}
11438		return nil, &googleapi.Error{
11439			Code:   res.StatusCode,
11440			Header: res.Header,
11441		}
11442	}
11443	if err != nil {
11444		return nil, err
11445	}
11446	defer googleapi.CloseBody(res)
11447	if err := googleapi.CheckResponse(res); err != nil {
11448		return nil, err
11449	}
11450	ret := &ConsentStore{
11451		ServerResponse: googleapi.ServerResponse{
11452			Header:         res.Header,
11453			HTTPStatusCode: res.StatusCode,
11454		},
11455	}
11456	target := &ret
11457	if err := gensupport.DecodeResponse(target, res); err != nil {
11458		return nil, err
11459	}
11460	return ret, nil
11461	// {
11462	//   "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.",
11463	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
11464	//   "httpMethod": "POST",
11465	//   "id": "healthcare.projects.locations.datasets.consentStores.create",
11466	//   "parameterOrder": [
11467	//     "parent"
11468	//   ],
11469	//   "parameters": {
11470	//     "consentStoreId": {
11471	//       "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.",
11472	//       "location": "query",
11473	//       "type": "string"
11474	//     },
11475	//     "parent": {
11476	//       "description": "Required. The name of the dataset this consent store belongs to.",
11477	//       "location": "path",
11478	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
11479	//       "required": true,
11480	//       "type": "string"
11481	//     }
11482	//   },
11483	//   "path": "v1beta1/{+parent}/consentStores",
11484	//   "request": {
11485	//     "$ref": "ConsentStore"
11486	//   },
11487	//   "response": {
11488	//     "$ref": "ConsentStore"
11489	//   },
11490	//   "scopes": [
11491	//     "https://www.googleapis.com/auth/cloud-platform"
11492	//   ]
11493	// }
11494
11495}
11496
11497// method id "healthcare.projects.locations.datasets.consentStores.delete":
11498
11499type ProjectsLocationsDatasetsConsentStoresDeleteCall struct {
11500	s          *Service
11501	name       string
11502	urlParams_ gensupport.URLParams
11503	ctx_       context.Context
11504	header_    http.Header
11505}
11506
11507// Delete: Deletes the specified consent store and removes all the
11508// consent store's data.
11509//
11510// - name: The resource name of the consent store to delete.
11511func (r *ProjectsLocationsDatasetsConsentStoresService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11512	c := &ProjectsLocationsDatasetsConsentStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11513	c.name = name
11514	return c
11515}
11516
11517// Fields allows partial responses to be retrieved. See
11518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11519// for more information.
11520func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11522	return c
11523}
11524
11525// Context sets the context to be used in this call's Do method. Any
11526// pending HTTP request will be aborted if the provided context is
11527// canceled.
11528func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresDeleteCall {
11529	c.ctx_ = ctx
11530	return c
11531}
11532
11533// Header returns an http.Header that can be modified by the caller to
11534// add HTTP headers to the request.
11535func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Header() http.Header {
11536	if c.header_ == nil {
11537		c.header_ = make(http.Header)
11538	}
11539	return c.header_
11540}
11541
11542func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
11543	reqHeaders := make(http.Header)
11544	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11545	for k, v := range c.header_ {
11546		reqHeaders[k] = v
11547	}
11548	reqHeaders.Set("User-Agent", c.s.userAgent())
11549	var body io.Reader = nil
11550	c.urlParams_.Set("alt", alt)
11551	c.urlParams_.Set("prettyPrint", "false")
11552	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11553	urls += "?" + c.urlParams_.Encode()
11554	req, err := http.NewRequest("DELETE", urls, body)
11555	if err != nil {
11556		return nil, err
11557	}
11558	req.Header = reqHeaders
11559	googleapi.Expand(req.URL, map[string]string{
11560		"name": c.name,
11561	})
11562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11563}
11564
11565// Do executes the "healthcare.projects.locations.datasets.consentStores.delete" call.
11566// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11567// code is an error. Response headers are in either
11568// *Empty.ServerResponse.Header or (if a response was returned at all)
11569// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11570// check whether the returned error was because http.StatusNotModified
11571// was returned.
11572func (c *ProjectsLocationsDatasetsConsentStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11573	gensupport.SetOptions(c.urlParams_, opts...)
11574	res, err := c.doRequest("json")
11575	if res != nil && res.StatusCode == http.StatusNotModified {
11576		if res.Body != nil {
11577			res.Body.Close()
11578		}
11579		return nil, &googleapi.Error{
11580			Code:   res.StatusCode,
11581			Header: res.Header,
11582		}
11583	}
11584	if err != nil {
11585		return nil, err
11586	}
11587	defer googleapi.CloseBody(res)
11588	if err := googleapi.CheckResponse(res); err != nil {
11589		return nil, err
11590	}
11591	ret := &Empty{
11592		ServerResponse: googleapi.ServerResponse{
11593			Header:         res.Header,
11594			HTTPStatusCode: res.StatusCode,
11595		},
11596	}
11597	target := &ret
11598	if err := gensupport.DecodeResponse(target, res); err != nil {
11599		return nil, err
11600	}
11601	return ret, nil
11602	// {
11603	//   "description": "Deletes the specified consent store and removes all the consent store's data.",
11604	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11605	//   "httpMethod": "DELETE",
11606	//   "id": "healthcare.projects.locations.datasets.consentStores.delete",
11607	//   "parameterOrder": [
11608	//     "name"
11609	//   ],
11610	//   "parameters": {
11611	//     "name": {
11612	//       "description": "Required. The resource name of the consent store to delete.",
11613	//       "location": "path",
11614	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11615	//       "required": true,
11616	//       "type": "string"
11617	//     }
11618	//   },
11619	//   "path": "v1beta1/{+name}",
11620	//   "response": {
11621	//     "$ref": "Empty"
11622	//   },
11623	//   "scopes": [
11624	//     "https://www.googleapis.com/auth/cloud-platform"
11625	//   ]
11626	// }
11627
11628}
11629
11630// method id "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents":
11631
11632type ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall struct {
11633	s                           *Service
11634	consentStore                string
11635	evaluateuserconsentsrequest *EvaluateUserConsentsRequest
11636	urlParams_                  gensupport.URLParams
11637	ctx_                        context.Context
11638	header_                     http.Header
11639}
11640
11641// EvaluateUserConsents: Evaluates the user's Consents for all matching
11642// User data mappings. Note: User data mappings are indexed
11643// asynchronously, which can cause a slight delay between the time
11644// mappings are created or updated and when they are included in
11645// EvaluateUserConsents results.
11646//
11647// - consentStore: Name of the consent store to retrieve User data
11648//   mappings from.
11649func (r *ProjectsLocationsDatasetsConsentStoresService) EvaluateUserConsents(consentStore string, evaluateuserconsentsrequest *EvaluateUserConsentsRequest) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11650	c := &ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11651	c.consentStore = consentStore
11652	c.evaluateuserconsentsrequest = evaluateuserconsentsrequest
11653	return c
11654}
11655
11656// Fields allows partial responses to be retrieved. See
11657// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11658// for more information.
11659func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11660	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11661	return c
11662}
11663
11664// Context sets the context to be used in this call's Do method. Any
11665// pending HTTP request will be aborted if the provided context is
11666// canceled.
11667func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall {
11668	c.ctx_ = ctx
11669	return c
11670}
11671
11672// Header returns an http.Header that can be modified by the caller to
11673// add HTTP headers to the request.
11674func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Header() http.Header {
11675	if c.header_ == nil {
11676		c.header_ = make(http.Header)
11677	}
11678	return c.header_
11679}
11680
11681func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) doRequest(alt string) (*http.Response, error) {
11682	reqHeaders := make(http.Header)
11683	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11684	for k, v := range c.header_ {
11685		reqHeaders[k] = v
11686	}
11687	reqHeaders.Set("User-Agent", c.s.userAgent())
11688	var body io.Reader = nil
11689	body, err := googleapi.WithoutDataWrapper.JSONReader(c.evaluateuserconsentsrequest)
11690	if err != nil {
11691		return nil, err
11692	}
11693	reqHeaders.Set("Content-Type", "application/json")
11694	c.urlParams_.Set("alt", alt)
11695	c.urlParams_.Set("prettyPrint", "false")
11696	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:evaluateUserConsents")
11697	urls += "?" + c.urlParams_.Encode()
11698	req, err := http.NewRequest("POST", urls, body)
11699	if err != nil {
11700		return nil, err
11701	}
11702	req.Header = reqHeaders
11703	googleapi.Expand(req.URL, map[string]string{
11704		"consentStore": c.consentStore,
11705	})
11706	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11707}
11708
11709// Do executes the "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents" call.
11710// Exactly one of *EvaluateUserConsentsResponse or error will be
11711// non-nil. Any non-2xx status code is an error. Response headers are in
11712// either *EvaluateUserConsentsResponse.ServerResponse.Header or (if a
11713// response was returned at all) in error.(*googleapi.Error).Header. Use
11714// googleapi.IsNotModified to check whether the returned error was
11715// because http.StatusNotModified was returned.
11716func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Do(opts ...googleapi.CallOption) (*EvaluateUserConsentsResponse, error) {
11717	gensupport.SetOptions(c.urlParams_, opts...)
11718	res, err := c.doRequest("json")
11719	if res != nil && res.StatusCode == http.StatusNotModified {
11720		if res.Body != nil {
11721			res.Body.Close()
11722		}
11723		return nil, &googleapi.Error{
11724			Code:   res.StatusCode,
11725			Header: res.Header,
11726		}
11727	}
11728	if err != nil {
11729		return nil, err
11730	}
11731	defer googleapi.CloseBody(res)
11732	if err := googleapi.CheckResponse(res); err != nil {
11733		return nil, err
11734	}
11735	ret := &EvaluateUserConsentsResponse{
11736		ServerResponse: googleapi.ServerResponse{
11737			Header:         res.Header,
11738			HTTPStatusCode: res.StatusCode,
11739		},
11740	}
11741	target := &ret
11742	if err := gensupport.DecodeResponse(target, res); err != nil {
11743		return nil, err
11744	}
11745	return ret, nil
11746	// {
11747	//   "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.",
11748	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents",
11749	//   "httpMethod": "POST",
11750	//   "id": "healthcare.projects.locations.datasets.consentStores.evaluateUserConsents",
11751	//   "parameterOrder": [
11752	//     "consentStore"
11753	//   ],
11754	//   "parameters": {
11755	//     "consentStore": {
11756	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
11757	//       "location": "path",
11758	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11759	//       "required": true,
11760	//       "type": "string"
11761	//     }
11762	//   },
11763	//   "path": "v1beta1/{+consentStore}:evaluateUserConsents",
11764	//   "request": {
11765	//     "$ref": "EvaluateUserConsentsRequest"
11766	//   },
11767	//   "response": {
11768	//     "$ref": "EvaluateUserConsentsResponse"
11769	//   },
11770	//   "scopes": [
11771	//     "https://www.googleapis.com/auth/cloud-platform"
11772	//   ]
11773	// }
11774
11775}
11776
11777// Pages invokes f for each page of results.
11778// A non-nil error returned from f will halt the iteration.
11779// The provided context supersedes any context provided to the Context method.
11780func (c *ProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsCall) Pages(ctx context.Context, f func(*EvaluateUserConsentsResponse) error) error {
11781	c.ctx_ = ctx
11782	defer func(pt string) { c.evaluateuserconsentsrequest.PageToken = pt }(c.evaluateuserconsentsrequest.PageToken) // reset paging to original point
11783	for {
11784		x, err := c.Do()
11785		if err != nil {
11786			return err
11787		}
11788		if err := f(x); err != nil {
11789			return err
11790		}
11791		if x.NextPageToken == "" {
11792			return nil
11793		}
11794		c.evaluateuserconsentsrequest.PageToken = x.NextPageToken
11795	}
11796}
11797
11798// method id "healthcare.projects.locations.datasets.consentStores.get":
11799
11800type ProjectsLocationsDatasetsConsentStoresGetCall struct {
11801	s            *Service
11802	name         string
11803	urlParams_   gensupport.URLParams
11804	ifNoneMatch_ string
11805	ctx_         context.Context
11806	header_      http.Header
11807}
11808
11809// Get: Gets the specified consent store.
11810//
11811// - name: The resource name of the consent store to get.
11812func (r *ProjectsLocationsDatasetsConsentStoresService) Get(name string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11813	c := &ProjectsLocationsDatasetsConsentStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11814	c.name = name
11815	return c
11816}
11817
11818// Fields allows partial responses to be retrieved. See
11819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11820// for more information.
11821func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetCall {
11822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11823	return c
11824}
11825
11826// IfNoneMatch sets the optional parameter which makes the operation
11827// fail if the object's ETag matches the given value. This is useful for
11828// getting updates only after the object has changed since the last
11829// request. Use googleapi.IsNotModified to check whether the response
11830// error from Do is the result of In-None-Match.
11831func (c *ProjectsLocationsDatasetsConsentStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetCall {
11832	c.ifNoneMatch_ = entityTag
11833	return c
11834}
11835
11836// Context sets the context to be used in this call's Do method. Any
11837// pending HTTP request will be aborted if the provided context is
11838// canceled.
11839func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetCall {
11840	c.ctx_ = ctx
11841	return c
11842}
11843
11844// Header returns an http.Header that can be modified by the caller to
11845// add HTTP headers to the request.
11846func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Header() http.Header {
11847	if c.header_ == nil {
11848		c.header_ = make(http.Header)
11849	}
11850	return c.header_
11851}
11852
11853func (c *ProjectsLocationsDatasetsConsentStoresGetCall) doRequest(alt string) (*http.Response, error) {
11854	reqHeaders := make(http.Header)
11855	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11856	for k, v := range c.header_ {
11857		reqHeaders[k] = v
11858	}
11859	reqHeaders.Set("User-Agent", c.s.userAgent())
11860	if c.ifNoneMatch_ != "" {
11861		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11862	}
11863	var body io.Reader = nil
11864	c.urlParams_.Set("alt", alt)
11865	c.urlParams_.Set("prettyPrint", "false")
11866	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11867	urls += "?" + c.urlParams_.Encode()
11868	req, err := http.NewRequest("GET", urls, body)
11869	if err != nil {
11870		return nil, err
11871	}
11872	req.Header = reqHeaders
11873	googleapi.Expand(req.URL, map[string]string{
11874		"name": c.name,
11875	})
11876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11877}
11878
11879// Do executes the "healthcare.projects.locations.datasets.consentStores.get" call.
11880// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
11881// status code is an error. Response headers are in either
11882// *ConsentStore.ServerResponse.Header or (if a response was returned at
11883// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11884// to check whether the returned error was because
11885// http.StatusNotModified was returned.
11886func (c *ProjectsLocationsDatasetsConsentStoresGetCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
11887	gensupport.SetOptions(c.urlParams_, opts...)
11888	res, err := c.doRequest("json")
11889	if res != nil && res.StatusCode == http.StatusNotModified {
11890		if res.Body != nil {
11891			res.Body.Close()
11892		}
11893		return nil, &googleapi.Error{
11894			Code:   res.StatusCode,
11895			Header: res.Header,
11896		}
11897	}
11898	if err != nil {
11899		return nil, err
11900	}
11901	defer googleapi.CloseBody(res)
11902	if err := googleapi.CheckResponse(res); err != nil {
11903		return nil, err
11904	}
11905	ret := &ConsentStore{
11906		ServerResponse: googleapi.ServerResponse{
11907			Header:         res.Header,
11908			HTTPStatusCode: res.StatusCode,
11909		},
11910	}
11911	target := &ret
11912	if err := gensupport.DecodeResponse(target, res); err != nil {
11913		return nil, err
11914	}
11915	return ret, nil
11916	// {
11917	//   "description": "Gets the specified consent store.",
11918	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
11919	//   "httpMethod": "GET",
11920	//   "id": "healthcare.projects.locations.datasets.consentStores.get",
11921	//   "parameterOrder": [
11922	//     "name"
11923	//   ],
11924	//   "parameters": {
11925	//     "name": {
11926	//       "description": "Required. The resource name of the consent store to get.",
11927	//       "location": "path",
11928	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
11929	//       "required": true,
11930	//       "type": "string"
11931	//     }
11932	//   },
11933	//   "path": "v1beta1/{+name}",
11934	//   "response": {
11935	//     "$ref": "ConsentStore"
11936	//   },
11937	//   "scopes": [
11938	//     "https://www.googleapis.com/auth/cloud-platform"
11939	//   ]
11940	// }
11941
11942}
11943
11944// method id "healthcare.projects.locations.datasets.consentStores.getIamPolicy":
11945
11946type ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall struct {
11947	s            *Service
11948	resource     string
11949	urlParams_   gensupport.URLParams
11950	ifNoneMatch_ string
11951	ctx_         context.Context
11952	header_      http.Header
11953}
11954
11955// GetIamPolicy: Gets the access control policy for a resource. Returns
11956// an empty policy if the resource exists and does not have a policy
11957// set.
11958//
11959// - resource: REQUIRED: The resource for which the policy is being
11960//   requested. See the operation documentation for the appropriate
11961//   value for this field.
11962func (r *ProjectsLocationsDatasetsConsentStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11963	c := &ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11964	c.resource = resource
11965	return c
11966}
11967
11968// OptionsRequestedPolicyVersion sets the optional parameter
11969// "options.requestedPolicyVersion": The policy format version to be
11970// returned. Valid values are 0, 1, and 3. Requests specifying an
11971// invalid value will be rejected. Requests for policies with any
11972// conditional bindings must specify version 3. Policies without any
11973// conditional bindings may specify any valid value or leave the field
11974// unset. To learn which resources support conditions in their IAM
11975// policies, see the IAM documentation
11976// (https://cloud.google.com/iam/help/conditions/resource-policies).
11977func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11978	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
11979	return c
11980}
11981
11982// Fields allows partial responses to be retrieved. See
11983// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11984// for more information.
11985func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11986	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11987	return c
11988}
11989
11990// IfNoneMatch sets the optional parameter which makes the operation
11991// fail if the object's ETag matches the given value. This is useful for
11992// getting updates only after the object has changed since the last
11993// request. Use googleapi.IsNotModified to check whether the response
11994// error from Do is the result of In-None-Match.
11995func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
11996	c.ifNoneMatch_ = entityTag
11997	return c
11998}
11999
12000// Context sets the context to be used in this call's Do method. Any
12001// pending HTTP request will be aborted if the provided context is
12002// canceled.
12003func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall {
12004	c.ctx_ = ctx
12005	return c
12006}
12007
12008// Header returns an http.Header that can be modified by the caller to
12009// add HTTP headers to the request.
12010func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Header() http.Header {
12011	if c.header_ == nil {
12012		c.header_ = make(http.Header)
12013	}
12014	return c.header_
12015}
12016
12017func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
12018	reqHeaders := make(http.Header)
12019	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12020	for k, v := range c.header_ {
12021		reqHeaders[k] = v
12022	}
12023	reqHeaders.Set("User-Agent", c.s.userAgent())
12024	if c.ifNoneMatch_ != "" {
12025		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12026	}
12027	var body io.Reader = nil
12028	c.urlParams_.Set("alt", alt)
12029	c.urlParams_.Set("prettyPrint", "false")
12030	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
12031	urls += "?" + c.urlParams_.Encode()
12032	req, err := http.NewRequest("GET", urls, body)
12033	if err != nil {
12034		return nil, err
12035	}
12036	req.Header = reqHeaders
12037	googleapi.Expand(req.URL, map[string]string{
12038		"resource": c.resource,
12039	})
12040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12041}
12042
12043// Do executes the "healthcare.projects.locations.datasets.consentStores.getIamPolicy" call.
12044// Exactly one of *Policy or error will be non-nil. Any non-2xx status
12045// code is an error. Response headers are in either
12046// *Policy.ServerResponse.Header or (if a response was returned at all)
12047// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12048// check whether the returned error was because http.StatusNotModified
12049// was returned.
12050func (c *ProjectsLocationsDatasetsConsentStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
12051	gensupport.SetOptions(c.urlParams_, opts...)
12052	res, err := c.doRequest("json")
12053	if res != nil && res.StatusCode == http.StatusNotModified {
12054		if res.Body != nil {
12055			res.Body.Close()
12056		}
12057		return nil, &googleapi.Error{
12058			Code:   res.StatusCode,
12059			Header: res.Header,
12060		}
12061	}
12062	if err != nil {
12063		return nil, err
12064	}
12065	defer googleapi.CloseBody(res)
12066	if err := googleapi.CheckResponse(res); err != nil {
12067		return nil, err
12068	}
12069	ret := &Policy{
12070		ServerResponse: googleapi.ServerResponse{
12071			Header:         res.Header,
12072			HTTPStatusCode: res.StatusCode,
12073		},
12074	}
12075	target := &ret
12076	if err := gensupport.DecodeResponse(target, res); err != nil {
12077		return nil, err
12078	}
12079	return ret, nil
12080	// {
12081	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
12082	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy",
12083	//   "httpMethod": "GET",
12084	//   "id": "healthcare.projects.locations.datasets.consentStores.getIamPolicy",
12085	//   "parameterOrder": [
12086	//     "resource"
12087	//   ],
12088	//   "parameters": {
12089	//     "options.requestedPolicyVersion": {
12090	//       "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).",
12091	//       "format": "int32",
12092	//       "location": "query",
12093	//       "type": "integer"
12094	//     },
12095	//     "resource": {
12096	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
12097	//       "location": "path",
12098	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12099	//       "required": true,
12100	//       "type": "string"
12101	//     }
12102	//   },
12103	//   "path": "v1beta1/{+resource}:getIamPolicy",
12104	//   "response": {
12105	//     "$ref": "Policy"
12106	//   },
12107	//   "scopes": [
12108	//     "https://www.googleapis.com/auth/cloud-platform"
12109	//   ]
12110	// }
12111
12112}
12113
12114// method id "healthcare.projects.locations.datasets.consentStores.list":
12115
12116type ProjectsLocationsDatasetsConsentStoresListCall struct {
12117	s            *Service
12118	parent       string
12119	urlParams_   gensupport.URLParams
12120	ifNoneMatch_ string
12121	ctx_         context.Context
12122	header_      http.Header
12123}
12124
12125// List: Lists the consent stores in the specified dataset.
12126//
12127// - parent: Name of the dataset.
12128func (r *ProjectsLocationsDatasetsConsentStoresService) List(parent string) *ProjectsLocationsDatasetsConsentStoresListCall {
12129	c := &ProjectsLocationsDatasetsConsentStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12130	c.parent = parent
12131	return c
12132}
12133
12134// Filter sets the optional parameter "filter": Restricts the stores
12135// returned to those matching a filter. The following syntax is
12136// available: * A string field value can be written as text inside
12137// quotation marks, for example "query text". The only valid
12138// relational operation for text fields is equality (`=`), where text is
12139// searched within the field, rather than having the field be equal to
12140// the text. For example, "Comment = great" returns messages with
12141// `great` in the comment field. * A number field value can be written
12142// as an integer, a decimal, or an exponential. The valid relational
12143// operators for number fields are the equality operator (`=`), along
12144// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
12145// Note that there is no inequality (`!=`) operator. You can prepend the
12146// `NOT` operator to an expression to negate it. * A date field value
12147// must be written in `yyyy-mm-dd` form. Fields with date and time use
12148// the RFC3339 time format. Leading zeros are required for one-digit
12149// months and days. The valid relational operators for date fields are
12150// the equality operator (`=`) , along with the less than/greater than
12151// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
12152// (`!=`) operator. You can prepend the `NOT` operator to an expression
12153// to negate it. * Multiple field query expressions can be combined in
12154// one query by adding `AND` or `OR` operators between the expressions.
12155// If a boolean operator appears within a quoted string, it is not
12156// treated as special, it's just another part of the character string to
12157// be matched. You can prepend the `NOT` operator to an expression to
12158// negate it. Only filtering on labels is supported. For example,
12159// `filter=labels.key=value`.
12160func (c *ProjectsLocationsDatasetsConsentStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresListCall {
12161	c.urlParams_.Set("filter", filter)
12162	return c
12163}
12164
12165// PageSize sets the optional parameter "pageSize": Limit on the number
12166// of consent stores to return in a single response. If not specified,
12167// 100 is used. May not be larger than 1000.
12168func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresListCall {
12169	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
12170	return c
12171}
12172
12173// PageToken sets the optional parameter "pageToken": Token to retrieve
12174// the next page of results, or empty to get the first page.
12175func (c *ProjectsLocationsDatasetsConsentStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresListCall {
12176	c.urlParams_.Set("pageToken", pageToken)
12177	return c
12178}
12179
12180// Fields allows partial responses to be retrieved. See
12181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12182// for more information.
12183func (c *ProjectsLocationsDatasetsConsentStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresListCall {
12184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12185	return c
12186}
12187
12188// IfNoneMatch sets the optional parameter which makes the operation
12189// fail if the object's ETag matches the given value. This is useful for
12190// getting updates only after the object has changed since the last
12191// request. Use googleapi.IsNotModified to check whether the response
12192// error from Do is the result of In-None-Match.
12193func (c *ProjectsLocationsDatasetsConsentStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresListCall {
12194	c.ifNoneMatch_ = entityTag
12195	return c
12196}
12197
12198// Context sets the context to be used in this call's Do method. Any
12199// pending HTTP request will be aborted if the provided context is
12200// canceled.
12201func (c *ProjectsLocationsDatasetsConsentStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresListCall {
12202	c.ctx_ = ctx
12203	return c
12204}
12205
12206// Header returns an http.Header that can be modified by the caller to
12207// add HTTP headers to the request.
12208func (c *ProjectsLocationsDatasetsConsentStoresListCall) Header() http.Header {
12209	if c.header_ == nil {
12210		c.header_ = make(http.Header)
12211	}
12212	return c.header_
12213}
12214
12215func (c *ProjectsLocationsDatasetsConsentStoresListCall) doRequest(alt string) (*http.Response, error) {
12216	reqHeaders := make(http.Header)
12217	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12218	for k, v := range c.header_ {
12219		reqHeaders[k] = v
12220	}
12221	reqHeaders.Set("User-Agent", c.s.userAgent())
12222	if c.ifNoneMatch_ != "" {
12223		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12224	}
12225	var body io.Reader = nil
12226	c.urlParams_.Set("alt", alt)
12227	c.urlParams_.Set("prettyPrint", "false")
12228	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentStores")
12229	urls += "?" + c.urlParams_.Encode()
12230	req, err := http.NewRequest("GET", urls, body)
12231	if err != nil {
12232		return nil, err
12233	}
12234	req.Header = reqHeaders
12235	googleapi.Expand(req.URL, map[string]string{
12236		"parent": c.parent,
12237	})
12238	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12239}
12240
12241// Do executes the "healthcare.projects.locations.datasets.consentStores.list" call.
12242// Exactly one of *ListConsentStoresResponse or error will be non-nil.
12243// Any non-2xx status code is an error. Response headers are in either
12244// *ListConsentStoresResponse.ServerResponse.Header or (if a response
12245// was returned at all) in error.(*googleapi.Error).Header. Use
12246// googleapi.IsNotModified to check whether the returned error was
12247// because http.StatusNotModified was returned.
12248func (c *ProjectsLocationsDatasetsConsentStoresListCall) Do(opts ...googleapi.CallOption) (*ListConsentStoresResponse, error) {
12249	gensupport.SetOptions(c.urlParams_, opts...)
12250	res, err := c.doRequest("json")
12251	if res != nil && res.StatusCode == http.StatusNotModified {
12252		if res.Body != nil {
12253			res.Body.Close()
12254		}
12255		return nil, &googleapi.Error{
12256			Code:   res.StatusCode,
12257			Header: res.Header,
12258		}
12259	}
12260	if err != nil {
12261		return nil, err
12262	}
12263	defer googleapi.CloseBody(res)
12264	if err := googleapi.CheckResponse(res); err != nil {
12265		return nil, err
12266	}
12267	ret := &ListConsentStoresResponse{
12268		ServerResponse: googleapi.ServerResponse{
12269			Header:         res.Header,
12270			HTTPStatusCode: res.StatusCode,
12271		},
12272	}
12273	target := &ret
12274	if err := gensupport.DecodeResponse(target, res); err != nil {
12275		return nil, err
12276	}
12277	return ret, nil
12278	// {
12279	//   "description": "Lists the consent stores in the specified dataset.",
12280	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores",
12281	//   "httpMethod": "GET",
12282	//   "id": "healthcare.projects.locations.datasets.consentStores.list",
12283	//   "parameterOrder": [
12284	//     "parent"
12285	//   ],
12286	//   "parameters": {
12287	//     "filter": {
12288	//       "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`.",
12289	//       "location": "query",
12290	//       "type": "string"
12291	//     },
12292	//     "pageSize": {
12293	//       "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.",
12294	//       "format": "int32",
12295	//       "location": "query",
12296	//       "type": "integer"
12297	//     },
12298	//     "pageToken": {
12299	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
12300	//       "location": "query",
12301	//       "type": "string"
12302	//     },
12303	//     "parent": {
12304	//       "description": "Required. Name of the dataset.",
12305	//       "location": "path",
12306	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
12307	//       "required": true,
12308	//       "type": "string"
12309	//     }
12310	//   },
12311	//   "path": "v1beta1/{+parent}/consentStores",
12312	//   "response": {
12313	//     "$ref": "ListConsentStoresResponse"
12314	//   },
12315	//   "scopes": [
12316	//     "https://www.googleapis.com/auth/cloud-platform"
12317	//   ]
12318	// }
12319
12320}
12321
12322// Pages invokes f for each page of results.
12323// A non-nil error returned from f will halt the iteration.
12324// The provided context supersedes any context provided to the Context method.
12325func (c *ProjectsLocationsDatasetsConsentStoresListCall) Pages(ctx context.Context, f func(*ListConsentStoresResponse) error) error {
12326	c.ctx_ = ctx
12327	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
12328	for {
12329		x, err := c.Do()
12330		if err != nil {
12331			return err
12332		}
12333		if err := f(x); err != nil {
12334			return err
12335		}
12336		if x.NextPageToken == "" {
12337			return nil
12338		}
12339		c.PageToken(x.NextPageToken)
12340	}
12341}
12342
12343// method id "healthcare.projects.locations.datasets.consentStores.patch":
12344
12345type ProjectsLocationsDatasetsConsentStoresPatchCall struct {
12346	s            *Service
12347	name         string
12348	consentstore *ConsentStore
12349	urlParams_   gensupport.URLParams
12350	ctx_         context.Context
12351	header_      http.Header
12352}
12353
12354// Patch: Updates the specified consent store.
12355//
12356// - name: Resource name of the consent store, of the form
12357//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
12358//   /consentStores/{consent_store_id}`. Cannot be changed after
12359//   creation.
12360func (r *ProjectsLocationsDatasetsConsentStoresService) Patch(name string, consentstore *ConsentStore) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12361	c := &ProjectsLocationsDatasetsConsentStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12362	c.name = name
12363	c.consentstore = consentstore
12364	return c
12365}
12366
12367// UpdateMask sets the optional parameter "updateMask": Required. The
12368// update mask that applies to the resource. For the `FieldMask`
12369// definition, see
12370// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
12371// Only the `labels`, `default_consent_ttl`, and
12372// `enable_consent_create_on_update` fields are allowed to be updated.
12373func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12374	c.urlParams_.Set("updateMask", updateMask)
12375	return c
12376}
12377
12378// Fields allows partial responses to be retrieved. See
12379// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12380// for more information.
12381func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12382	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12383	return c
12384}
12385
12386// Context sets the context to be used in this call's Do method. Any
12387// pending HTTP request will be aborted if the provided context is
12388// canceled.
12389func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresPatchCall {
12390	c.ctx_ = ctx
12391	return c
12392}
12393
12394// Header returns an http.Header that can be modified by the caller to
12395// add HTTP headers to the request.
12396func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Header() http.Header {
12397	if c.header_ == nil {
12398		c.header_ = make(http.Header)
12399	}
12400	return c.header_
12401}
12402
12403func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) doRequest(alt string) (*http.Response, error) {
12404	reqHeaders := make(http.Header)
12405	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12406	for k, v := range c.header_ {
12407		reqHeaders[k] = v
12408	}
12409	reqHeaders.Set("User-Agent", c.s.userAgent())
12410	var body io.Reader = nil
12411	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentstore)
12412	if err != nil {
12413		return nil, err
12414	}
12415	reqHeaders.Set("Content-Type", "application/json")
12416	c.urlParams_.Set("alt", alt)
12417	c.urlParams_.Set("prettyPrint", "false")
12418	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
12419	urls += "?" + c.urlParams_.Encode()
12420	req, err := http.NewRequest("PATCH", urls, body)
12421	if err != nil {
12422		return nil, err
12423	}
12424	req.Header = reqHeaders
12425	googleapi.Expand(req.URL, map[string]string{
12426		"name": c.name,
12427	})
12428	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12429}
12430
12431// Do executes the "healthcare.projects.locations.datasets.consentStores.patch" call.
12432// Exactly one of *ConsentStore or error will be non-nil. Any non-2xx
12433// status code is an error. Response headers are in either
12434// *ConsentStore.ServerResponse.Header or (if a response was returned at
12435// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12436// to check whether the returned error was because
12437// http.StatusNotModified was returned.
12438func (c *ProjectsLocationsDatasetsConsentStoresPatchCall) Do(opts ...googleapi.CallOption) (*ConsentStore, error) {
12439	gensupport.SetOptions(c.urlParams_, opts...)
12440	res, err := c.doRequest("json")
12441	if res != nil && res.StatusCode == http.StatusNotModified {
12442		if res.Body != nil {
12443			res.Body.Close()
12444		}
12445		return nil, &googleapi.Error{
12446			Code:   res.StatusCode,
12447			Header: res.Header,
12448		}
12449	}
12450	if err != nil {
12451		return nil, err
12452	}
12453	defer googleapi.CloseBody(res)
12454	if err := googleapi.CheckResponse(res); err != nil {
12455		return nil, err
12456	}
12457	ret := &ConsentStore{
12458		ServerResponse: googleapi.ServerResponse{
12459			Header:         res.Header,
12460			HTTPStatusCode: res.StatusCode,
12461		},
12462	}
12463	target := &ret
12464	if err := gensupport.DecodeResponse(target, res); err != nil {
12465		return nil, err
12466	}
12467	return ret, nil
12468	// {
12469	//   "description": "Updates the specified consent store.",
12470	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}",
12471	//   "httpMethod": "PATCH",
12472	//   "id": "healthcare.projects.locations.datasets.consentStores.patch",
12473	//   "parameterOrder": [
12474	//     "name"
12475	//   ],
12476	//   "parameters": {
12477	//     "name": {
12478	//       "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.",
12479	//       "location": "path",
12480	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12481	//       "required": true,
12482	//       "type": "string"
12483	//     },
12484	//     "updateMask": {
12485	//       "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.",
12486	//       "format": "google-fieldmask",
12487	//       "location": "query",
12488	//       "type": "string"
12489	//     }
12490	//   },
12491	//   "path": "v1beta1/{+name}",
12492	//   "request": {
12493	//     "$ref": "ConsentStore"
12494	//   },
12495	//   "response": {
12496	//     "$ref": "ConsentStore"
12497	//   },
12498	//   "scopes": [
12499	//     "https://www.googleapis.com/auth/cloud-platform"
12500	//   ]
12501	// }
12502
12503}
12504
12505// method id "healthcare.projects.locations.datasets.consentStores.queryAccessibleData":
12506
12507type ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall struct {
12508	s                          *Service
12509	consentStore               string
12510	queryaccessibledatarequest *QueryAccessibleDataRequest
12511	urlParams_                 gensupport.URLParams
12512	ctx_                       context.Context
12513	header_                    http.Header
12514}
12515
12516// QueryAccessibleData: Queries all data_ids that are consented for a
12517// specified use in the given consent store and writes them to a
12518// specified destination. The returned Operation includes a progress
12519// counter for the number of User data mappings processed. If the
12520// request is successful, a detailed response is returned of type
12521// QueryAccessibleDataResponse, contained in the response field when the
12522// operation finishes. The metadata field type is OperationMetadata.
12523// Errors are logged to Cloud Logging (see Viewing error logs in Cloud
12524// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)).
12525// For example, the following sample log entry shows a `failed to
12526// evaluate consent policy` error that occurred during a
12527// QueryAccessibleData call to consent store
12528// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12529// onsentStores/{consent_store_id}`. ```json jsonPayload: { @type:
12530// "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDa
12531// taLogEntry" error: { code: 9 message: "failed to evaluate consent
12532// policy" } resourceName:
12533// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/c
12534// onsentStores/{consent_store_id}/consents/{consent_id}" } logName:
12535// "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessib
12536// le_data" operation: { id:
12537// "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/o
12538// perations/{operation_id}" producer:
12539// "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp:
12540// "TIMESTAMP" resource: { labels: { consent_store_id:
12541// "{consent_store_id}" dataset_id: "{dataset_id}" location:
12542// "{location_id}" project_id: "{project_id}" } type:
12543// "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP"
12544// ```
12545//
12546// - consentStore: Name of the consent store to retrieve User data
12547//   mappings from.
12548func (r *ProjectsLocationsDatasetsConsentStoresService) QueryAccessibleData(consentStore string, queryaccessibledatarequest *QueryAccessibleDataRequest) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12549	c := &ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12550	c.consentStore = consentStore
12551	c.queryaccessibledatarequest = queryaccessibledatarequest
12552	return c
12553}
12554
12555// Fields allows partial responses to be retrieved. See
12556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12557// for more information.
12558func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12560	return c
12561}
12562
12563// Context sets the context to be used in this call's Do method. Any
12564// pending HTTP request will be aborted if the provided context is
12565// canceled.
12566func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall {
12567	c.ctx_ = ctx
12568	return c
12569}
12570
12571// Header returns an http.Header that can be modified by the caller to
12572// add HTTP headers to the request.
12573func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Header() http.Header {
12574	if c.header_ == nil {
12575		c.header_ = make(http.Header)
12576	}
12577	return c.header_
12578}
12579
12580func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) doRequest(alt string) (*http.Response, error) {
12581	reqHeaders := make(http.Header)
12582	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12583	for k, v := range c.header_ {
12584		reqHeaders[k] = v
12585	}
12586	reqHeaders.Set("User-Agent", c.s.userAgent())
12587	var body io.Reader = nil
12588	body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryaccessibledatarequest)
12589	if err != nil {
12590		return nil, err
12591	}
12592	reqHeaders.Set("Content-Type", "application/json")
12593	c.urlParams_.Set("alt", alt)
12594	c.urlParams_.Set("prettyPrint", "false")
12595	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+consentStore}:queryAccessibleData")
12596	urls += "?" + c.urlParams_.Encode()
12597	req, err := http.NewRequest("POST", urls, body)
12598	if err != nil {
12599		return nil, err
12600	}
12601	req.Header = reqHeaders
12602	googleapi.Expand(req.URL, map[string]string{
12603		"consentStore": c.consentStore,
12604	})
12605	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12606}
12607
12608// Do executes the "healthcare.projects.locations.datasets.consentStores.queryAccessibleData" call.
12609// Exactly one of *Operation or error will be non-nil. Any non-2xx
12610// status code is an error. Response headers are in either
12611// *Operation.ServerResponse.Header or (if a response was returned at
12612// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12613// to check whether the returned error was because
12614// http.StatusNotModified was returned.
12615func (c *ProjectsLocationsDatasetsConsentStoresQueryAccessibleDataCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12616	gensupport.SetOptions(c.urlParams_, opts...)
12617	res, err := c.doRequest("json")
12618	if res != nil && res.StatusCode == http.StatusNotModified {
12619		if res.Body != nil {
12620			res.Body.Close()
12621		}
12622		return nil, &googleapi.Error{
12623			Code:   res.StatusCode,
12624			Header: res.Header,
12625		}
12626	}
12627	if err != nil {
12628		return nil, err
12629	}
12630	defer googleapi.CloseBody(res)
12631	if err := googleapi.CheckResponse(res); err != nil {
12632		return nil, err
12633	}
12634	ret := &Operation{
12635		ServerResponse: googleapi.ServerResponse{
12636			Header:         res.Header,
12637			HTTPStatusCode: res.StatusCode,
12638		},
12639	}
12640	target := &ret
12641	if err := gensupport.DecodeResponse(target, res); err != nil {
12642		return nil, err
12643	}
12644	return ret, nil
12645	// {
12646	//   "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. If the request is successful, a detailed response is returned of type QueryAccessibleDataResponse, 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)). 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\" ```",
12647	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData",
12648	//   "httpMethod": "POST",
12649	//   "id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData",
12650	//   "parameterOrder": [
12651	//     "consentStore"
12652	//   ],
12653	//   "parameters": {
12654	//     "consentStore": {
12655	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
12656	//       "location": "path",
12657	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12658	//       "required": true,
12659	//       "type": "string"
12660	//     }
12661	//   },
12662	//   "path": "v1beta1/{+consentStore}:queryAccessibleData",
12663	//   "request": {
12664	//     "$ref": "QueryAccessibleDataRequest"
12665	//   },
12666	//   "response": {
12667	//     "$ref": "Operation"
12668	//   },
12669	//   "scopes": [
12670	//     "https://www.googleapis.com/auth/cloud-platform"
12671	//   ]
12672	// }
12673
12674}
12675
12676// method id "healthcare.projects.locations.datasets.consentStores.setIamPolicy":
12677
12678type ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall struct {
12679	s                   *Service
12680	resource            string
12681	setiampolicyrequest *SetIamPolicyRequest
12682	urlParams_          gensupport.URLParams
12683	ctx_                context.Context
12684	header_             http.Header
12685}
12686
12687// SetIamPolicy: Sets the access control policy on the specified
12688// resource. Replaces any existing policy. Can return `NOT_FOUND`,
12689// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
12690//
12691// - resource: REQUIRED: The resource for which the policy is being
12692//   specified. See the operation documentation for the appropriate
12693//   value for this field.
12694func (r *ProjectsLocationsDatasetsConsentStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12695	c := &ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12696	c.resource = resource
12697	c.setiampolicyrequest = setiampolicyrequest
12698	return c
12699}
12700
12701// Fields allows partial responses to be retrieved. See
12702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12703// for more information.
12704func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12705	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12706	return c
12707}
12708
12709// Context sets the context to be used in this call's Do method. Any
12710// pending HTTP request will be aborted if the provided context is
12711// canceled.
12712func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall {
12713	c.ctx_ = ctx
12714	return c
12715}
12716
12717// Header returns an http.Header that can be modified by the caller to
12718// add HTTP headers to the request.
12719func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Header() http.Header {
12720	if c.header_ == nil {
12721		c.header_ = make(http.Header)
12722	}
12723	return c.header_
12724}
12725
12726func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
12727	reqHeaders := make(http.Header)
12728	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12729	for k, v := range c.header_ {
12730		reqHeaders[k] = v
12731	}
12732	reqHeaders.Set("User-Agent", c.s.userAgent())
12733	var body io.Reader = nil
12734	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
12735	if err != nil {
12736		return nil, err
12737	}
12738	reqHeaders.Set("Content-Type", "application/json")
12739	c.urlParams_.Set("alt", alt)
12740	c.urlParams_.Set("prettyPrint", "false")
12741	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
12742	urls += "?" + c.urlParams_.Encode()
12743	req, err := http.NewRequest("POST", urls, body)
12744	if err != nil {
12745		return nil, err
12746	}
12747	req.Header = reqHeaders
12748	googleapi.Expand(req.URL, map[string]string{
12749		"resource": c.resource,
12750	})
12751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12752}
12753
12754// Do executes the "healthcare.projects.locations.datasets.consentStores.setIamPolicy" call.
12755// Exactly one of *Policy or error will be non-nil. Any non-2xx status
12756// code is an error. Response headers are in either
12757// *Policy.ServerResponse.Header or (if a response was returned at all)
12758// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12759// check whether the returned error was because http.StatusNotModified
12760// was returned.
12761func (c *ProjectsLocationsDatasetsConsentStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
12762	gensupport.SetOptions(c.urlParams_, opts...)
12763	res, err := c.doRequest("json")
12764	if res != nil && res.StatusCode == http.StatusNotModified {
12765		if res.Body != nil {
12766			res.Body.Close()
12767		}
12768		return nil, &googleapi.Error{
12769			Code:   res.StatusCode,
12770			Header: res.Header,
12771		}
12772	}
12773	if err != nil {
12774		return nil, err
12775	}
12776	defer googleapi.CloseBody(res)
12777	if err := googleapi.CheckResponse(res); err != nil {
12778		return nil, err
12779	}
12780	ret := &Policy{
12781		ServerResponse: googleapi.ServerResponse{
12782			Header:         res.Header,
12783			HTTPStatusCode: res.StatusCode,
12784		},
12785	}
12786	target := &ret
12787	if err := gensupport.DecodeResponse(target, res); err != nil {
12788		return nil, err
12789	}
12790	return ret, nil
12791	// {
12792	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
12793	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy",
12794	//   "httpMethod": "POST",
12795	//   "id": "healthcare.projects.locations.datasets.consentStores.setIamPolicy",
12796	//   "parameterOrder": [
12797	//     "resource"
12798	//   ],
12799	//   "parameters": {
12800	//     "resource": {
12801	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
12802	//       "location": "path",
12803	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12804	//       "required": true,
12805	//       "type": "string"
12806	//     }
12807	//   },
12808	//   "path": "v1beta1/{+resource}:setIamPolicy",
12809	//   "request": {
12810	//     "$ref": "SetIamPolicyRequest"
12811	//   },
12812	//   "response": {
12813	//     "$ref": "Policy"
12814	//   },
12815	//   "scopes": [
12816	//     "https://www.googleapis.com/auth/cloud-platform"
12817	//   ]
12818	// }
12819
12820}
12821
12822// method id "healthcare.projects.locations.datasets.consentStores.testIamPermissions":
12823
12824type ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall struct {
12825	s                         *Service
12826	resource                  string
12827	testiampermissionsrequest *TestIamPermissionsRequest
12828	urlParams_                gensupport.URLParams
12829	ctx_                      context.Context
12830	header_                   http.Header
12831}
12832
12833// TestIamPermissions: Returns permissions that a caller has on the
12834// specified resource. If the resource does not exist, this will return
12835// an empty set of permissions, not a `NOT_FOUND` error. Note: This
12836// operation is designed to be used for building permission-aware UIs
12837// and command-line tools, not for authorization checking. This
12838// operation may "fail open" without warning.
12839//
12840// - resource: REQUIRED: The resource for which the policy detail is
12841//   being requested. See the operation documentation for the
12842//   appropriate value for this field.
12843func (r *ProjectsLocationsDatasetsConsentStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12844	c := &ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12845	c.resource = resource
12846	c.testiampermissionsrequest = testiampermissionsrequest
12847	return c
12848}
12849
12850// Fields allows partial responses to be retrieved. See
12851// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12852// for more information.
12853func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12854	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12855	return c
12856}
12857
12858// Context sets the context to be used in this call's Do method. Any
12859// pending HTTP request will be aborted if the provided context is
12860// canceled.
12861func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall {
12862	c.ctx_ = ctx
12863	return c
12864}
12865
12866// Header returns an http.Header that can be modified by the caller to
12867// add HTTP headers to the request.
12868func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Header() http.Header {
12869	if c.header_ == nil {
12870		c.header_ = make(http.Header)
12871	}
12872	return c.header_
12873}
12874
12875func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
12876	reqHeaders := make(http.Header)
12877	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12878	for k, v := range c.header_ {
12879		reqHeaders[k] = v
12880	}
12881	reqHeaders.Set("User-Agent", c.s.userAgent())
12882	var body io.Reader = nil
12883	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
12884	if err != nil {
12885		return nil, err
12886	}
12887	reqHeaders.Set("Content-Type", "application/json")
12888	c.urlParams_.Set("alt", alt)
12889	c.urlParams_.Set("prettyPrint", "false")
12890	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
12891	urls += "?" + c.urlParams_.Encode()
12892	req, err := http.NewRequest("POST", urls, body)
12893	if err != nil {
12894		return nil, err
12895	}
12896	req.Header = reqHeaders
12897	googleapi.Expand(req.URL, map[string]string{
12898		"resource": c.resource,
12899	})
12900	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12901}
12902
12903// Do executes the "healthcare.projects.locations.datasets.consentStores.testIamPermissions" call.
12904// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
12905// Any non-2xx status code is an error. Response headers are in either
12906// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
12907// was returned at all) in error.(*googleapi.Error).Header. Use
12908// googleapi.IsNotModified to check whether the returned error was
12909// because http.StatusNotModified was returned.
12910func (c *ProjectsLocationsDatasetsConsentStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
12911	gensupport.SetOptions(c.urlParams_, opts...)
12912	res, err := c.doRequest("json")
12913	if res != nil && res.StatusCode == http.StatusNotModified {
12914		if res.Body != nil {
12915			res.Body.Close()
12916		}
12917		return nil, &googleapi.Error{
12918			Code:   res.StatusCode,
12919			Header: res.Header,
12920		}
12921	}
12922	if err != nil {
12923		return nil, err
12924	}
12925	defer googleapi.CloseBody(res)
12926	if err := googleapi.CheckResponse(res); err != nil {
12927		return nil, err
12928	}
12929	ret := &TestIamPermissionsResponse{
12930		ServerResponse: googleapi.ServerResponse{
12931			Header:         res.Header,
12932			HTTPStatusCode: res.StatusCode,
12933		},
12934	}
12935	target := &ret
12936	if err := gensupport.DecodeResponse(target, res); err != nil {
12937		return nil, err
12938	}
12939	return ret, nil
12940	// {
12941	//   "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.",
12942	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions",
12943	//   "httpMethod": "POST",
12944	//   "id": "healthcare.projects.locations.datasets.consentStores.testIamPermissions",
12945	//   "parameterOrder": [
12946	//     "resource"
12947	//   ],
12948	//   "parameters": {
12949	//     "resource": {
12950	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
12951	//       "location": "path",
12952	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
12953	//       "required": true,
12954	//       "type": "string"
12955	//     }
12956	//   },
12957	//   "path": "v1beta1/{+resource}:testIamPermissions",
12958	//   "request": {
12959	//     "$ref": "TestIamPermissionsRequest"
12960	//   },
12961	//   "response": {
12962	//     "$ref": "TestIamPermissionsResponse"
12963	//   },
12964	//   "scopes": [
12965	//     "https://www.googleapis.com/auth/cloud-platform"
12966	//   ]
12967	// }
12968
12969}
12970
12971// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create":
12972
12973type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall struct {
12974	s                   *Service
12975	parent              string
12976	attributedefinition *AttributeDefinition
12977	urlParams_          gensupport.URLParams
12978	ctx_                context.Context
12979	header_             http.Header
12980}
12981
12982// Create: Creates a new Attribute definition in the parent consent
12983// store.
12984//
12985// - parent: The name of the consent store that this Attribute
12986//   definition belongs to.
12987func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Create(parent string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
12988	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12989	c.parent = parent
12990	c.attributedefinition = attributedefinition
12991	return c
12992}
12993
12994// AttributeDefinitionId sets the optional parameter
12995// "attributeDefinitionId": Required. The ID of the Attribute definition
12996// to create. The string must match the following regex:
12997// `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common
12998// Expression Language as listed on
12999// https://github.com/google/cel-spec/blob/master/doc/langdef.md.
13000func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) AttributeDefinitionId(attributeDefinitionId string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
13001	c.urlParams_.Set("attributeDefinitionId", attributeDefinitionId)
13002	return c
13003}
13004
13005// Fields allows partial responses to be retrieved. See
13006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13007// for more information.
13008func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
13009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13010	return c
13011}
13012
13013// Context sets the context to be used in this call's Do method. Any
13014// pending HTTP request will be aborted if the provided context is
13015// canceled.
13016func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall {
13017	c.ctx_ = ctx
13018	return c
13019}
13020
13021// Header returns an http.Header that can be modified by the caller to
13022// add HTTP headers to the request.
13023func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Header() http.Header {
13024	if c.header_ == nil {
13025		c.header_ = make(http.Header)
13026	}
13027	return c.header_
13028}
13029
13030func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) doRequest(alt string) (*http.Response, error) {
13031	reqHeaders := make(http.Header)
13032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13033	for k, v := range c.header_ {
13034		reqHeaders[k] = v
13035	}
13036	reqHeaders.Set("User-Agent", c.s.userAgent())
13037	var body io.Reader = nil
13038	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
13039	if err != nil {
13040		return nil, err
13041	}
13042	reqHeaders.Set("Content-Type", "application/json")
13043	c.urlParams_.Set("alt", alt)
13044	c.urlParams_.Set("prettyPrint", "false")
13045	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
13046	urls += "?" + c.urlParams_.Encode()
13047	req, err := http.NewRequest("POST", urls, body)
13048	if err != nil {
13049		return nil, err
13050	}
13051	req.Header = reqHeaders
13052	googleapi.Expand(req.URL, map[string]string{
13053		"parent": c.parent,
13054	})
13055	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13056}
13057
13058// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create" call.
13059// Exactly one of *AttributeDefinition or error will be non-nil. Any
13060// non-2xx status code is an error. Response headers are in either
13061// *AttributeDefinition.ServerResponse.Header or (if a response was
13062// returned at all) in error.(*googleapi.Error).Header. Use
13063// googleapi.IsNotModified to check whether the returned error was
13064// because http.StatusNotModified was returned.
13065func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13066	gensupport.SetOptions(c.urlParams_, opts...)
13067	res, err := c.doRequest("json")
13068	if res != nil && res.StatusCode == http.StatusNotModified {
13069		if res.Body != nil {
13070			res.Body.Close()
13071		}
13072		return nil, &googleapi.Error{
13073			Code:   res.StatusCode,
13074			Header: res.Header,
13075		}
13076	}
13077	if err != nil {
13078		return nil, err
13079	}
13080	defer googleapi.CloseBody(res)
13081	if err := googleapi.CheckResponse(res); err != nil {
13082		return nil, err
13083	}
13084	ret := &AttributeDefinition{
13085		ServerResponse: googleapi.ServerResponse{
13086			Header:         res.Header,
13087			HTTPStatusCode: res.StatusCode,
13088		},
13089	}
13090	target := &ret
13091	if err := gensupport.DecodeResponse(target, res); err != nil {
13092		return nil, err
13093	}
13094	return ret, nil
13095	// {
13096	//   "description": "Creates a new Attribute definition in the parent consent store.",
13097	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
13098	//   "httpMethod": "POST",
13099	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create",
13100	//   "parameterOrder": [
13101	//     "parent"
13102	//   ],
13103	//   "parameters": {
13104	//     "attributeDefinitionId": {
13105	//       "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.",
13106	//       "location": "query",
13107	//       "type": "string"
13108	//     },
13109	//     "parent": {
13110	//       "description": "Required. The name of the consent store that this Attribute definition belongs to.",
13111	//       "location": "path",
13112	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13113	//       "required": true,
13114	//       "type": "string"
13115	//     }
13116	//   },
13117	//   "path": "v1beta1/{+parent}/attributeDefinitions",
13118	//   "request": {
13119	//     "$ref": "AttributeDefinition"
13120	//   },
13121	//   "response": {
13122	//     "$ref": "AttributeDefinition"
13123	//   },
13124	//   "scopes": [
13125	//     "https://www.googleapis.com/auth/cloud-platform"
13126	//   ]
13127	// }
13128
13129}
13130
13131// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete":
13132
13133type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall struct {
13134	s          *Service
13135	name       string
13136	urlParams_ gensupport.URLParams
13137	ctx_       context.Context
13138	header_    http.Header
13139}
13140
13141// Delete: Deletes the specified Attribute definition. Fails if the
13142// Attribute definition is referenced by any User data mapping, or the
13143// latest revision of any Consent.
13144//
13145// - name: The resource name of the Attribute definition to delete. To
13146//   preserve referential integrity, Attribute definitions referenced by
13147//   a User data mapping or the latest revision of a Consent cannot be
13148//   deleted.
13149func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13150	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13151	c.name = name
13152	return c
13153}
13154
13155// Fields allows partial responses to be retrieved. See
13156// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13157// for more information.
13158func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13159	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13160	return c
13161}
13162
13163// Context sets the context to be used in this call's Do method. Any
13164// pending HTTP request will be aborted if the provided context is
13165// canceled.
13166func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall {
13167	c.ctx_ = ctx
13168	return c
13169}
13170
13171// Header returns an http.Header that can be modified by the caller to
13172// add HTTP headers to the request.
13173func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Header() http.Header {
13174	if c.header_ == nil {
13175		c.header_ = make(http.Header)
13176	}
13177	return c.header_
13178}
13179
13180func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) doRequest(alt string) (*http.Response, error) {
13181	reqHeaders := make(http.Header)
13182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13183	for k, v := range c.header_ {
13184		reqHeaders[k] = v
13185	}
13186	reqHeaders.Set("User-Agent", c.s.userAgent())
13187	var body io.Reader = nil
13188	c.urlParams_.Set("alt", alt)
13189	c.urlParams_.Set("prettyPrint", "false")
13190	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13191	urls += "?" + c.urlParams_.Encode()
13192	req, err := http.NewRequest("DELETE", urls, body)
13193	if err != nil {
13194		return nil, err
13195	}
13196	req.Header = reqHeaders
13197	googleapi.Expand(req.URL, map[string]string{
13198		"name": c.name,
13199	})
13200	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13201}
13202
13203// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete" call.
13204// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13205// code is an error. Response headers are in either
13206// *Empty.ServerResponse.Header or (if a response was returned at all)
13207// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13208// check whether the returned error was because http.StatusNotModified
13209// was returned.
13210func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13211	gensupport.SetOptions(c.urlParams_, opts...)
13212	res, err := c.doRequest("json")
13213	if res != nil && res.StatusCode == http.StatusNotModified {
13214		if res.Body != nil {
13215			res.Body.Close()
13216		}
13217		return nil, &googleapi.Error{
13218			Code:   res.StatusCode,
13219			Header: res.Header,
13220		}
13221	}
13222	if err != nil {
13223		return nil, err
13224	}
13225	defer googleapi.CloseBody(res)
13226	if err := googleapi.CheckResponse(res); err != nil {
13227		return nil, err
13228	}
13229	ret := &Empty{
13230		ServerResponse: googleapi.ServerResponse{
13231			Header:         res.Header,
13232			HTTPStatusCode: res.StatusCode,
13233		},
13234	}
13235	target := &ret
13236	if err := gensupport.DecodeResponse(target, res); err != nil {
13237		return nil, err
13238	}
13239	return ret, nil
13240	// {
13241	//   "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.",
13242	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13243	//   "httpMethod": "DELETE",
13244	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete",
13245	//   "parameterOrder": [
13246	//     "name"
13247	//   ],
13248	//   "parameters": {
13249	//     "name": {
13250	//       "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.",
13251	//       "location": "path",
13252	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13253	//       "required": true,
13254	//       "type": "string"
13255	//     }
13256	//   },
13257	//   "path": "v1beta1/{+name}",
13258	//   "response": {
13259	//     "$ref": "Empty"
13260	//   },
13261	//   "scopes": [
13262	//     "https://www.googleapis.com/auth/cloud-platform"
13263	//   ]
13264	// }
13265
13266}
13267
13268// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get":
13269
13270type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall struct {
13271	s            *Service
13272	name         string
13273	urlParams_   gensupport.URLParams
13274	ifNoneMatch_ string
13275	ctx_         context.Context
13276	header_      http.Header
13277}
13278
13279// Get: Gets the specified Attribute definition.
13280//
13281// - name: The resource name of the Attribute definition to get.
13282func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13283	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13284	c.name = name
13285	return c
13286}
13287
13288// Fields allows partial responses to be retrieved. See
13289// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13290// for more information.
13291func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13292	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13293	return c
13294}
13295
13296// IfNoneMatch sets the optional parameter which makes the operation
13297// fail if the object's ETag matches the given value. This is useful for
13298// getting updates only after the object has changed since the last
13299// request. Use googleapi.IsNotModified to check whether the response
13300// error from Do is the result of In-None-Match.
13301func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13302	c.ifNoneMatch_ = entityTag
13303	return c
13304}
13305
13306// Context sets the context to be used in this call's Do method. Any
13307// pending HTTP request will be aborted if the provided context is
13308// canceled.
13309func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall {
13310	c.ctx_ = ctx
13311	return c
13312}
13313
13314// Header returns an http.Header that can be modified by the caller to
13315// add HTTP headers to the request.
13316func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Header() http.Header {
13317	if c.header_ == nil {
13318		c.header_ = make(http.Header)
13319	}
13320	return c.header_
13321}
13322
13323func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
13324	reqHeaders := make(http.Header)
13325	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13326	for k, v := range c.header_ {
13327		reqHeaders[k] = v
13328	}
13329	reqHeaders.Set("User-Agent", c.s.userAgent())
13330	if c.ifNoneMatch_ != "" {
13331		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13332	}
13333	var body io.Reader = nil
13334	c.urlParams_.Set("alt", alt)
13335	c.urlParams_.Set("prettyPrint", "false")
13336	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13337	urls += "?" + c.urlParams_.Encode()
13338	req, err := http.NewRequest("GET", urls, body)
13339	if err != nil {
13340		return nil, err
13341	}
13342	req.Header = reqHeaders
13343	googleapi.Expand(req.URL, map[string]string{
13344		"name": c.name,
13345	})
13346	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13347}
13348
13349// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get" call.
13350// Exactly one of *AttributeDefinition or error will be non-nil. Any
13351// non-2xx status code is an error. Response headers are in either
13352// *AttributeDefinition.ServerResponse.Header or (if a response was
13353// returned at all) in error.(*googleapi.Error).Header. Use
13354// googleapi.IsNotModified to check whether the returned error was
13355// because http.StatusNotModified was returned.
13356func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13357	gensupport.SetOptions(c.urlParams_, opts...)
13358	res, err := c.doRequest("json")
13359	if res != nil && res.StatusCode == http.StatusNotModified {
13360		if res.Body != nil {
13361			res.Body.Close()
13362		}
13363		return nil, &googleapi.Error{
13364			Code:   res.StatusCode,
13365			Header: res.Header,
13366		}
13367	}
13368	if err != nil {
13369		return nil, err
13370	}
13371	defer googleapi.CloseBody(res)
13372	if err := googleapi.CheckResponse(res); err != nil {
13373		return nil, err
13374	}
13375	ret := &AttributeDefinition{
13376		ServerResponse: googleapi.ServerResponse{
13377			Header:         res.Header,
13378			HTTPStatusCode: res.StatusCode,
13379		},
13380	}
13381	target := &ret
13382	if err := gensupport.DecodeResponse(target, res); err != nil {
13383		return nil, err
13384	}
13385	return ret, nil
13386	// {
13387	//   "description": "Gets the specified Attribute definition.",
13388	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13389	//   "httpMethod": "GET",
13390	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get",
13391	//   "parameterOrder": [
13392	//     "name"
13393	//   ],
13394	//   "parameters": {
13395	//     "name": {
13396	//       "description": "Required. The resource name of the Attribute definition to get.",
13397	//       "location": "path",
13398	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13399	//       "required": true,
13400	//       "type": "string"
13401	//     }
13402	//   },
13403	//   "path": "v1beta1/{+name}",
13404	//   "response": {
13405	//     "$ref": "AttributeDefinition"
13406	//   },
13407	//   "scopes": [
13408	//     "https://www.googleapis.com/auth/cloud-platform"
13409	//   ]
13410	// }
13411
13412}
13413
13414// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list":
13415
13416type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall struct {
13417	s            *Service
13418	parent       string
13419	urlParams_   gensupport.URLParams
13420	ifNoneMatch_ string
13421	ctx_         context.Context
13422	header_      http.Header
13423}
13424
13425// List: Lists the Attribute definitions in the specified consent store.
13426//
13427// - parent: Name of the consent store to retrieve Attribute definitions
13428//   from.
13429func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13430	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13431	c.parent = parent
13432	return c
13433}
13434
13435// Filter sets the optional parameter "filter": Restricts the attributes
13436// returned to those matching a filter. The following syntax is
13437// available: * A string field value can be written as text inside
13438// quotation marks, for example "query text". The only valid
13439// relational operation for text fields is equality (`=`), where text is
13440// searched within the field, rather than having the field be equal to
13441// the text. For example, "Comment = great" returns messages with
13442// `great` in the comment field. * A number field value can be written
13443// as an integer, a decimal, or an exponential. The valid relational
13444// operators for number fields are the equality operator (`=`), along
13445// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
13446// Note that there is no inequality (`!=`) operator. You can prepend the
13447// `NOT` operator to an expression to negate it. * A date field value
13448// must be written in `yyyy-mm-dd` form. Fields with date and time use
13449// the RFC3339 time format. Leading zeros are required for one-digit
13450// months and days. The valid relational operators for date fields are
13451// the equality operator (`=`) , along with the less than/greater than
13452// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
13453// (`!=`) operator. You can prepend the `NOT` operator to an expression
13454// to negate it. * Multiple field query expressions can be combined in
13455// one query by adding `AND` or `OR` operators between the expressions.
13456// If a boolean operator appears within a quoted string, it is not
13457// treated as special, it's just another part of the character string to
13458// be matched. You can prepend the `NOT` operator to an expression to
13459// negate it. The only field available for filtering is `category`. For
13460// example, `filter=category=\"REQUEST\".
13461func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13462	c.urlParams_.Set("filter", filter)
13463	return c
13464}
13465
13466// PageSize sets the optional parameter "pageSize": Limit on the number
13467// of Attribute definitions to return in a single response. If not
13468// specified, 100 is used. May not be larger than 1000.
13469func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13470	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13471	return c
13472}
13473
13474// PageToken sets the optional parameter "pageToken": Token to retrieve
13475// the next page of results or empty to get the first page.
13476func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13477	c.urlParams_.Set("pageToken", pageToken)
13478	return c
13479}
13480
13481// Fields allows partial responses to be retrieved. See
13482// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13483// for more information.
13484func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13485	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13486	return c
13487}
13488
13489// IfNoneMatch sets the optional parameter which makes the operation
13490// fail if the object's ETag matches the given value. This is useful for
13491// getting updates only after the object has changed since the last
13492// request. Use googleapi.IsNotModified to check whether the response
13493// error from Do is the result of In-None-Match.
13494func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13495	c.ifNoneMatch_ = entityTag
13496	return c
13497}
13498
13499// Context sets the context to be used in this call's Do method. Any
13500// pending HTTP request will be aborted if the provided context is
13501// canceled.
13502func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall {
13503	c.ctx_ = ctx
13504	return c
13505}
13506
13507// Header returns an http.Header that can be modified by the caller to
13508// add HTTP headers to the request.
13509func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Header() http.Header {
13510	if c.header_ == nil {
13511		c.header_ = make(http.Header)
13512	}
13513	return c.header_
13514}
13515
13516func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
13517	reqHeaders := make(http.Header)
13518	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13519	for k, v := range c.header_ {
13520		reqHeaders[k] = v
13521	}
13522	reqHeaders.Set("User-Agent", c.s.userAgent())
13523	if c.ifNoneMatch_ != "" {
13524		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13525	}
13526	var body io.Reader = nil
13527	c.urlParams_.Set("alt", alt)
13528	c.urlParams_.Set("prettyPrint", "false")
13529	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/attributeDefinitions")
13530	urls += "?" + c.urlParams_.Encode()
13531	req, err := http.NewRequest("GET", urls, body)
13532	if err != nil {
13533		return nil, err
13534	}
13535	req.Header = reqHeaders
13536	googleapi.Expand(req.URL, map[string]string{
13537		"parent": c.parent,
13538	})
13539	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13540}
13541
13542// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list" call.
13543// Exactly one of *ListAttributeDefinitionsResponse or error will be
13544// non-nil. Any non-2xx status code is an error. Response headers are in
13545// either *ListAttributeDefinitionsResponse.ServerResponse.Header or (if
13546// a response was returned at all) in error.(*googleapi.Error).Header.
13547// Use googleapi.IsNotModified to check whether the returned error was
13548// because http.StatusNotModified was returned.
13549func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Do(opts ...googleapi.CallOption) (*ListAttributeDefinitionsResponse, error) {
13550	gensupport.SetOptions(c.urlParams_, opts...)
13551	res, err := c.doRequest("json")
13552	if res != nil && res.StatusCode == http.StatusNotModified {
13553		if res.Body != nil {
13554			res.Body.Close()
13555		}
13556		return nil, &googleapi.Error{
13557			Code:   res.StatusCode,
13558			Header: res.Header,
13559		}
13560	}
13561	if err != nil {
13562		return nil, err
13563	}
13564	defer googleapi.CloseBody(res)
13565	if err := googleapi.CheckResponse(res); err != nil {
13566		return nil, err
13567	}
13568	ret := &ListAttributeDefinitionsResponse{
13569		ServerResponse: googleapi.ServerResponse{
13570			Header:         res.Header,
13571			HTTPStatusCode: res.StatusCode,
13572		},
13573	}
13574	target := &ret
13575	if err := gensupport.DecodeResponse(target, res); err != nil {
13576		return nil, err
13577	}
13578	return ret, nil
13579	// {
13580	//   "description": "Lists the Attribute definitions in the specified consent store.",
13581	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions",
13582	//   "httpMethod": "GET",
13583	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list",
13584	//   "parameterOrder": [
13585	//     "parent"
13586	//   ],
13587	//   "parameters": {
13588	//     "filter": {
13589	//       "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\\\"`.",
13590	//       "location": "query",
13591	//       "type": "string"
13592	//     },
13593	//     "pageSize": {
13594	//       "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.",
13595	//       "format": "int32",
13596	//       "location": "query",
13597	//       "type": "integer"
13598	//     },
13599	//     "pageToken": {
13600	//       "description": "Optional. Token to retrieve the next page of results or empty to get the first page.",
13601	//       "location": "query",
13602	//       "type": "string"
13603	//     },
13604	//     "parent": {
13605	//       "description": "Required. Name of the consent store to retrieve Attribute definitions from.",
13606	//       "location": "path",
13607	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13608	//       "required": true,
13609	//       "type": "string"
13610	//     }
13611	//   },
13612	//   "path": "v1beta1/{+parent}/attributeDefinitions",
13613	//   "response": {
13614	//     "$ref": "ListAttributeDefinitionsResponse"
13615	//   },
13616	//   "scopes": [
13617	//     "https://www.googleapis.com/auth/cloud-platform"
13618	//   ]
13619	// }
13620
13621}
13622
13623// Pages invokes f for each page of results.
13624// A non-nil error returned from f will halt the iteration.
13625// The provided context supersedes any context provided to the Context method.
13626func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListCall) Pages(ctx context.Context, f func(*ListAttributeDefinitionsResponse) error) error {
13627	c.ctx_ = ctx
13628	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13629	for {
13630		x, err := c.Do()
13631		if err != nil {
13632			return err
13633		}
13634		if err := f(x); err != nil {
13635			return err
13636		}
13637		if x.NextPageToken == "" {
13638			return nil
13639		}
13640		c.PageToken(x.NextPageToken)
13641	}
13642}
13643
13644// method id "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch":
13645
13646type ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall struct {
13647	s                   *Service
13648	name                string
13649	attributedefinition *AttributeDefinition
13650	urlParams_          gensupport.URLParams
13651	ctx_                context.Context
13652	header_             http.Header
13653}
13654
13655// Patch: Updates the specified Attribute definition.
13656//
13657// - name: Resource name of the Attribute definition, of the form
13658//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
13659//   /consentStores/{consent_store_id}/attributeDefinitions/{attribute_de
13660//   finition_id}`. Cannot be changed after creation.
13661func (r *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService) Patch(name string, attributedefinition *AttributeDefinition) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13662	c := &ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13663	c.name = name
13664	c.attributedefinition = attributedefinition
13665	return c
13666}
13667
13668// UpdateMask sets the optional parameter "updateMask": Required. The
13669// update mask that applies to the resource. For the `FieldMask`
13670// definition, see
13671// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
13672// Only the `description`, `allowed_values`, `consent_default_values`
13673// and `data_mapping_default_value` fields can be updated. The updated
13674// `allowed_values` must contain all values from the previous
13675// `allowed_values`.
13676func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13677	c.urlParams_.Set("updateMask", updateMask)
13678	return c
13679}
13680
13681// Fields allows partial responses to be retrieved. See
13682// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13683// for more information.
13684func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13685	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13686	return c
13687}
13688
13689// Context sets the context to be used in this call's Do method. Any
13690// pending HTTP request will be aborted if the provided context is
13691// canceled.
13692func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall {
13693	c.ctx_ = ctx
13694	return c
13695}
13696
13697// Header returns an http.Header that can be modified by the caller to
13698// add HTTP headers to the request.
13699func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Header() http.Header {
13700	if c.header_ == nil {
13701		c.header_ = make(http.Header)
13702	}
13703	return c.header_
13704}
13705
13706func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) doRequest(alt string) (*http.Response, error) {
13707	reqHeaders := make(http.Header)
13708	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13709	for k, v := range c.header_ {
13710		reqHeaders[k] = v
13711	}
13712	reqHeaders.Set("User-Agent", c.s.userAgent())
13713	var body io.Reader = nil
13714	body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributedefinition)
13715	if err != nil {
13716		return nil, err
13717	}
13718	reqHeaders.Set("Content-Type", "application/json")
13719	c.urlParams_.Set("alt", alt)
13720	c.urlParams_.Set("prettyPrint", "false")
13721	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
13722	urls += "?" + c.urlParams_.Encode()
13723	req, err := http.NewRequest("PATCH", urls, body)
13724	if err != nil {
13725		return nil, err
13726	}
13727	req.Header = reqHeaders
13728	googleapi.Expand(req.URL, map[string]string{
13729		"name": c.name,
13730	})
13731	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13732}
13733
13734// Do executes the "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch" call.
13735// Exactly one of *AttributeDefinition or error will be non-nil. Any
13736// non-2xx status code is an error. Response headers are in either
13737// *AttributeDefinition.ServerResponse.Header or (if a response was
13738// returned at all) in error.(*googleapi.Error).Header. Use
13739// googleapi.IsNotModified to check whether the returned error was
13740// because http.StatusNotModified was returned.
13741func (c *ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchCall) Do(opts ...googleapi.CallOption) (*AttributeDefinition, error) {
13742	gensupport.SetOptions(c.urlParams_, opts...)
13743	res, err := c.doRequest("json")
13744	if res != nil && res.StatusCode == http.StatusNotModified {
13745		if res.Body != nil {
13746			res.Body.Close()
13747		}
13748		return nil, &googleapi.Error{
13749			Code:   res.StatusCode,
13750			Header: res.Header,
13751		}
13752	}
13753	if err != nil {
13754		return nil, err
13755	}
13756	defer googleapi.CloseBody(res)
13757	if err := googleapi.CheckResponse(res); err != nil {
13758		return nil, err
13759	}
13760	ret := &AttributeDefinition{
13761		ServerResponse: googleapi.ServerResponse{
13762			Header:         res.Header,
13763			HTTPStatusCode: res.StatusCode,
13764		},
13765	}
13766	target := &ret
13767	if err := gensupport.DecodeResponse(target, res); err != nil {
13768		return nil, err
13769	}
13770	return ret, nil
13771	// {
13772	//   "description": "Updates the specified Attribute definition.",
13773	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}",
13774	//   "httpMethod": "PATCH",
13775	//   "id": "healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch",
13776	//   "parameterOrder": [
13777	//     "name"
13778	//   ],
13779	//   "parameters": {
13780	//     "name": {
13781	//       "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.",
13782	//       "location": "path",
13783	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/attributeDefinitions/[^/]+$",
13784	//       "required": true,
13785	//       "type": "string"
13786	//     },
13787	//     "updateMask": {
13788	//       "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`.",
13789	//       "format": "google-fieldmask",
13790	//       "location": "query",
13791	//       "type": "string"
13792	//     }
13793	//   },
13794	//   "path": "v1beta1/{+name}",
13795	//   "request": {
13796	//     "$ref": "AttributeDefinition"
13797	//   },
13798	//   "response": {
13799	//     "$ref": "AttributeDefinition"
13800	//   },
13801	//   "scopes": [
13802	//     "https://www.googleapis.com/auth/cloud-platform"
13803	//   ]
13804	// }
13805
13806}
13807
13808// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create":
13809
13810type ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall struct {
13811	s               *Service
13812	parent          string
13813	consentartifact *ConsentArtifact
13814	urlParams_      gensupport.URLParams
13815	ctx_            context.Context
13816	header_         http.Header
13817}
13818
13819// Create: Creates a new Consent artifact in the parent consent store.
13820//
13821// - parent: The name of the consent store this Consent artifact belongs
13822//   to.
13823func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Create(parent string, consentartifact *ConsentArtifact) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13824	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13825	c.parent = parent
13826	c.consentartifact = consentartifact
13827	return c
13828}
13829
13830// Fields allows partial responses to be retrieved. See
13831// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13832// for more information.
13833func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13834	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13835	return c
13836}
13837
13838// Context sets the context to be used in this call's Do method. Any
13839// pending HTTP request will be aborted if the provided context is
13840// canceled.
13841func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall {
13842	c.ctx_ = ctx
13843	return c
13844}
13845
13846// Header returns an http.Header that can be modified by the caller to
13847// add HTTP headers to the request.
13848func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Header() http.Header {
13849	if c.header_ == nil {
13850		c.header_ = make(http.Header)
13851	}
13852	return c.header_
13853}
13854
13855func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) doRequest(alt string) (*http.Response, error) {
13856	reqHeaders := make(http.Header)
13857	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13858	for k, v := range c.header_ {
13859		reqHeaders[k] = v
13860	}
13861	reqHeaders.Set("User-Agent", c.s.userAgent())
13862	var body io.Reader = nil
13863	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consentartifact)
13864	if err != nil {
13865		return nil, err
13866	}
13867	reqHeaders.Set("Content-Type", "application/json")
13868	c.urlParams_.Set("alt", alt)
13869	c.urlParams_.Set("prettyPrint", "false")
13870	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
13871	urls += "?" + c.urlParams_.Encode()
13872	req, err := http.NewRequest("POST", urls, body)
13873	if err != nil {
13874		return nil, err
13875	}
13876	req.Header = reqHeaders
13877	googleapi.Expand(req.URL, map[string]string{
13878		"parent": c.parent,
13879	})
13880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13881}
13882
13883// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create" call.
13884// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
13885// status code is an error. Response headers are in either
13886// *ConsentArtifact.ServerResponse.Header or (if a response was returned
13887// at all) in error.(*googleapi.Error).Header. Use
13888// googleapi.IsNotModified to check whether the returned error was
13889// because http.StatusNotModified was returned.
13890func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
13891	gensupport.SetOptions(c.urlParams_, opts...)
13892	res, err := c.doRequest("json")
13893	if res != nil && res.StatusCode == http.StatusNotModified {
13894		if res.Body != nil {
13895			res.Body.Close()
13896		}
13897		return nil, &googleapi.Error{
13898			Code:   res.StatusCode,
13899			Header: res.Header,
13900		}
13901	}
13902	if err != nil {
13903		return nil, err
13904	}
13905	defer googleapi.CloseBody(res)
13906	if err := googleapi.CheckResponse(res); err != nil {
13907		return nil, err
13908	}
13909	ret := &ConsentArtifact{
13910		ServerResponse: googleapi.ServerResponse{
13911			Header:         res.Header,
13912			HTTPStatusCode: res.StatusCode,
13913		},
13914	}
13915	target := &ret
13916	if err := gensupport.DecodeResponse(target, res); err != nil {
13917		return nil, err
13918	}
13919	return ret, nil
13920	// {
13921	//   "description": "Creates a new Consent artifact in the parent consent store.",
13922	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
13923	//   "httpMethod": "POST",
13924	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.create",
13925	//   "parameterOrder": [
13926	//     "parent"
13927	//   ],
13928	//   "parameters": {
13929	//     "parent": {
13930	//       "description": "Required. The name of the consent store this Consent artifact belongs to.",
13931	//       "location": "path",
13932	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
13933	//       "required": true,
13934	//       "type": "string"
13935	//     }
13936	//   },
13937	//   "path": "v1beta1/{+parent}/consentArtifacts",
13938	//   "request": {
13939	//     "$ref": "ConsentArtifact"
13940	//   },
13941	//   "response": {
13942	//     "$ref": "ConsentArtifact"
13943	//   },
13944	//   "scopes": [
13945	//     "https://www.googleapis.com/auth/cloud-platform"
13946	//   ]
13947	// }
13948
13949}
13950
13951// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete":
13952
13953type ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall struct {
13954	s          *Service
13955	name       string
13956	urlParams_ gensupport.URLParams
13957	ctx_       context.Context
13958	header_    http.Header
13959}
13960
13961// Delete: Deletes the specified Consent artifact. Fails if the artifact
13962// is referenced by the latest revision of any Consent.
13963//
13964// - name: The resource name of the Consent artifact to delete. To
13965//   preserve referential integrity, Consent artifacts referenced by the
13966//   latest revision of a Consent cannot be deleted.
13967func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13968	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13969	c.name = name
13970	return c
13971}
13972
13973// Fields allows partial responses to be retrieved. See
13974// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13975// for more information.
13976func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13977	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13978	return c
13979}
13980
13981// Context sets the context to be used in this call's Do method. Any
13982// pending HTTP request will be aborted if the provided context is
13983// canceled.
13984func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall {
13985	c.ctx_ = ctx
13986	return c
13987}
13988
13989// Header returns an http.Header that can be modified by the caller to
13990// add HTTP headers to the request.
13991func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Header() http.Header {
13992	if c.header_ == nil {
13993		c.header_ = make(http.Header)
13994	}
13995	return c.header_
13996}
13997
13998func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) doRequest(alt string) (*http.Response, error) {
13999	reqHeaders := make(http.Header)
14000	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14001	for k, v := range c.header_ {
14002		reqHeaders[k] = v
14003	}
14004	reqHeaders.Set("User-Agent", c.s.userAgent())
14005	var body io.Reader = nil
14006	c.urlParams_.Set("alt", alt)
14007	c.urlParams_.Set("prettyPrint", "false")
14008	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14009	urls += "?" + c.urlParams_.Encode()
14010	req, err := http.NewRequest("DELETE", urls, body)
14011	if err != nil {
14012		return nil, err
14013	}
14014	req.Header = reqHeaders
14015	googleapi.Expand(req.URL, map[string]string{
14016		"name": c.name,
14017	})
14018	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14019}
14020
14021// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete" call.
14022// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14023// code is an error. Response headers are in either
14024// *Empty.ServerResponse.Header or (if a response was returned at all)
14025// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14026// check whether the returned error was because http.StatusNotModified
14027// was returned.
14028func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14029	gensupport.SetOptions(c.urlParams_, opts...)
14030	res, err := c.doRequest("json")
14031	if res != nil && res.StatusCode == http.StatusNotModified {
14032		if res.Body != nil {
14033			res.Body.Close()
14034		}
14035		return nil, &googleapi.Error{
14036			Code:   res.StatusCode,
14037			Header: res.Header,
14038		}
14039	}
14040	if err != nil {
14041		return nil, err
14042	}
14043	defer googleapi.CloseBody(res)
14044	if err := googleapi.CheckResponse(res); err != nil {
14045		return nil, err
14046	}
14047	ret := &Empty{
14048		ServerResponse: googleapi.ServerResponse{
14049			Header:         res.Header,
14050			HTTPStatusCode: res.StatusCode,
14051		},
14052	}
14053	target := &ret
14054	if err := gensupport.DecodeResponse(target, res); err != nil {
14055		return nil, err
14056	}
14057	return ret, nil
14058	// {
14059	//   "description": "Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.",
14060	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
14061	//   "httpMethod": "DELETE",
14062	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete",
14063	//   "parameterOrder": [
14064	//     "name"
14065	//   ],
14066	//   "parameters": {
14067	//     "name": {
14068	//       "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.",
14069	//       "location": "path",
14070	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
14071	//       "required": true,
14072	//       "type": "string"
14073	//     }
14074	//   },
14075	//   "path": "v1beta1/{+name}",
14076	//   "response": {
14077	//     "$ref": "Empty"
14078	//   },
14079	//   "scopes": [
14080	//     "https://www.googleapis.com/auth/cloud-platform"
14081	//   ]
14082	// }
14083
14084}
14085
14086// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get":
14087
14088type ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall struct {
14089	s            *Service
14090	name         string
14091	urlParams_   gensupport.URLParams
14092	ifNoneMatch_ string
14093	ctx_         context.Context
14094	header_      http.Header
14095}
14096
14097// Get: Gets the specified Consent artifact.
14098//
14099// - name: The resource name of the Consent artifact to retrieve.
14100func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
14101	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14102	c.name = name
14103	return c
14104}
14105
14106// Fields allows partial responses to be retrieved. See
14107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14108// for more information.
14109func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
14110	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14111	return c
14112}
14113
14114// IfNoneMatch sets the optional parameter which makes the operation
14115// fail if the object's ETag matches the given value. This is useful for
14116// getting updates only after the object has changed since the last
14117// request. Use googleapi.IsNotModified to check whether the response
14118// error from Do is the result of In-None-Match.
14119func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
14120	c.ifNoneMatch_ = entityTag
14121	return c
14122}
14123
14124// Context sets the context to be used in this call's Do method. Any
14125// pending HTTP request will be aborted if the provided context is
14126// canceled.
14127func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall {
14128	c.ctx_ = ctx
14129	return c
14130}
14131
14132// Header returns an http.Header that can be modified by the caller to
14133// add HTTP headers to the request.
14134func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Header() http.Header {
14135	if c.header_ == nil {
14136		c.header_ = make(http.Header)
14137	}
14138	return c.header_
14139}
14140
14141func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) doRequest(alt string) (*http.Response, error) {
14142	reqHeaders := make(http.Header)
14143	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14144	for k, v := range c.header_ {
14145		reqHeaders[k] = v
14146	}
14147	reqHeaders.Set("User-Agent", c.s.userAgent())
14148	if c.ifNoneMatch_ != "" {
14149		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14150	}
14151	var body io.Reader = nil
14152	c.urlParams_.Set("alt", alt)
14153	c.urlParams_.Set("prettyPrint", "false")
14154	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14155	urls += "?" + c.urlParams_.Encode()
14156	req, err := http.NewRequest("GET", urls, body)
14157	if err != nil {
14158		return nil, err
14159	}
14160	req.Header = reqHeaders
14161	googleapi.Expand(req.URL, map[string]string{
14162		"name": c.name,
14163	})
14164	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14165}
14166
14167// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get" call.
14168// Exactly one of *ConsentArtifact or error will be non-nil. Any non-2xx
14169// status code is an error. Response headers are in either
14170// *ConsentArtifact.ServerResponse.Header or (if a response was returned
14171// at all) in error.(*googleapi.Error).Header. Use
14172// googleapi.IsNotModified to check whether the returned error was
14173// because http.StatusNotModified was returned.
14174func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsGetCall) Do(opts ...googleapi.CallOption) (*ConsentArtifact, error) {
14175	gensupport.SetOptions(c.urlParams_, opts...)
14176	res, err := c.doRequest("json")
14177	if res != nil && res.StatusCode == http.StatusNotModified {
14178		if res.Body != nil {
14179			res.Body.Close()
14180		}
14181		return nil, &googleapi.Error{
14182			Code:   res.StatusCode,
14183			Header: res.Header,
14184		}
14185	}
14186	if err != nil {
14187		return nil, err
14188	}
14189	defer googleapi.CloseBody(res)
14190	if err := googleapi.CheckResponse(res); err != nil {
14191		return nil, err
14192	}
14193	ret := &ConsentArtifact{
14194		ServerResponse: googleapi.ServerResponse{
14195			Header:         res.Header,
14196			HTTPStatusCode: res.StatusCode,
14197		},
14198	}
14199	target := &ret
14200	if err := gensupport.DecodeResponse(target, res); err != nil {
14201		return nil, err
14202	}
14203	return ret, nil
14204	// {
14205	//   "description": "Gets the specified Consent artifact.",
14206	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}",
14207	//   "httpMethod": "GET",
14208	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.get",
14209	//   "parameterOrder": [
14210	//     "name"
14211	//   ],
14212	//   "parameters": {
14213	//     "name": {
14214	//       "description": "Required. The resource name of the Consent artifact to retrieve.",
14215	//       "location": "path",
14216	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consentArtifacts/[^/]+$",
14217	//       "required": true,
14218	//       "type": "string"
14219	//     }
14220	//   },
14221	//   "path": "v1beta1/{+name}",
14222	//   "response": {
14223	//     "$ref": "ConsentArtifact"
14224	//   },
14225	//   "scopes": [
14226	//     "https://www.googleapis.com/auth/cloud-platform"
14227	//   ]
14228	// }
14229
14230}
14231
14232// method id "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list":
14233
14234type ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall struct {
14235	s            *Service
14236	parent       string
14237	urlParams_   gensupport.URLParams
14238	ifNoneMatch_ string
14239	ctx_         context.Context
14240	header_      http.Header
14241}
14242
14243// List: Lists the Consent artifacts in the specified consent store.
14244//
14245// - parent: Name of the consent store to retrieve consent artifacts
14246//   from.
14247func (r *ProjectsLocationsDatasetsConsentStoresConsentArtifactsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14248	c := &ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14249	c.parent = parent
14250	return c
14251}
14252
14253// Filter sets the optional parameter "filter": Restricts the artifacts
14254// returned to those matching a filter. The following syntax is
14255// available: * A string field value can be written as text inside
14256// quotation marks, for example "query text". The only valid
14257// relational operation for text fields is equality (`=`), where text is
14258// searched within the field, rather than having the field be equal to
14259// the text. For example, "Comment = great" returns messages with
14260// `great` in the comment field. * A number field value can be written
14261// as an integer, a decimal, or an exponential. The valid relational
14262// operators for number fields are the equality operator (`=`), along
14263// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
14264// Note that there is no inequality (`!=`) operator. You can prepend the
14265// `NOT` operator to an expression to negate it. * A date field value
14266// must be written in `yyyy-mm-dd` form. Fields with date and time use
14267// the RFC3339 time format. Leading zeros are required for one-digit
14268// months and days. The valid relational operators for date fields are
14269// the equality operator (`=`) , along with the less than/greater than
14270// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
14271// (`!=`) operator. You can prepend the `NOT` operator to an expression
14272// to negate it. * Multiple field query expressions can be combined in
14273// one query by adding `AND` or `OR` operators between the expressions.
14274// If a boolean operator appears within a quoted string, it is not
14275// treated as special, it's just another part of the character string to
14276// be matched. You can prepend the `NOT` operator to an expression to
14277// negate it. The fields available for filtering are: - user_id. For
14278// example, `filter=user_id=\"user123\". - consent_content_version -
14279// metadata. For example, `filter=Metadata(\"testkey\")=\"value\" or
14280// `filter=HasMetadata(\"testkey\")`.
14281func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14282	c.urlParams_.Set("filter", filter)
14283	return c
14284}
14285
14286// PageSize sets the optional parameter "pageSize": Limit on the number
14287// of consent artifacts to return in a single response. If not
14288// specified, 100 is used. May not be larger than 1000.
14289func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14290	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14291	return c
14292}
14293
14294// PageToken sets the optional parameter "pageToken": The
14295// next_page_token value returned from the previous List request, if
14296// any.
14297func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14298	c.urlParams_.Set("pageToken", pageToken)
14299	return c
14300}
14301
14302// Fields allows partial responses to be retrieved. See
14303// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14304// for more information.
14305func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14306	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14307	return c
14308}
14309
14310// IfNoneMatch sets the optional parameter which makes the operation
14311// fail if the object's ETag matches the given value. This is useful for
14312// getting updates only after the object has changed since the last
14313// request. Use googleapi.IsNotModified to check whether the response
14314// error from Do is the result of In-None-Match.
14315func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14316	c.ifNoneMatch_ = entityTag
14317	return c
14318}
14319
14320// Context sets the context to be used in this call's Do method. Any
14321// pending HTTP request will be aborted if the provided context is
14322// canceled.
14323func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall {
14324	c.ctx_ = ctx
14325	return c
14326}
14327
14328// Header returns an http.Header that can be modified by the caller to
14329// add HTTP headers to the request.
14330func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Header() http.Header {
14331	if c.header_ == nil {
14332		c.header_ = make(http.Header)
14333	}
14334	return c.header_
14335}
14336
14337func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) doRequest(alt string) (*http.Response, error) {
14338	reqHeaders := make(http.Header)
14339	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14340	for k, v := range c.header_ {
14341		reqHeaders[k] = v
14342	}
14343	reqHeaders.Set("User-Agent", c.s.userAgent())
14344	if c.ifNoneMatch_ != "" {
14345		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14346	}
14347	var body io.Reader = nil
14348	c.urlParams_.Set("alt", alt)
14349	c.urlParams_.Set("prettyPrint", "false")
14350	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consentArtifacts")
14351	urls += "?" + c.urlParams_.Encode()
14352	req, err := http.NewRequest("GET", urls, body)
14353	if err != nil {
14354		return nil, err
14355	}
14356	req.Header = reqHeaders
14357	googleapi.Expand(req.URL, map[string]string{
14358		"parent": c.parent,
14359	})
14360	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14361}
14362
14363// Do executes the "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list" call.
14364// Exactly one of *ListConsentArtifactsResponse or error will be
14365// non-nil. Any non-2xx status code is an error. Response headers are in
14366// either *ListConsentArtifactsResponse.ServerResponse.Header or (if a
14367// response was returned at all) in error.(*googleapi.Error).Header. Use
14368// googleapi.IsNotModified to check whether the returned error was
14369// because http.StatusNotModified was returned.
14370func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Do(opts ...googleapi.CallOption) (*ListConsentArtifactsResponse, error) {
14371	gensupport.SetOptions(c.urlParams_, opts...)
14372	res, err := c.doRequest("json")
14373	if res != nil && res.StatusCode == http.StatusNotModified {
14374		if res.Body != nil {
14375			res.Body.Close()
14376		}
14377		return nil, &googleapi.Error{
14378			Code:   res.StatusCode,
14379			Header: res.Header,
14380		}
14381	}
14382	if err != nil {
14383		return nil, err
14384	}
14385	defer googleapi.CloseBody(res)
14386	if err := googleapi.CheckResponse(res); err != nil {
14387		return nil, err
14388	}
14389	ret := &ListConsentArtifactsResponse{
14390		ServerResponse: googleapi.ServerResponse{
14391			Header:         res.Header,
14392			HTTPStatusCode: res.StatusCode,
14393		},
14394	}
14395	target := &ret
14396	if err := gensupport.DecodeResponse(target, res); err != nil {
14397		return nil, err
14398	}
14399	return ret, nil
14400	// {
14401	//   "description": "Lists the Consent artifacts in the specified consent store.",
14402	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts",
14403	//   "httpMethod": "GET",
14404	//   "id": "healthcare.projects.locations.datasets.consentStores.consentArtifacts.list",
14405	//   "parameterOrder": [
14406	//     "parent"
14407	//   ],
14408	//   "parameters": {
14409	//     "filter": {
14410	//       "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\\\")`.",
14411	//       "location": "query",
14412	//       "type": "string"
14413	//     },
14414	//     "pageSize": {
14415	//       "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.",
14416	//       "format": "int32",
14417	//       "location": "query",
14418	//       "type": "integer"
14419	//     },
14420	//     "pageToken": {
14421	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
14422	//       "location": "query",
14423	//       "type": "string"
14424	//     },
14425	//     "parent": {
14426	//       "description": "Required. Name of the consent store to retrieve consent artifacts from.",
14427	//       "location": "path",
14428	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14429	//       "required": true,
14430	//       "type": "string"
14431	//     }
14432	//   },
14433	//   "path": "v1beta1/{+parent}/consentArtifacts",
14434	//   "response": {
14435	//     "$ref": "ListConsentArtifactsResponse"
14436	//   },
14437	//   "scopes": [
14438	//     "https://www.googleapis.com/auth/cloud-platform"
14439	//   ]
14440	// }
14441
14442}
14443
14444// Pages invokes f for each page of results.
14445// A non-nil error returned from f will halt the iteration.
14446// The provided context supersedes any context provided to the Context method.
14447func (c *ProjectsLocationsDatasetsConsentStoresConsentArtifactsListCall) Pages(ctx context.Context, f func(*ListConsentArtifactsResponse) error) error {
14448	c.ctx_ = ctx
14449	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14450	for {
14451		x, err := c.Do()
14452		if err != nil {
14453			return err
14454		}
14455		if err := f(x); err != nil {
14456			return err
14457		}
14458		if x.NextPageToken == "" {
14459			return nil
14460		}
14461		c.PageToken(x.NextPageToken)
14462	}
14463}
14464
14465// method id "healthcare.projects.locations.datasets.consentStores.consents.activate":
14466
14467type ProjectsLocationsDatasetsConsentStoresConsentsActivateCall struct {
14468	s                      *Service
14469	name                   string
14470	activateconsentrequest *ActivateConsentRequest
14471	urlParams_             gensupport.URLParams
14472	ctx_                   context.Context
14473	header_                http.Header
14474}
14475
14476// Activate: Activates the latest revision of the specified Consent by
14477// committing a new revision with `state` updated to `ACTIVE`. If the
14478// latest revision of the specified Consent is in the `ACTIVE` state, no
14479// new revision is committed. A FAILED_PRECONDITION error occurs if the
14480// latest revision of the specified consent is in the `REJECTED` or
14481// `REVOKED` state.
14482//
14483// - name: The resource name of the Consent to activate, of the form
14484//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14485//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14486//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14487//   name.
14488func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Activate(name string, activateconsentrequest *ActivateConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14489	c := &ProjectsLocationsDatasetsConsentStoresConsentsActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14490	c.name = name
14491	c.activateconsentrequest = activateconsentrequest
14492	return c
14493}
14494
14495// Fields allows partial responses to be retrieved. See
14496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14497// for more information.
14498func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14500	return c
14501}
14502
14503// Context sets the context to be used in this call's Do method. Any
14504// pending HTTP request will be aborted if the provided context is
14505// canceled.
14506func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall {
14507	c.ctx_ = ctx
14508	return c
14509}
14510
14511// Header returns an http.Header that can be modified by the caller to
14512// add HTTP headers to the request.
14513func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Header() http.Header {
14514	if c.header_ == nil {
14515		c.header_ = make(http.Header)
14516	}
14517	return c.header_
14518}
14519
14520func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) doRequest(alt string) (*http.Response, error) {
14521	reqHeaders := make(http.Header)
14522	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14523	for k, v := range c.header_ {
14524		reqHeaders[k] = v
14525	}
14526	reqHeaders.Set("User-Agent", c.s.userAgent())
14527	var body io.Reader = nil
14528	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activateconsentrequest)
14529	if err != nil {
14530		return nil, err
14531	}
14532	reqHeaders.Set("Content-Type", "application/json")
14533	c.urlParams_.Set("alt", alt)
14534	c.urlParams_.Set("prettyPrint", "false")
14535	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:activate")
14536	urls += "?" + c.urlParams_.Encode()
14537	req, err := http.NewRequest("POST", urls, body)
14538	if err != nil {
14539		return nil, err
14540	}
14541	req.Header = reqHeaders
14542	googleapi.Expand(req.URL, map[string]string{
14543		"name": c.name,
14544	})
14545	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14546}
14547
14548// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.activate" call.
14549// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14550// code is an error. Response headers are in either
14551// *Consent.ServerResponse.Header or (if a response was returned at all)
14552// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14553// check whether the returned error was because http.StatusNotModified
14554// was returned.
14555func (c *ProjectsLocationsDatasetsConsentStoresConsentsActivateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14556	gensupport.SetOptions(c.urlParams_, opts...)
14557	res, err := c.doRequest("json")
14558	if res != nil && res.StatusCode == http.StatusNotModified {
14559		if res.Body != nil {
14560			res.Body.Close()
14561		}
14562		return nil, &googleapi.Error{
14563			Code:   res.StatusCode,
14564			Header: res.Header,
14565		}
14566	}
14567	if err != nil {
14568		return nil, err
14569	}
14570	defer googleapi.CloseBody(res)
14571	if err := googleapi.CheckResponse(res); err != nil {
14572		return nil, err
14573	}
14574	ret := &Consent{
14575		ServerResponse: googleapi.ServerResponse{
14576			Header:         res.Header,
14577			HTTPStatusCode: res.StatusCode,
14578		},
14579	}
14580	target := &ret
14581	if err := gensupport.DecodeResponse(target, res); err != nil {
14582		return nil, err
14583	}
14584	return ret, nil
14585	// {
14586	//   "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.",
14587	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate",
14588	//   "httpMethod": "POST",
14589	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.activate",
14590	//   "parameterOrder": [
14591	//     "name"
14592	//   ],
14593	//   "parameters": {
14594	//     "name": {
14595	//       "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.",
14596	//       "location": "path",
14597	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14598	//       "required": true,
14599	//       "type": "string"
14600	//     }
14601	//   },
14602	//   "path": "v1beta1/{+name}:activate",
14603	//   "request": {
14604	//     "$ref": "ActivateConsentRequest"
14605	//   },
14606	//   "response": {
14607	//     "$ref": "Consent"
14608	//   },
14609	//   "scopes": [
14610	//     "https://www.googleapis.com/auth/cloud-platform"
14611	//   ]
14612	// }
14613
14614}
14615
14616// method id "healthcare.projects.locations.datasets.consentStores.consents.create":
14617
14618type ProjectsLocationsDatasetsConsentStoresConsentsCreateCall struct {
14619	s          *Service
14620	parent     string
14621	consent    *Consent
14622	urlParams_ gensupport.URLParams
14623	ctx_       context.Context
14624	header_    http.Header
14625}
14626
14627// Create: Creates a new Consent in the parent consent store.
14628//
14629// - parent: Name of the consent store.
14630func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Create(parent string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14631	c := &ProjectsLocationsDatasetsConsentStoresConsentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14632	c.parent = parent
14633	c.consent = consent
14634	return c
14635}
14636
14637// Fields allows partial responses to be retrieved. See
14638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14639// for more information.
14640func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14642	return c
14643}
14644
14645// Context sets the context to be used in this call's Do method. Any
14646// pending HTTP request will be aborted if the provided context is
14647// canceled.
14648func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall {
14649	c.ctx_ = ctx
14650	return c
14651}
14652
14653// Header returns an http.Header that can be modified by the caller to
14654// add HTTP headers to the request.
14655func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Header() http.Header {
14656	if c.header_ == nil {
14657		c.header_ = make(http.Header)
14658	}
14659	return c.header_
14660}
14661
14662func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) doRequest(alt string) (*http.Response, error) {
14663	reqHeaders := make(http.Header)
14664	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14665	for k, v := range c.header_ {
14666		reqHeaders[k] = v
14667	}
14668	reqHeaders.Set("User-Agent", c.s.userAgent())
14669	var body io.Reader = nil
14670	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
14671	if err != nil {
14672		return nil, err
14673	}
14674	reqHeaders.Set("Content-Type", "application/json")
14675	c.urlParams_.Set("alt", alt)
14676	c.urlParams_.Set("prettyPrint", "false")
14677	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
14678	urls += "?" + c.urlParams_.Encode()
14679	req, err := http.NewRequest("POST", urls, body)
14680	if err != nil {
14681		return nil, err
14682	}
14683	req.Header = reqHeaders
14684	googleapi.Expand(req.URL, map[string]string{
14685		"parent": c.parent,
14686	})
14687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14688}
14689
14690// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.create" call.
14691// Exactly one of *Consent or error will be non-nil. Any non-2xx status
14692// code is an error. Response headers are in either
14693// *Consent.ServerResponse.Header or (if a response was returned at all)
14694// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14695// check whether the returned error was because http.StatusNotModified
14696// was returned.
14697func (c *ProjectsLocationsDatasetsConsentStoresConsentsCreateCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
14698	gensupport.SetOptions(c.urlParams_, opts...)
14699	res, err := c.doRequest("json")
14700	if res != nil && res.StatusCode == http.StatusNotModified {
14701		if res.Body != nil {
14702			res.Body.Close()
14703		}
14704		return nil, &googleapi.Error{
14705			Code:   res.StatusCode,
14706			Header: res.Header,
14707		}
14708	}
14709	if err != nil {
14710		return nil, err
14711	}
14712	defer googleapi.CloseBody(res)
14713	if err := googleapi.CheckResponse(res); err != nil {
14714		return nil, err
14715	}
14716	ret := &Consent{
14717		ServerResponse: googleapi.ServerResponse{
14718			Header:         res.Header,
14719			HTTPStatusCode: res.StatusCode,
14720		},
14721	}
14722	target := &ret
14723	if err := gensupport.DecodeResponse(target, res); err != nil {
14724		return nil, err
14725	}
14726	return ret, nil
14727	// {
14728	//   "description": "Creates a new Consent in the parent consent store.",
14729	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
14730	//   "httpMethod": "POST",
14731	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.create",
14732	//   "parameterOrder": [
14733	//     "parent"
14734	//   ],
14735	//   "parameters": {
14736	//     "parent": {
14737	//       "description": "Required. Name of the consent store.",
14738	//       "location": "path",
14739	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
14740	//       "required": true,
14741	//       "type": "string"
14742	//     }
14743	//   },
14744	//   "path": "v1beta1/{+parent}/consents",
14745	//   "request": {
14746	//     "$ref": "Consent"
14747	//   },
14748	//   "response": {
14749	//     "$ref": "Consent"
14750	//   },
14751	//   "scopes": [
14752	//     "https://www.googleapis.com/auth/cloud-platform"
14753	//   ]
14754	// }
14755
14756}
14757
14758// method id "healthcare.projects.locations.datasets.consentStores.consents.delete":
14759
14760type ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall struct {
14761	s          *Service
14762	name       string
14763	urlParams_ gensupport.URLParams
14764	ctx_       context.Context
14765	header_    http.Header
14766}
14767
14768// Delete: Deletes the Consent and its revisions. To keep a record of
14769// the Consent but mark it inactive, see [RevokeConsent]. To delete a
14770// revision of a Consent, see [DeleteConsentRevision]. This operation
14771// does not delete the related Consent artifact.
14772//
14773// - name: The resource name of the Consent to delete, of the form
14774//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14775//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
14776//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
14777//   name.
14778func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14779	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14780	c.name = name
14781	return c
14782}
14783
14784// Fields allows partial responses to be retrieved. See
14785// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14786// for more information.
14787func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14788	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14789	return c
14790}
14791
14792// Context sets the context to be used in this call's Do method. Any
14793// pending HTTP request will be aborted if the provided context is
14794// canceled.
14795func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall {
14796	c.ctx_ = ctx
14797	return c
14798}
14799
14800// Header returns an http.Header that can be modified by the caller to
14801// add HTTP headers to the request.
14802func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Header() http.Header {
14803	if c.header_ == nil {
14804		c.header_ = make(http.Header)
14805	}
14806	return c.header_
14807}
14808
14809func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) doRequest(alt string) (*http.Response, error) {
14810	reqHeaders := make(http.Header)
14811	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14812	for k, v := range c.header_ {
14813		reqHeaders[k] = v
14814	}
14815	reqHeaders.Set("User-Agent", c.s.userAgent())
14816	var body io.Reader = nil
14817	c.urlParams_.Set("alt", alt)
14818	c.urlParams_.Set("prettyPrint", "false")
14819	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
14820	urls += "?" + c.urlParams_.Encode()
14821	req, err := http.NewRequest("DELETE", urls, body)
14822	if err != nil {
14823		return nil, err
14824	}
14825	req.Header = reqHeaders
14826	googleapi.Expand(req.URL, map[string]string{
14827		"name": c.name,
14828	})
14829	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14830}
14831
14832// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.delete" call.
14833// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14834// code is an error. Response headers are in either
14835// *Empty.ServerResponse.Header or (if a response was returned at all)
14836// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14837// check whether the returned error was because http.StatusNotModified
14838// was returned.
14839func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14840	gensupport.SetOptions(c.urlParams_, opts...)
14841	res, err := c.doRequest("json")
14842	if res != nil && res.StatusCode == http.StatusNotModified {
14843		if res.Body != nil {
14844			res.Body.Close()
14845		}
14846		return nil, &googleapi.Error{
14847			Code:   res.StatusCode,
14848			Header: res.Header,
14849		}
14850	}
14851	if err != nil {
14852		return nil, err
14853	}
14854	defer googleapi.CloseBody(res)
14855	if err := googleapi.CheckResponse(res); err != nil {
14856		return nil, err
14857	}
14858	ret := &Empty{
14859		ServerResponse: googleapi.ServerResponse{
14860			Header:         res.Header,
14861			HTTPStatusCode: res.StatusCode,
14862		},
14863	}
14864	target := &ret
14865	if err := gensupport.DecodeResponse(target, res); err != nil {
14866		return nil, err
14867	}
14868	return ret, nil
14869	// {
14870	//   "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.",
14871	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
14872	//   "httpMethod": "DELETE",
14873	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.delete",
14874	//   "parameterOrder": [
14875	//     "name"
14876	//   ],
14877	//   "parameters": {
14878	//     "name": {
14879	//       "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.",
14880	//       "location": "path",
14881	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
14882	//       "required": true,
14883	//       "type": "string"
14884	//     }
14885	//   },
14886	//   "path": "v1beta1/{+name}",
14887	//   "response": {
14888	//     "$ref": "Empty"
14889	//   },
14890	//   "scopes": [
14891	//     "https://www.googleapis.com/auth/cloud-platform"
14892	//   ]
14893	// }
14894
14895}
14896
14897// method id "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision":
14898
14899type ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall struct {
14900	s          *Service
14901	name       string
14902	urlParams_ gensupport.URLParams
14903	ctx_       context.Context
14904	header_    http.Header
14905}
14906
14907// DeleteRevision: Deletes the specified revision of a Consent. An
14908// INVALID_ARGUMENT error occurs if the specified revision is the latest
14909// revision.
14910//
14911// - name: The resource name of the Consent revision to delete, of the
14912//   form
14913//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
14914//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
14915//   }`. An INVALID_ARGUMENT error occurs if `revision_id` is not
14916//   specified in the name.
14917func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) DeleteRevision(name string) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14918	c := &ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14919	c.name = name
14920	return c
14921}
14922
14923// Fields allows partial responses to be retrieved. See
14924// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14925// for more information.
14926func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14927	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14928	return c
14929}
14930
14931// Context sets the context to be used in this call's Do method. Any
14932// pending HTTP request will be aborted if the provided context is
14933// canceled.
14934func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall {
14935	c.ctx_ = ctx
14936	return c
14937}
14938
14939// Header returns an http.Header that can be modified by the caller to
14940// add HTTP headers to the request.
14941func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Header() http.Header {
14942	if c.header_ == nil {
14943		c.header_ = make(http.Header)
14944	}
14945	return c.header_
14946}
14947
14948func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) doRequest(alt string) (*http.Response, error) {
14949	reqHeaders := make(http.Header)
14950	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14951	for k, v := range c.header_ {
14952		reqHeaders[k] = v
14953	}
14954	reqHeaders.Set("User-Agent", c.s.userAgent())
14955	var body io.Reader = nil
14956	c.urlParams_.Set("alt", alt)
14957	c.urlParams_.Set("prettyPrint", "false")
14958	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:deleteRevision")
14959	urls += "?" + c.urlParams_.Encode()
14960	req, err := http.NewRequest("DELETE", urls, body)
14961	if err != nil {
14962		return nil, err
14963	}
14964	req.Header = reqHeaders
14965	googleapi.Expand(req.URL, map[string]string{
14966		"name": c.name,
14967	})
14968	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14969}
14970
14971// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision" call.
14972// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14973// code is an error. Response headers are in either
14974// *Empty.ServerResponse.Header or (if a response was returned at all)
14975// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14976// check whether the returned error was because http.StatusNotModified
14977// was returned.
14978func (c *ProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14979	gensupport.SetOptions(c.urlParams_, opts...)
14980	res, err := c.doRequest("json")
14981	if res != nil && res.StatusCode == http.StatusNotModified {
14982		if res.Body != nil {
14983			res.Body.Close()
14984		}
14985		return nil, &googleapi.Error{
14986			Code:   res.StatusCode,
14987			Header: res.Header,
14988		}
14989	}
14990	if err != nil {
14991		return nil, err
14992	}
14993	defer googleapi.CloseBody(res)
14994	if err := googleapi.CheckResponse(res); err != nil {
14995		return nil, err
14996	}
14997	ret := &Empty{
14998		ServerResponse: googleapi.ServerResponse{
14999			Header:         res.Header,
15000			HTTPStatusCode: res.StatusCode,
15001		},
15002	}
15003	target := &ret
15004	if err := gensupport.DecodeResponse(target, res); err != nil {
15005		return nil, err
15006	}
15007	return ret, nil
15008	// {
15009	//   "description": "Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.",
15010	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision",
15011	//   "httpMethod": "DELETE",
15012	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.deleteRevision",
15013	//   "parameterOrder": [
15014	//     "name"
15015	//   ],
15016	//   "parameters": {
15017	//     "name": {
15018	//       "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.",
15019	//       "location": "path",
15020	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15021	//       "required": true,
15022	//       "type": "string"
15023	//     }
15024	//   },
15025	//   "path": "v1beta1/{+name}:deleteRevision",
15026	//   "response": {
15027	//     "$ref": "Empty"
15028	//   },
15029	//   "scopes": [
15030	//     "https://www.googleapis.com/auth/cloud-platform"
15031	//   ]
15032	// }
15033
15034}
15035
15036// method id "healthcare.projects.locations.datasets.consentStores.consents.get":
15037
15038type ProjectsLocationsDatasetsConsentStoresConsentsGetCall struct {
15039	s            *Service
15040	name         string
15041	urlParams_   gensupport.URLParams
15042	ifNoneMatch_ string
15043	ctx_         context.Context
15044	header_      http.Header
15045}
15046
15047// Get: Gets the specified revision of a Consent, or the latest revision
15048// if `revision_id` is not specified in the resource name.
15049//
15050// - name: The resource name of the Consent to retrieve, of the form
15051//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15052//   /consentStores/{consent_store_id}/consents/{consent_id}`. In order
15053//   to retrieve a previous revision of the Consent, also provide the
15054//   revision ID:
15055//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15056//   /consentStores/{consent_store_id}/consents/{consent_id}@{revision_id
15057//   }`.
15058func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
15059	c := &ProjectsLocationsDatasetsConsentStoresConsentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15060	c.name = name
15061	return c
15062}
15063
15064// Fields allows partial responses to be retrieved. See
15065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15066// for more information.
15067func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
15068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15069	return c
15070}
15071
15072// IfNoneMatch sets the optional parameter which makes the operation
15073// fail if the object's ETag matches the given value. This is useful for
15074// getting updates only after the object has changed since the last
15075// request. Use googleapi.IsNotModified to check whether the response
15076// error from Do is the result of In-None-Match.
15077func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
15078	c.ifNoneMatch_ = entityTag
15079	return c
15080}
15081
15082// Context sets the context to be used in this call's Do method. Any
15083// pending HTTP request will be aborted if the provided context is
15084// canceled.
15085func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsGetCall {
15086	c.ctx_ = ctx
15087	return c
15088}
15089
15090// Header returns an http.Header that can be modified by the caller to
15091// add HTTP headers to the request.
15092func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Header() http.Header {
15093	if c.header_ == nil {
15094		c.header_ = make(http.Header)
15095	}
15096	return c.header_
15097}
15098
15099func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) doRequest(alt string) (*http.Response, error) {
15100	reqHeaders := make(http.Header)
15101	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15102	for k, v := range c.header_ {
15103		reqHeaders[k] = v
15104	}
15105	reqHeaders.Set("User-Agent", c.s.userAgent())
15106	if c.ifNoneMatch_ != "" {
15107		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15108	}
15109	var body io.Reader = nil
15110	c.urlParams_.Set("alt", alt)
15111	c.urlParams_.Set("prettyPrint", "false")
15112	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
15113	urls += "?" + c.urlParams_.Encode()
15114	req, err := http.NewRequest("GET", urls, body)
15115	if err != nil {
15116		return nil, err
15117	}
15118	req.Header = reqHeaders
15119	googleapi.Expand(req.URL, map[string]string{
15120		"name": c.name,
15121	})
15122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15123}
15124
15125// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.get" call.
15126// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15127// code is an error. Response headers are in either
15128// *Consent.ServerResponse.Header or (if a response was returned at all)
15129// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15130// check whether the returned error was because http.StatusNotModified
15131// was returned.
15132func (c *ProjectsLocationsDatasetsConsentStoresConsentsGetCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15133	gensupport.SetOptions(c.urlParams_, opts...)
15134	res, err := c.doRequest("json")
15135	if res != nil && res.StatusCode == http.StatusNotModified {
15136		if res.Body != nil {
15137			res.Body.Close()
15138		}
15139		return nil, &googleapi.Error{
15140			Code:   res.StatusCode,
15141			Header: res.Header,
15142		}
15143	}
15144	if err != nil {
15145		return nil, err
15146	}
15147	defer googleapi.CloseBody(res)
15148	if err := googleapi.CheckResponse(res); err != nil {
15149		return nil, err
15150	}
15151	ret := &Consent{
15152		ServerResponse: googleapi.ServerResponse{
15153			Header:         res.Header,
15154			HTTPStatusCode: res.StatusCode,
15155		},
15156	}
15157	target := &ret
15158	if err := gensupport.DecodeResponse(target, res); err != nil {
15159		return nil, err
15160	}
15161	return ret, nil
15162	// {
15163	//   "description": "Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.",
15164	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15165	//   "httpMethod": "GET",
15166	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.get",
15167	//   "parameterOrder": [
15168	//     "name"
15169	//   ],
15170	//   "parameters": {
15171	//     "name": {
15172	//       "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}`",
15173	//       "location": "path",
15174	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15175	//       "required": true,
15176	//       "type": "string"
15177	//     }
15178	//   },
15179	//   "path": "v1beta1/{+name}",
15180	//   "response": {
15181	//     "$ref": "Consent"
15182	//   },
15183	//   "scopes": [
15184	//     "https://www.googleapis.com/auth/cloud-platform"
15185	//   ]
15186	// }
15187
15188}
15189
15190// method id "healthcare.projects.locations.datasets.consentStores.consents.list":
15191
15192type ProjectsLocationsDatasetsConsentStoresConsentsListCall struct {
15193	s            *Service
15194	parent       string
15195	urlParams_   gensupport.URLParams
15196	ifNoneMatch_ string
15197	ctx_         context.Context
15198	header_      http.Header
15199}
15200
15201// List: Lists the Consent in the given consent store, returning each
15202// Consent's latest revision.
15203//
15204// - parent: Name of the consent store to retrieve Consents from.
15205func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15206	c := &ProjectsLocationsDatasetsConsentStoresConsentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15207	c.parent = parent
15208	return c
15209}
15210
15211// Filter sets the optional parameter "filter": Restricts the consents
15212// returned to those matching a filter. The following syntax is
15213// available: * A string field value can be written as text inside
15214// quotation marks, for example "query text". The only valid
15215// relational operation for text fields is equality (`=`), where text is
15216// searched within the field, rather than having the field be equal to
15217// the text. For example, "Comment = great" returns messages with
15218// `great` in the comment field. * A number field value can be written
15219// as an integer, a decimal, or an exponential. The valid relational
15220// operators for number fields are the equality operator (`=`), along
15221// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15222// Note that there is no inequality (`!=`) operator. You can prepend the
15223// `NOT` operator to an expression to negate it. * A date field value
15224// must be written in `yyyy-mm-dd` form. Fields with date and time use
15225// the RFC3339 time format. Leading zeros are required for one-digit
15226// months and days. The valid relational operators for date fields are
15227// the equality operator (`=`) , along with the less than/greater than
15228// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15229// (`!=`) operator. You can prepend the `NOT` operator to an expression
15230// to negate it. * Multiple field query expressions can be combined in
15231// one query by adding `AND` or `OR` operators between the expressions.
15232// If a boolean operator appears within a quoted string, it is not
15233// treated as special, it's just another part of the character string to
15234// be matched. You can prepend the `NOT` operator to an expression to
15235// negate it. The fields available for filtering are: - user_id. For
15236// example, `filter='user_id="user123"'`. - consent_artifact - state -
15237// revision_create_time - metadata. For example,
15238// `filter=Metadata(\"testkey\")=\"value\" or
15239// `filter=HasMetadata(\"testkey\")`.
15240func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15241	c.urlParams_.Set("filter", filter)
15242	return c
15243}
15244
15245// PageSize sets the optional parameter "pageSize": Limit on the number
15246// of Consents to return in a single response. If not specified, 100 is
15247// used. May not be larger than 1000.
15248func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15249	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15250	return c
15251}
15252
15253// PageToken sets the optional parameter "pageToken": The
15254// next_page_token value returned from the previous List request, if
15255// any.
15256func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15257	c.urlParams_.Set("pageToken", pageToken)
15258	return c
15259}
15260
15261// Fields allows partial responses to be retrieved. See
15262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15263// for more information.
15264func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15266	return c
15267}
15268
15269// IfNoneMatch sets the optional parameter which makes the operation
15270// fail if the object's ETag matches the given value. This is useful for
15271// getting updates only after the object has changed since the last
15272// request. Use googleapi.IsNotModified to check whether the response
15273// error from Do is the result of In-None-Match.
15274func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15275	c.ifNoneMatch_ = entityTag
15276	return c
15277}
15278
15279// Context sets the context to be used in this call's Do method. Any
15280// pending HTTP request will be aborted if the provided context is
15281// canceled.
15282func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListCall {
15283	c.ctx_ = ctx
15284	return c
15285}
15286
15287// Header returns an http.Header that can be modified by the caller to
15288// add HTTP headers to the request.
15289func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Header() http.Header {
15290	if c.header_ == nil {
15291		c.header_ = make(http.Header)
15292	}
15293	return c.header_
15294}
15295
15296func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) doRequest(alt string) (*http.Response, error) {
15297	reqHeaders := make(http.Header)
15298	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15299	for k, v := range c.header_ {
15300		reqHeaders[k] = v
15301	}
15302	reqHeaders.Set("User-Agent", c.s.userAgent())
15303	if c.ifNoneMatch_ != "" {
15304		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15305	}
15306	var body io.Reader = nil
15307	c.urlParams_.Set("alt", alt)
15308	c.urlParams_.Set("prettyPrint", "false")
15309	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/consents")
15310	urls += "?" + c.urlParams_.Encode()
15311	req, err := http.NewRequest("GET", urls, body)
15312	if err != nil {
15313		return nil, err
15314	}
15315	req.Header = reqHeaders
15316	googleapi.Expand(req.URL, map[string]string{
15317		"parent": c.parent,
15318	})
15319	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15320}
15321
15322// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.list" call.
15323// Exactly one of *ListConsentsResponse or error will be non-nil. Any
15324// non-2xx status code is an error. Response headers are in either
15325// *ListConsentsResponse.ServerResponse.Header or (if a response was
15326// returned at all) in error.(*googleapi.Error).Header. Use
15327// googleapi.IsNotModified to check whether the returned error was
15328// because http.StatusNotModified was returned.
15329func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Do(opts ...googleapi.CallOption) (*ListConsentsResponse, error) {
15330	gensupport.SetOptions(c.urlParams_, opts...)
15331	res, err := c.doRequest("json")
15332	if res != nil && res.StatusCode == http.StatusNotModified {
15333		if res.Body != nil {
15334			res.Body.Close()
15335		}
15336		return nil, &googleapi.Error{
15337			Code:   res.StatusCode,
15338			Header: res.Header,
15339		}
15340	}
15341	if err != nil {
15342		return nil, err
15343	}
15344	defer googleapi.CloseBody(res)
15345	if err := googleapi.CheckResponse(res); err != nil {
15346		return nil, err
15347	}
15348	ret := &ListConsentsResponse{
15349		ServerResponse: googleapi.ServerResponse{
15350			Header:         res.Header,
15351			HTTPStatusCode: res.StatusCode,
15352		},
15353	}
15354	target := &ret
15355	if err := gensupport.DecodeResponse(target, res); err != nil {
15356		return nil, err
15357	}
15358	return ret, nil
15359	// {
15360	//   "description": "Lists the Consent in the given consent store, returning each Consent's latest revision.",
15361	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents",
15362	//   "httpMethod": "GET",
15363	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.list",
15364	//   "parameterOrder": [
15365	//     "parent"
15366	//   ],
15367	//   "parameters": {
15368	//     "filter": {
15369	//       "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\\\")`.",
15370	//       "location": "query",
15371	//       "type": "string"
15372	//     },
15373	//     "pageSize": {
15374	//       "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.",
15375	//       "format": "int32",
15376	//       "location": "query",
15377	//       "type": "integer"
15378	//     },
15379	//     "pageToken": {
15380	//       "description": "Optional. The next_page_token value returned from the previous List request, if any.",
15381	//       "location": "query",
15382	//       "type": "string"
15383	//     },
15384	//     "parent": {
15385	//       "description": "Required. Name of the consent store to retrieve Consents from.",
15386	//       "location": "path",
15387	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
15388	//       "required": true,
15389	//       "type": "string"
15390	//     }
15391	//   },
15392	//   "path": "v1beta1/{+parent}/consents",
15393	//   "response": {
15394	//     "$ref": "ListConsentsResponse"
15395	//   },
15396	//   "scopes": [
15397	//     "https://www.googleapis.com/auth/cloud-platform"
15398	//   ]
15399	// }
15400
15401}
15402
15403// Pages invokes f for each page of results.
15404// A non-nil error returned from f will halt the iteration.
15405// The provided context supersedes any context provided to the Context method.
15406func (c *ProjectsLocationsDatasetsConsentStoresConsentsListCall) Pages(ctx context.Context, f func(*ListConsentsResponse) error) error {
15407	c.ctx_ = ctx
15408	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15409	for {
15410		x, err := c.Do()
15411		if err != nil {
15412			return err
15413		}
15414		if err := f(x); err != nil {
15415			return err
15416		}
15417		if x.NextPageToken == "" {
15418			return nil
15419		}
15420		c.PageToken(x.NextPageToken)
15421	}
15422}
15423
15424// method id "healthcare.projects.locations.datasets.consentStores.consents.listRevisions":
15425
15426type ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall struct {
15427	s            *Service
15428	name         string
15429	urlParams_   gensupport.URLParams
15430	ifNoneMatch_ string
15431	ctx_         context.Context
15432	header_      http.Header
15433}
15434
15435// ListRevisions: Lists the revisions of the specified Consent in
15436// reverse chronological order.
15437//
15438// - name: The resource name of the Consent to retrieve revisions for.
15439func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) ListRevisions(name string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15440	c := &ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15441	c.name = name
15442	return c
15443}
15444
15445// Filter sets the optional parameter "filter": Restricts the revisions
15446// returned to those matching a filter. The following syntax is
15447// available: * A string field value can be written as text inside
15448// quotation marks, for example "query text". The only valid
15449// relational operation for text fields is equality (`=`), where text is
15450// searched within the field, rather than having the field be equal to
15451// the text. For example, "Comment = great" returns messages with
15452// `great` in the comment field. * A number field value can be written
15453// as an integer, a decimal, or an exponential. The valid relational
15454// operators for number fields are the equality operator (`=`), along
15455// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
15456// Note that there is no inequality (`!=`) operator. You can prepend the
15457// `NOT` operator to an expression to negate it. * A date field value
15458// must be written in `yyyy-mm-dd` form. Fields with date and time use
15459// the RFC3339 time format. Leading zeros are required for one-digit
15460// months and days. The valid relational operators for date fields are
15461// the equality operator (`=`) , along with the less than/greater than
15462// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
15463// (`!=`) operator. You can prepend the `NOT` operator to an expression
15464// to negate it. * Multiple field query expressions can be combined in
15465// one query by adding `AND` or `OR` operators between the expressions.
15466// If a boolean operator appears within a quoted string, it is not
15467// treated as special, it's just another part of the character string to
15468// be matched. You can prepend the `NOT` operator to an expression to
15469// negate it. Fields/functions available for filtering are: - user_id.
15470// For example, `filter='user_id="user123"'`. - consent_artifact - state
15471// - revision_create_time - metadata. For example,
15472// `filter=Metadata(\"testkey\")=\"value\" or
15473// `filter=HasMetadata(\"testkey\")`.
15474func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15475	c.urlParams_.Set("filter", filter)
15476	return c
15477}
15478
15479// PageSize sets the optional parameter "pageSize": Limit on the number
15480// of revisions to return in a single response. If not specified, 100 is
15481// used. May not be larger than 1000.
15482func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15483	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15484	return c
15485}
15486
15487// PageToken sets the optional parameter "pageToken": Token to retrieve
15488// the next page of results or empty if there are no more results in the
15489// list.
15490func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15491	c.urlParams_.Set("pageToken", pageToken)
15492	return c
15493}
15494
15495// Fields allows partial responses to be retrieved. See
15496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15497// for more information.
15498func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15500	return c
15501}
15502
15503// IfNoneMatch sets the optional parameter which makes the operation
15504// fail if the object's ETag matches the given value. This is useful for
15505// getting updates only after the object has changed since the last
15506// request. Use googleapi.IsNotModified to check whether the response
15507// error from Do is the result of In-None-Match.
15508func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15509	c.ifNoneMatch_ = entityTag
15510	return c
15511}
15512
15513// Context sets the context to be used in this call's Do method. Any
15514// pending HTTP request will be aborted if the provided context is
15515// canceled.
15516func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall {
15517	c.ctx_ = ctx
15518	return c
15519}
15520
15521// Header returns an http.Header that can be modified by the caller to
15522// add HTTP headers to the request.
15523func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Header() http.Header {
15524	if c.header_ == nil {
15525		c.header_ = make(http.Header)
15526	}
15527	return c.header_
15528}
15529
15530func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) doRequest(alt string) (*http.Response, error) {
15531	reqHeaders := make(http.Header)
15532	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15533	for k, v := range c.header_ {
15534		reqHeaders[k] = v
15535	}
15536	reqHeaders.Set("User-Agent", c.s.userAgent())
15537	if c.ifNoneMatch_ != "" {
15538		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15539	}
15540	var body io.Reader = nil
15541	c.urlParams_.Set("alt", alt)
15542	c.urlParams_.Set("prettyPrint", "false")
15543	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:listRevisions")
15544	urls += "?" + c.urlParams_.Encode()
15545	req, err := http.NewRequest("GET", urls, body)
15546	if err != nil {
15547		return nil, err
15548	}
15549	req.Header = reqHeaders
15550	googleapi.Expand(req.URL, map[string]string{
15551		"name": c.name,
15552	})
15553	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15554}
15555
15556// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.listRevisions" call.
15557// Exactly one of *ListConsentRevisionsResponse or error will be
15558// non-nil. Any non-2xx status code is an error. Response headers are in
15559// either *ListConsentRevisionsResponse.ServerResponse.Header or (if a
15560// response was returned at all) in error.(*googleapi.Error).Header. Use
15561// googleapi.IsNotModified to check whether the returned error was
15562// because http.StatusNotModified was returned.
15563func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Do(opts ...googleapi.CallOption) (*ListConsentRevisionsResponse, error) {
15564	gensupport.SetOptions(c.urlParams_, opts...)
15565	res, err := c.doRequest("json")
15566	if res != nil && res.StatusCode == http.StatusNotModified {
15567		if res.Body != nil {
15568			res.Body.Close()
15569		}
15570		return nil, &googleapi.Error{
15571			Code:   res.StatusCode,
15572			Header: res.Header,
15573		}
15574	}
15575	if err != nil {
15576		return nil, err
15577	}
15578	defer googleapi.CloseBody(res)
15579	if err := googleapi.CheckResponse(res); err != nil {
15580		return nil, err
15581	}
15582	ret := &ListConsentRevisionsResponse{
15583		ServerResponse: googleapi.ServerResponse{
15584			Header:         res.Header,
15585			HTTPStatusCode: res.StatusCode,
15586		},
15587	}
15588	target := &ret
15589	if err := gensupport.DecodeResponse(target, res); err != nil {
15590		return nil, err
15591	}
15592	return ret, nil
15593	// {
15594	//   "description": "Lists the revisions of the specified Consent in reverse chronological order.",
15595	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions",
15596	//   "httpMethod": "GET",
15597	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.listRevisions",
15598	//   "parameterOrder": [
15599	//     "name"
15600	//   ],
15601	//   "parameters": {
15602	//     "filter": {
15603	//       "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\\\")`.",
15604	//       "location": "query",
15605	//       "type": "string"
15606	//     },
15607	//     "name": {
15608	//       "description": "Required. The resource name of the Consent to retrieve revisions for.",
15609	//       "location": "path",
15610	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15611	//       "required": true,
15612	//       "type": "string"
15613	//     },
15614	//     "pageSize": {
15615	//       "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.",
15616	//       "format": "int32",
15617	//       "location": "query",
15618	//       "type": "integer"
15619	//     },
15620	//     "pageToken": {
15621	//       "description": "Optional. Token to retrieve the next page of results or empty if there are no more results in the list.",
15622	//       "location": "query",
15623	//       "type": "string"
15624	//     }
15625	//   },
15626	//   "path": "v1beta1/{+name}:listRevisions",
15627	//   "response": {
15628	//     "$ref": "ListConsentRevisionsResponse"
15629	//   },
15630	//   "scopes": [
15631	//     "https://www.googleapis.com/auth/cloud-platform"
15632	//   ]
15633	// }
15634
15635}
15636
15637// Pages invokes f for each page of results.
15638// A non-nil error returned from f will halt the iteration.
15639// The provided context supersedes any context provided to the Context method.
15640func (c *ProjectsLocationsDatasetsConsentStoresConsentsListRevisionsCall) Pages(ctx context.Context, f func(*ListConsentRevisionsResponse) error) error {
15641	c.ctx_ = ctx
15642	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15643	for {
15644		x, err := c.Do()
15645		if err != nil {
15646			return err
15647		}
15648		if err := f(x); err != nil {
15649			return err
15650		}
15651		if x.NextPageToken == "" {
15652			return nil
15653		}
15654		c.PageToken(x.NextPageToken)
15655	}
15656}
15657
15658// method id "healthcare.projects.locations.datasets.consentStores.consents.patch":
15659
15660type ProjectsLocationsDatasetsConsentStoresConsentsPatchCall struct {
15661	s          *Service
15662	name       string
15663	consent    *Consent
15664	urlParams_ gensupport.URLParams
15665	ctx_       context.Context
15666	header_    http.Header
15667}
15668
15669// Patch: Updates the latest revision of the specified Consent by
15670// committing a new revision with the changes. A FAILED_PRECONDITION
15671// error occurs if the latest revision of the specified Consent is in
15672// the `REJECTED` or `REVOKED` state.
15673//
15674// - name: Resource name of the Consent, of the form
15675//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15676//   /consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be
15677//   changed after creation.
15678func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Patch(name string, consent *Consent) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15679	c := &ProjectsLocationsDatasetsConsentStoresConsentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15680	c.name = name
15681	c.consent = consent
15682	return c
15683}
15684
15685// UpdateMask sets the optional parameter "updateMask": Required. The
15686// update mask to apply to the resource. For the `FieldMask` definition,
15687// see
15688// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
15689// Only the `user_id`, `policies`, `consent_artifact`, and `metadata`
15690// fields can be updated.
15691func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15692	c.urlParams_.Set("updateMask", updateMask)
15693	return c
15694}
15695
15696// Fields allows partial responses to be retrieved. See
15697// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15698// for more information.
15699func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15700	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15701	return c
15702}
15703
15704// Context sets the context to be used in this call's Do method. Any
15705// pending HTTP request will be aborted if the provided context is
15706// canceled.
15707func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall {
15708	c.ctx_ = ctx
15709	return c
15710}
15711
15712// Header returns an http.Header that can be modified by the caller to
15713// add HTTP headers to the request.
15714func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Header() http.Header {
15715	if c.header_ == nil {
15716		c.header_ = make(http.Header)
15717	}
15718	return c.header_
15719}
15720
15721func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) doRequest(alt string) (*http.Response, error) {
15722	reqHeaders := make(http.Header)
15723	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15724	for k, v := range c.header_ {
15725		reqHeaders[k] = v
15726	}
15727	reqHeaders.Set("User-Agent", c.s.userAgent())
15728	var body io.Reader = nil
15729	body, err := googleapi.WithoutDataWrapper.JSONReader(c.consent)
15730	if err != nil {
15731		return nil, err
15732	}
15733	reqHeaders.Set("Content-Type", "application/json")
15734	c.urlParams_.Set("alt", alt)
15735	c.urlParams_.Set("prettyPrint", "false")
15736	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
15737	urls += "?" + c.urlParams_.Encode()
15738	req, err := http.NewRequest("PATCH", urls, body)
15739	if err != nil {
15740		return nil, err
15741	}
15742	req.Header = reqHeaders
15743	googleapi.Expand(req.URL, map[string]string{
15744		"name": c.name,
15745	})
15746	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15747}
15748
15749// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.patch" call.
15750// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15751// code is an error. Response headers are in either
15752// *Consent.ServerResponse.Header or (if a response was returned at all)
15753// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15754// check whether the returned error was because http.StatusNotModified
15755// was returned.
15756func (c *ProjectsLocationsDatasetsConsentStoresConsentsPatchCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15757	gensupport.SetOptions(c.urlParams_, opts...)
15758	res, err := c.doRequest("json")
15759	if res != nil && res.StatusCode == http.StatusNotModified {
15760		if res.Body != nil {
15761			res.Body.Close()
15762		}
15763		return nil, &googleapi.Error{
15764			Code:   res.StatusCode,
15765			Header: res.Header,
15766		}
15767	}
15768	if err != nil {
15769		return nil, err
15770	}
15771	defer googleapi.CloseBody(res)
15772	if err := googleapi.CheckResponse(res); err != nil {
15773		return nil, err
15774	}
15775	ret := &Consent{
15776		ServerResponse: googleapi.ServerResponse{
15777			Header:         res.Header,
15778			HTTPStatusCode: res.StatusCode,
15779		},
15780	}
15781	target := &ret
15782	if err := gensupport.DecodeResponse(target, res); err != nil {
15783		return nil, err
15784	}
15785	return ret, nil
15786	// {
15787	//   "description": "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.",
15788	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}",
15789	//   "httpMethod": "PATCH",
15790	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.patch",
15791	//   "parameterOrder": [
15792	//     "name"
15793	//   ],
15794	//   "parameters": {
15795	//     "name": {
15796	//       "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.",
15797	//       "location": "path",
15798	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15799	//       "required": true,
15800	//       "type": "string"
15801	//     },
15802	//     "updateMask": {
15803	//       "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.",
15804	//       "format": "google-fieldmask",
15805	//       "location": "query",
15806	//       "type": "string"
15807	//     }
15808	//   },
15809	//   "path": "v1beta1/{+name}",
15810	//   "request": {
15811	//     "$ref": "Consent"
15812	//   },
15813	//   "response": {
15814	//     "$ref": "Consent"
15815	//   },
15816	//   "scopes": [
15817	//     "https://www.googleapis.com/auth/cloud-platform"
15818	//   ]
15819	// }
15820
15821}
15822
15823// method id "healthcare.projects.locations.datasets.consentStores.consents.reject":
15824
15825type ProjectsLocationsDatasetsConsentStoresConsentsRejectCall struct {
15826	s                    *Service
15827	name                 string
15828	rejectconsentrequest *RejectConsentRequest
15829	urlParams_           gensupport.URLParams
15830	ctx_                 context.Context
15831	header_              http.Header
15832}
15833
15834// Reject: Rejects the latest revision of the specified Consent by
15835// committing a new revision with `state` updated to `REJECTED`. If the
15836// latest revision of the specified Consent is in the `REJECTED` state,
15837// no new revision is committed. A FAILED_PRECONDITION error occurs if
15838// the latest revision of the specified Consent is in the `ACTIVE` or
15839// `REVOKED` state.
15840//
15841// - name: The resource name of the Consent to reject, of the form
15842//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15843//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15844//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15845//   name.
15846func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Reject(name string, rejectconsentrequest *RejectConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15847	c := &ProjectsLocationsDatasetsConsentStoresConsentsRejectCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15848	c.name = name
15849	c.rejectconsentrequest = rejectconsentrequest
15850	return c
15851}
15852
15853// Fields allows partial responses to be retrieved. See
15854// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15855// for more information.
15856func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15857	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15858	return c
15859}
15860
15861// Context sets the context to be used in this call's Do method. Any
15862// pending HTTP request will be aborted if the provided context is
15863// canceled.
15864func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall {
15865	c.ctx_ = ctx
15866	return c
15867}
15868
15869// Header returns an http.Header that can be modified by the caller to
15870// add HTTP headers to the request.
15871func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Header() http.Header {
15872	if c.header_ == nil {
15873		c.header_ = make(http.Header)
15874	}
15875	return c.header_
15876}
15877
15878func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) doRequest(alt string) (*http.Response, error) {
15879	reqHeaders := make(http.Header)
15880	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15881	for k, v := range c.header_ {
15882		reqHeaders[k] = v
15883	}
15884	reqHeaders.Set("User-Agent", c.s.userAgent())
15885	var body io.Reader = nil
15886	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rejectconsentrequest)
15887	if err != nil {
15888		return nil, err
15889	}
15890	reqHeaders.Set("Content-Type", "application/json")
15891	c.urlParams_.Set("alt", alt)
15892	c.urlParams_.Set("prettyPrint", "false")
15893	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:reject")
15894	urls += "?" + c.urlParams_.Encode()
15895	req, err := http.NewRequest("POST", urls, body)
15896	if err != nil {
15897		return nil, err
15898	}
15899	req.Header = reqHeaders
15900	googleapi.Expand(req.URL, map[string]string{
15901		"name": c.name,
15902	})
15903	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15904}
15905
15906// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.reject" call.
15907// Exactly one of *Consent or error will be non-nil. Any non-2xx status
15908// code is an error. Response headers are in either
15909// *Consent.ServerResponse.Header or (if a response was returned at all)
15910// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15911// check whether the returned error was because http.StatusNotModified
15912// was returned.
15913func (c *ProjectsLocationsDatasetsConsentStoresConsentsRejectCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
15914	gensupport.SetOptions(c.urlParams_, opts...)
15915	res, err := c.doRequest("json")
15916	if res != nil && res.StatusCode == http.StatusNotModified {
15917		if res.Body != nil {
15918			res.Body.Close()
15919		}
15920		return nil, &googleapi.Error{
15921			Code:   res.StatusCode,
15922			Header: res.Header,
15923		}
15924	}
15925	if err != nil {
15926		return nil, err
15927	}
15928	defer googleapi.CloseBody(res)
15929	if err := googleapi.CheckResponse(res); err != nil {
15930		return nil, err
15931	}
15932	ret := &Consent{
15933		ServerResponse: googleapi.ServerResponse{
15934			Header:         res.Header,
15935			HTTPStatusCode: res.StatusCode,
15936		},
15937	}
15938	target := &ret
15939	if err := gensupport.DecodeResponse(target, res); err != nil {
15940		return nil, err
15941	}
15942	return ret, nil
15943	// {
15944	//   "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.",
15945	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject",
15946	//   "httpMethod": "POST",
15947	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.reject",
15948	//   "parameterOrder": [
15949	//     "name"
15950	//   ],
15951	//   "parameters": {
15952	//     "name": {
15953	//       "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.",
15954	//       "location": "path",
15955	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
15956	//       "required": true,
15957	//       "type": "string"
15958	//     }
15959	//   },
15960	//   "path": "v1beta1/{+name}:reject",
15961	//   "request": {
15962	//     "$ref": "RejectConsentRequest"
15963	//   },
15964	//   "response": {
15965	//     "$ref": "Consent"
15966	//   },
15967	//   "scopes": [
15968	//     "https://www.googleapis.com/auth/cloud-platform"
15969	//   ]
15970	// }
15971
15972}
15973
15974// method id "healthcare.projects.locations.datasets.consentStores.consents.revoke":
15975
15976type ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall struct {
15977	s                    *Service
15978	name                 string
15979	revokeconsentrequest *RevokeConsentRequest
15980	urlParams_           gensupport.URLParams
15981	ctx_                 context.Context
15982	header_              http.Header
15983}
15984
15985// Revoke: Revokes the latest revision of the specified Consent by
15986// committing a new revision with `state` updated to `REVOKED`. If the
15987// latest revision of the specified Consent is in the `REVOKED` state,
15988// no new revision is committed. A FAILED_PRECONDITION error occurs if
15989// the latest revision of the given consent is in `DRAFT` or `REJECTED`
15990// state.
15991//
15992// - name: The resource name of the Consent to revoke, of the form
15993//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
15994//   /consentStores/{consent_store_id}/consents/{consent_id}`. An
15995//   INVALID_ARGUMENT error occurs if `revision_id` is specified in the
15996//   name.
15997func (r *ProjectsLocationsDatasetsConsentStoresConsentsService) Revoke(name string, revokeconsentrequest *RevokeConsentRequest) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
15998	c := &ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15999	c.name = name
16000	c.revokeconsentrequest = revokeconsentrequest
16001	return c
16002}
16003
16004// Fields allows partial responses to be retrieved. See
16005// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16006// for more information.
16007func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
16008	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16009	return c
16010}
16011
16012// Context sets the context to be used in this call's Do method. Any
16013// pending HTTP request will be aborted if the provided context is
16014// canceled.
16015func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall {
16016	c.ctx_ = ctx
16017	return c
16018}
16019
16020// Header returns an http.Header that can be modified by the caller to
16021// add HTTP headers to the request.
16022func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Header() http.Header {
16023	if c.header_ == nil {
16024		c.header_ = make(http.Header)
16025	}
16026	return c.header_
16027}
16028
16029func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) doRequest(alt string) (*http.Response, error) {
16030	reqHeaders := make(http.Header)
16031	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16032	for k, v := range c.header_ {
16033		reqHeaders[k] = v
16034	}
16035	reqHeaders.Set("User-Agent", c.s.userAgent())
16036	var body io.Reader = nil
16037	body, err := googleapi.WithoutDataWrapper.JSONReader(c.revokeconsentrequest)
16038	if err != nil {
16039		return nil, err
16040	}
16041	reqHeaders.Set("Content-Type", "application/json")
16042	c.urlParams_.Set("alt", alt)
16043	c.urlParams_.Set("prettyPrint", "false")
16044	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:revoke")
16045	urls += "?" + c.urlParams_.Encode()
16046	req, err := http.NewRequest("POST", urls, body)
16047	if err != nil {
16048		return nil, err
16049	}
16050	req.Header = reqHeaders
16051	googleapi.Expand(req.URL, map[string]string{
16052		"name": c.name,
16053	})
16054	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16055}
16056
16057// Do executes the "healthcare.projects.locations.datasets.consentStores.consents.revoke" call.
16058// Exactly one of *Consent or error will be non-nil. Any non-2xx status
16059// code is an error. Response headers are in either
16060// *Consent.ServerResponse.Header or (if a response was returned at all)
16061// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16062// check whether the returned error was because http.StatusNotModified
16063// was returned.
16064func (c *ProjectsLocationsDatasetsConsentStoresConsentsRevokeCall) Do(opts ...googleapi.CallOption) (*Consent, error) {
16065	gensupport.SetOptions(c.urlParams_, opts...)
16066	res, err := c.doRequest("json")
16067	if res != nil && res.StatusCode == http.StatusNotModified {
16068		if res.Body != nil {
16069			res.Body.Close()
16070		}
16071		return nil, &googleapi.Error{
16072			Code:   res.StatusCode,
16073			Header: res.Header,
16074		}
16075	}
16076	if err != nil {
16077		return nil, err
16078	}
16079	defer googleapi.CloseBody(res)
16080	if err := googleapi.CheckResponse(res); err != nil {
16081		return nil, err
16082	}
16083	ret := &Consent{
16084		ServerResponse: googleapi.ServerResponse{
16085			Header:         res.Header,
16086			HTTPStatusCode: res.StatusCode,
16087		},
16088	}
16089	target := &ret
16090	if err := gensupport.DecodeResponse(target, res); err != nil {
16091		return nil, err
16092	}
16093	return ret, nil
16094	// {
16095	//   "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.",
16096	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke",
16097	//   "httpMethod": "POST",
16098	//   "id": "healthcare.projects.locations.datasets.consentStores.consents.revoke",
16099	//   "parameterOrder": [
16100	//     "name"
16101	//   ],
16102	//   "parameters": {
16103	//     "name": {
16104	//       "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.",
16105	//       "location": "path",
16106	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/consents/[^/]+$",
16107	//       "required": true,
16108	//       "type": "string"
16109	//     }
16110	//   },
16111	//   "path": "v1beta1/{+name}:revoke",
16112	//   "request": {
16113	//     "$ref": "RevokeConsentRequest"
16114	//   },
16115	//   "response": {
16116	//     "$ref": "Consent"
16117	//   },
16118	//   "scopes": [
16119	//     "https://www.googleapis.com/auth/cloud-platform"
16120	//   ]
16121	// }
16122
16123}
16124
16125// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive":
16126
16127type ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall struct {
16128	s                             *Service
16129	name                          string
16130	archiveuserdatamappingrequest *ArchiveUserDataMappingRequest
16131	urlParams_                    gensupport.URLParams
16132	ctx_                          context.Context
16133	header_                       http.Header
16134}
16135
16136// Archive: Archives the specified User data mapping.
16137//
16138// - name: The resource name of the User data mapping to archive.
16139func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Archive(name string, archiveuserdatamappingrequest *ArchiveUserDataMappingRequest) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
16140	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16141	c.name = name
16142	c.archiveuserdatamappingrequest = archiveuserdatamappingrequest
16143	return c
16144}
16145
16146// Fields allows partial responses to be retrieved. See
16147// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16148// for more information.
16149func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
16150	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16151	return c
16152}
16153
16154// Context sets the context to be used in this call's Do method. Any
16155// pending HTTP request will be aborted if the provided context is
16156// canceled.
16157func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall {
16158	c.ctx_ = ctx
16159	return c
16160}
16161
16162// Header returns an http.Header that can be modified by the caller to
16163// add HTTP headers to the request.
16164func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Header() http.Header {
16165	if c.header_ == nil {
16166		c.header_ = make(http.Header)
16167	}
16168	return c.header_
16169}
16170
16171func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) doRequest(alt string) (*http.Response, error) {
16172	reqHeaders := make(http.Header)
16173	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16174	for k, v := range c.header_ {
16175		reqHeaders[k] = v
16176	}
16177	reqHeaders.Set("User-Agent", c.s.userAgent())
16178	var body io.Reader = nil
16179	body, err := googleapi.WithoutDataWrapper.JSONReader(c.archiveuserdatamappingrequest)
16180	if err != nil {
16181		return nil, err
16182	}
16183	reqHeaders.Set("Content-Type", "application/json")
16184	c.urlParams_.Set("alt", alt)
16185	c.urlParams_.Set("prettyPrint", "false")
16186	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:archive")
16187	urls += "?" + c.urlParams_.Encode()
16188	req, err := http.NewRequest("POST", urls, body)
16189	if err != nil {
16190		return nil, err
16191	}
16192	req.Header = reqHeaders
16193	googleapi.Expand(req.URL, map[string]string{
16194		"name": c.name,
16195	})
16196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16197}
16198
16199// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive" call.
16200// Exactly one of *ArchiveUserDataMappingResponse or error will be
16201// non-nil. Any non-2xx status code is an error. Response headers are in
16202// either *ArchiveUserDataMappingResponse.ServerResponse.Header or (if a
16203// response was returned at all) in error.(*googleapi.Error).Header. Use
16204// googleapi.IsNotModified to check whether the returned error was
16205// because http.StatusNotModified was returned.
16206func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveCall) Do(opts ...googleapi.CallOption) (*ArchiveUserDataMappingResponse, error) {
16207	gensupport.SetOptions(c.urlParams_, opts...)
16208	res, err := c.doRequest("json")
16209	if res != nil && res.StatusCode == http.StatusNotModified {
16210		if res.Body != nil {
16211			res.Body.Close()
16212		}
16213		return nil, &googleapi.Error{
16214			Code:   res.StatusCode,
16215			Header: res.Header,
16216		}
16217	}
16218	if err != nil {
16219		return nil, err
16220	}
16221	defer googleapi.CloseBody(res)
16222	if err := googleapi.CheckResponse(res); err != nil {
16223		return nil, err
16224	}
16225	ret := &ArchiveUserDataMappingResponse{
16226		ServerResponse: googleapi.ServerResponse{
16227			Header:         res.Header,
16228			HTTPStatusCode: res.StatusCode,
16229		},
16230	}
16231	target := &ret
16232	if err := gensupport.DecodeResponse(target, res); err != nil {
16233		return nil, err
16234	}
16235	return ret, nil
16236	// {
16237	//   "description": "Archives the specified User data mapping.",
16238	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive",
16239	//   "httpMethod": "POST",
16240	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.archive",
16241	//   "parameterOrder": [
16242	//     "name"
16243	//   ],
16244	//   "parameters": {
16245	//     "name": {
16246	//       "description": "Required. The resource name of the User data mapping to archive.",
16247	//       "location": "path",
16248	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16249	//       "required": true,
16250	//       "type": "string"
16251	//     }
16252	//   },
16253	//   "path": "v1beta1/{+name}:archive",
16254	//   "request": {
16255	//     "$ref": "ArchiveUserDataMappingRequest"
16256	//   },
16257	//   "response": {
16258	//     "$ref": "ArchiveUserDataMappingResponse"
16259	//   },
16260	//   "scopes": [
16261	//     "https://www.googleapis.com/auth/cloud-platform"
16262	//   ]
16263	// }
16264
16265}
16266
16267// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.create":
16268
16269type ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall struct {
16270	s               *Service
16271	parent          string
16272	userdatamapping *UserDataMapping
16273	urlParams_      gensupport.URLParams
16274	ctx_            context.Context
16275	header_         http.Header
16276}
16277
16278// Create: Creates a new User data mapping in the parent consent store.
16279//
16280// - parent: Name of the consent store.
16281func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Create(parent string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16282	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16283	c.parent = parent
16284	c.userdatamapping = userdatamapping
16285	return c
16286}
16287
16288// Fields allows partial responses to be retrieved. See
16289// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16290// for more information.
16291func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16292	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16293	return c
16294}
16295
16296// Context sets the context to be used in this call's Do method. Any
16297// pending HTTP request will be aborted if the provided context is
16298// canceled.
16299func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall {
16300	c.ctx_ = ctx
16301	return c
16302}
16303
16304// Header returns an http.Header that can be modified by the caller to
16305// add HTTP headers to the request.
16306func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Header() http.Header {
16307	if c.header_ == nil {
16308		c.header_ = make(http.Header)
16309	}
16310	return c.header_
16311}
16312
16313func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
16314	reqHeaders := make(http.Header)
16315	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16316	for k, v := range c.header_ {
16317		reqHeaders[k] = v
16318	}
16319	reqHeaders.Set("User-Agent", c.s.userAgent())
16320	var body io.Reader = nil
16321	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16322	if err != nil {
16323		return nil, err
16324	}
16325	reqHeaders.Set("Content-Type", "application/json")
16326	c.urlParams_.Set("alt", alt)
16327	c.urlParams_.Set("prettyPrint", "false")
16328	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16329	urls += "?" + c.urlParams_.Encode()
16330	req, err := http.NewRequest("POST", urls, body)
16331	if err != nil {
16332		return nil, err
16333	}
16334	req.Header = reqHeaders
16335	googleapi.Expand(req.URL, map[string]string{
16336		"parent": c.parent,
16337	})
16338	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16339}
16340
16341// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.create" call.
16342// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16343// status code is an error. Response headers are in either
16344// *UserDataMapping.ServerResponse.Header or (if a response was returned
16345// at all) in error.(*googleapi.Error).Header. Use
16346// googleapi.IsNotModified to check whether the returned error was
16347// because http.StatusNotModified was returned.
16348func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16349	gensupport.SetOptions(c.urlParams_, opts...)
16350	res, err := c.doRequest("json")
16351	if res != nil && res.StatusCode == http.StatusNotModified {
16352		if res.Body != nil {
16353			res.Body.Close()
16354		}
16355		return nil, &googleapi.Error{
16356			Code:   res.StatusCode,
16357			Header: res.Header,
16358		}
16359	}
16360	if err != nil {
16361		return nil, err
16362	}
16363	defer googleapi.CloseBody(res)
16364	if err := googleapi.CheckResponse(res); err != nil {
16365		return nil, err
16366	}
16367	ret := &UserDataMapping{
16368		ServerResponse: googleapi.ServerResponse{
16369			Header:         res.Header,
16370			HTTPStatusCode: res.StatusCode,
16371		},
16372	}
16373	target := &ret
16374	if err := gensupport.DecodeResponse(target, res); err != nil {
16375		return nil, err
16376	}
16377	return ret, nil
16378	// {
16379	//   "description": "Creates a new User data mapping in the parent consent store.",
16380	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16381	//   "httpMethod": "POST",
16382	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.create",
16383	//   "parameterOrder": [
16384	//     "parent"
16385	//   ],
16386	//   "parameters": {
16387	//     "parent": {
16388	//       "description": "Required. Name of the consent store.",
16389	//       "location": "path",
16390	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16391	//       "required": true,
16392	//       "type": "string"
16393	//     }
16394	//   },
16395	//   "path": "v1beta1/{+parent}/userDataMappings",
16396	//   "request": {
16397	//     "$ref": "UserDataMapping"
16398	//   },
16399	//   "response": {
16400	//     "$ref": "UserDataMapping"
16401	//   },
16402	//   "scopes": [
16403	//     "https://www.googleapis.com/auth/cloud-platform"
16404	//   ]
16405	// }
16406
16407}
16408
16409// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete":
16410
16411type ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall struct {
16412	s          *Service
16413	name       string
16414	urlParams_ gensupport.URLParams
16415	ctx_       context.Context
16416	header_    http.Header
16417}
16418
16419// Delete: Deletes the specified User data mapping.
16420//
16421// - name: The resource name of the User data mapping to delete.
16422func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Delete(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16423	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16424	c.name = name
16425	return c
16426}
16427
16428// Fields allows partial responses to be retrieved. See
16429// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16430// for more information.
16431func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16432	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16433	return c
16434}
16435
16436// Context sets the context to be used in this call's Do method. Any
16437// pending HTTP request will be aborted if the provided context is
16438// canceled.
16439func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall {
16440	c.ctx_ = ctx
16441	return c
16442}
16443
16444// Header returns an http.Header that can be modified by the caller to
16445// add HTTP headers to the request.
16446func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Header() http.Header {
16447	if c.header_ == nil {
16448		c.header_ = make(http.Header)
16449	}
16450	return c.header_
16451}
16452
16453func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
16454	reqHeaders := make(http.Header)
16455	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16456	for k, v := range c.header_ {
16457		reqHeaders[k] = v
16458	}
16459	reqHeaders.Set("User-Agent", c.s.userAgent())
16460	var body io.Reader = nil
16461	c.urlParams_.Set("alt", alt)
16462	c.urlParams_.Set("prettyPrint", "false")
16463	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16464	urls += "?" + c.urlParams_.Encode()
16465	req, err := http.NewRequest("DELETE", urls, body)
16466	if err != nil {
16467		return nil, err
16468	}
16469	req.Header = reqHeaders
16470	googleapi.Expand(req.URL, map[string]string{
16471		"name": c.name,
16472	})
16473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16474}
16475
16476// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete" call.
16477// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16478// code is an error. Response headers are in either
16479// *Empty.ServerResponse.Header or (if a response was returned at all)
16480// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16481// check whether the returned error was because http.StatusNotModified
16482// was returned.
16483func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16484	gensupport.SetOptions(c.urlParams_, opts...)
16485	res, err := c.doRequest("json")
16486	if res != nil && res.StatusCode == http.StatusNotModified {
16487		if res.Body != nil {
16488			res.Body.Close()
16489		}
16490		return nil, &googleapi.Error{
16491			Code:   res.StatusCode,
16492			Header: res.Header,
16493		}
16494	}
16495	if err != nil {
16496		return nil, err
16497	}
16498	defer googleapi.CloseBody(res)
16499	if err := googleapi.CheckResponse(res); err != nil {
16500		return nil, err
16501	}
16502	ret := &Empty{
16503		ServerResponse: googleapi.ServerResponse{
16504			Header:         res.Header,
16505			HTTPStatusCode: res.StatusCode,
16506		},
16507	}
16508	target := &ret
16509	if err := gensupport.DecodeResponse(target, res); err != nil {
16510		return nil, err
16511	}
16512	return ret, nil
16513	// {
16514	//   "description": "Deletes the specified User data mapping.",
16515	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16516	//   "httpMethod": "DELETE",
16517	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.delete",
16518	//   "parameterOrder": [
16519	//     "name"
16520	//   ],
16521	//   "parameters": {
16522	//     "name": {
16523	//       "description": "Required. The resource name of the User data mapping to delete.",
16524	//       "location": "path",
16525	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16526	//       "required": true,
16527	//       "type": "string"
16528	//     }
16529	//   },
16530	//   "path": "v1beta1/{+name}",
16531	//   "response": {
16532	//     "$ref": "Empty"
16533	//   },
16534	//   "scopes": [
16535	//     "https://www.googleapis.com/auth/cloud-platform"
16536	//   ]
16537	// }
16538
16539}
16540
16541// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.get":
16542
16543type ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall struct {
16544	s            *Service
16545	name         string
16546	urlParams_   gensupport.URLParams
16547	ifNoneMatch_ string
16548	ctx_         context.Context
16549	header_      http.Header
16550}
16551
16552// Get: Gets the specified User data mapping.
16553//
16554// - name: The resource name of the User data mapping to retrieve.
16555func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Get(name string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16556	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16557	c.name = name
16558	return c
16559}
16560
16561// Fields allows partial responses to be retrieved. See
16562// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16563// for more information.
16564func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16565	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16566	return c
16567}
16568
16569// IfNoneMatch sets the optional parameter which makes the operation
16570// fail if the object's ETag matches the given value. This is useful for
16571// getting updates only after the object has changed since the last
16572// request. Use googleapi.IsNotModified to check whether the response
16573// error from Do is the result of In-None-Match.
16574func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16575	c.ifNoneMatch_ = entityTag
16576	return c
16577}
16578
16579// Context sets the context to be used in this call's Do method. Any
16580// pending HTTP request will be aborted if the provided context is
16581// canceled.
16582func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall {
16583	c.ctx_ = ctx
16584	return c
16585}
16586
16587// Header returns an http.Header that can be modified by the caller to
16588// add HTTP headers to the request.
16589func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Header() http.Header {
16590	if c.header_ == nil {
16591		c.header_ = make(http.Header)
16592	}
16593	return c.header_
16594}
16595
16596func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) doRequest(alt string) (*http.Response, error) {
16597	reqHeaders := make(http.Header)
16598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16599	for k, v := range c.header_ {
16600		reqHeaders[k] = v
16601	}
16602	reqHeaders.Set("User-Agent", c.s.userAgent())
16603	if c.ifNoneMatch_ != "" {
16604		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16605	}
16606	var body io.Reader = nil
16607	c.urlParams_.Set("alt", alt)
16608	c.urlParams_.Set("prettyPrint", "false")
16609	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16610	urls += "?" + c.urlParams_.Encode()
16611	req, err := http.NewRequest("GET", urls, body)
16612	if err != nil {
16613		return nil, err
16614	}
16615	req.Header = reqHeaders
16616	googleapi.Expand(req.URL, map[string]string{
16617		"name": c.name,
16618	})
16619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16620}
16621
16622// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.get" call.
16623// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
16624// status code is an error. Response headers are in either
16625// *UserDataMapping.ServerResponse.Header or (if a response was returned
16626// at all) in error.(*googleapi.Error).Header. Use
16627// googleapi.IsNotModified to check whether the returned error was
16628// because http.StatusNotModified was returned.
16629func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsGetCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
16630	gensupport.SetOptions(c.urlParams_, opts...)
16631	res, err := c.doRequest("json")
16632	if res != nil && res.StatusCode == http.StatusNotModified {
16633		if res.Body != nil {
16634			res.Body.Close()
16635		}
16636		return nil, &googleapi.Error{
16637			Code:   res.StatusCode,
16638			Header: res.Header,
16639		}
16640	}
16641	if err != nil {
16642		return nil, err
16643	}
16644	defer googleapi.CloseBody(res)
16645	if err := googleapi.CheckResponse(res); err != nil {
16646		return nil, err
16647	}
16648	ret := &UserDataMapping{
16649		ServerResponse: googleapi.ServerResponse{
16650			Header:         res.Header,
16651			HTTPStatusCode: res.StatusCode,
16652		},
16653	}
16654	target := &ret
16655	if err := gensupport.DecodeResponse(target, res); err != nil {
16656		return nil, err
16657	}
16658	return ret, nil
16659	// {
16660	//   "description": "Gets the specified User data mapping.",
16661	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
16662	//   "httpMethod": "GET",
16663	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.get",
16664	//   "parameterOrder": [
16665	//     "name"
16666	//   ],
16667	//   "parameters": {
16668	//     "name": {
16669	//       "description": "Required. The resource name of the User data mapping to retrieve.",
16670	//       "location": "path",
16671	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
16672	//       "required": true,
16673	//       "type": "string"
16674	//     }
16675	//   },
16676	//   "path": "v1beta1/{+name}",
16677	//   "response": {
16678	//     "$ref": "UserDataMapping"
16679	//   },
16680	//   "scopes": [
16681	//     "https://www.googleapis.com/auth/cloud-platform"
16682	//   ]
16683	// }
16684
16685}
16686
16687// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.list":
16688
16689type ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall struct {
16690	s            *Service
16691	parent       string
16692	urlParams_   gensupport.URLParams
16693	ifNoneMatch_ string
16694	ctx_         context.Context
16695	header_      http.Header
16696}
16697
16698// List: Lists the User data mappings in the specified consent store.
16699//
16700// - parent: Name of the consent store to retrieve User data mappings
16701//   from.
16702func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) List(parent string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16703	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16704	c.parent = parent
16705	return c
16706}
16707
16708// Filter sets the optional parameter "filter": Restricts the user data
16709// mappings returned to those matching a filter. The following syntax is
16710// available: * A string field value can be written as text inside
16711// quotation marks, for example "query text". The only valid
16712// relational operation for text fields is equality (`=`), where text is
16713// searched within the field, rather than having the field be equal to
16714// the text. For example, "Comment = great" returns messages with
16715// `great` in the comment field. * A number field value can be written
16716// as an integer, a decimal, or an exponential. The valid relational
16717// operators for number fields are the equality operator (`=`), along
16718// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
16719// Note that there is no inequality (`!=`) operator. You can prepend the
16720// `NOT` operator to an expression to negate it. * A date field value
16721// must be written in `yyyy-mm-dd` form. Fields with date and time use
16722// the RFC3339 time format. Leading zeros are required for one-digit
16723// months and days. The valid relational operators for date fields are
16724// the equality operator (`=`) , along with the less than/greater than
16725// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
16726// (`!=`) operator. You can prepend the `NOT` operator to an expression
16727// to negate it. * Multiple field query expressions can be combined in
16728// one query by adding `AND` or `OR` operators between the expressions.
16729// If a boolean operator appears within a quoted string, it is not
16730// treated as special, it's just another part of the character string to
16731// be matched. You can prepend the `NOT` operator to an expression to
16732// negate it. The fields available for filtering are: - data_id -
16733// user_id. For example, `filter=user_id=\"user123\". - archived -
16734// archive_time
16735func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Filter(filter string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16736	c.urlParams_.Set("filter", filter)
16737	return c
16738}
16739
16740// PageSize sets the optional parameter "pageSize": Limit on the number
16741// of User data mappings to return in a single response. If not
16742// specified, 100 is used. May not be larger than 1000.
16743func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16744	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16745	return c
16746}
16747
16748// PageToken sets the optional parameter "pageToken": Token to retrieve
16749// the next page of results, or empty to get the first page.
16750func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16751	c.urlParams_.Set("pageToken", pageToken)
16752	return c
16753}
16754
16755// Fields allows partial responses to be retrieved. See
16756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16757// for more information.
16758func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16760	return c
16761}
16762
16763// IfNoneMatch sets the optional parameter which makes the operation
16764// fail if the object's ETag matches the given value. This is useful for
16765// getting updates only after the object has changed since the last
16766// request. Use googleapi.IsNotModified to check whether the response
16767// error from Do is the result of In-None-Match.
16768func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16769	c.ifNoneMatch_ = entityTag
16770	return c
16771}
16772
16773// Context sets the context to be used in this call's Do method. Any
16774// pending HTTP request will be aborted if the provided context is
16775// canceled.
16776func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall {
16777	c.ctx_ = ctx
16778	return c
16779}
16780
16781// Header returns an http.Header that can be modified by the caller to
16782// add HTTP headers to the request.
16783func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Header() http.Header {
16784	if c.header_ == nil {
16785		c.header_ = make(http.Header)
16786	}
16787	return c.header_
16788}
16789
16790func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) doRequest(alt string) (*http.Response, error) {
16791	reqHeaders := make(http.Header)
16792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16793	for k, v := range c.header_ {
16794		reqHeaders[k] = v
16795	}
16796	reqHeaders.Set("User-Agent", c.s.userAgent())
16797	if c.ifNoneMatch_ != "" {
16798		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16799	}
16800	var body io.Reader = nil
16801	c.urlParams_.Set("alt", alt)
16802	c.urlParams_.Set("prettyPrint", "false")
16803	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/userDataMappings")
16804	urls += "?" + c.urlParams_.Encode()
16805	req, err := http.NewRequest("GET", urls, body)
16806	if err != nil {
16807		return nil, err
16808	}
16809	req.Header = reqHeaders
16810	googleapi.Expand(req.URL, map[string]string{
16811		"parent": c.parent,
16812	})
16813	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16814}
16815
16816// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.list" call.
16817// Exactly one of *ListUserDataMappingsResponse or error will be
16818// non-nil. Any non-2xx status code is an error. Response headers are in
16819// either *ListUserDataMappingsResponse.ServerResponse.Header or (if a
16820// response was returned at all) in error.(*googleapi.Error).Header. Use
16821// googleapi.IsNotModified to check whether the returned error was
16822// because http.StatusNotModified was returned.
16823func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Do(opts ...googleapi.CallOption) (*ListUserDataMappingsResponse, error) {
16824	gensupport.SetOptions(c.urlParams_, opts...)
16825	res, err := c.doRequest("json")
16826	if res != nil && res.StatusCode == http.StatusNotModified {
16827		if res.Body != nil {
16828			res.Body.Close()
16829		}
16830		return nil, &googleapi.Error{
16831			Code:   res.StatusCode,
16832			Header: res.Header,
16833		}
16834	}
16835	if err != nil {
16836		return nil, err
16837	}
16838	defer googleapi.CloseBody(res)
16839	if err := googleapi.CheckResponse(res); err != nil {
16840		return nil, err
16841	}
16842	ret := &ListUserDataMappingsResponse{
16843		ServerResponse: googleapi.ServerResponse{
16844			Header:         res.Header,
16845			HTTPStatusCode: res.StatusCode,
16846		},
16847	}
16848	target := &ret
16849	if err := gensupport.DecodeResponse(target, res); err != nil {
16850		return nil, err
16851	}
16852	return ret, nil
16853	// {
16854	//   "description": "Lists the User data mappings in the specified consent store.",
16855	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings",
16856	//   "httpMethod": "GET",
16857	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.list",
16858	//   "parameterOrder": [
16859	//     "parent"
16860	//   ],
16861	//   "parameters": {
16862	//     "filter": {
16863	//       "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",
16864	//       "location": "query",
16865	//       "type": "string"
16866	//     },
16867	//     "pageSize": {
16868	//       "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.",
16869	//       "format": "int32",
16870	//       "location": "query",
16871	//       "type": "integer"
16872	//     },
16873	//     "pageToken": {
16874	//       "description": "Optional. Token to retrieve the next page of results, or empty to get the first page.",
16875	//       "location": "query",
16876	//       "type": "string"
16877	//     },
16878	//     "parent": {
16879	//       "description": "Required. Name of the consent store to retrieve User data mappings from.",
16880	//       "location": "path",
16881	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+$",
16882	//       "required": true,
16883	//       "type": "string"
16884	//     }
16885	//   },
16886	//   "path": "v1beta1/{+parent}/userDataMappings",
16887	//   "response": {
16888	//     "$ref": "ListUserDataMappingsResponse"
16889	//   },
16890	//   "scopes": [
16891	//     "https://www.googleapis.com/auth/cloud-platform"
16892	//   ]
16893	// }
16894
16895}
16896
16897// Pages invokes f for each page of results.
16898// A non-nil error returned from f will halt the iteration.
16899// The provided context supersedes any context provided to the Context method.
16900func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsListCall) Pages(ctx context.Context, f func(*ListUserDataMappingsResponse) error) error {
16901	c.ctx_ = ctx
16902	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16903	for {
16904		x, err := c.Do()
16905		if err != nil {
16906			return err
16907		}
16908		if err := f(x); err != nil {
16909			return err
16910		}
16911		if x.NextPageToken == "" {
16912			return nil
16913		}
16914		c.PageToken(x.NextPageToken)
16915	}
16916}
16917
16918// method id "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch":
16919
16920type ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall struct {
16921	s               *Service
16922	name            string
16923	userdatamapping *UserDataMapping
16924	urlParams_      gensupport.URLParams
16925	ctx_            context.Context
16926	header_         http.Header
16927}
16928
16929// Patch: Updates the specified User data mapping.
16930//
16931// - name: Resource name of the User data mapping, of the form
16932//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
16933//   /consentStores/{consent_store_id}/userDataMappings/{user_data_mappin
16934//   g_id}`.
16935func (r *ProjectsLocationsDatasetsConsentStoresUserDataMappingsService) Patch(name string, userdatamapping *UserDataMapping) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16936	c := &ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16937	c.name = name
16938	c.userdatamapping = userdatamapping
16939	return c
16940}
16941
16942// UpdateMask sets the optional parameter "updateMask": Required. The
16943// update mask that applies to the resource. For the `FieldMask`
16944// definition, see
16945// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
16946// Only the `data_id`, `user_id` and `resource_attributes` fields can be
16947// updated.
16948func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16949	c.urlParams_.Set("updateMask", updateMask)
16950	return c
16951}
16952
16953// Fields allows partial responses to be retrieved. See
16954// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16955// for more information.
16956func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16957	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16958	return c
16959}
16960
16961// Context sets the context to be used in this call's Do method. Any
16962// pending HTTP request will be aborted if the provided context is
16963// canceled.
16964func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall {
16965	c.ctx_ = ctx
16966	return c
16967}
16968
16969// Header returns an http.Header that can be modified by the caller to
16970// add HTTP headers to the request.
16971func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Header() http.Header {
16972	if c.header_ == nil {
16973		c.header_ = make(http.Header)
16974	}
16975	return c.header_
16976}
16977
16978func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
16979	reqHeaders := make(http.Header)
16980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16981	for k, v := range c.header_ {
16982		reqHeaders[k] = v
16983	}
16984	reqHeaders.Set("User-Agent", c.s.userAgent())
16985	var body io.Reader = nil
16986	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userdatamapping)
16987	if err != nil {
16988		return nil, err
16989	}
16990	reqHeaders.Set("Content-Type", "application/json")
16991	c.urlParams_.Set("alt", alt)
16992	c.urlParams_.Set("prettyPrint", "false")
16993	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
16994	urls += "?" + c.urlParams_.Encode()
16995	req, err := http.NewRequest("PATCH", urls, body)
16996	if err != nil {
16997		return nil, err
16998	}
16999	req.Header = reqHeaders
17000	googleapi.Expand(req.URL, map[string]string{
17001		"name": c.name,
17002	})
17003	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17004}
17005
17006// Do executes the "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch" call.
17007// Exactly one of *UserDataMapping or error will be non-nil. Any non-2xx
17008// status code is an error. Response headers are in either
17009// *UserDataMapping.ServerResponse.Header or (if a response was returned
17010// at all) in error.(*googleapi.Error).Header. Use
17011// googleapi.IsNotModified to check whether the returned error was
17012// because http.StatusNotModified was returned.
17013func (c *ProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchCall) Do(opts ...googleapi.CallOption) (*UserDataMapping, error) {
17014	gensupport.SetOptions(c.urlParams_, opts...)
17015	res, err := c.doRequest("json")
17016	if res != nil && res.StatusCode == http.StatusNotModified {
17017		if res.Body != nil {
17018			res.Body.Close()
17019		}
17020		return nil, &googleapi.Error{
17021			Code:   res.StatusCode,
17022			Header: res.Header,
17023		}
17024	}
17025	if err != nil {
17026		return nil, err
17027	}
17028	defer googleapi.CloseBody(res)
17029	if err := googleapi.CheckResponse(res); err != nil {
17030		return nil, err
17031	}
17032	ret := &UserDataMapping{
17033		ServerResponse: googleapi.ServerResponse{
17034			Header:         res.Header,
17035			HTTPStatusCode: res.StatusCode,
17036		},
17037	}
17038	target := &ret
17039	if err := gensupport.DecodeResponse(target, res); err != nil {
17040		return nil, err
17041	}
17042	return ret, nil
17043	// {
17044	//   "description": "Updates the specified User data mapping.",
17045	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}",
17046	//   "httpMethod": "PATCH",
17047	//   "id": "healthcare.projects.locations.datasets.consentStores.userDataMappings.patch",
17048	//   "parameterOrder": [
17049	//     "name"
17050	//   ],
17051	//   "parameters": {
17052	//     "name": {
17053	//       "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}`.",
17054	//       "location": "path",
17055	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/consentStores/[^/]+/userDataMappings/[^/]+$",
17056	//       "required": true,
17057	//       "type": "string"
17058	//     },
17059	//     "updateMask": {
17060	//       "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.",
17061	//       "format": "google-fieldmask",
17062	//       "location": "query",
17063	//       "type": "string"
17064	//     }
17065	//   },
17066	//   "path": "v1beta1/{+name}",
17067	//   "request": {
17068	//     "$ref": "UserDataMapping"
17069	//   },
17070	//   "response": {
17071	//     "$ref": "UserDataMapping"
17072	//   },
17073	//   "scopes": [
17074	//     "https://www.googleapis.com/auth/cloud-platform"
17075	//   ]
17076	// }
17077
17078}
17079
17080// method id "healthcare.projects.locations.datasets.dicomStores.create":
17081
17082type ProjectsLocationsDatasetsDicomStoresCreateCall struct {
17083	s          *Service
17084	parent     string
17085	dicomstore *DicomStore
17086	urlParams_ gensupport.URLParams
17087	ctx_       context.Context
17088	header_    http.Header
17089}
17090
17091// Create: Creates a new DICOM store within the parent dataset.
17092//
17093// - parent: The name of the dataset this DICOM store belongs to.
17094func (r *ProjectsLocationsDatasetsDicomStoresService) Create(parent string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresCreateCall {
17095	c := &ProjectsLocationsDatasetsDicomStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17096	c.parent = parent
17097	c.dicomstore = dicomstore
17098	return c
17099}
17100
17101// DicomStoreId sets the optional parameter "dicomStoreId": The ID of
17102// the DICOM store that is being created. Any string value up to 256
17103// characters in length.
17104func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) DicomStoreId(dicomStoreId string) *ProjectsLocationsDatasetsDicomStoresCreateCall {
17105	c.urlParams_.Set("dicomStoreId", dicomStoreId)
17106	return c
17107}
17108
17109// Fields allows partial responses to be retrieved. See
17110// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17111// for more information.
17112func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresCreateCall {
17113	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17114	return c
17115}
17116
17117// Context sets the context to be used in this call's Do method. Any
17118// pending HTTP request will be aborted if the provided context is
17119// canceled.
17120func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresCreateCall {
17121	c.ctx_ = ctx
17122	return c
17123}
17124
17125// Header returns an http.Header that can be modified by the caller to
17126// add HTTP headers to the request.
17127func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Header() http.Header {
17128	if c.header_ == nil {
17129		c.header_ = make(http.Header)
17130	}
17131	return c.header_
17132}
17133
17134func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
17135	reqHeaders := make(http.Header)
17136	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17137	for k, v := range c.header_ {
17138		reqHeaders[k] = v
17139	}
17140	reqHeaders.Set("User-Agent", c.s.userAgent())
17141	var body io.Reader = nil
17142	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
17143	if err != nil {
17144		return nil, err
17145	}
17146	reqHeaders.Set("Content-Type", "application/json")
17147	c.urlParams_.Set("alt", alt)
17148	c.urlParams_.Set("prettyPrint", "false")
17149	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
17150	urls += "?" + c.urlParams_.Encode()
17151	req, err := http.NewRequest("POST", urls, body)
17152	if err != nil {
17153		return nil, err
17154	}
17155	req.Header = reqHeaders
17156	googleapi.Expand(req.URL, map[string]string{
17157		"parent": c.parent,
17158	})
17159	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17160}
17161
17162// Do executes the "healthcare.projects.locations.datasets.dicomStores.create" call.
17163// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17164// status code is an error. Response headers are in either
17165// *DicomStore.ServerResponse.Header or (if a response was returned at
17166// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17167// to check whether the returned error was because
17168// http.StatusNotModified was returned.
17169func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17170	gensupport.SetOptions(c.urlParams_, opts...)
17171	res, err := c.doRequest("json")
17172	if res != nil && res.StatusCode == http.StatusNotModified {
17173		if res.Body != nil {
17174			res.Body.Close()
17175		}
17176		return nil, &googleapi.Error{
17177			Code:   res.StatusCode,
17178			Header: res.Header,
17179		}
17180	}
17181	if err != nil {
17182		return nil, err
17183	}
17184	defer googleapi.CloseBody(res)
17185	if err := googleapi.CheckResponse(res); err != nil {
17186		return nil, err
17187	}
17188	ret := &DicomStore{
17189		ServerResponse: googleapi.ServerResponse{
17190			Header:         res.Header,
17191			HTTPStatusCode: res.StatusCode,
17192		},
17193	}
17194	target := &ret
17195	if err := gensupport.DecodeResponse(target, res); err != nil {
17196		return nil, err
17197	}
17198	return ret, nil
17199	// {
17200	//   "description": "Creates a new DICOM store within the parent dataset.",
17201	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
17202	//   "httpMethod": "POST",
17203	//   "id": "healthcare.projects.locations.datasets.dicomStores.create",
17204	//   "parameterOrder": [
17205	//     "parent"
17206	//   ],
17207	//   "parameters": {
17208	//     "dicomStoreId": {
17209	//       "description": "The ID of the DICOM store that is being created. Any string value up to 256 characters in length.",
17210	//       "location": "query",
17211	//       "type": "string"
17212	//     },
17213	//     "parent": {
17214	//       "description": "The name of the dataset this DICOM store belongs to.",
17215	//       "location": "path",
17216	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
17217	//       "required": true,
17218	//       "type": "string"
17219	//     }
17220	//   },
17221	//   "path": "v1beta1/{+parent}/dicomStores",
17222	//   "request": {
17223	//     "$ref": "DicomStore"
17224	//   },
17225	//   "response": {
17226	//     "$ref": "DicomStore"
17227	//   },
17228	//   "scopes": [
17229	//     "https://www.googleapis.com/auth/cloud-platform"
17230	//   ]
17231	// }
17232
17233}
17234
17235// method id "healthcare.projects.locations.datasets.dicomStores.deidentify":
17236
17237type ProjectsLocationsDatasetsDicomStoresDeidentifyCall struct {
17238	s                           *Service
17239	sourceStore                 string
17240	deidentifydicomstorerequest *DeidentifyDicomStoreRequest
17241	urlParams_                  gensupport.URLParams
17242	ctx_                        context.Context
17243	header_                     http.Header
17244}
17245
17246// Deidentify: De-identifies data from the source store and writes it to
17247// the destination store. The metadata field type is OperationMetadata.
17248// If the request is successful, the response field type is
17249// DeidentifyDicomStoreSummary. The LRO result may still be successful
17250// if de-identification fails for some DICOM instances. The output DICOM
17251// store will not contain these failed resources. The number of
17252// resources processed are tracked in Operation.metadata. Error details
17253// are logged to Cloud Logging. For more information, see Viewing error
17254// logs in Cloud Logging
17255// (https://cloud.google.com/healthcare/docs/how-tos/logging).
17256//
17257// - sourceStore: Source DICOM store resource name. For example,
17258//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17259//   /dicomStores/{dicom_store_id}`.
17260func (r *ProjectsLocationsDatasetsDicomStoresService) Deidentify(sourceStore string, deidentifydicomstorerequest *DeidentifyDicomStoreRequest) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17261	c := &ProjectsLocationsDatasetsDicomStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17262	c.sourceStore = sourceStore
17263	c.deidentifydicomstorerequest = deidentifydicomstorerequest
17264	return c
17265}
17266
17267// Fields allows partial responses to be retrieved. See
17268// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17269// for more information.
17270func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17271	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17272	return c
17273}
17274
17275// Context sets the context to be used in this call's Do method. Any
17276// pending HTTP request will be aborted if the provided context is
17277// canceled.
17278func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeidentifyCall {
17279	c.ctx_ = ctx
17280	return c
17281}
17282
17283// Header returns an http.Header that can be modified by the caller to
17284// add HTTP headers to the request.
17285func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Header() http.Header {
17286	if c.header_ == nil {
17287		c.header_ = make(http.Header)
17288	}
17289	return c.header_
17290}
17291
17292func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
17293	reqHeaders := make(http.Header)
17294	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17295	for k, v := range c.header_ {
17296		reqHeaders[k] = v
17297	}
17298	reqHeaders.Set("User-Agent", c.s.userAgent())
17299	var body io.Reader = nil
17300	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifydicomstorerequest)
17301	if err != nil {
17302		return nil, err
17303	}
17304	reqHeaders.Set("Content-Type", "application/json")
17305	c.urlParams_.Set("alt", alt)
17306	c.urlParams_.Set("prettyPrint", "false")
17307	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
17308	urls += "?" + c.urlParams_.Encode()
17309	req, err := http.NewRequest("POST", urls, body)
17310	if err != nil {
17311		return nil, err
17312	}
17313	req.Header = reqHeaders
17314	googleapi.Expand(req.URL, map[string]string{
17315		"sourceStore": c.sourceStore,
17316	})
17317	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17318}
17319
17320// Do executes the "healthcare.projects.locations.datasets.dicomStores.deidentify" call.
17321// Exactly one of *Operation or error will be non-nil. Any non-2xx
17322// status code is an error. Response headers are in either
17323// *Operation.ServerResponse.Header or (if a response was returned at
17324// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17325// to check whether the returned error was because
17326// http.StatusNotModified was returned.
17327func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17328	gensupport.SetOptions(c.urlParams_, opts...)
17329	res, err := c.doRequest("json")
17330	if res != nil && res.StatusCode == http.StatusNotModified {
17331		if res.Body != nil {
17332			res.Body.Close()
17333		}
17334		return nil, &googleapi.Error{
17335			Code:   res.StatusCode,
17336			Header: res.Header,
17337		}
17338	}
17339	if err != nil {
17340		return nil, err
17341	}
17342	defer googleapi.CloseBody(res)
17343	if err := googleapi.CheckResponse(res); err != nil {
17344		return nil, err
17345	}
17346	ret := &Operation{
17347		ServerResponse: googleapi.ServerResponse{
17348			Header:         res.Header,
17349			HTTPStatusCode: res.StatusCode,
17350		},
17351	}
17352	target := &ret
17353	if err := gensupport.DecodeResponse(target, res); err != nil {
17354		return nil, err
17355	}
17356	return ret, nil
17357	// {
17358	//   "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).",
17359	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify",
17360	//   "httpMethod": "POST",
17361	//   "id": "healthcare.projects.locations.datasets.dicomStores.deidentify",
17362	//   "parameterOrder": [
17363	//     "sourceStore"
17364	//   ],
17365	//   "parameters": {
17366	//     "sourceStore": {
17367	//       "description": "Source DICOM store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
17368	//       "location": "path",
17369	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17370	//       "required": true,
17371	//       "type": "string"
17372	//     }
17373	//   },
17374	//   "path": "v1beta1/{+sourceStore}:deidentify",
17375	//   "request": {
17376	//     "$ref": "DeidentifyDicomStoreRequest"
17377	//   },
17378	//   "response": {
17379	//     "$ref": "Operation"
17380	//   },
17381	//   "scopes": [
17382	//     "https://www.googleapis.com/auth/cloud-platform"
17383	//   ]
17384	// }
17385
17386}
17387
17388// method id "healthcare.projects.locations.datasets.dicomStores.delete":
17389
17390type ProjectsLocationsDatasetsDicomStoresDeleteCall struct {
17391	s          *Service
17392	name       string
17393	urlParams_ gensupport.URLParams
17394	ctx_       context.Context
17395	header_    http.Header
17396}
17397
17398// Delete: Deletes the specified DICOM store and removes all images that
17399// are contained within it.
17400//
17401// - name: The resource name of the DICOM store to delete.
17402func (r *ProjectsLocationsDatasetsDicomStoresService) Delete(name string) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17403	c := &ProjectsLocationsDatasetsDicomStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17404	c.name = name
17405	return c
17406}
17407
17408// Fields allows partial responses to be retrieved. See
17409// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17410// for more information.
17411func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17412	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17413	return c
17414}
17415
17416// Context sets the context to be used in this call's Do method. Any
17417// pending HTTP request will be aborted if the provided context is
17418// canceled.
17419func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDeleteCall {
17420	c.ctx_ = ctx
17421	return c
17422}
17423
17424// Header returns an http.Header that can be modified by the caller to
17425// add HTTP headers to the request.
17426func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Header() http.Header {
17427	if c.header_ == nil {
17428		c.header_ = make(http.Header)
17429	}
17430	return c.header_
17431}
17432
17433func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
17434	reqHeaders := make(http.Header)
17435	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17436	for k, v := range c.header_ {
17437		reqHeaders[k] = v
17438	}
17439	reqHeaders.Set("User-Agent", c.s.userAgent())
17440	var body io.Reader = nil
17441	c.urlParams_.Set("alt", alt)
17442	c.urlParams_.Set("prettyPrint", "false")
17443	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17444	urls += "?" + c.urlParams_.Encode()
17445	req, err := http.NewRequest("DELETE", urls, body)
17446	if err != nil {
17447		return nil, err
17448	}
17449	req.Header = reqHeaders
17450	googleapi.Expand(req.URL, map[string]string{
17451		"name": c.name,
17452	})
17453	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17454}
17455
17456// Do executes the "healthcare.projects.locations.datasets.dicomStores.delete" call.
17457// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17458// code is an error. Response headers are in either
17459// *Empty.ServerResponse.Header or (if a response was returned at all)
17460// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17461// check whether the returned error was because http.StatusNotModified
17462// was returned.
17463func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17464	gensupport.SetOptions(c.urlParams_, opts...)
17465	res, err := c.doRequest("json")
17466	if res != nil && res.StatusCode == http.StatusNotModified {
17467		if res.Body != nil {
17468			res.Body.Close()
17469		}
17470		return nil, &googleapi.Error{
17471			Code:   res.StatusCode,
17472			Header: res.Header,
17473		}
17474	}
17475	if err != nil {
17476		return nil, err
17477	}
17478	defer googleapi.CloseBody(res)
17479	if err := googleapi.CheckResponse(res); err != nil {
17480		return nil, err
17481	}
17482	ret := &Empty{
17483		ServerResponse: googleapi.ServerResponse{
17484			Header:         res.Header,
17485			HTTPStatusCode: res.StatusCode,
17486		},
17487	}
17488	target := &ret
17489	if err := gensupport.DecodeResponse(target, res); err != nil {
17490		return nil, err
17491	}
17492	return ret, nil
17493	// {
17494	//   "description": "Deletes the specified DICOM store and removes all images that are contained within it.",
17495	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17496	//   "httpMethod": "DELETE",
17497	//   "id": "healthcare.projects.locations.datasets.dicomStores.delete",
17498	//   "parameterOrder": [
17499	//     "name"
17500	//   ],
17501	//   "parameters": {
17502	//     "name": {
17503	//       "description": "The resource name of the DICOM store to delete.",
17504	//       "location": "path",
17505	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17506	//       "required": true,
17507	//       "type": "string"
17508	//     }
17509	//   },
17510	//   "path": "v1beta1/{+name}",
17511	//   "response": {
17512	//     "$ref": "Empty"
17513	//   },
17514	//   "scopes": [
17515	//     "https://www.googleapis.com/auth/cloud-platform"
17516	//   ]
17517	// }
17518
17519}
17520
17521// method id "healthcare.projects.locations.datasets.dicomStores.export":
17522
17523type ProjectsLocationsDatasetsDicomStoresExportCall struct {
17524	s                      *Service
17525	name                   string
17526	exportdicomdatarequest *ExportDicomDataRequest
17527	urlParams_             gensupport.URLParams
17528	ctx_                   context.Context
17529	header_                http.Header
17530}
17531
17532// Export: Exports data to the specified destination by copying it from
17533// the DICOM store. Errors are also logged to Cloud Logging. For more
17534// information, see Viewing errors in Cloud Logging
17535// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
17536// metadata field type is OperationMetadata.
17537//
17538// - name: The DICOM store resource name from which to export the data.
17539//   For example,
17540//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
17541//   /dicomStores/{dicom_store_id}`.
17542func (r *ProjectsLocationsDatasetsDicomStoresService) Export(name string, exportdicomdatarequest *ExportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresExportCall {
17543	c := &ProjectsLocationsDatasetsDicomStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17544	c.name = name
17545	c.exportdicomdatarequest = exportdicomdatarequest
17546	return c
17547}
17548
17549// Fields allows partial responses to be retrieved. See
17550// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17551// for more information.
17552func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresExportCall {
17553	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17554	return c
17555}
17556
17557// Context sets the context to be used in this call's Do method. Any
17558// pending HTTP request will be aborted if the provided context is
17559// canceled.
17560func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresExportCall {
17561	c.ctx_ = ctx
17562	return c
17563}
17564
17565// Header returns an http.Header that can be modified by the caller to
17566// add HTTP headers to the request.
17567func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Header() http.Header {
17568	if c.header_ == nil {
17569		c.header_ = make(http.Header)
17570	}
17571	return c.header_
17572}
17573
17574func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
17575	reqHeaders := make(http.Header)
17576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17577	for k, v := range c.header_ {
17578		reqHeaders[k] = v
17579	}
17580	reqHeaders.Set("User-Agent", c.s.userAgent())
17581	var body io.Reader = nil
17582	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportdicomdatarequest)
17583	if err != nil {
17584		return nil, err
17585	}
17586	reqHeaders.Set("Content-Type", "application/json")
17587	c.urlParams_.Set("alt", alt)
17588	c.urlParams_.Set("prettyPrint", "false")
17589	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
17590	urls += "?" + c.urlParams_.Encode()
17591	req, err := http.NewRequest("POST", urls, body)
17592	if err != nil {
17593		return nil, err
17594	}
17595	req.Header = reqHeaders
17596	googleapi.Expand(req.URL, map[string]string{
17597		"name": c.name,
17598	})
17599	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17600}
17601
17602// Do executes the "healthcare.projects.locations.datasets.dicomStores.export" call.
17603// Exactly one of *Operation or error will be non-nil. Any non-2xx
17604// status code is an error. Response headers are in either
17605// *Operation.ServerResponse.Header or (if a response was returned at
17606// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17607// to check whether the returned error was because
17608// http.StatusNotModified was returned.
17609func (c *ProjectsLocationsDatasetsDicomStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
17610	gensupport.SetOptions(c.urlParams_, opts...)
17611	res, err := c.doRequest("json")
17612	if res != nil && res.StatusCode == http.StatusNotModified {
17613		if res.Body != nil {
17614			res.Body.Close()
17615		}
17616		return nil, &googleapi.Error{
17617			Code:   res.StatusCode,
17618			Header: res.Header,
17619		}
17620	}
17621	if err != nil {
17622		return nil, err
17623	}
17624	defer googleapi.CloseBody(res)
17625	if err := googleapi.CheckResponse(res); err != nil {
17626		return nil, err
17627	}
17628	ret := &Operation{
17629		ServerResponse: googleapi.ServerResponse{
17630			Header:         res.Header,
17631			HTTPStatusCode: res.StatusCode,
17632		},
17633	}
17634	target := &ret
17635	if err := gensupport.DecodeResponse(target, res); err != nil {
17636		return nil, err
17637	}
17638	return ret, nil
17639	// {
17640	//   "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.",
17641	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export",
17642	//   "httpMethod": "POST",
17643	//   "id": "healthcare.projects.locations.datasets.dicomStores.export",
17644	//   "parameterOrder": [
17645	//     "name"
17646	//   ],
17647	//   "parameters": {
17648	//     "name": {
17649	//       "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}`.",
17650	//       "location": "path",
17651	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17652	//       "required": true,
17653	//       "type": "string"
17654	//     }
17655	//   },
17656	//   "path": "v1beta1/{+name}:export",
17657	//   "request": {
17658	//     "$ref": "ExportDicomDataRequest"
17659	//   },
17660	//   "response": {
17661	//     "$ref": "Operation"
17662	//   },
17663	//   "scopes": [
17664	//     "https://www.googleapis.com/auth/cloud-platform"
17665	//   ]
17666	// }
17667
17668}
17669
17670// method id "healthcare.projects.locations.datasets.dicomStores.get":
17671
17672type ProjectsLocationsDatasetsDicomStoresGetCall struct {
17673	s            *Service
17674	name         string
17675	urlParams_   gensupport.URLParams
17676	ifNoneMatch_ string
17677	ctx_         context.Context
17678	header_      http.Header
17679}
17680
17681// Get: Gets the specified DICOM store.
17682//
17683// - name: The resource name of the DICOM store to get.
17684func (r *ProjectsLocationsDatasetsDicomStoresService) Get(name string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17685	c := &ProjectsLocationsDatasetsDicomStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17686	c.name = name
17687	return c
17688}
17689
17690// Fields allows partial responses to be retrieved. See
17691// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17692// for more information.
17693func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetCall {
17694	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17695	return c
17696}
17697
17698// IfNoneMatch sets the optional parameter which makes the operation
17699// fail if the object's ETag matches the given value. This is useful for
17700// getting updates only after the object has changed since the last
17701// request. Use googleapi.IsNotModified to check whether the response
17702// error from Do is the result of In-None-Match.
17703func (c *ProjectsLocationsDatasetsDicomStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetCall {
17704	c.ifNoneMatch_ = entityTag
17705	return c
17706}
17707
17708// Context sets the context to be used in this call's Do method. Any
17709// pending HTTP request will be aborted if the provided context is
17710// canceled.
17711func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetCall {
17712	c.ctx_ = ctx
17713	return c
17714}
17715
17716// Header returns an http.Header that can be modified by the caller to
17717// add HTTP headers to the request.
17718func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Header() http.Header {
17719	if c.header_ == nil {
17720		c.header_ = make(http.Header)
17721	}
17722	return c.header_
17723}
17724
17725func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
17726	reqHeaders := make(http.Header)
17727	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17728	for k, v := range c.header_ {
17729		reqHeaders[k] = v
17730	}
17731	reqHeaders.Set("User-Agent", c.s.userAgent())
17732	if c.ifNoneMatch_ != "" {
17733		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17734	}
17735	var body io.Reader = nil
17736	c.urlParams_.Set("alt", alt)
17737	c.urlParams_.Set("prettyPrint", "false")
17738	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
17739	urls += "?" + c.urlParams_.Encode()
17740	req, err := http.NewRequest("GET", urls, body)
17741	if err != nil {
17742		return nil, err
17743	}
17744	req.Header = reqHeaders
17745	googleapi.Expand(req.URL, map[string]string{
17746		"name": c.name,
17747	})
17748	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17749}
17750
17751// Do executes the "healthcare.projects.locations.datasets.dicomStores.get" call.
17752// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
17753// status code is an error. Response headers are in either
17754// *DicomStore.ServerResponse.Header or (if a response was returned at
17755// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17756// to check whether the returned error was because
17757// http.StatusNotModified was returned.
17758func (c *ProjectsLocationsDatasetsDicomStoresGetCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
17759	gensupport.SetOptions(c.urlParams_, opts...)
17760	res, err := c.doRequest("json")
17761	if res != nil && res.StatusCode == http.StatusNotModified {
17762		if res.Body != nil {
17763			res.Body.Close()
17764		}
17765		return nil, &googleapi.Error{
17766			Code:   res.StatusCode,
17767			Header: res.Header,
17768		}
17769	}
17770	if err != nil {
17771		return nil, err
17772	}
17773	defer googleapi.CloseBody(res)
17774	if err := googleapi.CheckResponse(res); err != nil {
17775		return nil, err
17776	}
17777	ret := &DicomStore{
17778		ServerResponse: googleapi.ServerResponse{
17779			Header:         res.Header,
17780			HTTPStatusCode: res.StatusCode,
17781		},
17782	}
17783	target := &ret
17784	if err := gensupport.DecodeResponse(target, res); err != nil {
17785		return nil, err
17786	}
17787	return ret, nil
17788	// {
17789	//   "description": "Gets the specified DICOM store.",
17790	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
17791	//   "httpMethod": "GET",
17792	//   "id": "healthcare.projects.locations.datasets.dicomStores.get",
17793	//   "parameterOrder": [
17794	//     "name"
17795	//   ],
17796	//   "parameters": {
17797	//     "name": {
17798	//       "description": "The resource name of the DICOM store to get.",
17799	//       "location": "path",
17800	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17801	//       "required": true,
17802	//       "type": "string"
17803	//     }
17804	//   },
17805	//   "path": "v1beta1/{+name}",
17806	//   "response": {
17807	//     "$ref": "DicomStore"
17808	//   },
17809	//   "scopes": [
17810	//     "https://www.googleapis.com/auth/cloud-platform"
17811	//   ]
17812	// }
17813
17814}
17815
17816// method id "healthcare.projects.locations.datasets.dicomStores.getIamPolicy":
17817
17818type ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall struct {
17819	s            *Service
17820	resource     string
17821	urlParams_   gensupport.URLParams
17822	ifNoneMatch_ string
17823	ctx_         context.Context
17824	header_      http.Header
17825}
17826
17827// GetIamPolicy: Gets the access control policy for a resource. Returns
17828// an empty policy if the resource exists and does not have a policy
17829// set.
17830//
17831// - resource: REQUIRED: The resource for which the policy is being
17832//   requested. See the operation documentation for the appropriate
17833//   value for this field.
17834func (r *ProjectsLocationsDatasetsDicomStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17835	c := &ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17836	c.resource = resource
17837	return c
17838}
17839
17840// OptionsRequestedPolicyVersion sets the optional parameter
17841// "options.requestedPolicyVersion": The policy format version to be
17842// returned. Valid values are 0, 1, and 3. Requests specifying an
17843// invalid value will be rejected. Requests for policies with any
17844// conditional bindings must specify version 3. Policies without any
17845// conditional bindings may specify any valid value or leave the field
17846// unset. To learn which resources support conditions in their IAM
17847// policies, see the IAM documentation
17848// (https://cloud.google.com/iam/help/conditions/resource-policies).
17849func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17850	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
17851	return c
17852}
17853
17854// Fields allows partial responses to be retrieved. See
17855// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17856// for more information.
17857func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17858	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17859	return c
17860}
17861
17862// IfNoneMatch sets the optional parameter which makes the operation
17863// fail if the object's ETag matches the given value. This is useful for
17864// getting updates only after the object has changed since the last
17865// request. Use googleapi.IsNotModified to check whether the response
17866// error from Do is the result of In-None-Match.
17867func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17868	c.ifNoneMatch_ = entityTag
17869	return c
17870}
17871
17872// Context sets the context to be used in this call's Do method. Any
17873// pending HTTP request will be aborted if the provided context is
17874// canceled.
17875func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall {
17876	c.ctx_ = ctx
17877	return c
17878}
17879
17880// Header returns an http.Header that can be modified by the caller to
17881// add HTTP headers to the request.
17882func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Header() http.Header {
17883	if c.header_ == nil {
17884		c.header_ = make(http.Header)
17885	}
17886	return c.header_
17887}
17888
17889func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
17890	reqHeaders := make(http.Header)
17891	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17892	for k, v := range c.header_ {
17893		reqHeaders[k] = v
17894	}
17895	reqHeaders.Set("User-Agent", c.s.userAgent())
17896	if c.ifNoneMatch_ != "" {
17897		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17898	}
17899	var body io.Reader = nil
17900	c.urlParams_.Set("alt", alt)
17901	c.urlParams_.Set("prettyPrint", "false")
17902	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
17903	urls += "?" + c.urlParams_.Encode()
17904	req, err := http.NewRequest("GET", urls, body)
17905	if err != nil {
17906		return nil, err
17907	}
17908	req.Header = reqHeaders
17909	googleapi.Expand(req.URL, map[string]string{
17910		"resource": c.resource,
17911	})
17912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17913}
17914
17915// Do executes the "healthcare.projects.locations.datasets.dicomStores.getIamPolicy" call.
17916// Exactly one of *Policy or error will be non-nil. Any non-2xx status
17917// code is an error. Response headers are in either
17918// *Policy.ServerResponse.Header or (if a response was returned at all)
17919// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17920// check whether the returned error was because http.StatusNotModified
17921// was returned.
17922func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
17923	gensupport.SetOptions(c.urlParams_, opts...)
17924	res, err := c.doRequest("json")
17925	if res != nil && res.StatusCode == http.StatusNotModified {
17926		if res.Body != nil {
17927			res.Body.Close()
17928		}
17929		return nil, &googleapi.Error{
17930			Code:   res.StatusCode,
17931			Header: res.Header,
17932		}
17933	}
17934	if err != nil {
17935		return nil, err
17936	}
17937	defer googleapi.CloseBody(res)
17938	if err := googleapi.CheckResponse(res); err != nil {
17939		return nil, err
17940	}
17941	ret := &Policy{
17942		ServerResponse: googleapi.ServerResponse{
17943			Header:         res.Header,
17944			HTTPStatusCode: res.StatusCode,
17945		},
17946	}
17947	target := &ret
17948	if err := gensupport.DecodeResponse(target, res); err != nil {
17949		return nil, err
17950	}
17951	return ret, nil
17952	// {
17953	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
17954	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy",
17955	//   "httpMethod": "GET",
17956	//   "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy",
17957	//   "parameterOrder": [
17958	//     "resource"
17959	//   ],
17960	//   "parameters": {
17961	//     "options.requestedPolicyVersion": {
17962	//       "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).",
17963	//       "format": "int32",
17964	//       "location": "query",
17965	//       "type": "integer"
17966	//     },
17967	//     "resource": {
17968	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
17969	//       "location": "path",
17970	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
17971	//       "required": true,
17972	//       "type": "string"
17973	//     }
17974	//   },
17975	//   "path": "v1beta1/{+resource}:getIamPolicy",
17976	//   "response": {
17977	//     "$ref": "Policy"
17978	//   },
17979	//   "scopes": [
17980	//     "https://www.googleapis.com/auth/cloud-platform"
17981	//   ]
17982	// }
17983
17984}
17985
17986// method id "healthcare.projects.locations.datasets.dicomStores.import":
17987
17988type ProjectsLocationsDatasetsDicomStoresImportCall struct {
17989	s                      *Service
17990	name                   string
17991	importdicomdatarequest *ImportDicomDataRequest
17992	urlParams_             gensupport.URLParams
17993	ctx_                   context.Context
17994	header_                http.Header
17995}
17996
17997// Import: Imports data into the DICOM store by copying it from the
17998// specified source. Errors are logged to Cloud Logging. For more
17999// information, see Viewing error logs in Cloud Logging
18000// (https://cloud.google.com/healthcare/docs/how-tos/logging). The
18001// metadata field type is OperationMetadata.
18002//
18003// - name: The name of the DICOM store resource into which the data is
18004//   imported. For example,
18005//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18006//   /dicomStores/{dicom_store_id}`.
18007func (r *ProjectsLocationsDatasetsDicomStoresService) Import(name string, importdicomdatarequest *ImportDicomDataRequest) *ProjectsLocationsDatasetsDicomStoresImportCall {
18008	c := &ProjectsLocationsDatasetsDicomStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18009	c.name = name
18010	c.importdicomdatarequest = importdicomdatarequest
18011	return c
18012}
18013
18014// Fields allows partial responses to be retrieved. See
18015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18016// for more information.
18017func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresImportCall {
18018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18019	return c
18020}
18021
18022// Context sets the context to be used in this call's Do method. Any
18023// pending HTTP request will be aborted if the provided context is
18024// canceled.
18025func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresImportCall {
18026	c.ctx_ = ctx
18027	return c
18028}
18029
18030// Header returns an http.Header that can be modified by the caller to
18031// add HTTP headers to the request.
18032func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Header() http.Header {
18033	if c.header_ == nil {
18034		c.header_ = make(http.Header)
18035	}
18036	return c.header_
18037}
18038
18039func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
18040	reqHeaders := make(http.Header)
18041	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18042	for k, v := range c.header_ {
18043		reqHeaders[k] = v
18044	}
18045	reqHeaders.Set("User-Agent", c.s.userAgent())
18046	var body io.Reader = nil
18047	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importdicomdatarequest)
18048	if err != nil {
18049		return nil, err
18050	}
18051	reqHeaders.Set("Content-Type", "application/json")
18052	c.urlParams_.Set("alt", alt)
18053	c.urlParams_.Set("prettyPrint", "false")
18054	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
18055	urls += "?" + c.urlParams_.Encode()
18056	req, err := http.NewRequest("POST", urls, body)
18057	if err != nil {
18058		return nil, err
18059	}
18060	req.Header = reqHeaders
18061	googleapi.Expand(req.URL, map[string]string{
18062		"name": c.name,
18063	})
18064	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18065}
18066
18067// Do executes the "healthcare.projects.locations.datasets.dicomStores.import" call.
18068// Exactly one of *Operation or error will be non-nil. Any non-2xx
18069// status code is an error. Response headers are in either
18070// *Operation.ServerResponse.Header or (if a response was returned at
18071// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18072// to check whether the returned error was because
18073// http.StatusNotModified was returned.
18074func (c *ProjectsLocationsDatasetsDicomStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
18075	gensupport.SetOptions(c.urlParams_, opts...)
18076	res, err := c.doRequest("json")
18077	if res != nil && res.StatusCode == http.StatusNotModified {
18078		if res.Body != nil {
18079			res.Body.Close()
18080		}
18081		return nil, &googleapi.Error{
18082			Code:   res.StatusCode,
18083			Header: res.Header,
18084		}
18085	}
18086	if err != nil {
18087		return nil, err
18088	}
18089	defer googleapi.CloseBody(res)
18090	if err := googleapi.CheckResponse(res); err != nil {
18091		return nil, err
18092	}
18093	ret := &Operation{
18094		ServerResponse: googleapi.ServerResponse{
18095			Header:         res.Header,
18096			HTTPStatusCode: res.StatusCode,
18097		},
18098	}
18099	target := &ret
18100	if err := gensupport.DecodeResponse(target, res); err != nil {
18101		return nil, err
18102	}
18103	return ret, nil
18104	// {
18105	//   "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.",
18106	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import",
18107	//   "httpMethod": "POST",
18108	//   "id": "healthcare.projects.locations.datasets.dicomStores.import",
18109	//   "parameterOrder": [
18110	//     "name"
18111	//   ],
18112	//   "parameters": {
18113	//     "name": {
18114	//       "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}`.",
18115	//       "location": "path",
18116	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18117	//       "required": true,
18118	//       "type": "string"
18119	//     }
18120	//   },
18121	//   "path": "v1beta1/{+name}:import",
18122	//   "request": {
18123	//     "$ref": "ImportDicomDataRequest"
18124	//   },
18125	//   "response": {
18126	//     "$ref": "Operation"
18127	//   },
18128	//   "scopes": [
18129	//     "https://www.googleapis.com/auth/cloud-platform"
18130	//   ]
18131	// }
18132
18133}
18134
18135// method id "healthcare.projects.locations.datasets.dicomStores.list":
18136
18137type ProjectsLocationsDatasetsDicomStoresListCall struct {
18138	s            *Service
18139	parent       string
18140	urlParams_   gensupport.URLParams
18141	ifNoneMatch_ string
18142	ctx_         context.Context
18143	header_      http.Header
18144}
18145
18146// List: Lists the DICOM stores in the given dataset.
18147//
18148// - parent: Name of the dataset.
18149func (r *ProjectsLocationsDatasetsDicomStoresService) List(parent string) *ProjectsLocationsDatasetsDicomStoresListCall {
18150	c := &ProjectsLocationsDatasetsDicomStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18151	c.parent = parent
18152	return c
18153}
18154
18155// Filter sets the optional parameter "filter": Restricts stores
18156// returned to those matching a filter. The following syntax is
18157// available: * A string field value can be written as text inside
18158// quotation marks, for example "query text". The only valid
18159// relational operation for text fields is equality (`=`), where text is
18160// searched within the field, rather than having the field be equal to
18161// the text. For example, "Comment = great" returns messages with
18162// `great` in the comment field. * A number field value can be written
18163// as an integer, a decimal, or an exponential. The valid relational
18164// operators for number fields are the equality operator (`=`), along
18165// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
18166// Note that there is no inequality (`!=`) operator. You can prepend the
18167// `NOT` operator to an expression to negate it. * A date field value
18168// must be written in `yyyy-mm-dd` form. Fields with date and time use
18169// the RFC3339 time format. Leading zeros are required for one-digit
18170// months and days. The valid relational operators for date fields are
18171// the equality operator (`=`) , along with the less than/greater than
18172// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
18173// (`!=`) operator. You can prepend the `NOT` operator to an expression
18174// to negate it. * Multiple field query expressions can be combined in
18175// one query by adding `AND` or `OR` operators between the expressions.
18176// If a boolean operator appears within a quoted string, it is not
18177// treated as special, it's just another part of the character string to
18178// be matched. You can prepend the `NOT` operator to an expression to
18179// negate it. Only filtering on labels is supported. For example,
18180// `labels.key=value`.
18181func (c *ProjectsLocationsDatasetsDicomStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsDicomStoresListCall {
18182	c.urlParams_.Set("filter", filter)
18183	return c
18184}
18185
18186// PageSize sets the optional parameter "pageSize": Limit on the number
18187// of DICOM stores to return in a single response. If not specified, 100
18188// is used. May not be larger than 1000.
18189func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDicomStoresListCall {
18190	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18191	return c
18192}
18193
18194// PageToken sets the optional parameter "pageToken": The
18195// next_page_token value returned from the previous List request, if
18196// any.
18197func (c *ProjectsLocationsDatasetsDicomStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDicomStoresListCall {
18198	c.urlParams_.Set("pageToken", pageToken)
18199	return c
18200}
18201
18202// Fields allows partial responses to be retrieved. See
18203// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18204// for more information.
18205func (c *ProjectsLocationsDatasetsDicomStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresListCall {
18206	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18207	return c
18208}
18209
18210// IfNoneMatch sets the optional parameter which makes the operation
18211// fail if the object's ETag matches the given value. This is useful for
18212// getting updates only after the object has changed since the last
18213// request. Use googleapi.IsNotModified to check whether the response
18214// error from Do is the result of In-None-Match.
18215func (c *ProjectsLocationsDatasetsDicomStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresListCall {
18216	c.ifNoneMatch_ = entityTag
18217	return c
18218}
18219
18220// Context sets the context to be used in this call's Do method. Any
18221// pending HTTP request will be aborted if the provided context is
18222// canceled.
18223func (c *ProjectsLocationsDatasetsDicomStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresListCall {
18224	c.ctx_ = ctx
18225	return c
18226}
18227
18228// Header returns an http.Header that can be modified by the caller to
18229// add HTTP headers to the request.
18230func (c *ProjectsLocationsDatasetsDicomStoresListCall) Header() http.Header {
18231	if c.header_ == nil {
18232		c.header_ = make(http.Header)
18233	}
18234	return c.header_
18235}
18236
18237func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
18238	reqHeaders := make(http.Header)
18239	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18240	for k, v := range c.header_ {
18241		reqHeaders[k] = v
18242	}
18243	reqHeaders.Set("User-Agent", c.s.userAgent())
18244	if c.ifNoneMatch_ != "" {
18245		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18246	}
18247	var body io.Reader = nil
18248	c.urlParams_.Set("alt", alt)
18249	c.urlParams_.Set("prettyPrint", "false")
18250	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomStores")
18251	urls += "?" + c.urlParams_.Encode()
18252	req, err := http.NewRequest("GET", urls, body)
18253	if err != nil {
18254		return nil, err
18255	}
18256	req.Header = reqHeaders
18257	googleapi.Expand(req.URL, map[string]string{
18258		"parent": c.parent,
18259	})
18260	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18261}
18262
18263// Do executes the "healthcare.projects.locations.datasets.dicomStores.list" call.
18264// Exactly one of *ListDicomStoresResponse or error will be non-nil. Any
18265// non-2xx status code is an error. Response headers are in either
18266// *ListDicomStoresResponse.ServerResponse.Header or (if a response was
18267// returned at all) in error.(*googleapi.Error).Header. Use
18268// googleapi.IsNotModified to check whether the returned error was
18269// because http.StatusNotModified was returned.
18270func (c *ProjectsLocationsDatasetsDicomStoresListCall) Do(opts ...googleapi.CallOption) (*ListDicomStoresResponse, error) {
18271	gensupport.SetOptions(c.urlParams_, opts...)
18272	res, err := c.doRequest("json")
18273	if res != nil && res.StatusCode == http.StatusNotModified {
18274		if res.Body != nil {
18275			res.Body.Close()
18276		}
18277		return nil, &googleapi.Error{
18278			Code:   res.StatusCode,
18279			Header: res.Header,
18280		}
18281	}
18282	if err != nil {
18283		return nil, err
18284	}
18285	defer googleapi.CloseBody(res)
18286	if err := googleapi.CheckResponse(res); err != nil {
18287		return nil, err
18288	}
18289	ret := &ListDicomStoresResponse{
18290		ServerResponse: googleapi.ServerResponse{
18291			Header:         res.Header,
18292			HTTPStatusCode: res.StatusCode,
18293		},
18294	}
18295	target := &ret
18296	if err := gensupport.DecodeResponse(target, res); err != nil {
18297		return nil, err
18298	}
18299	return ret, nil
18300	// {
18301	//   "description": "Lists the DICOM stores in the given dataset.",
18302	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
18303	//   "httpMethod": "GET",
18304	//   "id": "healthcare.projects.locations.datasets.dicomStores.list",
18305	//   "parameterOrder": [
18306	//     "parent"
18307	//   ],
18308	//   "parameters": {
18309	//     "filter": {
18310	//       "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`.",
18311	//       "location": "query",
18312	//       "type": "string"
18313	//     },
18314	//     "pageSize": {
18315	//       "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.",
18316	//       "format": "int32",
18317	//       "location": "query",
18318	//       "type": "integer"
18319	//     },
18320	//     "pageToken": {
18321	//       "description": "The next_page_token value returned from the previous List request, if any.",
18322	//       "location": "query",
18323	//       "type": "string"
18324	//     },
18325	//     "parent": {
18326	//       "description": "Name of the dataset.",
18327	//       "location": "path",
18328	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
18329	//       "required": true,
18330	//       "type": "string"
18331	//     }
18332	//   },
18333	//   "path": "v1beta1/{+parent}/dicomStores",
18334	//   "response": {
18335	//     "$ref": "ListDicomStoresResponse"
18336	//   },
18337	//   "scopes": [
18338	//     "https://www.googleapis.com/auth/cloud-platform"
18339	//   ]
18340	// }
18341
18342}
18343
18344// Pages invokes f for each page of results.
18345// A non-nil error returned from f will halt the iteration.
18346// The provided context supersedes any context provided to the Context method.
18347func (c *ProjectsLocationsDatasetsDicomStoresListCall) Pages(ctx context.Context, f func(*ListDicomStoresResponse) error) error {
18348	c.ctx_ = ctx
18349	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18350	for {
18351		x, err := c.Do()
18352		if err != nil {
18353			return err
18354		}
18355		if err := f(x); err != nil {
18356			return err
18357		}
18358		if x.NextPageToken == "" {
18359			return nil
18360		}
18361		c.PageToken(x.NextPageToken)
18362	}
18363}
18364
18365// method id "healthcare.projects.locations.datasets.dicomStores.patch":
18366
18367type ProjectsLocationsDatasetsDicomStoresPatchCall struct {
18368	s          *Service
18369	name       string
18370	dicomstore *DicomStore
18371	urlParams_ gensupport.URLParams
18372	ctx_       context.Context
18373	header_    http.Header
18374}
18375
18376// Patch: Updates the specified DICOM store.
18377//
18378// - name: Resource name of the DICOM store, of the form
18379//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18380//   /dicomStores/{dicom_store_id}`.
18381func (r *ProjectsLocationsDatasetsDicomStoresService) Patch(name string, dicomstore *DicomStore) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18382	c := &ProjectsLocationsDatasetsDicomStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18383	c.name = name
18384	c.dicomstore = dicomstore
18385	return c
18386}
18387
18388// UpdateMask sets the optional parameter "updateMask": The update mask
18389// applies to the resource. For the `FieldMask` definition, see
18390// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
18391func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18392	c.urlParams_.Set("updateMask", updateMask)
18393	return c
18394}
18395
18396// Fields allows partial responses to be retrieved. See
18397// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18398// for more information.
18399func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18400	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18401	return c
18402}
18403
18404// Context sets the context to be used in this call's Do method. Any
18405// pending HTTP request will be aborted if the provided context is
18406// canceled.
18407func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresPatchCall {
18408	c.ctx_ = ctx
18409	return c
18410}
18411
18412// Header returns an http.Header that can be modified by the caller to
18413// add HTTP headers to the request.
18414func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Header() http.Header {
18415	if c.header_ == nil {
18416		c.header_ = make(http.Header)
18417	}
18418	return c.header_
18419}
18420
18421func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
18422	reqHeaders := make(http.Header)
18423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18424	for k, v := range c.header_ {
18425		reqHeaders[k] = v
18426	}
18427	reqHeaders.Set("User-Agent", c.s.userAgent())
18428	var body io.Reader = nil
18429	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dicomstore)
18430	if err != nil {
18431		return nil, err
18432	}
18433	reqHeaders.Set("Content-Type", "application/json")
18434	c.urlParams_.Set("alt", alt)
18435	c.urlParams_.Set("prettyPrint", "false")
18436	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
18437	urls += "?" + c.urlParams_.Encode()
18438	req, err := http.NewRequest("PATCH", urls, body)
18439	if err != nil {
18440		return nil, err
18441	}
18442	req.Header = reqHeaders
18443	googleapi.Expand(req.URL, map[string]string{
18444		"name": c.name,
18445	})
18446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18447}
18448
18449// Do executes the "healthcare.projects.locations.datasets.dicomStores.patch" call.
18450// Exactly one of *DicomStore or error will be non-nil. Any non-2xx
18451// status code is an error. Response headers are in either
18452// *DicomStore.ServerResponse.Header or (if a response was returned at
18453// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18454// to check whether the returned error was because
18455// http.StatusNotModified was returned.
18456func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) Do(opts ...googleapi.CallOption) (*DicomStore, error) {
18457	gensupport.SetOptions(c.urlParams_, opts...)
18458	res, err := c.doRequest("json")
18459	if res != nil && res.StatusCode == http.StatusNotModified {
18460		if res.Body != nil {
18461			res.Body.Close()
18462		}
18463		return nil, &googleapi.Error{
18464			Code:   res.StatusCode,
18465			Header: res.Header,
18466		}
18467	}
18468	if err != nil {
18469		return nil, err
18470	}
18471	defer googleapi.CloseBody(res)
18472	if err := googleapi.CheckResponse(res); err != nil {
18473		return nil, err
18474	}
18475	ret := &DicomStore{
18476		ServerResponse: googleapi.ServerResponse{
18477			Header:         res.Header,
18478			HTTPStatusCode: res.StatusCode,
18479		},
18480	}
18481	target := &ret
18482	if err := gensupport.DecodeResponse(target, res); err != nil {
18483		return nil, err
18484	}
18485	return ret, nil
18486	// {
18487	//   "description": "Updates the specified DICOM store.",
18488	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
18489	//   "httpMethod": "PATCH",
18490	//   "id": "healthcare.projects.locations.datasets.dicomStores.patch",
18491	//   "parameterOrder": [
18492	//     "name"
18493	//   ],
18494	//   "parameters": {
18495	//     "name": {
18496	//       "description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
18497	//       "location": "path",
18498	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18499	//       "required": true,
18500	//       "type": "string"
18501	//     },
18502	//     "updateMask": {
18503	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
18504	//       "format": "google-fieldmask",
18505	//       "location": "query",
18506	//       "type": "string"
18507	//     }
18508	//   },
18509	//   "path": "v1beta1/{+name}",
18510	//   "request": {
18511	//     "$ref": "DicomStore"
18512	//   },
18513	//   "response": {
18514	//     "$ref": "DicomStore"
18515	//   },
18516	//   "scopes": [
18517	//     "https://www.googleapis.com/auth/cloud-platform"
18518	//   ]
18519	// }
18520
18521}
18522
18523// method id "healthcare.projects.locations.datasets.dicomStores.searchForInstances":
18524
18525type ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall struct {
18526	s            *Service
18527	parent       string
18528	dicomWebPath string
18529	urlParams_   gensupport.URLParams
18530	ifNoneMatch_ string
18531	ctx_         context.Context
18532	header_      http.Header
18533}
18534
18535// SearchForInstances: SearchForInstances returns a list of matching
18536// instances. See RetrieveTransaction
18537// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18538// For details on the implementation of SearchForInstances, see Search
18539// transaction
18540// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18541// in the Cloud Healthcare API conformance statement. For samples that
18542// show how to call SearchForInstances, see Searching for studies,
18543// series, instances, and frames
18544// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18545//
18546// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
18547//   request. For example, `instances`, `series/{series_uid}/instances`,
18548//   or `studies/{study_uid}/instances`.
18549// - parent: The name of the DICOM store that is being accessed. For
18550//   example,
18551//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18552//   /dicomStores/{dicom_store_id}`.
18553func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18554	c := &ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18555	c.parent = parent
18556	c.dicomWebPath = dicomWebPath
18557	return c
18558}
18559
18560// Fields allows partial responses to be retrieved. See
18561// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18562// for more information.
18563func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18564	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18565	return c
18566}
18567
18568// IfNoneMatch sets the optional parameter which makes the operation
18569// fail if the object's ETag matches the given value. This is useful for
18570// getting updates only after the object has changed since the last
18571// request. Use googleapi.IsNotModified to check whether the response
18572// error from Do is the result of In-None-Match.
18573func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18574	c.ifNoneMatch_ = entityTag
18575	return c
18576}
18577
18578// Context sets the context to be used in this call's Do method. Any
18579// pending HTTP request will be aborted if the provided context is
18580// canceled.
18581func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall {
18582	c.ctx_ = ctx
18583	return c
18584}
18585
18586// Header returns an http.Header that can be modified by the caller to
18587// add HTTP headers to the request.
18588func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Header() http.Header {
18589	if c.header_ == nil {
18590		c.header_ = make(http.Header)
18591	}
18592	return c.header_
18593}
18594
18595func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
18596	reqHeaders := make(http.Header)
18597	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18598	for k, v := range c.header_ {
18599		reqHeaders[k] = v
18600	}
18601	reqHeaders.Set("User-Agent", c.s.userAgent())
18602	if c.ifNoneMatch_ != "" {
18603		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18604	}
18605	var body io.Reader = nil
18606	c.urlParams_.Set("alt", alt)
18607	c.urlParams_.Set("prettyPrint", "false")
18608	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18609	urls += "?" + c.urlParams_.Encode()
18610	req, err := http.NewRequest("GET", urls, body)
18611	if err != nil {
18612		return nil, err
18613	}
18614	req.Header = reqHeaders
18615	googleapi.Expand(req.URL, map[string]string{
18616		"parent":       c.parent,
18617		"dicomWebPath": c.dicomWebPath,
18618	})
18619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18620}
18621
18622// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForInstances" call.
18623func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18624	gensupport.SetOptions(c.urlParams_, opts...)
18625	return c.doRequest("")
18626	// {
18627	//   "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).",
18628	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances",
18629	//   "httpMethod": "GET",
18630	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances",
18631	//   "parameterOrder": [
18632	//     "parent",
18633	//     "dicomWebPath"
18634	//   ],
18635	//   "parameters": {
18636	//     "dicomWebPath": {
18637	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
18638	//       "location": "path",
18639	//       "pattern": "^instances$",
18640	//       "required": true,
18641	//       "type": "string"
18642	//     },
18643	//     "parent": {
18644	//       "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}`.",
18645	//       "location": "path",
18646	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18647	//       "required": true,
18648	//       "type": "string"
18649	//     }
18650	//   },
18651	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18652	//   "response": {
18653	//     "$ref": "HttpBody"
18654	//   },
18655	//   "scopes": [
18656	//     "https://www.googleapis.com/auth/cloud-platform"
18657	//   ]
18658	// }
18659
18660}
18661
18662// method id "healthcare.projects.locations.datasets.dicomStores.searchForSeries":
18663
18664type ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall struct {
18665	s            *Service
18666	parent       string
18667	dicomWebPath string
18668	urlParams_   gensupport.URLParams
18669	ifNoneMatch_ string
18670	ctx_         context.Context
18671	header_      http.Header
18672}
18673
18674// SearchForSeries: SearchForSeries returns a list of matching series.
18675// See RetrieveTransaction
18676// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18677// For details on the implementation of SearchForSeries, see Search
18678// transaction
18679// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18680// in the Cloud Healthcare API conformance statement. For samples that
18681// show how to call SearchForSeries, see Searching for studies, series,
18682// instances, and frames
18683// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18684//
18685// - dicomWebPath: The path of the SearchForSeries DICOMweb request. For
18686//   example, `series` or `studies/{study_uid}/series`.
18687// - parent: The name of the DICOM store that is being accessed. For
18688//   example,
18689//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18690//   /dicomStores/{dicom_store_id}`.
18691func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18692	c := &ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18693	c.parent = parent
18694	c.dicomWebPath = dicomWebPath
18695	return c
18696}
18697
18698// Fields allows partial responses to be retrieved. See
18699// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18700// for more information.
18701func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18702	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18703	return c
18704}
18705
18706// IfNoneMatch sets the optional parameter which makes the operation
18707// fail if the object's ETag matches the given value. This is useful for
18708// getting updates only after the object has changed since the last
18709// request. Use googleapi.IsNotModified to check whether the response
18710// error from Do is the result of In-None-Match.
18711func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18712	c.ifNoneMatch_ = entityTag
18713	return c
18714}
18715
18716// Context sets the context to be used in this call's Do method. Any
18717// pending HTTP request will be aborted if the provided context is
18718// canceled.
18719func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall {
18720	c.ctx_ = ctx
18721	return c
18722}
18723
18724// Header returns an http.Header that can be modified by the caller to
18725// add HTTP headers to the request.
18726func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Header() http.Header {
18727	if c.header_ == nil {
18728		c.header_ = make(http.Header)
18729	}
18730	return c.header_
18731}
18732
18733func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
18734	reqHeaders := make(http.Header)
18735	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18736	for k, v := range c.header_ {
18737		reqHeaders[k] = v
18738	}
18739	reqHeaders.Set("User-Agent", c.s.userAgent())
18740	if c.ifNoneMatch_ != "" {
18741		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18742	}
18743	var body io.Reader = nil
18744	c.urlParams_.Set("alt", alt)
18745	c.urlParams_.Set("prettyPrint", "false")
18746	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18747	urls += "?" + c.urlParams_.Encode()
18748	req, err := http.NewRequest("GET", urls, body)
18749	if err != nil {
18750		return nil, err
18751	}
18752	req.Header = reqHeaders
18753	googleapi.Expand(req.URL, map[string]string{
18754		"parent":       c.parent,
18755		"dicomWebPath": c.dicomWebPath,
18756	})
18757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18758}
18759
18760// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForSeries" call.
18761func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18762	gensupport.SetOptions(c.urlParams_, opts...)
18763	return c.doRequest("")
18764	// {
18765	//   "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).",
18766	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series",
18767	//   "httpMethod": "GET",
18768	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries",
18769	//   "parameterOrder": [
18770	//     "parent",
18771	//     "dicomWebPath"
18772	//   ],
18773	//   "parameters": {
18774	//     "dicomWebPath": {
18775	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
18776	//       "location": "path",
18777	//       "pattern": "^series$",
18778	//       "required": true,
18779	//       "type": "string"
18780	//     },
18781	//     "parent": {
18782	//       "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}`.",
18783	//       "location": "path",
18784	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18785	//       "required": true,
18786	//       "type": "string"
18787	//     }
18788	//   },
18789	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18790	//   "response": {
18791	//     "$ref": "HttpBody"
18792	//   },
18793	//   "scopes": [
18794	//     "https://www.googleapis.com/auth/cloud-platform"
18795	//   ]
18796	// }
18797
18798}
18799
18800// method id "healthcare.projects.locations.datasets.dicomStores.searchForStudies":
18801
18802type ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall struct {
18803	s            *Service
18804	parent       string
18805	dicomWebPath string
18806	urlParams_   gensupport.URLParams
18807	ifNoneMatch_ string
18808	ctx_         context.Context
18809	header_      http.Header
18810}
18811
18812// SearchForStudies: SearchForStudies returns a list of matching
18813// studies. See RetrieveTransaction
18814// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
18815// For details on the implementation of SearchForStudies, see Search
18816// transaction
18817// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
18818// in the Cloud Healthcare API conformance statement. For samples that
18819// show how to call SearchForStudies, see Searching for studies, series,
18820// instances, and frames
18821// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
18822//
18823// - dicomWebPath: The path of the SearchForStudies DICOMweb request.
18824//   For example, `studies`.
18825// - parent: The name of the DICOM store that is being accessed. For
18826//   example,
18827//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
18828//   /dicomStores/{dicom_store_id}`.
18829func (r *ProjectsLocationsDatasetsDicomStoresService) SearchForStudies(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18830	c := &ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18831	c.parent = parent
18832	c.dicomWebPath = dicomWebPath
18833	return c
18834}
18835
18836// Fields allows partial responses to be retrieved. See
18837// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18838// for more information.
18839func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18840	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18841	return c
18842}
18843
18844// IfNoneMatch sets the optional parameter which makes the operation
18845// fail if the object's ETag matches the given value. This is useful for
18846// getting updates only after the object has changed since the last
18847// request. Use googleapi.IsNotModified to check whether the response
18848// error from Do is the result of In-None-Match.
18849func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18850	c.ifNoneMatch_ = entityTag
18851	return c
18852}
18853
18854// Context sets the context to be used in this call's Do method. Any
18855// pending HTTP request will be aborted if the provided context is
18856// canceled.
18857func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall {
18858	c.ctx_ = ctx
18859	return c
18860}
18861
18862// Header returns an http.Header that can be modified by the caller to
18863// add HTTP headers to the request.
18864func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Header() http.Header {
18865	if c.header_ == nil {
18866		c.header_ = make(http.Header)
18867	}
18868	return c.header_
18869}
18870
18871func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
18872	reqHeaders := make(http.Header)
18873	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18874	for k, v := range c.header_ {
18875		reqHeaders[k] = v
18876	}
18877	reqHeaders.Set("User-Agent", c.s.userAgent())
18878	if c.ifNoneMatch_ != "" {
18879		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18880	}
18881	var body io.Reader = nil
18882	c.urlParams_.Set("alt", alt)
18883	c.urlParams_.Set("prettyPrint", "false")
18884	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
18885	urls += "?" + c.urlParams_.Encode()
18886	req, err := http.NewRequest("GET", urls, body)
18887	if err != nil {
18888		return nil, err
18889	}
18890	req.Header = reqHeaders
18891	googleapi.Expand(req.URL, map[string]string{
18892		"parent":       c.parent,
18893		"dicomWebPath": c.dicomWebPath,
18894	})
18895	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18896}
18897
18898// Do executes the "healthcare.projects.locations.datasets.dicomStores.searchForStudies" call.
18899func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
18900	gensupport.SetOptions(c.urlParams_, opts...)
18901	return c.doRequest("")
18902	// {
18903	//   "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).",
18904	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
18905	//   "httpMethod": "GET",
18906	//   "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies",
18907	//   "parameterOrder": [
18908	//     "parent",
18909	//     "dicomWebPath"
18910	//   ],
18911	//   "parameters": {
18912	//     "dicomWebPath": {
18913	//       "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.",
18914	//       "location": "path",
18915	//       "pattern": "^studies$",
18916	//       "required": true,
18917	//       "type": "string"
18918	//     },
18919	//     "parent": {
18920	//       "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}`.",
18921	//       "location": "path",
18922	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
18923	//       "required": true,
18924	//       "type": "string"
18925	//     }
18926	//   },
18927	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
18928	//   "response": {
18929	//     "$ref": "HttpBody"
18930	//   },
18931	//   "scopes": [
18932	//     "https://www.googleapis.com/auth/cloud-platform"
18933	//   ]
18934	// }
18935
18936}
18937
18938// method id "healthcare.projects.locations.datasets.dicomStores.setIamPolicy":
18939
18940type ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall struct {
18941	s                   *Service
18942	resource            string
18943	setiampolicyrequest *SetIamPolicyRequest
18944	urlParams_          gensupport.URLParams
18945	ctx_                context.Context
18946	header_             http.Header
18947}
18948
18949// SetIamPolicy: Sets the access control policy on the specified
18950// resource. Replaces any existing policy. Can return `NOT_FOUND`,
18951// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
18952//
18953// - resource: REQUIRED: The resource for which the policy is being
18954//   specified. See the operation documentation for the appropriate
18955//   value for this field.
18956func (r *ProjectsLocationsDatasetsDicomStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18957	c := &ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18958	c.resource = resource
18959	c.setiampolicyrequest = setiampolicyrequest
18960	return c
18961}
18962
18963// Fields allows partial responses to be retrieved. See
18964// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18965// for more information.
18966func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18967	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18968	return c
18969}
18970
18971// Context sets the context to be used in this call's Do method. Any
18972// pending HTTP request will be aborted if the provided context is
18973// canceled.
18974func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall {
18975	c.ctx_ = ctx
18976	return c
18977}
18978
18979// Header returns an http.Header that can be modified by the caller to
18980// add HTTP headers to the request.
18981func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Header() http.Header {
18982	if c.header_ == nil {
18983		c.header_ = make(http.Header)
18984	}
18985	return c.header_
18986}
18987
18988func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
18989	reqHeaders := make(http.Header)
18990	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18991	for k, v := range c.header_ {
18992		reqHeaders[k] = v
18993	}
18994	reqHeaders.Set("User-Agent", c.s.userAgent())
18995	var body io.Reader = nil
18996	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
18997	if err != nil {
18998		return nil, err
18999	}
19000	reqHeaders.Set("Content-Type", "application/json")
19001	c.urlParams_.Set("alt", alt)
19002	c.urlParams_.Set("prettyPrint", "false")
19003	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
19004	urls += "?" + c.urlParams_.Encode()
19005	req, err := http.NewRequest("POST", urls, body)
19006	if err != nil {
19007		return nil, err
19008	}
19009	req.Header = reqHeaders
19010	googleapi.Expand(req.URL, map[string]string{
19011		"resource": c.resource,
19012	})
19013	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19014}
19015
19016// Do executes the "healthcare.projects.locations.datasets.dicomStores.setIamPolicy" call.
19017// Exactly one of *Policy or error will be non-nil. Any non-2xx status
19018// code is an error. Response headers are in either
19019// *Policy.ServerResponse.Header or (if a response was returned at all)
19020// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
19021// check whether the returned error was because http.StatusNotModified
19022// was returned.
19023func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
19024	gensupport.SetOptions(c.urlParams_, opts...)
19025	res, err := c.doRequest("json")
19026	if res != nil && res.StatusCode == http.StatusNotModified {
19027		if res.Body != nil {
19028			res.Body.Close()
19029		}
19030		return nil, &googleapi.Error{
19031			Code:   res.StatusCode,
19032			Header: res.Header,
19033		}
19034	}
19035	if err != nil {
19036		return nil, err
19037	}
19038	defer googleapi.CloseBody(res)
19039	if err := googleapi.CheckResponse(res); err != nil {
19040		return nil, err
19041	}
19042	ret := &Policy{
19043		ServerResponse: googleapi.ServerResponse{
19044			Header:         res.Header,
19045			HTTPStatusCode: res.StatusCode,
19046		},
19047	}
19048	target := &ret
19049	if err := gensupport.DecodeResponse(target, res); err != nil {
19050		return nil, err
19051	}
19052	return ret, nil
19053	// {
19054	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
19055	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy",
19056	//   "httpMethod": "POST",
19057	//   "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy",
19058	//   "parameterOrder": [
19059	//     "resource"
19060	//   ],
19061	//   "parameters": {
19062	//     "resource": {
19063	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
19064	//       "location": "path",
19065	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19066	//       "required": true,
19067	//       "type": "string"
19068	//     }
19069	//   },
19070	//   "path": "v1beta1/{+resource}:setIamPolicy",
19071	//   "request": {
19072	//     "$ref": "SetIamPolicyRequest"
19073	//   },
19074	//   "response": {
19075	//     "$ref": "Policy"
19076	//   },
19077	//   "scopes": [
19078	//     "https://www.googleapis.com/auth/cloud-platform"
19079	//   ]
19080	// }
19081
19082}
19083
19084// method id "healthcare.projects.locations.datasets.dicomStores.storeInstances":
19085
19086type ProjectsLocationsDatasetsDicomStoresStoreInstancesCall struct {
19087	s            *Service
19088	parent       string
19089	dicomWebPath string
19090	body_        io.Reader
19091	urlParams_   gensupport.URLParams
19092	ctx_         context.Context
19093	header_      http.Header
19094}
19095
19096// StoreInstances: StoreInstances stores DICOM instances associated with
19097// study instance unique identifiers (SUID). See Store Transaction
19098// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
19099// For details on the implementation of StoreInstances, see Store
19100// transaction
19101// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
19102// the Cloud Healthcare API conformance statement. For samples that show
19103// how to call StoreInstances, see Storing DICOM data
19104// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
19105//
19106// - dicomWebPath: The path of the StoreInstances DICOMweb request. For
19107//   example, `studies/[{study_uid}]`. Note that the `study_uid` is
19108//   optional.
19109// - parent: The name of the DICOM store that is being accessed. For
19110//   example,
19111//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19112//   /dicomStores/{dicom_store_id}`.
19113func (r *ProjectsLocationsDatasetsDicomStoresService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
19114	c := &ProjectsLocationsDatasetsDicomStoresStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19115	c.parent = parent
19116	c.dicomWebPath = dicomWebPath
19117	c.body_ = body_
19118	return c
19119}
19120
19121// Fields allows partial responses to be retrieved. See
19122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19123// for more information.
19124func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
19125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19126	return c
19127}
19128
19129// Context sets the context to be used in this call's Do method. Any
19130// pending HTTP request will be aborted if the provided context is
19131// canceled.
19132func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall {
19133	c.ctx_ = ctx
19134	return c
19135}
19136
19137// Header returns an http.Header that can be modified by the caller to
19138// add HTTP headers to the request.
19139func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Header() http.Header {
19140	if c.header_ == nil {
19141		c.header_ = make(http.Header)
19142	}
19143	return c.header_
19144}
19145
19146func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
19147	reqHeaders := make(http.Header)
19148	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19149	for k, v := range c.header_ {
19150		reqHeaders[k] = v
19151	}
19152	reqHeaders.Set("User-Agent", c.s.userAgent())
19153	var body io.Reader = nil
19154	body = c.body_
19155	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19156	urls += "?" + c.urlParams_.Encode()
19157	req, err := http.NewRequest("POST", urls, body)
19158	if err != nil {
19159		return nil, err
19160	}
19161	req.Header = reqHeaders
19162	googleapi.Expand(req.URL, map[string]string{
19163		"parent":       c.parent,
19164		"dicomWebPath": c.dicomWebPath,
19165	})
19166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19167}
19168
19169// Do executes the "healthcare.projects.locations.datasets.dicomStores.storeInstances" call.
19170func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19171	gensupport.SetOptions(c.urlParams_, opts...)
19172	return c.doRequest("")
19173	// {
19174	//   "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).",
19175	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
19176	//   "httpMethod": "POST",
19177	//   "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances",
19178	//   "parameterOrder": [
19179	//     "parent",
19180	//     "dicomWebPath"
19181	//   ],
19182	//   "parameters": {
19183	//     "dicomWebPath": {
19184	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
19185	//       "location": "path",
19186	//       "pattern": "^studies$",
19187	//       "required": true,
19188	//       "type": "string"
19189	//     },
19190	//     "parent": {
19191	//       "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}`.",
19192	//       "location": "path",
19193	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19194	//       "required": true,
19195	//       "type": "string"
19196	//     }
19197	//   },
19198	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19199	//   "request": {
19200	//     "$ref": "HttpBody"
19201	//   },
19202	//   "response": {
19203	//     "$ref": "HttpBody"
19204	//   },
19205	//   "scopes": [
19206	//     "https://www.googleapis.com/auth/cloud-platform"
19207	//   ]
19208	// }
19209
19210}
19211
19212// method id "healthcare.projects.locations.datasets.dicomStores.testIamPermissions":
19213
19214type ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall struct {
19215	s                         *Service
19216	resource                  string
19217	testiampermissionsrequest *TestIamPermissionsRequest
19218	urlParams_                gensupport.URLParams
19219	ctx_                      context.Context
19220	header_                   http.Header
19221}
19222
19223// TestIamPermissions: Returns permissions that a caller has on the
19224// specified resource. If the resource does not exist, this will return
19225// an empty set of permissions, not a `NOT_FOUND` error. Note: This
19226// operation is designed to be used for building permission-aware UIs
19227// and command-line tools, not for authorization checking. This
19228// operation may "fail open" without warning.
19229//
19230// - resource: REQUIRED: The resource for which the policy detail is
19231//   being requested. See the operation documentation for the
19232//   appropriate value for this field.
19233func (r *ProjectsLocationsDatasetsDicomStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19234	c := &ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19235	c.resource = resource
19236	c.testiampermissionsrequest = testiampermissionsrequest
19237	return c
19238}
19239
19240// Fields allows partial responses to be retrieved. See
19241// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19242// for more information.
19243func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19244	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19245	return c
19246}
19247
19248// Context sets the context to be used in this call's Do method. Any
19249// pending HTTP request will be aborted if the provided context is
19250// canceled.
19251func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall {
19252	c.ctx_ = ctx
19253	return c
19254}
19255
19256// Header returns an http.Header that can be modified by the caller to
19257// add HTTP headers to the request.
19258func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Header() http.Header {
19259	if c.header_ == nil {
19260		c.header_ = make(http.Header)
19261	}
19262	return c.header_
19263}
19264
19265func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
19266	reqHeaders := make(http.Header)
19267	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19268	for k, v := range c.header_ {
19269		reqHeaders[k] = v
19270	}
19271	reqHeaders.Set("User-Agent", c.s.userAgent())
19272	var body io.Reader = nil
19273	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
19274	if err != nil {
19275		return nil, err
19276	}
19277	reqHeaders.Set("Content-Type", "application/json")
19278	c.urlParams_.Set("alt", alt)
19279	c.urlParams_.Set("prettyPrint", "false")
19280	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
19281	urls += "?" + c.urlParams_.Encode()
19282	req, err := http.NewRequest("POST", urls, body)
19283	if err != nil {
19284		return nil, err
19285	}
19286	req.Header = reqHeaders
19287	googleapi.Expand(req.URL, map[string]string{
19288		"resource": c.resource,
19289	})
19290	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19291}
19292
19293// Do executes the "healthcare.projects.locations.datasets.dicomStores.testIamPermissions" call.
19294// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
19295// Any non-2xx status code is an error. Response headers are in either
19296// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
19297// was returned at all) in error.(*googleapi.Error).Header. Use
19298// googleapi.IsNotModified to check whether the returned error was
19299// because http.StatusNotModified was returned.
19300func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
19301	gensupport.SetOptions(c.urlParams_, opts...)
19302	res, err := c.doRequest("json")
19303	if res != nil && res.StatusCode == http.StatusNotModified {
19304		if res.Body != nil {
19305			res.Body.Close()
19306		}
19307		return nil, &googleapi.Error{
19308			Code:   res.StatusCode,
19309			Header: res.Header,
19310		}
19311	}
19312	if err != nil {
19313		return nil, err
19314	}
19315	defer googleapi.CloseBody(res)
19316	if err := googleapi.CheckResponse(res); err != nil {
19317		return nil, err
19318	}
19319	ret := &TestIamPermissionsResponse{
19320		ServerResponse: googleapi.ServerResponse{
19321			Header:         res.Header,
19322			HTTPStatusCode: res.StatusCode,
19323		},
19324	}
19325	target := &ret
19326	if err := gensupport.DecodeResponse(target, res); err != nil {
19327		return nil, err
19328	}
19329	return ret, nil
19330	// {
19331	//   "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.",
19332	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions",
19333	//   "httpMethod": "POST",
19334	//   "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions",
19335	//   "parameterOrder": [
19336	//     "resource"
19337	//   ],
19338	//   "parameters": {
19339	//     "resource": {
19340	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
19341	//       "location": "path",
19342	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19343	//       "required": true,
19344	//       "type": "string"
19345	//     }
19346	//   },
19347	//   "path": "v1beta1/{+resource}:testIamPermissions",
19348	//   "request": {
19349	//     "$ref": "TestIamPermissionsRequest"
19350	//   },
19351	//   "response": {
19352	//     "$ref": "TestIamPermissionsResponse"
19353	//   },
19354	//   "scopes": [
19355	//     "https://www.googleapis.com/auth/cloud-platform"
19356	//   ]
19357	// }
19358
19359}
19360
19361// method id "healthcare.projects.locations.datasets.dicomStores.studies.delete":
19362
19363type ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall struct {
19364	s            *Service
19365	parent       string
19366	dicomWebPath string
19367	urlParams_   gensupport.URLParams
19368	ctx_         context.Context
19369	header_      http.Header
19370}
19371
19372// Delete: DeleteStudy deletes all instances within the given study
19373// using a long running operation. The method returns an Operation which
19374// will be marked successful when the deletion is complete. Warning:
19375// Instances cannot be inserted into a study that is being deleted by an
19376// operation until the operation completes. For samples that show how to
19377// call DeleteStudy, see Deleting a study, series, or instance
19378// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
19379//
19380// - dicomWebPath: The path of the DeleteStudy request. For example,
19381//   `studies/{study_uid}`.
19382// - parent: .
19383func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19384	c := &ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall{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 *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19394	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19395	return c
19396}
19397
19398// Context sets the context to be used in this call's Do method. Any
19399// pending HTTP request will be aborted if the provided context is
19400// canceled.
19401func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall {
19402	c.ctx_ = ctx
19403	return c
19404}
19405
19406// Header returns an http.Header that can be modified by the caller to
19407// add HTTP headers to the request.
19408func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Header() http.Header {
19409	if c.header_ == nil {
19410		c.header_ = make(http.Header)
19411	}
19412	return c.header_
19413}
19414
19415func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
19416	reqHeaders := make(http.Header)
19417	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19418	for k, v := range c.header_ {
19419		reqHeaders[k] = v
19420	}
19421	reqHeaders.Set("User-Agent", c.s.userAgent())
19422	var body io.Reader = nil
19423	c.urlParams_.Set("alt", alt)
19424	c.urlParams_.Set("prettyPrint", "false")
19425	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19426	urls += "?" + c.urlParams_.Encode()
19427	req, err := http.NewRequest("DELETE", urls, body)
19428	if err != nil {
19429		return nil, err
19430	}
19431	req.Header = reqHeaders
19432	googleapi.Expand(req.URL, map[string]string{
19433		"parent":       c.parent,
19434		"dicomWebPath": c.dicomWebPath,
19435	})
19436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19437}
19438
19439// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.delete" call.
19440// Exactly one of *Operation or error will be non-nil. Any non-2xx
19441// status code is an error. Response headers are in either
19442// *Operation.ServerResponse.Header or (if a response was returned at
19443// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19444// to check whether the returned error was because
19445// http.StatusNotModified was returned.
19446func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
19447	gensupport.SetOptions(c.urlParams_, opts...)
19448	res, err := c.doRequest("json")
19449	if res != nil && res.StatusCode == http.StatusNotModified {
19450		if res.Body != nil {
19451			res.Body.Close()
19452		}
19453		return nil, &googleapi.Error{
19454			Code:   res.StatusCode,
19455			Header: res.Header,
19456		}
19457	}
19458	if err != nil {
19459		return nil, err
19460	}
19461	defer googleapi.CloseBody(res)
19462	if err := googleapi.CheckResponse(res); err != nil {
19463		return nil, err
19464	}
19465	ret := &Operation{
19466		ServerResponse: googleapi.ServerResponse{
19467			Header:         res.Header,
19468			HTTPStatusCode: res.StatusCode,
19469		},
19470	}
19471	target := &ret
19472	if err := gensupport.DecodeResponse(target, res); err != nil {
19473		return nil, err
19474	}
19475	return ret, nil
19476	// {
19477	//   "description": "DeleteStudy deletes all instances within the given study using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a study that is being deleted by an operation until the operation completes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
19478	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19479	//   "httpMethod": "DELETE",
19480	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete",
19481	//   "parameterOrder": [
19482	//     "parent",
19483	//     "dicomWebPath"
19484	//   ],
19485	//   "parameters": {
19486	//     "dicomWebPath": {
19487	//       "description": "The path of the DeleteStudy request. For example, `studies/{study_uid}`.",
19488	//       "location": "path",
19489	//       "pattern": "^studies/[^/]+$",
19490	//       "required": true,
19491	//       "type": "string"
19492	//     },
19493	//     "parent": {
19494	//       "location": "path",
19495	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19496	//       "required": true,
19497	//       "type": "string"
19498	//     }
19499	//   },
19500	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19501	//   "response": {
19502	//     "$ref": "Operation"
19503	//   },
19504	//   "scopes": [
19505	//     "https://www.googleapis.com/auth/cloud-platform"
19506	//   ]
19507	// }
19508
19509}
19510
19511// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata":
19512
19513type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall struct {
19514	s            *Service
19515	parent       string
19516	dicomWebPath string
19517	urlParams_   gensupport.URLParams
19518	ifNoneMatch_ string
19519	ctx_         context.Context
19520	header_      http.Header
19521}
19522
19523// RetrieveMetadata: RetrieveStudyMetadata returns instance associated
19524// with the given study presented as metadata with the bulk data
19525// removed. See RetrieveTransaction
19526// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19527// For details on the implementation of RetrieveStudyMetadata, see
19528// Metadata resources
19529// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
19530// in the Cloud Healthcare API conformance statement. For samples that
19531// show how to call RetrieveStudyMetadata, see Retrieving metadata
19532// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
19533//
19534// - dicomWebPath: The path of the RetrieveStudyMetadata DICOMweb
19535//   request. For example, `studies/{study_uid}/metadata`.
19536// - parent: The name of the DICOM store that is being accessed. For
19537//   example,
19538//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19539//   /dicomStores/{dicom_store_id}`.
19540func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19541	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19542	c.parent = parent
19543	c.dicomWebPath = dicomWebPath
19544	return c
19545}
19546
19547// Fields allows partial responses to be retrieved. See
19548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19549// for more information.
19550func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19552	return c
19553}
19554
19555// IfNoneMatch sets the optional parameter which makes the operation
19556// fail if the object's ETag matches the given value. This is useful for
19557// getting updates only after the object has changed since the last
19558// request. Use googleapi.IsNotModified to check whether the response
19559// error from Do is the result of In-None-Match.
19560func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19561	c.ifNoneMatch_ = entityTag
19562	return c
19563}
19564
19565// Context sets the context to be used in this call's Do method. Any
19566// pending HTTP request will be aborted if the provided context is
19567// canceled.
19568func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall {
19569	c.ctx_ = ctx
19570	return c
19571}
19572
19573// Header returns an http.Header that can be modified by the caller to
19574// add HTTP headers to the request.
19575func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Header() http.Header {
19576	if c.header_ == nil {
19577		c.header_ = make(http.Header)
19578	}
19579	return c.header_
19580}
19581
19582func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
19583	reqHeaders := make(http.Header)
19584	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19585	for k, v := range c.header_ {
19586		reqHeaders[k] = v
19587	}
19588	reqHeaders.Set("User-Agent", c.s.userAgent())
19589	if c.ifNoneMatch_ != "" {
19590		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19591	}
19592	var body io.Reader = nil
19593	c.urlParams_.Set("alt", alt)
19594	c.urlParams_.Set("prettyPrint", "false")
19595	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19596	urls += "?" + c.urlParams_.Encode()
19597	req, err := http.NewRequest("GET", urls, body)
19598	if err != nil {
19599		return nil, err
19600	}
19601	req.Header = reqHeaders
19602	googleapi.Expand(req.URL, map[string]string{
19603		"parent":       c.parent,
19604		"dicomWebPath": c.dicomWebPath,
19605	})
19606	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19607}
19608
19609// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata" call.
19610func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19611	gensupport.SetOptions(c.urlParams_, opts...)
19612	return c.doRequest("")
19613	// {
19614	//   "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).",
19615	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata",
19616	//   "httpMethod": "GET",
19617	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata",
19618	//   "parameterOrder": [
19619	//     "parent",
19620	//     "dicomWebPath"
19621	//   ],
19622	//   "parameters": {
19623	//     "dicomWebPath": {
19624	//       "description": "The path of the RetrieveStudyMetadata DICOMweb request. For example, `studies/{study_uid}/metadata`.",
19625	//       "location": "path",
19626	//       "pattern": "^studies/[^/]+/metadata$",
19627	//       "required": true,
19628	//       "type": "string"
19629	//     },
19630	//     "parent": {
19631	//       "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}`.",
19632	//       "location": "path",
19633	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19634	//       "required": true,
19635	//       "type": "string"
19636	//     }
19637	//   },
19638	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19639	//   "response": {
19640	//     "$ref": "HttpBody"
19641	//   },
19642	//   "scopes": [
19643	//     "https://www.googleapis.com/auth/cloud-platform"
19644	//   ]
19645	// }
19646
19647}
19648
19649// method id "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy":
19650
19651type ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall struct {
19652	s            *Service
19653	parent       string
19654	dicomWebPath string
19655	urlParams_   gensupport.URLParams
19656	ifNoneMatch_ string
19657	ctx_         context.Context
19658	header_      http.Header
19659}
19660
19661// RetrieveStudy: RetrieveStudy returns all instances within the given
19662// study. See RetrieveTransaction
19663// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19664// For details on the implementation of RetrieveStudy, see DICOM
19665// study/series/instances
19666// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
19667// in the Cloud Healthcare API conformance statement. For samples that
19668// show how to call RetrieveStudy, see Retrieving DICOM data
19669// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
19670//
19671// - dicomWebPath: The path of the RetrieveStudy DICOMweb request. For
19672//   example, `studies/{study_uid}`.
19673// - parent: The name of the DICOM store that is being accessed. For
19674//   example,
19675//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19676//   /dicomStores/{dicom_store_id}`.
19677func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) RetrieveStudy(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19678	c := &ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19679	c.parent = parent
19680	c.dicomWebPath = dicomWebPath
19681	return c
19682}
19683
19684// Fields allows partial responses to be retrieved. See
19685// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19686// for more information.
19687func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19688	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19689	return c
19690}
19691
19692// IfNoneMatch sets the optional parameter which makes the operation
19693// fail if the object's ETag matches the given value. This is useful for
19694// getting updates only after the object has changed since the last
19695// request. Use googleapi.IsNotModified to check whether the response
19696// error from Do is the result of In-None-Match.
19697func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19698	c.ifNoneMatch_ = entityTag
19699	return c
19700}
19701
19702// Context sets the context to be used in this call's Do method. Any
19703// pending HTTP request will be aborted if the provided context is
19704// canceled.
19705func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall {
19706	c.ctx_ = ctx
19707	return c
19708}
19709
19710// Header returns an http.Header that can be modified by the caller to
19711// add HTTP headers to the request.
19712func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Header() http.Header {
19713	if c.header_ == nil {
19714		c.header_ = make(http.Header)
19715	}
19716	return c.header_
19717}
19718
19719func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) doRequest(alt string) (*http.Response, error) {
19720	reqHeaders := make(http.Header)
19721	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19722	for k, v := range c.header_ {
19723		reqHeaders[k] = v
19724	}
19725	reqHeaders.Set("User-Agent", c.s.userAgent())
19726	if c.ifNoneMatch_ != "" {
19727		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19728	}
19729	var body io.Reader = nil
19730	c.urlParams_.Set("alt", alt)
19731	c.urlParams_.Set("prettyPrint", "false")
19732	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19733	urls += "?" + c.urlParams_.Encode()
19734	req, err := http.NewRequest("GET", urls, body)
19735	if err != nil {
19736		return nil, err
19737	}
19738	req.Header = reqHeaders
19739	googleapi.Expand(req.URL, map[string]string{
19740		"parent":       c.parent,
19741		"dicomWebPath": c.dicomWebPath,
19742	})
19743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19744}
19745
19746// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy" call.
19747func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19748	gensupport.SetOptions(c.urlParams_, opts...)
19749	return c.doRequest("")
19750	// {
19751	//   "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).",
19752	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
19753	//   "httpMethod": "GET",
19754	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy",
19755	//   "parameterOrder": [
19756	//     "parent",
19757	//     "dicomWebPath"
19758	//   ],
19759	//   "parameters": {
19760	//     "dicomWebPath": {
19761	//       "description": "The path of the RetrieveStudy DICOMweb request. For example, `studies/{study_uid}`.",
19762	//       "location": "path",
19763	//       "pattern": "^studies/[^/]+$",
19764	//       "required": true,
19765	//       "type": "string"
19766	//     },
19767	//     "parent": {
19768	//       "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}`.",
19769	//       "location": "path",
19770	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19771	//       "required": true,
19772	//       "type": "string"
19773	//     }
19774	//   },
19775	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19776	//   "response": {
19777	//     "$ref": "HttpBody"
19778	//   },
19779	//   "scopes": [
19780	//     "https://www.googleapis.com/auth/cloud-platform"
19781	//   ]
19782	// }
19783
19784}
19785
19786// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances":
19787
19788type ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall struct {
19789	s            *Service
19790	parent       string
19791	dicomWebPath string
19792	urlParams_   gensupport.URLParams
19793	ifNoneMatch_ string
19794	ctx_         context.Context
19795	header_      http.Header
19796}
19797
19798// SearchForInstances: SearchForInstances returns a list of matching
19799// instances. See RetrieveTransaction
19800// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19801// For details on the implementation of SearchForInstances, see Search
19802// transaction
19803// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19804// in the Cloud Healthcare API conformance statement. For samples that
19805// show how to call SearchForInstances, see Searching for studies,
19806// series, instances, and frames
19807// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19808//
19809// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
19810//   request. For example, `instances`, `series/{series_uid}/instances`,
19811//   or `studies/{study_uid}/instances`.
19812// - parent: The name of the DICOM store that is being accessed. For
19813//   example,
19814//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19815//   /dicomStores/{dicom_store_id}`.
19816func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19817	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19818	c.parent = parent
19819	c.dicomWebPath = dicomWebPath
19820	return c
19821}
19822
19823// Fields allows partial responses to be retrieved. See
19824// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19825// for more information.
19826func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19827	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19828	return c
19829}
19830
19831// IfNoneMatch sets the optional parameter which makes the operation
19832// fail if the object's ETag matches the given value. This is useful for
19833// getting updates only after the object has changed since the last
19834// request. Use googleapi.IsNotModified to check whether the response
19835// error from Do is the result of In-None-Match.
19836func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19837	c.ifNoneMatch_ = entityTag
19838	return c
19839}
19840
19841// Context sets the context to be used in this call's Do method. Any
19842// pending HTTP request will be aborted if the provided context is
19843// canceled.
19844func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall {
19845	c.ctx_ = ctx
19846	return c
19847}
19848
19849// Header returns an http.Header that can be modified by the caller to
19850// add HTTP headers to the request.
19851func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Header() http.Header {
19852	if c.header_ == nil {
19853		c.header_ = make(http.Header)
19854	}
19855	return c.header_
19856}
19857
19858func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
19859	reqHeaders := make(http.Header)
19860	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19861	for k, v := range c.header_ {
19862		reqHeaders[k] = v
19863	}
19864	reqHeaders.Set("User-Agent", c.s.userAgent())
19865	if c.ifNoneMatch_ != "" {
19866		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19867	}
19868	var body io.Reader = nil
19869	c.urlParams_.Set("alt", alt)
19870	c.urlParams_.Set("prettyPrint", "false")
19871	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
19872	urls += "?" + c.urlParams_.Encode()
19873	req, err := http.NewRequest("GET", urls, body)
19874	if err != nil {
19875		return nil, err
19876	}
19877	req.Header = reqHeaders
19878	googleapi.Expand(req.URL, map[string]string{
19879		"parent":       c.parent,
19880		"dicomWebPath": c.dicomWebPath,
19881	})
19882	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19883}
19884
19885// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances" call.
19886func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
19887	gensupport.SetOptions(c.urlParams_, opts...)
19888	return c.doRequest("")
19889	// {
19890	//   "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).",
19891	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances",
19892	//   "httpMethod": "GET",
19893	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances",
19894	//   "parameterOrder": [
19895	//     "parent",
19896	//     "dicomWebPath"
19897	//   ],
19898	//   "parameters": {
19899	//     "dicomWebPath": {
19900	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
19901	//       "location": "path",
19902	//       "pattern": "^studies/[^/]+/instances$",
19903	//       "required": true,
19904	//       "type": "string"
19905	//     },
19906	//     "parent": {
19907	//       "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}`.",
19908	//       "location": "path",
19909	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
19910	//       "required": true,
19911	//       "type": "string"
19912	//     }
19913	//   },
19914	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
19915	//   "response": {
19916	//     "$ref": "HttpBody"
19917	//   },
19918	//   "scopes": [
19919	//     "https://www.googleapis.com/auth/cloud-platform"
19920	//   ]
19921	// }
19922
19923}
19924
19925// method id "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries":
19926
19927type ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall struct {
19928	s            *Service
19929	parent       string
19930	dicomWebPath string
19931	urlParams_   gensupport.URLParams
19932	ifNoneMatch_ string
19933	ctx_         context.Context
19934	header_      http.Header
19935}
19936
19937// SearchForSeries: SearchForSeries returns a list of matching series.
19938// See RetrieveTransaction
19939// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
19940// For details on the implementation of SearchForSeries, see Search
19941// transaction
19942// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
19943// in the Cloud Healthcare API conformance statement. For samples that
19944// show how to call SearchForSeries, see Searching for studies, series,
19945// instances, and frames
19946// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
19947//
19948// - dicomWebPath: The path of the SearchForSeries DICOMweb request. For
19949//   example, `series` or `studies/{study_uid}/series`.
19950// - parent: The name of the DICOM store that is being accessed. For
19951//   example,
19952//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
19953//   /dicomStores/{dicom_store_id}`.
19954func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) SearchForSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19955	c := &ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19956	c.parent = parent
19957	c.dicomWebPath = dicomWebPath
19958	return c
19959}
19960
19961// Fields allows partial responses to be retrieved. See
19962// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19963// for more information.
19964func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19965	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19966	return c
19967}
19968
19969// IfNoneMatch sets the optional parameter which makes the operation
19970// fail if the object's ETag matches the given value. This is useful for
19971// getting updates only after the object has changed since the last
19972// request. Use googleapi.IsNotModified to check whether the response
19973// error from Do is the result of In-None-Match.
19974func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19975	c.ifNoneMatch_ = entityTag
19976	return c
19977}
19978
19979// Context sets the context to be used in this call's Do method. Any
19980// pending HTTP request will be aborted if the provided context is
19981// canceled.
19982func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall {
19983	c.ctx_ = ctx
19984	return c
19985}
19986
19987// Header returns an http.Header that can be modified by the caller to
19988// add HTTP headers to the request.
19989func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Header() http.Header {
19990	if c.header_ == nil {
19991		c.header_ = make(http.Header)
19992	}
19993	return c.header_
19994}
19995
19996func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
19997	reqHeaders := make(http.Header)
19998	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19999	for k, v := range c.header_ {
20000		reqHeaders[k] = v
20001	}
20002	reqHeaders.Set("User-Agent", c.s.userAgent())
20003	if c.ifNoneMatch_ != "" {
20004		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20005	}
20006	var body io.Reader = nil
20007	c.urlParams_.Set("alt", alt)
20008	c.urlParams_.Set("prettyPrint", "false")
20009	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20010	urls += "?" + c.urlParams_.Encode()
20011	req, err := http.NewRequest("GET", urls, body)
20012	if err != nil {
20013		return nil, err
20014	}
20015	req.Header = reqHeaders
20016	googleapi.Expand(req.URL, map[string]string{
20017		"parent":       c.parent,
20018		"dicomWebPath": c.dicomWebPath,
20019	})
20020	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20021}
20022
20023// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries" call.
20024func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20025	gensupport.SetOptions(c.urlParams_, opts...)
20026	return c.doRequest("")
20027	// {
20028	//   "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).",
20029	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series",
20030	//   "httpMethod": "GET",
20031	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries",
20032	//   "parameterOrder": [
20033	//     "parent",
20034	//     "dicomWebPath"
20035	//   ],
20036	//   "parameters": {
20037	//     "dicomWebPath": {
20038	//       "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or `studies/{study_uid}/series`.",
20039	//       "location": "path",
20040	//       "pattern": "^studies/[^/]+/series$",
20041	//       "required": true,
20042	//       "type": "string"
20043	//     },
20044	//     "parent": {
20045	//       "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}`.",
20046	//       "location": "path",
20047	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20048	//       "required": true,
20049	//       "type": "string"
20050	//     }
20051	//   },
20052	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20053	//   "response": {
20054	//     "$ref": "HttpBody"
20055	//   },
20056	//   "scopes": [
20057	//     "https://www.googleapis.com/auth/cloud-platform"
20058	//   ]
20059	// }
20060
20061}
20062
20063// method id "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances":
20064
20065type ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall struct {
20066	s            *Service
20067	parent       string
20068	dicomWebPath string
20069	body_        io.Reader
20070	urlParams_   gensupport.URLParams
20071	ctx_         context.Context
20072	header_      http.Header
20073}
20074
20075// StoreInstances: StoreInstances stores DICOM instances associated with
20076// study instance unique identifiers (SUID). See Store Transaction
20077// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).
20078// For details on the implementation of StoreInstances, see Store
20079// transaction
20080// (https://cloud.google.com/healthcare/docs/dicom#store_transaction) in
20081// the Cloud Healthcare API conformance statement. For samples that show
20082// how to call StoreInstances, see Storing DICOM data
20083// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
20084//
20085// - dicomWebPath: The path of the StoreInstances DICOMweb request. For
20086//   example, `studies/[{study_uid}]`. Note that the `study_uid` is
20087//   optional.
20088// - parent: The name of the DICOM store that is being accessed. For
20089//   example,
20090//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20091//   /dicomStores/{dicom_store_id}`.
20092func (r *ProjectsLocationsDatasetsDicomStoresStudiesService) StoreInstances(parent string, dicomWebPath string, body_ io.Reader) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
20093	c := &ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20094	c.parent = parent
20095	c.dicomWebPath = dicomWebPath
20096	c.body_ = body_
20097	return c
20098}
20099
20100// Fields allows partial responses to be retrieved. See
20101// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20102// for more information.
20103func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
20104	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20105	return c
20106}
20107
20108// Context sets the context to be used in this call's Do method. Any
20109// pending HTTP request will be aborted if the provided context is
20110// canceled.
20111func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall {
20112	c.ctx_ = ctx
20113	return c
20114}
20115
20116// Header returns an http.Header that can be modified by the caller to
20117// add HTTP headers to the request.
20118func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Header() http.Header {
20119	if c.header_ == nil {
20120		c.header_ = make(http.Header)
20121	}
20122	return c.header_
20123}
20124
20125func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
20126	reqHeaders := make(http.Header)
20127	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20128	for k, v := range c.header_ {
20129		reqHeaders[k] = v
20130	}
20131	reqHeaders.Set("User-Agent", c.s.userAgent())
20132	var body io.Reader = nil
20133	body = c.body_
20134	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20135	urls += "?" + c.urlParams_.Encode()
20136	req, err := http.NewRequest("POST", urls, body)
20137	if err != nil {
20138		return nil, err
20139	}
20140	req.Header = reqHeaders
20141	googleapi.Expand(req.URL, map[string]string{
20142		"parent":       c.parent,
20143		"dicomWebPath": c.dicomWebPath,
20144	})
20145	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20146}
20147
20148// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances" call.
20149func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20150	gensupport.SetOptions(c.urlParams_, opts...)
20151	return c.doRequest("")
20152	// {
20153	//   "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).",
20154	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
20155	//   "httpMethod": "POST",
20156	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances",
20157	//   "parameterOrder": [
20158	//     "parent",
20159	//     "dicomWebPath"
20160	//   ],
20161	//   "parameters": {
20162	//     "dicomWebPath": {
20163	//       "description": "The path of the StoreInstances DICOMweb request. For example, `studies/[{study_uid}]`. Note that the `study_uid` is optional.",
20164	//       "location": "path",
20165	//       "pattern": "^studies/[^/]+$",
20166	//       "required": true,
20167	//       "type": "string"
20168	//     },
20169	//     "parent": {
20170	//       "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}`.",
20171	//       "location": "path",
20172	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20173	//       "required": true,
20174	//       "type": "string"
20175	//     }
20176	//   },
20177	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20178	//   "request": {
20179	//     "$ref": "HttpBody"
20180	//   },
20181	//   "response": {
20182	//     "$ref": "HttpBody"
20183	//   },
20184	//   "scopes": [
20185	//     "https://www.googleapis.com/auth/cloud-platform"
20186	//   ]
20187	// }
20188
20189}
20190
20191// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.delete":
20192
20193type ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall struct {
20194	s            *Service
20195	parent       string
20196	dicomWebPath string
20197	urlParams_   gensupport.URLParams
20198	ctx_         context.Context
20199	header_      http.Header
20200}
20201
20202// Delete: DeleteSeries deletes all instances within the given study and
20203// series using a long running operation. The method returns an
20204// Operation which will be marked successful when the deletion is
20205// complete. Warning: Instances cannot be inserted into a series that is
20206// being deleted by an operation until the operation completes. For
20207// samples that show how to call DeleteSeries, see Deleting a study,
20208// series, or instance
20209// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20210//
20211// - dicomWebPath: The path of the DeleteSeries request. For example,
20212//   `studies/{study_uid}/series/{series_uid}`.
20213// - parent: The name of the DICOM store that is being accessed. For
20214//   example,
20215//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20216//   /dicomStores/{dicom_store_id}`.
20217func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20218	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20219	c.parent = parent
20220	c.dicomWebPath = dicomWebPath
20221	return c
20222}
20223
20224// Fields allows partial responses to be retrieved. See
20225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20226// for more information.
20227func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20229	return c
20230}
20231
20232// Context sets the context to be used in this call's Do method. Any
20233// pending HTTP request will be aborted if the provided context is
20234// canceled.
20235func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall {
20236	c.ctx_ = ctx
20237	return c
20238}
20239
20240// Header returns an http.Header that can be modified by the caller to
20241// add HTTP headers to the request.
20242func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Header() http.Header {
20243	if c.header_ == nil {
20244		c.header_ = make(http.Header)
20245	}
20246	return c.header_
20247}
20248
20249func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
20250	reqHeaders := make(http.Header)
20251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20252	for k, v := range c.header_ {
20253		reqHeaders[k] = v
20254	}
20255	reqHeaders.Set("User-Agent", c.s.userAgent())
20256	var body io.Reader = nil
20257	c.urlParams_.Set("alt", alt)
20258	c.urlParams_.Set("prettyPrint", "false")
20259	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20260	urls += "?" + c.urlParams_.Encode()
20261	req, err := http.NewRequest("DELETE", urls, body)
20262	if err != nil {
20263		return nil, err
20264	}
20265	req.Header = reqHeaders
20266	googleapi.Expand(req.URL, map[string]string{
20267		"parent":       c.parent,
20268		"dicomWebPath": c.dicomWebPath,
20269	})
20270	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20271}
20272
20273// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.delete" call.
20274// Exactly one of *Operation or error will be non-nil. Any non-2xx
20275// status code is an error. Response headers are in either
20276// *Operation.ServerResponse.Header or (if a response was returned at
20277// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20278// to check whether the returned error was because
20279// http.StatusNotModified was returned.
20280func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
20281	gensupport.SetOptions(c.urlParams_, opts...)
20282	res, err := c.doRequest("json")
20283	if res != nil && res.StatusCode == http.StatusNotModified {
20284		if res.Body != nil {
20285			res.Body.Close()
20286		}
20287		return nil, &googleapi.Error{
20288			Code:   res.StatusCode,
20289			Header: res.Header,
20290		}
20291	}
20292	if err != nil {
20293		return nil, err
20294	}
20295	defer googleapi.CloseBody(res)
20296	if err := googleapi.CheckResponse(res); err != nil {
20297		return nil, err
20298	}
20299	ret := &Operation{
20300		ServerResponse: googleapi.ServerResponse{
20301			Header:         res.Header,
20302			HTTPStatusCode: res.StatusCode,
20303		},
20304	}
20305	target := &ret
20306	if err := gensupport.DecodeResponse(target, res); err != nil {
20307		return nil, err
20308	}
20309	return ret, nil
20310	// {
20311	//   "description": "DeleteSeries deletes all instances within the given study and series using a long running operation. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a series that is being deleted by an operation until the operation completes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).",
20312	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20313	//   "httpMethod": "DELETE",
20314	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete",
20315	//   "parameterOrder": [
20316	//     "parent",
20317	//     "dicomWebPath"
20318	//   ],
20319	//   "parameters": {
20320	//     "dicomWebPath": {
20321	//       "description": "The path of the DeleteSeries request. For example, `studies/{study_uid}/series/{series_uid}`.",
20322	//       "location": "path",
20323	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20324	//       "required": true,
20325	//       "type": "string"
20326	//     },
20327	//     "parent": {
20328	//       "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}`.",
20329	//       "location": "path",
20330	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20331	//       "required": true,
20332	//       "type": "string"
20333	//     }
20334	//   },
20335	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20336	//   "response": {
20337	//     "$ref": "Operation"
20338	//   },
20339	//   "scopes": [
20340	//     "https://www.googleapis.com/auth/cloud-platform"
20341	//   ]
20342	// }
20343
20344}
20345
20346// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata":
20347
20348type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall struct {
20349	s            *Service
20350	parent       string
20351	dicomWebPath string
20352	urlParams_   gensupport.URLParams
20353	ifNoneMatch_ string
20354	ctx_         context.Context
20355	header_      http.Header
20356}
20357
20358// RetrieveMetadata: RetrieveSeriesMetadata returns instance associated
20359// with the given study and series, presented as metadata with the bulk
20360// data removed. See RetrieveTransaction
20361// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20362// For details on the implementation of RetrieveSeriesMetadata, see
20363// Metadata resources
20364// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
20365// in the Cloud Healthcare API conformance statement. For samples that
20366// show how to call RetrieveSeriesMetadata, see Retrieving metadata
20367// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
20368//
20369// - dicomWebPath: The path of the RetrieveSeriesMetadata DICOMweb
20370//   request. For example,
20371//   `studies/{study_uid}/series/{series_uid}/metadata`.
20372// - parent: The name of the DICOM store that is being accessed. For
20373//   example,
20374//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20375//   /dicomStores/{dicom_store_id}`.
20376func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20377	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20378	c.parent = parent
20379	c.dicomWebPath = dicomWebPath
20380	return c
20381}
20382
20383// Fields allows partial responses to be retrieved. See
20384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20385// for more information.
20386func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20388	return c
20389}
20390
20391// IfNoneMatch sets the optional parameter which makes the operation
20392// fail if the object's ETag matches the given value. This is useful for
20393// getting updates only after the object has changed since the last
20394// request. Use googleapi.IsNotModified to check whether the response
20395// error from Do is the result of In-None-Match.
20396func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20397	c.ifNoneMatch_ = entityTag
20398	return c
20399}
20400
20401// Context sets the context to be used in this call's Do method. Any
20402// pending HTTP request will be aborted if the provided context is
20403// canceled.
20404func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall {
20405	c.ctx_ = ctx
20406	return c
20407}
20408
20409// Header returns an http.Header that can be modified by the caller to
20410// add HTTP headers to the request.
20411func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Header() http.Header {
20412	if c.header_ == nil {
20413		c.header_ = make(http.Header)
20414	}
20415	return c.header_
20416}
20417
20418func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
20419	reqHeaders := make(http.Header)
20420	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20421	for k, v := range c.header_ {
20422		reqHeaders[k] = v
20423	}
20424	reqHeaders.Set("User-Agent", c.s.userAgent())
20425	if c.ifNoneMatch_ != "" {
20426		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20427	}
20428	var body io.Reader = nil
20429	c.urlParams_.Set("alt", alt)
20430	c.urlParams_.Set("prettyPrint", "false")
20431	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20432	urls += "?" + c.urlParams_.Encode()
20433	req, err := http.NewRequest("GET", urls, body)
20434	if err != nil {
20435		return nil, err
20436	}
20437	req.Header = reqHeaders
20438	googleapi.Expand(req.URL, map[string]string{
20439		"parent":       c.parent,
20440		"dicomWebPath": c.dicomWebPath,
20441	})
20442	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20443}
20444
20445// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata" call.
20446func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20447	gensupport.SetOptions(c.urlParams_, opts...)
20448	return c.doRequest("")
20449	// {
20450	//   "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).",
20451	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata",
20452	//   "httpMethod": "GET",
20453	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata",
20454	//   "parameterOrder": [
20455	//     "parent",
20456	//     "dicomWebPath"
20457	//   ],
20458	//   "parameters": {
20459	//     "dicomWebPath": {
20460	//       "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.",
20461	//       "location": "path",
20462	//       "pattern": "^studies/[^/]+/series/[^/]+/metadata$",
20463	//       "required": true,
20464	//       "type": "string"
20465	//     },
20466	//     "parent": {
20467	//       "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}`.",
20468	//       "location": "path",
20469	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20470	//       "required": true,
20471	//       "type": "string"
20472	//     }
20473	//   },
20474	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20475	//   "response": {
20476	//     "$ref": "HttpBody"
20477	//   },
20478	//   "scopes": [
20479	//     "https://www.googleapis.com/auth/cloud-platform"
20480	//   ]
20481	// }
20482
20483}
20484
20485// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries":
20486
20487type ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall struct {
20488	s            *Service
20489	parent       string
20490	dicomWebPath string
20491	urlParams_   gensupport.URLParams
20492	ifNoneMatch_ string
20493	ctx_         context.Context
20494	header_      http.Header
20495}
20496
20497// RetrieveSeries: RetrieveSeries returns all instances within the given
20498// study and series. See RetrieveTransaction
20499// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20500// For details on the implementation of RetrieveSeries, see DICOM
20501// study/series/instances
20502// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20503// in the Cloud Healthcare API conformance statement. For samples that
20504// show how to call RetrieveSeries, see Retrieving DICOM data
20505// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
20506//
20507// - dicomWebPath: The path of the RetrieveSeries DICOMweb request. For
20508//   example, `studies/{study_uid}/series/{series_uid}`.
20509// - parent: The name of the DICOM store that is being accessed. For
20510//   example,
20511//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20512//   /dicomStores/{dicom_store_id}`.
20513func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) RetrieveSeries(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20514	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20515	c.parent = parent
20516	c.dicomWebPath = dicomWebPath
20517	return c
20518}
20519
20520// Fields allows partial responses to be retrieved. See
20521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20522// for more information.
20523func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20525	return c
20526}
20527
20528// IfNoneMatch sets the optional parameter which makes the operation
20529// fail if the object's ETag matches the given value. This is useful for
20530// getting updates only after the object has changed since the last
20531// request. Use googleapi.IsNotModified to check whether the response
20532// error from Do is the result of In-None-Match.
20533func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20534	c.ifNoneMatch_ = entityTag
20535	return c
20536}
20537
20538// Context sets the context to be used in this call's Do method. Any
20539// pending HTTP request will be aborted if the provided context is
20540// canceled.
20541func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall {
20542	c.ctx_ = ctx
20543	return c
20544}
20545
20546// Header returns an http.Header that can be modified by the caller to
20547// add HTTP headers to the request.
20548func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Header() http.Header {
20549	if c.header_ == nil {
20550		c.header_ = make(http.Header)
20551	}
20552	return c.header_
20553}
20554
20555func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
20556	reqHeaders := make(http.Header)
20557	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20558	for k, v := range c.header_ {
20559		reqHeaders[k] = v
20560	}
20561	reqHeaders.Set("User-Agent", c.s.userAgent())
20562	if c.ifNoneMatch_ != "" {
20563		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20564	}
20565	var body io.Reader = nil
20566	c.urlParams_.Set("alt", alt)
20567	c.urlParams_.Set("prettyPrint", "false")
20568	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20569	urls += "?" + c.urlParams_.Encode()
20570	req, err := http.NewRequest("GET", urls, body)
20571	if err != nil {
20572		return nil, err
20573	}
20574	req.Header = reqHeaders
20575	googleapi.Expand(req.URL, map[string]string{
20576		"parent":       c.parent,
20577		"dicomWebPath": c.dicomWebPath,
20578	})
20579	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20580}
20581
20582// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries" call.
20583func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20584	gensupport.SetOptions(c.urlParams_, opts...)
20585	return c.doRequest("")
20586	// {
20587	//   "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).",
20588	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
20589	//   "httpMethod": "GET",
20590	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries",
20591	//   "parameterOrder": [
20592	//     "parent",
20593	//     "dicomWebPath"
20594	//   ],
20595	//   "parameters": {
20596	//     "dicomWebPath": {
20597	//       "description": "The path of the RetrieveSeries DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}`.",
20598	//       "location": "path",
20599	//       "pattern": "^studies/[^/]+/series/[^/]+$",
20600	//       "required": true,
20601	//       "type": "string"
20602	//     },
20603	//     "parent": {
20604	//       "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}`.",
20605	//       "location": "path",
20606	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20607	//       "required": true,
20608	//       "type": "string"
20609	//     }
20610	//   },
20611	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20612	//   "response": {
20613	//     "$ref": "HttpBody"
20614	//   },
20615	//   "scopes": [
20616	//     "https://www.googleapis.com/auth/cloud-platform"
20617	//   ]
20618	// }
20619
20620}
20621
20622// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances":
20623
20624type ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall struct {
20625	s            *Service
20626	parent       string
20627	dicomWebPath string
20628	urlParams_   gensupport.URLParams
20629	ifNoneMatch_ string
20630	ctx_         context.Context
20631	header_      http.Header
20632}
20633
20634// SearchForInstances: SearchForInstances returns a list of matching
20635// instances. See RetrieveTransaction
20636// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20637// For details on the implementation of SearchForInstances, see Search
20638// transaction
20639// (https://cloud.google.com/healthcare/docs/dicom#search_transaction)
20640// in the Cloud Healthcare API conformance statement. For samples that
20641// show how to call SearchForInstances, see Searching for studies,
20642// series, instances, and frames
20643// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
20644//
20645// - dicomWebPath: The path of the SearchForInstancesRequest DICOMweb
20646//   request. For example, `instances`, `series/{series_uid}/instances`,
20647//   or `studies/{study_uid}/instances`.
20648// - parent: The name of the DICOM store that is being accessed. For
20649//   example,
20650//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20651//   /dicomStores/{dicom_store_id}`.
20652func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService) SearchForInstances(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20653	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20654	c.parent = parent
20655	c.dicomWebPath = dicomWebPath
20656	return c
20657}
20658
20659// Fields allows partial responses to be retrieved. See
20660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20661// for more information.
20662func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20664	return c
20665}
20666
20667// IfNoneMatch sets the optional parameter which makes the operation
20668// fail if the object's ETag matches the given value. This is useful for
20669// getting updates only after the object has changed since the last
20670// request. Use googleapi.IsNotModified to check whether the response
20671// error from Do is the result of In-None-Match.
20672func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20673	c.ifNoneMatch_ = entityTag
20674	return c
20675}
20676
20677// Context sets the context to be used in this call's Do method. Any
20678// pending HTTP request will be aborted if the provided context is
20679// canceled.
20680func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall {
20681	c.ctx_ = ctx
20682	return c
20683}
20684
20685// Header returns an http.Header that can be modified by the caller to
20686// add HTTP headers to the request.
20687func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Header() http.Header {
20688	if c.header_ == nil {
20689		c.header_ = make(http.Header)
20690	}
20691	return c.header_
20692}
20693
20694func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
20695	reqHeaders := make(http.Header)
20696	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20697	for k, v := range c.header_ {
20698		reqHeaders[k] = v
20699	}
20700	reqHeaders.Set("User-Agent", c.s.userAgent())
20701	if c.ifNoneMatch_ != "" {
20702		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20703	}
20704	var body io.Reader = nil
20705	c.urlParams_.Set("alt", alt)
20706	c.urlParams_.Set("prettyPrint", "false")
20707	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20708	urls += "?" + c.urlParams_.Encode()
20709	req, err := http.NewRequest("GET", urls, body)
20710	if err != nil {
20711		return nil, err
20712	}
20713	req.Header = reqHeaders
20714	googleapi.Expand(req.URL, map[string]string{
20715		"parent":       c.parent,
20716		"dicomWebPath": c.dicomWebPath,
20717	})
20718	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20719}
20720
20721// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances" call.
20722func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
20723	gensupport.SetOptions(c.urlParams_, opts...)
20724	return c.doRequest("")
20725	// {
20726	//   "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).",
20727	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances",
20728	//   "httpMethod": "GET",
20729	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances",
20730	//   "parameterOrder": [
20731	//     "parent",
20732	//     "dicomWebPath"
20733	//   ],
20734	//   "parameters": {
20735	//     "dicomWebPath": {
20736	//       "description": "The path of the SearchForInstancesRequest DICOMweb request. For example, `instances`, `series/{series_uid}/instances`, or `studies/{study_uid}/instances`.",
20737	//       "location": "path",
20738	//       "pattern": "^studies/[^/]+/series/[^/]+/instances$",
20739	//       "required": true,
20740	//       "type": "string"
20741	//     },
20742	//     "parent": {
20743	//       "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}`.",
20744	//       "location": "path",
20745	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20746	//       "required": true,
20747	//       "type": "string"
20748	//     }
20749	//   },
20750	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20751	//   "response": {
20752	//     "$ref": "HttpBody"
20753	//   },
20754	//   "scopes": [
20755	//     "https://www.googleapis.com/auth/cloud-platform"
20756	//   ]
20757	// }
20758
20759}
20760
20761// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete":
20762
20763type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall struct {
20764	s            *Service
20765	parent       string
20766	dicomWebPath string
20767	urlParams_   gensupport.URLParams
20768	ctx_         context.Context
20769	header_      http.Header
20770}
20771
20772// Delete: DeleteInstance deletes an instance associated with the given
20773// study, series, and SOP Instance UID. Delete requests are equivalent
20774// to the GET requests specified in the Retrieve transaction. Study and
20775// series search results can take a few seconds to be updated after an
20776// instance is deleted using DeleteInstance. For samples that show how
20777// to call DeleteInstance, see Deleting a study, series, or instance
20778// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
20779//
20780// - dicomWebPath: The path of the DeleteInstance request. For example,
20781//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20782// - parent: The name of the DICOM store that is being accessed. For
20783//   example,
20784//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20785//   /dicomStores/{dicom_store_id}`.
20786func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) Delete(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20787	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20788	c.parent = parent
20789	c.dicomWebPath = dicomWebPath
20790	return c
20791}
20792
20793// Fields allows partial responses to be retrieved. See
20794// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20795// for more information.
20796func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20797	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20798	return c
20799}
20800
20801// Context sets the context to be used in this call's Do method. Any
20802// pending HTTP request will be aborted if the provided context is
20803// canceled.
20804func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall {
20805	c.ctx_ = ctx
20806	return c
20807}
20808
20809// Header returns an http.Header that can be modified by the caller to
20810// add HTTP headers to the request.
20811func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Header() http.Header {
20812	if c.header_ == nil {
20813		c.header_ = make(http.Header)
20814	}
20815	return c.header_
20816}
20817
20818func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
20819	reqHeaders := make(http.Header)
20820	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20821	for k, v := range c.header_ {
20822		reqHeaders[k] = v
20823	}
20824	reqHeaders.Set("User-Agent", c.s.userAgent())
20825	var body io.Reader = nil
20826	c.urlParams_.Set("alt", alt)
20827	c.urlParams_.Set("prettyPrint", "false")
20828	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
20829	urls += "?" + c.urlParams_.Encode()
20830	req, err := http.NewRequest("DELETE", urls, body)
20831	if err != nil {
20832		return nil, err
20833	}
20834	req.Header = reqHeaders
20835	googleapi.Expand(req.URL, map[string]string{
20836		"parent":       c.parent,
20837		"dicomWebPath": c.dicomWebPath,
20838	})
20839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20840}
20841
20842// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete" call.
20843// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20844// code is an error. Response headers are in either
20845// *Empty.ServerResponse.Header or (if a response was returned at all)
20846// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20847// check whether the returned error was because http.StatusNotModified
20848// was returned.
20849func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20850	gensupport.SetOptions(c.urlParams_, opts...)
20851	res, err := c.doRequest("json")
20852	if res != nil && res.StatusCode == http.StatusNotModified {
20853		if res.Body != nil {
20854			res.Body.Close()
20855		}
20856		return nil, &googleapi.Error{
20857			Code:   res.StatusCode,
20858			Header: res.Header,
20859		}
20860	}
20861	if err != nil {
20862		return nil, err
20863	}
20864	defer googleapi.CloseBody(res)
20865	if err := googleapi.CheckResponse(res); err != nil {
20866		return nil, err
20867	}
20868	ret := &Empty{
20869		ServerResponse: googleapi.ServerResponse{
20870			Header:         res.Header,
20871			HTTPStatusCode: res.StatusCode,
20872		},
20873	}
20874	target := &ret
20875	if err := gensupport.DecodeResponse(target, res); err != nil {
20876		return nil, err
20877	}
20878	return ret, nil
20879	// {
20880	//   "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).",
20881	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
20882	//   "httpMethod": "DELETE",
20883	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete",
20884	//   "parameterOrder": [
20885	//     "parent",
20886	//     "dicomWebPath"
20887	//   ],
20888	//   "parameters": {
20889	//     "dicomWebPath": {
20890	//       "description": "The path of the DeleteInstance request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
20891	//       "location": "path",
20892	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
20893	//       "required": true,
20894	//       "type": "string"
20895	//     },
20896	//     "parent": {
20897	//       "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}`.",
20898	//       "location": "path",
20899	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
20900	//       "required": true,
20901	//       "type": "string"
20902	//     }
20903	//   },
20904	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
20905	//   "response": {
20906	//     "$ref": "Empty"
20907	//   },
20908	//   "scopes": [
20909	//     "https://www.googleapis.com/auth/cloud-platform"
20910	//   ]
20911	// }
20912
20913}
20914
20915// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance":
20916
20917type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall struct {
20918	s            *Service
20919	parent       string
20920	dicomWebPath string
20921	urlParams_   gensupport.URLParams
20922	ifNoneMatch_ string
20923	ctx_         context.Context
20924	header_      http.Header
20925}
20926
20927// RetrieveInstance: RetrieveInstance returns instance associated with
20928// the given study, series, and SOP Instance UID. See
20929// RetrieveTransaction
20930// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
20931// For details on the implementation of RetrieveInstance, see DICOM
20932// study/series/instances
20933// (https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances)
20934// and DICOM instances
20935// (https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in
20936// the Cloud Healthcare API conformance statement. For samples that show
20937// how to call RetrieveInstance, see Retrieving an instance
20938// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).
20939//
20940// - dicomWebPath: The path of the RetrieveInstance DICOMweb request.
20941//   For example,
20942//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
20943// - parent: The name of the DICOM store that is being accessed. For
20944//   example,
20945//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
20946//   /dicomStores/{dicom_store_id}`.
20947func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveInstance(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20948	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20949	c.parent = parent
20950	c.dicomWebPath = dicomWebPath
20951	return c
20952}
20953
20954// Fields allows partial responses to be retrieved. See
20955// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20956// for more information.
20957func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20958	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20959	return c
20960}
20961
20962// IfNoneMatch sets the optional parameter which makes the operation
20963// fail if the object's ETag matches the given value. This is useful for
20964// getting updates only after the object has changed since the last
20965// request. Use googleapi.IsNotModified to check whether the response
20966// error from Do is the result of In-None-Match.
20967func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20968	c.ifNoneMatch_ = entityTag
20969	return c
20970}
20971
20972// Context sets the context to be used in this call's Do method. Any
20973// pending HTTP request will be aborted if the provided context is
20974// canceled.
20975func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall {
20976	c.ctx_ = ctx
20977	return c
20978}
20979
20980// Header returns an http.Header that can be modified by the caller to
20981// add HTTP headers to the request.
20982func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Header() http.Header {
20983	if c.header_ == nil {
20984		c.header_ = make(http.Header)
20985	}
20986	return c.header_
20987}
20988
20989func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
20990	reqHeaders := make(http.Header)
20991	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20992	for k, v := range c.header_ {
20993		reqHeaders[k] = v
20994	}
20995	reqHeaders.Set("User-Agent", c.s.userAgent())
20996	if c.ifNoneMatch_ != "" {
20997		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20998	}
20999	var body io.Reader = nil
21000	c.urlParams_.Set("alt", alt)
21001	c.urlParams_.Set("prettyPrint", "false")
21002	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21003	urls += "?" + c.urlParams_.Encode()
21004	req, err := http.NewRequest("GET", urls, body)
21005	if err != nil {
21006		return nil, err
21007	}
21008	req.Header = reqHeaders
21009	googleapi.Expand(req.URL, map[string]string{
21010		"parent":       c.parent,
21011		"dicomWebPath": c.dicomWebPath,
21012	})
21013	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21014}
21015
21016// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance" call.
21017func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21018	gensupport.SetOptions(c.urlParams_, opts...)
21019	return c.doRequest("")
21020	// {
21021	//   "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).",
21022	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
21023	//   "httpMethod": "GET",
21024	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance",
21025	//   "parameterOrder": [
21026	//     "parent",
21027	//     "dicomWebPath"
21028	//   ],
21029	//   "parameters": {
21030	//     "dicomWebPath": {
21031	//       "description": "The path of the RetrieveInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
21032	//       "location": "path",
21033	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
21034	//       "required": true,
21035	//       "type": "string"
21036	//     },
21037	//     "parent": {
21038	//       "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}`.",
21039	//       "location": "path",
21040	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21041	//       "required": true,
21042	//       "type": "string"
21043	//     }
21044	//   },
21045	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21046	//   "response": {
21047	//     "$ref": "HttpBody"
21048	//   },
21049	//   "scopes": [
21050	//     "https://www.googleapis.com/auth/cloud-platform"
21051	//   ]
21052	// }
21053
21054}
21055
21056// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata":
21057
21058type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall struct {
21059	s            *Service
21060	parent       string
21061	dicomWebPath string
21062	urlParams_   gensupport.URLParams
21063	ifNoneMatch_ string
21064	ctx_         context.Context
21065	header_      http.Header
21066}
21067
21068// RetrieveMetadata: RetrieveInstanceMetadata returns instance
21069// associated with the given study, series, and SOP Instance UID
21070// presented as metadata with the bulk data removed. See
21071// RetrieveTransaction
21072// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21073// For details on the implementation of RetrieveInstanceMetadata, see
21074// Metadata resources
21075// (https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
21076// in the Cloud Healthcare API conformance statement. For samples that
21077// show how to call RetrieveInstanceMetadata, see Retrieving metadata
21078// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
21079//
21080// - dicomWebPath: The path of the RetrieveInstanceMetadata DICOMweb
21081//   request. For example,
21082//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/me
21083//   tadata`.
21084// - parent: The name of the DICOM store that is being accessed. For
21085//   example,
21086//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21087//   /dicomStores/{dicom_store_id}`.
21088func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveMetadata(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
21089	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21090	c.parent = parent
21091	c.dicomWebPath = dicomWebPath
21092	return c
21093}
21094
21095// Fields allows partial responses to be retrieved. See
21096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21097// for more information.
21098func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
21099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21100	return c
21101}
21102
21103// IfNoneMatch sets the optional parameter which makes the operation
21104// fail if the object's ETag matches the given value. This is useful for
21105// getting updates only after the object has changed since the last
21106// request. Use googleapi.IsNotModified to check whether the response
21107// error from Do is the result of In-None-Match.
21108func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
21109	c.ifNoneMatch_ = entityTag
21110	return c
21111}
21112
21113// Context sets the context to be used in this call's Do method. Any
21114// pending HTTP request will be aborted if the provided context is
21115// canceled.
21116func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall {
21117	c.ctx_ = ctx
21118	return c
21119}
21120
21121// Header returns an http.Header that can be modified by the caller to
21122// add HTTP headers to the request.
21123func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Header() http.Header {
21124	if c.header_ == nil {
21125		c.header_ = make(http.Header)
21126	}
21127	return c.header_
21128}
21129
21130func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
21131	reqHeaders := make(http.Header)
21132	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21133	for k, v := range c.header_ {
21134		reqHeaders[k] = v
21135	}
21136	reqHeaders.Set("User-Agent", c.s.userAgent())
21137	if c.ifNoneMatch_ != "" {
21138		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21139	}
21140	var body io.Reader = nil
21141	c.urlParams_.Set("alt", alt)
21142	c.urlParams_.Set("prettyPrint", "false")
21143	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21144	urls += "?" + c.urlParams_.Encode()
21145	req, err := http.NewRequest("GET", urls, body)
21146	if err != nil {
21147		return nil, err
21148	}
21149	req.Header = reqHeaders
21150	googleapi.Expand(req.URL, map[string]string{
21151		"parent":       c.parent,
21152		"dicomWebPath": c.dicomWebPath,
21153	})
21154	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21155}
21156
21157// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata" call.
21158func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21159	gensupport.SetOptions(c.urlParams_, opts...)
21160	return c.doRequest("")
21161	// {
21162	//   "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).",
21163	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata",
21164	//   "httpMethod": "GET",
21165	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata",
21166	//   "parameterOrder": [
21167	//     "parent",
21168	//     "dicomWebPath"
21169	//   ],
21170	//   "parameters": {
21171	//     "dicomWebPath": {
21172	//       "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.",
21173	//       "location": "path",
21174	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$",
21175	//       "required": true,
21176	//       "type": "string"
21177	//     },
21178	//     "parent": {
21179	//       "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}`.",
21180	//       "location": "path",
21181	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21182	//       "required": true,
21183	//       "type": "string"
21184	//     }
21185	//   },
21186	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21187	//   "response": {
21188	//     "$ref": "HttpBody"
21189	//   },
21190	//   "scopes": [
21191	//     "https://www.googleapis.com/auth/cloud-platform"
21192	//   ]
21193	// }
21194
21195}
21196
21197// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered":
21198
21199type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall struct {
21200	s            *Service
21201	parent       string
21202	dicomWebPath string
21203	urlParams_   gensupport.URLParams
21204	ifNoneMatch_ string
21205	ctx_         context.Context
21206	header_      http.Header
21207}
21208
21209// RetrieveRendered: RetrieveRenderedInstance returns instance
21210// associated with the given study, series, and SOP Instance UID in an
21211// acceptable Rendered Media Type. See RetrieveTransaction
21212// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21213// For details on the implementation of RetrieveRenderedInstance, see
21214// Rendered resources
21215// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21216// in the Cloud Healthcare API conformance statement. For samples that
21217// show how to call RetrieveRenderedInstance, see Retrieving consumer
21218// image formats
21219// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21220//
21221// - dicomWebPath: The path of the RetrieveRenderedInstance DICOMweb
21222//   request. For example,
21223//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/re
21224//   ndered`.
21225// - parent: The name of the DICOM store that is being accessed. For
21226//   example,
21227//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21228//   /dicomStores/{dicom_store_id}`.
21229func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21230	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21231	c.parent = parent
21232	c.dicomWebPath = dicomWebPath
21233	return c
21234}
21235
21236// Fields allows partial responses to be retrieved. See
21237// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21238// for more information.
21239func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21240	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21241	return c
21242}
21243
21244// IfNoneMatch sets the optional parameter which makes the operation
21245// fail if the object's ETag matches the given value. This is useful for
21246// getting updates only after the object has changed since the last
21247// request. Use googleapi.IsNotModified to check whether the response
21248// error from Do is the result of In-None-Match.
21249func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21250	c.ifNoneMatch_ = entityTag
21251	return c
21252}
21253
21254// Context sets the context to be used in this call's Do method. Any
21255// pending HTTP request will be aborted if the provided context is
21256// canceled.
21257func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall {
21258	c.ctx_ = ctx
21259	return c
21260}
21261
21262// Header returns an http.Header that can be modified by the caller to
21263// add HTTP headers to the request.
21264func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Header() http.Header {
21265	if c.header_ == nil {
21266		c.header_ = make(http.Header)
21267	}
21268	return c.header_
21269}
21270
21271func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21272	reqHeaders := make(http.Header)
21273	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21274	for k, v := range c.header_ {
21275		reqHeaders[k] = v
21276	}
21277	reqHeaders.Set("User-Agent", c.s.userAgent())
21278	if c.ifNoneMatch_ != "" {
21279		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21280	}
21281	var body io.Reader = nil
21282	c.urlParams_.Set("alt", alt)
21283	c.urlParams_.Set("prettyPrint", "false")
21284	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21285	urls += "?" + c.urlParams_.Encode()
21286	req, err := http.NewRequest("GET", urls, body)
21287	if err != nil {
21288		return nil, err
21289	}
21290	req.Header = reqHeaders
21291	googleapi.Expand(req.URL, map[string]string{
21292		"parent":       c.parent,
21293		"dicomWebPath": c.dicomWebPath,
21294	})
21295	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21296}
21297
21298// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered" call.
21299func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21300	gensupport.SetOptions(c.urlParams_, opts...)
21301	return c.doRequest("")
21302	// {
21303	//   "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).",
21304	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered",
21305	//   "httpMethod": "GET",
21306	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered",
21307	//   "parameterOrder": [
21308	//     "parent",
21309	//     "dicomWebPath"
21310	//   ],
21311	//   "parameters": {
21312	//     "dicomWebPath": {
21313	//       "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.",
21314	//       "location": "path",
21315	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$",
21316	//       "required": true,
21317	//       "type": "string"
21318	//     },
21319	//     "parent": {
21320	//       "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}`.",
21321	//       "location": "path",
21322	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21323	//       "required": true,
21324	//       "type": "string"
21325	//     }
21326	//   },
21327	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21328	//   "response": {
21329	//     "$ref": "HttpBody"
21330	//   },
21331	//   "scopes": [
21332	//     "https://www.googleapis.com/auth/cloud-platform"
21333	//   ]
21334	// }
21335
21336}
21337
21338// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames":
21339
21340type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall struct {
21341	s            *Service
21342	parent       string
21343	dicomWebPath string
21344	urlParams_   gensupport.URLParams
21345	ifNoneMatch_ string
21346	ctx_         context.Context
21347	header_      http.Header
21348}
21349
21350// RetrieveFrames: RetrieveFrames returns instances associated with the
21351// given study, series, SOP Instance UID and frame numbers. See
21352// RetrieveTransaction
21353// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21354// For details on the implementation of RetrieveFrames, see DICOM frames
21355// (https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the
21356// Cloud Healthcare API conformance statement. For samples that show how
21357// to call RetrieveFrames, see Retrieving DICOM data
21358// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
21359//
21360// - dicomWebPath: The path of the RetrieveFrames DICOMweb request. For
21361//   example,
21362//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21363//   ames/{frame_list}`.
21364// - parent: The name of the DICOM store that is being accessed. For
21365//   example,
21366//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21367//   /dicomStores/{dicom_store_id}`.
21368func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveFrames(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21369	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21370	c.parent = parent
21371	c.dicomWebPath = dicomWebPath
21372	return c
21373}
21374
21375// Fields allows partial responses to be retrieved. See
21376// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21377// for more information.
21378func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21379	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21380	return c
21381}
21382
21383// IfNoneMatch sets the optional parameter which makes the operation
21384// fail if the object's ETag matches the given value. This is useful for
21385// getting updates only after the object has changed since the last
21386// request. Use googleapi.IsNotModified to check whether the response
21387// error from Do is the result of In-None-Match.
21388func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21389	c.ifNoneMatch_ = entityTag
21390	return c
21391}
21392
21393// Context sets the context to be used in this call's Do method. Any
21394// pending HTTP request will be aborted if the provided context is
21395// canceled.
21396func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall {
21397	c.ctx_ = ctx
21398	return c
21399}
21400
21401// Header returns an http.Header that can be modified by the caller to
21402// add HTTP headers to the request.
21403func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Header() http.Header {
21404	if c.header_ == nil {
21405		c.header_ = make(http.Header)
21406	}
21407	return c.header_
21408}
21409
21410func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
21411	reqHeaders := make(http.Header)
21412	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21413	for k, v := range c.header_ {
21414		reqHeaders[k] = v
21415	}
21416	reqHeaders.Set("User-Agent", c.s.userAgent())
21417	if c.ifNoneMatch_ != "" {
21418		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21419	}
21420	var body io.Reader = nil
21421	c.urlParams_.Set("alt", alt)
21422	c.urlParams_.Set("prettyPrint", "false")
21423	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21424	urls += "?" + c.urlParams_.Encode()
21425	req, err := http.NewRequest("GET", urls, body)
21426	if err != nil {
21427		return nil, err
21428	}
21429	req.Header = reqHeaders
21430	googleapi.Expand(req.URL, map[string]string{
21431		"parent":       c.parent,
21432		"dicomWebPath": c.dicomWebPath,
21433	})
21434	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21435}
21436
21437// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames" call.
21438func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21439	gensupport.SetOptions(c.urlParams_, opts...)
21440	return c.doRequest("")
21441	// {
21442	//   "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).",
21443	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}",
21444	//   "httpMethod": "GET",
21445	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames",
21446	//   "parameterOrder": [
21447	//     "parent",
21448	//     "dicomWebPath"
21449	//   ],
21450	//   "parameters": {
21451	//     "dicomWebPath": {
21452	//       "description": "The path of the RetrieveFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.",
21453	//       "location": "path",
21454	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$",
21455	//       "required": true,
21456	//       "type": "string"
21457	//     },
21458	//     "parent": {
21459	//       "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}`.",
21460	//       "location": "path",
21461	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21462	//       "required": true,
21463	//       "type": "string"
21464	//     }
21465	//   },
21466	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21467	//   "response": {
21468	//     "$ref": "HttpBody"
21469	//   },
21470	//   "scopes": [
21471	//     "https://www.googleapis.com/auth/cloud-platform"
21472	//   ]
21473	// }
21474
21475}
21476
21477// method id "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered":
21478
21479type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall struct {
21480	s            *Service
21481	parent       string
21482	dicomWebPath string
21483	urlParams_   gensupport.URLParams
21484	ifNoneMatch_ string
21485	ctx_         context.Context
21486	header_      http.Header
21487}
21488
21489// RetrieveRendered: RetrieveRenderedFrames returns instances associated
21490// with the given study, series, SOP Instance UID and frame numbers in
21491// an acceptable Rendered Media Type. See RetrieveTransaction
21492// (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).
21493// For details on the implementation of RetrieveRenderedFrames, see
21494// Rendered resources
21495// (https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
21496// in the Cloud Healthcare API conformance statement. For samples that
21497// show how to call RetrieveRenderedFrames, see Retrieving consumer
21498// image formats
21499// (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
21500//
21501// - dicomWebPath: The path of the RetrieveRenderedFrames DICOMweb
21502//   request. For example,
21503//   `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/fr
21504//   ames/{frame_list}/rendered`.
21505// - parent: The name of the DICOM store that is being accessed. For
21506//   example,
21507//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21508//   /dicomStores/{dicom_store_id}`.
21509func (r *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService) RetrieveRendered(parent string, dicomWebPath string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21510	c := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21511	c.parent = parent
21512	c.dicomWebPath = dicomWebPath
21513	return c
21514}
21515
21516// Fields allows partial responses to be retrieved. See
21517// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21518// for more information.
21519func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21520	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21521	return c
21522}
21523
21524// IfNoneMatch sets the optional parameter which makes the operation
21525// fail if the object's ETag matches the given value. This is useful for
21526// getting updates only after the object has changed since the last
21527// request. Use googleapi.IsNotModified to check whether the response
21528// error from Do is the result of In-None-Match.
21529func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21530	c.ifNoneMatch_ = entityTag
21531	return c
21532}
21533
21534// Context sets the context to be used in this call's Do method. Any
21535// pending HTTP request will be aborted if the provided context is
21536// canceled.
21537func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall {
21538	c.ctx_ = ctx
21539	return c
21540}
21541
21542// Header returns an http.Header that can be modified by the caller to
21543// add HTTP headers to the request.
21544func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Header() http.Header {
21545	if c.header_ == nil {
21546		c.header_ = make(http.Header)
21547	}
21548	return c.header_
21549}
21550
21551func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
21552	reqHeaders := make(http.Header)
21553	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21554	for k, v := range c.header_ {
21555		reqHeaders[k] = v
21556	}
21557	reqHeaders.Set("User-Agent", c.s.userAgent())
21558	if c.ifNoneMatch_ != "" {
21559		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21560	}
21561	var body io.Reader = nil
21562	c.urlParams_.Set("alt", alt)
21563	c.urlParams_.Set("prettyPrint", "false")
21564	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}")
21565	urls += "?" + c.urlParams_.Encode()
21566	req, err := http.NewRequest("GET", urls, body)
21567	if err != nil {
21568		return nil, err
21569	}
21570	req.Header = reqHeaders
21571	googleapi.Expand(req.URL, map[string]string{
21572		"parent":       c.parent,
21573		"dicomWebPath": c.dicomWebPath,
21574	})
21575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21576}
21577
21578// Do executes the "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered" call.
21579func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
21580	gensupport.SetOptions(c.urlParams_, opts...)
21581	return c.doRequest("")
21582	// {
21583	//   "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).",
21584	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered",
21585	//   "httpMethod": "GET",
21586	//   "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered",
21587	//   "parameterOrder": [
21588	//     "parent",
21589	//     "dicomWebPath"
21590	//   ],
21591	//   "parameters": {
21592	//     "dicomWebPath": {
21593	//       "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.",
21594	//       "location": "path",
21595	//       "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$",
21596	//       "required": true,
21597	//       "type": "string"
21598	//     },
21599	//     "parent": {
21600	//       "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}`.",
21601	//       "location": "path",
21602	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
21603	//       "required": true,
21604	//       "type": "string"
21605	//     }
21606	//   },
21607	//   "path": "v1beta1/{+parent}/dicomWeb/{+dicomWebPath}",
21608	//   "response": {
21609	//     "$ref": "HttpBody"
21610	//   },
21611	//   "scopes": [
21612	//     "https://www.googleapis.com/auth/cloud-platform"
21613	//   ]
21614	// }
21615
21616}
21617
21618// method id "healthcare.projects.locations.datasets.fhirStores.configureSearch":
21619
21620type ProjectsLocationsDatasetsFhirStoresConfigureSearchCall struct {
21621	s                      *Service
21622	name                   string
21623	configuresearchrequest *ConfigureSearchRequest
21624	urlParams_             gensupport.URLParams
21625	ctx_                   context.Context
21626	header_                http.Header
21627}
21628
21629// ConfigureSearch: Configure the search parameters for the FHIR store
21630// and reindex resources in the FHIR store according to the defined
21631// search parameters. The search parameters provided in this request
21632// will replace any previous search configuration. The target
21633// SearchParameter resources need to exist in the store before calling
21634// ConfigureSearch, otherwise an error will occur. This method returns
21635// an Operation that can be used to track the progress of the reindexing
21636// by calling GetOperation.
21637//
21638// - name: The name of the FHIR store to configure, in the format
21639//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21640//   /fhirStores/{fhir_store_id}`.
21641func (r *ProjectsLocationsDatasetsFhirStoresService) ConfigureSearch(name string, configuresearchrequest *ConfigureSearchRequest) *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall {
21642	c := &ProjectsLocationsDatasetsFhirStoresConfigureSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21643	c.name = name
21644	c.configuresearchrequest = configuresearchrequest
21645	return c
21646}
21647
21648// Fields allows partial responses to be retrieved. See
21649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21650// for more information.
21651func (c *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall {
21652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21653	return c
21654}
21655
21656// Context sets the context to be used in this call's Do method. Any
21657// pending HTTP request will be aborted if the provided context is
21658// canceled.
21659func (c *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall {
21660	c.ctx_ = ctx
21661	return c
21662}
21663
21664// Header returns an http.Header that can be modified by the caller to
21665// add HTTP headers to the request.
21666func (c *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall) Header() http.Header {
21667	if c.header_ == nil {
21668		c.header_ = make(http.Header)
21669	}
21670	return c.header_
21671}
21672
21673func (c *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall) doRequest(alt string) (*http.Response, error) {
21674	reqHeaders := make(http.Header)
21675	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21676	for k, v := range c.header_ {
21677		reqHeaders[k] = v
21678	}
21679	reqHeaders.Set("User-Agent", c.s.userAgent())
21680	var body io.Reader = nil
21681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.configuresearchrequest)
21682	if err != nil {
21683		return nil, err
21684	}
21685	reqHeaders.Set("Content-Type", "application/json")
21686	c.urlParams_.Set("alt", alt)
21687	c.urlParams_.Set("prettyPrint", "false")
21688	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:configureSearch")
21689	urls += "?" + c.urlParams_.Encode()
21690	req, err := http.NewRequest("POST", urls, body)
21691	if err != nil {
21692		return nil, err
21693	}
21694	req.Header = reqHeaders
21695	googleapi.Expand(req.URL, map[string]string{
21696		"name": c.name,
21697	})
21698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21699}
21700
21701// Do executes the "healthcare.projects.locations.datasets.fhirStores.configureSearch" call.
21702// Exactly one of *Operation or error will be non-nil. Any non-2xx
21703// status code is an error. Response headers are in either
21704// *Operation.ServerResponse.Header or (if a response was returned at
21705// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21706// to check whether the returned error was because
21707// http.StatusNotModified was returned.
21708func (c *ProjectsLocationsDatasetsFhirStoresConfigureSearchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
21709	gensupport.SetOptions(c.urlParams_, opts...)
21710	res, err := c.doRequest("json")
21711	if res != nil && res.StatusCode == http.StatusNotModified {
21712		if res.Body != nil {
21713			res.Body.Close()
21714		}
21715		return nil, &googleapi.Error{
21716			Code:   res.StatusCode,
21717			Header: res.Header,
21718		}
21719	}
21720	if err != nil {
21721		return nil, err
21722	}
21723	defer googleapi.CloseBody(res)
21724	if err := googleapi.CheckResponse(res); err != nil {
21725		return nil, err
21726	}
21727	ret := &Operation{
21728		ServerResponse: googleapi.ServerResponse{
21729			Header:         res.Header,
21730			HTTPStatusCode: res.StatusCode,
21731		},
21732	}
21733	target := &ret
21734	if err := gensupport.DecodeResponse(target, res); err != nil {
21735		return nil, err
21736	}
21737	return ret, nil
21738	// {
21739	//   "description": "Configure the search parameters for the FHIR store and reindex resources in the FHIR store according to the defined search parameters. The search parameters provided in this request will replace any previous search configuration. The target SearchParameter resources need to exist in the store before calling ConfigureSearch, otherwise an error will occur. This method returns an Operation that can be used to track the progress of the reindexing by calling GetOperation.",
21740	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:configureSearch",
21741	//   "httpMethod": "POST",
21742	//   "id": "healthcare.projects.locations.datasets.fhirStores.configureSearch",
21743	//   "parameterOrder": [
21744	//     "name"
21745	//   ],
21746	//   "parameters": {
21747	//     "name": {
21748	//       "description": "The name of the FHIR store to configure, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
21749	//       "location": "path",
21750	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
21751	//       "required": true,
21752	//       "type": "string"
21753	//     }
21754	//   },
21755	//   "path": "v1beta1/{+name}:configureSearch",
21756	//   "request": {
21757	//     "$ref": "ConfigureSearchRequest"
21758	//   },
21759	//   "response": {
21760	//     "$ref": "Operation"
21761	//   },
21762	//   "scopes": [
21763	//     "https://www.googleapis.com/auth/cloud-platform"
21764	//   ]
21765	// }
21766
21767}
21768
21769// method id "healthcare.projects.locations.datasets.fhirStores.create":
21770
21771type ProjectsLocationsDatasetsFhirStoresCreateCall struct {
21772	s          *Service
21773	parent     string
21774	fhirstore  *FhirStore
21775	urlParams_ gensupport.URLParams
21776	ctx_       context.Context
21777	header_    http.Header
21778}
21779
21780// Create: Creates a new FHIR store within the parent dataset.
21781//
21782// - parent: The name of the dataset this FHIR store belongs to.
21783func (r *ProjectsLocationsDatasetsFhirStoresService) Create(parent string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21784	c := &ProjectsLocationsDatasetsFhirStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21785	c.parent = parent
21786	c.fhirstore = fhirstore
21787	return c
21788}
21789
21790// FhirStoreId sets the optional parameter "fhirStoreId": The ID of the
21791// FHIR store that is being created. The string must match the following
21792// regex: `[\p{L}\p{N}_\-\.]{1,256}`.
21793func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) FhirStoreId(fhirStoreId string) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21794	c.urlParams_.Set("fhirStoreId", fhirStoreId)
21795	return c
21796}
21797
21798// Fields allows partial responses to be retrieved. See
21799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21800// for more information.
21801func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21803	return c
21804}
21805
21806// Context sets the context to be used in this call's Do method. Any
21807// pending HTTP request will be aborted if the provided context is
21808// canceled.
21809func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresCreateCall {
21810	c.ctx_ = ctx
21811	return c
21812}
21813
21814// Header returns an http.Header that can be modified by the caller to
21815// add HTTP headers to the request.
21816func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Header() http.Header {
21817	if c.header_ == nil {
21818		c.header_ = make(http.Header)
21819	}
21820	return c.header_
21821}
21822
21823func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
21824	reqHeaders := make(http.Header)
21825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21826	for k, v := range c.header_ {
21827		reqHeaders[k] = v
21828	}
21829	reqHeaders.Set("User-Agent", c.s.userAgent())
21830	var body io.Reader = nil
21831	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
21832	if err != nil {
21833		return nil, err
21834	}
21835	reqHeaders.Set("Content-Type", "application/json")
21836	c.urlParams_.Set("alt", alt)
21837	c.urlParams_.Set("prettyPrint", "false")
21838	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
21839	urls += "?" + c.urlParams_.Encode()
21840	req, err := http.NewRequest("POST", urls, body)
21841	if err != nil {
21842		return nil, err
21843	}
21844	req.Header = reqHeaders
21845	googleapi.Expand(req.URL, map[string]string{
21846		"parent": c.parent,
21847	})
21848	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21849}
21850
21851// Do executes the "healthcare.projects.locations.datasets.fhirStores.create" call.
21852// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
21853// status code is an error. Response headers are in either
21854// *FhirStore.ServerResponse.Header or (if a response was returned at
21855// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21856// to check whether the returned error was because
21857// http.StatusNotModified was returned.
21858func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
21859	gensupport.SetOptions(c.urlParams_, opts...)
21860	res, err := c.doRequest("json")
21861	if res != nil && res.StatusCode == http.StatusNotModified {
21862		if res.Body != nil {
21863			res.Body.Close()
21864		}
21865		return nil, &googleapi.Error{
21866			Code:   res.StatusCode,
21867			Header: res.Header,
21868		}
21869	}
21870	if err != nil {
21871		return nil, err
21872	}
21873	defer googleapi.CloseBody(res)
21874	if err := googleapi.CheckResponse(res); err != nil {
21875		return nil, err
21876	}
21877	ret := &FhirStore{
21878		ServerResponse: googleapi.ServerResponse{
21879			Header:         res.Header,
21880			HTTPStatusCode: res.StatusCode,
21881		},
21882	}
21883	target := &ret
21884	if err := gensupport.DecodeResponse(target, res); err != nil {
21885		return nil, err
21886	}
21887	return ret, nil
21888	// {
21889	//   "description": "Creates a new FHIR store within the parent dataset.",
21890	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
21891	//   "httpMethod": "POST",
21892	//   "id": "healthcare.projects.locations.datasets.fhirStores.create",
21893	//   "parameterOrder": [
21894	//     "parent"
21895	//   ],
21896	//   "parameters": {
21897	//     "fhirStoreId": {
21898	//       "description": "The ID of the FHIR store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
21899	//       "location": "query",
21900	//       "type": "string"
21901	//     },
21902	//     "parent": {
21903	//       "description": "The name of the dataset this FHIR store belongs to.",
21904	//       "location": "path",
21905	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
21906	//       "required": true,
21907	//       "type": "string"
21908	//     }
21909	//   },
21910	//   "path": "v1beta1/{+parent}/fhirStores",
21911	//   "request": {
21912	//     "$ref": "FhirStore"
21913	//   },
21914	//   "response": {
21915	//     "$ref": "FhirStore"
21916	//   },
21917	//   "scopes": [
21918	//     "https://www.googleapis.com/auth/cloud-platform"
21919	//   ]
21920	// }
21921
21922}
21923
21924// method id "healthcare.projects.locations.datasets.fhirStores.deidentify":
21925
21926type ProjectsLocationsDatasetsFhirStoresDeidentifyCall struct {
21927	s                          *Service
21928	sourceStore                string
21929	deidentifyfhirstorerequest *DeidentifyFhirStoreRequest
21930	urlParams_                 gensupport.URLParams
21931	ctx_                       context.Context
21932	header_                    http.Header
21933}
21934
21935// Deidentify: De-identifies data from the source store and writes it to
21936// the destination store. The metadata field type is OperationMetadata.
21937// If the request is successful, the response field type is
21938// DeidentifyFhirStoreSummary. The number of resources processed are
21939// tracked in Operation.metadata. Error details are logged to Cloud
21940// Logging. For more information, see Viewing error logs in Cloud
21941// Logging (https://cloud.google.com/healthcare/docs/how-tos/logging).
21942//
21943// - sourceStore: Source FHIR store resource name. For example,
21944//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
21945//   /fhirStores/{fhir_store_id}`.
21946func (r *ProjectsLocationsDatasetsFhirStoresService) Deidentify(sourceStore string, deidentifyfhirstorerequest *DeidentifyFhirStoreRequest) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21947	c := &ProjectsLocationsDatasetsFhirStoresDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21948	c.sourceStore = sourceStore
21949	c.deidentifyfhirstorerequest = deidentifyfhirstorerequest
21950	return c
21951}
21952
21953// Fields allows partial responses to be retrieved. See
21954// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21955// for more information.
21956func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21957	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21958	return c
21959}
21960
21961// Context sets the context to be used in this call's Do method. Any
21962// pending HTTP request will be aborted if the provided context is
21963// canceled.
21964func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeidentifyCall {
21965	c.ctx_ = ctx
21966	return c
21967}
21968
21969// Header returns an http.Header that can be modified by the caller to
21970// add HTTP headers to the request.
21971func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Header() http.Header {
21972	if c.header_ == nil {
21973		c.header_ = make(http.Header)
21974	}
21975	return c.header_
21976}
21977
21978func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
21979	reqHeaders := make(http.Header)
21980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21981	for k, v := range c.header_ {
21982		reqHeaders[k] = v
21983	}
21984	reqHeaders.Set("User-Agent", c.s.userAgent())
21985	var body io.Reader = nil
21986	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deidentifyfhirstorerequest)
21987	if err != nil {
21988		return nil, err
21989	}
21990	reqHeaders.Set("Content-Type", "application/json")
21991	c.urlParams_.Set("alt", alt)
21992	c.urlParams_.Set("prettyPrint", "false")
21993	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+sourceStore}:deidentify")
21994	urls += "?" + c.urlParams_.Encode()
21995	req, err := http.NewRequest("POST", urls, body)
21996	if err != nil {
21997		return nil, err
21998	}
21999	req.Header = reqHeaders
22000	googleapi.Expand(req.URL, map[string]string{
22001		"sourceStore": c.sourceStore,
22002	})
22003	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22004}
22005
22006// Do executes the "healthcare.projects.locations.datasets.fhirStores.deidentify" call.
22007// Exactly one of *Operation or error will be non-nil. Any non-2xx
22008// status code is an error. Response headers are in either
22009// *Operation.ServerResponse.Header or (if a response was returned at
22010// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22011// to check whether the returned error was because
22012// http.StatusNotModified was returned.
22013func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22014	gensupport.SetOptions(c.urlParams_, opts...)
22015	res, err := c.doRequest("json")
22016	if res != nil && res.StatusCode == http.StatusNotModified {
22017		if res.Body != nil {
22018			res.Body.Close()
22019		}
22020		return nil, &googleapi.Error{
22021			Code:   res.StatusCode,
22022			Header: res.Header,
22023		}
22024	}
22025	if err != nil {
22026		return nil, err
22027	}
22028	defer googleapi.CloseBody(res)
22029	if err := googleapi.CheckResponse(res); err != nil {
22030		return nil, err
22031	}
22032	ret := &Operation{
22033		ServerResponse: googleapi.ServerResponse{
22034			Header:         res.Header,
22035			HTTPStatusCode: res.StatusCode,
22036		},
22037	}
22038	target := &ret
22039	if err := gensupport.DecodeResponse(target, res); err != nil {
22040		return nil, err
22041	}
22042	return ret, nil
22043	// {
22044	//   "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).",
22045	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify",
22046	//   "httpMethod": "POST",
22047	//   "id": "healthcare.projects.locations.datasets.fhirStores.deidentify",
22048	//   "parameterOrder": [
22049	//     "sourceStore"
22050	//   ],
22051	//   "parameters": {
22052	//     "sourceStore": {
22053	//       "description": "Source FHIR store resource name. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
22054	//       "location": "path",
22055	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22056	//       "required": true,
22057	//       "type": "string"
22058	//     }
22059	//   },
22060	//   "path": "v1beta1/{+sourceStore}:deidentify",
22061	//   "request": {
22062	//     "$ref": "DeidentifyFhirStoreRequest"
22063	//   },
22064	//   "response": {
22065	//     "$ref": "Operation"
22066	//   },
22067	//   "scopes": [
22068	//     "https://www.googleapis.com/auth/cloud-platform"
22069	//   ]
22070	// }
22071
22072}
22073
22074// method id "healthcare.projects.locations.datasets.fhirStores.delete":
22075
22076type ProjectsLocationsDatasetsFhirStoresDeleteCall struct {
22077	s          *Service
22078	name       string
22079	urlParams_ gensupport.URLParams
22080	ctx_       context.Context
22081	header_    http.Header
22082}
22083
22084// Delete: Deletes the specified FHIR store and removes all resources
22085// within it.
22086//
22087// - name: The resource name of the FHIR store to delete.
22088func (r *ProjectsLocationsDatasetsFhirStoresService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
22089	c := &ProjectsLocationsDatasetsFhirStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22090	c.name = name
22091	return c
22092}
22093
22094// Fields allows partial responses to be retrieved. See
22095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22096// for more information.
22097func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
22098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22099	return c
22100}
22101
22102// Context sets the context to be used in this call's Do method. Any
22103// pending HTTP request will be aborted if the provided context is
22104// canceled.
22105func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresDeleteCall {
22106	c.ctx_ = ctx
22107	return c
22108}
22109
22110// Header returns an http.Header that can be modified by the caller to
22111// add HTTP headers to the request.
22112func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Header() http.Header {
22113	if c.header_ == nil {
22114		c.header_ = make(http.Header)
22115	}
22116	return c.header_
22117}
22118
22119func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
22120	reqHeaders := make(http.Header)
22121	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22122	for k, v := range c.header_ {
22123		reqHeaders[k] = v
22124	}
22125	reqHeaders.Set("User-Agent", c.s.userAgent())
22126	var body io.Reader = nil
22127	c.urlParams_.Set("alt", alt)
22128	c.urlParams_.Set("prettyPrint", "false")
22129	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22130	urls += "?" + c.urlParams_.Encode()
22131	req, err := http.NewRequest("DELETE", urls, body)
22132	if err != nil {
22133		return nil, err
22134	}
22135	req.Header = reqHeaders
22136	googleapi.Expand(req.URL, map[string]string{
22137		"name": c.name,
22138	})
22139	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22140}
22141
22142// Do executes the "healthcare.projects.locations.datasets.fhirStores.delete" call.
22143// Exactly one of *Empty or error will be non-nil. Any non-2xx status
22144// code is an error. Response headers are in either
22145// *Empty.ServerResponse.Header or (if a response was returned at all)
22146// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22147// check whether the returned error was because http.StatusNotModified
22148// was returned.
22149func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
22150	gensupport.SetOptions(c.urlParams_, opts...)
22151	res, err := c.doRequest("json")
22152	if res != nil && res.StatusCode == http.StatusNotModified {
22153		if res.Body != nil {
22154			res.Body.Close()
22155		}
22156		return nil, &googleapi.Error{
22157			Code:   res.StatusCode,
22158			Header: res.Header,
22159		}
22160	}
22161	if err != nil {
22162		return nil, err
22163	}
22164	defer googleapi.CloseBody(res)
22165	if err := googleapi.CheckResponse(res); err != nil {
22166		return nil, err
22167	}
22168	ret := &Empty{
22169		ServerResponse: googleapi.ServerResponse{
22170			Header:         res.Header,
22171			HTTPStatusCode: res.StatusCode,
22172		},
22173	}
22174	target := &ret
22175	if err := gensupport.DecodeResponse(target, res); err != nil {
22176		return nil, err
22177	}
22178	return ret, nil
22179	// {
22180	//   "description": "Deletes the specified FHIR store and removes all resources within it.",
22181	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22182	//   "httpMethod": "DELETE",
22183	//   "id": "healthcare.projects.locations.datasets.fhirStores.delete",
22184	//   "parameterOrder": [
22185	//     "name"
22186	//   ],
22187	//   "parameters": {
22188	//     "name": {
22189	//       "description": "The resource name of the FHIR store to delete.",
22190	//       "location": "path",
22191	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22192	//       "required": true,
22193	//       "type": "string"
22194	//     }
22195	//   },
22196	//   "path": "v1beta1/{+name}",
22197	//   "response": {
22198	//     "$ref": "Empty"
22199	//   },
22200	//   "scopes": [
22201	//     "https://www.googleapis.com/auth/cloud-platform"
22202	//   ]
22203	// }
22204
22205}
22206
22207// method id "healthcare.projects.locations.datasets.fhirStores.export":
22208
22209type ProjectsLocationsDatasetsFhirStoresExportCall struct {
22210	s                      *Service
22211	name                   string
22212	exportresourcesrequest *ExportResourcesRequest
22213	urlParams_             gensupport.URLParams
22214	ctx_                   context.Context
22215	header_                http.Header
22216}
22217
22218// Export: Export resources from the FHIR store to the specified
22219// destination. This method returns an Operation that can be used to
22220// track the status of the export by calling GetOperation. Immediate
22221// fatal errors appear in the error field, errors are also logged to
22222// Cloud Logging (see Viewing error logs in Cloud Logging
22223// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
22224// Otherwise, when the operation finishes, a detailed response of type
22225// ExportResourcesResponse is returned in the response field. The
22226// metadata field type for this operation is OperationMetadata.
22227//
22228// - name: The name of the FHIR store to export resource from, in the
22229//   format of
22230//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
22231//   /fhirStores/{fhir_store_id}`.
22232func (r *ProjectsLocationsDatasetsFhirStoresService) Export(name string, exportresourcesrequest *ExportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresExportCall {
22233	c := &ProjectsLocationsDatasetsFhirStoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22234	c.name = name
22235	c.exportresourcesrequest = exportresourcesrequest
22236	return c
22237}
22238
22239// Fields allows partial responses to be retrieved. See
22240// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22241// for more information.
22242func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresExportCall {
22243	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22244	return c
22245}
22246
22247// Context sets the context to be used in this call's Do method. Any
22248// pending HTTP request will be aborted if the provided context is
22249// canceled.
22250func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresExportCall {
22251	c.ctx_ = ctx
22252	return c
22253}
22254
22255// Header returns an http.Header that can be modified by the caller to
22256// add HTTP headers to the request.
22257func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Header() http.Header {
22258	if c.header_ == nil {
22259		c.header_ = make(http.Header)
22260	}
22261	return c.header_
22262}
22263
22264func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
22265	reqHeaders := make(http.Header)
22266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22267	for k, v := range c.header_ {
22268		reqHeaders[k] = v
22269	}
22270	reqHeaders.Set("User-Agent", c.s.userAgent())
22271	var body io.Reader = nil
22272	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportresourcesrequest)
22273	if err != nil {
22274		return nil, err
22275	}
22276	reqHeaders.Set("Content-Type", "application/json")
22277	c.urlParams_.Set("alt", alt)
22278	c.urlParams_.Set("prettyPrint", "false")
22279	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
22280	urls += "?" + c.urlParams_.Encode()
22281	req, err := http.NewRequest("POST", urls, body)
22282	if err != nil {
22283		return nil, err
22284	}
22285	req.Header = reqHeaders
22286	googleapi.Expand(req.URL, map[string]string{
22287		"name": c.name,
22288	})
22289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22290}
22291
22292// Do executes the "healthcare.projects.locations.datasets.fhirStores.export" call.
22293// Exactly one of *Operation or error will be non-nil. Any non-2xx
22294// status code is an error. Response headers are in either
22295// *Operation.ServerResponse.Header or (if a response was returned at
22296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22297// to check whether the returned error was because
22298// http.StatusNotModified was returned.
22299func (c *ProjectsLocationsDatasetsFhirStoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22300	gensupport.SetOptions(c.urlParams_, opts...)
22301	res, err := c.doRequest("json")
22302	if res != nil && res.StatusCode == http.StatusNotModified {
22303		if res.Body != nil {
22304			res.Body.Close()
22305		}
22306		return nil, &googleapi.Error{
22307			Code:   res.StatusCode,
22308			Header: res.Header,
22309		}
22310	}
22311	if err != nil {
22312		return nil, err
22313	}
22314	defer googleapi.CloseBody(res)
22315	if err := googleapi.CheckResponse(res); err != nil {
22316		return nil, err
22317	}
22318	ret := &Operation{
22319		ServerResponse: googleapi.ServerResponse{
22320			Header:         res.Header,
22321			HTTPStatusCode: res.StatusCode,
22322		},
22323	}
22324	target := &ret
22325	if err := gensupport.DecodeResponse(target, res); err != nil {
22326		return nil, err
22327	}
22328	return ret, nil
22329	// {
22330	//   "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.",
22331	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export",
22332	//   "httpMethod": "POST",
22333	//   "id": "healthcare.projects.locations.datasets.fhirStores.export",
22334	//   "parameterOrder": [
22335	//     "name"
22336	//   ],
22337	//   "parameters": {
22338	//     "name": {
22339	//       "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}`.",
22340	//       "location": "path",
22341	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22342	//       "required": true,
22343	//       "type": "string"
22344	//     }
22345	//   },
22346	//   "path": "v1beta1/{+name}:export",
22347	//   "request": {
22348	//     "$ref": "ExportResourcesRequest"
22349	//   },
22350	//   "response": {
22351	//     "$ref": "Operation"
22352	//   },
22353	//   "scopes": [
22354	//     "https://www.googleapis.com/auth/cloud-platform"
22355	//   ]
22356	// }
22357
22358}
22359
22360// method id "healthcare.projects.locations.datasets.fhirStores.get":
22361
22362type ProjectsLocationsDatasetsFhirStoresGetCall struct {
22363	s            *Service
22364	name         string
22365	urlParams_   gensupport.URLParams
22366	ifNoneMatch_ string
22367	ctx_         context.Context
22368	header_      http.Header
22369}
22370
22371// Get: Gets the configuration of the specified FHIR store.
22372//
22373// - name: The resource name of the FHIR store to get.
22374func (r *ProjectsLocationsDatasetsFhirStoresService) Get(name string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22375	c := &ProjectsLocationsDatasetsFhirStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22376	c.name = name
22377	return c
22378}
22379
22380// Fields allows partial responses to be retrieved. See
22381// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22382// for more information.
22383func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetCall {
22384	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22385	return c
22386}
22387
22388// IfNoneMatch sets the optional parameter which makes the operation
22389// fail if the object's ETag matches the given value. This is useful for
22390// getting updates only after the object has changed since the last
22391// request. Use googleapi.IsNotModified to check whether the response
22392// error from Do is the result of In-None-Match.
22393func (c *ProjectsLocationsDatasetsFhirStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetCall {
22394	c.ifNoneMatch_ = entityTag
22395	return c
22396}
22397
22398// Context sets the context to be used in this call's Do method. Any
22399// pending HTTP request will be aborted if the provided context is
22400// canceled.
22401func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetCall {
22402	c.ctx_ = ctx
22403	return c
22404}
22405
22406// Header returns an http.Header that can be modified by the caller to
22407// add HTTP headers to the request.
22408func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Header() http.Header {
22409	if c.header_ == nil {
22410		c.header_ = make(http.Header)
22411	}
22412	return c.header_
22413}
22414
22415func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
22416	reqHeaders := make(http.Header)
22417	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22418	for k, v := range c.header_ {
22419		reqHeaders[k] = v
22420	}
22421	reqHeaders.Set("User-Agent", c.s.userAgent())
22422	if c.ifNoneMatch_ != "" {
22423		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22424	}
22425	var body io.Reader = nil
22426	c.urlParams_.Set("alt", alt)
22427	c.urlParams_.Set("prettyPrint", "false")
22428	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
22429	urls += "?" + c.urlParams_.Encode()
22430	req, err := http.NewRequest("GET", urls, body)
22431	if err != nil {
22432		return nil, err
22433	}
22434	req.Header = reqHeaders
22435	googleapi.Expand(req.URL, map[string]string{
22436		"name": c.name,
22437	})
22438	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22439}
22440
22441// Do executes the "healthcare.projects.locations.datasets.fhirStores.get" call.
22442// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
22443// status code is an error. Response headers are in either
22444// *FhirStore.ServerResponse.Header or (if a response was returned at
22445// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22446// to check whether the returned error was because
22447// http.StatusNotModified was returned.
22448func (c *ProjectsLocationsDatasetsFhirStoresGetCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
22449	gensupport.SetOptions(c.urlParams_, opts...)
22450	res, err := c.doRequest("json")
22451	if res != nil && res.StatusCode == http.StatusNotModified {
22452		if res.Body != nil {
22453			res.Body.Close()
22454		}
22455		return nil, &googleapi.Error{
22456			Code:   res.StatusCode,
22457			Header: res.Header,
22458		}
22459	}
22460	if err != nil {
22461		return nil, err
22462	}
22463	defer googleapi.CloseBody(res)
22464	if err := googleapi.CheckResponse(res); err != nil {
22465		return nil, err
22466	}
22467	ret := &FhirStore{
22468		ServerResponse: googleapi.ServerResponse{
22469			Header:         res.Header,
22470			HTTPStatusCode: res.StatusCode,
22471		},
22472	}
22473	target := &ret
22474	if err := gensupport.DecodeResponse(target, res); err != nil {
22475		return nil, err
22476	}
22477	return ret, nil
22478	// {
22479	//   "description": "Gets the configuration of the specified FHIR store.",
22480	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
22481	//   "httpMethod": "GET",
22482	//   "id": "healthcare.projects.locations.datasets.fhirStores.get",
22483	//   "parameterOrder": [
22484	//     "name"
22485	//   ],
22486	//   "parameters": {
22487	//     "name": {
22488	//       "description": "The resource name of the FHIR store to get.",
22489	//       "location": "path",
22490	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22491	//       "required": true,
22492	//       "type": "string"
22493	//     }
22494	//   },
22495	//   "path": "v1beta1/{+name}",
22496	//   "response": {
22497	//     "$ref": "FhirStore"
22498	//   },
22499	//   "scopes": [
22500	//     "https://www.googleapis.com/auth/cloud-platform"
22501	//   ]
22502	// }
22503
22504}
22505
22506// method id "healthcare.projects.locations.datasets.fhirStores.getIamPolicy":
22507
22508type ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall struct {
22509	s            *Service
22510	resource     string
22511	urlParams_   gensupport.URLParams
22512	ifNoneMatch_ string
22513	ctx_         context.Context
22514	header_      http.Header
22515}
22516
22517// GetIamPolicy: Gets the access control policy for a resource. Returns
22518// an empty policy if the resource exists and does not have a policy
22519// set.
22520//
22521// - resource: REQUIRED: The resource for which the policy is being
22522//   requested. See the operation documentation for the appropriate
22523//   value for this field.
22524func (r *ProjectsLocationsDatasetsFhirStoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22525	c := &ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22526	c.resource = resource
22527	return c
22528}
22529
22530// OptionsRequestedPolicyVersion sets the optional parameter
22531// "options.requestedPolicyVersion": The policy format version to be
22532// returned. Valid values are 0, 1, and 3. Requests specifying an
22533// invalid value will be rejected. Requests for policies with any
22534// conditional bindings must specify version 3. Policies without any
22535// conditional bindings may specify any valid value or leave the field
22536// unset. To learn which resources support conditions in their IAM
22537// policies, see the IAM documentation
22538// (https://cloud.google.com/iam/help/conditions/resource-policies).
22539func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22540	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
22541	return c
22542}
22543
22544// Fields allows partial responses to be retrieved. See
22545// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22546// for more information.
22547func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22548	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22549	return c
22550}
22551
22552// IfNoneMatch sets the optional parameter which makes the operation
22553// fail if the object's ETag matches the given value. This is useful for
22554// getting updates only after the object has changed since the last
22555// request. Use googleapi.IsNotModified to check whether the response
22556// error from Do is the result of In-None-Match.
22557func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22558	c.ifNoneMatch_ = entityTag
22559	return c
22560}
22561
22562// Context sets the context to be used in this call's Do method. Any
22563// pending HTTP request will be aborted if the provided context is
22564// canceled.
22565func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall {
22566	c.ctx_ = ctx
22567	return c
22568}
22569
22570// Header returns an http.Header that can be modified by the caller to
22571// add HTTP headers to the request.
22572func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Header() http.Header {
22573	if c.header_ == nil {
22574		c.header_ = make(http.Header)
22575	}
22576	return c.header_
22577}
22578
22579func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
22580	reqHeaders := make(http.Header)
22581	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22582	for k, v := range c.header_ {
22583		reqHeaders[k] = v
22584	}
22585	reqHeaders.Set("User-Agent", c.s.userAgent())
22586	if c.ifNoneMatch_ != "" {
22587		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22588	}
22589	var body io.Reader = nil
22590	c.urlParams_.Set("alt", alt)
22591	c.urlParams_.Set("prettyPrint", "false")
22592	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
22593	urls += "?" + c.urlParams_.Encode()
22594	req, err := http.NewRequest("GET", urls, body)
22595	if err != nil {
22596		return nil, err
22597	}
22598	req.Header = reqHeaders
22599	googleapi.Expand(req.URL, map[string]string{
22600		"resource": c.resource,
22601	})
22602	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22603}
22604
22605// Do executes the "healthcare.projects.locations.datasets.fhirStores.getIamPolicy" call.
22606// Exactly one of *Policy or error will be non-nil. Any non-2xx status
22607// code is an error. Response headers are in either
22608// *Policy.ServerResponse.Header or (if a response was returned at all)
22609// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22610// check whether the returned error was because http.StatusNotModified
22611// was returned.
22612func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
22613	gensupport.SetOptions(c.urlParams_, opts...)
22614	res, err := c.doRequest("json")
22615	if res != nil && res.StatusCode == http.StatusNotModified {
22616		if res.Body != nil {
22617			res.Body.Close()
22618		}
22619		return nil, &googleapi.Error{
22620			Code:   res.StatusCode,
22621			Header: res.Header,
22622		}
22623	}
22624	if err != nil {
22625		return nil, err
22626	}
22627	defer googleapi.CloseBody(res)
22628	if err := googleapi.CheckResponse(res); err != nil {
22629		return nil, err
22630	}
22631	ret := &Policy{
22632		ServerResponse: googleapi.ServerResponse{
22633			Header:         res.Header,
22634			HTTPStatusCode: res.StatusCode,
22635		},
22636	}
22637	target := &ret
22638	if err := gensupport.DecodeResponse(target, res); err != nil {
22639		return nil, err
22640	}
22641	return ret, nil
22642	// {
22643	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
22644	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy",
22645	//   "httpMethod": "GET",
22646	//   "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy",
22647	//   "parameterOrder": [
22648	//     "resource"
22649	//   ],
22650	//   "parameters": {
22651	//     "options.requestedPolicyVersion": {
22652	//       "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).",
22653	//       "format": "int32",
22654	//       "location": "query",
22655	//       "type": "integer"
22656	//     },
22657	//     "resource": {
22658	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
22659	//       "location": "path",
22660	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22661	//       "required": true,
22662	//       "type": "string"
22663	//     }
22664	//   },
22665	//   "path": "v1beta1/{+resource}:getIamPolicy",
22666	//   "response": {
22667	//     "$ref": "Policy"
22668	//   },
22669	//   "scopes": [
22670	//     "https://www.googleapis.com/auth/cloud-platform"
22671	//   ]
22672	// }
22673
22674}
22675
22676// method id "healthcare.projects.locations.datasets.fhirStores.import":
22677
22678type ProjectsLocationsDatasetsFhirStoresImportCall struct {
22679	s                      *Service
22680	name                   string
22681	importresourcesrequest *ImportResourcesRequest
22682	urlParams_             gensupport.URLParams
22683	ctx_                   context.Context
22684	header_                http.Header
22685}
22686
22687// Import: Import resources to the FHIR store by loading data from the
22688// specified sources. This method is optimized to load large quantities
22689// of data using import semantics that ignore some FHIR store
22690// configuration options and are not suitable for all use cases. It is
22691// primarily intended to load data into an empty FHIR store that is not
22692// being used by other clients. In cases where this method is not
22693// appropriate, consider using ExecuteBundle to load data. Every
22694// resource in the input must contain a client-supplied ID. Each
22695// resource is stored using the supplied ID regardless of the
22696// enable_update_create setting on the FHIR store. It is strongly
22697// advised not to include or encode any sensitive data such as patient
22698// identifiers in client-specified resource IDs. Those IDs are part of
22699// the FHIR resource path recorded in Cloud Audit Logs and Cloud Pub/Sub
22700// notifications. Those IDs can also be contained in reference fields
22701// within other resources. The import process does not enforce
22702// referential integrity, regardless of the
22703// disable_referential_integrity setting on the FHIR store. This allows
22704// the import of resources with arbitrary interdependencies without
22705// considering grouping or ordering, but if the input data contains
22706// invalid references or if some resources fail to be imported, the FHIR
22707// store might be left in a state that violates referential integrity.
22708// The import process does not trigger Pub/Sub notification or BigQuery
22709// streaming update, regardless of how those are configured on the FHIR
22710// store. If a resource with the specified ID already exists, the most
22711// recent version of the resource is overwritten without creating a new
22712// historical version, regardless of the disable_resource_versioning
22713// setting on the FHIR store. If transient failures occur during the
22714// import, it is possible that successfully imported resources will be
22715// overwritten more than once. The import operation is idempotent unless
22716// the input data contains multiple valid resources with the same ID but
22717// different contents. In that case, after the import completes, the
22718// store contains exactly one resource with that ID but there is no
22719// ordering guarantee on which version of the contents it will have. The
22720// operation result counters do not count duplicate IDs as an error and
22721// count one success for each resource in the input, which might result
22722// in a success count larger than the number of resources in the FHIR
22723// store. This often occurs when importing data organized in bundles
22724// produced by Patient-everything where each bundle contains its own
22725// copy of a resource such as Practitioner that might be referred to by
22726// many patients. If some resources fail to import, for example due to
22727// parsing errors, successfully imported resources are not rolled back.
22728// The location and format of the input data are specified by the
22729// parameters in ImportResourcesRequest. Note that if no format is
22730// specified, this method assumes the `BUNDLE` format. When using the
22731// `BUNDLE` format this method ignores the `Bundle.type` field, except
22732// that `history` bundles are rejected, and does not apply any of the
22733// bundle processing semantics for batch or transaction bundles. Unlike
22734// in ExecuteBundle, transaction bundles are not executed as a single
22735// transaction and bundle-internal references are not rewritten. The
22736// bundle is treated as a collection of resources to be written as
22737// provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`.
22738// As an example, this allows the import of `searchset` bundles produced
22739// by a FHIR search or Patient-everything operation. This method returns
22740// an Operation that can be used to track the status of the import by
22741// calling GetOperation. Immediate fatal errors appear in the error
22742// field, errors are also logged to Cloud Logging (see Viewing error
22743// logs in Cloud Logging
22744// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
22745// Otherwise, when the operation finishes, a detailed response of type
22746// ImportResourcesResponse is returned in the response field. The
22747// metadata field type for this operation is OperationMetadata.
22748//
22749// - name: The name of the FHIR store to import FHIR resources to, in
22750//   the format of
22751//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
22752//   /fhirStores/{fhir_store_id}`.
22753func (r *ProjectsLocationsDatasetsFhirStoresService) Import(name string, importresourcesrequest *ImportResourcesRequest) *ProjectsLocationsDatasetsFhirStoresImportCall {
22754	c := &ProjectsLocationsDatasetsFhirStoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22755	c.name = name
22756	c.importresourcesrequest = importresourcesrequest
22757	return c
22758}
22759
22760// Fields allows partial responses to be retrieved. See
22761// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22762// for more information.
22763func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresImportCall {
22764	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22765	return c
22766}
22767
22768// Context sets the context to be used in this call's Do method. Any
22769// pending HTTP request will be aborted if the provided context is
22770// canceled.
22771func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresImportCall {
22772	c.ctx_ = ctx
22773	return c
22774}
22775
22776// Header returns an http.Header that can be modified by the caller to
22777// add HTTP headers to the request.
22778func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Header() http.Header {
22779	if c.header_ == nil {
22780		c.header_ = make(http.Header)
22781	}
22782	return c.header_
22783}
22784
22785func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
22786	reqHeaders := make(http.Header)
22787	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22788	for k, v := range c.header_ {
22789		reqHeaders[k] = v
22790	}
22791	reqHeaders.Set("User-Agent", c.s.userAgent())
22792	var body io.Reader = nil
22793	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importresourcesrequest)
22794	if err != nil {
22795		return nil, err
22796	}
22797	reqHeaders.Set("Content-Type", "application/json")
22798	c.urlParams_.Set("alt", alt)
22799	c.urlParams_.Set("prettyPrint", "false")
22800	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
22801	urls += "?" + c.urlParams_.Encode()
22802	req, err := http.NewRequest("POST", urls, body)
22803	if err != nil {
22804		return nil, err
22805	}
22806	req.Header = reqHeaders
22807	googleapi.Expand(req.URL, map[string]string{
22808		"name": c.name,
22809	})
22810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22811}
22812
22813// Do executes the "healthcare.projects.locations.datasets.fhirStores.import" call.
22814// Exactly one of *Operation or error will be non-nil. Any non-2xx
22815// status code is an error. Response headers are in either
22816// *Operation.ServerResponse.Header or (if a response was returned at
22817// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22818// to check whether the returned error was because
22819// http.StatusNotModified was returned.
22820func (c *ProjectsLocationsDatasetsFhirStoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
22821	gensupport.SetOptions(c.urlParams_, opts...)
22822	res, err := c.doRequest("json")
22823	if res != nil && res.StatusCode == http.StatusNotModified {
22824		if res.Body != nil {
22825			res.Body.Close()
22826		}
22827		return nil, &googleapi.Error{
22828			Code:   res.StatusCode,
22829			Header: res.Header,
22830		}
22831	}
22832	if err != nil {
22833		return nil, err
22834	}
22835	defer googleapi.CloseBody(res)
22836	if err := googleapi.CheckResponse(res); err != nil {
22837		return nil, err
22838	}
22839	ret := &Operation{
22840		ServerResponse: googleapi.ServerResponse{
22841			Header:         res.Header,
22842			HTTPStatusCode: res.StatusCode,
22843		},
22844	}
22845	target := &ret
22846	if err := gensupport.DecodeResponse(target, res); err != nil {
22847		return nil, err
22848	}
22849	return ret, nil
22850	// {
22851	//   "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.",
22852	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import",
22853	//   "httpMethod": "POST",
22854	//   "id": "healthcare.projects.locations.datasets.fhirStores.import",
22855	//   "parameterOrder": [
22856	//     "name"
22857	//   ],
22858	//   "parameters": {
22859	//     "name": {
22860	//       "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}`.",
22861	//       "location": "path",
22862	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
22863	//       "required": true,
22864	//       "type": "string"
22865	//     }
22866	//   },
22867	//   "path": "v1beta1/{+name}:import",
22868	//   "request": {
22869	//     "$ref": "ImportResourcesRequest"
22870	//   },
22871	//   "response": {
22872	//     "$ref": "Operation"
22873	//   },
22874	//   "scopes": [
22875	//     "https://www.googleapis.com/auth/cloud-platform"
22876	//   ]
22877	// }
22878
22879}
22880
22881// method id "healthcare.projects.locations.datasets.fhirStores.list":
22882
22883type ProjectsLocationsDatasetsFhirStoresListCall struct {
22884	s            *Service
22885	parent       string
22886	urlParams_   gensupport.URLParams
22887	ifNoneMatch_ string
22888	ctx_         context.Context
22889	header_      http.Header
22890}
22891
22892// List: Lists the FHIR stores in the given dataset.
22893//
22894// - parent: Name of the dataset.
22895func (r *ProjectsLocationsDatasetsFhirStoresService) List(parent string) *ProjectsLocationsDatasetsFhirStoresListCall {
22896	c := &ProjectsLocationsDatasetsFhirStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22897	c.parent = parent
22898	return c
22899}
22900
22901// Filter sets the optional parameter "filter": Restricts stores
22902// returned to those matching a filter. The following syntax is
22903// available: * A string field value can be written as text inside
22904// quotation marks, for example "query text". The only valid
22905// relational operation for text fields is equality (`=`), where text is
22906// searched within the field, rather than having the field be equal to
22907// the text. For example, "Comment = great" returns messages with
22908// `great` in the comment field. * A number field value can be written
22909// as an integer, a decimal, or an exponential. The valid relational
22910// operators for number fields are the equality operator (`=`), along
22911// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
22912// Note that there is no inequality (`!=`) operator. You can prepend the
22913// `NOT` operator to an expression to negate it. * A date field value
22914// must be written in `yyyy-mm-dd` form. Fields with date and time use
22915// the RFC3339 time format. Leading zeros are required for one-digit
22916// months and days. The valid relational operators for date fields are
22917// the equality operator (`=`) , along with the less than/greater than
22918// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
22919// (`!=`) operator. You can prepend the `NOT` operator to an expression
22920// to negate it. * Multiple field query expressions can be combined in
22921// one query by adding `AND` or `OR` operators between the expressions.
22922// If a boolean operator appears within a quoted string, it is not
22923// treated as special, it's just another part of the character string to
22924// be matched. You can prepend the `NOT` operator to an expression to
22925// negate it. Only filtering on labels is supported, for example
22926// `labels.key=value`.
22927func (c *ProjectsLocationsDatasetsFhirStoresListCall) Filter(filter string) *ProjectsLocationsDatasetsFhirStoresListCall {
22928	c.urlParams_.Set("filter", filter)
22929	return c
22930}
22931
22932// PageSize sets the optional parameter "pageSize": Limit on the number
22933// of FHIR stores to return in a single response. If not specified, 100
22934// is used. May not be larger than 1000.
22935func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsFhirStoresListCall {
22936	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22937	return c
22938}
22939
22940// PageToken sets the optional parameter "pageToken": The
22941// next_page_token value returned from the previous List request, if
22942// any.
22943func (c *ProjectsLocationsDatasetsFhirStoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsFhirStoresListCall {
22944	c.urlParams_.Set("pageToken", pageToken)
22945	return c
22946}
22947
22948// Fields allows partial responses to be retrieved. See
22949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22950// for more information.
22951func (c *ProjectsLocationsDatasetsFhirStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresListCall {
22952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22953	return c
22954}
22955
22956// IfNoneMatch sets the optional parameter which makes the operation
22957// fail if the object's ETag matches the given value. This is useful for
22958// getting updates only after the object has changed since the last
22959// request. Use googleapi.IsNotModified to check whether the response
22960// error from Do is the result of In-None-Match.
22961func (c *ProjectsLocationsDatasetsFhirStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresListCall {
22962	c.ifNoneMatch_ = entityTag
22963	return c
22964}
22965
22966// Context sets the context to be used in this call's Do method. Any
22967// pending HTTP request will be aborted if the provided context is
22968// canceled.
22969func (c *ProjectsLocationsDatasetsFhirStoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresListCall {
22970	c.ctx_ = ctx
22971	return c
22972}
22973
22974// Header returns an http.Header that can be modified by the caller to
22975// add HTTP headers to the request.
22976func (c *ProjectsLocationsDatasetsFhirStoresListCall) Header() http.Header {
22977	if c.header_ == nil {
22978		c.header_ = make(http.Header)
22979	}
22980	return c.header_
22981}
22982
22983func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
22984	reqHeaders := make(http.Header)
22985	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22986	for k, v := range c.header_ {
22987		reqHeaders[k] = v
22988	}
22989	reqHeaders.Set("User-Agent", c.s.userAgent())
22990	if c.ifNoneMatch_ != "" {
22991		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22992	}
22993	var body io.Reader = nil
22994	c.urlParams_.Set("alt", alt)
22995	c.urlParams_.Set("prettyPrint", "false")
22996	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhirStores")
22997	urls += "?" + c.urlParams_.Encode()
22998	req, err := http.NewRequest("GET", urls, body)
22999	if err != nil {
23000		return nil, err
23001	}
23002	req.Header = reqHeaders
23003	googleapi.Expand(req.URL, map[string]string{
23004		"parent": c.parent,
23005	})
23006	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23007}
23008
23009// Do executes the "healthcare.projects.locations.datasets.fhirStores.list" call.
23010// Exactly one of *ListFhirStoresResponse or error will be non-nil. Any
23011// non-2xx status code is an error. Response headers are in either
23012// *ListFhirStoresResponse.ServerResponse.Header or (if a response was
23013// returned at all) in error.(*googleapi.Error).Header. Use
23014// googleapi.IsNotModified to check whether the returned error was
23015// because http.StatusNotModified was returned.
23016func (c *ProjectsLocationsDatasetsFhirStoresListCall) Do(opts ...googleapi.CallOption) (*ListFhirStoresResponse, error) {
23017	gensupport.SetOptions(c.urlParams_, opts...)
23018	res, err := c.doRequest("json")
23019	if res != nil && res.StatusCode == http.StatusNotModified {
23020		if res.Body != nil {
23021			res.Body.Close()
23022		}
23023		return nil, &googleapi.Error{
23024			Code:   res.StatusCode,
23025			Header: res.Header,
23026		}
23027	}
23028	if err != nil {
23029		return nil, err
23030	}
23031	defer googleapi.CloseBody(res)
23032	if err := googleapi.CheckResponse(res); err != nil {
23033		return nil, err
23034	}
23035	ret := &ListFhirStoresResponse{
23036		ServerResponse: googleapi.ServerResponse{
23037			Header:         res.Header,
23038			HTTPStatusCode: res.StatusCode,
23039		},
23040	}
23041	target := &ret
23042	if err := gensupport.DecodeResponse(target, res); err != nil {
23043		return nil, err
23044	}
23045	return ret, nil
23046	// {
23047	//   "description": "Lists the FHIR stores in the given dataset.",
23048	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
23049	//   "httpMethod": "GET",
23050	//   "id": "healthcare.projects.locations.datasets.fhirStores.list",
23051	//   "parameterOrder": [
23052	//     "parent"
23053	//   ],
23054	//   "parameters": {
23055	//     "filter": {
23056	//       "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`.",
23057	//       "location": "query",
23058	//       "type": "string"
23059	//     },
23060	//     "pageSize": {
23061	//       "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.",
23062	//       "format": "int32",
23063	//       "location": "query",
23064	//       "type": "integer"
23065	//     },
23066	//     "pageToken": {
23067	//       "description": "The next_page_token value returned from the previous List request, if any.",
23068	//       "location": "query",
23069	//       "type": "string"
23070	//     },
23071	//     "parent": {
23072	//       "description": "Name of the dataset.",
23073	//       "location": "path",
23074	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
23075	//       "required": true,
23076	//       "type": "string"
23077	//     }
23078	//   },
23079	//   "path": "v1beta1/{+parent}/fhirStores",
23080	//   "response": {
23081	//     "$ref": "ListFhirStoresResponse"
23082	//   },
23083	//   "scopes": [
23084	//     "https://www.googleapis.com/auth/cloud-platform"
23085	//   ]
23086	// }
23087
23088}
23089
23090// Pages invokes f for each page of results.
23091// A non-nil error returned from f will halt the iteration.
23092// The provided context supersedes any context provided to the Context method.
23093func (c *ProjectsLocationsDatasetsFhirStoresListCall) Pages(ctx context.Context, f func(*ListFhirStoresResponse) error) error {
23094	c.ctx_ = ctx
23095	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23096	for {
23097		x, err := c.Do()
23098		if err != nil {
23099			return err
23100		}
23101		if err := f(x); err != nil {
23102			return err
23103		}
23104		if x.NextPageToken == "" {
23105			return nil
23106		}
23107		c.PageToken(x.NextPageToken)
23108	}
23109}
23110
23111// method id "healthcare.projects.locations.datasets.fhirStores.patch":
23112
23113type ProjectsLocationsDatasetsFhirStoresPatchCall struct {
23114	s          *Service
23115	name       string
23116	fhirstore  *FhirStore
23117	urlParams_ gensupport.URLParams
23118	ctx_       context.Context
23119	header_    http.Header
23120}
23121
23122// Patch: Updates the configuration of the specified FHIR store.
23123//
23124// - name: Output only. Resource name of the FHIR store, of the form
23125//   `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_
23126//   id}`.
23127func (r *ProjectsLocationsDatasetsFhirStoresService) Patch(name string, fhirstore *FhirStore) *ProjectsLocationsDatasetsFhirStoresPatchCall {
23128	c := &ProjectsLocationsDatasetsFhirStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23129	c.name = name
23130	c.fhirstore = fhirstore
23131	return c
23132}
23133
23134// UpdateMask sets the optional parameter "updateMask": The update mask
23135// applies to the resource. For the `FieldMask` definition, see
23136// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
23137func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsFhirStoresPatchCall {
23138	c.urlParams_.Set("updateMask", updateMask)
23139	return c
23140}
23141
23142// Fields allows partial responses to be retrieved. See
23143// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23144// for more information.
23145func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresPatchCall {
23146	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23147	return c
23148}
23149
23150// Context sets the context to be used in this call's Do method. Any
23151// pending HTTP request will be aborted if the provided context is
23152// canceled.
23153func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresPatchCall {
23154	c.ctx_ = ctx
23155	return c
23156}
23157
23158// Header returns an http.Header that can be modified by the caller to
23159// add HTTP headers to the request.
23160func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Header() http.Header {
23161	if c.header_ == nil {
23162		c.header_ = make(http.Header)
23163	}
23164	return c.header_
23165}
23166
23167func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
23168	reqHeaders := make(http.Header)
23169	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23170	for k, v := range c.header_ {
23171		reqHeaders[k] = v
23172	}
23173	reqHeaders.Set("User-Agent", c.s.userAgent())
23174	var body io.Reader = nil
23175	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fhirstore)
23176	if err != nil {
23177		return nil, err
23178	}
23179	reqHeaders.Set("Content-Type", "application/json")
23180	c.urlParams_.Set("alt", alt)
23181	c.urlParams_.Set("prettyPrint", "false")
23182	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
23183	urls += "?" + c.urlParams_.Encode()
23184	req, err := http.NewRequest("PATCH", urls, body)
23185	if err != nil {
23186		return nil, err
23187	}
23188	req.Header = reqHeaders
23189	googleapi.Expand(req.URL, map[string]string{
23190		"name": c.name,
23191	})
23192	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23193}
23194
23195// Do executes the "healthcare.projects.locations.datasets.fhirStores.patch" call.
23196// Exactly one of *FhirStore or error will be non-nil. Any non-2xx
23197// status code is an error. Response headers are in either
23198// *FhirStore.ServerResponse.Header or (if a response was returned at
23199// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23200// to check whether the returned error was because
23201// http.StatusNotModified was returned.
23202func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) Do(opts ...googleapi.CallOption) (*FhirStore, error) {
23203	gensupport.SetOptions(c.urlParams_, opts...)
23204	res, err := c.doRequest("json")
23205	if res != nil && res.StatusCode == http.StatusNotModified {
23206		if res.Body != nil {
23207			res.Body.Close()
23208		}
23209		return nil, &googleapi.Error{
23210			Code:   res.StatusCode,
23211			Header: res.Header,
23212		}
23213	}
23214	if err != nil {
23215		return nil, err
23216	}
23217	defer googleapi.CloseBody(res)
23218	if err := googleapi.CheckResponse(res); err != nil {
23219		return nil, err
23220	}
23221	ret := &FhirStore{
23222		ServerResponse: googleapi.ServerResponse{
23223			Header:         res.Header,
23224			HTTPStatusCode: res.StatusCode,
23225		},
23226	}
23227	target := &ret
23228	if err := gensupport.DecodeResponse(target, res); err != nil {
23229		return nil, err
23230	}
23231	return ret, nil
23232	// {
23233	//   "description": "Updates the configuration of the specified FHIR store.",
23234	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
23235	//   "httpMethod": "PATCH",
23236	//   "id": "healthcare.projects.locations.datasets.fhirStores.patch",
23237	//   "parameterOrder": [
23238	//     "name"
23239	//   ],
23240	//   "parameters": {
23241	//     "name": {
23242	//       "description": "Output only. Resource name of the FHIR store, of the form `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
23243	//       "location": "path",
23244	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23245	//       "required": true,
23246	//       "type": "string"
23247	//     },
23248	//     "updateMask": {
23249	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
23250	//       "format": "google-fieldmask",
23251	//       "location": "query",
23252	//       "type": "string"
23253	//     }
23254	//   },
23255	//   "path": "v1beta1/{+name}",
23256	//   "request": {
23257	//     "$ref": "FhirStore"
23258	//   },
23259	//   "response": {
23260	//     "$ref": "FhirStore"
23261	//   },
23262	//   "scopes": [
23263	//     "https://www.googleapis.com/auth/cloud-platform"
23264	//   ]
23265	// }
23266
23267}
23268
23269// method id "healthcare.projects.locations.datasets.fhirStores.setIamPolicy":
23270
23271type ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall struct {
23272	s                   *Service
23273	resource            string
23274	setiampolicyrequest *SetIamPolicyRequest
23275	urlParams_          gensupport.URLParams
23276	ctx_                context.Context
23277	header_             http.Header
23278}
23279
23280// SetIamPolicy: Sets the access control policy on the specified
23281// resource. Replaces any existing policy. Can return `NOT_FOUND`,
23282// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
23283//
23284// - resource: REQUIRED: The resource for which the policy is being
23285//   specified. See the operation documentation for the appropriate
23286//   value for this field.
23287func (r *ProjectsLocationsDatasetsFhirStoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
23288	c := &ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23289	c.resource = resource
23290	c.setiampolicyrequest = setiampolicyrequest
23291	return c
23292}
23293
23294// Fields allows partial responses to be retrieved. See
23295// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23296// for more information.
23297func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
23298	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23299	return c
23300}
23301
23302// Context sets the context to be used in this call's Do method. Any
23303// pending HTTP request will be aborted if the provided context is
23304// canceled.
23305func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall {
23306	c.ctx_ = ctx
23307	return c
23308}
23309
23310// Header returns an http.Header that can be modified by the caller to
23311// add HTTP headers to the request.
23312func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Header() http.Header {
23313	if c.header_ == nil {
23314		c.header_ = make(http.Header)
23315	}
23316	return c.header_
23317}
23318
23319func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
23320	reqHeaders := make(http.Header)
23321	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23322	for k, v := range c.header_ {
23323		reqHeaders[k] = v
23324	}
23325	reqHeaders.Set("User-Agent", c.s.userAgent())
23326	var body io.Reader = nil
23327	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
23328	if err != nil {
23329		return nil, err
23330	}
23331	reqHeaders.Set("Content-Type", "application/json")
23332	c.urlParams_.Set("alt", alt)
23333	c.urlParams_.Set("prettyPrint", "false")
23334	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
23335	urls += "?" + c.urlParams_.Encode()
23336	req, err := http.NewRequest("POST", urls, body)
23337	if err != nil {
23338		return nil, err
23339	}
23340	req.Header = reqHeaders
23341	googleapi.Expand(req.URL, map[string]string{
23342		"resource": c.resource,
23343	})
23344	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23345}
23346
23347// Do executes the "healthcare.projects.locations.datasets.fhirStores.setIamPolicy" call.
23348// Exactly one of *Policy or error will be non-nil. Any non-2xx status
23349// code is an error. Response headers are in either
23350// *Policy.ServerResponse.Header or (if a response was returned at all)
23351// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23352// check whether the returned error was because http.StatusNotModified
23353// was returned.
23354func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
23355	gensupport.SetOptions(c.urlParams_, opts...)
23356	res, err := c.doRequest("json")
23357	if res != nil && res.StatusCode == http.StatusNotModified {
23358		if res.Body != nil {
23359			res.Body.Close()
23360		}
23361		return nil, &googleapi.Error{
23362			Code:   res.StatusCode,
23363			Header: res.Header,
23364		}
23365	}
23366	if err != nil {
23367		return nil, err
23368	}
23369	defer googleapi.CloseBody(res)
23370	if err := googleapi.CheckResponse(res); err != nil {
23371		return nil, err
23372	}
23373	ret := &Policy{
23374		ServerResponse: googleapi.ServerResponse{
23375			Header:         res.Header,
23376			HTTPStatusCode: res.StatusCode,
23377		},
23378	}
23379	target := &ret
23380	if err := gensupport.DecodeResponse(target, res); err != nil {
23381		return nil, err
23382	}
23383	return ret, nil
23384	// {
23385	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
23386	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy",
23387	//   "httpMethod": "POST",
23388	//   "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy",
23389	//   "parameterOrder": [
23390	//     "resource"
23391	//   ],
23392	//   "parameters": {
23393	//     "resource": {
23394	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
23395	//       "location": "path",
23396	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23397	//       "required": true,
23398	//       "type": "string"
23399	//     }
23400	//   },
23401	//   "path": "v1beta1/{+resource}:setIamPolicy",
23402	//   "request": {
23403	//     "$ref": "SetIamPolicyRequest"
23404	//   },
23405	//   "response": {
23406	//     "$ref": "Policy"
23407	//   },
23408	//   "scopes": [
23409	//     "https://www.googleapis.com/auth/cloud-platform"
23410	//   ]
23411	// }
23412
23413}
23414
23415// method id "healthcare.projects.locations.datasets.fhirStores.testIamPermissions":
23416
23417type ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall struct {
23418	s                         *Service
23419	resource                  string
23420	testiampermissionsrequest *TestIamPermissionsRequest
23421	urlParams_                gensupport.URLParams
23422	ctx_                      context.Context
23423	header_                   http.Header
23424}
23425
23426// TestIamPermissions: Returns permissions that a caller has on the
23427// specified resource. If the resource does not exist, this will return
23428// an empty set of permissions, not a `NOT_FOUND` error. Note: This
23429// operation is designed to be used for building permission-aware UIs
23430// and command-line tools, not for authorization checking. This
23431// operation may "fail open" without warning.
23432//
23433// - resource: REQUIRED: The resource for which the policy detail is
23434//   being requested. See the operation documentation for the
23435//   appropriate value for this field.
23436func (r *ProjectsLocationsDatasetsFhirStoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23437	c := &ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23438	c.resource = resource
23439	c.testiampermissionsrequest = testiampermissionsrequest
23440	return c
23441}
23442
23443// Fields allows partial responses to be retrieved. See
23444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23445// for more information.
23446func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23448	return c
23449}
23450
23451// Context sets the context to be used in this call's Do method. Any
23452// pending HTTP request will be aborted if the provided context is
23453// canceled.
23454func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall {
23455	c.ctx_ = ctx
23456	return c
23457}
23458
23459// Header returns an http.Header that can be modified by the caller to
23460// add HTTP headers to the request.
23461func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Header() http.Header {
23462	if c.header_ == nil {
23463		c.header_ = make(http.Header)
23464	}
23465	return c.header_
23466}
23467
23468func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
23469	reqHeaders := make(http.Header)
23470	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23471	for k, v := range c.header_ {
23472		reqHeaders[k] = v
23473	}
23474	reqHeaders.Set("User-Agent", c.s.userAgent())
23475	var body io.Reader = nil
23476	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
23477	if err != nil {
23478		return nil, err
23479	}
23480	reqHeaders.Set("Content-Type", "application/json")
23481	c.urlParams_.Set("alt", alt)
23482	c.urlParams_.Set("prettyPrint", "false")
23483	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
23484	urls += "?" + c.urlParams_.Encode()
23485	req, err := http.NewRequest("POST", urls, body)
23486	if err != nil {
23487		return nil, err
23488	}
23489	req.Header = reqHeaders
23490	googleapi.Expand(req.URL, map[string]string{
23491		"resource": c.resource,
23492	})
23493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23494}
23495
23496// Do executes the "healthcare.projects.locations.datasets.fhirStores.testIamPermissions" call.
23497// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
23498// Any non-2xx status code is an error. Response headers are in either
23499// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
23500// was returned at all) in error.(*googleapi.Error).Header. Use
23501// googleapi.IsNotModified to check whether the returned error was
23502// because http.StatusNotModified was returned.
23503func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
23504	gensupport.SetOptions(c.urlParams_, opts...)
23505	res, err := c.doRequest("json")
23506	if res != nil && res.StatusCode == http.StatusNotModified {
23507		if res.Body != nil {
23508			res.Body.Close()
23509		}
23510		return nil, &googleapi.Error{
23511			Code:   res.StatusCode,
23512			Header: res.Header,
23513		}
23514	}
23515	if err != nil {
23516		return nil, err
23517	}
23518	defer googleapi.CloseBody(res)
23519	if err := googleapi.CheckResponse(res); err != nil {
23520		return nil, err
23521	}
23522	ret := &TestIamPermissionsResponse{
23523		ServerResponse: googleapi.ServerResponse{
23524			Header:         res.Header,
23525			HTTPStatusCode: res.StatusCode,
23526		},
23527	}
23528	target := &ret
23529	if err := gensupport.DecodeResponse(target, res); err != nil {
23530		return nil, err
23531	}
23532	return ret, nil
23533	// {
23534	//   "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.",
23535	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions",
23536	//   "httpMethod": "POST",
23537	//   "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions",
23538	//   "parameterOrder": [
23539	//     "resource"
23540	//   ],
23541	//   "parameters": {
23542	//     "resource": {
23543	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
23544	//       "location": "path",
23545	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23546	//       "required": true,
23547	//       "type": "string"
23548	//     }
23549	//   },
23550	//   "path": "v1beta1/{+resource}:testIamPermissions",
23551	//   "request": {
23552	//     "$ref": "TestIamPermissionsRequest"
23553	//   },
23554	//   "response": {
23555	//     "$ref": "TestIamPermissionsResponse"
23556	//   },
23557	//   "scopes": [
23558	//     "https://www.googleapis.com/auth/cloud-platform"
23559	//   ]
23560	// }
23561
23562}
23563
23564// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate":
23565
23566type ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall struct {
23567	s            *Service
23568	parent       string
23569	urlParams_   gensupport.URLParams
23570	ifNoneMatch_ string
23571	ctx_         context.Context
23572	header_      http.Header
23573}
23574
23575// ConceptMapSearchTranslate: Translates a code from one value set to
23576// another by searching for appropriate concept maps. Implements the
23577// FHIR standard $translate operation (DSTU2
23578// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23579// STU3
23580// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23581// R4
23582// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23583// On success, the response body contains a JSON-encoded representation
23584// of a FHIR Parameters resource, which includes the translation result.
23585// Errors generated by the FHIR store contain a JSON-encoded
23586// `OperationOutcome` resource describing the reason for the error. If
23587// the request cannot be mapped to a valid API method on a FHIR store, a
23588// generic GCP error might be returned instead.
23589//
23590// - parent: The name for the FHIR store containing the concept map(s)
23591//   to use for the translation.
23592func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapSearchTranslate(parent string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23593	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23594	c.parent = parent
23595	return c
23596}
23597
23598// Code sets the optional parameter "code": The code to translate.
23599func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23600	c.urlParams_.Set("code", code)
23601	return c
23602}
23603
23604// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23605// The version of the concept map to use. If unset, the most current
23606// version is used.
23607func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23608	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23609	return c
23610}
23611
23612// Source sets the optional parameter "source": The source value set of
23613// the concept map to be used. If unset, target is used to search for
23614// concept maps.
23615func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Source(source string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23616	c.urlParams_.Set("source", source)
23617	return c
23618}
23619
23620// System sets the optional parameter "system": The system for the code
23621// to be translated.
23622func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23623	c.urlParams_.Set("system", system)
23624	return c
23625}
23626
23627// Target sets the optional parameter "target": The target value set of
23628// the concept map to be used. If unset, source is used to search for
23629// concept maps.
23630func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Target(target string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23631	c.urlParams_.Set("target", target)
23632	return c
23633}
23634
23635// Url sets the optional parameter "url": The canonical url of the
23636// concept map to use. If unset, the source and target is used to search
23637// for concept maps.
23638func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Url(url string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23639	c.urlParams_.Set("url", url)
23640	return c
23641}
23642
23643// Fields allows partial responses to be retrieved. See
23644// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23645// for more information.
23646func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23647	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23648	return c
23649}
23650
23651// IfNoneMatch sets the optional parameter which makes the operation
23652// fail if the object's ETag matches the given value. This is useful for
23653// getting updates only after the object has changed since the last
23654// request. Use googleapi.IsNotModified to check whether the response
23655// error from Do is the result of In-None-Match.
23656func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23657	c.ifNoneMatch_ = entityTag
23658	return c
23659}
23660
23661// Context sets the context to be used in this call's Do method. Any
23662// pending HTTP request will be aborted if the provided context is
23663// canceled.
23664func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall {
23665	c.ctx_ = ctx
23666	return c
23667}
23668
23669// Header returns an http.Header that can be modified by the caller to
23670// add HTTP headers to the request.
23671func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Header() http.Header {
23672	if c.header_ == nil {
23673		c.header_ = make(http.Header)
23674	}
23675	return c.header_
23676}
23677
23678func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) doRequest(alt string) (*http.Response, error) {
23679	reqHeaders := make(http.Header)
23680	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23681	for k, v := range c.header_ {
23682		reqHeaders[k] = v
23683	}
23684	reqHeaders.Set("User-Agent", c.s.userAgent())
23685	if c.ifNoneMatch_ != "" {
23686		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23687	}
23688	var body io.Reader = nil
23689	c.urlParams_.Set("alt", alt)
23690	c.urlParams_.Set("prettyPrint", "false")
23691	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/ConceptMap/$translate")
23692	urls += "?" + c.urlParams_.Encode()
23693	req, err := http.NewRequest("GET", urls, body)
23694	if err != nil {
23695		return nil, err
23696	}
23697	req.Header = reqHeaders
23698	googleapi.Expand(req.URL, map[string]string{
23699		"parent": c.parent,
23700	})
23701	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23702}
23703
23704// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate" call.
23705func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23706	gensupport.SetOptions(c.urlParams_, opts...)
23707	return c.doRequest("")
23708	// {
23709	//   "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.",
23710	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate",
23711	//   "httpMethod": "GET",
23712	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate",
23713	//   "parameterOrder": [
23714	//     "parent"
23715	//   ],
23716	//   "parameters": {
23717	//     "code": {
23718	//       "description": "The code to translate.",
23719	//       "location": "query",
23720	//       "type": "string"
23721	//     },
23722	//     "conceptMapVersion": {
23723	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23724	//       "location": "query",
23725	//       "type": "string"
23726	//     },
23727	//     "parent": {
23728	//       "description": "The name for the FHIR store containing the concept map(s) to use for the translation.",
23729	//       "location": "path",
23730	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
23731	//       "required": true,
23732	//       "type": "string"
23733	//     },
23734	//     "source": {
23735	//       "description": "The source value set of the concept map to be used. If unset, target is used to search for concept maps.",
23736	//       "location": "query",
23737	//       "type": "string"
23738	//     },
23739	//     "system": {
23740	//       "description": "The system for the code to be translated.",
23741	//       "location": "query",
23742	//       "type": "string"
23743	//     },
23744	//     "target": {
23745	//       "description": "The target value set of the concept map to be used. If unset, source is used to search for concept maps.",
23746	//       "location": "query",
23747	//       "type": "string"
23748	//     },
23749	//     "url": {
23750	//       "description": "The canonical url of the concept map to use. If unset, the source and target is used to search for concept maps.",
23751	//       "location": "query",
23752	//       "type": "string"
23753	//     }
23754	//   },
23755	//   "path": "v1beta1/{+parent}/fhir/ConceptMap/$translate",
23756	//   "response": {
23757	//     "$ref": "HttpBody"
23758	//   },
23759	//   "scopes": [
23760	//     "https://www.googleapis.com/auth/cloud-platform"
23761	//   ]
23762	// }
23763
23764}
23765
23766// method id "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate":
23767
23768type ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall struct {
23769	s            *Service
23770	name         string
23771	urlParams_   gensupport.URLParams
23772	ifNoneMatch_ string
23773	ctx_         context.Context
23774	header_      http.Header
23775}
23776
23777// ConceptMapTranslate: Translates a code from one value set to another
23778// using a concept map. You can provide your own concept maps to
23779// translate any code system to another code system. Implements the FHIR
23780// standard $translate operation (DSTU2
23781// (https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),
23782// STU3
23783// (https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),
23784// R4
23785// (https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).
23786// On success, the response body contains a JSON-encoded representation
23787// of a FHIR Parameters resource, which includes the translation result.
23788// Errors generated by the FHIR store contain a JSON-encoded
23789// `OperationOutcome` resource describing the reason for the error. If
23790// the request cannot be mapped to a valid API method on a FHIR store, a
23791// generic GCP error might be returned instead.
23792//
23793// - name: The URL for the concept map to use for the translation.
23794func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConceptMapTranslate(name string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23795	c := &ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23796	c.name = name
23797	return c
23798}
23799
23800// Code sets the optional parameter "code": The code to translate.
23801func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Code(code string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23802	c.urlParams_.Set("code", code)
23803	return c
23804}
23805
23806// ConceptMapVersion sets the optional parameter "conceptMapVersion":
23807// The version of the concept map to use. If unset, the most current
23808// version is used.
23809func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) ConceptMapVersion(conceptMapVersion string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23810	c.urlParams_.Set("conceptMapVersion", conceptMapVersion)
23811	return c
23812}
23813
23814// System sets the optional parameter "system": The system for the code
23815// to be translated.
23816func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) System(system string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23817	c.urlParams_.Set("system", system)
23818	return c
23819}
23820
23821// Fields allows partial responses to be retrieved. See
23822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23823// for more information.
23824func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23825	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23826	return c
23827}
23828
23829// IfNoneMatch sets the optional parameter which makes the operation
23830// fail if the object's ETag matches the given value. This is useful for
23831// getting updates only after the object has changed since the last
23832// request. Use googleapi.IsNotModified to check whether the response
23833// error from Do is the result of In-None-Match.
23834func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23835	c.ifNoneMatch_ = entityTag
23836	return c
23837}
23838
23839// Context sets the context to be used in this call's Do method. Any
23840// pending HTTP request will be aborted if the provided context is
23841// canceled.
23842func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall {
23843	c.ctx_ = ctx
23844	return c
23845}
23846
23847// Header returns an http.Header that can be modified by the caller to
23848// add HTTP headers to the request.
23849func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Header() http.Header {
23850	if c.header_ == nil {
23851		c.header_ = make(http.Header)
23852	}
23853	return c.header_
23854}
23855
23856func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) doRequest(alt string) (*http.Response, error) {
23857	reqHeaders := make(http.Header)
23858	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23859	for k, v := range c.header_ {
23860		reqHeaders[k] = v
23861	}
23862	reqHeaders.Set("User-Agent", c.s.userAgent())
23863	if c.ifNoneMatch_ != "" {
23864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23865	}
23866	var body io.Reader = nil
23867	c.urlParams_.Set("alt", alt)
23868	c.urlParams_.Set("prettyPrint", "false")
23869	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$translate")
23870	urls += "?" + c.urlParams_.Encode()
23871	req, err := http.NewRequest("GET", urls, body)
23872	if err != nil {
23873		return nil, err
23874	}
23875	req.Header = reqHeaders
23876	googleapi.Expand(req.URL, map[string]string{
23877		"name": c.name,
23878	})
23879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23880}
23881
23882// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate" call.
23883func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
23884	gensupport.SetOptions(c.urlParams_, opts...)
23885	return c.doRequest("")
23886	// {
23887	//   "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.",
23888	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate",
23889	//   "httpMethod": "GET",
23890	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate",
23891	//   "parameterOrder": [
23892	//     "name"
23893	//   ],
23894	//   "parameters": {
23895	//     "code": {
23896	//       "description": "The code to translate.",
23897	//       "location": "query",
23898	//       "type": "string"
23899	//     },
23900	//     "conceptMapVersion": {
23901	//       "description": "The version of the concept map to use. If unset, the most current version is used.",
23902	//       "location": "query",
23903	//       "type": "string"
23904	//     },
23905	//     "name": {
23906	//       "description": "The URL for the concept map to use for the translation.",
23907	//       "location": "path",
23908	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$",
23909	//       "required": true,
23910	//       "type": "string"
23911	//     },
23912	//     "system": {
23913	//       "description": "The system for the code to be translated.",
23914	//       "location": "query",
23915	//       "type": "string"
23916	//     }
23917	//   },
23918	//   "path": "v1beta1/{+name}/$translate",
23919	//   "response": {
23920	//     "$ref": "HttpBody"
23921	//   },
23922	//   "scopes": [
23923	//     "https://www.googleapis.com/auth/cloud-platform"
23924	//   ]
23925	// }
23926
23927}
23928
23929// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn":
23930
23931type ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall struct {
23932	s            *Service
23933	parent       string
23934	urlParams_   gensupport.URLParams
23935	ifNoneMatch_ string
23936	ctx_         context.Context
23937	header_      http.Header
23938}
23939
23940// ObservationLastn: Retrieves the N most recent `Observation` resources
23941// for a subject matching search criteria specified as query parameters,
23942// grouped by `Observation.code`, sorted from most recent to oldest.
23943// Implements the FHIR extended operation Observation-lastn (STU3
23944// (https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),
23945// R4
23946// (https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).
23947// DSTU2 doesn't define the Observation-lastn method, but the server
23948// supports it the same way it supports STU3. Search terms are provided
23949// as query parameters following the same pattern as the search method.
23950// The following search parameters must be provided: - `subject` or
23951// `patient` to specify a subject for the Observation. - `code`,
23952// `category` or any of the composite parameters that include `code`.
23953// Any other valid Observation search parameters can also be provided.
23954// This operation accepts an additional query parameter `max`, which
23955// specifies N, the maximum number of Observations to return from each
23956// group, with a default of 1. Searches with over 1000 results are
23957// rejected. Results are counted before grouping and limiting the
23958// results with `max`. To stay within the limit, constrain these
23959// searches using Observation search parameters such as `_lastUpdated`
23960// or `date`. On success, the response body contains a JSON-encoded
23961// representation of a `Bundle` resource of type `searchset`, containing
23962// the results of the operation. Errors generated by the FHIR store
23963// contain a JSON-encoded `OperationOutcome` resource describing the
23964// reason for the error. If the request cannot be mapped to a valid API
23965// method on a FHIR store, a generic GCP error might be returned
23966// instead.
23967//
23968// - parent: Name of the FHIR store to retrieve resources from.
23969func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ObservationLastn(parent string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23970	c := &ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23971	c.parent = parent
23972	return c
23973}
23974
23975// Fields allows partial responses to be retrieved. See
23976// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23977// for more information.
23978func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23979	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23980	return c
23981}
23982
23983// IfNoneMatch sets the optional parameter which makes the operation
23984// fail if the object's ETag matches the given value. This is useful for
23985// getting updates only after the object has changed since the last
23986// request. Use googleapi.IsNotModified to check whether the response
23987// error from Do is the result of In-None-Match.
23988func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23989	c.ifNoneMatch_ = entityTag
23990	return c
23991}
23992
23993// Context sets the context to be used in this call's Do method. Any
23994// pending HTTP request will be aborted if the provided context is
23995// canceled.
23996func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall {
23997	c.ctx_ = ctx
23998	return c
23999}
24000
24001// Header returns an http.Header that can be modified by the caller to
24002// add HTTP headers to the request.
24003func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Header() http.Header {
24004	if c.header_ == nil {
24005		c.header_ = make(http.Header)
24006	}
24007	return c.header_
24008}
24009
24010func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) doRequest(alt string) (*http.Response, error) {
24011	reqHeaders := make(http.Header)
24012	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24013	for k, v := range c.header_ {
24014		reqHeaders[k] = v
24015	}
24016	reqHeaders.Set("User-Agent", c.s.userAgent())
24017	if c.ifNoneMatch_ != "" {
24018		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24019	}
24020	var body io.Reader = nil
24021	c.urlParams_.Set("alt", alt)
24022	c.urlParams_.Set("prettyPrint", "false")
24023	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/Observation/$lastn")
24024	urls += "?" + c.urlParams_.Encode()
24025	req, err := http.NewRequest("GET", urls, body)
24026	if err != nil {
24027		return nil, err
24028	}
24029	req.Header = reqHeaders
24030	googleapi.Expand(req.URL, map[string]string{
24031		"parent": c.parent,
24032	})
24033	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24034}
24035
24036// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn" call.
24037func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24038	gensupport.SetOptions(c.urlParams_, opts...)
24039	return c.doRequest("")
24040	// {
24041	//   "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.",
24042	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn",
24043	//   "httpMethod": "GET",
24044	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn",
24045	//   "parameterOrder": [
24046	//     "parent"
24047	//   ],
24048	//   "parameters": {
24049	//     "parent": {
24050	//       "description": "Name of the FHIR store to retrieve resources from.",
24051	//       "location": "path",
24052	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24053	//       "required": true,
24054	//       "type": "string"
24055	//     }
24056	//   },
24057	//   "path": "v1beta1/{+parent}/fhir/Observation/$lastn",
24058	//   "response": {
24059	//     "$ref": "HttpBody"
24060	//   },
24061	//   "scopes": [
24062	//     "https://www.googleapis.com/auth/cloud-platform"
24063	//   ]
24064	// }
24065
24066}
24067
24068// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything":
24069
24070type ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall struct {
24071	s            *Service
24072	name         string
24073	urlParams_   gensupport.URLParams
24074	ifNoneMatch_ string
24075	ctx_         context.Context
24076	header_      http.Header
24077}
24078
24079// PatientEverything: Retrieves a Patient resource and resources related
24080// to that patient. Implements the FHIR extended operation
24081// Patient-everything (DSTU2
24082// (https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),
24083// STU3
24084// (https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),
24085// R4
24086// (https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).
24087// On success, the response body contains a JSON-encoded representation
24088// of a `Bundle` resource of type `searchset`, containing the results of
24089// the operation. Errors generated by the FHIR store contain a
24090// JSON-encoded `OperationOutcome` resource describing the reason for
24091// the error. If the request cannot be mapped to a valid API method on a
24092// FHIR store, a generic GCP error might be returned instead. The
24093// resources in scope for the response are: * The patient resource
24094// itself. * All the resources directly referenced by the patient
24095// resource. * Resources directly referencing the patient resource that
24096// meet the inclusion criteria. The inclusion criteria are based on the
24097// membership rules in the patient compartment definition (DSTU2
24098// (https://hl7.org/fhir/DSTU2/compartment-patient.html), STU3
24099// (http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), R4
24100// (https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which
24101// details the eligible resource types and referencing search
24102// parameters. For samples that show how to call `Patient-everything`,
24103// see Getting all patient compartment resources
24104// (/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartme
24105// nt_resources).
24106//
24107// - name: Name of the `Patient` resource for which the information is
24108//   required.
24109func (r *ProjectsLocationsDatasetsFhirStoresFhirService) PatientEverything(name string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24110	c := &ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24111	c.name = name
24112	return c
24113}
24114
24115// Count sets the optional parameter "_count": Maximum number of
24116// resources in a page. If not specified, 100 is used. May not be larger
24117// than 1000.
24118func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24119	c.urlParams_.Set("_count", fmt.Sprint(Count))
24120	return c
24121}
24122
24123// PageToken sets the optional parameter "_page_token": Used to retrieve
24124// the next or previous page of results when using pagination. Set
24125// `_page_token` to the value of _page_token set in next or previous
24126// page links' url. Next and previous page are returned in the response
24127// bundle's links field, where `link.relation` is "previous" or "next".
24128// Omit `_page_token` if no previous request has been made.
24129func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24130	c.urlParams_.Set("_page_token", PageToken)
24131	return c
24132}
24133
24134// Since sets the optional parameter "_since": If provided, only
24135// resources updated after this time are returned. The time uses the
24136// format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example,
24137// `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time
24138// must be specified to the second and include a time zone.
24139func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24140	c.urlParams_.Set("_since", Since)
24141	return c
24142}
24143
24144// Type sets the optional parameter "_type": String of comma-delimited
24145// FHIR resource types. If provided, only resources of the specified
24146// resource type(s) are returned.
24147func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Type(Type string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24148	c.urlParams_.Set("_type", Type)
24149	return c
24150}
24151
24152// End sets the optional parameter "end": The response includes records
24153// prior to the end date. If no end date is provided, all records
24154// subsequent to the start date are in scope.
24155func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) End(end string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24156	c.urlParams_.Set("end", end)
24157	return c
24158}
24159
24160// Start sets the optional parameter "start": The response includes
24161// records subsequent to the start date. If no start date is provided,
24162// all records prior to the end date are in scope.
24163func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Start(start string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24164	c.urlParams_.Set("start", start)
24165	return c
24166}
24167
24168// Fields allows partial responses to be retrieved. See
24169// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24170// for more information.
24171func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24172	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24173	return c
24174}
24175
24176// IfNoneMatch sets the optional parameter which makes the operation
24177// fail if the object's ETag matches the given value. This is useful for
24178// getting updates only after the object has changed since the last
24179// request. Use googleapi.IsNotModified to check whether the response
24180// error from Do is the result of In-None-Match.
24181func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24182	c.ifNoneMatch_ = entityTag
24183	return c
24184}
24185
24186// Context sets the context to be used in this call's Do method. Any
24187// pending HTTP request will be aborted if the provided context is
24188// canceled.
24189func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall {
24190	c.ctx_ = ctx
24191	return c
24192}
24193
24194// Header returns an http.Header that can be modified by the caller to
24195// add HTTP headers to the request.
24196func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Header() http.Header {
24197	if c.header_ == nil {
24198		c.header_ = make(http.Header)
24199	}
24200	return c.header_
24201}
24202
24203func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
24204	reqHeaders := make(http.Header)
24205	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24206	for k, v := range c.header_ {
24207		reqHeaders[k] = v
24208	}
24209	reqHeaders.Set("User-Agent", c.s.userAgent())
24210	if c.ifNoneMatch_ != "" {
24211		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24212	}
24213	var body io.Reader = nil
24214	c.urlParams_.Set("alt", alt)
24215	c.urlParams_.Set("prettyPrint", "false")
24216	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$everything")
24217	urls += "?" + c.urlParams_.Encode()
24218	req, err := http.NewRequest("GET", urls, body)
24219	if err != nil {
24220		return nil, err
24221	}
24222	req.Header = reqHeaders
24223	googleapi.Expand(req.URL, map[string]string{
24224		"name": c.name,
24225	})
24226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24227}
24228
24229// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything" call.
24230func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24231	gensupport.SetOptions(c.urlParams_, opts...)
24232	return c.doRequest("")
24233	// {
24234	//   "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).",
24235	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything",
24236	//   "httpMethod": "GET",
24237	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything",
24238	//   "parameterOrder": [
24239	//     "name"
24240	//   ],
24241	//   "parameters": {
24242	//     "_count": {
24243	//       "description": "Maximum number of resources in a page. If not specified, 100 is used. May not be larger than 1000.",
24244	//       "format": "int32",
24245	//       "location": "query",
24246	//       "type": "integer"
24247	//     },
24248	//     "_page_token": {
24249	//       "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.",
24250	//       "location": "query",
24251	//       "type": "string"
24252	//     },
24253	//     "_since": {
24254	//       "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.",
24255	//       "location": "query",
24256	//       "type": "string"
24257	//     },
24258	//     "_type": {
24259	//       "description": "String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are returned.",
24260	//       "location": "query",
24261	//       "type": "string"
24262	//     },
24263	//     "end": {
24264	//       "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.",
24265	//       "location": "query",
24266	//       "type": "string"
24267	//     },
24268	//     "name": {
24269	//       "description": "Name of the `Patient` resource for which the information is required.",
24270	//       "location": "path",
24271	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$",
24272	//       "required": true,
24273	//       "type": "string"
24274	//     },
24275	//     "start": {
24276	//       "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.",
24277	//       "location": "query",
24278	//       "type": "string"
24279	//     }
24280	//   },
24281	//   "path": "v1beta1/{+name}/$everything",
24282	//   "response": {
24283	//     "$ref": "HttpBody"
24284	//   },
24285	//   "scopes": [
24286	//     "https://www.googleapis.com/auth/cloud-platform"
24287	//   ]
24288	// }
24289
24290}
24291
24292// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge":
24293
24294type ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall struct {
24295	s          *Service
24296	name       string
24297	urlParams_ gensupport.URLParams
24298	ctx_       context.Context
24299	header_    http.Header
24300}
24301
24302// ResourcePurge: Deletes all the historical versions of a resource
24303// (excluding the current version) from the FHIR store. To remove all
24304// versions of a resource, first delete the current version and then
24305// call this method. This is not a FHIR standard operation. For samples
24306// that show how to call `Resource-purge`, see Deleting historical
24307// versions of a FHIR resource
24308// (/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_
24309// of_a_fhir_resource).
24310//
24311// - name: The name of the resource to purge.
24312func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourcePurge(name string) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24313	c := &ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24314	c.name = name
24315	return c
24316}
24317
24318// Fields allows partial responses to be retrieved. See
24319// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24320// for more information.
24321func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24322	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24323	return c
24324}
24325
24326// Context sets the context to be used in this call's Do method. Any
24327// pending HTTP request will be aborted if the provided context is
24328// canceled.
24329func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall {
24330	c.ctx_ = ctx
24331	return c
24332}
24333
24334// Header returns an http.Header that can be modified by the caller to
24335// add HTTP headers to the request.
24336func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Header() http.Header {
24337	if c.header_ == nil {
24338		c.header_ = make(http.Header)
24339	}
24340	return c.header_
24341}
24342
24343func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
24344	reqHeaders := make(http.Header)
24345	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24346	for k, v := range c.header_ {
24347		reqHeaders[k] = v
24348	}
24349	reqHeaders.Set("User-Agent", c.s.userAgent())
24350	var body io.Reader = nil
24351	c.urlParams_.Set("alt", alt)
24352	c.urlParams_.Set("prettyPrint", "false")
24353	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/$purge")
24354	urls += "?" + c.urlParams_.Encode()
24355	req, err := http.NewRequest("DELETE", urls, body)
24356	if err != nil {
24357		return nil, err
24358	}
24359	req.Header = reqHeaders
24360	googleapi.Expand(req.URL, map[string]string{
24361		"name": c.name,
24362	})
24363	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24364}
24365
24366// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge" call.
24367// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24368// code is an error. Response headers are in either
24369// *Empty.ServerResponse.Header or (if a response was returned at all)
24370// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24371// check whether the returned error was because http.StatusNotModified
24372// was returned.
24373func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24374	gensupport.SetOptions(c.urlParams_, opts...)
24375	res, err := c.doRequest("json")
24376	if res != nil && res.StatusCode == http.StatusNotModified {
24377		if res.Body != nil {
24378			res.Body.Close()
24379		}
24380		return nil, &googleapi.Error{
24381			Code:   res.StatusCode,
24382			Header: res.Header,
24383		}
24384	}
24385	if err != nil {
24386		return nil, err
24387	}
24388	defer googleapi.CloseBody(res)
24389	if err := googleapi.CheckResponse(res); err != nil {
24390		return nil, err
24391	}
24392	ret := &Empty{
24393		ServerResponse: googleapi.ServerResponse{
24394			Header:         res.Header,
24395			HTTPStatusCode: res.StatusCode,
24396		},
24397	}
24398	target := &ret
24399	if err := gensupport.DecodeResponse(target, res); err != nil {
24400		return nil, err
24401	}
24402	return ret, nil
24403	// {
24404	//   "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).",
24405	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge",
24406	//   "httpMethod": "DELETE",
24407	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge",
24408	//   "parameterOrder": [
24409	//     "name"
24410	//   ],
24411	//   "parameters": {
24412	//     "name": {
24413	//       "description": "The name of the resource to purge.",
24414	//       "location": "path",
24415	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
24416	//       "required": true,
24417	//       "type": "string"
24418	//     }
24419	//   },
24420	//   "path": "v1beta1/{+name}/$purge",
24421	//   "response": {
24422	//     "$ref": "Empty"
24423	//   },
24424	//   "scopes": [
24425	//     "https://www.googleapis.com/auth/cloud-platform"
24426	//   ]
24427	// }
24428
24429}
24430
24431// method id "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate":
24432
24433type ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall struct {
24434	s          *Service
24435	parent     string
24436	type_      string
24437	body_      io.Reader
24438	urlParams_ gensupport.URLParams
24439	ctx_       context.Context
24440	header_    http.Header
24441}
24442
24443// ResourceValidate: Validates an input FHIR resource's conformance to
24444// its profiles and the profiles configured on the FHIR store.
24445// Implements the FHIR extended operation $validate (DSTU2
24446// (http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate),
24447// STU3
24448// (http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate),
24449// or R4
24450// (http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)).
24451// The request body must contain a JSON-encoded FHIR resource, and the
24452// request headers must contain `Content-Type: application/fhir+json`.
24453// The `Parameters` input syntax is not supported. The `profile` query
24454// parameter can be used to request that the resource only be validated
24455// against a specific profile. If a profile with the given URL cannot be
24456// found in the FHIR store then an error is returned. Errors generated
24457// by validation contain a JSON-encoded `OperationOutcome` resource
24458// describing the reason for the error. If the request cannot be mapped
24459// to a valid API method on a FHIR store, a generic GCP error might be
24460// returned instead.
24461//
24462// - parent: The name of the FHIR store that holds the profiles being
24463//   used for validation.
24464// - type: The FHIR resource type of the resource being validated. For a
24465//   complete list, see the FHIR Resource Index (DSTU2
24466//   (http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24467//   STU3
24468//   (http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24469//   or R4
24470//   (http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24471//   Must match the resource type in the provided content.
24472func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ResourceValidate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24473	c := &ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24474	c.parent = parent
24475	c.type_ = type_
24476	c.body_ = body_
24477	return c
24478}
24479
24480// Profile sets the optional parameter "profile": A profile that this
24481// resource should be validated against.
24482func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Profile(profile string) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24483	c.urlParams_.Set("profile", profile)
24484	return c
24485}
24486
24487// Fields allows partial responses to be retrieved. See
24488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24489// for more information.
24490func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24492	return c
24493}
24494
24495// Context sets the context to be used in this call's Do method. Any
24496// pending HTTP request will be aborted if the provided context is
24497// canceled.
24498func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall {
24499	c.ctx_ = ctx
24500	return c
24501}
24502
24503// Header returns an http.Header that can be modified by the caller to
24504// add HTTP headers to the request.
24505func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Header() http.Header {
24506	if c.header_ == nil {
24507		c.header_ = make(http.Header)
24508	}
24509	return c.header_
24510}
24511
24512func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) doRequest(alt string) (*http.Response, error) {
24513	reqHeaders := make(http.Header)
24514	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24515	for k, v := range c.header_ {
24516		reqHeaders[k] = v
24517	}
24518	reqHeaders.Set("User-Agent", c.s.userAgent())
24519	var body io.Reader = nil
24520	body = c.body_
24521	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}/$validate")
24522	urls += "?" + c.urlParams_.Encode()
24523	req, err := http.NewRequest("POST", urls, body)
24524	if err != nil {
24525		return nil, err
24526	}
24527	req.Header = reqHeaders
24528	googleapi.Expand(req.URL, map[string]string{
24529		"parent": c.parent,
24530		"type":   c.type_,
24531	})
24532	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24533}
24534
24535// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate" call.
24536func (c *ProjectsLocationsDatasetsFhirStoresFhirResourceValidateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24537	gensupport.SetOptions(c.urlParams_, opts...)
24538	return c.doRequest("")
24539	// {
24540	//   "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.",
24541	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/$validate",
24542	//   "httpMethod": "POST",
24543	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-validate",
24544	//   "parameterOrder": [
24545	//     "parent",
24546	//     "type"
24547	//   ],
24548	//   "parameters": {
24549	//     "parent": {
24550	//       "description": "The name of the FHIR store that holds the profiles being used for validation.",
24551	//       "location": "path",
24552	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24553	//       "required": true,
24554	//       "type": "string"
24555	//     },
24556	//     "profile": {
24557	//       "description": "A profile that this resource should be validated against.",
24558	//       "location": "query",
24559	//       "type": "string"
24560	//     },
24561	//     "type": {
24562	//       "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.",
24563	//       "location": "path",
24564	//       "pattern": "^[^/]+$",
24565	//       "required": true,
24566	//       "type": "string"
24567	//     }
24568	//   },
24569	//   "path": "v1beta1/{+parent}/fhir/{+type}/$validate",
24570	//   "request": {
24571	//     "$ref": "HttpBody"
24572	//   },
24573	//   "response": {
24574	//     "$ref": "HttpBody"
24575	//   },
24576	//   "scopes": [
24577	//     "https://www.googleapis.com/auth/cloud-platform"
24578	//   ]
24579	// }
24580
24581}
24582
24583// method id "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities":
24584
24585type ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall struct {
24586	s            *Service
24587	name         string
24588	urlParams_   gensupport.URLParams
24589	ifNoneMatch_ string
24590	ctx_         context.Context
24591	header_      http.Header
24592}
24593
24594// Capabilities: Gets the FHIR capability statement (STU3
24595// (https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),
24596// R4
24597// (https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),
24598// or the conformance statement
24599// (https://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in
24600// the DSTU2 case for the store, which contains a description of
24601// functionality supported by the server. Implements the FHIR standard
24602// capabilities interaction (STU3
24603// (https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),
24604// R4
24605// (https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),
24606// or the conformance interaction
24607// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)
24608// in the DSTU2 case. On success, the response body contains a
24609// JSON-encoded representation of a `CapabilityStatement` resource.
24610//
24611// - name: Name of the FHIR store to retrieve the capabilities for.
24612func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Capabilities(name string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24613	c := &ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24614	c.name = name
24615	return c
24616}
24617
24618// Fields allows partial responses to be retrieved. See
24619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24620// for more information.
24621func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24623	return c
24624}
24625
24626// IfNoneMatch sets the optional parameter which makes the operation
24627// fail if the object's ETag matches the given value. This is useful for
24628// getting updates only after the object has changed since the last
24629// request. Use googleapi.IsNotModified to check whether the response
24630// error from Do is the result of In-None-Match.
24631func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24632	c.ifNoneMatch_ = entityTag
24633	return c
24634}
24635
24636// Context sets the context to be used in this call's Do method. Any
24637// pending HTTP request will be aborted if the provided context is
24638// canceled.
24639func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall {
24640	c.ctx_ = ctx
24641	return c
24642}
24643
24644// Header returns an http.Header that can be modified by the caller to
24645// add HTTP headers to the request.
24646func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Header() http.Header {
24647	if c.header_ == nil {
24648		c.header_ = make(http.Header)
24649	}
24650	return c.header_
24651}
24652
24653func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
24654	reqHeaders := make(http.Header)
24655	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24656	for k, v := range c.header_ {
24657		reqHeaders[k] = v
24658	}
24659	reqHeaders.Set("User-Agent", c.s.userAgent())
24660	if c.ifNoneMatch_ != "" {
24661		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24662	}
24663	var body io.Reader = nil
24664	c.urlParams_.Set("alt", alt)
24665	c.urlParams_.Set("prettyPrint", "false")
24666	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/fhir/metadata")
24667	urls += "?" + c.urlParams_.Encode()
24668	req, err := http.NewRequest("GET", urls, body)
24669	if err != nil {
24670		return nil, err
24671	}
24672	req.Header = reqHeaders
24673	googleapi.Expand(req.URL, map[string]string{
24674		"name": c.name,
24675	})
24676	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24677}
24678
24679// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities" call.
24680func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24681	gensupport.SetOptions(c.urlParams_, opts...)
24682	return c.doRequest("")
24683	// {
24684	//   "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.",
24685	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata",
24686	//   "httpMethod": "GET",
24687	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities",
24688	//   "parameterOrder": [
24689	//     "name"
24690	//   ],
24691	//   "parameters": {
24692	//     "name": {
24693	//       "description": "Name of the FHIR store to retrieve the capabilities for.",
24694	//       "location": "path",
24695	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24696	//       "required": true,
24697	//       "type": "string"
24698	//     }
24699	//   },
24700	//   "path": "v1beta1/{+name}/fhir/metadata",
24701	//   "response": {
24702	//     "$ref": "HttpBody"
24703	//   },
24704	//   "scopes": [
24705	//     "https://www.googleapis.com/auth/cloud-platform"
24706	//   ]
24707	// }
24708
24709}
24710
24711// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete":
24712
24713type ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall struct {
24714	s          *Service
24715	parent     string
24716	type_      string
24717	urlParams_ gensupport.URLParams
24718	ctx_       context.Context
24719	header_    http.Header
24720}
24721
24722// ConditionalDelete: Deletes FHIR resources that match a search query.
24723// Implements the FHIR standard conditional delete interaction (DSTU2
24724// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),
24725// STU3
24726// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),
24727// R4
24728// (https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).
24729// If multiple resources match, all matching resources are deleted.
24730// Search terms are provided as query parameters following the same
24731// pattern as the search method. Note: Unless resource versioning is
24732// disabled by setting the disable_resource_versioning flag on the FHIR
24733// store, the deleted resources are moved to a history repository that
24734// can still be retrieved through vread and related methods, unless they
24735// are removed by the purge method. This method requires
24736// the`healthcare.fhirStores.searchResources` and
24737// `healthcare.fhirResources.delete` permissions on the parent FHIR
24738// store. For samples that show how to call `conditionalDelete`, see
24739// Conditionally deleting a FHIR resource
24740// (/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir
24741// _resource).
24742//
24743// - parent: The name of the FHIR store this resource belongs to.
24744// - type: The FHIR resource type to delete, such as Patient or
24745//   Observation. For a complete list, see the FHIR Resource Index
24746//   (DSTU2
24747//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24748//   STU3
24749//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24750//   R4
24751//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24752func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalDelete(parent string, type_ string) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24753	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24754	c.parent = parent
24755	c.type_ = type_
24756	return c
24757}
24758
24759// Fields allows partial responses to be retrieved. See
24760// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24761// for more information.
24762func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24763	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24764	return c
24765}
24766
24767// Context sets the context to be used in this call's Do method. Any
24768// pending HTTP request will be aborted if the provided context is
24769// canceled.
24770func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall {
24771	c.ctx_ = ctx
24772	return c
24773}
24774
24775// Header returns an http.Header that can be modified by the caller to
24776// add HTTP headers to the request.
24777func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Header() http.Header {
24778	if c.header_ == nil {
24779		c.header_ = make(http.Header)
24780	}
24781	return c.header_
24782}
24783
24784func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) doRequest(alt string) (*http.Response, error) {
24785	reqHeaders := make(http.Header)
24786	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24787	for k, v := range c.header_ {
24788		reqHeaders[k] = v
24789	}
24790	reqHeaders.Set("User-Agent", c.s.userAgent())
24791	var body io.Reader = nil
24792	c.urlParams_.Set("alt", alt)
24793	c.urlParams_.Set("prettyPrint", "false")
24794	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
24795	urls += "?" + c.urlParams_.Encode()
24796	req, err := http.NewRequest("DELETE", urls, body)
24797	if err != nil {
24798		return nil, err
24799	}
24800	req.Header = reqHeaders
24801	googleapi.Expand(req.URL, map[string]string{
24802		"parent": c.parent,
24803		"type":   c.type_,
24804	})
24805	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24806}
24807
24808// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete" call.
24809// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24810// code is an error. Response headers are in either
24811// *Empty.ServerResponse.Header or (if a response was returned at all)
24812// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24813// check whether the returned error was because http.StatusNotModified
24814// was returned.
24815func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24816	gensupport.SetOptions(c.urlParams_, opts...)
24817	res, err := c.doRequest("json")
24818	if res != nil && res.StatusCode == http.StatusNotModified {
24819		if res.Body != nil {
24820			res.Body.Close()
24821		}
24822		return nil, &googleapi.Error{
24823			Code:   res.StatusCode,
24824			Header: res.Header,
24825		}
24826	}
24827	if err != nil {
24828		return nil, err
24829	}
24830	defer googleapi.CloseBody(res)
24831	if err := googleapi.CheckResponse(res); err != nil {
24832		return nil, err
24833	}
24834	ret := &Empty{
24835		ServerResponse: googleapi.ServerResponse{
24836			Header:         res.Header,
24837			HTTPStatusCode: res.StatusCode,
24838		},
24839	}
24840	target := &ret
24841	if err := gensupport.DecodeResponse(target, res); err != nil {
24842		return nil, err
24843	}
24844	return ret, nil
24845	// {
24846	//   "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).",
24847	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24848	//   "httpMethod": "DELETE",
24849	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete",
24850	//   "parameterOrder": [
24851	//     "parent",
24852	//     "type"
24853	//   ],
24854	//   "parameters": {
24855	//     "parent": {
24856	//       "description": "The name of the FHIR store this resource belongs to.",
24857	//       "location": "path",
24858	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
24859	//       "required": true,
24860	//       "type": "string"
24861	//     },
24862	//     "type": {
24863	//       "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)).",
24864	//       "location": "path",
24865	//       "pattern": "^[^/]+$",
24866	//       "required": true,
24867	//       "type": "string"
24868	//     }
24869	//   },
24870	//   "path": "v1beta1/{+parent}/fhir/{+type}",
24871	//   "response": {
24872	//     "$ref": "Empty"
24873	//   },
24874	//   "scopes": [
24875	//     "https://www.googleapis.com/auth/cloud-platform"
24876	//   ]
24877	// }
24878
24879}
24880
24881// method id "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch":
24882
24883type ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall struct {
24884	s          *Service
24885	parent     string
24886	type_      string
24887	body_      io.Reader
24888	urlParams_ gensupport.URLParams
24889	ctx_       context.Context
24890	header_    http.Header
24891}
24892
24893// ConditionalPatch: If a resource is found based on the search criteria
24894// specified in the query parameters, updates part of that resource by
24895// applying the operations specified in a JSON Patch
24896// (http://jsonpatch.com/) document. Implements the FHIR standard
24897// conditional patch interaction (STU3
24898// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
24899// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
24900// doesn't define a conditional patch method, but the server supports it
24901// in the same way it supports STU3. Search terms are provided as query
24902// parameters following the same pattern as the search method. If the
24903// search criteria identify more than one match, the request returns a
24904// `412 Precondition Failed` error. The request body must contain a JSON
24905// Patch document, and the request headers must contain `Content-Type:
24906// application/json-patch+json`. On success, the response body contains
24907// a JSON-encoded representation of the updated resource, including the
24908// server-assigned version ID. Errors generated by the FHIR store
24909// contain a JSON-encoded `OperationOutcome` resource describing the
24910// reason for the error. If the request cannot be mapped to a valid API
24911// method on a FHIR store, a generic GCP error might be returned
24912// instead. This method requires
24913// the`healthcare.fhirStores.searchResources` permission on the parent
24914// FHIR store and the `healthcare.fhirResources.patch` permission on the
24915// requested FHIR store resource. For samples that show how to call
24916// `conditionalPatch`, see Conditionally patching a FHIR resource
24917// (/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir
24918// _resource).
24919//
24920// - parent: The name of the FHIR store this resource belongs to.
24921// - type: The FHIR resource type to update, such as Patient or
24922//   Observation. For a complete list, see the FHIR Resource Index
24923//   (DSTU2
24924//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
24925//   STU3
24926//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
24927//   R4
24928//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
24929func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalPatch(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
24930	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall{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 *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
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 *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall {
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 *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Header() http.Header {
24956	if c.header_ == nil {
24957		c.header_ = make(http.Header)
24958	}
24959	return c.header_
24960}
24961
24962func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) doRequest(alt string) (*http.Response, error) {
24963	reqHeaders := make(http.Header)
24964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
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("PATCH", 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.conditionalPatch" call.
24986func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
24987	gensupport.SetOptions(c.urlParams_, opts...)
24988	return c.doRequest("")
24989	// {
24990	//   "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).",
24991	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
24992	//   "httpMethod": "PATCH",
24993	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch",
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 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)).",
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.conditionalUpdate":
25029
25030type ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall struct {
25031	s          *Service
25032	parent     string
25033	type_      string
25034	body_      io.Reader
25035	urlParams_ gensupport.URLParams
25036	ctx_       context.Context
25037	header_    http.Header
25038}
25039
25040// ConditionalUpdate: If a resource is found based on the search
25041// criteria specified in the query parameters, updates the entire
25042// contents of that resource. Implements the FHIR standard conditional
25043// update interaction (DSTU2
25044// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),
25045// STU3
25046// (https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),
25047// R4
25048// (https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).
25049// Search terms are provided as query parameters following the same
25050// pattern as the search method. If the search criteria identify more
25051// than one match, the request returns a `412 Precondition Failed`
25052// error. If the search criteria identify zero matches, and the supplied
25053// resource body contains an `id`, and the FHIR store has
25054// enable_update_create set, creates the resource with the
25055// client-specified ID. It is strongly advised not to include or encode
25056// any sensitive data such as patient identifiers in client-specified
25057// resource IDs. Those IDs are part of the FHIR resource path recorded
25058// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
25059// contained in reference fields within other resources. If the search
25060// criteria identify zero matches, and the supplied resource body does
25061// not contain an `id`, the resource is created with a server-assigned
25062// ID as per the create method. The request body must contain a
25063// JSON-encoded FHIR resource, and the request headers must contain
25064// `Content-Type: application/fhir+json`. On success, the response body
25065// contains a JSON-encoded representation of the updated resource,
25066// including the server-assigned version ID. Errors generated by the
25067// FHIR store contain a JSON-encoded `OperationOutcome` resource
25068// describing the reason for the error. If the request cannot be mapped
25069// to a valid API method on a FHIR store, a generic GCP error might be
25070// returned instead. This method requires
25071// the`healthcare.fhirStores.searchResources` and
25072// `healthcare.fhirResources.update` permissions on the parent FHIR
25073// store. For samples that show how to call `conditionalUpdate`, see
25074// Conditionally updating a FHIR resource
25075// (/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir
25076// _resource).
25077//
25078// - parent: The name of the FHIR store this resource belongs to.
25079// - type: The FHIR resource type to update, such as Patient or
25080//   Observation. For a complete list, see the FHIR Resource Index
25081//   (DSTU2
25082//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
25083//   STU3
25084//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
25085//   R4
25086//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
25087//   Must match the resource type in the provided content.
25088func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ConditionalUpdate(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
25089	c := &ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25090	c.parent = parent
25091	c.type_ = type_
25092	c.body_ = body_
25093	return c
25094}
25095
25096// Fields allows partial responses to be retrieved. See
25097// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25098// for more information.
25099func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
25100	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25101	return c
25102}
25103
25104// Context sets the context to be used in this call's Do method. Any
25105// pending HTTP request will be aborted if the provided context is
25106// canceled.
25107func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall {
25108	c.ctx_ = ctx
25109	return c
25110}
25111
25112// Header returns an http.Header that can be modified by the caller to
25113// add HTTP headers to the request.
25114func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Header() http.Header {
25115	if c.header_ == nil {
25116		c.header_ = make(http.Header)
25117	}
25118	return c.header_
25119}
25120
25121func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) doRequest(alt string) (*http.Response, error) {
25122	reqHeaders := make(http.Header)
25123	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25124	for k, v := range c.header_ {
25125		reqHeaders[k] = v
25126	}
25127	reqHeaders.Set("User-Agent", c.s.userAgent())
25128	var body io.Reader = nil
25129	body = c.body_
25130	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
25131	urls += "?" + c.urlParams_.Encode()
25132	req, err := http.NewRequest("PUT", urls, body)
25133	if err != nil {
25134		return nil, err
25135	}
25136	req.Header = reqHeaders
25137	googleapi.Expand(req.URL, map[string]string{
25138		"parent": c.parent,
25139		"type":   c.type_,
25140	})
25141	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25142}
25143
25144// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate" call.
25145func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25146	gensupport.SetOptions(c.urlParams_, opts...)
25147	return c.doRequest("")
25148	// {
25149	//   "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).",
25150	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
25151	//   "httpMethod": "PUT",
25152	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate",
25153	//   "parameterOrder": [
25154	//     "parent",
25155	//     "type"
25156	//   ],
25157	//   "parameters": {
25158	//     "parent": {
25159	//       "description": "The name of the FHIR store this resource belongs to.",
25160	//       "location": "path",
25161	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25162	//       "required": true,
25163	//       "type": "string"
25164	//     },
25165	//     "type": {
25166	//       "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.",
25167	//       "location": "path",
25168	//       "pattern": "^[^/]+$",
25169	//       "required": true,
25170	//       "type": "string"
25171	//     }
25172	//   },
25173	//   "path": "v1beta1/{+parent}/fhir/{+type}",
25174	//   "request": {
25175	//     "$ref": "HttpBody"
25176	//   },
25177	//   "response": {
25178	//     "$ref": "HttpBody"
25179	//   },
25180	//   "scopes": [
25181	//     "https://www.googleapis.com/auth/cloud-platform"
25182	//   ]
25183	// }
25184
25185}
25186
25187// method id "healthcare.projects.locations.datasets.fhirStores.fhir.create":
25188
25189type ProjectsLocationsDatasetsFhirStoresFhirCreateCall struct {
25190	s          *Service
25191	parent     string
25192	type_      string
25193	body_      io.Reader
25194	urlParams_ gensupport.URLParams
25195	ctx_       context.Context
25196	header_    http.Header
25197}
25198
25199// Create: Creates a FHIR resource. Implements the FHIR standard create
25200// interaction (DSTU2
25201// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#create),
25202// STU3
25203// (https://hl7.org/implement/standards/fhir/STU3/http.html#create), R4
25204// (https://hl7.org/implement/standards/fhir/R4/http.html#create)),
25205// which creates a new resource with a server-assigned resource ID. Also
25206// supports the FHIR standard conditional create interaction (DSTU2
25207// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),
25208// STU3
25209// (https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), R4
25210// (https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),
25211// specified by supplying an `If-None-Exist` header containing a FHIR
25212// search query. If no resources match this search query, the server
25213// processes the create operation as normal. The request body must
25214// contain a JSON-encoded FHIR resource, and the request headers must
25215// contain `Content-Type: application/fhir+json`. On success, the
25216// response body contains a JSON-encoded representation of the resource
25217// as it was created on the server, including the server-assigned
25218// resource ID and version ID. Errors generated by the FHIR store
25219// contain a JSON-encoded `OperationOutcome` resource describing the
25220// reason for the error. If the request cannot be mapped to a valid API
25221// method on a FHIR store, a generic GCP error might be returned
25222// instead. For samples that show how to call `create`, see Creating a
25223// FHIR resource
25224// (/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).
25225//
25226// - parent: The name of the FHIR store this resource belongs to.
25227// - type: The FHIR resource type to create, such as Patient or
25228//   Observation. For a complete list, see the FHIR Resource Index
25229//   (DSTU2
25230//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
25231//   STU3
25232//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
25233//   R4
25234//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
25235//   Must match the resource type in the provided content.
25236func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Create(parent string, type_ string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
25237	c := &ProjectsLocationsDatasetsFhirStoresFhirCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25238	c.parent = parent
25239	c.type_ = type_
25240	c.body_ = body_
25241	return c
25242}
25243
25244// Fields allows partial responses to be retrieved. See
25245// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25246// for more information.
25247func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
25248	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25249	return c
25250}
25251
25252// Context sets the context to be used in this call's Do method. Any
25253// pending HTTP request will be aborted if the provided context is
25254// canceled.
25255func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirCreateCall {
25256	c.ctx_ = ctx
25257	return c
25258}
25259
25260// Header returns an http.Header that can be modified by the caller to
25261// add HTTP headers to the request.
25262func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Header() http.Header {
25263	if c.header_ == nil {
25264		c.header_ = make(http.Header)
25265	}
25266	return c.header_
25267}
25268
25269func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
25270	reqHeaders := make(http.Header)
25271	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25272	for k, v := range c.header_ {
25273		reqHeaders[k] = v
25274	}
25275	reqHeaders.Set("User-Agent", c.s.userAgent())
25276	var body io.Reader = nil
25277	body = c.body_
25278	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{+type}")
25279	urls += "?" + c.urlParams_.Encode()
25280	req, err := http.NewRequest("POST", urls, body)
25281	if err != nil {
25282		return nil, err
25283	}
25284	req.Header = reqHeaders
25285	googleapi.Expand(req.URL, map[string]string{
25286		"parent": c.parent,
25287		"type":   c.type_,
25288	})
25289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25290}
25291
25292// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.create" call.
25293func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25294	gensupport.SetOptions(c.urlParams_, opts...)
25295	return c.doRequest("")
25296	// {
25297	//   "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).",
25298	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
25299	//   "httpMethod": "POST",
25300	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create",
25301	//   "parameterOrder": [
25302	//     "parent",
25303	//     "type"
25304	//   ],
25305	//   "parameters": {
25306	//     "parent": {
25307	//       "description": "The name of the FHIR store this resource belongs to.",
25308	//       "location": "path",
25309	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25310	//       "required": true,
25311	//       "type": "string"
25312	//     },
25313	//     "type": {
25314	//       "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.",
25315	//       "location": "path",
25316	//       "pattern": "^[^/]+$",
25317	//       "required": true,
25318	//       "type": "string"
25319	//     }
25320	//   },
25321	//   "path": "v1beta1/{+parent}/fhir/{+type}",
25322	//   "request": {
25323	//     "$ref": "HttpBody"
25324	//   },
25325	//   "response": {
25326	//     "$ref": "HttpBody"
25327	//   },
25328	//   "scopes": [
25329	//     "https://www.googleapis.com/auth/cloud-platform"
25330	//   ]
25331	// }
25332
25333}
25334
25335// method id "healthcare.projects.locations.datasets.fhirStores.fhir.delete":
25336
25337type ProjectsLocationsDatasetsFhirStoresFhirDeleteCall struct {
25338	s          *Service
25339	name       string
25340	urlParams_ gensupport.URLParams
25341	ctx_       context.Context
25342	header_    http.Header
25343}
25344
25345// Delete: Deletes a FHIR resource. Implements the FHIR standard delete
25346// interaction (DSTU2
25347// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),
25348// STU3
25349// (https://hl7.org/implement/standards/fhir/STU3/http.html#delete), R4
25350// (https://hl7.org/implement/standards/fhir/R4/http.html#delete)).
25351// Note: Unless resource versioning is disabled by setting the
25352// disable_resource_versioning flag on the FHIR store, the deleted
25353// resources are moved to a history repository that can still be
25354// retrieved through vread and related methods, unless they are removed
25355// by the purge method. For samples that show how to call `delete`, see
25356// Deleting a FHIR resource
25357// (/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).
25358//
25359// - name: The name of the resource to delete.
25360func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Delete(name string) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25361	c := &ProjectsLocationsDatasetsFhirStoresFhirDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25362	c.name = name
25363	return c
25364}
25365
25366// Fields allows partial responses to be retrieved. See
25367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25368// for more information.
25369func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25370	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25371	return c
25372}
25373
25374// Context sets the context to be used in this call's Do method. Any
25375// pending HTTP request will be aborted if the provided context is
25376// canceled.
25377func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall {
25378	c.ctx_ = ctx
25379	return c
25380}
25381
25382// Header returns an http.Header that can be modified by the caller to
25383// add HTTP headers to the request.
25384func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Header() http.Header {
25385	if c.header_ == nil {
25386		c.header_ = make(http.Header)
25387	}
25388	return c.header_
25389}
25390
25391func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
25392	reqHeaders := make(http.Header)
25393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25394	for k, v := range c.header_ {
25395		reqHeaders[k] = v
25396	}
25397	reqHeaders.Set("User-Agent", c.s.userAgent())
25398	var body io.Reader = nil
25399	c.urlParams_.Set("alt", alt)
25400	c.urlParams_.Set("prettyPrint", "false")
25401	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25402	urls += "?" + c.urlParams_.Encode()
25403	req, err := http.NewRequest("DELETE", urls, body)
25404	if err != nil {
25405		return nil, err
25406	}
25407	req.Header = reqHeaders
25408	googleapi.Expand(req.URL, map[string]string{
25409		"name": c.name,
25410	})
25411	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25412}
25413
25414// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.delete" call.
25415func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25416	gensupport.SetOptions(c.urlParams_, opts...)
25417	return c.doRequest("")
25418	// {
25419	//   "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).",
25420	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25421	//   "httpMethod": "DELETE",
25422	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete",
25423	//   "parameterOrder": [
25424	//     "name"
25425	//   ],
25426	//   "parameters": {
25427	//     "name": {
25428	//       "description": "The name of the resource to delete.",
25429	//       "location": "path",
25430	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25431	//       "required": true,
25432	//       "type": "string"
25433	//     }
25434	//   },
25435	//   "path": "v1beta1/{+name}",
25436	//   "response": {
25437	//     "$ref": "HttpBody"
25438	//   },
25439	//   "scopes": [
25440	//     "https://www.googleapis.com/auth/cloud-platform"
25441	//   ]
25442	// }
25443
25444}
25445
25446// method id "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle":
25447
25448type ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall struct {
25449	s          *Service
25450	parent     string
25451	body_      io.Reader
25452	urlParams_ gensupport.URLParams
25453	ctx_       context.Context
25454	header_    http.Header
25455}
25456
25457// ExecuteBundle: Executes all the requests in the given Bundle.
25458// Implements the FHIR standard batch/transaction interaction (DSTU2
25459// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),
25460// STU3
25461// (https://hl7.org/implement/standards/fhir/STU3/http.html#transaction),
25462// R4
25463// (https://hl7.org/implement/standards/fhir/R4/http.html#transaction)).
25464// Supports all interactions within a bundle, except search. This method
25465// accepts Bundles of type `batch` and `transaction`, processing them
25466// according to the batch processing rules (DSTU2
25467// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),
25468// STU3
25469// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),
25470// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#brules))
25471// and transaction processing rules (DSTU2
25472// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),
25473// STU3
25474// (https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),
25475// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#trules)).
25476// The request body must contain a JSON-encoded FHIR `Bundle` resource,
25477// and the request headers must contain `Content-Type:
25478// application/fhir+json`. For a batch bundle or a successful
25479// transaction the response body contains a JSON-encoded representation
25480// of a `Bundle` resource of type `batch-response` or
25481// `transaction-response` containing one entry for each entry in the
25482// request, with the outcome of processing the entry. In the case of an
25483// error for a transaction bundle, the response body contains a
25484// JSON-encoded `OperationOutcome` resource describing the reason for
25485// the error. If the request cannot be mapped to a valid API method on a
25486// FHIR store, a generic GCP error might be returned instead. This
25487// method requires permission for executing the requests in the bundle.
25488// The `executeBundle` permission grants permission to execute the
25489// request in the bundle but you must grant sufficient permissions to
25490// execute the individual requests in the bundle. For example, if the
25491// bundle contains a `create` request, you must have permission to
25492// execute the `create` request. Logging is available for the
25493// `executeBundle` permission. For samples that show how to call
25494// `executeBundle`, see Managing FHIR resources using FHIR bundles
25495// (/healthcare/docs/how-tos/fhir-bundles).
25496//
25497// - parent: Name of the FHIR store in which this bundle will be
25498//   executed.
25499func (r *ProjectsLocationsDatasetsFhirStoresFhirService) ExecuteBundle(parent string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25500	c := &ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25501	c.parent = parent
25502	c.body_ = body_
25503	return c
25504}
25505
25506// Fields allows partial responses to be retrieved. See
25507// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25508// for more information.
25509func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25510	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25511	return c
25512}
25513
25514// Context sets the context to be used in this call's Do method. Any
25515// pending HTTP request will be aborted if the provided context is
25516// canceled.
25517func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall {
25518	c.ctx_ = ctx
25519	return c
25520}
25521
25522// Header returns an http.Header that can be modified by the caller to
25523// add HTTP headers to the request.
25524func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Header() http.Header {
25525	if c.header_ == nil {
25526		c.header_ = make(http.Header)
25527	}
25528	return c.header_
25529}
25530
25531func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
25532	reqHeaders := make(http.Header)
25533	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25534	for k, v := range c.header_ {
25535		reqHeaders[k] = v
25536	}
25537	reqHeaders.Set("User-Agent", c.s.userAgent())
25538	var body io.Reader = nil
25539	body = c.body_
25540	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir")
25541	urls += "?" + c.urlParams_.Encode()
25542	req, err := http.NewRequest("POST", urls, body)
25543	if err != nil {
25544		return nil, err
25545	}
25546	req.Header = reqHeaders
25547	googleapi.Expand(req.URL, map[string]string{
25548		"parent": c.parent,
25549	})
25550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25551}
25552
25553// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle" call.
25554func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25555	gensupport.SetOptions(c.urlParams_, opts...)
25556	return c.doRequest("")
25557	// {
25558	//   "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).",
25559	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir",
25560	//   "httpMethod": "POST",
25561	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle",
25562	//   "parameterOrder": [
25563	//     "parent"
25564	//   ],
25565	//   "parameters": {
25566	//     "parent": {
25567	//       "description": "Name of the FHIR store in which this bundle will be executed.",
25568	//       "location": "path",
25569	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
25570	//       "required": true,
25571	//       "type": "string"
25572	//     }
25573	//   },
25574	//   "path": "v1beta1/{+parent}/fhir",
25575	//   "request": {
25576	//     "$ref": "HttpBody"
25577	//   },
25578	//   "response": {
25579	//     "$ref": "HttpBody"
25580	//   },
25581	//   "scopes": [
25582	//     "https://www.googleapis.com/auth/cloud-platform"
25583	//   ]
25584	// }
25585
25586}
25587
25588// method id "healthcare.projects.locations.datasets.fhirStores.fhir.history":
25589
25590type ProjectsLocationsDatasetsFhirStoresFhirHistoryCall struct {
25591	s            *Service
25592	name         string
25593	urlParams_   gensupport.URLParams
25594	ifNoneMatch_ string
25595	ctx_         context.Context
25596	header_      http.Header
25597}
25598
25599// History: Lists all the versions of a resource (including the current
25600// version and deleted versions) from the FHIR store. Implements the
25601// per-resource form of the FHIR standard history interaction (DSTU2
25602// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#history),
25603// STU3
25604// (https://hl7.org/implement/standards/fhir/STU3/http.html#history), R4
25605// (https://hl7.org/implement/standards/fhir/R4/http.html#history)). On
25606// success, the response body contains a JSON-encoded representation of
25607// a `Bundle` resource of type `history`, containing the version history
25608// sorted from most recent to oldest versions. Errors generated by the
25609// FHIR store contain a JSON-encoded `OperationOutcome` resource
25610// describing the reason for the error. If the request cannot be mapped
25611// to a valid API method on a FHIR store, a generic GCP error might be
25612// returned instead. For samples that show how to call `history`, see
25613// Listing FHIR resource versions
25614// (/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_version
25615// s).
25616//
25617// - name: The name of the resource to retrieve.
25618func (r *ProjectsLocationsDatasetsFhirStoresFhirService) History(name string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25619	c := &ProjectsLocationsDatasetsFhirStoresFhirHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25620	c.name = name
25621	return c
25622}
25623
25624// At sets the optional parameter "_at": Only include resource versions
25625// that were current at some point during the time period specified in
25626// the date time value. The date parameter format is
25627// yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm] Clients may specify any of the
25628// following: * An entire year: `_at=2019` * An entire month:
25629// `_at=2019-01` * A specific day: `_at=2019-01-20` * A specific second:
25630// `_at=2018-12-31T23:59:58Z`
25631func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) At(At string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25632	c.urlParams_.Set("_at", At)
25633	return c
25634}
25635
25636// Count sets the optional parameter "_count": The maximum number of
25637// search results on a page. If not specified, 100 is used. May not be
25638// larger than 1000.
25639func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Count(Count int64) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25640	c.urlParams_.Set("_count", fmt.Sprint(Count))
25641	return c
25642}
25643
25644// PageToken sets the optional parameter "_page_token": Used to retrieve
25645// the first, previous, next, or last page of resource versions when
25646// using pagination. Value should be set to the value of `_page_token`
25647// set in next or previous page links' URLs. Next and previous page are
25648// returned in the response bundle's links field, where `link.relation`
25649// is "previous" or "next". Omit `_page_token` if no previous request
25650// has been made.
25651func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) PageToken(PageToken string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25652	c.urlParams_.Set("_page_token", PageToken)
25653	return c
25654}
25655
25656// Since sets the optional parameter "_since": Only include resource
25657// versions that were created at or after the given instant in time. The
25658// instant in time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz (for
25659// example 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z). The
25660// time must be specified to the second and include a time zone.
25661func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Since(Since string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25662	c.urlParams_.Set("_since", Since)
25663	return c
25664}
25665
25666// Fields allows partial responses to be retrieved. See
25667// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25668// for more information.
25669func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25670	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25671	return c
25672}
25673
25674// IfNoneMatch sets the optional parameter which makes the operation
25675// fail if the object's ETag matches the given value. This is useful for
25676// getting updates only after the object has changed since the last
25677// request. Use googleapi.IsNotModified to check whether the response
25678// error from Do is the result of In-None-Match.
25679func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25680	c.ifNoneMatch_ = entityTag
25681	return c
25682}
25683
25684// Context sets the context to be used in this call's Do method. Any
25685// pending HTTP request will be aborted if the provided context is
25686// canceled.
25687func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall {
25688	c.ctx_ = ctx
25689	return c
25690}
25691
25692// Header returns an http.Header that can be modified by the caller to
25693// add HTTP headers to the request.
25694func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Header() http.Header {
25695	if c.header_ == nil {
25696		c.header_ = make(http.Header)
25697	}
25698	return c.header_
25699}
25700
25701func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
25702	reqHeaders := make(http.Header)
25703	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25704	for k, v := range c.header_ {
25705		reqHeaders[k] = v
25706	}
25707	reqHeaders.Set("User-Agent", c.s.userAgent())
25708	if c.ifNoneMatch_ != "" {
25709		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25710	}
25711	var body io.Reader = nil
25712	c.urlParams_.Set("alt", alt)
25713	c.urlParams_.Set("prettyPrint", "false")
25714	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/_history")
25715	urls += "?" + c.urlParams_.Encode()
25716	req, err := http.NewRequest("GET", urls, body)
25717	if err != nil {
25718		return nil, err
25719	}
25720	req.Header = reqHeaders
25721	googleapi.Expand(req.URL, map[string]string{
25722		"name": c.name,
25723	})
25724	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25725}
25726
25727// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.history" call.
25728func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25729	gensupport.SetOptions(c.urlParams_, opts...)
25730	return c.doRequest("")
25731	// {
25732	//   "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).",
25733	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history",
25734	//   "httpMethod": "GET",
25735	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history",
25736	//   "parameterOrder": [
25737	//     "name"
25738	//   ],
25739	//   "parameters": {
25740	//     "_at": {
25741	//       "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`",
25742	//       "location": "query",
25743	//       "type": "string"
25744	//     },
25745	//     "_count": {
25746	//       "description": "The maximum number of search results on a page. If not specified, 100 is used. May not be larger than 1000.",
25747	//       "format": "int32",
25748	//       "location": "query",
25749	//       "type": "integer"
25750	//     },
25751	//     "_page_token": {
25752	//       "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.",
25753	//       "location": "query",
25754	//       "type": "string"
25755	//     },
25756	//     "_since": {
25757	//       "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.",
25758	//       "location": "query",
25759	//       "type": "string"
25760	//     },
25761	//     "name": {
25762	//       "description": "The name of the resource to retrieve.",
25763	//       "location": "path",
25764	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25765	//       "required": true,
25766	//       "type": "string"
25767	//     }
25768	//   },
25769	//   "path": "v1beta1/{+name}/_history",
25770	//   "response": {
25771	//     "$ref": "HttpBody"
25772	//   },
25773	//   "scopes": [
25774	//     "https://www.googleapis.com/auth/cloud-platform"
25775	//   ]
25776	// }
25777
25778}
25779
25780// method id "healthcare.projects.locations.datasets.fhirStores.fhir.patch":
25781
25782type ProjectsLocationsDatasetsFhirStoresFhirPatchCall struct {
25783	s          *Service
25784	name       string
25785	body_      io.Reader
25786	urlParams_ gensupport.URLParams
25787	ctx_       context.Context
25788	header_    http.Header
25789}
25790
25791// Patch: Updates part of an existing resource by applying the
25792// operations specified in a JSON Patch (http://jsonpatch.com/)
25793// document. Implements the FHIR standard patch interaction (STU3
25794// (https://hl7.org/implement/standards/fhir/STU3/http.html#patch), R4
25795// (https://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2
25796// doesn't define a patch method, but the server supports it in the same
25797// way it supports STU3. The request body must contain a JSON Patch
25798// document, and the request headers must contain `Content-Type:
25799// application/json-patch+json`. On success, the response body contains
25800// a JSON-encoded representation of the updated resource, including the
25801// server-assigned version ID. Errors generated by the FHIR store
25802// contain a JSON-encoded `OperationOutcome` resource describing the
25803// reason for the error. If the request cannot be mapped to a valid API
25804// method on a FHIR store, a generic GCP error might be returned
25805// instead. For samples that show how to call `patch`, see Patching a
25806// FHIR resource
25807// (/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).
25808//
25809// - name: The name of the resource to update.
25810func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Patch(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25811	c := &ProjectsLocationsDatasetsFhirStoresFhirPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25812	c.name = name
25813	c.body_ = body_
25814	return c
25815}
25816
25817// Fields allows partial responses to be retrieved. See
25818// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25819// for more information.
25820func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25821	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25822	return c
25823}
25824
25825// Context sets the context to be used in this call's Do method. Any
25826// pending HTTP request will be aborted if the provided context is
25827// canceled.
25828func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirPatchCall {
25829	c.ctx_ = ctx
25830	return c
25831}
25832
25833// Header returns an http.Header that can be modified by the caller to
25834// add HTTP headers to the request.
25835func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Header() http.Header {
25836	if c.header_ == nil {
25837		c.header_ = make(http.Header)
25838	}
25839	return c.header_
25840}
25841
25842func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
25843	reqHeaders := make(http.Header)
25844	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25845	for k, v := range c.header_ {
25846		reqHeaders[k] = v
25847	}
25848	reqHeaders.Set("User-Agent", c.s.userAgent())
25849	var body io.Reader = nil
25850	body = c.body_
25851	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25852	urls += "?" + c.urlParams_.Encode()
25853	req, err := http.NewRequest("PATCH", urls, body)
25854	if err != nil {
25855		return nil, err
25856	}
25857	req.Header = reqHeaders
25858	googleapi.Expand(req.URL, map[string]string{
25859		"name": c.name,
25860	})
25861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25862}
25863
25864// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.patch" call.
25865func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25866	gensupport.SetOptions(c.urlParams_, opts...)
25867	return c.doRequest("")
25868	// {
25869	//   "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).",
25870	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
25871	//   "httpMethod": "PATCH",
25872	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch",
25873	//   "parameterOrder": [
25874	//     "name"
25875	//   ],
25876	//   "parameters": {
25877	//     "name": {
25878	//       "description": "The name of the resource to update.",
25879	//       "location": "path",
25880	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
25881	//       "required": true,
25882	//       "type": "string"
25883	//     }
25884	//   },
25885	//   "path": "v1beta1/{+name}",
25886	//   "request": {
25887	//     "$ref": "HttpBody"
25888	//   },
25889	//   "response": {
25890	//     "$ref": "HttpBody"
25891	//   },
25892	//   "scopes": [
25893	//     "https://www.googleapis.com/auth/cloud-platform"
25894	//   ]
25895	// }
25896
25897}
25898
25899// method id "healthcare.projects.locations.datasets.fhirStores.fhir.read":
25900
25901type ProjectsLocationsDatasetsFhirStoresFhirReadCall struct {
25902	s            *Service
25903	name         string
25904	urlParams_   gensupport.URLParams
25905	ifNoneMatch_ string
25906	ctx_         context.Context
25907	header_      http.Header
25908}
25909
25910// Read: Gets the contents of a FHIR resource. Implements the FHIR
25911// standard read interaction (DSTU2
25912// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), STU3
25913// (https://hl7.org/implement/standards/fhir/STU3/http.html#read), R4
25914// (https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also
25915// supports the FHIR standard conditional read interaction (DSTU2
25916// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),
25917// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#cread),
25918// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#cread))
25919// specified by supplying an `If-Modified-Since` header with a date/time
25920// value or an `If-None-Match` header with an ETag value. On success,
25921// the response body contains a JSON-encoded representation of the
25922// resource. Errors generated by the FHIR store contain a JSON-encoded
25923// `OperationOutcome` resource describing the reason for the error. If
25924// the request cannot be mapped to a valid API method on a FHIR store, a
25925// generic GCP error might be returned instead. For samples that show
25926// how to call `read`, see Getting a FHIR resource
25927// (/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).
25928//
25929// - name: The name of the resource to retrieve.
25930func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Read(name string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25931	c := &ProjectsLocationsDatasetsFhirStoresFhirReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25932	c.name = name
25933	return c
25934}
25935
25936// Fields allows partial responses to be retrieved. See
25937// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25938// for more information.
25939func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25940	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25941	return c
25942}
25943
25944// IfNoneMatch sets the optional parameter which makes the operation
25945// fail if the object's ETag matches the given value. This is useful for
25946// getting updates only after the object has changed since the last
25947// request. Use googleapi.IsNotModified to check whether the response
25948// error from Do is the result of In-None-Match.
25949func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25950	c.ifNoneMatch_ = entityTag
25951	return c
25952}
25953
25954// Context sets the context to be used in this call's Do method. Any
25955// pending HTTP request will be aborted if the provided context is
25956// canceled.
25957func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirReadCall {
25958	c.ctx_ = ctx
25959	return c
25960}
25961
25962// Header returns an http.Header that can be modified by the caller to
25963// add HTTP headers to the request.
25964func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Header() http.Header {
25965	if c.header_ == nil {
25966		c.header_ = make(http.Header)
25967	}
25968	return c.header_
25969}
25970
25971func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
25972	reqHeaders := make(http.Header)
25973	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25974	for k, v := range c.header_ {
25975		reqHeaders[k] = v
25976	}
25977	reqHeaders.Set("User-Agent", c.s.userAgent())
25978	if c.ifNoneMatch_ != "" {
25979		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25980	}
25981	var body io.Reader = nil
25982	c.urlParams_.Set("alt", alt)
25983	c.urlParams_.Set("prettyPrint", "false")
25984	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
25985	urls += "?" + c.urlParams_.Encode()
25986	req, err := http.NewRequest("GET", urls, body)
25987	if err != nil {
25988		return nil, err
25989	}
25990	req.Header = reqHeaders
25991	googleapi.Expand(req.URL, map[string]string{
25992		"name": c.name,
25993	})
25994	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25995}
25996
25997// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.read" call.
25998func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
25999	gensupport.SetOptions(c.urlParams_, opts...)
26000	return c.doRequest("")
26001	// {
26002	//   "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).",
26003	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
26004	//   "httpMethod": "GET",
26005	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read",
26006	//   "parameterOrder": [
26007	//     "name"
26008	//   ],
26009	//   "parameters": {
26010	//     "name": {
26011	//       "description": "The name of the resource to retrieve.",
26012	//       "location": "path",
26013	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
26014	//       "required": true,
26015	//       "type": "string"
26016	//     }
26017	//   },
26018	//   "path": "v1beta1/{+name}",
26019	//   "response": {
26020	//     "$ref": "HttpBody"
26021	//   },
26022	//   "scopes": [
26023	//     "https://www.googleapis.com/auth/cloud-platform"
26024	//   ]
26025	// }
26026
26027}
26028
26029// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search":
26030
26031type ProjectsLocationsDatasetsFhirStoresFhirSearchCall struct {
26032	s                      *Service
26033	parent                 string
26034	searchresourcesrequest *SearchResourcesRequest
26035	urlParams_             gensupport.URLParams
26036	ctx_                   context.Context
26037	header_                http.Header
26038}
26039
26040// Search: Searches for resources in the given FHIR store according to
26041// criteria specified as query parameters. Implements the FHIR standard
26042// search interaction (DSTU2
26043// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
26044// STU3
26045// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
26046// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
26047// the search semantics described in the FHIR Search specification
26048// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
26049// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
26050// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
26051// four methods of search defined by the specification: * `GET
26052// [base]?[parameters]` to search across all resources. * `GET
26053// [base]/[type]?[parameters]` to search resources of a specified type.
26054// * `POST [base]/_search?[parameters]` as an alternate form having the
26055// same semantics as the `GET` method across all resources. * `POST
26056// [base]/[type]/_search?[parameters]` as an alternate form having the
26057// same semantics as the `GET` method for the specified type. The `GET`
26058// and `POST` methods do not support compartment searches. The `POST`
26059// method does not support `application/x-www-form-urlencoded` search
26060// parameters. On success, the response body contains a JSON-encoded
26061// representation of a `Bundle` resource of type `searchset`, containing
26062// the results of the search. Errors generated by the FHIR store contain
26063// a JSON-encoded `OperationOutcome` resource describing the reason for
26064// the error. If the request cannot be mapped to a valid API method on a
26065// FHIR store, a generic GCP error might be returned instead. The
26066// server's capability statement, retrieved through capabilities,
26067// indicates what search parameters are supported on each FHIR resource.
26068// A list of all search parameters defined by the specification can be
26069// found in the FHIR Search Parameter Registry (STU3
26070// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
26071// R4
26072// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
26073// FHIR search parameters for DSTU2 can be found on each resource's
26074// definition page. Supported search modifiers: `:missing`, `:exact`,
26075// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
26076// `:[type]`, `:not`, and `:recurse`. Supported search result
26077// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
26078// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
26079// of search results returned defaults to 100, which can be overridden
26080// by the `_count` parameter up to a maximum limit of 1000. If there are
26081// additional results, the returned `Bundle` contains pagination links.
26082// Resources with a total size larger than 5MB or a field count larger
26083// than 50,000 might not be fully searchable as the server might trim
26084// its generated search index in those cases. Note: FHIR resources are
26085// indexed asynchronously, so there might be a slight delay between the
26086// time a resource is created or changes and when the change is
26087// reflected in search results. For samples and detailed information,
26088// see Searching for FHIR resources
26089// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
26090// features (/healthcare/docs/how-tos/fhir-advanced-search).
26091//
26092// - parent: Name of the FHIR store to retrieve resources from.
26093func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Search(parent string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
26094	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26095	c.parent = parent
26096	c.searchresourcesrequest = searchresourcesrequest
26097	return c
26098}
26099
26100// Fields allows partial responses to be retrieved. See
26101// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26102// for more information.
26103func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
26104	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26105	return c
26106}
26107
26108// Context sets the context to be used in this call's Do method. Any
26109// pending HTTP request will be aborted if the provided context is
26110// canceled.
26111func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchCall {
26112	c.ctx_ = ctx
26113	return c
26114}
26115
26116// Header returns an http.Header that can be modified by the caller to
26117// add HTTP headers to the request.
26118func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Header() http.Header {
26119	if c.header_ == nil {
26120		c.header_ = make(http.Header)
26121	}
26122	return c.header_
26123}
26124
26125func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
26126	reqHeaders := make(http.Header)
26127	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26128	for k, v := range c.header_ {
26129		reqHeaders[k] = v
26130	}
26131	reqHeaders.Set("User-Agent", c.s.userAgent())
26132	var body io.Reader = nil
26133	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
26134	if err != nil {
26135		return nil, err
26136	}
26137	reqHeaders.Set("Content-Type", "application/json")
26138	c.urlParams_.Set("alt", alt)
26139	c.urlParams_.Set("prettyPrint", "false")
26140	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/_search")
26141	urls += "?" + c.urlParams_.Encode()
26142	req, err := http.NewRequest("POST", urls, body)
26143	if err != nil {
26144		return nil, err
26145	}
26146	req.Header = reqHeaders
26147	googleapi.Expand(req.URL, map[string]string{
26148		"parent": c.parent,
26149	})
26150	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26151}
26152
26153// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search" call.
26154func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26155	gensupport.SetOptions(c.urlParams_, opts...)
26156	return c.doRequest("")
26157	// {
26158	//   "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).",
26159	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
26160	//   "httpMethod": "POST",
26161	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
26162	//   "parameterOrder": [
26163	//     "parent"
26164	//   ],
26165	//   "parameters": {
26166	//     "parent": {
26167	//       "description": "Name of the FHIR store to retrieve resources from.",
26168	//       "location": "path",
26169	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
26170	//       "required": true,
26171	//       "type": "string"
26172	//     }
26173	//   },
26174	//   "path": "v1beta1/{+parent}/fhir/_search",
26175	//   "request": {
26176	//     "$ref": "SearchResourcesRequest"
26177	//   },
26178	//   "response": {
26179	//     "$ref": "HttpBody"
26180	//   },
26181	//   "scopes": [
26182	//     "https://www.googleapis.com/auth/cloud-platform"
26183	//   ]
26184	// }
26185
26186}
26187
26188// method id "healthcare.projects.locations.datasets.fhirStores.fhir.search-type":
26189
26190type ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall struct {
26191	s                      *Service
26192	parent                 string
26193	resourceType           string
26194	searchresourcesrequest *SearchResourcesRequest
26195	urlParams_             gensupport.URLParams
26196	ctx_                   context.Context
26197	header_                http.Header
26198}
26199
26200// SearchType: Searches for resources in the given FHIR store according
26201// to criteria specified as query parameters. Implements the FHIR
26202// standard search interaction (DSTU2
26203// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),
26204// STU3
26205// (https://hl7.org/implement/standards/fhir/STU3/http.html#search), R4
26206// (https://hl7.org/implement/standards/fhir/R4/http.html#search)) using
26207// the search semantics described in the FHIR Search specification
26208// (DSTU2 (https://hl7.org/implement/standards/fhir/DSTU2/search.html),
26209// STU3 (https://hl7.org/implement/standards/fhir/STU3/search.html), R4
26210// (https://hl7.org/implement/standards/fhir/R4/search.html)). Supports
26211// four methods of search defined by the specification: * `GET
26212// [base]?[parameters]` to search across all resources. * `GET
26213// [base]/[type]?[parameters]` to search resources of a specified type.
26214// * `POST [base]/_search?[parameters]` as an alternate form having the
26215// same semantics as the `GET` method across all resources. * `POST
26216// [base]/[type]/_search?[parameters]` as an alternate form having the
26217// same semantics as the `GET` method for the specified type. The `GET`
26218// and `POST` methods do not support compartment searches. The `POST`
26219// method does not support `application/x-www-form-urlencoded` search
26220// parameters. On success, the response body contains a JSON-encoded
26221// representation of a `Bundle` resource of type `searchset`, containing
26222// the results of the search. Errors generated by the FHIR store contain
26223// a JSON-encoded `OperationOutcome` resource describing the reason for
26224// the error. If the request cannot be mapped to a valid API method on a
26225// FHIR store, a generic GCP error might be returned instead. The
26226// server's capability statement, retrieved through capabilities,
26227// indicates what search parameters are supported on each FHIR resource.
26228// A list of all search parameters defined by the specification can be
26229// found in the FHIR Search Parameter Registry (STU3
26230// (https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),
26231// R4
26232// (https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).
26233// FHIR search parameters for DSTU2 can be found on each resource's
26234// definition page. Supported search modifiers: `:missing`, `:exact`,
26235// `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`,
26236// `:[type]`, `:not`, and `:recurse`. Supported search result
26237// parameters: `_sort`, `_count`, `_include`, `_revinclude`,
26238// `_summary=text`, `_summary=data`, and `_elements`. The maximum number
26239// of search results returned defaults to 100, which can be overridden
26240// by the `_count` parameter up to a maximum limit of 1000. If there are
26241// additional results, the returned `Bundle` contains pagination links.
26242// Resources with a total size larger than 5MB or a field count larger
26243// than 50,000 might not be fully searchable as the server might trim
26244// its generated search index in those cases. Note: FHIR resources are
26245// indexed asynchronously, so there might be a slight delay between the
26246// time a resource is created or changes and when the change is
26247// reflected in search results. For samples and detailed information,
26248// see Searching for FHIR resources
26249// (/healthcare/docs/how-tos/fhir-search) and Advanced FHIR search
26250// features (/healthcare/docs/how-tos/fhir-advanced-search).
26251//
26252// - parent: Name of the FHIR store to retrieve resources from.
26253// - resourceType: The FHIR resource type to search, such as Patient or
26254//   Observation. For a complete list, see the FHIR Resource Index
26255//   (DSTU2
26256//   (https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
26257//   STU3
26258//   (https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
26259//   R4
26260//   (https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
26261func (r *ProjectsLocationsDatasetsFhirStoresFhirService) SearchType(parent string, resourceType string, searchresourcesrequest *SearchResourcesRequest) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
26262	c := &ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26263	c.parent = parent
26264	c.resourceType = resourceType
26265	c.searchresourcesrequest = searchresourcesrequest
26266	return c
26267}
26268
26269// Fields allows partial responses to be retrieved. See
26270// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26271// for more information.
26272func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
26273	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26274	return c
26275}
26276
26277// Context sets the context to be used in this call's Do method. Any
26278// pending HTTP request will be aborted if the provided context is
26279// canceled.
26280func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall {
26281	c.ctx_ = ctx
26282	return c
26283}
26284
26285// Header returns an http.Header that can be modified by the caller to
26286// add HTTP headers to the request.
26287func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Header() http.Header {
26288	if c.header_ == nil {
26289		c.header_ = make(http.Header)
26290	}
26291	return c.header_
26292}
26293
26294func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) doRequest(alt string) (*http.Response, error) {
26295	reqHeaders := make(http.Header)
26296	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26297	for k, v := range c.header_ {
26298		reqHeaders[k] = v
26299	}
26300	reqHeaders.Set("User-Agent", c.s.userAgent())
26301	var body io.Reader = nil
26302	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchresourcesrequest)
26303	if err != nil {
26304		return nil, err
26305	}
26306	reqHeaders.Set("Content-Type", "application/json")
26307	c.urlParams_.Set("alt", alt)
26308	c.urlParams_.Set("prettyPrint", "false")
26309	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fhir/{resourceType}/_search")
26310	urls += "?" + c.urlParams_.Encode()
26311	req, err := http.NewRequest("POST", urls, body)
26312	if err != nil {
26313		return nil, err
26314	}
26315	req.Header = reqHeaders
26316	googleapi.Expand(req.URL, map[string]string{
26317		"parent":       c.parent,
26318		"resourceType": c.resourceType,
26319	})
26320	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26321}
26322
26323// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.search-type" call.
26324func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchTypeCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26325	gensupport.SetOptions(c.urlParams_, opts...)
26326	return c.doRequest("")
26327	// {
26328	//   "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).",
26329	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
26330	//   "httpMethod": "POST",
26331	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
26332	//   "parameterOrder": [
26333	//     "parent",
26334	//     "resourceType"
26335	//   ],
26336	//   "parameters": {
26337	//     "parent": {
26338	//       "description": "Name of the FHIR store to retrieve resources from.",
26339	//       "location": "path",
26340	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
26341	//       "required": true,
26342	//       "type": "string"
26343	//     },
26344	//     "resourceType": {
26345	//       "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)).",
26346	//       "location": "path",
26347	//       "required": true,
26348	//       "type": "string"
26349	//     }
26350	//   },
26351	//   "path": "v1beta1/{+parent}/fhir/{resourceType}/_search",
26352	//   "request": {
26353	//     "$ref": "SearchResourcesRequest"
26354	//   },
26355	//   "response": {
26356	//     "$ref": "HttpBody"
26357	//   },
26358	//   "scopes": [
26359	//     "https://www.googleapis.com/auth/cloud-platform"
26360	//   ]
26361	// }
26362
26363}
26364
26365// method id "healthcare.projects.locations.datasets.fhirStores.fhir.update":
26366
26367type ProjectsLocationsDatasetsFhirStoresFhirUpdateCall struct {
26368	s          *Service
26369	name       string
26370	body_      io.Reader
26371	urlParams_ gensupport.URLParams
26372	ctx_       context.Context
26373	header_    http.Header
26374}
26375
26376// Update: Updates the entire contents of a resource. Implements the
26377// FHIR standard update interaction (DSTU2
26378// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#update),
26379// STU3
26380// (https://hl7.org/implement/standards/fhir/STU3/http.html#update), R4
26381// (https://hl7.org/implement/standards/fhir/R4/http.html#update)). If
26382// the specified resource does not exist and the FHIR store has
26383// enable_update_create set, creates the resource with the
26384// client-specified ID. It is strongly advised not to include or encode
26385// any sensitive data such as patient identifiers in client-specified
26386// resource IDs. Those IDs are part of the FHIR resource path recorded
26387// in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be
26388// contained in reference fields within other resources. The request
26389// body must contain a JSON-encoded FHIR resource, and the request
26390// headers must contain `Content-Type: application/fhir+json`. The
26391// resource must contain an `id` element having an identical value to
26392// the ID in the REST path of the request. On success, the response body
26393// contains a JSON-encoded representation of the updated resource,
26394// including the server-assigned version ID. Errors generated by the
26395// FHIR store contain a JSON-encoded `OperationOutcome` resource
26396// describing the reason for the error. If the request cannot be mapped
26397// to a valid API method on a FHIR store, a generic GCP error might be
26398// returned instead. For samples that show how to call `update`, see
26399// Updating a FHIR resource
26400// (/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).
26401//
26402// - name: The name of the resource to update.
26403func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Update(name string, body_ io.Reader) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26404	c := &ProjectsLocationsDatasetsFhirStoresFhirUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26405	c.name = name
26406	c.body_ = body_
26407	return c
26408}
26409
26410// Fields allows partial responses to be retrieved. See
26411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26412// for more information.
26413func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26415	return c
26416}
26417
26418// Context sets the context to be used in this call's Do method. Any
26419// pending HTTP request will be aborted if the provided context is
26420// canceled.
26421func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall {
26422	c.ctx_ = ctx
26423	return c
26424}
26425
26426// Header returns an http.Header that can be modified by the caller to
26427// add HTTP headers to the request.
26428func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Header() http.Header {
26429	if c.header_ == nil {
26430		c.header_ = make(http.Header)
26431	}
26432	return c.header_
26433}
26434
26435func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
26436	reqHeaders := make(http.Header)
26437	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26438	for k, v := range c.header_ {
26439		reqHeaders[k] = v
26440	}
26441	reqHeaders.Set("User-Agent", c.s.userAgent())
26442	var body io.Reader = nil
26443	body = c.body_
26444	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26445	urls += "?" + c.urlParams_.Encode()
26446	req, err := http.NewRequest("PUT", urls, body)
26447	if err != nil {
26448		return nil, err
26449	}
26450	req.Header = reqHeaders
26451	googleapi.Expand(req.URL, map[string]string{
26452		"name": c.name,
26453	})
26454	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26455}
26456
26457// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.update" call.
26458func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26459	gensupport.SetOptions(c.urlParams_, opts...)
26460	return c.doRequest("")
26461	// {
26462	//   "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).",
26463	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
26464	//   "httpMethod": "PUT",
26465	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update",
26466	//   "parameterOrder": [
26467	//     "name"
26468	//   ],
26469	//   "parameters": {
26470	//     "name": {
26471	//       "description": "The name of the resource to update.",
26472	//       "location": "path",
26473	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
26474	//       "required": true,
26475	//       "type": "string"
26476	//     }
26477	//   },
26478	//   "path": "v1beta1/{+name}",
26479	//   "request": {
26480	//     "$ref": "HttpBody"
26481	//   },
26482	//   "response": {
26483	//     "$ref": "HttpBody"
26484	//   },
26485	//   "scopes": [
26486	//     "https://www.googleapis.com/auth/cloud-platform"
26487	//   ]
26488	// }
26489
26490}
26491
26492// method id "healthcare.projects.locations.datasets.fhirStores.fhir.vread":
26493
26494type ProjectsLocationsDatasetsFhirStoresFhirVreadCall struct {
26495	s            *Service
26496	name         string
26497	urlParams_   gensupport.URLParams
26498	ifNoneMatch_ string
26499	ctx_         context.Context
26500	header_      http.Header
26501}
26502
26503// Vread: Gets the contents of a version (current or historical) of a
26504// FHIR resource by version ID. Implements the FHIR standard vread
26505// interaction (DSTU2
26506// (https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),
26507// STU3 (https://hl7.org/implement/standards/fhir/STU3/http.html#vread),
26508// R4 (https://hl7.org/implement/standards/fhir/R4/http.html#vread)). On
26509// success, the response body contains a JSON-encoded representation of
26510// the resource. Errors generated by the FHIR store contain a
26511// JSON-encoded `OperationOutcome` resource describing the reason for
26512// the error. If the request cannot be mapped to a valid API method on a
26513// FHIR store, a generic GCP error might be returned instead. For
26514// samples that show how to call `vread`, see Retrieving a FHIR resource
26515// version
26516// (/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_ve
26517// rsion).
26518//
26519// - name: The name of the resource version to retrieve.
26520func (r *ProjectsLocationsDatasetsFhirStoresFhirService) Vread(name string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26521	c := &ProjectsLocationsDatasetsFhirStoresFhirVreadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26522	c.name = name
26523	return c
26524}
26525
26526// Fields allows partial responses to be retrieved. See
26527// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26528// for more information.
26529func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26530	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26531	return c
26532}
26533
26534// IfNoneMatch sets the optional parameter which makes the operation
26535// fail if the object's ETag matches the given value. This is useful for
26536// getting updates only after the object has changed since the last
26537// request. Use googleapi.IsNotModified to check whether the response
26538// error from Do is the result of In-None-Match.
26539func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26540	c.ifNoneMatch_ = entityTag
26541	return c
26542}
26543
26544// Context sets the context to be used in this call's Do method. Any
26545// pending HTTP request will be aborted if the provided context is
26546// canceled.
26547func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Context(ctx context.Context) *ProjectsLocationsDatasetsFhirStoresFhirVreadCall {
26548	c.ctx_ = ctx
26549	return c
26550}
26551
26552// Header returns an http.Header that can be modified by the caller to
26553// add HTTP headers to the request.
26554func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Header() http.Header {
26555	if c.header_ == nil {
26556		c.header_ = make(http.Header)
26557	}
26558	return c.header_
26559}
26560
26561func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
26562	reqHeaders := make(http.Header)
26563	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26564	for k, v := range c.header_ {
26565		reqHeaders[k] = v
26566	}
26567	reqHeaders.Set("User-Agent", c.s.userAgent())
26568	if c.ifNoneMatch_ != "" {
26569		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26570	}
26571	var body io.Reader = nil
26572	c.urlParams_.Set("alt", alt)
26573	c.urlParams_.Set("prettyPrint", "false")
26574	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26575	urls += "?" + c.urlParams_.Encode()
26576	req, err := http.NewRequest("GET", urls, body)
26577	if err != nil {
26578		return nil, err
26579	}
26580	req.Header = reqHeaders
26581	googleapi.Expand(req.URL, map[string]string{
26582		"name": c.name,
26583	})
26584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26585}
26586
26587// Do executes the "healthcare.projects.locations.datasets.fhirStores.fhir.vread" call.
26588func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) Do(opts ...googleapi.CallOption) (*http.Response, error) {
26589	gensupport.SetOptions(c.urlParams_, opts...)
26590	return c.doRequest("")
26591	// {
26592	//   "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).",
26593	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}",
26594	//   "httpMethod": "GET",
26595	//   "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread",
26596	//   "parameterOrder": [
26597	//     "name"
26598	//   ],
26599	//   "parameters": {
26600	//     "name": {
26601	//       "description": "The name of the resource version to retrieve.",
26602	//       "location": "path",
26603	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$",
26604	//       "required": true,
26605	//       "type": "string"
26606	//     }
26607	//   },
26608	//   "path": "v1beta1/{+name}",
26609	//   "response": {
26610	//     "$ref": "HttpBody"
26611	//   },
26612	//   "scopes": [
26613	//     "https://www.googleapis.com/auth/cloud-platform"
26614	//   ]
26615	// }
26616
26617}
26618
26619// method id "healthcare.projects.locations.datasets.hl7V2Stores.create":
26620
26621type ProjectsLocationsDatasetsHl7V2StoresCreateCall struct {
26622	s          *Service
26623	parent     string
26624	hl7v2store *Hl7V2Store
26625	urlParams_ gensupport.URLParams
26626	ctx_       context.Context
26627	header_    http.Header
26628}
26629
26630// Create: Creates a new HL7v2 store within the parent dataset.
26631//
26632// - parent: The name of the dataset this HL7v2 store belongs to.
26633func (r *ProjectsLocationsDatasetsHl7V2StoresService) Create(parent string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26634	c := &ProjectsLocationsDatasetsHl7V2StoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26635	c.parent = parent
26636	c.hl7v2store = hl7v2store
26637	return c
26638}
26639
26640// Hl7V2StoreId sets the optional parameter "hl7V2StoreId": The ID of
26641// the HL7v2 store that is being created. The string must match the
26642// following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
26643func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Hl7V2StoreId(hl7V2StoreId string) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26644	c.urlParams_.Set("hl7V2StoreId", hl7V2StoreId)
26645	return c
26646}
26647
26648// Fields allows partial responses to be retrieved. See
26649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26650// for more information.
26651func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26653	return c
26654}
26655
26656// Context sets the context to be used in this call's Do method. Any
26657// pending HTTP request will be aborted if the provided context is
26658// canceled.
26659func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresCreateCall {
26660	c.ctx_ = ctx
26661	return c
26662}
26663
26664// Header returns an http.Header that can be modified by the caller to
26665// add HTTP headers to the request.
26666func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Header() http.Header {
26667	if c.header_ == nil {
26668		c.header_ = make(http.Header)
26669	}
26670	return c.header_
26671}
26672
26673func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
26674	reqHeaders := make(http.Header)
26675	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26676	for k, v := range c.header_ {
26677		reqHeaders[k] = v
26678	}
26679	reqHeaders.Set("User-Agent", c.s.userAgent())
26680	var body io.Reader = nil
26681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
26682	if err != nil {
26683		return nil, err
26684	}
26685	reqHeaders.Set("Content-Type", "application/json")
26686	c.urlParams_.Set("alt", alt)
26687	c.urlParams_.Set("prettyPrint", "false")
26688	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
26689	urls += "?" + c.urlParams_.Encode()
26690	req, err := http.NewRequest("POST", urls, body)
26691	if err != nil {
26692		return nil, err
26693	}
26694	req.Header = reqHeaders
26695	googleapi.Expand(req.URL, map[string]string{
26696		"parent": c.parent,
26697	})
26698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26699}
26700
26701// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.create" call.
26702// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
26703// status code is an error. Response headers are in either
26704// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
26705// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26706// to check whether the returned error was because
26707// http.StatusNotModified was returned.
26708func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
26709	gensupport.SetOptions(c.urlParams_, opts...)
26710	res, err := c.doRequest("json")
26711	if res != nil && res.StatusCode == http.StatusNotModified {
26712		if res.Body != nil {
26713			res.Body.Close()
26714		}
26715		return nil, &googleapi.Error{
26716			Code:   res.StatusCode,
26717			Header: res.Header,
26718		}
26719	}
26720	if err != nil {
26721		return nil, err
26722	}
26723	defer googleapi.CloseBody(res)
26724	if err := googleapi.CheckResponse(res); err != nil {
26725		return nil, err
26726	}
26727	ret := &Hl7V2Store{
26728		ServerResponse: googleapi.ServerResponse{
26729			Header:         res.Header,
26730			HTTPStatusCode: res.StatusCode,
26731		},
26732	}
26733	target := &ret
26734	if err := gensupport.DecodeResponse(target, res); err != nil {
26735		return nil, err
26736	}
26737	return ret, nil
26738	// {
26739	//   "description": "Creates a new HL7v2 store within the parent dataset.",
26740	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
26741	//   "httpMethod": "POST",
26742	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.create",
26743	//   "parameterOrder": [
26744	//     "parent"
26745	//   ],
26746	//   "parameters": {
26747	//     "hl7V2StoreId": {
26748	//       "description": "The ID of the HL7v2 store that is being created. The string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
26749	//       "location": "query",
26750	//       "type": "string"
26751	//     },
26752	//     "parent": {
26753	//       "description": "The name of the dataset this HL7v2 store belongs to.",
26754	//       "location": "path",
26755	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
26756	//       "required": true,
26757	//       "type": "string"
26758	//     }
26759	//   },
26760	//   "path": "v1beta1/{+parent}/hl7V2Stores",
26761	//   "request": {
26762	//     "$ref": "Hl7V2Store"
26763	//   },
26764	//   "response": {
26765	//     "$ref": "Hl7V2Store"
26766	//   },
26767	//   "scopes": [
26768	//     "https://www.googleapis.com/auth/cloud-platform"
26769	//   ]
26770	// }
26771
26772}
26773
26774// method id "healthcare.projects.locations.datasets.hl7V2Stores.delete":
26775
26776type ProjectsLocationsDatasetsHl7V2StoresDeleteCall struct {
26777	s          *Service
26778	name       string
26779	urlParams_ gensupport.URLParams
26780	ctx_       context.Context
26781	header_    http.Header
26782}
26783
26784// Delete: Deletes the specified HL7v2 store and removes all messages
26785// that it contains.
26786//
26787// - name: The resource name of the HL7v2 store to delete.
26788func (r *ProjectsLocationsDatasetsHl7V2StoresService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26789	c := &ProjectsLocationsDatasetsHl7V2StoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26790	c.name = name
26791	return c
26792}
26793
26794// Fields allows partial responses to be retrieved. See
26795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26796// for more information.
26797func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26798	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26799	return c
26800}
26801
26802// Context sets the context to be used in this call's Do method. Any
26803// pending HTTP request will be aborted if the provided context is
26804// canceled.
26805func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresDeleteCall {
26806	c.ctx_ = ctx
26807	return c
26808}
26809
26810// Header returns an http.Header that can be modified by the caller to
26811// add HTTP headers to the request.
26812func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Header() http.Header {
26813	if c.header_ == nil {
26814		c.header_ = make(http.Header)
26815	}
26816	return c.header_
26817}
26818
26819func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
26820	reqHeaders := make(http.Header)
26821	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26822	for k, v := range c.header_ {
26823		reqHeaders[k] = v
26824	}
26825	reqHeaders.Set("User-Agent", c.s.userAgent())
26826	var body io.Reader = nil
26827	c.urlParams_.Set("alt", alt)
26828	c.urlParams_.Set("prettyPrint", "false")
26829	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
26830	urls += "?" + c.urlParams_.Encode()
26831	req, err := http.NewRequest("DELETE", urls, body)
26832	if err != nil {
26833		return nil, err
26834	}
26835	req.Header = reqHeaders
26836	googleapi.Expand(req.URL, map[string]string{
26837		"name": c.name,
26838	})
26839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26840}
26841
26842// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.delete" call.
26843// Exactly one of *Empty or error will be non-nil. Any non-2xx status
26844// code is an error. Response headers are in either
26845// *Empty.ServerResponse.Header or (if a response was returned at all)
26846// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
26847// check whether the returned error was because http.StatusNotModified
26848// was returned.
26849func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
26850	gensupport.SetOptions(c.urlParams_, opts...)
26851	res, err := c.doRequest("json")
26852	if res != nil && res.StatusCode == http.StatusNotModified {
26853		if res.Body != nil {
26854			res.Body.Close()
26855		}
26856		return nil, &googleapi.Error{
26857			Code:   res.StatusCode,
26858			Header: res.Header,
26859		}
26860	}
26861	if err != nil {
26862		return nil, err
26863	}
26864	defer googleapi.CloseBody(res)
26865	if err := googleapi.CheckResponse(res); err != nil {
26866		return nil, err
26867	}
26868	ret := &Empty{
26869		ServerResponse: googleapi.ServerResponse{
26870			Header:         res.Header,
26871			HTTPStatusCode: res.StatusCode,
26872		},
26873	}
26874	target := &ret
26875	if err := gensupport.DecodeResponse(target, res); err != nil {
26876		return nil, err
26877	}
26878	return ret, nil
26879	// {
26880	//   "description": "Deletes the specified HL7v2 store and removes all messages that it contains.",
26881	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
26882	//   "httpMethod": "DELETE",
26883	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete",
26884	//   "parameterOrder": [
26885	//     "name"
26886	//   ],
26887	//   "parameters": {
26888	//     "name": {
26889	//       "description": "The resource name of the HL7v2 store to delete.",
26890	//       "location": "path",
26891	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
26892	//       "required": true,
26893	//       "type": "string"
26894	//     }
26895	//   },
26896	//   "path": "v1beta1/{+name}",
26897	//   "response": {
26898	//     "$ref": "Empty"
26899	//   },
26900	//   "scopes": [
26901	//     "https://www.googleapis.com/auth/cloud-platform"
26902	//   ]
26903	// }
26904
26905}
26906
26907// method id "healthcare.projects.locations.datasets.hl7V2Stores.export":
26908
26909type ProjectsLocationsDatasetsHl7V2StoresExportCall struct {
26910	s                     *Service
26911	name                  string
26912	exportmessagesrequest *ExportMessagesRequest
26913	urlParams_            gensupport.URLParams
26914	ctx_                  context.Context
26915	header_               http.Header
26916}
26917
26918// Export: Exports the messages to a destination. To filter messages to
26919// be exported, define a filter using the start and end time, relative
26920// to the message generation time (MSH.7). This API returns an Operation
26921// that can be used to track the status of the job by calling
26922// GetOperation. Immediate fatal errors appear in the error field.
26923// Otherwise, when the operation finishes, a detailed response of type
26924// ExportMessagesResponse is returned in the response field. The
26925// metadata field type for this operation is OperationMetadata.
26926//
26927// - name: The name of the source HL7v2 store, in the format
26928//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
26929//   /hl7v2Stores/{hl7v2_store_id}`.
26930func (r *ProjectsLocationsDatasetsHl7V2StoresService) Export(name string, exportmessagesrequest *ExportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26931	c := &ProjectsLocationsDatasetsHl7V2StoresExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26932	c.name = name
26933	c.exportmessagesrequest = exportmessagesrequest
26934	return c
26935}
26936
26937// Fields allows partial responses to be retrieved. See
26938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26939// for more information.
26940func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26942	return c
26943}
26944
26945// Context sets the context to be used in this call's Do method. Any
26946// pending HTTP request will be aborted if the provided context is
26947// canceled.
26948func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresExportCall {
26949	c.ctx_ = ctx
26950	return c
26951}
26952
26953// Header returns an http.Header that can be modified by the caller to
26954// add HTTP headers to the request.
26955func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Header() http.Header {
26956	if c.header_ == nil {
26957		c.header_ = make(http.Header)
26958	}
26959	return c.header_
26960}
26961
26962func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) doRequest(alt string) (*http.Response, error) {
26963	reqHeaders := make(http.Header)
26964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26965	for k, v := range c.header_ {
26966		reqHeaders[k] = v
26967	}
26968	reqHeaders.Set("User-Agent", c.s.userAgent())
26969	var body io.Reader = nil
26970	body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportmessagesrequest)
26971	if err != nil {
26972		return nil, err
26973	}
26974	reqHeaders.Set("Content-Type", "application/json")
26975	c.urlParams_.Set("alt", alt)
26976	c.urlParams_.Set("prettyPrint", "false")
26977	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:export")
26978	urls += "?" + c.urlParams_.Encode()
26979	req, err := http.NewRequest("POST", urls, body)
26980	if err != nil {
26981		return nil, err
26982	}
26983	req.Header = reqHeaders
26984	googleapi.Expand(req.URL, map[string]string{
26985		"name": c.name,
26986	})
26987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26988}
26989
26990// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.export" call.
26991// Exactly one of *Operation or error will be non-nil. Any non-2xx
26992// status code is an error. Response headers are in either
26993// *Operation.ServerResponse.Header or (if a response was returned at
26994// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26995// to check whether the returned error was because
26996// http.StatusNotModified was returned.
26997func (c *ProjectsLocationsDatasetsHl7V2StoresExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
26998	gensupport.SetOptions(c.urlParams_, opts...)
26999	res, err := c.doRequest("json")
27000	if res != nil && res.StatusCode == http.StatusNotModified {
27001		if res.Body != nil {
27002			res.Body.Close()
27003		}
27004		return nil, &googleapi.Error{
27005			Code:   res.StatusCode,
27006			Header: res.Header,
27007		}
27008	}
27009	if err != nil {
27010		return nil, err
27011	}
27012	defer googleapi.CloseBody(res)
27013	if err := googleapi.CheckResponse(res); err != nil {
27014		return nil, err
27015	}
27016	ret := &Operation{
27017		ServerResponse: googleapi.ServerResponse{
27018			Header:         res.Header,
27019			HTTPStatusCode: res.StatusCode,
27020		},
27021	}
27022	target := &ret
27023	if err := gensupport.DecodeResponse(target, res); err != nil {
27024		return nil, err
27025	}
27026	return ret, nil
27027	// {
27028	//   "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.",
27029	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export",
27030	//   "httpMethod": "POST",
27031	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.export",
27032	//   "parameterOrder": [
27033	//     "name"
27034	//   ],
27035	//   "parameters": {
27036	//     "name": {
27037	//       "description": "The name of the source HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
27038	//       "location": "path",
27039	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27040	//       "required": true,
27041	//       "type": "string"
27042	//     }
27043	//   },
27044	//   "path": "v1beta1/{+name}:export",
27045	//   "request": {
27046	//     "$ref": "ExportMessagesRequest"
27047	//   },
27048	//   "response": {
27049	//     "$ref": "Operation"
27050	//   },
27051	//   "scopes": [
27052	//     "https://www.googleapis.com/auth/cloud-platform"
27053	//   ]
27054	// }
27055
27056}
27057
27058// method id "healthcare.projects.locations.datasets.hl7V2Stores.get":
27059
27060type ProjectsLocationsDatasetsHl7V2StoresGetCall struct {
27061	s            *Service
27062	name         string
27063	urlParams_   gensupport.URLParams
27064	ifNoneMatch_ string
27065	ctx_         context.Context
27066	header_      http.Header
27067}
27068
27069// Get: Gets the specified HL7v2 store.
27070//
27071// - name: The resource name of the HL7v2 store to get.
27072func (r *ProjectsLocationsDatasetsHl7V2StoresService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
27073	c := &ProjectsLocationsDatasetsHl7V2StoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27074	c.name = name
27075	return c
27076}
27077
27078// Fields allows partial responses to be retrieved. See
27079// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27080// for more information.
27081func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
27082	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27083	return c
27084}
27085
27086// IfNoneMatch sets the optional parameter which makes the operation
27087// fail if the object's ETag matches the given value. This is useful for
27088// getting updates only after the object has changed since the last
27089// request. Use googleapi.IsNotModified to check whether the response
27090// error from Do is the result of In-None-Match.
27091func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
27092	c.ifNoneMatch_ = entityTag
27093	return c
27094}
27095
27096// Context sets the context to be used in this call's Do method. Any
27097// pending HTTP request will be aborted if the provided context is
27098// canceled.
27099func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetCall {
27100	c.ctx_ = ctx
27101	return c
27102}
27103
27104// Header returns an http.Header that can be modified by the caller to
27105// add HTTP headers to the request.
27106func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Header() http.Header {
27107	if c.header_ == nil {
27108		c.header_ = make(http.Header)
27109	}
27110	return c.header_
27111}
27112
27113func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
27114	reqHeaders := make(http.Header)
27115	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27116	for k, v := range c.header_ {
27117		reqHeaders[k] = v
27118	}
27119	reqHeaders.Set("User-Agent", c.s.userAgent())
27120	if c.ifNoneMatch_ != "" {
27121		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27122	}
27123	var body io.Reader = nil
27124	c.urlParams_.Set("alt", alt)
27125	c.urlParams_.Set("prettyPrint", "false")
27126	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27127	urls += "?" + c.urlParams_.Encode()
27128	req, err := http.NewRequest("GET", urls, body)
27129	if err != nil {
27130		return nil, err
27131	}
27132	req.Header = reqHeaders
27133	googleapi.Expand(req.URL, map[string]string{
27134		"name": c.name,
27135	})
27136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27137}
27138
27139// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.get" call.
27140// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
27141// status code is an error. Response headers are in either
27142// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
27143// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27144// to check whether the returned error was because
27145// http.StatusNotModified was returned.
27146func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
27147	gensupport.SetOptions(c.urlParams_, opts...)
27148	res, err := c.doRequest("json")
27149	if res != nil && res.StatusCode == http.StatusNotModified {
27150		if res.Body != nil {
27151			res.Body.Close()
27152		}
27153		return nil, &googleapi.Error{
27154			Code:   res.StatusCode,
27155			Header: res.Header,
27156		}
27157	}
27158	if err != nil {
27159		return nil, err
27160	}
27161	defer googleapi.CloseBody(res)
27162	if err := googleapi.CheckResponse(res); err != nil {
27163		return nil, err
27164	}
27165	ret := &Hl7V2Store{
27166		ServerResponse: googleapi.ServerResponse{
27167			Header:         res.Header,
27168			HTTPStatusCode: res.StatusCode,
27169		},
27170	}
27171	target := &ret
27172	if err := gensupport.DecodeResponse(target, res); err != nil {
27173		return nil, err
27174	}
27175	return ret, nil
27176	// {
27177	//   "description": "Gets the specified HL7v2 store.",
27178	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
27179	//   "httpMethod": "GET",
27180	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.get",
27181	//   "parameterOrder": [
27182	//     "name"
27183	//   ],
27184	//   "parameters": {
27185	//     "name": {
27186	//       "description": "The resource name of the HL7v2 store to get.",
27187	//       "location": "path",
27188	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27189	//       "required": true,
27190	//       "type": "string"
27191	//     }
27192	//   },
27193	//   "path": "v1beta1/{+name}",
27194	//   "response": {
27195	//     "$ref": "Hl7V2Store"
27196	//   },
27197	//   "scopes": [
27198	//     "https://www.googleapis.com/auth/cloud-platform"
27199	//   ]
27200	// }
27201
27202}
27203
27204// method id "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy":
27205
27206type ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall struct {
27207	s            *Service
27208	resource     string
27209	urlParams_   gensupport.URLParams
27210	ifNoneMatch_ string
27211	ctx_         context.Context
27212	header_      http.Header
27213}
27214
27215// GetIamPolicy: Gets the access control policy for a resource. Returns
27216// an empty policy if the resource exists and does not have a policy
27217// set.
27218//
27219// - resource: REQUIRED: The resource for which the policy is being
27220//   requested. See the operation documentation for the appropriate
27221//   value for this field.
27222func (r *ProjectsLocationsDatasetsHl7V2StoresService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
27223	c := &ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27224	c.resource = resource
27225	return c
27226}
27227
27228// OptionsRequestedPolicyVersion sets the optional parameter
27229// "options.requestedPolicyVersion": The policy format version to be
27230// returned. Valid values are 0, 1, and 3. Requests specifying an
27231// invalid value will be rejected. Requests for policies with any
27232// conditional bindings must specify version 3. Policies without any
27233// conditional bindings may specify any valid value or leave the field
27234// unset. To learn which resources support conditions in their IAM
27235// policies, see the IAM documentation
27236// (https://cloud.google.com/iam/help/conditions/resource-policies).
27237func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
27238	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
27239	return c
27240}
27241
27242// Fields allows partial responses to be retrieved. See
27243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27244// for more information.
27245func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
27246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27247	return c
27248}
27249
27250// IfNoneMatch sets the optional parameter which makes the operation
27251// fail if the object's ETag matches the given value. This is useful for
27252// getting updates only after the object has changed since the last
27253// request. Use googleapi.IsNotModified to check whether the response
27254// error from Do is the result of In-None-Match.
27255func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
27256	c.ifNoneMatch_ = entityTag
27257	return c
27258}
27259
27260// Context sets the context to be used in this call's Do method. Any
27261// pending HTTP request will be aborted if the provided context is
27262// canceled.
27263func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall {
27264	c.ctx_ = ctx
27265	return c
27266}
27267
27268// Header returns an http.Header that can be modified by the caller to
27269// add HTTP headers to the request.
27270func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Header() http.Header {
27271	if c.header_ == nil {
27272		c.header_ = make(http.Header)
27273	}
27274	return c.header_
27275}
27276
27277func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
27278	reqHeaders := make(http.Header)
27279	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27280	for k, v := range c.header_ {
27281		reqHeaders[k] = v
27282	}
27283	reqHeaders.Set("User-Agent", c.s.userAgent())
27284	if c.ifNoneMatch_ != "" {
27285		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27286	}
27287	var body io.Reader = nil
27288	c.urlParams_.Set("alt", alt)
27289	c.urlParams_.Set("prettyPrint", "false")
27290	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
27291	urls += "?" + c.urlParams_.Encode()
27292	req, err := http.NewRequest("GET", urls, body)
27293	if err != nil {
27294		return nil, err
27295	}
27296	req.Header = reqHeaders
27297	googleapi.Expand(req.URL, map[string]string{
27298		"resource": c.resource,
27299	})
27300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27301}
27302
27303// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy" call.
27304// Exactly one of *Policy or error will be non-nil. Any non-2xx status
27305// code is an error. Response headers are in either
27306// *Policy.ServerResponse.Header or (if a response was returned at all)
27307// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27308// check whether the returned error was because http.StatusNotModified
27309// was returned.
27310func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
27311	gensupport.SetOptions(c.urlParams_, opts...)
27312	res, err := c.doRequest("json")
27313	if res != nil && res.StatusCode == http.StatusNotModified {
27314		if res.Body != nil {
27315			res.Body.Close()
27316		}
27317		return nil, &googleapi.Error{
27318			Code:   res.StatusCode,
27319			Header: res.Header,
27320		}
27321	}
27322	if err != nil {
27323		return nil, err
27324	}
27325	defer googleapi.CloseBody(res)
27326	if err := googleapi.CheckResponse(res); err != nil {
27327		return nil, err
27328	}
27329	ret := &Policy{
27330		ServerResponse: googleapi.ServerResponse{
27331			Header:         res.Header,
27332			HTTPStatusCode: res.StatusCode,
27333		},
27334	}
27335	target := &ret
27336	if err := gensupport.DecodeResponse(target, res); err != nil {
27337		return nil, err
27338	}
27339	return ret, nil
27340	// {
27341	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
27342	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy",
27343	//   "httpMethod": "GET",
27344	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy",
27345	//   "parameterOrder": [
27346	//     "resource"
27347	//   ],
27348	//   "parameters": {
27349	//     "options.requestedPolicyVersion": {
27350	//       "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).",
27351	//       "format": "int32",
27352	//       "location": "query",
27353	//       "type": "integer"
27354	//     },
27355	//     "resource": {
27356	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
27357	//       "location": "path",
27358	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27359	//       "required": true,
27360	//       "type": "string"
27361	//     }
27362	//   },
27363	//   "path": "v1beta1/{+resource}:getIamPolicy",
27364	//   "response": {
27365	//     "$ref": "Policy"
27366	//   },
27367	//   "scopes": [
27368	//     "https://www.googleapis.com/auth/cloud-platform"
27369	//   ]
27370	// }
27371
27372}
27373
27374// method id "healthcare.projects.locations.datasets.hl7V2Stores.import":
27375
27376type ProjectsLocationsDatasetsHl7V2StoresImportCall struct {
27377	s                     *Service
27378	name                  string
27379	importmessagesrequest *ImportMessagesRequest
27380	urlParams_            gensupport.URLParams
27381	ctx_                  context.Context
27382	header_               http.Header
27383}
27384
27385// Import: Import messages to the HL7v2 store by loading data from the
27386// specified sources. This method is optimized to load large quantities
27387// of data using import semantics that ignore some HL7v2 store
27388// configuration options and are not suitable for all use cases. It is
27389// primarily intended to load data into an empty HL7v2 store that is not
27390// being used by other clients. An existing message will be overwritten
27391// if a duplicate message is imported. A duplicate message is a message
27392// with the same raw bytes as a message that already exists in this
27393// HL7v2 store. When a message is overwritten, its labels will also be
27394// overwritten. The import operation is idempotent unless the input data
27395// contains multiple valid messages with the same raw bytes but
27396// different labels. In that case, after the import completes, the store
27397// contains exactly one message with those raw bytes but there is no
27398// ordering guarantee on which version of the labels it has. The
27399// operation result counters do not count duplicated raw bytes as an
27400// error and count one success for each message in the input, which
27401// might result in a success count larger than the number of messages in
27402// the HL7v2 store. If some messages fail to import, for example due to
27403// parsing errors, successfully imported messages are not rolled back.
27404// This method returns an Operation that can be used to track the status
27405// of the import by calling GetOperation. Immediate fatal errors appear
27406// in the error field, errors are also logged to Cloud Logging (see
27407// Viewing error logs in Cloud Logging
27408// (https://cloud.google.com/healthcare/docs/how-tos/logging)).
27409// Otherwise, when the operation finishes, a response of type
27410// ImportMessagesResponse is returned in the response field. The
27411// metadata field type for this operation is OperationMetadata.
27412//
27413// - name: The name of the target HL7v2 store, in the format
27414//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
27415//   /hl7v2Stores/{hl7v2_store_id}`.
27416func (r *ProjectsLocationsDatasetsHl7V2StoresService) Import(name string, importmessagesrequest *ImportMessagesRequest) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27417	c := &ProjectsLocationsDatasetsHl7V2StoresImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27418	c.name = name
27419	c.importmessagesrequest = importmessagesrequest
27420	return c
27421}
27422
27423// Fields allows partial responses to be retrieved. See
27424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27425// for more information.
27426func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27428	return c
27429}
27430
27431// Context sets the context to be used in this call's Do method. Any
27432// pending HTTP request will be aborted if the provided context is
27433// canceled.
27434func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresImportCall {
27435	c.ctx_ = ctx
27436	return c
27437}
27438
27439// Header returns an http.Header that can be modified by the caller to
27440// add HTTP headers to the request.
27441func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Header() http.Header {
27442	if c.header_ == nil {
27443		c.header_ = make(http.Header)
27444	}
27445	return c.header_
27446}
27447
27448func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) doRequest(alt string) (*http.Response, error) {
27449	reqHeaders := make(http.Header)
27450	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27451	for k, v := range c.header_ {
27452		reqHeaders[k] = v
27453	}
27454	reqHeaders.Set("User-Agent", c.s.userAgent())
27455	var body io.Reader = nil
27456	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importmessagesrequest)
27457	if err != nil {
27458		return nil, err
27459	}
27460	reqHeaders.Set("Content-Type", "application/json")
27461	c.urlParams_.Set("alt", alt)
27462	c.urlParams_.Set("prettyPrint", "false")
27463	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:import")
27464	urls += "?" + c.urlParams_.Encode()
27465	req, err := http.NewRequest("POST", urls, body)
27466	if err != nil {
27467		return nil, err
27468	}
27469	req.Header = reqHeaders
27470	googleapi.Expand(req.URL, map[string]string{
27471		"name": c.name,
27472	})
27473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27474}
27475
27476// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.import" call.
27477// Exactly one of *Operation or error will be non-nil. Any non-2xx
27478// status code is an error. Response headers are in either
27479// *Operation.ServerResponse.Header or (if a response was returned at
27480// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27481// to check whether the returned error was because
27482// http.StatusNotModified was returned.
27483func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
27484	gensupport.SetOptions(c.urlParams_, opts...)
27485	res, err := c.doRequest("json")
27486	if res != nil && res.StatusCode == http.StatusNotModified {
27487		if res.Body != nil {
27488			res.Body.Close()
27489		}
27490		return nil, &googleapi.Error{
27491			Code:   res.StatusCode,
27492			Header: res.Header,
27493		}
27494	}
27495	if err != nil {
27496		return nil, err
27497	}
27498	defer googleapi.CloseBody(res)
27499	if err := googleapi.CheckResponse(res); err != nil {
27500		return nil, err
27501	}
27502	ret := &Operation{
27503		ServerResponse: googleapi.ServerResponse{
27504			Header:         res.Header,
27505			HTTPStatusCode: res.StatusCode,
27506		},
27507	}
27508	target := &ret
27509	if err := gensupport.DecodeResponse(target, res); err != nil {
27510		return nil, err
27511	}
27512	return ret, nil
27513	// {
27514	//   "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.",
27515	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import",
27516	//   "httpMethod": "POST",
27517	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.import",
27518	//   "parameterOrder": [
27519	//     "name"
27520	//   ],
27521	//   "parameters": {
27522	//     "name": {
27523	//       "description": "The name of the target HL7v2 store, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7v2Stores/{hl7v2_store_id}`",
27524	//       "location": "path",
27525	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27526	//       "required": true,
27527	//       "type": "string"
27528	//     }
27529	//   },
27530	//   "path": "v1beta1/{+name}:import",
27531	//   "request": {
27532	//     "$ref": "ImportMessagesRequest"
27533	//   },
27534	//   "response": {
27535	//     "$ref": "Operation"
27536	//   },
27537	//   "scopes": [
27538	//     "https://www.googleapis.com/auth/cloud-platform"
27539	//   ]
27540	// }
27541
27542}
27543
27544// method id "healthcare.projects.locations.datasets.hl7V2Stores.list":
27545
27546type ProjectsLocationsDatasetsHl7V2StoresListCall struct {
27547	s            *Service
27548	parent       string
27549	urlParams_   gensupport.URLParams
27550	ifNoneMatch_ string
27551	ctx_         context.Context
27552	header_      http.Header
27553}
27554
27555// List: Lists the HL7v2 stores in the given dataset.
27556//
27557// - parent: Name of the dataset.
27558func (r *ProjectsLocationsDatasetsHl7V2StoresService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27559	c := &ProjectsLocationsDatasetsHl7V2StoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27560	c.parent = parent
27561	return c
27562}
27563
27564// Filter sets the optional parameter "filter": Restricts stores
27565// returned to those matching a filter. The following syntax is
27566// available: * A string field value can be written as text inside
27567// quotation marks, for example "query text". The only valid
27568// relational operation for text fields is equality (`=`), where text is
27569// searched within the field, rather than having the field be equal to
27570// the text. For example, "Comment = great" returns messages with
27571// `great` in the comment field. * A number field value can be written
27572// as an integer, a decimal, or an exponential. The valid relational
27573// operators for number fields are the equality operator (`=`), along
27574// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
27575// Note that there is no inequality (`!=`) operator. You can prepend the
27576// `NOT` operator to an expression to negate it. * A date field value
27577// must be written in `yyyy-mm-dd` form. Fields with date and time use
27578// the RFC3339 time format. Leading zeros are required for one-digit
27579// months and days. The valid relational operators for date fields are
27580// the equality operator (`=`) , along with the less than/greater than
27581// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
27582// (`!=`) operator. You can prepend the `NOT` operator to an expression
27583// to negate it. * Multiple field query expressions can be combined in
27584// one query by adding `AND` or `OR` operators between the expressions.
27585// If a boolean operator appears within a quoted string, it is not
27586// treated as special, it's just another part of the character string to
27587// be matched. You can prepend the `NOT` operator to an expression to
27588// negate it. Only filtering on labels is supported. For example,
27589// `labels.key=value`.
27590func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27591	c.urlParams_.Set("filter", filter)
27592	return c
27593}
27594
27595// PageSize sets the optional parameter "pageSize": Limit on the number
27596// of HL7v2 stores to return in a single response. If not specified, 100
27597// is used. May not be larger than 1000.
27598func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27599	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27600	return c
27601}
27602
27603// PageToken sets the optional parameter "pageToken": The
27604// next_page_token value returned from the previous List request, if
27605// any.
27606func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27607	c.urlParams_.Set("pageToken", pageToken)
27608	return c
27609}
27610
27611// Fields allows partial responses to be retrieved. See
27612// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27613// for more information.
27614func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27615	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27616	return c
27617}
27618
27619// IfNoneMatch sets the optional parameter which makes the operation
27620// fail if the object's ETag matches the given value. This is useful for
27621// getting updates only after the object has changed since the last
27622// request. Use googleapi.IsNotModified to check whether the response
27623// error from Do is the result of In-None-Match.
27624func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27625	c.ifNoneMatch_ = entityTag
27626	return c
27627}
27628
27629// Context sets the context to be used in this call's Do method. Any
27630// pending HTTP request will be aborted if the provided context is
27631// canceled.
27632func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresListCall {
27633	c.ctx_ = ctx
27634	return c
27635}
27636
27637// Header returns an http.Header that can be modified by the caller to
27638// add HTTP headers to the request.
27639func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Header() http.Header {
27640	if c.header_ == nil {
27641		c.header_ = make(http.Header)
27642	}
27643	return c.header_
27644}
27645
27646func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
27647	reqHeaders := make(http.Header)
27648	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27649	for k, v := range c.header_ {
27650		reqHeaders[k] = v
27651	}
27652	reqHeaders.Set("User-Agent", c.s.userAgent())
27653	if c.ifNoneMatch_ != "" {
27654		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27655	}
27656	var body io.Reader = nil
27657	c.urlParams_.Set("alt", alt)
27658	c.urlParams_.Set("prettyPrint", "false")
27659	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/hl7V2Stores")
27660	urls += "?" + c.urlParams_.Encode()
27661	req, err := http.NewRequest("GET", urls, body)
27662	if err != nil {
27663		return nil, err
27664	}
27665	req.Header = reqHeaders
27666	googleapi.Expand(req.URL, map[string]string{
27667		"parent": c.parent,
27668	})
27669	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27670}
27671
27672// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.list" call.
27673// Exactly one of *ListHl7V2StoresResponse or error will be non-nil. Any
27674// non-2xx status code is an error. Response headers are in either
27675// *ListHl7V2StoresResponse.ServerResponse.Header or (if a response was
27676// returned at all) in error.(*googleapi.Error).Header. Use
27677// googleapi.IsNotModified to check whether the returned error was
27678// because http.StatusNotModified was returned.
27679func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Do(opts ...googleapi.CallOption) (*ListHl7V2StoresResponse, error) {
27680	gensupport.SetOptions(c.urlParams_, opts...)
27681	res, err := c.doRequest("json")
27682	if res != nil && res.StatusCode == http.StatusNotModified {
27683		if res.Body != nil {
27684			res.Body.Close()
27685		}
27686		return nil, &googleapi.Error{
27687			Code:   res.StatusCode,
27688			Header: res.Header,
27689		}
27690	}
27691	if err != nil {
27692		return nil, err
27693	}
27694	defer googleapi.CloseBody(res)
27695	if err := googleapi.CheckResponse(res); err != nil {
27696		return nil, err
27697	}
27698	ret := &ListHl7V2StoresResponse{
27699		ServerResponse: googleapi.ServerResponse{
27700			Header:         res.Header,
27701			HTTPStatusCode: res.StatusCode,
27702		},
27703	}
27704	target := &ret
27705	if err := gensupport.DecodeResponse(target, res); err != nil {
27706		return nil, err
27707	}
27708	return ret, nil
27709	// {
27710	//   "description": "Lists the HL7v2 stores in the given dataset.",
27711	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
27712	//   "httpMethod": "GET",
27713	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.list",
27714	//   "parameterOrder": [
27715	//     "parent"
27716	//   ],
27717	//   "parameters": {
27718	//     "filter": {
27719	//       "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`.",
27720	//       "location": "query",
27721	//       "type": "string"
27722	//     },
27723	//     "pageSize": {
27724	//       "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.",
27725	//       "format": "int32",
27726	//       "location": "query",
27727	//       "type": "integer"
27728	//     },
27729	//     "pageToken": {
27730	//       "description": "The next_page_token value returned from the previous List request, if any.",
27731	//       "location": "query",
27732	//       "type": "string"
27733	//     },
27734	//     "parent": {
27735	//       "description": "Name of the dataset.",
27736	//       "location": "path",
27737	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
27738	//       "required": true,
27739	//       "type": "string"
27740	//     }
27741	//   },
27742	//   "path": "v1beta1/{+parent}/hl7V2Stores",
27743	//   "response": {
27744	//     "$ref": "ListHl7V2StoresResponse"
27745	//   },
27746	//   "scopes": [
27747	//     "https://www.googleapis.com/auth/cloud-platform"
27748	//   ]
27749	// }
27750
27751}
27752
27753// Pages invokes f for each page of results.
27754// A non-nil error returned from f will halt the iteration.
27755// The provided context supersedes any context provided to the Context method.
27756func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) Pages(ctx context.Context, f func(*ListHl7V2StoresResponse) error) error {
27757	c.ctx_ = ctx
27758	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27759	for {
27760		x, err := c.Do()
27761		if err != nil {
27762			return err
27763		}
27764		if err := f(x); err != nil {
27765			return err
27766		}
27767		if x.NextPageToken == "" {
27768			return nil
27769		}
27770		c.PageToken(x.NextPageToken)
27771	}
27772}
27773
27774// method id "healthcare.projects.locations.datasets.hl7V2Stores.patch":
27775
27776type ProjectsLocationsDatasetsHl7V2StoresPatchCall struct {
27777	s          *Service
27778	name       string
27779	hl7v2store *Hl7V2Store
27780	urlParams_ gensupport.URLParams
27781	ctx_       context.Context
27782	header_    http.Header
27783}
27784
27785// Patch: Updates the HL7v2 store.
27786//
27787// - name: Resource name of the HL7v2 store, of the form
27788//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_stor
27789//   e_id}`.
27790func (r *ProjectsLocationsDatasetsHl7V2StoresService) Patch(name string, hl7v2store *Hl7V2Store) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27791	c := &ProjectsLocationsDatasetsHl7V2StoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27792	c.name = name
27793	c.hl7v2store = hl7v2store
27794	return c
27795}
27796
27797// UpdateMask sets the optional parameter "updateMask": The update mask
27798// applies to the resource. For the `FieldMask` definition, see
27799// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
27800func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27801	c.urlParams_.Set("updateMask", updateMask)
27802	return c
27803}
27804
27805// Fields allows partial responses to be retrieved. See
27806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27807// for more information.
27808func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27810	return c
27811}
27812
27813// Context sets the context to be used in this call's Do method. Any
27814// pending HTTP request will be aborted if the provided context is
27815// canceled.
27816func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresPatchCall {
27817	c.ctx_ = ctx
27818	return c
27819}
27820
27821// Header returns an http.Header that can be modified by the caller to
27822// add HTTP headers to the request.
27823func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Header() http.Header {
27824	if c.header_ == nil {
27825		c.header_ = make(http.Header)
27826	}
27827	return c.header_
27828}
27829
27830func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
27831	reqHeaders := make(http.Header)
27832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27833	for k, v := range c.header_ {
27834		reqHeaders[k] = v
27835	}
27836	reqHeaders.Set("User-Agent", c.s.userAgent())
27837	var body io.Reader = nil
27838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.hl7v2store)
27839	if err != nil {
27840		return nil, err
27841	}
27842	reqHeaders.Set("Content-Type", "application/json")
27843	c.urlParams_.Set("alt", alt)
27844	c.urlParams_.Set("prettyPrint", "false")
27845	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
27846	urls += "?" + c.urlParams_.Encode()
27847	req, err := http.NewRequest("PATCH", urls, body)
27848	if err != nil {
27849		return nil, err
27850	}
27851	req.Header = reqHeaders
27852	googleapi.Expand(req.URL, map[string]string{
27853		"name": c.name,
27854	})
27855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27856}
27857
27858// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.patch" call.
27859// Exactly one of *Hl7V2Store or error will be non-nil. Any non-2xx
27860// status code is an error. Response headers are in either
27861// *Hl7V2Store.ServerResponse.Header or (if a response was returned at
27862// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27863// to check whether the returned error was because
27864// http.StatusNotModified was returned.
27865func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) Do(opts ...googleapi.CallOption) (*Hl7V2Store, error) {
27866	gensupport.SetOptions(c.urlParams_, opts...)
27867	res, err := c.doRequest("json")
27868	if res != nil && res.StatusCode == http.StatusNotModified {
27869		if res.Body != nil {
27870			res.Body.Close()
27871		}
27872		return nil, &googleapi.Error{
27873			Code:   res.StatusCode,
27874			Header: res.Header,
27875		}
27876	}
27877	if err != nil {
27878		return nil, err
27879	}
27880	defer googleapi.CloseBody(res)
27881	if err := googleapi.CheckResponse(res); err != nil {
27882		return nil, err
27883	}
27884	ret := &Hl7V2Store{
27885		ServerResponse: googleapi.ServerResponse{
27886			Header:         res.Header,
27887			HTTPStatusCode: res.StatusCode,
27888		},
27889	}
27890	target := &ret
27891	if err := gensupport.DecodeResponse(target, res); err != nil {
27892		return nil, err
27893	}
27894	return ret, nil
27895	// {
27896	//   "description": "Updates the HL7v2 store.",
27897	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
27898	//   "httpMethod": "PATCH",
27899	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch",
27900	//   "parameterOrder": [
27901	//     "name"
27902	//   ],
27903	//   "parameters": {
27904	//     "name": {
27905	//       "description": "Resource name of the HL7v2 store, of the form `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
27906	//       "location": "path",
27907	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
27908	//       "required": true,
27909	//       "type": "string"
27910	//     },
27911	//     "updateMask": {
27912	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
27913	//       "format": "google-fieldmask",
27914	//       "location": "query",
27915	//       "type": "string"
27916	//     }
27917	//   },
27918	//   "path": "v1beta1/{+name}",
27919	//   "request": {
27920	//     "$ref": "Hl7V2Store"
27921	//   },
27922	//   "response": {
27923	//     "$ref": "Hl7V2Store"
27924	//   },
27925	//   "scopes": [
27926	//     "https://www.googleapis.com/auth/cloud-platform"
27927	//   ]
27928	// }
27929
27930}
27931
27932// method id "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy":
27933
27934type ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall struct {
27935	s                   *Service
27936	resource            string
27937	setiampolicyrequest *SetIamPolicyRequest
27938	urlParams_          gensupport.URLParams
27939	ctx_                context.Context
27940	header_             http.Header
27941}
27942
27943// SetIamPolicy: Sets the access control policy on the specified
27944// resource. Replaces any existing policy. Can return `NOT_FOUND`,
27945// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
27946//
27947// - resource: REQUIRED: The resource for which the policy is being
27948//   specified. See the operation documentation for the appropriate
27949//   value for this field.
27950func (r *ProjectsLocationsDatasetsHl7V2StoresService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27951	c := &ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27952	c.resource = resource
27953	c.setiampolicyrequest = setiampolicyrequest
27954	return c
27955}
27956
27957// Fields allows partial responses to be retrieved. See
27958// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27959// for more information.
27960func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27961	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27962	return c
27963}
27964
27965// Context sets the context to be used in this call's Do method. Any
27966// pending HTTP request will be aborted if the provided context is
27967// canceled.
27968func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall {
27969	c.ctx_ = ctx
27970	return c
27971}
27972
27973// Header returns an http.Header that can be modified by the caller to
27974// add HTTP headers to the request.
27975func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Header() http.Header {
27976	if c.header_ == nil {
27977		c.header_ = make(http.Header)
27978	}
27979	return c.header_
27980}
27981
27982func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
27983	reqHeaders := make(http.Header)
27984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27985	for k, v := range c.header_ {
27986		reqHeaders[k] = v
27987	}
27988	reqHeaders.Set("User-Agent", c.s.userAgent())
27989	var body io.Reader = nil
27990	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
27991	if err != nil {
27992		return nil, err
27993	}
27994	reqHeaders.Set("Content-Type", "application/json")
27995	c.urlParams_.Set("alt", alt)
27996	c.urlParams_.Set("prettyPrint", "false")
27997	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
27998	urls += "?" + c.urlParams_.Encode()
27999	req, err := http.NewRequest("POST", urls, body)
28000	if err != nil {
28001		return nil, err
28002	}
28003	req.Header = reqHeaders
28004	googleapi.Expand(req.URL, map[string]string{
28005		"resource": c.resource,
28006	})
28007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28008}
28009
28010// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy" call.
28011// Exactly one of *Policy or error will be non-nil. Any non-2xx status
28012// code is an error. Response headers are in either
28013// *Policy.ServerResponse.Header or (if a response was returned at all)
28014// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28015// check whether the returned error was because http.StatusNotModified
28016// was returned.
28017func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
28018	gensupport.SetOptions(c.urlParams_, opts...)
28019	res, err := c.doRequest("json")
28020	if res != nil && res.StatusCode == http.StatusNotModified {
28021		if res.Body != nil {
28022			res.Body.Close()
28023		}
28024		return nil, &googleapi.Error{
28025			Code:   res.StatusCode,
28026			Header: res.Header,
28027		}
28028	}
28029	if err != nil {
28030		return nil, err
28031	}
28032	defer googleapi.CloseBody(res)
28033	if err := googleapi.CheckResponse(res); err != nil {
28034		return nil, err
28035	}
28036	ret := &Policy{
28037		ServerResponse: googleapi.ServerResponse{
28038			Header:         res.Header,
28039			HTTPStatusCode: res.StatusCode,
28040		},
28041	}
28042	target := &ret
28043	if err := gensupport.DecodeResponse(target, res); err != nil {
28044		return nil, err
28045	}
28046	return ret, nil
28047	// {
28048	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
28049	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy",
28050	//   "httpMethod": "POST",
28051	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy",
28052	//   "parameterOrder": [
28053	//     "resource"
28054	//   ],
28055	//   "parameters": {
28056	//     "resource": {
28057	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
28058	//       "location": "path",
28059	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28060	//       "required": true,
28061	//       "type": "string"
28062	//     }
28063	//   },
28064	//   "path": "v1beta1/{+resource}:setIamPolicy",
28065	//   "request": {
28066	//     "$ref": "SetIamPolicyRequest"
28067	//   },
28068	//   "response": {
28069	//     "$ref": "Policy"
28070	//   },
28071	//   "scopes": [
28072	//     "https://www.googleapis.com/auth/cloud-platform"
28073	//   ]
28074	// }
28075
28076}
28077
28078// method id "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions":
28079
28080type ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall struct {
28081	s                         *Service
28082	resource                  string
28083	testiampermissionsrequest *TestIamPermissionsRequest
28084	urlParams_                gensupport.URLParams
28085	ctx_                      context.Context
28086	header_                   http.Header
28087}
28088
28089// TestIamPermissions: Returns permissions that a caller has on the
28090// specified resource. If the resource does not exist, this will return
28091// an empty set of permissions, not a `NOT_FOUND` error. Note: This
28092// operation is designed to be used for building permission-aware UIs
28093// and command-line tools, not for authorization checking. This
28094// operation may "fail open" without warning.
28095//
28096// - resource: REQUIRED: The resource for which the policy detail is
28097//   being requested. See the operation documentation for the
28098//   appropriate value for this field.
28099func (r *ProjectsLocationsDatasetsHl7V2StoresService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
28100	c := &ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28101	c.resource = resource
28102	c.testiampermissionsrequest = testiampermissionsrequest
28103	return c
28104}
28105
28106// Fields allows partial responses to be retrieved. See
28107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28108// for more information.
28109func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
28110	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28111	return c
28112}
28113
28114// Context sets the context to be used in this call's Do method. Any
28115// pending HTTP request will be aborted if the provided context is
28116// canceled.
28117func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall {
28118	c.ctx_ = ctx
28119	return c
28120}
28121
28122// Header returns an http.Header that can be modified by the caller to
28123// add HTTP headers to the request.
28124func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Header() http.Header {
28125	if c.header_ == nil {
28126		c.header_ = make(http.Header)
28127	}
28128	return c.header_
28129}
28130
28131func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
28132	reqHeaders := make(http.Header)
28133	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28134	for k, v := range c.header_ {
28135		reqHeaders[k] = v
28136	}
28137	reqHeaders.Set("User-Agent", c.s.userAgent())
28138	var body io.Reader = nil
28139	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
28140	if err != nil {
28141		return nil, err
28142	}
28143	reqHeaders.Set("Content-Type", "application/json")
28144	c.urlParams_.Set("alt", alt)
28145	c.urlParams_.Set("prettyPrint", "false")
28146	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
28147	urls += "?" + c.urlParams_.Encode()
28148	req, err := http.NewRequest("POST", urls, body)
28149	if err != nil {
28150		return nil, err
28151	}
28152	req.Header = reqHeaders
28153	googleapi.Expand(req.URL, map[string]string{
28154		"resource": c.resource,
28155	})
28156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28157}
28158
28159// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions" call.
28160// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
28161// Any non-2xx status code is an error. Response headers are in either
28162// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
28163// was returned at all) in error.(*googleapi.Error).Header. Use
28164// googleapi.IsNotModified to check whether the returned error was
28165// because http.StatusNotModified was returned.
28166func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
28167	gensupport.SetOptions(c.urlParams_, opts...)
28168	res, err := c.doRequest("json")
28169	if res != nil && res.StatusCode == http.StatusNotModified {
28170		if res.Body != nil {
28171			res.Body.Close()
28172		}
28173		return nil, &googleapi.Error{
28174			Code:   res.StatusCode,
28175			Header: res.Header,
28176		}
28177	}
28178	if err != nil {
28179		return nil, err
28180	}
28181	defer googleapi.CloseBody(res)
28182	if err := googleapi.CheckResponse(res); err != nil {
28183		return nil, err
28184	}
28185	ret := &TestIamPermissionsResponse{
28186		ServerResponse: googleapi.ServerResponse{
28187			Header:         res.Header,
28188			HTTPStatusCode: res.StatusCode,
28189		},
28190	}
28191	target := &ret
28192	if err := gensupport.DecodeResponse(target, res); err != nil {
28193		return nil, err
28194	}
28195	return ret, nil
28196	// {
28197	//   "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.",
28198	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions",
28199	//   "httpMethod": "POST",
28200	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions",
28201	//   "parameterOrder": [
28202	//     "resource"
28203	//   ],
28204	//   "parameters": {
28205	//     "resource": {
28206	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
28207	//       "location": "path",
28208	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28209	//       "required": true,
28210	//       "type": "string"
28211	//     }
28212	//   },
28213	//   "path": "v1beta1/{+resource}:testIamPermissions",
28214	//   "request": {
28215	//     "$ref": "TestIamPermissionsRequest"
28216	//   },
28217	//   "response": {
28218	//     "$ref": "TestIamPermissionsResponse"
28219	//   },
28220	//   "scopes": [
28221	//     "https://www.googleapis.com/auth/cloud-platform"
28222	//   ]
28223	// }
28224
28225}
28226
28227// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet":
28228
28229type ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall struct {
28230	s            *Service
28231	parent       string
28232	urlParams_   gensupport.URLParams
28233	ifNoneMatch_ string
28234	ctx_         context.Context
28235	header_      http.Header
28236}
28237
28238// BatchGet: Gets multiple messages in the given HL7v2 store.
28239//
28240// - parent: Name of the HL7v2 store to retrieve messages from, in the
28241//   format:
28242//   `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
28243//   /hl7v2Stores/{hl7v2_store_id}`.
28244func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) BatchGet(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28245	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28246	c.parent = parent
28247	return c
28248}
28249
28250// Ids sets the optional parameter "ids": The resource id of the HL7v2
28251// messages to retrieve in the format: `{message_id}`, where the full
28252// resource name is `{parent}/messages/{message_id}` A maximum of 100
28253// messages can be retrieved in a batch. All 'ids' have to be under
28254// parent.
28255func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Ids(ids ...string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28256	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
28257	return c
28258}
28259
28260// View sets the optional parameter "view": Specifies the parts of the
28261// Messages resource to return in the response. When unspecified,
28262// equivalent to BASIC.
28263//
28264// Possible values:
28265//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28266// getMessage, equivalent to BASIC for listMessages.
28267//   "RAW_ONLY" - Server responses include all the message fields except
28268// parsed_data, and schematized_data fields.
28269//   "PARSED_ONLY" - Server responses include all the message fields
28270// except data and schematized_data fields.
28271//   "FULL" - Server responses include all the message fields.
28272//   "SCHEMATIZED_ONLY" - Server responses include all the message
28273// fields except data and parsed_data fields.
28274//   "BASIC" - Server responses include only the name field.
28275func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28276	c.urlParams_.Set("view", view)
28277	return c
28278}
28279
28280// Fields allows partial responses to be retrieved. See
28281// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28282// for more information.
28283func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28284	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28285	return c
28286}
28287
28288// IfNoneMatch sets the optional parameter which makes the operation
28289// fail if the object's ETag matches the given value. This is useful for
28290// getting updates only after the object has changed since the last
28291// request. Use googleapi.IsNotModified to check whether the response
28292// error from Do is the result of In-None-Match.
28293func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28294	c.ifNoneMatch_ = entityTag
28295	return c
28296}
28297
28298// Context sets the context to be used in this call's Do method. Any
28299// pending HTTP request will be aborted if the provided context is
28300// canceled.
28301func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall {
28302	c.ctx_ = ctx
28303	return c
28304}
28305
28306// Header returns an http.Header that can be modified by the caller to
28307// add HTTP headers to the request.
28308func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Header() http.Header {
28309	if c.header_ == nil {
28310		c.header_ = make(http.Header)
28311	}
28312	return c.header_
28313}
28314
28315func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) doRequest(alt string) (*http.Response, error) {
28316	reqHeaders := make(http.Header)
28317	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28318	for k, v := range c.header_ {
28319		reqHeaders[k] = v
28320	}
28321	reqHeaders.Set("User-Agent", c.s.userAgent())
28322	if c.ifNoneMatch_ != "" {
28323		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28324	}
28325	var body io.Reader = nil
28326	c.urlParams_.Set("alt", alt)
28327	c.urlParams_.Set("prettyPrint", "false")
28328	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:batchGet")
28329	urls += "?" + c.urlParams_.Encode()
28330	req, err := http.NewRequest("GET", urls, body)
28331	if err != nil {
28332		return nil, err
28333	}
28334	req.Header = reqHeaders
28335	googleapi.Expand(req.URL, map[string]string{
28336		"parent": c.parent,
28337	})
28338	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28339}
28340
28341// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet" call.
28342// Exactly one of *BatchGetMessagesResponse or error will be non-nil.
28343// Any non-2xx status code is an error. Response headers are in either
28344// *BatchGetMessagesResponse.ServerResponse.Header or (if a response was
28345// returned at all) in error.(*googleapi.Error).Header. Use
28346// googleapi.IsNotModified to check whether the returned error was
28347// because http.StatusNotModified was returned.
28348func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetMessagesResponse, error) {
28349	gensupport.SetOptions(c.urlParams_, opts...)
28350	res, err := c.doRequest("json")
28351	if res != nil && res.StatusCode == http.StatusNotModified {
28352		if res.Body != nil {
28353			res.Body.Close()
28354		}
28355		return nil, &googleapi.Error{
28356			Code:   res.StatusCode,
28357			Header: res.Header,
28358		}
28359	}
28360	if err != nil {
28361		return nil, err
28362	}
28363	defer googleapi.CloseBody(res)
28364	if err := googleapi.CheckResponse(res); err != nil {
28365		return nil, err
28366	}
28367	ret := &BatchGetMessagesResponse{
28368		ServerResponse: googleapi.ServerResponse{
28369			Header:         res.Header,
28370			HTTPStatusCode: res.StatusCode,
28371		},
28372	}
28373	target := &ret
28374	if err := gensupport.DecodeResponse(target, res); err != nil {
28375		return nil, err
28376	}
28377	return ret, nil
28378	// {
28379	//   "description": "Gets multiple messages in the given HL7v2 store.",
28380	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:batchGet",
28381	//   "httpMethod": "GET",
28382	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.batchGet",
28383	//   "parameterOrder": [
28384	//     "parent"
28385	//   ],
28386	//   "parameters": {
28387	//     "ids": {
28388	//       "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.",
28389	//       "location": "query",
28390	//       "repeated": true,
28391	//       "type": "string"
28392	//     },
28393	//     "parent": {
28394	//       "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}`.",
28395	//       "location": "path",
28396	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28397	//       "required": true,
28398	//       "type": "string"
28399	//     },
28400	//     "view": {
28401	//       "description": "Specifies the parts of the Messages resource to return in the response. When unspecified, equivalent to BASIC.",
28402	//       "enum": [
28403	//         "MESSAGE_VIEW_UNSPECIFIED",
28404	//         "RAW_ONLY",
28405	//         "PARSED_ONLY",
28406	//         "FULL",
28407	//         "SCHEMATIZED_ONLY",
28408	//         "BASIC"
28409	//       ],
28410	//       "enumDescriptions": [
28411	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28412	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28413	//         "Server responses include all the message fields except data and schematized_data fields.",
28414	//         "Server responses include all the message fields.",
28415	//         "Server responses include all the message fields except data and parsed_data fields.",
28416	//         "Server responses include only the name field."
28417	//       ],
28418	//       "location": "query",
28419	//       "type": "string"
28420	//     }
28421	//   },
28422	//   "path": "v1beta1/{+parent}/messages:batchGet",
28423	//   "response": {
28424	//     "$ref": "BatchGetMessagesResponse"
28425	//   },
28426	//   "scopes": [
28427	//     "https://www.googleapis.com/auth/cloud-platform"
28428	//   ]
28429	// }
28430
28431}
28432
28433// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.create":
28434
28435type ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall struct {
28436	s                    *Service
28437	parent               string
28438	createmessagerequest *CreateMessageRequest
28439	urlParams_           gensupport.URLParams
28440	ctx_                 context.Context
28441	header_              http.Header
28442}
28443
28444// Create: Parses and stores an HL7v2 message. This method triggers an
28445// asynchronous notification to any Pub/Sub topic configured in
28446// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28447// message. If an MLLP adapter is configured to listen to a Pub/Sub
28448// topic, the adapter transmits the message when a notification is
28449// received.
28450//
28451// - parent: The name of the dataset this message belongs to.
28452func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Create(parent string, createmessagerequest *CreateMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28453	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28454	c.parent = parent
28455	c.createmessagerequest = createmessagerequest
28456	return c
28457}
28458
28459// Fields allows partial responses to be retrieved. See
28460// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28461// for more information.
28462func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28463	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28464	return c
28465}
28466
28467// Context sets the context to be used in this call's Do method. Any
28468// pending HTTP request will be aborted if the provided context is
28469// canceled.
28470func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall {
28471	c.ctx_ = ctx
28472	return c
28473}
28474
28475// Header returns an http.Header that can be modified by the caller to
28476// add HTTP headers to the request.
28477func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Header() http.Header {
28478	if c.header_ == nil {
28479		c.header_ = make(http.Header)
28480	}
28481	return c.header_
28482}
28483
28484func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
28485	reqHeaders := make(http.Header)
28486	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28487	for k, v := range c.header_ {
28488		reqHeaders[k] = v
28489	}
28490	reqHeaders.Set("User-Agent", c.s.userAgent())
28491	var body io.Reader = nil
28492	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createmessagerequest)
28493	if err != nil {
28494		return nil, err
28495	}
28496	reqHeaders.Set("Content-Type", "application/json")
28497	c.urlParams_.Set("alt", alt)
28498	c.urlParams_.Set("prettyPrint", "false")
28499	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
28500	urls += "?" + c.urlParams_.Encode()
28501	req, err := http.NewRequest("POST", urls, body)
28502	if err != nil {
28503		return nil, err
28504	}
28505	req.Header = reqHeaders
28506	googleapi.Expand(req.URL, map[string]string{
28507		"parent": c.parent,
28508	})
28509	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28510}
28511
28512// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.create" call.
28513// Exactly one of *Message or error will be non-nil. Any non-2xx status
28514// code is an error. Response headers are in either
28515// *Message.ServerResponse.Header or (if a response was returned at all)
28516// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28517// check whether the returned error was because http.StatusNotModified
28518// was returned.
28519func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28520	gensupport.SetOptions(c.urlParams_, opts...)
28521	res, err := c.doRequest("json")
28522	if res != nil && res.StatusCode == http.StatusNotModified {
28523		if res.Body != nil {
28524			res.Body.Close()
28525		}
28526		return nil, &googleapi.Error{
28527			Code:   res.StatusCode,
28528			Header: res.Header,
28529		}
28530	}
28531	if err != nil {
28532		return nil, err
28533	}
28534	defer googleapi.CloseBody(res)
28535	if err := googleapi.CheckResponse(res); err != nil {
28536		return nil, err
28537	}
28538	ret := &Message{
28539		ServerResponse: googleapi.ServerResponse{
28540			Header:         res.Header,
28541			HTTPStatusCode: res.StatusCode,
28542		},
28543	}
28544	target := &ret
28545	if err := gensupport.DecodeResponse(target, res); err != nil {
28546		return nil, err
28547	}
28548	return ret, nil
28549	// {
28550	//   "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.",
28551	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
28552	//   "httpMethod": "POST",
28553	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create",
28554	//   "parameterOrder": [
28555	//     "parent"
28556	//   ],
28557	//   "parameters": {
28558	//     "parent": {
28559	//       "description": "The name of the dataset this message belongs to.",
28560	//       "location": "path",
28561	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
28562	//       "required": true,
28563	//       "type": "string"
28564	//     }
28565	//   },
28566	//   "path": "v1beta1/{+parent}/messages",
28567	//   "request": {
28568	//     "$ref": "CreateMessageRequest"
28569	//   },
28570	//   "response": {
28571	//     "$ref": "Message"
28572	//   },
28573	//   "scopes": [
28574	//     "https://www.googleapis.com/auth/cloud-platform"
28575	//   ]
28576	// }
28577
28578}
28579
28580// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete":
28581
28582type ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall struct {
28583	s          *Service
28584	name       string
28585	urlParams_ gensupport.URLParams
28586	ctx_       context.Context
28587	header_    http.Header
28588}
28589
28590// Delete: Deletes an HL7v2 message.
28591//
28592// - name: The resource name of the HL7v2 message to delete.
28593func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Delete(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28594	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28595	c.name = name
28596	return c
28597}
28598
28599// Fields allows partial responses to be retrieved. See
28600// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28601// for more information.
28602func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28603	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28604	return c
28605}
28606
28607// Context sets the context to be used in this call's Do method. Any
28608// pending HTTP request will be aborted if the provided context is
28609// canceled.
28610func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall {
28611	c.ctx_ = ctx
28612	return c
28613}
28614
28615// Header returns an http.Header that can be modified by the caller to
28616// add HTTP headers to the request.
28617func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Header() http.Header {
28618	if c.header_ == nil {
28619		c.header_ = make(http.Header)
28620	}
28621	return c.header_
28622}
28623
28624func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
28625	reqHeaders := make(http.Header)
28626	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28627	for k, v := range c.header_ {
28628		reqHeaders[k] = v
28629	}
28630	reqHeaders.Set("User-Agent", c.s.userAgent())
28631	var body io.Reader = nil
28632	c.urlParams_.Set("alt", alt)
28633	c.urlParams_.Set("prettyPrint", "false")
28634	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28635	urls += "?" + c.urlParams_.Encode()
28636	req, err := http.NewRequest("DELETE", urls, body)
28637	if err != nil {
28638		return nil, err
28639	}
28640	req.Header = reqHeaders
28641	googleapi.Expand(req.URL, map[string]string{
28642		"name": c.name,
28643	})
28644	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28645}
28646
28647// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete" call.
28648// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28649// code is an error. Response headers are in either
28650// *Empty.ServerResponse.Header or (if a response was returned at all)
28651// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28652// check whether the returned error was because http.StatusNotModified
28653// was returned.
28654func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28655	gensupport.SetOptions(c.urlParams_, opts...)
28656	res, err := c.doRequest("json")
28657	if res != nil && res.StatusCode == http.StatusNotModified {
28658		if res.Body != nil {
28659			res.Body.Close()
28660		}
28661		return nil, &googleapi.Error{
28662			Code:   res.StatusCode,
28663			Header: res.Header,
28664		}
28665	}
28666	if err != nil {
28667		return nil, err
28668	}
28669	defer googleapi.CloseBody(res)
28670	if err := googleapi.CheckResponse(res); err != nil {
28671		return nil, err
28672	}
28673	ret := &Empty{
28674		ServerResponse: googleapi.ServerResponse{
28675			Header:         res.Header,
28676			HTTPStatusCode: res.StatusCode,
28677		},
28678	}
28679	target := &ret
28680	if err := gensupport.DecodeResponse(target, res); err != nil {
28681		return nil, err
28682	}
28683	return ret, nil
28684	// {
28685	//   "description": "Deletes an HL7v2 message.",
28686	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28687	//   "httpMethod": "DELETE",
28688	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete",
28689	//   "parameterOrder": [
28690	//     "name"
28691	//   ],
28692	//   "parameters": {
28693	//     "name": {
28694	//       "description": "The resource name of the HL7v2 message to delete.",
28695	//       "location": "path",
28696	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28697	//       "required": true,
28698	//       "type": "string"
28699	//     }
28700	//   },
28701	//   "path": "v1beta1/{+name}",
28702	//   "response": {
28703	//     "$ref": "Empty"
28704	//   },
28705	//   "scopes": [
28706	//     "https://www.googleapis.com/auth/cloud-platform"
28707	//   ]
28708	// }
28709
28710}
28711
28712// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.get":
28713
28714type ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall struct {
28715	s            *Service
28716	name         string
28717	urlParams_   gensupport.URLParams
28718	ifNoneMatch_ string
28719	ctx_         context.Context
28720	header_      http.Header
28721}
28722
28723// Get: Gets an HL7v2 message.
28724//
28725// - name: The resource name of the HL7v2 message to retrieve.
28726func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Get(name string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28727	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28728	c.name = name
28729	return c
28730}
28731
28732// View sets the optional parameter "view": Specifies which parts of the
28733// Message resource to return in the response. When unspecified,
28734// equivalent to FULL.
28735//
28736// Possible values:
28737//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
28738// getMessage, equivalent to BASIC for listMessages.
28739//   "RAW_ONLY" - Server responses include all the message fields except
28740// parsed_data, and schematized_data fields.
28741//   "PARSED_ONLY" - Server responses include all the message fields
28742// except data and schematized_data fields.
28743//   "FULL" - Server responses include all the message fields.
28744//   "SCHEMATIZED_ONLY" - Server responses include all the message
28745// fields except data and parsed_data fields.
28746//   "BASIC" - Server responses include only the name field.
28747func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28748	c.urlParams_.Set("view", view)
28749	return c
28750}
28751
28752// Fields allows partial responses to be retrieved. See
28753// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28754// for more information.
28755func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28756	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28757	return c
28758}
28759
28760// IfNoneMatch sets the optional parameter which makes the operation
28761// fail if the object's ETag matches the given value. This is useful for
28762// getting updates only after the object has changed since the last
28763// request. Use googleapi.IsNotModified to check whether the response
28764// error from Do is the result of In-None-Match.
28765func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28766	c.ifNoneMatch_ = entityTag
28767	return c
28768}
28769
28770// Context sets the context to be used in this call's Do method. Any
28771// pending HTTP request will be aborted if the provided context is
28772// canceled.
28773func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall {
28774	c.ctx_ = ctx
28775	return c
28776}
28777
28778// Header returns an http.Header that can be modified by the caller to
28779// add HTTP headers to the request.
28780func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Header() http.Header {
28781	if c.header_ == nil {
28782		c.header_ = make(http.Header)
28783	}
28784	return c.header_
28785}
28786
28787func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
28788	reqHeaders := make(http.Header)
28789	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28790	for k, v := range c.header_ {
28791		reqHeaders[k] = v
28792	}
28793	reqHeaders.Set("User-Agent", c.s.userAgent())
28794	if c.ifNoneMatch_ != "" {
28795		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28796	}
28797	var body io.Reader = nil
28798	c.urlParams_.Set("alt", alt)
28799	c.urlParams_.Set("prettyPrint", "false")
28800	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
28801	urls += "?" + c.urlParams_.Encode()
28802	req, err := http.NewRequest("GET", urls, body)
28803	if err != nil {
28804		return nil, err
28805	}
28806	req.Header = reqHeaders
28807	googleapi.Expand(req.URL, map[string]string{
28808		"name": c.name,
28809	})
28810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28811}
28812
28813// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.get" call.
28814// Exactly one of *Message or error will be non-nil. Any non-2xx status
28815// code is an error. Response headers are in either
28816// *Message.ServerResponse.Header or (if a response was returned at all)
28817// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28818// check whether the returned error was because http.StatusNotModified
28819// was returned.
28820func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error) {
28821	gensupport.SetOptions(c.urlParams_, opts...)
28822	res, err := c.doRequest("json")
28823	if res != nil && res.StatusCode == http.StatusNotModified {
28824		if res.Body != nil {
28825			res.Body.Close()
28826		}
28827		return nil, &googleapi.Error{
28828			Code:   res.StatusCode,
28829			Header: res.Header,
28830		}
28831	}
28832	if err != nil {
28833		return nil, err
28834	}
28835	defer googleapi.CloseBody(res)
28836	if err := googleapi.CheckResponse(res); err != nil {
28837		return nil, err
28838	}
28839	ret := &Message{
28840		ServerResponse: googleapi.ServerResponse{
28841			Header:         res.Header,
28842			HTTPStatusCode: res.StatusCode,
28843		},
28844	}
28845	target := &ret
28846	if err := gensupport.DecodeResponse(target, res); err != nil {
28847		return nil, err
28848	}
28849	return ret, nil
28850	// {
28851	//   "description": "Gets an HL7v2 message.",
28852	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
28853	//   "httpMethod": "GET",
28854	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get",
28855	//   "parameterOrder": [
28856	//     "name"
28857	//   ],
28858	//   "parameters": {
28859	//     "name": {
28860	//       "description": "The resource name of the HL7v2 message to retrieve.",
28861	//       "location": "path",
28862	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
28863	//       "required": true,
28864	//       "type": "string"
28865	//     },
28866	//     "view": {
28867	//       "description": "Specifies which parts of the Message resource to return in the response. When unspecified, equivalent to FULL.",
28868	//       "enum": [
28869	//         "MESSAGE_VIEW_UNSPECIFIED",
28870	//         "RAW_ONLY",
28871	//         "PARSED_ONLY",
28872	//         "FULL",
28873	//         "SCHEMATIZED_ONLY",
28874	//         "BASIC"
28875	//       ],
28876	//       "enumDescriptions": [
28877	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
28878	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
28879	//         "Server responses include all the message fields except data and schematized_data fields.",
28880	//         "Server responses include all the message fields.",
28881	//         "Server responses include all the message fields except data and parsed_data fields.",
28882	//         "Server responses include only the name field."
28883	//       ],
28884	//       "location": "query",
28885	//       "type": "string"
28886	//     }
28887	//   },
28888	//   "path": "v1beta1/{+name}",
28889	//   "response": {
28890	//     "$ref": "Message"
28891	//   },
28892	//   "scopes": [
28893	//     "https://www.googleapis.com/auth/cloud-platform"
28894	//   ]
28895	// }
28896
28897}
28898
28899// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest":
28900
28901type ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall struct {
28902	s                    *Service
28903	parent               string
28904	ingestmessagerequest *IngestMessageRequest
28905	urlParams_           gensupport.URLParams
28906	ctx_                 context.Context
28907	header_              http.Header
28908}
28909
28910// Ingest: Parses and stores an HL7v2 message. This method triggers an
28911// asynchronous notification to any Pub/Sub topic configured in
28912// Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the
28913// message. If an MLLP adapter is configured to listen to a Pub/Sub
28914// topic, the adapter transmits the message when a notification is
28915// received. If the method is successful, it generates a response
28916// containing an HL7v2 acknowledgment (`ACK`) message. If the method
28917// encounters an error, it returns a negative acknowledgment (`NACK`)
28918// message. This behavior is suitable for replying to HL7v2 interface
28919// systems that expect these acknowledgments.
28920//
28921// - parent: The name of the HL7v2 store this message belongs to.
28922func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Ingest(parent string, ingestmessagerequest *IngestMessageRequest) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28923	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28924	c.parent = parent
28925	c.ingestmessagerequest = ingestmessagerequest
28926	return c
28927}
28928
28929// Fields allows partial responses to be retrieved. See
28930// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28931// for more information.
28932func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28933	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28934	return c
28935}
28936
28937// Context sets the context to be used in this call's Do method. Any
28938// pending HTTP request will be aborted if the provided context is
28939// canceled.
28940func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall {
28941	c.ctx_ = ctx
28942	return c
28943}
28944
28945// Header returns an http.Header that can be modified by the caller to
28946// add HTTP headers to the request.
28947func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Header() http.Header {
28948	if c.header_ == nil {
28949		c.header_ = make(http.Header)
28950	}
28951	return c.header_
28952}
28953
28954func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
28955	reqHeaders := make(http.Header)
28956	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28957	for k, v := range c.header_ {
28958		reqHeaders[k] = v
28959	}
28960	reqHeaders.Set("User-Agent", c.s.userAgent())
28961	var body io.Reader = nil
28962	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ingestmessagerequest)
28963	if err != nil {
28964		return nil, err
28965	}
28966	reqHeaders.Set("Content-Type", "application/json")
28967	c.urlParams_.Set("alt", alt)
28968	c.urlParams_.Set("prettyPrint", "false")
28969	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages:ingest")
28970	urls += "?" + c.urlParams_.Encode()
28971	req, err := http.NewRequest("POST", urls, body)
28972	if err != nil {
28973		return nil, err
28974	}
28975	req.Header = reqHeaders
28976	googleapi.Expand(req.URL, map[string]string{
28977		"parent": c.parent,
28978	})
28979	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28980}
28981
28982// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest" call.
28983// Exactly one of *IngestMessageResponse or error will be non-nil. Any
28984// non-2xx status code is an error. Response headers are in either
28985// *IngestMessageResponse.ServerResponse.Header or (if a response was
28986// returned at all) in error.(*googleapi.Error).Header. Use
28987// googleapi.IsNotModified to check whether the returned error was
28988// because http.StatusNotModified was returned.
28989func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) Do(opts ...googleapi.CallOption) (*IngestMessageResponse, error) {
28990	gensupport.SetOptions(c.urlParams_, opts...)
28991	res, err := c.doRequest("json")
28992	if res != nil && res.StatusCode == http.StatusNotModified {
28993		if res.Body != nil {
28994			res.Body.Close()
28995		}
28996		return nil, &googleapi.Error{
28997			Code:   res.StatusCode,
28998			Header: res.Header,
28999		}
29000	}
29001	if err != nil {
29002		return nil, err
29003	}
29004	defer googleapi.CloseBody(res)
29005	if err := googleapi.CheckResponse(res); err != nil {
29006		return nil, err
29007	}
29008	ret := &IngestMessageResponse{
29009		ServerResponse: googleapi.ServerResponse{
29010			Header:         res.Header,
29011			HTTPStatusCode: res.StatusCode,
29012		},
29013	}
29014	target := &ret
29015	if err := gensupport.DecodeResponse(target, res); err != nil {
29016		return nil, err
29017	}
29018	return ret, nil
29019	// {
29020	//   "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.",
29021	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest",
29022	//   "httpMethod": "POST",
29023	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest",
29024	//   "parameterOrder": [
29025	//     "parent"
29026	//   ],
29027	//   "parameters": {
29028	//     "parent": {
29029	//       "description": "The name of the HL7v2 store this message belongs to.",
29030	//       "location": "path",
29031	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
29032	//       "required": true,
29033	//       "type": "string"
29034	//     }
29035	//   },
29036	//   "path": "v1beta1/{+parent}/messages:ingest",
29037	//   "request": {
29038	//     "$ref": "IngestMessageRequest"
29039	//   },
29040	//   "response": {
29041	//     "$ref": "IngestMessageResponse"
29042	//   },
29043	//   "scopes": [
29044	//     "https://www.googleapis.com/auth/cloud-platform"
29045	//   ]
29046	// }
29047
29048}
29049
29050// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.list":
29051
29052type ProjectsLocationsDatasetsHl7V2StoresMessagesListCall struct {
29053	s            *Service
29054	parent       string
29055	urlParams_   gensupport.URLParams
29056	ifNoneMatch_ string
29057	ctx_         context.Context
29058	header_      http.Header
29059}
29060
29061// List: Lists all the messages in the given HL7v2 store with support
29062// for filtering. Note: HL7v2 messages are indexed asynchronously, so
29063// there might be a slight delay between the time a message is created
29064// and when it can be found through a filter.
29065//
29066// - parent: Name of the HL7v2 store to retrieve messages from.
29067func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) List(parent string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29068	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29069	c.parent = parent
29070	return c
29071}
29072
29073// Filter sets the optional parameter "filter": Restricts messages
29074// returned to those matching a filter. The following syntax is
29075// available: * A string field value can be written as text inside
29076// quotation marks, for example "query text". The only valid
29077// relational operation for text fields is equality (`=`), where text is
29078// searched within the field, rather than having the field be equal to
29079// the text. For example, "Comment = great" returns messages with
29080// `great` in the comment field. * A number field value can be written
29081// as an integer, a decimal, or an exponential. The valid relational
29082// operators for number fields are the equality operator (`=`), along
29083// with the less than/greater than operators (`<`, `<=`, `>`, `>=`).
29084// Note that there is no inequality (`!=`) operator. You can prepend the
29085// `NOT` operator to an expression to negate it. * A date field value
29086// must be written in `yyyy-mm-dd` form. Fields with date and time use
29087// the RFC3339 time format. Leading zeros are required for one-digit
29088// months and days. The valid relational operators for date fields are
29089// the equality operator (`=`) , along with the less than/greater than
29090// operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality
29091// (`!=`) operator. You can prepend the `NOT` operator to an expression
29092// to negate it. * Multiple field query expressions can be combined in
29093// one query by adding `AND` or `OR` operators between the expressions.
29094// If a boolean operator appears within a quoted string, it is not
29095// treated as special, it's just another part of the character string to
29096// be matched. You can prepend the `NOT` operator to an expression to
29097// negate it. Fields/functions available for filtering are: *
29098// `message_type`, from the MSH-9.1 field. For example, `NOT
29099// message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD
29100// date the message was sent in the dataset's time_zone, from the MSH-7
29101// segment. For example, `send_date < "2017-01-02". * `send_time`, the
29102// timestamp when the message was sent, using the RFC3339 time format
29103// for comparisons, from the MSH-7 segment. For example, `send_time <
29104// "2017-01-02T00:00:00-05:00". * `create_time`, the timestamp when the
29105// message was created in the HL7v2 store. Use the RFC3339 time format
29106// for comparisons. For example, `create_time <
29107// "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that
29108// the message came from, from the MSH-4 segment. For example,
29109// `send_facility = "ABC". * `PatientId(value, type)`, which matches if
29110// the message lists a patient having an ID of the given value and type
29111// in the PID-2, PID-3, or PID-4 segments. For example,
29112// `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
29113// label with key `x` as set using the Message.labels map. For example,
29114// `labels."priority"="high". The operator `:*` can be used to assert
29115// the existence of a label. For example, `labels."priority":*`.
29116func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Filter(filter string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29117	c.urlParams_.Set("filter", filter)
29118	return c
29119}
29120
29121// OrderBy sets the optional parameter "orderBy": Orders messages
29122// returned by the specified order_by clause. Syntax:
29123// https://cloud.google.com/apis/design/design_patterns#sorting_order
29124// Fields available for ordering are: * `send_time`
29125func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29126	c.urlParams_.Set("orderBy", orderBy)
29127	return c
29128}
29129
29130// PageSize sets the optional parameter "pageSize": Limit on the number
29131// of messages to return in a single response. If not specified, 100 is
29132// used. May not be larger than 1000.
29133func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29134	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29135	return c
29136}
29137
29138// PageToken sets the optional parameter "pageToken": The
29139// next_page_token value returned from the previous List request, if
29140// any.
29141func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29142	c.urlParams_.Set("pageToken", pageToken)
29143	return c
29144}
29145
29146// View sets the optional parameter "view": Specifies the parts of the
29147// Message to return in the response. When unspecified, equivalent to
29148// BASIC. Setting this to anything other than BASIC with a `page_size`
29149// larger than the default can generate a large response, which impacts
29150// the performance of this method.
29151//
29152// Possible values:
29153//   "MESSAGE_VIEW_UNSPECIFIED" - Not specified, equivalent to FULL for
29154// getMessage, equivalent to BASIC for listMessages.
29155//   "RAW_ONLY" - Server responses include all the message fields except
29156// parsed_data, and schematized_data fields.
29157//   "PARSED_ONLY" - Server responses include all the message fields
29158// except data and schematized_data fields.
29159//   "FULL" - Server responses include all the message fields.
29160//   "SCHEMATIZED_ONLY" - Server responses include all the message
29161// fields except data and parsed_data fields.
29162//   "BASIC" - Server responses include only the name field.
29163func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) View(view string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29164	c.urlParams_.Set("view", view)
29165	return c
29166}
29167
29168// Fields allows partial responses to be retrieved. See
29169// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29170// for more information.
29171func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29172	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29173	return c
29174}
29175
29176// IfNoneMatch sets the optional parameter which makes the operation
29177// fail if the object's ETag matches the given value. This is useful for
29178// getting updates only after the object has changed since the last
29179// request. Use googleapi.IsNotModified to check whether the response
29180// error from Do is the result of In-None-Match.
29181func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29182	c.ifNoneMatch_ = entityTag
29183	return c
29184}
29185
29186// Context sets the context to be used in this call's Do method. Any
29187// pending HTTP request will be aborted if the provided context is
29188// canceled.
29189func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall {
29190	c.ctx_ = ctx
29191	return c
29192}
29193
29194// Header returns an http.Header that can be modified by the caller to
29195// add HTTP headers to the request.
29196func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Header() http.Header {
29197	if c.header_ == nil {
29198		c.header_ = make(http.Header)
29199	}
29200	return c.header_
29201}
29202
29203func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
29204	reqHeaders := make(http.Header)
29205	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29206	for k, v := range c.header_ {
29207		reqHeaders[k] = v
29208	}
29209	reqHeaders.Set("User-Agent", c.s.userAgent())
29210	if c.ifNoneMatch_ != "" {
29211		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29212	}
29213	var body io.Reader = nil
29214	c.urlParams_.Set("alt", alt)
29215	c.urlParams_.Set("prettyPrint", "false")
29216	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/messages")
29217	urls += "?" + c.urlParams_.Encode()
29218	req, err := http.NewRequest("GET", urls, body)
29219	if err != nil {
29220		return nil, err
29221	}
29222	req.Header = reqHeaders
29223	googleapi.Expand(req.URL, map[string]string{
29224		"parent": c.parent,
29225	})
29226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29227}
29228
29229// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.list" call.
29230// Exactly one of *ListMessagesResponse or error will be non-nil. Any
29231// non-2xx status code is an error. Response headers are in either
29232// *ListMessagesResponse.ServerResponse.Header or (if a response was
29233// returned at all) in error.(*googleapi.Error).Header. Use
29234// googleapi.IsNotModified to check whether the returned error was
29235// because http.StatusNotModified was returned.
29236func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Do(opts ...googleapi.CallOption) (*ListMessagesResponse, error) {
29237	gensupport.SetOptions(c.urlParams_, opts...)
29238	res, err := c.doRequest("json")
29239	if res != nil && res.StatusCode == http.StatusNotModified {
29240		if res.Body != nil {
29241			res.Body.Close()
29242		}
29243		return nil, &googleapi.Error{
29244			Code:   res.StatusCode,
29245			Header: res.Header,
29246		}
29247	}
29248	if err != nil {
29249		return nil, err
29250	}
29251	defer googleapi.CloseBody(res)
29252	if err := googleapi.CheckResponse(res); err != nil {
29253		return nil, err
29254	}
29255	ret := &ListMessagesResponse{
29256		ServerResponse: googleapi.ServerResponse{
29257			Header:         res.Header,
29258			HTTPStatusCode: res.StatusCode,
29259		},
29260	}
29261	target := &ret
29262	if err := gensupport.DecodeResponse(target, res); err != nil {
29263		return nil, err
29264	}
29265	return ret, nil
29266	// {
29267	//   "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.",
29268	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
29269	//   "httpMethod": "GET",
29270	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list",
29271	//   "parameterOrder": [
29272	//     "parent"
29273	//   ],
29274	//   "parameters": {
29275	//     "filter": {
29276	//       "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\":*`.",
29277	//       "location": "query",
29278	//       "type": "string"
29279	//     },
29280	//     "orderBy": {
29281	//       "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`",
29282	//       "location": "query",
29283	//       "type": "string"
29284	//     },
29285	//     "pageSize": {
29286	//       "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.",
29287	//       "format": "int32",
29288	//       "location": "query",
29289	//       "type": "integer"
29290	//     },
29291	//     "pageToken": {
29292	//       "description": "The next_page_token value returned from the previous List request, if any.",
29293	//       "location": "query",
29294	//       "type": "string"
29295	//     },
29296	//     "parent": {
29297	//       "description": "Name of the HL7v2 store to retrieve messages from.",
29298	//       "location": "path",
29299	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
29300	//       "required": true,
29301	//       "type": "string"
29302	//     },
29303	//     "view": {
29304	//       "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.",
29305	//       "enum": [
29306	//         "MESSAGE_VIEW_UNSPECIFIED",
29307	//         "RAW_ONLY",
29308	//         "PARSED_ONLY",
29309	//         "FULL",
29310	//         "SCHEMATIZED_ONLY",
29311	//         "BASIC"
29312	//       ],
29313	//       "enumDescriptions": [
29314	//         "Not specified, equivalent to FULL for getMessage, equivalent to BASIC for listMessages.",
29315	//         "Server responses include all the message fields except parsed_data, and schematized_data fields.",
29316	//         "Server responses include all the message fields except data and schematized_data fields.",
29317	//         "Server responses include all the message fields.",
29318	//         "Server responses include all the message fields except data and parsed_data fields.",
29319	//         "Server responses include only the name field."
29320	//       ],
29321	//       "location": "query",
29322	//       "type": "string"
29323	//     }
29324	//   },
29325	//   "path": "v1beta1/{+parent}/messages",
29326	//   "response": {
29327	//     "$ref": "ListMessagesResponse"
29328	//   },
29329	//   "scopes": [
29330	//     "https://www.googleapis.com/auth/cloud-platform"
29331	//   ]
29332	// }
29333
29334}
29335
29336// Pages invokes f for each page of results.
29337// A non-nil error returned from f will halt the iteration.
29338// The provided context supersedes any context provided to the Context method.
29339func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) Pages(ctx context.Context, f func(*ListMessagesResponse) error) error {
29340	c.ctx_ = ctx
29341	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29342	for {
29343		x, err := c.Do()
29344		if err != nil {
29345			return err
29346		}
29347		if err := f(x); err != nil {
29348			return err
29349		}
29350		if x.NextPageToken == "" {
29351			return nil
29352		}
29353		c.PageToken(x.NextPageToken)
29354	}
29355}
29356
29357// method id "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch":
29358
29359type ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall struct {
29360	s          *Service
29361	name       string
29362	message    *Message
29363	urlParams_ gensupport.URLParams
29364	ctx_       context.Context
29365	header_    http.Header
29366}
29367
29368// Patch: Update the message. The contents of the message in
29369// Message.data and data extracted from the contents such as
29370// Message.create_time can't be altered. Only the Message.labels field
29371// is allowed to be updated. The labels in the request are merged with
29372// the existing set of labels. Existing labels with the same keys are
29373// updated.
29374//
29375// - name: Resource name of the Message, of the form
29376//   `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_sto
29377//   re_id}/messages/{message_id}`. Assigned by the server.
29378func (r *ProjectsLocationsDatasetsHl7V2StoresMessagesService) Patch(name string, message *Message) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29379	c := &ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29380	c.name = name
29381	c.message = message
29382	return c
29383}
29384
29385// UpdateMask sets the optional parameter "updateMask": The update mask
29386// applies to the resource. For the `FieldMask` definition, see
29387// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
29388func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29389	c.urlParams_.Set("updateMask", updateMask)
29390	return c
29391}
29392
29393// Fields allows partial responses to be retrieved. See
29394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29395// for more information.
29396func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29398	return c
29399}
29400
29401// Context sets the context to be used in this call's Do method. Any
29402// pending HTTP request will be aborted if the provided context is
29403// canceled.
29404func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall {
29405	c.ctx_ = ctx
29406	return c
29407}
29408
29409// Header returns an http.Header that can be modified by the caller to
29410// add HTTP headers to the request.
29411func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Header() http.Header {
29412	if c.header_ == nil {
29413		c.header_ = make(http.Header)
29414	}
29415	return c.header_
29416}
29417
29418func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
29419	reqHeaders := make(http.Header)
29420	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29421	for k, v := range c.header_ {
29422		reqHeaders[k] = v
29423	}
29424	reqHeaders.Set("User-Agent", c.s.userAgent())
29425	var body io.Reader = nil
29426	body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
29427	if err != nil {
29428		return nil, err
29429	}
29430	reqHeaders.Set("Content-Type", "application/json")
29431	c.urlParams_.Set("alt", alt)
29432	c.urlParams_.Set("prettyPrint", "false")
29433	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29434	urls += "?" + c.urlParams_.Encode()
29435	req, err := http.NewRequest("PATCH", urls, body)
29436	if err != nil {
29437		return nil, err
29438	}
29439	req.Header = reqHeaders
29440	googleapi.Expand(req.URL, map[string]string{
29441		"name": c.name,
29442	})
29443	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29444}
29445
29446// Do executes the "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch" call.
29447// Exactly one of *Message or error will be non-nil. Any non-2xx status
29448// code is an error. Response headers are in either
29449// *Message.ServerResponse.Header or (if a response was returned at all)
29450// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29451// check whether the returned error was because http.StatusNotModified
29452// was returned.
29453func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) Do(opts ...googleapi.CallOption) (*Message, error) {
29454	gensupport.SetOptions(c.urlParams_, opts...)
29455	res, err := c.doRequest("json")
29456	if res != nil && res.StatusCode == http.StatusNotModified {
29457		if res.Body != nil {
29458			res.Body.Close()
29459		}
29460		return nil, &googleapi.Error{
29461			Code:   res.StatusCode,
29462			Header: res.Header,
29463		}
29464	}
29465	if err != nil {
29466		return nil, err
29467	}
29468	defer googleapi.CloseBody(res)
29469	if err := googleapi.CheckResponse(res); err != nil {
29470		return nil, err
29471	}
29472	ret := &Message{
29473		ServerResponse: googleapi.ServerResponse{
29474			Header:         res.Header,
29475			HTTPStatusCode: res.StatusCode,
29476		},
29477	}
29478	target := &ret
29479	if err := gensupport.DecodeResponse(target, res); err != nil {
29480		return nil, err
29481	}
29482	return ret, nil
29483	// {
29484	//   "description": "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.",
29485	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
29486	//   "httpMethod": "PATCH",
29487	//   "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch",
29488	//   "parameterOrder": [
29489	//     "name"
29490	//   ],
29491	//   "parameters": {
29492	//     "name": {
29493	//       "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.",
29494	//       "location": "path",
29495	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
29496	//       "required": true,
29497	//       "type": "string"
29498	//     },
29499	//     "updateMask": {
29500	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
29501	//       "format": "google-fieldmask",
29502	//       "location": "query",
29503	//       "type": "string"
29504	//     }
29505	//   },
29506	//   "path": "v1beta1/{+name}",
29507	//   "request": {
29508	//     "$ref": "Message"
29509	//   },
29510	//   "response": {
29511	//     "$ref": "Message"
29512	//   },
29513	//   "scopes": [
29514	//     "https://www.googleapis.com/auth/cloud-platform"
29515	//   ]
29516	// }
29517
29518}
29519
29520// method id "healthcare.projects.locations.datasets.operations.cancel":
29521
29522type ProjectsLocationsDatasetsOperationsCancelCall struct {
29523	s                      *Service
29524	name                   string
29525	canceloperationrequest *CancelOperationRequest
29526	urlParams_             gensupport.URLParams
29527	ctx_                   context.Context
29528	header_                http.Header
29529}
29530
29531// Cancel: Starts asynchronous cancellation on a long-running operation.
29532// The server makes a best effort to cancel the operation, but success
29533// is not guaranteed. If the server doesn't support this method, it
29534// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
29535// Operations.GetOperation or other methods to check whether the
29536// cancellation succeeded or whether the operation completed despite
29537// cancellation. On successful cancellation, the operation is not
29538// deleted; instead, it becomes an operation with an Operation.error
29539// value with a google.rpc.Status.code of 1, corresponding to
29540// `Code.CANCELLED`.
29541//
29542// - name: The name of the operation resource to be cancelled.
29543func (r *ProjectsLocationsDatasetsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsDatasetsOperationsCancelCall {
29544	c := &ProjectsLocationsDatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29545	c.name = name
29546	c.canceloperationrequest = canceloperationrequest
29547	return c
29548}
29549
29550// Fields allows partial responses to be retrieved. See
29551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29552// for more information.
29553func (c *ProjectsLocationsDatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsCancelCall {
29554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29555	return c
29556}
29557
29558// Context sets the context to be used in this call's Do method. Any
29559// pending HTTP request will be aborted if the provided context is
29560// canceled.
29561func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
29562	c.ctx_ = ctx
29563	return c
29564}
29565
29566// Header returns an http.Header that can be modified by the caller to
29567// add HTTP headers to the request.
29568func (c *ProjectsLocationsDatasetsOperationsCancelCall) Header() http.Header {
29569	if c.header_ == nil {
29570		c.header_ = make(http.Header)
29571	}
29572	return c.header_
29573}
29574
29575func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
29576	reqHeaders := make(http.Header)
29577	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29578	for k, v := range c.header_ {
29579		reqHeaders[k] = v
29580	}
29581	reqHeaders.Set("User-Agent", c.s.userAgent())
29582	var body io.Reader = nil
29583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
29584	if err != nil {
29585		return nil, err
29586	}
29587	reqHeaders.Set("Content-Type", "application/json")
29588	c.urlParams_.Set("alt", alt)
29589	c.urlParams_.Set("prettyPrint", "false")
29590	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
29591	urls += "?" + c.urlParams_.Encode()
29592	req, err := http.NewRequest("POST", urls, body)
29593	if err != nil {
29594		return nil, err
29595	}
29596	req.Header = reqHeaders
29597	googleapi.Expand(req.URL, map[string]string{
29598		"name": c.name,
29599	})
29600	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29601}
29602
29603// Do executes the "healthcare.projects.locations.datasets.operations.cancel" call.
29604// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29605// code is an error. Response headers are in either
29606// *Empty.ServerResponse.Header or (if a response was returned at all)
29607// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29608// check whether the returned error was because http.StatusNotModified
29609// was returned.
29610func (c *ProjectsLocationsDatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29611	gensupport.SetOptions(c.urlParams_, opts...)
29612	res, err := c.doRequest("json")
29613	if res != nil && res.StatusCode == http.StatusNotModified {
29614		if res.Body != nil {
29615			res.Body.Close()
29616		}
29617		return nil, &googleapi.Error{
29618			Code:   res.StatusCode,
29619			Header: res.Header,
29620		}
29621	}
29622	if err != nil {
29623		return nil, err
29624	}
29625	defer googleapi.CloseBody(res)
29626	if err := googleapi.CheckResponse(res); err != nil {
29627		return nil, err
29628	}
29629	ret := &Empty{
29630		ServerResponse: googleapi.ServerResponse{
29631			Header:         res.Header,
29632			HTTPStatusCode: res.StatusCode,
29633		},
29634	}
29635	target := &ret
29636	if err := gensupport.DecodeResponse(target, res); err != nil {
29637		return nil, err
29638	}
29639	return ret, nil
29640	// {
29641	//   "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`.",
29642	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
29643	//   "httpMethod": "POST",
29644	//   "id": "healthcare.projects.locations.datasets.operations.cancel",
29645	//   "parameterOrder": [
29646	//     "name"
29647	//   ],
29648	//   "parameters": {
29649	//     "name": {
29650	//       "description": "The name of the operation resource to be cancelled.",
29651	//       "location": "path",
29652	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29653	//       "required": true,
29654	//       "type": "string"
29655	//     }
29656	//   },
29657	//   "path": "v1beta1/{+name}:cancel",
29658	//   "request": {
29659	//     "$ref": "CancelOperationRequest"
29660	//   },
29661	//   "response": {
29662	//     "$ref": "Empty"
29663	//   },
29664	//   "scopes": [
29665	//     "https://www.googleapis.com/auth/cloud-platform"
29666	//   ]
29667	// }
29668
29669}
29670
29671// method id "healthcare.projects.locations.datasets.operations.get":
29672
29673type ProjectsLocationsDatasetsOperationsGetCall struct {
29674	s            *Service
29675	name         string
29676	urlParams_   gensupport.URLParams
29677	ifNoneMatch_ string
29678	ctx_         context.Context
29679	header_      http.Header
29680}
29681
29682// Get: Gets the latest state of a long-running operation. Clients can
29683// use this method to poll the operation result at intervals as
29684// recommended by the API service.
29685//
29686// - name: The name of the operation resource.
29687func (r *ProjectsLocationsDatasetsOperationsService) Get(name string) *ProjectsLocationsDatasetsOperationsGetCall {
29688	c := &ProjectsLocationsDatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29689	c.name = name
29690	return c
29691}
29692
29693// Fields allows partial responses to be retrieved. See
29694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29695// for more information.
29696func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
29697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29698	return c
29699}
29700
29701// IfNoneMatch sets the optional parameter which makes the operation
29702// fail if the object's ETag matches the given value. This is useful for
29703// getting updates only after the object has changed since the last
29704// request. Use googleapi.IsNotModified to check whether the response
29705// error from Do is the result of In-None-Match.
29706func (c *ProjectsLocationsDatasetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsGetCall {
29707	c.ifNoneMatch_ = entityTag
29708	return c
29709}
29710
29711// Context sets the context to be used in this call's Do method. Any
29712// pending HTTP request will be aborted if the provided context is
29713// canceled.
29714func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
29715	c.ctx_ = ctx
29716	return c
29717}
29718
29719// Header returns an http.Header that can be modified by the caller to
29720// add HTTP headers to the request.
29721func (c *ProjectsLocationsDatasetsOperationsGetCall) Header() http.Header {
29722	if c.header_ == nil {
29723		c.header_ = make(http.Header)
29724	}
29725	return c.header_
29726}
29727
29728func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
29729	reqHeaders := make(http.Header)
29730	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29731	for k, v := range c.header_ {
29732		reqHeaders[k] = v
29733	}
29734	reqHeaders.Set("User-Agent", c.s.userAgent())
29735	if c.ifNoneMatch_ != "" {
29736		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29737	}
29738	var body io.Reader = nil
29739	c.urlParams_.Set("alt", alt)
29740	c.urlParams_.Set("prettyPrint", "false")
29741	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
29742	urls += "?" + c.urlParams_.Encode()
29743	req, err := http.NewRequest("GET", urls, body)
29744	if err != nil {
29745		return nil, err
29746	}
29747	req.Header = reqHeaders
29748	googleapi.Expand(req.URL, map[string]string{
29749		"name": c.name,
29750	})
29751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29752}
29753
29754// Do executes the "healthcare.projects.locations.datasets.operations.get" call.
29755// Exactly one of *Operation or error will be non-nil. Any non-2xx
29756// status code is an error. Response headers are in either
29757// *Operation.ServerResponse.Header or (if a response was returned at
29758// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29759// to check whether the returned error was because
29760// http.StatusNotModified was returned.
29761func (c *ProjectsLocationsDatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
29762	gensupport.SetOptions(c.urlParams_, opts...)
29763	res, err := c.doRequest("json")
29764	if res != nil && res.StatusCode == http.StatusNotModified {
29765		if res.Body != nil {
29766			res.Body.Close()
29767		}
29768		return nil, &googleapi.Error{
29769			Code:   res.StatusCode,
29770			Header: res.Header,
29771		}
29772	}
29773	if err != nil {
29774		return nil, err
29775	}
29776	defer googleapi.CloseBody(res)
29777	if err := googleapi.CheckResponse(res); err != nil {
29778		return nil, err
29779	}
29780	ret := &Operation{
29781		ServerResponse: googleapi.ServerResponse{
29782			Header:         res.Header,
29783			HTTPStatusCode: res.StatusCode,
29784		},
29785	}
29786	target := &ret
29787	if err := gensupport.DecodeResponse(target, res); err != nil {
29788		return nil, err
29789	}
29790	return ret, nil
29791	// {
29792	//   "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.",
29793	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
29794	//   "httpMethod": "GET",
29795	//   "id": "healthcare.projects.locations.datasets.operations.get",
29796	//   "parameterOrder": [
29797	//     "name"
29798	//   ],
29799	//   "parameters": {
29800	//     "name": {
29801	//       "description": "The name of the operation resource.",
29802	//       "location": "path",
29803	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
29804	//       "required": true,
29805	//       "type": "string"
29806	//     }
29807	//   },
29808	//   "path": "v1beta1/{+name}",
29809	//   "response": {
29810	//     "$ref": "Operation"
29811	//   },
29812	//   "scopes": [
29813	//     "https://www.googleapis.com/auth/cloud-platform"
29814	//   ]
29815	// }
29816
29817}
29818
29819// method id "healthcare.projects.locations.datasets.operations.list":
29820
29821type ProjectsLocationsDatasetsOperationsListCall struct {
29822	s            *Service
29823	name         string
29824	urlParams_   gensupport.URLParams
29825	ifNoneMatch_ string
29826	ctx_         context.Context
29827	header_      http.Header
29828}
29829
29830// List: Lists operations that match the specified filter in the
29831// request. If the server doesn't support this method, it returns
29832// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
29833// override the binding to use different resource name schemes, such as
29834// `users/*/operations`. To override the binding, API services can add a
29835// binding such as "/v1/{name=users/*}/operations" to their service
29836// configuration. For backwards compatibility, the default name includes
29837// the operations collection id, however overriding users must ensure
29838// the name binding is the parent resource, without the operations
29839// collection id.
29840//
29841// - name: The name of the operation's parent resource.
29842func (r *ProjectsLocationsDatasetsOperationsService) List(name string) *ProjectsLocationsDatasetsOperationsListCall {
29843	c := &ProjectsLocationsDatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29844	c.name = name
29845	return c
29846}
29847
29848// Filter sets the optional parameter "filter": The standard list
29849// filter.
29850func (c *ProjectsLocationsDatasetsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsOperationsListCall {
29851	c.urlParams_.Set("filter", filter)
29852	return c
29853}
29854
29855// PageSize sets the optional parameter "pageSize": The standard list
29856// page size.
29857func (c *ProjectsLocationsDatasetsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsOperationsListCall {
29858	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29859	return c
29860}
29861
29862// PageToken sets the optional parameter "pageToken": The standard list
29863// page token.
29864func (c *ProjectsLocationsDatasetsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsOperationsListCall {
29865	c.urlParams_.Set("pageToken", pageToken)
29866	return c
29867}
29868
29869// Fields allows partial responses to be retrieved. See
29870// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29871// for more information.
29872func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
29873	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29874	return c
29875}
29876
29877// IfNoneMatch sets the optional parameter which makes the operation
29878// fail if the object's ETag matches the given value. This is useful for
29879// getting updates only after the object has changed since the last
29880// request. Use googleapi.IsNotModified to check whether the response
29881// error from Do is the result of In-None-Match.
29882func (c *ProjectsLocationsDatasetsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsListCall {
29883	c.ifNoneMatch_ = entityTag
29884	return c
29885}
29886
29887// Context sets the context to be used in this call's Do method. Any
29888// pending HTTP request will be aborted if the provided context is
29889// canceled.
29890func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
29891	c.ctx_ = ctx
29892	return c
29893}
29894
29895// Header returns an http.Header that can be modified by the caller to
29896// add HTTP headers to the request.
29897func (c *ProjectsLocationsDatasetsOperationsListCall) Header() http.Header {
29898	if c.header_ == nil {
29899		c.header_ = make(http.Header)
29900	}
29901	return c.header_
29902}
29903
29904func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
29905	reqHeaders := make(http.Header)
29906	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29907	for k, v := range c.header_ {
29908		reqHeaders[k] = v
29909	}
29910	reqHeaders.Set("User-Agent", c.s.userAgent())
29911	if c.ifNoneMatch_ != "" {
29912		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29913	}
29914	var body io.Reader = nil
29915	c.urlParams_.Set("alt", alt)
29916	c.urlParams_.Set("prettyPrint", "false")
29917	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations")
29918	urls += "?" + c.urlParams_.Encode()
29919	req, err := http.NewRequest("GET", urls, body)
29920	if err != nil {
29921		return nil, err
29922	}
29923	req.Header = reqHeaders
29924	googleapi.Expand(req.URL, map[string]string{
29925		"name": c.name,
29926	})
29927	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29928}
29929
29930// Do executes the "healthcare.projects.locations.datasets.operations.list" call.
29931// Exactly one of *ListOperationsResponse or error will be non-nil. Any
29932// non-2xx status code is an error. Response headers are in either
29933// *ListOperationsResponse.ServerResponse.Header or (if a response was
29934// returned at all) in error.(*googleapi.Error).Header. Use
29935// googleapi.IsNotModified to check whether the returned error was
29936// because http.StatusNotModified was returned.
29937func (c *ProjectsLocationsDatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
29938	gensupport.SetOptions(c.urlParams_, opts...)
29939	res, err := c.doRequest("json")
29940	if res != nil && res.StatusCode == http.StatusNotModified {
29941		if res.Body != nil {
29942			res.Body.Close()
29943		}
29944		return nil, &googleapi.Error{
29945			Code:   res.StatusCode,
29946			Header: res.Header,
29947		}
29948	}
29949	if err != nil {
29950		return nil, err
29951	}
29952	defer googleapi.CloseBody(res)
29953	if err := googleapi.CheckResponse(res); err != nil {
29954		return nil, err
29955	}
29956	ret := &ListOperationsResponse{
29957		ServerResponse: googleapi.ServerResponse{
29958			Header:         res.Header,
29959			HTTPStatusCode: res.StatusCode,
29960		},
29961	}
29962	target := &ret
29963	if err := gensupport.DecodeResponse(target, res); err != nil {
29964		return nil, err
29965	}
29966	return ret, nil
29967	// {
29968	//   "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.",
29969	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
29970	//   "httpMethod": "GET",
29971	//   "id": "healthcare.projects.locations.datasets.operations.list",
29972	//   "parameterOrder": [
29973	//     "name"
29974	//   ],
29975	//   "parameters": {
29976	//     "filter": {
29977	//       "description": "The standard list filter.",
29978	//       "location": "query",
29979	//       "type": "string"
29980	//     },
29981	//     "name": {
29982	//       "description": "The name of the operation's parent resource.",
29983	//       "location": "path",
29984	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
29985	//       "required": true,
29986	//       "type": "string"
29987	//     },
29988	//     "pageSize": {
29989	//       "description": "The standard list page size.",
29990	//       "format": "int32",
29991	//       "location": "query",
29992	//       "type": "integer"
29993	//     },
29994	//     "pageToken": {
29995	//       "description": "The standard list page token.",
29996	//       "location": "query",
29997	//       "type": "string"
29998	//     }
29999	//   },
30000	//   "path": "v1beta1/{+name}/operations",
30001	//   "response": {
30002	//     "$ref": "ListOperationsResponse"
30003	//   },
30004	//   "scopes": [
30005	//     "https://www.googleapis.com/auth/cloud-platform"
30006	//   ]
30007	// }
30008
30009}
30010
30011// Pages invokes f for each page of results.
30012// A non-nil error returned from f will halt the iteration.
30013// The provided context supersedes any context provided to the Context method.
30014func (c *ProjectsLocationsDatasetsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
30015	c.ctx_ = ctx
30016	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30017	for {
30018		x, err := c.Do()
30019		if err != nil {
30020			return err
30021		}
30022		if err := f(x); err != nil {
30023			return err
30024		}
30025		if x.NextPageToken == "" {
30026			return nil
30027		}
30028		c.PageToken(x.NextPageToken)
30029	}
30030}
30031
30032// method id "healthcare.projects.locations.services.nlp.analyzeEntities":
30033
30034type ProjectsLocationsServicesNlpAnalyzeEntitiesCall struct {
30035	s                      *Service
30036	nlpService             string
30037	analyzeentitiesrequest *AnalyzeEntitiesRequest
30038	urlParams_             gensupport.URLParams
30039	ctx_                   context.Context
30040	header_                http.Header
30041}
30042
30043// AnalyzeEntities: Analyze heathcare entity in a document. Its response
30044// includes the recognized entity mentions and the relationships between
30045// them. AnalyzeEntities uses context aware models to detect entities.
30046//
30047// - nlpService: The resource name of the service of the form:
30048//   "projects/{project_id}/locations/{location_id}/services/nlp".
30049func (r *ProjectsLocationsServicesNlpService) AnalyzeEntities(nlpService string, analyzeentitiesrequest *AnalyzeEntitiesRequest) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
30050	c := &ProjectsLocationsServicesNlpAnalyzeEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30051	c.nlpService = nlpService
30052	c.analyzeentitiesrequest = analyzeentitiesrequest
30053	return c
30054}
30055
30056// Fields allows partial responses to be retrieved. See
30057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30058// for more information.
30059func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
30060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30061	return c
30062}
30063
30064// Context sets the context to be used in this call's Do method. Any
30065// pending HTTP request will be aborted if the provided context is
30066// canceled.
30067func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Context(ctx context.Context) *ProjectsLocationsServicesNlpAnalyzeEntitiesCall {
30068	c.ctx_ = ctx
30069	return c
30070}
30071
30072// Header returns an http.Header that can be modified by the caller to
30073// add HTTP headers to the request.
30074func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Header() http.Header {
30075	if c.header_ == nil {
30076		c.header_ = make(http.Header)
30077	}
30078	return c.header_
30079}
30080
30081func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
30082	reqHeaders := make(http.Header)
30083	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30084	for k, v := range c.header_ {
30085		reqHeaders[k] = v
30086	}
30087	reqHeaders.Set("User-Agent", c.s.userAgent())
30088	var body io.Reader = nil
30089	body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzeentitiesrequest)
30090	if err != nil {
30091		return nil, err
30092	}
30093	reqHeaders.Set("Content-Type", "application/json")
30094	c.urlParams_.Set("alt", alt)
30095	c.urlParams_.Set("prettyPrint", "false")
30096	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+nlpService}:analyzeEntities")
30097	urls += "?" + c.urlParams_.Encode()
30098	req, err := http.NewRequest("POST", urls, body)
30099	if err != nil {
30100		return nil, err
30101	}
30102	req.Header = reqHeaders
30103	googleapi.Expand(req.URL, map[string]string{
30104		"nlpService": c.nlpService,
30105	})
30106	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30107}
30108
30109// Do executes the "healthcare.projects.locations.services.nlp.analyzeEntities" call.
30110// Exactly one of *AnalyzeEntitiesResponse or error will be non-nil. Any
30111// non-2xx status code is an error. Response headers are in either
30112// *AnalyzeEntitiesResponse.ServerResponse.Header or (if a response was
30113// returned at all) in error.(*googleapi.Error).Header. Use
30114// googleapi.IsNotModified to check whether the returned error was
30115// because http.StatusNotModified was returned.
30116func (c *ProjectsLocationsServicesNlpAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*AnalyzeEntitiesResponse, error) {
30117	gensupport.SetOptions(c.urlParams_, opts...)
30118	res, err := c.doRequest("json")
30119	if res != nil && res.StatusCode == http.StatusNotModified {
30120		if res.Body != nil {
30121			res.Body.Close()
30122		}
30123		return nil, &googleapi.Error{
30124			Code:   res.StatusCode,
30125			Header: res.Header,
30126		}
30127	}
30128	if err != nil {
30129		return nil, err
30130	}
30131	defer googleapi.CloseBody(res)
30132	if err := googleapi.CheckResponse(res); err != nil {
30133		return nil, err
30134	}
30135	ret := &AnalyzeEntitiesResponse{
30136		ServerResponse: googleapi.ServerResponse{
30137			Header:         res.Header,
30138			HTTPStatusCode: res.StatusCode,
30139		},
30140	}
30141	target := &ret
30142	if err := gensupport.DecodeResponse(target, res); err != nil {
30143		return nil, err
30144	}
30145	return ret, nil
30146	// {
30147	//   "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.",
30148	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/services/nlp:analyzeEntities",
30149	//   "httpMethod": "POST",
30150	//   "id": "healthcare.projects.locations.services.nlp.analyzeEntities",
30151	//   "parameterOrder": [
30152	//     "nlpService"
30153	//   ],
30154	//   "parameters": {
30155	//     "nlpService": {
30156	//       "description": "The resource name of the service of the form: \"projects/{project_id}/locations/{location_id}/services/nlp\".",
30157	//       "location": "path",
30158	//       "pattern": "^projects/[^/]+/locations/[^/]+/services/nlp$",
30159	//       "required": true,
30160	//       "type": "string"
30161	//     }
30162	//   },
30163	//   "path": "v1beta1/{+nlpService}:analyzeEntities",
30164	//   "request": {
30165	//     "$ref": "AnalyzeEntitiesRequest"
30166	//   },
30167	//   "response": {
30168	//     "$ref": "AnalyzeEntitiesResponse"
30169	//   },
30170	//   "scopes": [
30171	//     "https://www.googleapis.com/auth/cloud-platform"
30172	//   ]
30173	// }
30174
30175}
30176