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 (563 lines) | stat: -rw-r--r-- 18,564 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
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// The credentials required to access the external Dataview from the S3 location.
type AwsCredentials struct {

	// The unique identifier for the security credentials.
	AccessKeyId *string

	// The Epoch time when the current credentials expire.
	Expiration int64

	// The secret access key that can be used to sign requests.
	SecretAccessKey *string

	// The token that users must pass to use the credentials.
	SessionToken *string

	noSmithyDocumentSerde
}

// The structure with error messages.
type ChangesetErrorInfo struct {

	// The category of the error.
	//   - VALIDATION – The inputs to this request are invalid.
	//   - SERVICE_QUOTA_EXCEEDED – Service quotas have been exceeded. Please contact
	//   AWS support to increase quotas.
	//   - ACCESS_DENIED – Missing required permission to perform this request.
	//   - RESOURCE_NOT_FOUND – One or more inputs to this request were not found.
	//   - THROTTLING – The system temporarily lacks sufficient resources to process
	//   the request.
	//   - INTERNAL_SERVICE_EXCEPTION – An internal service error has occurred.
	//   - CANCELLED – Cancelled.
	//   - USER_RECOVERABLE – A user recoverable error has occurred.
	ErrorCategory ErrorCategory

	// The text of the error message.
	ErrorMessage *string

	noSmithyDocumentSerde
}

// A Changeset is unit of data in a Dataset.
type ChangesetSummary struct {

	// Beginning time from which the Changeset is active. The value is determined as
	// epoch time in milliseconds. For example, the value for Monday, November 1, 2021
	// 12:00:00 PM UTC is specified as 1635768000000.
	ActiveFromTimestamp *int64

	// Time until which the Changeset is active. The value is determined as epoch time
	// in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM
	// UTC is specified as 1635768000000.
	ActiveUntilTimestamp *int64

	// Type that indicates how a Changeset is applied to a Dataset.
	//   - REPLACE – Changeset is considered as a replacement to all prior loaded
	//   Changesets.
	//   - APPEND – Changeset is considered as an addition to the end of all prior
	//   loaded Changesets.
	//   - MODIFY – Changeset is considered as a replacement to a specific prior
	//   ingested Changeset.
	ChangeType ChangeType

	// The ARN identifier of the Changeset.
	ChangesetArn *string

	// The unique identifier for a Changeset.
	ChangesetId *string

	// The timestamp at which the Changeset was created in FinSpace. The value is
	// determined as epoch time in milliseconds. For example, the value for Monday,
	// November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
	CreateTime int64

	// The unique identifier for the FinSpace Dataset in which the Changeset is
	// created.
	DatasetId *string

	// The structure with error messages.
	ErrorInfo *ChangesetErrorInfo

	// Options that define the structure of the source file(s).
	FormatParams map[string]string

	// Options that define the location of the data being ingested.
	SourceParams map[string]string

	// Status of the Changeset ingestion.
	//   - PENDING – Changeset is pending creation.
	//   - FAILED – Changeset creation has failed.
	//   - SUCCESS – Changeset creation has succeeded.
	//   - RUNNING – Changeset creation is running.
	//   - STOP_REQUESTED – User requested Changeset creation to stop.
	Status IngestionStatus

	// The unique identifier of the updated Changeset.
	UpdatedByChangesetId *string

	// The unique identifier of the Changeset that is updated.
	UpdatesChangesetId *string

	noSmithyDocumentSerde
}

// The definition of a column in a tabular Dataset.
type ColumnDefinition struct {

	// Description for a column.
	ColumnDescription *string

	// The name of a column.
	ColumnName *string

	// Data type of a column.
	//   - STRING – A String data type. CHAR – A char data type. INTEGER – An integer
	//   data type. TINYINT – A tinyint data type. SMALLINT – A smallint data type.
	//   BIGINT – A bigint data type. FLOAT – A float data type. DOUBLE – A double data
	//   type. DATE – A date data type. DATETIME – A datetime data type. BOOLEAN – A
	//   boolean data type. BINARY – A binary data type.
	DataType ColumnDataType

	noSmithyDocumentSerde
}

// Short term API credentials.
type Credentials struct {

	// The access key identifier.
	AccessKeyId *string

	// The access key.
	SecretAccessKey *string

	// The session token.
	SessionToken *string

	noSmithyDocumentSerde
}

