1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// The container for abort incomplete multipart upload 10type AbortIncompleteMultipartUpload struct { 11 12 // Specifies the number of days after which Amazon S3 aborts an incomplete 13 // multipart upload to the Outposts bucket. 14 DaysAfterInitiation int32 15} 16 17// An access point used to access a bucket. 18type AccessPoint struct { 19 20 // The name of the bucket associated with this access point. 21 // 22 // This member is required. 23 Bucket *string 24 25 // The name of this access point. 26 // 27 // This member is required. 28 Name *string 29 30 // Indicates whether this access point allows access from the public internet. If 31 // VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, 32 // and the access point doesn't allow access from the public internet. Otherwise, 33 // NetworkOrigin is Internet, and the access point allows access from the public 34 // internet, subject to the access point and bucket access policies. 35 // 36 // This member is required. 37 NetworkOrigin NetworkOrigin 38 39 // The ARN for the access point. 40 AccessPointArn *string 41 42 // The virtual private cloud (VPC) configuration for this access point, if one 43 // exists. 44 VpcConfiguration *VpcConfiguration 45} 46 47// A container for the account level Amazon S3 Storage Lens configuration. 48type AccountLevel struct { 49 50 // A container for the S3 Storage Lens bucket-level configuration. 51 // 52 // This member is required. 53 BucketLevel *BucketLevel 54 55 // A container for the S3 Storage Lens activity metrics. 56 ActivityMetrics *ActivityMetrics 57} 58 59// A container for the activity metrics. 60type ActivityMetrics struct { 61 62 // A container for whether the activity metrics are enabled. 63 IsEnabled bool 64} 65 66// AWS Lambda function used to transform objects through an Object Lambda Access 67// Point. 68type AwsLambdaTransformation struct { 69 70 // The Amazon Resource Name (ARN) of the AWS Lambda function. 71 // 72 // This member is required. 73 FunctionArn *string 74 75 // Additional JSON that provides supplemental data to the Lambda function used to 76 // transform objects. 77 FunctionPayload *string 78} 79 80// A container for the bucket-level configuration. 81type BucketLevel struct { 82 83 // A container for the bucket-level activity metrics for Amazon S3 Storage Lens 84 ActivityMetrics *ActivityMetrics 85 86 // A container for the bucket-level prefix-level metrics for S3 Storage Lens 87 PrefixLevel *PrefixLevel 88} 89 90// The container for the bucket configuration. This is not supported by Amazon S3 91// on Outposts buckets. 92type CreateBucketConfiguration struct { 93 94 // Specifies the Region where the bucket will be created. If you are creating a 95 // bucket on the US East (N. Virginia) Region (us-east-1), you do not need to 96 // specify the location. This is not supported by Amazon S3 on Outposts buckets. 97 LocationConstraint BucketLocationConstraint 98} 99 100// A container for what Amazon S3 Storage Lens will exclude. 101type Exclude struct { 102 103 // A container for the S3 Storage Lens bucket excludes. 104 Buckets []string 105 106 // A container for the S3 Storage Lens Region excludes. 107 Regions []string 108} 109 110// A container for what Amazon S3 Storage Lens configuration includes. 111type Include struct { 112 113 // A container for the S3 Storage Lens bucket includes. 114 Buckets []string 115 116 // A container for the S3 Storage Lens Region includes. 117 Regions []string 118} 119 120// A container element for the job configuration and status information returned by 121// a Describe Job request. 122type JobDescriptor struct { 123 124 // Indicates whether confirmation is required before Amazon S3 begins running the 125 // specified job. Confirmation is required only for jobs created through the Amazon 126 // S3 console. 127 ConfirmationRequired bool 128 129 // A timestamp indicating when this job was created. 130 CreationTime *time.Time 131 132 // The description for this job, if one was provided in this job's Create Job 133 // request. 134 Description *string 135 136 // If the specified job failed, this field contains information describing the 137 // failure. 138 FailureReasons []JobFailure 139 140 // The Amazon Resource Name (ARN) for this job. 141 JobArn *string 142 143 // The ID for the specified job. 144 JobId *string 145 146 // The configuration information for the specified job's manifest object. 147 Manifest *JobManifest 148 149 // The operation that the specified job is configured to run on the objects listed 150 // in the manifest. 151 Operation *JobOperation 152 153 // The priority of the specified job. 154 Priority int32 155 156 // Describes the total number of tasks that the specified job has run, the number 157 // of tasks that succeeded, and the number of tasks that failed. 158 ProgressSummary *JobProgressSummary 159 160 // Contains the configuration information for the job-completion report if you 161 // requested one in the Create Job request. 162 Report *JobReport 163 164 // The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) 165 // role assigned to run the tasks for this job. 166 RoleArn *string 167 168 // The current status of the specified job. 169 Status JobStatus 170 171 // The reason for updating the job. 172 StatusUpdateReason *string 173 174 // The reason why the specified job was suspended. A job is only suspended if you 175 // create it through the Amazon S3 console. When you create the job, it enters the 176 // Suspended state to await confirmation before running. After you confirm the job, 177 // it automatically exits the Suspended state. 178 SuspendedCause *string 179 180 // The timestamp when this job was suspended, if it has been suspended. 181 SuspendedDate *time.Time 182 183 // A timestamp indicating when this job terminated. A job's termination date is the 184 // date and time when it succeeded, failed, or was canceled. 185 TerminationDate *time.Time 186} 187 188// If this job failed, this element indicates why the job failed. 189type JobFailure struct { 190 191 // The failure code, if any, for the specified job. 192 FailureCode *string 193 194 // The failure reason, if any, for the specified job. 195 FailureReason *string 196} 197 198// Contains the configuration and status information for a single job retrieved as 199// part of a job list. 200type JobListDescriptor struct { 201 202 // A timestamp indicating when the specified job was created. 203 CreationTime *time.Time 204 205 // The user-specified description that was included in the specified job's Create 206 // Job request. 207 Description *string 208 209 // The ID for the specified job. 210 JobId *string 211 212 // The operation that the specified job is configured to run on every object listed 213 // in the manifest. 214 Operation OperationName 215 216 // The current priority for the specified job. 217 Priority int32 218 219 // Describes the total number of tasks that the specified job has run, the number 220 // of tasks that succeeded, and the number of tasks that failed. 221 ProgressSummary *JobProgressSummary 222 223 // The specified job's current status. 224 Status JobStatus 225 226 // A timestamp indicating when the specified job terminated. A job's termination 227 // date is the date and time when it succeeded, failed, or was canceled. 228 TerminationDate *time.Time 229} 230 231// Contains the configuration information for a job's manifest. 232type JobManifest struct { 233 234 // Contains the information required to locate the specified job's manifest. 235 // 236 // This member is required. 237 Location *JobManifestLocation 238 239 // Describes the format of the specified job's manifest. If the manifest is in CSV 240 // format, also describes the columns contained within the manifest. 241 // 242 // This member is required. 243 Spec *JobManifestSpec 244} 245 246// Contains the information required to locate a manifest object. 247type JobManifestLocation struct { 248 249 // The ETag for the specified manifest object. 250 // 251 // This member is required. 252 ETag *string 253 254 // The Amazon Resource Name (ARN) for a manifest object. Replacement must be made 255 // for object keys containing special characters (such as carriage returns) when 256 // using XML requests. For more information, see XML related object key 257 // constraints 258 // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 259 // 260 // This member is required. 261 ObjectArn *string 262 263 // The optional version ID to identify a specific version of the manifest object. 264 ObjectVersionId *string 265} 266 267// Describes the format of a manifest. If the manifest is in CSV format, also 268// describes the columns contained within the manifest. 269type JobManifestSpec struct { 270 271 // Indicates which of the available formats the specified manifest uses. 272 // 273 // This member is required. 274 Format JobManifestFormat 275 276 // If the specified manifest object is in the S3BatchOperations_CSV_20180820 277 // format, this element describes which columns contain the required data. 278 Fields []JobManifestFieldName 279} 280 281// The operation that you want this job to perform on every object listed in the 282// manifest. For more information about the available operations, see Operations 283// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) in 284// the Amazon Simple Storage Service User Guide. 285type JobOperation struct { 286 287 // Directs the specified job to invoke an AWS Lambda function on every object in 288 // the manifest. 289 LambdaInvoke *LambdaInvokeOperation 290 291 // Directs the specified job to execute a DELETE Object tagging call on every 292 // object in the manifest. 293 S3DeleteObjectTagging *S3DeleteObjectTaggingOperation 294 295 // Directs the specified job to initiate restore requests for every archived object 296 // in the manifest. 297 S3InitiateRestoreObject *S3InitiateRestoreObjectOperation 298 299 // Directs the specified job to run a PUT Object acl call on every object in the 300 // manifest. 301 S3PutObjectAcl *S3SetObjectAclOperation 302 303 // Directs the specified job to run a PUT Copy object call on every object in the 304 // manifest. 305 S3PutObjectCopy *S3CopyObjectOperation 306 307 // Contains the configuration for an S3 Object Lock legal hold operation that an S3 308 // Batch Operations job passes every object to the underlying PutObjectLegalHold 309 // API. For more information, see Using S3 Object Lock legal hold with S3 Batch 310 // Operations 311 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) in 312 // the Amazon Simple Storage Service User Guide. 313 S3PutObjectLegalHold *S3SetObjectLegalHoldOperation 314 315 // Contains the configuration parameters for the Object Lock retention action for 316 // an S3 Batch Operations job. Batch Operations passes every object to the 317 // underlying PutObjectRetention API. For more information, see Using S3 Object 318 // Lock retention with S3 Batch Operations 319 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 320 // in the Amazon Simple Storage Service User Guide. 321 S3PutObjectRetention *S3SetObjectRetentionOperation 322 323 // Directs the specified job to run a PUT Object tagging call on every object in 324 // the manifest. 325 S3PutObjectTagging *S3SetObjectTaggingOperation 326} 327 328// Describes the total number of tasks that the specified job has started, the 329// number of tasks that succeeded, and the number of tasks that failed. 330type JobProgressSummary struct { 331 332 // 333 NumberOfTasksFailed int64 334 335 // 336 NumberOfTasksSucceeded int64 337 338 // 339 TotalNumberOfTasks int64 340} 341 342// Contains the configuration parameters for a job-completion report. 343type JobReport struct { 344 345 // Indicates whether the specified job will generate a job-completion report. 346 // 347 // This member is required. 348 Enabled bool 349 350 // The Amazon Resource Name (ARN) for the bucket where specified job-completion 351 // report will be stored. 352 Bucket *string 353 354 // The format of the specified job-completion report. 355 Format JobReportFormat 356 357 // An optional prefix to describe where in the specified bucket the job-completion 358 // report will be stored. Amazon S3 stores the job-completion report at 359 // /job-/report.json. 360 Prefix *string 361 362 // Indicates whether the job-completion report will include details of all tasks or 363 // only failed tasks. 364 ReportScope JobReportScope 365} 366 367// Contains the configuration parameters for a Lambda Invoke operation. 368type LambdaInvokeOperation struct { 369 370 // The Amazon Resource Name (ARN) for the AWS Lambda function that the specified 371 // job will invoke on every object in the manifest. 372 FunctionArn *string 373} 374 375// The container for the Outposts bucket lifecycle configuration. 376type LifecycleConfiguration struct { 377 378 // A lifecycle rule for individual objects in an Outposts bucket. 379 Rules []LifecycleRule 380} 381 382// The container of the Outposts bucket lifecycle expiration. 383type LifecycleExpiration struct { 384 385 // Indicates at what date the object is to be deleted. Should be in GMT ISO 8601 386 // format. 387 Date *time.Time 388 389 // Indicates the lifetime, in days, of the objects that are subject to the rule. 390 // The value must be a non-zero positive integer. 391 Days int32 392 393 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 394 // versions. If set to true, the delete marker will be expired. If set to false, 395 // the policy takes no action. This cannot be specified with Days or Date in a 396 // Lifecycle Expiration Policy. 397 ExpiredObjectDeleteMarker bool 398} 399 400// The container for the Outposts bucket lifecycle rule. 401type LifecycleRule struct { 402 403 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is 404 // not currently being applied. 405 // 406 // This member is required. 407 Status ExpirationStatus 408 409 // Specifies the days since the initiation of an incomplete multipart upload that 410 // Amazon S3 waits before permanently removing all parts of the upload. For more 411 // information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle 412 // Policy 413 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) 414 // in the Amazon Simple Storage Service Developer Guide. 415 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload 416 417 // Specifies the expiration for the lifecycle of the object in the form of date, 418 // days and, whether the object has a delete marker. 419 Expiration *LifecycleExpiration 420 421 // The container for the filter of lifecycle rule. 422 Filter *LifecycleRuleFilter 423 424 // Unique identifier for the rule. The value cannot be longer than 255 characters. 425 ID *string 426 427 // The noncurrent version expiration of the lifecycle rule. This is not supported 428 // by Amazon S3 on Outposts buckets. 429 NoncurrentVersionExpiration *NoncurrentVersionExpiration 430 431 // Specifies the transition rule for the lifecycle rule that describes when 432 // noncurrent objects transition to a specific storage class. If your bucket is 433 // versioning-enabled (or versioning is suspended), you can set this action to 434 // request that Amazon S3 transition noncurrent object versions to a specific 435 // storage class at a set period in the object's lifetime. This is not supported by 436 // Amazon S3 on Outposts buckets. 437 NoncurrentVersionTransitions []NoncurrentVersionTransition 438 439 // Specifies when an Amazon S3 object transitions to a specified storage class. 440 // This is not supported by Amazon S3 on Outposts buckets. 441 Transitions []Transition 442} 443 444// The container for the Outposts bucket lifecycle rule and operator. 445type LifecycleRuleAndOperator struct { 446 447 // Prefix identifying one or more objects to which the rule applies. 448 Prefix *string 449 450 // All of these tags must exist in the object's tag set in order for the rule to 451 // apply. 452 Tags []S3Tag 453} 454 455// The container for the filter of the lifecycle rule. 456type LifecycleRuleFilter struct { 457 458 // The container for the AND condition for the lifecycle rule. 459 And *LifecycleRuleAndOperator 460 461 // Prefix identifying one or more objects to which the rule applies. Replacement 462 // must be made for object keys containing special characters (such as carriage 463 // returns) when using XML requests. For more information, see XML related object 464 // key constraints 465 // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 466 Prefix *string 467 468 // 469 Tag *S3Tag 470} 471 472// Part of ListStorageLensConfigurationResult. Each entry includes the description 473// of the S3 Storage Lens configuration, its home Region, whether it is enabled, 474// its Amazon Resource Name (ARN), and config ID. 475type ListStorageLensConfigurationEntry struct { 476 477 // A container for the S3 Storage Lens home Region. Your metrics data is stored and 478 // retained in your designated S3 Storage Lens home Region. 479 // 480 // This member is required. 481 HomeRegion *string 482 483 // A container for the S3 Storage Lens configuration ID. 484 // 485 // This member is required. 486 Id *string 487 488 // The ARN of the S3 Storage Lens configuration. This property is read-only. 489 // 490 // This member is required. 491 StorageLensArn *string 492 493 // A container for whether the S3 Storage Lens configuration is enabled. This 494 // property is required. 495 IsEnabled bool 496} 497 498// The container of the noncurrent version expiration. 499type NoncurrentVersionExpiration struct { 500 501 // Specifies the number of days an object is noncurrent before Amazon S3 can 502 // perform the associated action. For information about the noncurrent days 503 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 504 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 505 // in the Amazon Simple Storage Service Developer Guide. 506 NoncurrentDays int32 507} 508 509// The container for the noncurrent version transition. 510type NoncurrentVersionTransition struct { 511 512 // Specifies the number of days an object is noncurrent before Amazon S3 can 513 // perform the associated action. For information about the noncurrent days 514 // calculations, see How Amazon S3 Calculates How Long an Object Has Been 515 // Noncurrent 516 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 517 // in the Amazon Simple Storage Service Developer Guide. 518 NoncurrentDays int32 519 520 // The class of storage used to store the object. 521 StorageClass TransitionStorageClass 522} 523 524// An access point with an attached AWS Lambda function used to access transformed 525// data from an Amazon S3 bucket. 526type ObjectLambdaAccessPoint struct { 527 528 // The name of the Object Lambda Access Point. 529 // 530 // This member is required. 531 Name *string 532 533 // Specifies the ARN for the Object Lambda Access Point. 534 ObjectLambdaAccessPointArn *string 535} 536 537// A configuration used when creating an Object Lambda Access Point. 538type ObjectLambdaConfiguration struct { 539 540 // Standard access point associated with the Object Lambda Access Point. 541 // 542 // This member is required. 543 SupportingAccessPoint *string 544 545 // A container for transformation configurations for an Object Lambda Access Point. 546 // 547 // This member is required. 548 TransformationConfigurations []ObjectLambdaTransformationConfiguration 549 550 // A container for allowed features. Valid inputs are GetObject-Range and 551 // GetObject-PartNumber. 552 AllowedFeatures []ObjectLambdaAllowedFeature 553 554 // A container for whether the CloudWatch metrics configuration is enabled. 555 CloudWatchMetricsEnabled bool 556} 557 558// A container for AwsLambdaTransformation. 559// 560// The following types satisfy this interface: 561// ObjectLambdaContentTransformationMemberAwsLambda 562type ObjectLambdaContentTransformation interface { 563 isObjectLambdaContentTransformation() 564} 565 566// A container for an AWS Lambda function. 567type ObjectLambdaContentTransformationMemberAwsLambda struct { 568 Value AwsLambdaTransformation 569} 570 571func (*ObjectLambdaContentTransformationMemberAwsLambda) isObjectLambdaContentTransformation() {} 572 573// A configuration used when creating an Object Lambda Access Point transformation. 574type ObjectLambdaTransformationConfiguration struct { 575 576 // A container for the action of an Object Lambda Access Point configuration. Valid 577 // input is GetObject. 578 // 579 // This member is required. 580 Actions []ObjectLambdaTransformationConfigurationAction 581 582 // A container for the content transformation of an Object Lambda Access Point 583 // configuration. 584 // 585 // This member is required. 586 ContentTransformation ObjectLambdaContentTransformation 587} 588 589// Indicates whether this access point policy is public. For more information about 590// how Amazon S3 evaluates policies to determine whether they are public, see The 591// Meaning of "Public" 592// (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 593// in the Amazon Simple Storage Service User Guide. 594type PolicyStatus struct { 595 596 // 597 IsPublic bool 598} 599 600// A container for the prefix-level configuration. 601type PrefixLevel struct { 602 603 // A container for the prefix-level storage metrics for S3 Storage Lens. 604 // 605 // This member is required. 606 StorageMetrics *PrefixLevelStorageMetrics 607} 608 609// A container for the prefix-level storage metrics for S3 Storage Lens. 610type PrefixLevelStorageMetrics struct { 611 612 // A container for whether prefix-level storage metrics are enabled. 613 IsEnabled bool 614 615 // 616 SelectionCriteria *SelectionCriteria 617} 618 619// The PublicAccessBlock configuration that you want to apply to this Amazon S3 620// account. You can enable the configuration options in any combination. For more 621// information about when Amazon S3 considers a bucket or object public, see The 622// Meaning of "Public" 623// (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 624// in the Amazon Simple Storage Service Developer Guide. This is not supported for 625// Amazon S3 on Outposts. 626type PublicAccessBlockConfiguration struct { 627 628 // Specifies whether Amazon S3 should block public access control lists (ACLs) for 629 // buckets in this account. Setting this element to TRUE causes the following 630 // behavior: 631 // 632 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL 633 // is public. 634 // 635 // * PUT Object calls fail if the request includes a public ACL. 636 // 637 // * PUT 638 // Bucket calls fail if the request includes a public ACL. 639 // 640 // Enabling this setting 641 // doesn't affect existing policies or ACLs. This is not supported for Amazon S3 on 642 // Outposts. 643 BlockPublicAcls bool 644 645 // Specifies whether Amazon S3 should block public bucket policies for buckets in 646 // this account. Setting this element to TRUE causes Amazon S3 to reject calls to 647 // PUT Bucket policy if the specified bucket policy allows public access. Enabling 648 // this setting doesn't affect existing bucket policies. This is not supported for 649 // Amazon S3 on Outposts. 650 BlockPublicPolicy bool 651 652 // Specifies whether Amazon S3 should ignore public ACLs for buckets in this 653 // account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs 654 // on buckets in this account and any objects that they contain. Enabling this 655 // setting doesn't affect the persistence of any existing ACLs and doesn't prevent 656 // new public ACLs from being set. This is not supported for Amazon S3 on Outposts. 657 IgnorePublicAcls bool 658 659 // Specifies whether Amazon S3 should restrict public bucket policies for buckets 660 // in this account. Setting this element to TRUE restricts access to buckets with 661 // public policies to only AWS service principals and authorized users within this 662 // account. Enabling this setting doesn't affect previously stored bucket policies, 663 // except that public and cross-account access within any public bucket policy, 664 // including non-public delegation to specific accounts, is blocked. This is not 665 // supported for Amazon S3 on Outposts. 666 RestrictPublicBuckets bool 667} 668 669// The container for the regional bucket. 670type RegionalBucket struct { 671 672 // 673 // 674 // This member is required. 675 Bucket *string 676 677 // The creation date of the regional bucket 678 // 679 // This member is required. 680 CreationDate *time.Time 681 682 // 683 // 684 // This member is required. 685 PublicAccessBlockEnabled bool 686 687 // The Amazon Resource Name (ARN) for the regional bucket. 688 BucketArn *string 689 690 // The AWS Outposts ID of the regional bucket. 691 OutpostId *string 692} 693 694// 695type S3AccessControlList struct { 696 697 // 698 // 699 // This member is required. 700 Owner *S3ObjectOwner 701 702 // 703 Grants []S3Grant 704} 705 706// 707type S3AccessControlPolicy struct { 708 709 // 710 AccessControlList *S3AccessControlList 711 712 // 713 CannedAccessControlList S3CannedAccessControlList 714} 715 716// A container for the bucket where the Amazon S3 Storage Lens metrics export files 717// are located. 718type S3BucketDestination struct { 719 720 // The account ID of the owner of the S3 Storage Lens metrics export bucket. 721 // 722 // This member is required. 723 AccountId *string 724 725 // The Amazon Resource Name (ARN) of the bucket. This property is read-only and 726 // follows the following format: 727 // arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name 728 // 729 // This member is required. 730 Arn *string 731 732 // 733 // 734 // This member is required. 735 Format Format 736 737 // The schema version of the export file. 738 // 739 // This member is required. 740 OutputSchemaVersion OutputSchemaVersion 741 742 // The container for the type encryption of the metrics exports in this bucket. 743 Encryption *StorageLensDataExportEncryption 744 745 // The prefix of the destination bucket where the metrics export will be delivered. 746 Prefix *string 747} 748 749// Contains the configuration parameters for a PUT Copy object operation. S3 Batch 750// Operations passes every object to the underlying PUT Copy object API. For more 751// information about the parameters for this operation, see PUT Object - Copy 752// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). 753type S3CopyObjectOperation struct { 754 755 // 756 AccessControlGrants []S3Grant 757 758 // 759 CannedAccessControlList S3CannedAccessControlList 760 761 // 762 MetadataDirective S3MetadataDirective 763 764 // 765 ModifiedSinceConstraint *time.Time 766 767 // 768 NewObjectMetadata *S3ObjectMetadata 769 770 // 771 NewObjectTagging []S3Tag 772 773 // The legal hold status to be applied to all objects in the Batch Operations job. 774 ObjectLockLegalHoldStatus S3ObjectLockLegalHoldStatus 775 776 // The retention mode to be applied to all objects in the Batch Operations job. 777 ObjectLockMode S3ObjectLockMode 778 779 // The date when the applied object retention configuration expires on all objects 780 // in the Batch Operations job. 781 ObjectLockRetainUntilDate *time.Time 782 783 // Specifies an optional metadata property for website redirects, 784 // x-amz-website-redirect-location. Allows webpage redirects if the object is 785 // accessed through a website endpoint. 786 RedirectLocation *string 787 788 // 789 RequesterPays bool 790 791 // 792 SSEAwsKmsKeyId *string 793 794 // 795 StorageClass S3StorageClass 796 797 // Specifies the folder prefix into which you would like the objects to be copied. 798 // For example, to copy objects into a folder named "Folder1" in the destination 799 // bucket, set the TargetKeyPrefix to "Folder1/". 800 TargetKeyPrefix *string 801 802 // Specifies the destination bucket ARN for the batch copy operation. For example, 803 // to copy objects to a bucket named "destinationBucket", set the TargetResource to 804 // "arn:aws:s3:::destinationBucket". 805 TargetResource *string 806 807 // 808 UnModifiedSinceConstraint *time.Time 809} 810 811// Contains no configuration parameters because the DELETE Object tagging API only 812// accepts the bucket name and key name as parameters, which are defined in the 813// job's manifest. 814type S3DeleteObjectTaggingOperation struct { 815} 816 817// 818type S3Grant struct { 819 820 // 821 Grantee *S3Grantee 822 823 // 824 Permission S3Permission 825} 826 827// 828type S3Grantee struct { 829 830 // 831 DisplayName *string 832 833 // 834 Identifier *string 835 836 // 837 TypeIdentifier S3GranteeTypeIdentifier 838} 839 840// Contains the configuration parameters for an S3 Initiate Restore Object job. S3 841// Batch Operations passes every object to the underlying POST Object restore API. 842// For more information about the parameters for this operation, see RestoreObject 843// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). 844type S3InitiateRestoreObjectOperation struct { 845 846 // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive 847 // object remains available in Amazon S3. S3 Initiate Restore Object jobs that 848 // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays 849 // set to 1 or greater. Conversely, do not set ExpirationInDays when creating S3 850 // Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access 851 // and Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive 852 // access tiers are not subject to restore expiry, so specifying ExpirationInDays 853 // results in restore request failure. S3 Batch Operations jobs can operate either 854 // on S3 Glacier and S3 Glacier Deep Archive storage class objects or on S3 855 // Intelligent-Tiering Archive Access and Deep Archive Access storage tier objects, 856 // but not both types in the same job. If you need to restore objects of both types 857 // you must create separate Batch Operations jobs. 858 ExpirationInDays *int32 859 860 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the 861 // EXPEDITED retrieval tier. 862 GlacierJobTier S3GlacierJobTier 863} 864 865// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch 866// Operations job. 867type S3ObjectLockLegalHold struct { 868 869 // The Object Lock legal hold status to be applied to all objects in the Batch 870 // Operations job. 871 // 872 // This member is required. 873 Status S3ObjectLockLegalHoldStatus 874} 875 876// 877type S3ObjectMetadata struct { 878 879 // 880 CacheControl *string 881 882 // 883 ContentDisposition *string 884 885 // 886 ContentEncoding *string 887 888 // 889 ContentLanguage *string 890 891 // 892 ContentLength int64 893 894 // 895 ContentMD5 *string 896 897 // 898 ContentType *string 899 900 // 901 HttpExpiresDate *time.Time 902 903 // 904 RequesterCharged bool 905 906 // 907 SSEAlgorithm S3SSEAlgorithm 908 909 // 910 UserMetadata map[string]string 911} 912 913// 914type S3ObjectOwner struct { 915 916 // 917 DisplayName *string 918 919 // 920 ID *string 921} 922 923// Contains the S3 Object Lock retention mode to be applied to all objects in the 924// S3 Batch Operations job. If you don't provide Mode and RetainUntilDate data 925// types in your operation, you will remove the retention from your objects. For 926// more information, see Using S3 Object Lock retention with S3 Batch Operations 927// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 928// in the Amazon Simple Storage Service User Guide. 929type S3Retention struct { 930 931 // The Object Lock retention mode to be applied to all objects in the Batch 932 // Operations job. 933 Mode S3ObjectLockRetentionMode 934 935 // The date when the applied Object Lock retention will expire on all objects set 936 // by the Batch Operations job. 937 RetainUntilDate *time.Time 938} 939 940// Contains the configuration parameters for a Set Object ACL operation. S3 Batch 941// Operations passes every object to the underlying PUT Object acl API. For more 942// information about the parameters for this operation, see PUT Object acl 943// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). 944type S3SetObjectAclOperation struct { 945 946 // 947 AccessControlPolicy *S3AccessControlPolicy 948} 949 950// Contains the configuration for an S3 Object Lock legal hold operation that an S3 951// Batch Operations job passes every object to the underlying PutObjectLegalHold 952// API. For more information, see Using S3 Object Lock legal hold with S3 Batch 953// Operations 954// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) in 955// the Amazon Simple Storage Service User Guide. 956type S3SetObjectLegalHoldOperation struct { 957 958 // Contains the Object Lock legal hold status to be applied to all objects in the 959 // Batch Operations job. 960 // 961 // This member is required. 962 LegalHold *S3ObjectLockLegalHold 963} 964 965// Contains the configuration parameters for the Object Lock retention action for 966// an S3 Batch Operations job. Batch Operations passes every object to the 967// underlying PutObjectRetention API. For more information, see Using S3 Object 968// Lock retention with S3 Batch Operations 969// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 970// in the Amazon Simple Storage Service User Guide. 971type S3SetObjectRetentionOperation struct { 972 973 // Contains the Object Lock retention mode to be applied to all objects in the 974 // Batch Operations job. For more information, see Using S3 Object Lock retention 975 // with S3 Batch Operations 976 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 977 // in the Amazon Simple Storage Service User Guide. 978 // 979 // This member is required. 980 Retention *S3Retention 981 982 // Indicates if the action should be applied to objects in the Batch Operations job 983 // even if they have Object Lock GOVERNANCE type in place. 984 BypassGovernanceRetention bool 985} 986 987// Contains the configuration parameters for a Set Object Tagging operation. S3 988// Batch Operations passes every object to the underlying PUT Object tagging API. 989// For more information about the parameters for this operation, see PUT Object 990// tagging 991// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). 992type S3SetObjectTaggingOperation struct { 993 994 // 995 TagSet []S3Tag 996} 997 998// 999type S3Tag struct { 1000 1001 // 1002 // 1003 // This member is required. 1004 Key *string 1005 1006 // 1007 // 1008 // This member is required. 1009 Value *string 1010} 1011 1012// 1013type SelectionCriteria struct { 1014 1015 // A container for the delimiter of the selection criteria being used. 1016 Delimiter *string 1017 1018 // The max depth of the selection criteria 1019 MaxDepth int32 1020 1021 // The minimum number of storage bytes percentage whose metrics will be selected. 1022 // You must choose a value greater than or equal to 1.0. 1023 MinStorageBytesPercentage float64 1024} 1025 1026// 1027type SSEKMS struct { 1028 1029 // A container for the ARN of the SSE-KMS encryption. This property is read-only 1030 // and follows the following format: 1031 // arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e 1032 // 1033 // This member is required. 1034 KeyId *string 1035} 1036 1037// 1038type SSES3 struct { 1039} 1040 1041// The AWS organization for your S3 Storage Lens. 1042type StorageLensAwsOrg struct { 1043 1044 // A container for the Amazon Resource Name (ARN) of the AWS organization. This 1045 // property is read-only and follows the following format: 1046 // arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck 1047 // 1048 // This member is required. 1049 Arn *string 1050} 1051 1052// A container for the Amazon S3 Storage Lens configuration. 1053type StorageLensConfiguration struct { 1054 1055 // A container for all the account-level configurations of your S3 Storage Lens 1056 // configuration. 1057 // 1058 // This member is required. 1059 AccountLevel *AccountLevel 1060 1061 // A container for the Amazon S3 Storage Lens configuration ID. 1062 // 1063 // This member is required. 1064 Id *string 1065 1066 // A container for whether the S3 Storage Lens configuration is enabled. 1067 // 1068 // This member is required. 1069 IsEnabled bool 1070 1071 // A container for the AWS organization for this S3 Storage Lens configuration. 1072 AwsOrg *StorageLensAwsOrg 1073 1074 // A container to specify the properties of your S3 Storage Lens metrics export 1075 // including, the destination, schema and format. 1076 DataExport *StorageLensDataExport 1077 1078 // A container for what is excluded in this configuration. This container can only 1079 // be valid if there is no Include container submitted, and it's not empty. 1080 Exclude *Exclude 1081 1082 // A container for what is included in this configuration. This container can only 1083 // be valid if there is no Exclude container submitted, and it's not empty. 1084 Include *Include 1085 1086 // The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This 1087 // property is read-only and follows the following format: 1088 // arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name 1089 StorageLensArn *string 1090} 1091 1092// A container to specify the properties of your S3 Storage Lens metrics export, 1093// including the destination, schema, and format. 1094type StorageLensDataExport struct { 1095 1096 // A container for the bucket where the S3 Storage Lens metrics export will be 1097 // located. This bucket must be located in the same Region as the storage lens 1098 // configuration. 1099 // 1100 // This member is required. 1101 S3BucketDestination *S3BucketDestination 1102} 1103 1104// A container for the encryption of the S3 Storage Lens metrics exports. 1105type StorageLensDataExportEncryption struct { 1106 1107 // 1108 SSEKMS *SSEKMS 1109 1110 // 1111 SSES3 *SSES3 1112} 1113 1114// 1115type StorageLensTag struct { 1116 1117 // 1118 // 1119 // This member is required. 1120 Key *string 1121 1122 // 1123 // 1124 // This member is required. 1125 Value *string 1126} 1127 1128// 1129type Tagging struct { 1130 1131 // A collection for a set of tags. 1132 // 1133 // This member is required. 1134 TagSet []S3Tag 1135} 1136 1137// Specifies when an object transitions to a specified storage class. For more 1138// information about Amazon S3 Lifecycle configuration rules, see Transitioning 1139// objects using Amazon S3 Lifecycle 1140// (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) 1141// in the Amazon Simple Storage Service User Guide. 1142type Transition struct { 1143 1144 // Indicates when objects are transitioned to the specified storage class. The date 1145 // value must be in ISO 8601 format. The time is always midnight UTC. 1146 Date *time.Time 1147 1148 // Indicates the number of days after creation when objects are transitioned to the 1149 // specified storage class. The value must be a positive integer. 1150 Days int32 1151 1152 // The storage class to which you want the object to transition. 1153 StorageClass TransitionStorageClass 1154} 1155 1156// The virtual private cloud (VPC) configuration for an access point. 1157type VpcConfiguration struct { 1158 1159 // If this field is specified, this access point will only allow connections from 1160 // the specified VPC ID. 1161 // 1162 // This member is required. 1163 VpcId *string 1164} 1165 1166// UnknownUnionMember is returned when a union member is returned over the wire, 1167// but has an unknown tag. 1168type UnknownUnionMember struct { 1169 Tag string 1170 Value []byte 1171} 1172 1173func (*UnknownUnionMember) isObjectLambdaContentTransformation() {} 1174