1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Represents an individual condition that evaluates to true or false. Conditions
10// are used with recipe actions: The action is only performed for column values
11// where the condition evaluates to true. If a recipe requires more than one
12// condition, then the recipe must specify multiple ConditionExpression elements.
13// Each condition is applied to the rows in a dataset first, before the recipe
14// action is performed.
15type ConditionExpression struct {
16
17	// A specific condition to apply to a recipe action. For more information, see
18	// Recipe structure
19	// (https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the
20	// AWS Glue DataBrew Developer Guide.
21	//
22	// This member is required.
23	Condition *string
24
25	// A column to apply this condition to, within an AWS Glue DataBrew dataset.
26	//
27	// This member is required.
28	TargetColumn *string
29
30	// A value that the condition must evaluate to for the condition to succeed.
31	Value *string
32}
33
34// Represents how metadata stored in the AWS Glue Data Catalog is defined in an AWS
35// Glue DataBrew dataset.
36type DataCatalogInputDefinition struct {
37
38	// The name of a database in the Data Catalog.
39	//
40	// This member is required.
41	DatabaseName *string
42
43	// The name of a database table in the Data Catalog. This table corresponds to a
44	// DataBrew dataset.
45	//
46	// This member is required.
47	TableName *string
48
49	// The unique identifier of the AWS account that holds the Data Catalog that stores
50	// the data.
51	CatalogId *string
52
53	// An Amazon location that AWS Glue Data Catalog can use as a temporary directory.
54	TempDirectory *S3Location
55}
56
57// Represents a dataset that can be processed by AWS Glue DataBrew.
58type Dataset struct {
59
60	// Information on how DataBrew can find the dataset, in either the AWS Glue Data
61	// Catalog or Amazon S3.
62	//
63	// This member is required.
64	Input *Input
65
66	// The unique name of the dataset.
67	//
68	// This member is required.
69	Name *string
70
71	// The ID of the AWS account that owns the dataset.
72	AccountId *string
73
74	// The date and time that the dataset was created.
75	CreateDate *time.Time
76
77	// The identifier (the user name) of the user who created the dataset.
78	CreatedBy *string
79
80	// Options that define how DataBrew interprets the data in the dataset.
81	FormatOptions *FormatOptions
82
83	// The identifier (the user name) of the user who last modified the dataset.
84	LastModifiedBy *string
85
86	// The last modification date and time of the dataset.
87	LastModifiedDate *time.Time
88
89	// The unique Amazon Resource Name (ARN) for the dataset.
90	ResourceArn *string
91
92	// The location of the data for the dataset, either Amazon S3 or the AWS Glue Data
93	// Catalog.
94	Source Source
95
96	// Metadata tags that have been applied to the dataset.
97	Tags map[string]string
98}
99
100// Options that define how DataBrew will interpret a Microsoft Excel file, when
101// creating a dataset from that file.
102type ExcelOptions struct {
103
104	// Specifies one or more sheet numbers in the Excel file, which will be included in
105	// the dataset.
106	SheetIndexes []int32
107
108	// Specifies one or more named sheets in the Excel file, which will be included in
109	// the dataset.
110	SheetNames []string
111}
112
113// Options that define how Microsoft Excel input is to be interpreted by DataBrew.
114type FormatOptions struct {
115
116	// Options that define how Excel input is to be interpreted by DataBrew.
117	Excel *ExcelOptions
118
119	// Options that define how JSON input is to be interpreted by DataBrew.
120	Json *JsonOptions
121}
122
123// Information on how AWS Glue DataBrew can find data, in either the AWS Glue Data
124// Catalog or Amazon S3.
125type Input struct {
126
127	// The AWS Glue Data Catalog parameters for the data.
128	DataCatalogInputDefinition *DataCatalogInputDefinition
129
130	// The Amazon S3 location where the data is stored.
131	S3InputDefinition *S3Location
132}
133
134// Represents all of the attributes of an AWS Glue DataBrew job.
135type Job struct {
136
137	// The unique name of the job.
138	//
139	// This member is required.
140	Name *string
141
142	// The ID of the AWS account that owns the job.
143	AccountId *string
144
145	// The date and time that the job was created.
146	CreateDate *time.Time
147
148	// The identifier (the user name) of the user who created the job.
149	CreatedBy *string
150
151	// A dataset that the job is to process.
152	DatasetName *string
153
154	// The Amazon Resource Name (ARN) of an encryption key that is used to protect a
155	// job.
156	EncryptionKeyArn *string
157
158	// The encryption mode for the job, which can be one of the following:
159	//
160	// * SSE-KMS -
161	// Server-side encryption with AWS KMS-managed keys.
162	//
163	// * SSE-S3 - Server-side
164	// encryption with keys managed by Amazon S3.
165	EncryptionMode EncryptionMode
166
167	// The identifier (the user name) of the user who last modified the job.
168	LastModifiedBy *string
169
170	// The modification date and time of the job.
171	LastModifiedDate *time.Time
172
173	// The current status of Amazon CloudWatch logging for the job.
174	LogSubscription LogSubscription
175
176	// The maximum number of nodes that can be consumed when the job processes data.
177	MaxCapacity int32
178
179	// The maximum number of times to retry the job after a job run fails.
180	MaxRetries int32
181
182	// One or more artifacts that represent output from running the job.
183	Outputs []Output
184
185	// The name of the project that the job is associated with.
186	ProjectName *string
187
188	// A set of steps that the job runs.
189	RecipeReference *RecipeReference
190
191	// The unique Amazon Resource Name (ARN) for the job.
192	ResourceArn *string
193
194	// The Amazon Resource Name (ARN) of the role that will be assumed for this job.
195	RoleArn *string
196
197	// Metadata tags that have been applied to the job.
198	Tags map[string]string
199
200	// The job's timeout in minutes. A job that attempts to run longer than this
201	// timeout period ends with a status of TIMEOUT.
202	Timeout int32
203
204	// The job type of the job, which must be one of the following:
205	//
206	// * PROFILE - A job
207	// to analyze a dataset, to determine its size, data types, data distribution, and
208	// more.
209	//
210	// * RECIPE - A job to apply one or more transformations to a dataset.
211	Type JobType
212}
213
214// Represents one run of an AWS Glue DataBrew job.
215type JobRun struct {
216
217	// The number of times that DataBrew has attempted to run the job.
218	Attempt int32
219
220	// The date and time when the job completed processing.
221	CompletedOn *time.Time
222
223	// The name of the dataset for the job to process.
224	DatasetName *string
225
226	// A message indicating an error (if any) that was encountered when the job ran.
227	ErrorMessage *string
228
229	// The amount of time, in seconds, during which a job run consumed resources.
230	ExecutionTime int32
231
232	// The name of the job being processed during this run.
233	JobName *string
234
235	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
236	// messages when it runs.
237	LogGroupName *string
238
239	// The current status of Amazon CloudWatch logging for the job run.
240	LogSubscription LogSubscription
241
242	// One or more output artifacts from a job run.
243	Outputs []Output
244
245	// The set of steps processed by the job.
246	RecipeReference *RecipeReference
247
248	// The unique identifier of the job run.
249	RunId *string
250
251	// The identifier (the user name) of the user who initiated the job run.
252	StartedBy *string
253
254	// The date and time when the job run began.
255	StartedOn *time.Time
256
257	// The current state of the job run entity itself.
258	State JobRunState
259}
260
261// Represents the JSON-specific options that define how input is to be interpreted
262// by AWS Glue DataBrew.
263type JsonOptions struct {
264
265	// A value that specifies whether JSON input contains embedded new line characters.
266	MultiLine bool
267}
268
269// Represents individual output from a particular job run.
270type Output struct {
271
272	// The location in Amazon S3 where the job writes its output.
273	//
274	// This member is required.
275	Location *S3Location
276
277	// The compression algorithm used to compress the output text of the job.
278	CompressionFormat CompressionFormat
279
280	// The data format of the output of the job.
281	Format OutputFormat
282
283	// A value that, if true, means that any data in the location specified for output
284	// is overwritten with new output.
285	Overwrite bool
286
287	// The names of one or more partition columns for the output of the job.
288	PartitionColumns []string
289}
290
291// Represents all of the attributes of an AWS Glue DataBrew project.
292type Project struct {
293
294	// The unique name of a project.
295	//
296	// This member is required.
297	Name *string
298
299	// The name of a recipe that will be developed during a project session.
300	//
301	// This member is required.
302	RecipeName *string
303
304	// The ID of the AWS account that owns the project.
305	AccountId *string
306
307	// The date and time that the project was created.
308	CreateDate *time.Time
309
310	// The identifier (the user name) of the user who crated the project.
311	CreatedBy *string
312
313	// The dataset that the project is to act upon.
314	DatasetName *string
315
316	// The identifier (user name) of the user who last modified the project.
317	LastModifiedBy *string
318
319	// The last modification date and time for the project.
320	LastModifiedDate *time.Time
321
322	// The date and time when the project was opened.
323	OpenDate *time.Time
324
325	// The identifier (the user name) of the user that opened the project for use.
326	OpenedBy *string
327
328	// The Amazon Resource Name (ARN) for the project.
329	ResourceArn *string
330
331	// The Amazon Resource Name (ARN) of the role that will be assumed for this
332	// project.
333	RoleArn *string
334
335	// The sample size and sampling type to apply to the data. If this parameter isn't
336	// specified, then the sample will consiste of the first 500 rows from the dataset.
337	Sample *Sample
338
339	// Metadata tags that have been applied to the project.
340	Tags map[string]string
341}
342
343// Represents one or more actions to be performed on an AWS Glue DataBrew dataset.
344type Recipe struct {
345
346	// The unique name for the recipe.
347	//
348	// This member is required.
349	Name *string
350
351	// The date and time that the recipe was created.
352	CreateDate *time.Time
353
354	// The identifier (the user name) of the user who created the recipe.
355	CreatedBy *string
356
357	// The description of the recipe.
358	Description *string
359
360	// The identifier (user name) of the user who last modified the recipe.
361	LastModifiedBy *string
362
363	// The last modification date and time of the recipe.
364	LastModifiedDate *time.Time
365
366	// The name of the project that the recipe is associated with.
367	ProjectName *string
368
369	// The identifier (the user name) of the user who published the recipe.
370	PublishedBy *string
371
372	// The date and time when the recipe was published.
373	PublishedDate *time.Time
374
375	// The identifier for the version for the recipe.
376	RecipeVersion *string
377
378	// The Amazon Resource Name (ARN) for the recipe.
379	ResourceArn *string
380
381	// A list of steps that are defined by the recipe.
382	Steps []RecipeStep
383
384	// Metadata tags that have been applied to the recipe.
385	Tags map[string]string
386}
387
388// Represents a transformation and associated parameters that are used to apply a
389// change to an AWS Glue DataBrew dataset. For more information, see Recipe
390// structure (https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html)
391// and ecipe actions reference
392// (https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions-reference.html) .
393type RecipeAction struct {
394
395	// The name of a valid DataBrew transformation to be performed on the data.
396	//
397	// This member is required.
398	Operation *string
399
400	// Contextual parameters for the transformation.
401	Parameters map[string]string
402}
403
404// Represents all of the attributes of an AWS Glue DataBrew recipe.
405type RecipeReference struct {
406
407	// The name of the recipe.
408	//
409	// This member is required.
410	Name *string
411
412	// The identifier for the version for the recipe.
413	RecipeVersion *string
414}
415
416// Represents a single step to be performed in an AWS Glue DataBrew recipe.
417type RecipeStep struct {
418
419	// The particular action to be performed in the recipe step.
420	//
421	// This member is required.
422	Action *RecipeAction
423
424	// One or more conditions that must be met, in order for the recipe step to
425	// succeed. All of the conditions in the array must be met. In other words, all of
426	// the conditions must be combined using a logical AND operation.
427	ConditionExpressions []ConditionExpression
428}
429
430// Represents any errors encountered when attempting to delete multiple recipe
431// versions.
432type RecipeVersionErrorDetail struct {
433
434	// The HTTP status code for the error.
435	ErrorCode *string
436
437	// The text of the error message.
438	ErrorMessage *string
439
440	// The identifier for the recipe version associated with this error.
441	RecipeVersion *string
442}
443
444// An Amazon S3 location (bucket name an object key) where DataBrew can read input
445// data, or write output from a job.
446type S3Location struct {
447
448	// The S3 bucket name.
449	//
450	// This member is required.
451	Bucket *string
452
453	// The unique name of the object in the bucket.
454	Key *string
455}
456
457// Represents the sample size and sampling type for AWS Glue DataBrew to use for
458// interactive data analysis.
459type Sample struct {
460
461	// The way in which DataBrew obtains rows from a dataset.
462	//
463	// This member is required.
464	Type SampleType
465
466	// The number of rows in the sample.
467	Size *int32
468}
469
470// Represents one or more dates and times when a job is to run.
471type Schedule struct {
472
473	// The name of the schedule.
474	//
475	// This member is required.
476	Name *string
477
478	// The ID of the AWS account that owns the schedule.
479	AccountId *string
480
481	// The date and time that the schedule was created.
482	CreateDate *time.Time
483
484	// The identifier (the user name) of the user who created the schedule.
485	CreatedBy *string
486
487	// The date(s) and time(s), in cron format, when the job will run.
488	CronExpression *string
489
490	// A list of jobs to be run, according to the schedule.
491	JobNames []string
492
493	// The identifier (the user name) of the user who last modified the schedule.
494	LastModifiedBy *string
495
496	// The date and time when the schedule was last modified.
497	LastModifiedDate *time.Time
498
499	// The Amazon Resource Name (ARN) of the schedule.
500	ResourceArn *string
501
502	// Metadata tags that have been applied to the schedule.
503	Tags map[string]string
504}
505
506// Represents the data being being transformed during an AWS Glue DataBrew project
507// session.
508type ViewFrame struct {
509
510	// The starting index for the range of columns to return in the view frame.
511	//
512	// This member is required.
513	StartColumnIndex *int32
514
515	// The number of columns to include in the view frame, beginning with the
516	// StartColumnIndex value and ignoring any columns in the HiddenColumns list.
517	ColumnRange *int32
518
519	// A list of columns to hide in the view frame.
520	HiddenColumns []string
521}
522