File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (333 lines) | stat: -rw-r--r-- 9,466 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// The filters applied to data store query.
type DatastoreFilter struct {

	// A filter that allows the user to set cutoff dates for records. All data stores
	// created after the specified date will be included in the results.
	CreatedAfter *time.Time

	// A filter that allows the user to set cutoff dates for records. All data stores
	// created before the specified date will be included in the results.
	CreatedBefore *time.Time

	// Allows the user to filter data store results by name.
	DatastoreName *string

	// Allows the user to filter data store results by status.
	DatastoreStatus DatastoreStatus

	noSmithyDocumentSerde
}

// Displays the properties of the data store, including the ID, ARN, name, and the
// status of the data store.
type DatastoreProperties struct {

	// The Amazon Resource Name used in the creation of the data store.
	//
	// This member is required.
	DatastoreArn *string

	// The AWS endpoint for the data store. Each data store will have it's own
	// endpoint with data store ID in the endpoint URL.
	//
	// This member is required.
	DatastoreEndpoint *string

	// The AWS-generated ID number for the data store.
	//
	// This member is required.
	DatastoreId *string

	// The status of the data store.
	//
	// This member is required.
	DatastoreStatus DatastoreStatus

	// The FHIR version. Only R4 version data is supported.
	//
	// This member is required.
	DatastoreTypeVersion FHIRVersion

	// The time that a data store was created.
	CreatedAt *time.Time

	// The user-generated name for the data store.
	DatastoreName *string

	// The identity provider that you selected when you created the data store.
	IdentityProviderConfiguration *IdentityProviderConfiguration

	// The preloaded data configuration for the data store. Only data preloaded from
	// Synthea is supported.
	PreloadDataConfig *PreloadDataConfig

	// The server-side encryption key configuration for a customer provided encryption
	// key (CMK).
	SseConfiguration *SseConfiguration

	noSmithyDocumentSerde
}

// The properties of a FHIR export job, including the ID, ARN, name, and the
// status of the job.
type ExportJobProperties struct {

	// The AWS generated ID for the data store from which files are being exported for
	// an export job.
	//
	// This member is required.
	DatastoreId *string

	// The AWS generated ID for an export job.
	//
	// This member is required.
	JobId *string

	// The status of a FHIR export job. Possible statuses are SUBMITTED, IN_PROGRESS,
	// COMPLETED, or FAILED.
	//
	// This member is required.
	JobStatus JobStatus

	// The output data configuration that was supplied when the export job was created.
	//
	// This member is required.
	OutputDataConfig OutputDataConfig

	// The time an export job was initiated.
	//
	// This member is required.
	SubmitTime *time.Time

	// The Amazon Resource Name used during the initiation of the job.
	DataAccessRoleArn *string

	// The time an export job completed.
	EndTime *time.Time

	// The user generated name for an export job.
	JobName *string

	// An explanation of any errors that may have occurred during the export job.
	Message *string

	noSmithyDocumentSerde
}

// The identity provider configuration that you gave when the data store was
// created.
type IdentityProviderConfiguration struct {

	// The authorization strategy that you selected when you created the data store.
	//
	// This member is required.
	AuthorizationStrategy AuthorizationStrategy

	// If you enabled fine-grained authorization when you created the data store.
	FineGrainedAuthorizationEnabled bool

	// The Amazon Resource Name (ARN) of the Lambda function that you want to use to
	// decode the access token created by the authorization server.
	IdpLambdaArn *string

	// The JSON metadata elements that you want to use in your identity provider
	// configuration. Required elements are listed based on the launch specification of
	// the SMART application. For more information on all possible elements, see
	// Metadata (https://build.fhir.org/ig/HL7/smart-app-launch/conformance.html#metadata)
	// in SMART's App Launch specification. authorization_endpoint : The URL to the
	// OAuth2 authorization endpoint. grant_types_supported : An array of grant types
	// that are supported at the token endpoint. You must provide at least one grant
	// type option. Valid options are authorization_code and client_credentials .
	// token_endpoint : The URL to the OAuth2 token endpoint. capabilities : An array
	// of strings of the SMART capabilities that the authorization server supports.
	// code_challenge_methods_supported : An array of strings of supported PKCE code
	// challenge methods. You must include the S256 method in the array of PKCE code
	// challenge methods.
	Metadata *string

	noSmithyDocumentSerde
}

