1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// The destination for the asset.
10type AssetDestinationEntry struct {
11
12	// The unique identifier for the asset.
13	//
14	// This member is required.
15	AssetId *string
16
17	// The S3 bucket that is the destination for the asset.
18	//
19	// This member is required.
20	Bucket *string
21
22	// The name of the object in Amazon S3 for the asset.
23	Key *string
24}
25
26type AssetDetails struct {
27
28	// The S3 object that is the asset.
29	S3SnapshotAsset *S3SnapshotAsset
30}
31
32// An asset in AWS Data Exchange is a piece of data that can be stored as an S3
33// object. The asset can be a structured data file, an image file, or some other
34// data file. When you create an import job for your files, you create an asset in
35// AWS Data Exchange for each of those files.
36type AssetEntry struct {
37
38	// The ARN for the asset.
39	//
40	// This member is required.
41	Arn *string
42
43	// Information about the asset, including its size.
44	//
45	// This member is required.
46	AssetDetails *AssetDetails
47
48	// The type of file your data is stored in. Currently, the supported asset type is
49	// S3_SNAPSHOT.
50	//
51	// This member is required.
52	AssetType AssetType
53
54	// The date and time that the asset was created, in ISO 8601 format.
55	//
56	// This member is required.
57	CreatedAt *time.Time
58
59	// The unique identifier for the data set associated with this asset.
60	//
61	// This member is required.
62	DataSetId *string
63
64	// The unique identifier for the asset.
65	//
66	// This member is required.
67	Id *string
68
69	// The name of the asset. When importing from Amazon S3, the S3 object key is used
70	// as the asset name. When exporting to Amazon S3, the asset name is used as
71	// default target S3 object key.
72	//
73	// This member is required.
74	Name *string
75
76	// The unique identifier for the revision associated with this asset.
77	//
78	// This member is required.
79	RevisionId *string
80
81	// The date and time that the asset was last updated, in ISO 8601 format.
82	//
83	// This member is required.
84	UpdatedAt *time.Time
85
86	// The asset ID of the owned asset corresponding to the entitled asset being
87	// viewed. This parameter is returned when an asset owner is viewing the entitled
88	// copy of its owned asset.
89	SourceId *string
90}
91
92// The source of the assets.
93type AssetSourceEntry struct {
94
95	// The S3 bucket that's part of the source of the asset.
96	//
97	// This member is required.
98	Bucket *string
99
100	// The name of the object in Amazon S3 for the asset.
101	//
102	// This member is required.
103	Key *string
104}
105
106// A data set is an AWS resource with one or more revisions.
107type DataSetEntry struct {
108
109	// The ARN for the data set.
110	//
111	// This member is required.
112	Arn *string
113
114	// The type of file your data is stored in. Currently, the supported asset type is
115	// S3_SNAPSHOT.
116	//
117	// This member is required.
118	AssetType AssetType
119
120	// The date and time that the data set was created, in ISO 8601 format.
121	//
122	// This member is required.
123	CreatedAt *time.Time
124
125	// The description for the data set.
126	//
127	// This member is required.
128	Description *string
129
130	// The unique identifier for the data set.
131	//
132	// This member is required.
133	Id *string
134
135	// The name of the data set.
136	//
137	// This member is required.
138	Name *string
139
140	// A property that defines the data set as OWNED by the account (for providers) or
141	// ENTITLED to the account (for subscribers).
142	//
143	// This member is required.
144	Origin Origin
145
146	// The date and time that the data set was last updated, in ISO 8601 format.
147	//
148	// This member is required.
149	UpdatedAt *time.Time
150
151	// If the origin of this data set is ENTITLED, includes the details for the product
152	// on AWS Marketplace.
153	OriginDetails *OriginDetails
154
155	// The data set ID of the owned data set corresponding to the entitled data set
156	// being viewed. This parameter is returned when a data set owner is viewing the
157	// entitled copy of its owned data set.
158	SourceId *string
159}
160
161type Details struct {
162	ImportAssetFromSignedUrlJobErrorDetails *ImportAssetFromSignedUrlJobErrorDetails
163
164	// The list of sources for the assets.
165	ImportAssetsFromS3JobErrorDetails []AssetSourceEntry
166}
167
168// Details of the operation to be performed by the job.
169type ExportAssetsToS3RequestDetails struct {
170
171	// The destination for the asset.
172	//
173	// This member is required.
174	AssetDestinations []AssetDestinationEntry
175
176	// The unique identifier for the data set associated with this export job.
177	//
178	// This member is required.
179	DataSetId *string
180
181	// The unique identifier for the revision associated with this export request.
182	//
183	// This member is required.
184	RevisionId *string
185
186	// Encryption configuration for the export job.
187	Encryption *ExportServerSideEncryption
188}
189
190// Details about the export to Amazon S3 response.
191type ExportAssetsToS3ResponseDetails struct {
192
193	// The destination in Amazon S3 where the asset is exported.
194	//
195	// This member is required.
196	AssetDestinations []AssetDestinationEntry
197
198	// The unique identifier for the data set associated with this export job.
199	//
200	// This member is required.
201	DataSetId *string
202
203	// The unique identifier for the revision associated with this export response.
204	//
205	// This member is required.
206	RevisionId *string
207
208	// Encryption configuration of the export job.
209	Encryption *ExportServerSideEncryption
210}
211
212// Details of the operation to be performed by the job.
213type ExportAssetToSignedUrlRequestDetails struct {
214
215	// The unique identifier for the asset that is exported to a signed URL.
216	//
217	// This member is required.
218	AssetId *string
219
220	// The unique identifier for the data set associated with this export job.
221	//
222	// This member is required.
223	DataSetId *string
224
225	// The unique identifier for the revision associated with this export request.
226	//
227	// This member is required.
228	RevisionId *string
229}
230
231// The details of the export to signed URL response.
232type ExportAssetToSignedUrlResponseDetails struct {
233
234	// The unique identifier for the asset associated with this export job.
235	//
236	// This member is required.
237	AssetId *string
238
239	// The unique identifier for the data set associated with this export job.
240	//
241	// This member is required.
242	DataSetId *string
243
244	// The unique identifier for the revision associated with this export response.
245	//
246	// This member is required.
247	RevisionId *string
248
249	// The signed URL for the export request.
250	SignedUrl *string
251
252	// The date and time that the signed URL expires, in ISO 8601 format.
253	SignedUrlExpiresAt *time.Time
254}
255
256// Details of the operation to be performed by the job.
257type ExportRevisionsToS3RequestDetails struct {
258
259	// The unique identifier for the data set associated with this export job.
260	//
261	// This member is required.
262	DataSetId *string
263
264	// The destination for the revision.
265	//
266	// This member is required.
267	RevisionDestinations []RevisionDestinationEntry
268
269	// Encryption configuration for the export job.
270	Encryption *ExportServerSideEncryption
271}
272
273// Details about the export revisions to Amazon S3 response.
274type ExportRevisionsToS3ResponseDetails struct {
275
276	// The unique identifier for the data set associated with this export job.
277	//
278	// This member is required.
279	DataSetId *string
280
281	// The destination in Amazon S3 where the revision is exported.
282	//
283	// This member is required.
284	RevisionDestinations []RevisionDestinationEntry
285
286	// Encryption configuration of the export job.
287	Encryption *ExportServerSideEncryption
288}
289
290// Encryption configuration of the export job. Includes the encryption type as well
291// as the AWS KMS key. The KMS key is only necessary if you chose the KMS
292// encryption type.
293type ExportServerSideEncryption struct {
294
295	// The type of server side encryption used for encrypting the objects in Amazon S3.
296	//
297	// This member is required.
298	Type ServerSideEncryptionTypes
299
300	// The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to encrypt
301	// the Amazon S3 objects. This parameter is required if you choose aws:kms as an
302	// encryption type.
303	KmsKeyArn *string
304}
305
306type ImportAssetFromSignedUrlJobErrorDetails struct {
307
308	// The name of the asset. When importing from Amazon S3, the S3 object key is used
309	// as the asset name. When exporting to Amazon S3, the asset name is used as
310	// default target S3 object key.
311	//
312	// This member is required.
313	AssetName *string
314}
315
316// Details of the operation to be performed by the job.
317type ImportAssetFromSignedUrlRequestDetails struct {
318
319	// The name of the asset. When importing from Amazon S3, the S3 object key is used
320	// as the asset name.
321	//
322	// This member is required.
323	AssetName *string
324
325	// The unique identifier for the data set associated with this import job.
326	//
327	// This member is required.
328	DataSetId *string
329
330	// The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the
331	// file at that location.
332	//
333	// This member is required.
334	Md5Hash *string
335
336	// The unique identifier for the revision associated with this import request.
337	//
338	// This member is required.
339	RevisionId *string
340}
341
342// The details in the response for an import request, including the signed URL and
343// other information.
344type ImportAssetFromSignedUrlResponseDetails struct {
345
346	// The name for the asset associated with this import response.
347	//
348	// This member is required.
349	AssetName *string
350
351	// The unique identifier for the data set associated with this import job.
352	//
353	// This member is required.
354	DataSetId *string
355
356	// The unique identifier for the revision associated with this import response.
357	//
358	// This member is required.
359	RevisionId *string
360
361	// The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the
362	// file at that location.
363	Md5Hash *string
364
365	// The signed URL.
366	SignedUrl *string
367
368	// The time and date at which the signed URL expires, in ISO 8601 format.
369	SignedUrlExpiresAt *time.Time
370}
371
372// Details of the operation to be performed by the job.
373type ImportAssetsFromS3RequestDetails struct {
374
375	// Is a list of S3 bucket and object key pairs.
376	//
377	// This member is required.
378	AssetSources []AssetSourceEntry
379
380	// The unique identifier for the data set associated with this import job.
381	//
382	// This member is required.
383	DataSetId *string
384
385	// The unique identifier for the revision associated with this import request.
386	//
387	// This member is required.
388	RevisionId *string
389}
390
391// Details from an import from Amazon S3 response.
392type ImportAssetsFromS3ResponseDetails struct {
393
394	// Is a list of Amazon S3 bucket and object key pairs.
395	//
396	// This member is required.
397	AssetSources []AssetSourceEntry
398
399	// The unique identifier for the data set associated with this import job.
400	//
401	// This member is required.
402	DataSetId *string
403
404	// The unique identifier for the revision associated with this import response.
405	//
406	// This member is required.
407	RevisionId *string
408}
409
410// AWS Data Exchange Jobs are asynchronous import or export operations used to
411// create or copy assets. A data set owner can both import and export as they see
412// fit. Someone with an entitlement to a data set can only export. Jobs are deleted
413// 90 days after they are created.
414type JobEntry struct {
415
416	// The ARN for the job.
417	//
418	// This member is required.
419	Arn *string
420
421	// The date and time that the job was created, in ISO 8601 format.
422	//
423	// This member is required.
424	CreatedAt *time.Time
425
426	// Details of the operation to be performed by the job, such as export destination
427	// details or import source details.
428	//
429	// This member is required.
430	Details *ResponseDetails
431
432	// The unique identifier for the job.
433	//
434	// This member is required.
435	Id *string
436
437	// The state of the job.
438	//
439	// This member is required.
440	State State
441
442	// The job type.
443	//
444	// This member is required.
445	Type Type
446
447	// The date and time that the job was last updated, in ISO 8601 format.
448	//
449	// This member is required.
450	UpdatedAt *time.Time
451
452	// Errors for jobs.
453	Errors []JobError
454}
455
456// An error that occurred with the job request.
457type JobError struct {
458
459	// The code for the job error.
460	//
461	// This member is required.
462	Code Code
463
464	// The message related to the job error.
465	//
466	// This member is required.
467	Message *string
468
469	Details *Details
470
471	// The name of the limit that was reached.
472	LimitName JobErrorLimitName
473
474	// The value of the exceeded limit.
475	LimitValue float64
476
477	// The unique identifier for the resource related to the error.
478	ResourceId *string
479
480	// The type of resource related to the error.
481	ResourceType JobErrorResourceTypes
482}
483
484type OriginDetails struct {
485
486	// This member is required.
487	ProductId *string
488}
489
490// The details for the request.
491type RequestDetails struct {
492
493	// Details about the export to signed URL request.
494	ExportAssetToSignedUrl *ExportAssetToSignedUrlRequestDetails
495
496	// Details about the export to Amazon S3 request.
497	ExportAssetsToS3 *ExportAssetsToS3RequestDetails
498
499	// Details about the export to Amazon S3 request.
500	ExportRevisionsToS3 *ExportRevisionsToS3RequestDetails
501
502	// Details about the import from signed URL request.
503	ImportAssetFromSignedUrl *ImportAssetFromSignedUrlRequestDetails
504
505	// Details about the import from Amazon S3 request.
506	ImportAssetsFromS3 *ImportAssetsFromS3RequestDetails
507}
508
509// Details for the response.
510type ResponseDetails struct {
511
512	// Details for the export to signed URL response.
513	ExportAssetToSignedUrl *ExportAssetToSignedUrlResponseDetails
514
515	// Details for the export to Amazon S3 response.
516	ExportAssetsToS3 *ExportAssetsToS3ResponseDetails
517
518	// Details for the export revisions to Amazon S3 response.
519	ExportRevisionsToS3 *ExportRevisionsToS3ResponseDetails
520
521	// Details for the import from signed URL response.
522	ImportAssetFromSignedUrl *ImportAssetFromSignedUrlResponseDetails
523
524	// Details for the import from Amazon S3 response.
525	ImportAssetsFromS3 *ImportAssetsFromS3ResponseDetails
526}
527
528// The destination where the assets in the revision will be exported.
529type RevisionDestinationEntry struct {
530
531	// The S3 bucket that is the destination for the assets in the revision.
532	//
533	// This member is required.
534	Bucket *string
535
536	// The unique identifier for the revision.
537	//
538	// This member is required.
539	RevisionId *string
540
541	// A string representing the pattern for generated names of the individual assets
542	// in the revision. For more information about key patterns, see Key patterns when
543	// exporting revisions
544	// (https://docs.aws.amazon.com/data-exchange/latest/userguide/jobs.html#revision-export-keypatterns).
545	KeyPattern *string
546}
547
548// A revision is a container for one or more assets.
549type RevisionEntry struct {
550
551	// The ARN for the revision.
552	//
553	// This member is required.
554	Arn *string
555
556	// The date and time that the revision was created, in ISO 8601 format.
557	//
558	// This member is required.
559	CreatedAt *time.Time
560
561	// The unique identifier for the data set associated with this revision.
562	//
563	// This member is required.
564	DataSetId *string
565
566	// The unique identifier for the revision.
567	//
568	// This member is required.
569	Id *string
570
571	// The date and time that the revision was last updated, in ISO 8601 format.
572	//
573	// This member is required.
574	UpdatedAt *time.Time
575
576	// An optional comment about the revision.
577	Comment *string
578
579	// To publish a revision to a data set in a product, the revision must first be
580	// finalized. Finalizing a revision tells AWS Data Exchange that your changes to
581	// the assets in the revision are complete. After it's in this read-only state, you
582	// can publish the revision to your products. Finalized revisions can be published
583	// through the AWS Data Exchange console or the AWS Marketplace Catalog API, using
584	// the StartChangeSet AWS Marketplace Catalog API action. When using the API,
585	// revisions are uniquely identified by their ARN.
586	Finalized bool
587
588	// The revision ID of the owned revision corresponding to the entitled revision
589	// being viewed. This parameter is returned when a revision owner is viewing the
590	// entitled copy of its owned revision.
591	SourceId *string
592}
593
594// The S3 object that is the asset.
595type S3SnapshotAsset struct {
596
597	// The size of the S3 object that is the object.
598	//
599	// This member is required.
600	Size float64
601}
602