// The structure for a Dataset.
type Dataset struct {

	// The unique resource identifier for a Dataset.
	Alias *string

	// The timestamp at which the Dataset was created in FinSpace. The value is
	// determined as epoch time in milliseconds. For example, the value for Monday,
	// November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
	CreateTime int64

	// The ARN identifier of the Dataset.
	DatasetArn *string

	// Description for a Dataset.
	DatasetDescription *string

	// An identifier for a Dataset.
	DatasetId *string

	// Display title for a Dataset.
	DatasetTitle *string

	// The format in which Dataset data is structured.
	//   - TABULAR – Data is structured in a tabular format.
	//   - NON_TABULAR – Data is structured in a non-tabular format.
	Kind DatasetKind

	// The last time that the Dataset was modified. The value is determined as epoch
	// time in milliseconds. For example, the value for Monday, November 1, 2021
	// 12:00:00 PM UTC is specified as 1635768000000.
	LastModifiedTime int64

	// Contact information for a Dataset owner.
	OwnerInfo *DatasetOwnerInfo

	// Definition for a schema on a tabular Dataset.
	SchemaDefinition *SchemaUnion

	noSmithyDocumentSerde
}

// A structure for Dataset owner info.
type DatasetOwnerInfo struct {

	// Email address for the Dataset owner.
	Email *string

	// The name of the Dataset owner.
	Name *string

	// Phone number for the Dataset owner.
	PhoneNumber *string

	noSmithyDocumentSerde
}

// Structure for the Dataview destination type parameters.
type DataViewDestinationTypeParams struct {

	// Destination type for a Dataview.
	//   - GLUE_TABLE – Glue table destination type.
	//   - S3 – S3 destination type.
	//
	// This member is required.
	DestinationType *string

	// Dataview export file format.
	//   - PARQUET – Parquet export file format.
	//   - DELIMITED_TEXT – Delimited text export file format.
	S3DestinationExportFileFormat ExportFileFormat

	// Format Options for S3 Destination type. Here is an example of how you could
	// specify the s3DestinationExportFileFormatOptions
	//     { "header": "true", "delimiter": ",", "compression": "gzip" }
	S3DestinationExportFileFormatOptions map[string]string

	noSmithyDocumentSerde
}

// The structure with error messages.
type DataViewErrorInfo struct {

	// The category of the error.
	//   - VALIDATION – The inputs to this request are invalid.
	//   - SERVICE_QUOTA_EXCEEDED – Service quotas have been exceeded. Please contact
	//   AWS support to increase quotas.
	//   - ACCESS_DENIED – Missing required permission to perform this request.
	//   - RESOURCE_NOT_FOUND – One or more inputs to this request were not found.
	//   - THROTTLING – The system temporarily lacks sufficient resources to process
	//   the request.
	//   - INTERNAL_SERVICE_EXCEPTION – An internal service error has occurred.
	//   - CANCELLED – Cancelled.
	//   - USER_RECOVERABLE – A user recoverable error has occurred.
	ErrorCategory ErrorCategory

	// The text of the error message.
	ErrorMessage *string

	noSmithyDocumentSerde
}

// Structure for the summary of a Dataview.
type DataViewSummary struct {

	// Time range to use for the Dataview. The value is determined as epoch time in
	// milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM
	// UTC is specified as 1635768000000.
	AsOfTimestamp *int64

	// The flag to indicate Dataview should be updated automatically.
	AutoUpdate bool

	// The timestamp at which the Dataview was created in FinSpace. The value is
	// determined as epoch time in milliseconds. For example, the value for Monday,
	// November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
	CreateTime int64

	// The ARN identifier of the Dataview.
	DataViewArn *string

	// The unique identifier for the Dataview.
	DataViewId *string

	// Th unique identifier for the Dataview Dataset.
	DatasetId *string

	// Information about the Dataview destination.
	DestinationTypeProperties *DataViewDestinationTypeParams

	// The structure with error messages.
	ErrorInfo *DataViewErrorInfo

	// The last time that a Dataview was modified. The value is determined as epoch
	// time in milliseconds. For example, the value for Monday, November 1, 2021
	// 12:00:00 PM UTC is specified as 1635768000000.
	LastModifiedTime int64

	// Ordered set of column names used to partition data.
	PartitionColumns []string

	// Columns to be used for sorting the data.
	SortColumns []string

	// The status of a Dataview creation.
	//   - RUNNING – Dataview creation is running.
	//   - STARTING – Dataview creation is starting.
	//   - FAILED – Dataview creation has failed.
	//   - CANCELLED – Dataview creation has been cancelled.
	//   - TIMEOUT – Dataview creation has timed out.
	//   - SUCCESS – Dataview creation has succeeded.
	//   - PENDING – Dataview creation is pending.
	//   - FAILED_CLEANUP_FAILED – Dataview creation failed and resource cleanup
	//   failed.
	Status DataViewStatus

	noSmithyDocumentSerde
}