// Displays the properties of the import job, including the ID, Arn, Name, and the
// status of the data store.
type ImportJobProperties struct {

	// The datastore id used when the Import job was created.
	//
	// This member is required.
	DatastoreId *string

	// The input data configuration that was supplied when the Import job was created.
	//
	// This member is required.
	InputDataConfig InputDataConfig

	// The AWS-generated id number for the Import job.
	//
	// This member is required.
	JobId *string

	// The job status for an Import job. Possible statuses are SUBMITTED, IN_PROGRESS,
	// COMPLETED_WITH_ERRORS, COMPLETED, FAILED.
	//
	// This member is required.
	JobStatus JobStatus

	// The time that the Import job was submitted for processing.
	//
	// This member is required.
	SubmitTime *time.Time

	// The Amazon Resource Name (ARN) that gives AWS HealthLake access to your input
	// data.
	DataAccessRoleArn *string

	// The time that the Import job was completed.
	EndTime *time.Time

	// The user-generated name for an Import job.
	JobName *string

	// The output data configuration that was supplied when the export job was created.
	JobOutputDataConfig OutputDataConfig

	// An explanation of any errors that may have occurred during the FHIR import job.
	Message *string

	noSmithyDocumentSerde
}

// The input properties for an import job.
//
// The following types satisfy this interface:
//
//	InputDataConfigMemberS3Uri
type InputDataConfig interface {
	isInputDataConfig()
}

// The S3Uri is the user specified S3 location of the FHIR data to be imported
// into AWS HealthLake.
type InputDataConfigMemberS3Uri struct {
	Value string

	noSmithyDocumentSerde
}

func (*InputDataConfigMemberS3Uri) isInputDataConfig() {}

// The customer-managed-key(CMK) used when creating a data store. If a customer
// owned key is not specified, an AWS owned key will be used for encryption.
type KmsEncryptionConfig struct {

	// The type of customer-managed-key(CMK) used for encryption. The two types of
	// supported CMKs are customer owned CMKs and AWS owned CMKs.
	//
	// This member is required.
	CmkType CmkType

	// The KMS encryption key id/alias used to encrypt the data store contents at rest.
	KmsKeyId *string

	noSmithyDocumentSerde
}

// The output data configuration that was supplied when the export job was created.
//
// The following types satisfy this interface:
//
//	OutputDataConfigMemberS3Configuration
type OutputDataConfig interface {
	isOutputDataConfig()
}

// The output data configuration that was supplied when the export job was created.
type OutputDataConfigMemberS3Configuration struct {
	Value S3Configuration

	noSmithyDocumentSerde
}

func (*OutputDataConfigMemberS3Configuration) isOutputDataConfig() {}

// The input properties for the preloaded data store. Only data preloaded from
// Synthea is supported.
type PreloadDataConfig struct {

	// The type of preloaded data. Only Synthea preloaded data is supported.
	//
	// This member is required.
	PreloadDataType PreloadDataType

	noSmithyDocumentSerde
}

// The configuration of the S3 bucket for either an import or export job. This
// includes assigning permissions for access.
type S3Configuration struct {

	// The KMS key ID used to access the S3 bucket.
	//
	// This member is required.
	KmsKeyId *string

	// The S3Uri is the user specified S3 location of the FHIR data to be imported
	// into AWS HealthLake.
	//
	// This member is required.
	S3Uri *string

	noSmithyDocumentSerde
}

// The server-side encryption key configuration for a customer provided encryption
// key.
type SseConfiguration struct {

	// The KMS encryption configuration used to provide details for data encryption.
	//
	// This member is required.
	KmsEncryptionConfig *KmsEncryptionConfig

	noSmithyDocumentSerde
}

// A tag is a label consisting of a user-defined key and value. The form for tags
// is {"Key", "Value"}
type Tag struct {

	// The key portion of a tag. Tag keys are case sensitive.
	//
	// This member is required.
	Key *string

	// The value portion of a tag. Tag values are case sensitive.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde

// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
	Tag   string
	Value []byte

	noSmithyDocumentSerde
}

func (*UnknownUnionMember) isInputDataConfig()  {}
func (*UnknownUnionMember) isOutputDataConfig() {}