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