// The structure for a permission group.
type PermissionGroup struct {

	// Indicates the permissions that are granted to a specific group for accessing
	// the FinSpace application. When assigning application permissions, be aware that
	// the permission ManageUsersAndGroups allows users to grant themselves or others
	// access to any functionality in their FinSpace environment's application. It
	// should only be granted to trusted users.
	//   - CreateDataset – Group members can create new datasets.
	//   - ManageClusters – Group members can manage Apache Spark clusters from
	//   FinSpace notebooks.
	//   - ManageUsersAndGroups – Group members can manage users and permission groups.
	//   This is a privileged permission that allows users to grant themselves or others
	//   access to any functionality in the application. It should only be granted to
	//   trusted users.
	//   - ManageAttributeSets – Group members can manage attribute sets.
	//   - ViewAuditData – Group members can view audit data.
	//   - AccessNotebooks – Group members will have access to FinSpace notebooks.
	//   - GetTemporaryCredentials – Group members can get temporary API credentials.
	ApplicationPermissions []ApplicationPermission

	// The timestamp at which the group was created in FinSpace. The value is
	// determined as epoch time in milliseconds.
	CreateTime int64

	// A brief description for the permission group.
	Description *string

	// Describes the last time the permission group was updated. The value is
	// determined as epoch time in milliseconds.
	LastModifiedTime int64

	// Indicates the status of the user within a permission group.
	//   - ADDITION_IN_PROGRESS – The user is currently being added to the permission
	//   group.
	//   - ADDITION_SUCCESS – The user is successfully added to the permission group.
	//   - REMOVAL_IN_PROGRESS – The user is currently being removed from the
	//   permission group.
	MembershipStatus PermissionGroupMembershipStatus

	// The name of the permission group.
	Name *string

	// The unique identifier for the permission group.
	PermissionGroupId *string

	noSmithyDocumentSerde
}

// The structure of a permission group associated with a user.
type PermissionGroupByUser struct {

	// Indicates the status of the user within a permission group.
	//   - ADDITION_IN_PROGRESS – The user is currently being added to the permission
	//   group.
	//   - ADDITION_SUCCESS – The user is successfully added to the permission group.
	//   - REMOVAL_IN_PROGRESS – The user is currently being removed from the
	//   permission group.
	MembershipStatus PermissionGroupMembershipStatus

	// The name of the permission group.
	Name *string

	// The unique identifier for the permission group.
	PermissionGroupId *string

	noSmithyDocumentSerde
}

// Permission group parameters for Dataset permissions. Here is an example of how
// you could specify the PermissionGroupParams :  { "permissionGroupId":
// "0r6fCRtSTUk4XPfXQe3M0g", "datasetPermissions": [ {"permission":
// "ViewDatasetDetails"}, {"permission": "AddDatasetData"}, {"permission":
// "EditDatasetMetadata"}, {"permission": "DeleteDataset"} ] }
type PermissionGroupParams struct {

	// List of resource permissions.
	DatasetPermissions []ResourcePermission

	// The unique identifier for the PermissionGroup .
	PermissionGroupId *string

	noSmithyDocumentSerde
}

// Resource permission for a dataset. When you create a dataset, all the other
// members of the same user group inherit access to the dataset. You can only
// create a dataset if your user group has application permission for Create
// Datasets. The following is a list of valid dataset permissions that you can
// apply:
//   - ViewDatasetDetails
//   - ReadDatasetDetails
//   - AddDatasetData
//   - CreateDataView
//   - EditDatasetMetadata
//   - DeleteDataset
//
// For more information on the dataset permissions, see Supported Dataset
// Permissions (https://docs.aws.amazon.com/finspace/latest/userguide/managing-user-permissions.html#supported-dataset-permissions)
// in the FinSpace User Guide.
type ResourcePermission struct {

	// Permission for a resource.
	Permission *string

	noSmithyDocumentSerde
}

