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// Encryption configuration of the export job. Includes the encryption type as well
257// as the AWS KMS key. The KMS key is only necessary if you chose the KMS
258// encryption type.
259type ExportServerSideEncryption struct {
260
261	// The type of server side encryption used for encrypting the objects in Amazon S3.
262	//
263	// This member is required.
264	Type ServerSideEncryptionTypes
265
266	// The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to encrypt
267	// the Amazon S3 objects. This parameter is required if you choose aws:kms as an
268	// encryption type.
269	KmsKeyArn *string
270}
271
272type ImportAssetFromSignedUrlJobErrorDetails struct {
273
274	// The name of the asset. When importing from Amazon S3, the S3 object key is used
275	// as the asset name. When exporting to Amazon S3, the asset name is used as
276	// default target S3 object key.
277	//
278	// This member is required.
279	AssetName *string
280}
281
282// Details of the operation to be performed by the job.
283type ImportAssetFromSignedUrlRequestDetails struct {
284
285	// The name of the asset. When importing from Amazon S3, the S3 object key is used
286	// as the asset name.
287	//
288	// This member is required.
289	AssetName *string
290
291	// The unique identifier for the data set associated with this import job.
292	//
293	// This member is required.
294	DataSetId *string
295
296	// The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the
297	// file at that location.
298	//
299	// This member is required.
300	Md5Hash *string
301
302	// The unique identifier for the revision associated with this import request.
303	//
304	// This member is required.
305	RevisionId *string
306}
307
308// The details in the response for an import request, including the signed URL and
309// other information.
310type ImportAssetFromSignedUrlResponseDetails struct {
311
312	// The name for the asset associated with this import response.
313	//
314	// This member is required.
315	AssetName *string
316
317	// The unique identifier for the data set associated with this import job.
318	//
319	// This member is required.
320	DataSetId *string
321
322	// The unique identifier for the revision associated with this import response.
323	//
324	// This member is required.
325	RevisionId *string
326
327	// The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the
328	// file at that location.
329	Md5Hash *string
330
331	// The signed URL.
332	SignedUrl *string
333
334	// The time and date at which the signed URL expires, in ISO 8601 format.
335	SignedUrlExpiresAt *time.Time
336}
337
338// Details of the operation to be performed by the job.
339type ImportAssetsFromS3RequestDetails struct {
340
341	// Is a list of S3 bucket and object key pairs.
342	//
343	// This member is required.
344	AssetSources []AssetSourceEntry
345
346	// The unique identifier for the data set associated with this import job.
347	//
348	// This member is required.
349	DataSetId *string
350
351	// The unique identifier for the revision associated with this import request.
352	//
353	// This member is required.
354	RevisionId *string
355}
356
357// Details from an import from Amazon S3 response.
358type ImportAssetsFromS3ResponseDetails struct {
359
360	// Is a list of Amazon S3 bucket and object key pairs.
361	//
362	// This member is required.
363	AssetSources []AssetSourceEntry
364
365	// The unique identifier for the data set associated with this import job.
366	//
367	// This member is required.
368	DataSetId *string
369
370	// The unique identifier for the revision associated with this import response.
371	//
372	// This member is required.
373	RevisionId *string
374}
375
376// AWS Data Exchange Jobs are asynchronous import or export operations used to
377// create or copy assets. A data set owner can both import and export as they see
378// fit. Someone with an entitlement to a data set can only export. Jobs are deleted
379// 90 days after they are created.
380type JobEntry struct {
381
382	// The ARN for the job.
383	//
384	// This member is required.
385	Arn *string
386
387	// The date and time that the job was created, in ISO 8601 format.
388	//
389	// This member is required.
390	CreatedAt *time.Time
391
392	// Details of the operation to be performed by the job, such as export destination
393	// details or import source details.
394	//
395	// This member is required.
396	Details *ResponseDetails
397
398	// The unique identifier for the job.
399	//
400	// This member is required.
401	Id *string
402
403	// The state of the job.
404	//
405	// This member is required.
406	State State
407
408	// The job type.
409	//
410	// This member is required.
411	Type Type
412
413	// The date and time that the job was last updated, in ISO 8601 format.
414	//
415	// This member is required.
416	UpdatedAt *time.Time
417
418	// Errors for jobs.
419	Errors []JobError
420}
421
422// An error that occurred with the job request.
423type JobError struct {
424
425	// The code for the job error.
426	//
427	// This member is required.
428	Code Code
429
430	// The message related to the job error.
431	//
432	// This member is required.
433	Message *string
434
435	Details *Details
436
437	// The name of the limit that was reached.
438	LimitName JobErrorLimitName
439
440	// The value of the exceeded limit.
441	LimitValue float64
442
443	// The unique identifier for the resource related to the error.
444	ResourceId *string
445
446	// The type of resource related to the error.
447	ResourceType JobErrorResourceTypes
448}
449
450type OriginDetails struct {
451
452	// This member is required.
453	ProductId *string
454}
455
456// The details for the request.
457type RequestDetails struct {
458
459	// Details about the export to signed URL request.
460	ExportAssetToSignedUrl *ExportAssetToSignedUrlRequestDetails
461
462	// Details about the export to Amazon S3 request.
463	ExportAssetsToS3 *ExportAssetsToS3RequestDetails
464
465	// Details about the import from signed URL request.
466	ImportAssetFromSignedUrl *ImportAssetFromSignedUrlRequestDetails
467
468	// Details about the import from Amazon S3 request.
469	ImportAssetsFromS3 *ImportAssetsFromS3RequestDetails
470}
471
472// Details for the response.
473type ResponseDetails struct {
474
475	// Details for the export to signed URL response.
476	ExportAssetToSignedUrl *ExportAssetToSignedUrlResponseDetails
477
478	// Details for the export to Amazon S3 response.
479	ExportAssetsToS3 *ExportAssetsToS3ResponseDetails
480
481	// Details for the import from signed URL response.
482	ImportAssetFromSignedUrl *ImportAssetFromSignedUrlResponseDetails
483
484	// Details for the import from Amazon S3 response.
485	ImportAssetsFromS3 *ImportAssetsFromS3ResponseDetails
486}
487
488// A revision is a container for one or more assets.
489type RevisionEntry struct {
490
491	// The ARN for the revision.
492	//
493	// This member is required.
494	Arn *string
495
496	// The date and time that the revision was created, in ISO 8601 format.
497	//
498	// This member is required.
499	CreatedAt *time.Time
500
501	// The unique identifier for the data set associated with this revision.
502	//
503	// This member is required.
504	DataSetId *string
505
506	// The unique identifier for the revision.
507	//
508	// This member is required.
509	Id *string
510
511	// The date and time that the revision was last updated, in ISO 8601 format.
512	//
513	// This member is required.
514	UpdatedAt *time.Time
515
516	// An optional comment about the revision.
517	Comment *string
518
519	// To publish a revision to a data set in a product, the revision must first be
520	// finalized. Finalizing a revision tells AWS Data Exchange that your changes to
521	// the assets in the revision are complete. After it's in this read-only state, you
522	// can publish the revision to your products. Finalized revisions can be published
523	// through the AWS Data Exchange console or the AWS Marketplace Catalog API, using
524	// the StartChangeSet AWS Marketplace Catalog API action. When using the API,
525	// revisions are uniquely identified by their ARN.
526	Finalized bool
527
528	// The revision ID of the owned revision corresponding to the entitled revision
529	// being viewed. This parameter is returned when a revision owner is viewing the
530	// entitled copy of its owned revision.
531	SourceId *string
532}
533
534// The S3 object that is the asset.
535type S3SnapshotAsset struct {
536
537	// The size of the S3 object that is the object.
538	//
539	// This member is required.
540	Size float64
541}
542