// The location of an external Dataview in an S3 bucket.
type S3Location struct {

	// The name of the S3 bucket.
	//
	// This member is required.
	Bucket *string

	// The path of the folder, within the S3 bucket that contains the Dataset.
	//
	// This member is required.
	Key *string

	noSmithyDocumentSerde
}

// Definition for a schema on a tabular Dataset.
type SchemaDefinition struct {

	// List of column definitions.
	Columns []ColumnDefinition

	// List of column names used for primary key.
	PrimaryKeyColumns []string

	noSmithyDocumentSerde
}

// A union of schema types.
type SchemaUnion struct {

	// The configuration for a schema on a tabular Dataset.
	TabularSchemaConfig *SchemaDefinition

	noSmithyDocumentSerde
}

// The details of the user.
type User struct {

	// Indicates whether the user can use the GetProgrammaticAccessCredentials API to
	// obtain credentials that can then be used to access other FinSpace Data API
	// operations.
	//   - ENABLED – The user has permissions to use the APIs.
	//   - DISABLED – The user does not have permissions to use any APIs.
	ApiAccess ApiAccess

	// The ARN identifier of an AWS user or role that is allowed to call the
	// GetProgrammaticAccessCredentials API to obtain a credentials token for a
	// specific FinSpace user. This must be an IAM role within your FinSpace account.
	ApiAccessPrincipalArn *string

	// The timestamp at which the user was created in FinSpace. The value is
	// determined as epoch time in milliseconds.
	CreateTime int64

	// The email address of the user. The email address serves as a uniquer identifier
	// for each user and cannot be changed after it's created.
	EmailAddress *string

	// The first name of the user.
	FirstName *string

	// Describes the last time the user was deactivated. The value is determined as
	// epoch time in milliseconds.
	LastDisabledTime int64

	// Describes the last time the user was activated. The value is determined as
	// epoch time in milliseconds.
	LastEnabledTime int64

	// Describes the last time that the user logged into their account. The value is
	// determined as epoch time in milliseconds.
	LastLoginTime int64

	// Describes the last time the user was updated. The value is determined as epoch
	// time in milliseconds.
	LastModifiedTime int64

	// The last name of the user.
	LastName *string

	// The current status of the user.
	//   - CREATING – The user creation is in progress.
	//   - ENABLED – The user is created and is currently active.
	//   - DISABLED – The user is currently inactive.
	Status UserStatus

	// Indicates the type of user.
	//   - SUPER_USER – A user with permission to all the functionality and data in
	//   FinSpace.
	//   - APP_USER – A user with specific permissions in FinSpace. The users are
	//   assigned permissions by adding them to a permission group.
	Type UserType

	// The unique identifier for the user.
	UserId *string

	noSmithyDocumentSerde
}

// The structure of a user associated with a permission group.
type UserByPermissionGroup struct {

	// Indicates whether the user can access FinSpace API operations.
	//   - ENABLED – The user has permissions to use the API operations.
	//   - DISABLED – The user does not have permissions to use any API operations.
	ApiAccess ApiAccess

	// The IAM ARN identifier that is attached to FinSpace API calls.
	ApiAccessPrincipalArn *string

	// The email address of the user. The email address serves as a unique identifier
	// for each user and cannot be changed after it's created.
	EmailAddress *string

	// The first name of the user.
	FirstName *string

	// The last name of the user.
	LastName *string

	// Indicates the status of the user within a permission group.
	//   - ADDITION_IN_PROGRESS – The user is currently being added to the permission
	//   group.
	//   - ADDITION_SUCCESS – The user is successfully added to the permission group.
	//   - REMOVAL_IN_PROGRESS – The user is currently being removed from the
	//   permission group.
	MembershipStatus PermissionGroupMembershipStatus

	// The current status of the user.
	//   - CREATING – The user creation is in progress.
	//   - ENABLED – The user is created and is currently active.
	//   - DISABLED – The user is currently inactive.
	Status UserStatus

	// Indicates the type of user.
	//   - SUPER_USER – A user with permission to all the functionality and data in
	//   FinSpace.
	//   - APP_USER – A user with specific permissions in FinSpace. The users are
	//   assigned permissions by adding them to a permission group.
	Type UserType

	// The unique identifier for the user.
	UserId *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde