// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // Specifies the days since the initiation of an incomplete multipart upload that // Amazon S3 will wait before permanently removing all parts of the upload. For // more information, see Aborting Incomplete Multipart Uploads Using a Bucket // Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) // in the Amazon S3 User Guide. type AbortIncompleteMultipartUpload struct { // Specifies the number of days after which Amazon S3 aborts an incomplete // multipart upload. DaysAfterInitiation int32 noSmithyDocumentSerde } // Configures the transfer acceleration state for an Amazon S3 bucket. For more // information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // in the Amazon S3 User Guide. type AccelerateConfiguration struct { // Specifies the transfer acceleration status of the bucket. Status BucketAccelerateStatus noSmithyDocumentSerde } // Contains the elements that set the ACL permissions for an object per grantee. type AccessControlPolicy struct { // A list of grants. Grants []Grant // Container for the bucket owner's display name and ID. Owner *Owner noSmithyDocumentSerde } // A container for information about access control for replicas. type AccessControlTranslation struct { // Specifies the replica ownership. For default and valid values, see PUT bucket // replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) // in the Amazon S3 API Reference. // // This member is required. Owner OwnerOverride noSmithyDocumentSerde } // A conjunction (logical AND) of predicates, which is used in evaluating a // metrics filter. The operator must have at least two predicates in any // combination, and an object must match all of the predicates for the filter to // apply. type AnalyticsAndOperator struct { // The prefix to use when evaluating an AND predicate: The prefix that an object // must have to be included in the metrics results. Prefix *string // The list of tags to use when evaluating an AND predicate. Tags []Tag noSmithyDocumentSerde } // Specifies the configuration and any analyses for the analytics filter of an // Amazon S3 bucket. type AnalyticsConfiguration struct { // The ID that identifies the analytics configuration. // // This member is required. Id *string // Contains data related to access patterns to be collected and made available to // analyze the tradeoffs between different storage classes. // // This member is required. StorageClassAnalysis *StorageClassAnalysis // The filter used to describe a set of objects for analyses. A filter must have // exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no // filter is provided, all objects will be considered in any analysis. Filter AnalyticsFilter noSmithyDocumentSerde } // Where to publish the analytics results. type AnalyticsExportDestination struct { // A destination signifying output to an S3 bucket. // // This member is required. S3BucketDestination *AnalyticsS3BucketDestination noSmithyDocumentSerde } // The filter used to describe a set of objects for analyses. A filter must have // exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no // filter is provided, all objects will be considered in any analysis. // // The following types satisfy this interface: // // AnalyticsFilterMemberAnd // AnalyticsFilterMemberPrefix // AnalyticsFilterMemberTag type AnalyticsFilter interface { isAnalyticsFilter() } // A conjunction (logical AND) of predicates, which is used in evaluating an // analytics filter. The operator must have at least two predicates. type AnalyticsFilterMemberAnd struct { Value AnalyticsAndOperator noSmithyDocumentSerde } func (*AnalyticsFilterMemberAnd) isAnalyticsFilter() {} // The prefix to use when evaluating an analytics filter. type AnalyticsFilterMemberPrefix struct { Value string noSmithyDocumentSerde } func (*AnalyticsFilterMemberPrefix) isAnalyticsFilter() {} // The tag to use when evaluating an analytics filter. type AnalyticsFilterMemberTag struct { Value Tag noSmithyDocumentSerde } func (*AnalyticsFilterMemberTag) isAnalyticsFilter() {} // Contains information about where to publish the analytics results. type AnalyticsS3BucketDestination struct { // The Amazon Resource Name (ARN) of the bucket to which data is exported. // // This member is required. Bucket *string // Specifies the file format used when exporting data to Amazon S3. // // This member is required. Format AnalyticsS3ExportFileFormat // The account ID that owns the destination S3 bucket. If no account ID is // provided, the owner is not validated before exporting data. Although this value // is optional, we strongly recommend that you set it to help prevent problems if // the destination bucket ownership changes. BucketAccountId *string // The prefix to use when exporting data. The prefix is prepended to all results. Prefix *string noSmithyDocumentSerde } // In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is // globally unique, and the namespace is shared by all Amazon Web Services // accounts. type Bucket struct { // Date the bucket was created. This date can change when making changes to your // bucket, such as editing its bucket policy. CreationDate *time.Time // The name of the bucket. Name *string noSmithyDocumentSerde } // Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For // more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) // in the Amazon S3 User Guide. type BucketLifecycleConfiguration struct { // A lifecycle rule for individual objects in an Amazon S3 bucket. // // This member is required. Rules []LifecycleRule noSmithyDocumentSerde } // Container for logging status information. type BucketLoggingStatus struct { // Describes where logs are stored and the prefix that Amazon S3 assigns to all // log object keys for a bucket. For more information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) // in the Amazon S3 API Reference. LoggingEnabled *LoggingEnabled noSmithyDocumentSerde } // Contains all the possible checksum or digest values for an object. type Checksum struct { // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA256 *string noSmithyDocumentSerde } // Container for all (if there are any) keys between Prefix and the next // occurrence of the string specified by a delimiter. CommonPrefixes lists keys // that act like subdirectories in the directory specified by Prefix. For example, // if the prefix is notes/ and the delimiter is a slash (/) as in // notes/summer/july, the common prefix is notes/summer/. type CommonPrefix struct { // Container for the specified common prefix. Prefix *string noSmithyDocumentSerde } // The container for the completed multipart upload details. type CompletedMultipartUpload struct { // Array of CompletedPart data types. If you do not supply a valid Part with your // request, the service sends back an HTTP 400 response. Parts []CompletedPart noSmithyDocumentSerde } // Details of the parts that were uploaded. type CompletedPart struct { // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA256 *string // Entity tag returned when the part was uploaded. ETag *string // Part number that identifies the part. This is a positive integer between 1 and // 10,000. PartNumber int32 noSmithyDocumentSerde } // A container for describing a condition that must be met for the specified // redirect to apply. For example, 1. If request is for pages in the /docs folder, // redirect to the /documents folder. 2. If request results in HTTP error 4xx, // redirect request to another host where you might process the error. type Condition struct { // The HTTP error code when the redirect is applied. In the event of an error, if // the error code equals this value, then the specified redirect is applied. // Required when parent element Condition is specified and sibling KeyPrefixEquals // is not specified. If both are specified, then both must be true for the redirect // to be applied. HttpErrorCodeReturnedEquals *string // The object key name prefix when the redirect is applied. For example, to // redirect requests for ExamplePage.html , the key prefix will be ExamplePage.html // . To redirect request for all pages with the prefix docs/ , the key prefix will // be /docs , which identifies all objects in the docs/ folder. Required when the // parent element Condition is specified and sibling HttpErrorCodeReturnedEquals // is not specified. If both conditions are specified, both must be true for the // redirect to be applied. Replacement must be made for object keys containing // special characters (such as carriage returns) when using XML requests. For more // information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . KeyPrefixEquals *string noSmithyDocumentSerde } type ContinuationEvent struct { noSmithyDocumentSerde } // Container for all response elements. type CopyObjectResult struct { // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA256 *string // Returns the ETag of the new object. The ETag reflects only changes to the // contents of an object, not its metadata. ETag *string // Creation date of the object. LastModified *time.Time noSmithyDocumentSerde } // Container for all response elements. type CopyPartResult struct { // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA256 *string // Entity tag of the object. ETag *string // Date and time at which the object was uploaded. LastModified *time.Time noSmithyDocumentSerde } // Describes the cross-origin access configuration for objects in an Amazon S3 // bucket. For more information, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) // in the Amazon S3 User Guide. type CORSConfiguration struct { // A set of origins and methods (cross-origin access that you want to allow). You // can add up to 100 rules to the configuration. // // This member is required. CORSRules []CORSRule noSmithyDocumentSerde } // Specifies a cross-origin access rule for an Amazon S3 bucket. type CORSRule struct { // An HTTP method that you allow the origin to execute. Valid values are GET , PUT // , HEAD , POST , and DELETE . // // This member is required. AllowedMethods []string // One or more origins you want customers to be able to access the bucket from. // // This member is required. AllowedOrigins []string // Headers that are specified in the Access-Control-Request-Headers header. These // headers are allowed in a preflight OPTIONS request. In response to any preflight // OPTIONS request, Amazon S3 returns any requested headers that are allowed. AllowedHeaders []string // One or more headers in the response that you want customers to be able to // access from their applications (for example, from a JavaScript XMLHttpRequest // object). ExposeHeaders []string // Unique identifier for the rule. The value cannot be longer than 255 characters. ID *string // The time in seconds that your browser is to cache the preflight response for // the specified resource. MaxAgeSeconds int32 noSmithyDocumentSerde } // The configuration information for the bucket. type CreateBucketConfiguration struct { // Specifies the Region where the bucket will be created. If you don't specify a // Region, the bucket is created in the US East (N. Virginia) Region (us-east-1). LocationConstraint BucketLocationConstraint noSmithyDocumentSerde } // Describes how an uncompressed comma-separated values (CSV)-formatted input // object is formatted. type CSVInput struct { // Specifies that CSV field values may contain quoted record delimiters and such // records should be allowed. Default value is FALSE. Setting this value to TRUE // may lower performance. AllowQuotedRecordDelimiter bool // A single character used to indicate that a row should be ignored when the // character is present at the start of that row. You can specify any character to // indicate a comment line. The default character is # . Default: # Comments *string // A single character used to separate individual fields in a record. You can // specify an arbitrary delimiter. FieldDelimiter *string // Describes the first line of input. Valid values are: // - NONE : First line is not a header. // - IGNORE : First line is a header, but you can't use the header values to // indicate the column in an expression. You can use column position (such as _1, // _2, …) to indicate the column ( SELECT s._1 FROM OBJECT s ). // - Use : First line is a header, and you can use the header value to identify a // column in an expression ( SELECT "name" FROM OBJECT ). FileHeaderInfo FileHeaderInfo // A single character used for escaping when the field delimiter is part of the // value. For example, if the value is a, b , Amazon S3 wraps this field value in // quotation marks, as follows: " a , b " . Type: String Default: " Ancestors: CSV QuoteCharacter *string // A single character used for escaping the quotation mark character inside an // already escaped value. For example, the value """ a , b """ is parsed as " a , // b " . QuoteEscapeCharacter *string // A single character used to separate individual records in the input. Instead of // the default value, you can specify an arbitrary delimiter. RecordDelimiter *string noSmithyDocumentSerde } // Describes how uncompressed comma-separated values (CSV)-formatted results are // formatted. type CSVOutput struct { // The value used to separate individual fields in a record. You can specify an // arbitrary delimiter. FieldDelimiter *string // A single character used for escaping when the field delimiter is part of the // value. For example, if the value is a, b , Amazon S3 wraps this field value in // quotation marks, as follows: " a , b " . QuoteCharacter *string // The single character used for escaping the quote character inside an already // escaped value. QuoteEscapeCharacter *string // Indicates whether to use quotation marks around output fields. // - ALWAYS : Always use quotation marks for output fields. // - ASNEEDED : Use quotation marks for output fields when needed. QuoteFields QuoteFields // A single character used to separate individual records in the output. Instead // of the default value, you can specify an arbitrary delimiter. RecordDelimiter *string noSmithyDocumentSerde } // The container element for specifying the default Object Lock retention settings // for new objects placed in the specified bucket. // - The DefaultRetention settings require both a mode and a period. // - The DefaultRetention period can be either Days or Years but you must select // one. You cannot specify Days and Years at the same time. type DefaultRetention struct { // The number of days that you want to specify for the default retention period. // Must be used with Mode . Days int32 // The default Object Lock retention mode you want to apply to new objects placed // in the specified bucket. Must be used with either Days or Years . Mode ObjectLockRetentionMode // The number of years that you want to specify for the default retention period. // Must be used with Mode . Years int32 noSmithyDocumentSerde } // Container for the objects to delete. type Delete struct { // The object to delete. // // This member is required. Objects []ObjectIdentifier // Element to enable quiet mode for the request. When you add this element, you // must set its value to true. Quiet bool noSmithyDocumentSerde } // Information about the deleted object. type DeletedObject struct { // Specifies whether the versioned object that was permanently deleted was (true) // or was not (false) a delete marker. In a simple DELETE, this header indicates // whether (true) or not (false) a delete marker was created. DeleteMarker bool // The version ID of the delete marker created as a result of the DELETE // operation. If you delete a specific object version, the value returned by this // header is the version ID of the object version deleted. DeleteMarkerVersionId *string // The name of the deleted object. Key *string // The version ID of the deleted object. VersionId *string noSmithyDocumentSerde } // Information about the delete marker. type DeleteMarkerEntry struct { // Specifies whether the object is (true) or is not (false) the latest version of // an object. IsLatest bool // The object key. Key *string // Date and time the object was last modified. LastModified *time.Time // The account that created the delete marker.> Owner *Owner // Version ID of an object. VersionId *string noSmithyDocumentSerde } // Specifies whether Amazon S3 replicates delete markers. If you specify a Filter // in your replication configuration, you must also include a // DeleteMarkerReplication element. If your Filter includes a Tag element, the // DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does // not support replicating delete markers for tag-based rules. For an example // configuration, see Basic Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) // . For more information about delete marker replication, see Basic Rule // Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) // . If you are using an earlier version of the replication configuration, Amazon // S3 handles replication of delete markers differently. For more information, see // Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) // . type DeleteMarkerReplication struct { // Indicates whether to replicate delete markers. Indicates whether to replicate // delete markers. Status DeleteMarkerReplicationStatus noSmithyDocumentSerde } // Specifies information about where to publish analysis or configuration results // for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC). type Destination struct { // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store // the results. // // This member is required. Bucket *string // Specify this only in a cross-account scenario (where source and destination // bucket owners are not the same), and you want to change replica ownership to the // Amazon Web Services account that owns the destination bucket. If this is not // specified in the replication configuration, the replicas are owned by same // Amazon Web Services account that owns the source object. AccessControlTranslation *AccessControlTranslation // Destination bucket owner account ID. In a cross-account scenario, if you direct // Amazon S3 to change replica ownership to the Amazon Web Services account that // owns the destination bucket by specifying the AccessControlTranslation // property, this is the account ID of the destination bucket owner. For more // information, see Replication Additional Configuration: Changing the Replica // Owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html) // in the Amazon S3 User Guide. Account *string // A container that provides information about encryption. If // SourceSelectionCriteria is specified, you must specify this element. EncryptionConfiguration *EncryptionConfiguration // A container specifying replication metrics-related settings enabling // replication metrics and events. Metrics *Metrics // A container specifying S3 Replication Time Control (S3 RTC), including whether // S3 RTC is enabled and the time when all objects and operations on objects must // be replicated. Must be specified together with a Metrics block. ReplicationTime *ReplicationTime // The storage class to use when replicating objects, such as S3 Standard or // reduced redundancy. By default, Amazon S3 uses the storage class of the source // object to create the object replica. For valid values, see the StorageClass // element of the PUT Bucket replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) // action in the Amazon S3 API Reference. StorageClass StorageClass noSmithyDocumentSerde } // Contains the type of server-side encryption used. type Encryption struct { // The server-side encryption algorithm used when storing job results in Amazon S3 // (for example, AES256, aws:kms ). // // This member is required. EncryptionType ServerSideEncryption // If the encryption type is aws:kms , this optional value can be used to specify // the encryption context for the restore results. KMSContext *string // If the encryption type is aws:kms , this optional value specifies the ID of the // symmetric encryption customer managed key to use for encryption of job results. // Amazon S3 only supports symmetric encryption KMS keys. For more information, see // Asymmetric keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Amazon Web Services Key Management Service Developer Guide. KMSKeyId *string noSmithyDocumentSerde } // Specifies encryption-related information for an Amazon S3 bucket that is a // destination for replicated objects. type EncryptionConfiguration struct { // Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web // Services KMS key stored in Amazon Web Services Key Management Service (KMS) for // the destination bucket. Amazon S3 uses this key to encrypt replica objects. // Amazon S3 only supports symmetric encryption KMS keys. For more information, see // Asymmetric keys in Amazon Web Services KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Amazon Web Services Key Management Service Developer Guide. ReplicaKmsKeyID *string noSmithyDocumentSerde } // A message that indicates the request is complete and no more messages will be // sent. You should not assume that the request is complete until the client // receives an EndEvent . type EndEvent struct { noSmithyDocumentSerde } // Container for all error elements. type Error struct { // The error code is a string that uniquely identifies an error condition. It is // meant to be read and understood by programs that detect and handle errors by // type. The following is a list of Amazon S3 error codes. For more information, // see Error responses (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html) // . // - Code: AccessDenied // - Description: Access Denied // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: AccountProblem // - Description: There is a problem with your Amazon Web Services account that // prevents the action from completing successfully. Contact Amazon Web Services // Support for further assistance. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: AllAccessDisabled // - Description: All access to this Amazon S3 resource has been disabled. // Contact Amazon Web Services Support for further assistance. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: AmbiguousGrantByEmailAddress // - Description: The email address you provided is associated with more than // one account. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: AuthorizationHeaderMalformed // - Description: The authorization header you provided is invalid. // - HTTP Status Code: 400 Bad Request // - HTTP Status Code: N/A // - Code: BadDigest // - Description: The Content-MD5 you specified did not match what we received. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: BucketAlreadyExists // - Description: The requested bucket name is not available. The bucket // namespace is shared by all users of the system. Please select a different name // and try again. // - HTTP Status Code: 409 Conflict // - SOAP Fault Code Prefix: Client // - Code: BucketAlreadyOwnedByYou // - Description: The bucket you tried to create already exists, and you own it. // Amazon S3 returns this error in all Amazon Web Services Regions except in the // North Virginia Region. For legacy compatibility, if you re-create an existing // bucket that you already own in the North Virginia Region, Amazon S3 returns 200 // OK and resets the bucket access control lists (ACLs). // - Code: 409 Conflict (in all Regions except the North Virginia Region) // - SOAP Fault Code Prefix: Client // - Code: BucketNotEmpty // - Description: The bucket you tried to delete is not empty. // - HTTP Status Code: 409 Conflict // - SOAP Fault Code Prefix: Client // - Code: CredentialsNotSupported // - Description: This request does not support credentials. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: CrossLocationLoggingProhibited // - Description: Cross-location logging not allowed. Buckets in one geographic // location cannot log information to a bucket in another location. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: EntityTooSmall // - Description: Your proposed upload is smaller than the minimum allowed // object size. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: EntityTooLarge // - Description: Your proposed upload exceeds the maximum allowed object size. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: ExpiredToken // - Description: The provided token has expired. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: IllegalVersioningConfigurationException // - Description: Indicates that the versioning configuration specified in the // request is invalid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: IncompleteBody // - Description: You did not provide the number of bytes specified by the // Content-Length HTTP header // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: IncorrectNumberOfFilesInPostRequest // - Description: POST requires exactly one file upload per request. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InlineDataTooLarge // - Description: Inline data exceeds the maximum allowed size. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InternalError // - Description: We encountered an internal error. Please try again. // - HTTP Status Code: 500 Internal Server Error // - SOAP Fault Code Prefix: Server // - Code: InvalidAccessKeyId // - Description: The Amazon Web Services access key ID you provided does not // exist in our records. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: InvalidAddressingHeader // - Description: You must specify the Anonymous role. // - HTTP Status Code: N/A // - SOAP Fault Code Prefix: Client // - Code: InvalidArgument // - Description: Invalid Argument // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidBucketName // - Description: The specified bucket is not valid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidBucketState // - Description: The request is not valid with the current state of the bucket. // - HTTP Status Code: 409 Conflict // - SOAP Fault Code Prefix: Client // - Code: InvalidDigest // - Description: The Content-MD5 you specified is not valid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidEncryptionAlgorithmError // - Description: The encryption request you specified is not valid. The valid // value is AES256. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidLocationConstraint // - Description: The specified location constraint is not valid. For more // information about Regions, see How to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro) // . // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidObjectState // - Description: The action is not valid for the current state of the object. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: InvalidPart // - Description: One or more of the specified parts could not be found. The // part might not have been uploaded, or the specified entity tag might not have // matched the part's entity tag. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidPartOrder // - Description: The list of parts was not in ascending order. Parts list must // be specified in order by part number. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidPayer // - Description: All access to this object has been disabled. Please contact // Amazon Web Services Support for further assistance. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: InvalidPolicyDocument // - Description: The content of the form does not meet the conditions specified // in the policy document. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidRange // - Description: The requested range cannot be satisfied. // - HTTP Status Code: 416 Requested Range Not Satisfiable // - SOAP Fault Code Prefix: Client // - Code: InvalidRequest // - Description: Please use AWS4-HMAC-SHA256 . // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: SOAP requests must be made over an HTTPS connection. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidRequest // - Description: Amazon S3 Transfer Acceleration is not supported for buckets // with non-DNS compliant names. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Acceleration is not supported for buckets // with periods (.) in their names. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Accelerate endpoint only supports virtual // style requests. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Accelerate is not configured on this // bucket. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Accelerate is disabled on this bucket. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Acceleration is not supported on this // bucket. Contact Amazon Web Services Support for more information. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidRequest // - Description: Amazon S3 Transfer Acceleration cannot be enabled on this // bucket. Contact Amazon Web Services Support for more information. // - HTTP Status Code: 400 Bad Request // - Code: N/A // - Code: InvalidSecurity // - Description: The provided security credentials are not valid. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: InvalidSOAPRequest // - Description: The SOAP request body is invalid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidStorageClass // - Description: The storage class you specified is not valid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidTargetBucketForLogging // - Description: The target bucket for logging does not exist, is not owned by // you, or does not have the appropriate grants for the log-delivery group. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidToken // - Description: The provided token is malformed or otherwise invalid. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: InvalidURI // - Description: Couldn't parse the specified URI. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: KeyTooLongError // - Description: Your key is too long. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MalformedACLError // - Description: The XML you provided was not well-formed or did not validate // against our published schema. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MalformedPOSTRequest // - Description: The body of your POST request is not well-formed // multipart/form-data. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MalformedXML // - Description: This happens when the user sends malformed XML (XML that // doesn't conform to the published XSD) for the configuration. The error message // is, "The XML you provided was not well-formed or did not validate against our // published schema." // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MaxMessageLengthExceeded // - Description: Your request was too big. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MaxPostPreDataLengthExceededError // - Description: Your POST request fields preceding the upload file were too // large. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MetadataTooLarge // - Description: Your metadata headers exceed the maximum allowed metadata // size. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MethodNotAllowed // - Description: The specified method is not allowed against this resource. // - HTTP Status Code: 405 Method Not Allowed // - SOAP Fault Code Prefix: Client // - Code: MissingAttachment // - Description: A SOAP attachment was expected, but none were found. // - HTTP Status Code: N/A // - SOAP Fault Code Prefix: Client // - Code: MissingContentLength // - Description: You must provide the Content-Length HTTP header. // - HTTP Status Code: 411 Length Required // - SOAP Fault Code Prefix: Client // - Code: MissingRequestBodyError // - Description: This happens when the user sends an empty XML document as a // request. The error message is, "Request body is empty." // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MissingSecurityElement // - Description: The SOAP 1.1 request is missing a security element. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: MissingSecurityHeader // - Description: Your request is missing a required header. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: NoLoggingStatusForKey // - Description: There is no such thing as a logging status subresource for a // key. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: NoSuchBucket // - Description: The specified bucket does not exist. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NoSuchBucketPolicy // - Description: The specified bucket does not have a bucket policy. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NoSuchKey // - Description: The specified key does not exist. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NoSuchLifecycleConfiguration // - Description: The lifecycle configuration does not exist. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NoSuchUpload // - Description: The specified multipart upload does not exist. The upload ID // might be invalid, or the multipart upload might have been aborted or completed. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NoSuchVersion // - Description: Indicates that the version ID specified in the request does // not match an existing version. // - HTTP Status Code: 404 Not Found // - SOAP Fault Code Prefix: Client // - Code: NotImplemented // - Description: A header you provided implies functionality that is not // implemented. // - HTTP Status Code: 501 Not Implemented // - SOAP Fault Code Prefix: Server // - Code: NotSignedUp // - Description: Your account is not signed up for the Amazon S3 service. You // must sign up before you can use Amazon S3. You can sign up at the following URL: // Amazon S3 (http://aws.amazon.com/s3) // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: OperationAborted // - Description: A conflicting conditional action is currently in progress // against this resource. Try again. // - HTTP Status Code: 409 Conflict // - SOAP Fault Code Prefix: Client // - Code: PermanentRedirect // - Description: The bucket you are attempting to access must be addressed // using the specified endpoint. Send all future requests to this endpoint. // - HTTP Status Code: 301 Moved Permanently // - SOAP Fault Code Prefix: Client // - Code: PreconditionFailed // - Description: At least one of the preconditions you specified did not hold. // - HTTP Status Code: 412 Precondition Failed // - SOAP Fault Code Prefix: Client // - Code: Redirect // - Description: Temporary redirect. // - HTTP Status Code: 307 Moved Temporarily // - SOAP Fault Code Prefix: Client // - Code: RestoreAlreadyInProgress // - Description: Object restore is already in progress. // - HTTP Status Code: 409 Conflict // - SOAP Fault Code Prefix: Client // - Code: RequestIsNotMultiPartContent // - Description: Bucket POST must be of the enclosure-type multipart/form-data. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: RequestTimeout // - Description: Your socket connection to the server was not read from or // written to within the timeout period. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: RequestTimeTooSkewed // - Description: The difference between the request time and the server's time // is too large. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: RequestTorrentOfBucketError // - Description: Requesting the torrent file of a bucket is not permitted. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: SignatureDoesNotMatch // - Description: The request signature we calculated does not match the // signature you provided. Check your Amazon Web Services secret access key and // signing method. For more information, see REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // and SOAP Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html) // for details. // - HTTP Status Code: 403 Forbidden // - SOAP Fault Code Prefix: Client // - Code: ServiceUnavailable // - Description: Service is unable to handle request. // - HTTP Status Code: 503 Service Unavailable // - SOAP Fault Code Prefix: Server // - Code: SlowDown // - Description: Reduce your request rate. // - HTTP Status Code: 503 Slow Down // - SOAP Fault Code Prefix: Server // - Code: TemporaryRedirect // - Description: You are being redirected to the bucket while DNS updates. // - HTTP Status Code: 307 Moved Temporarily // - SOAP Fault Code Prefix: Client // - Code: TokenRefreshRequired // - Description: The provided token must be refreshed. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: TooManyBuckets // - Description: You have attempted to create more buckets than allowed. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: UnexpectedContent // - Description: This request does not support content. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: UnresolvableGrantByEmailAddress // - Description: The email address you provided does not match any account on // record. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client // - Code: UserKeyMustBeSpecified // - Description: The bucket POST must contain the specified field name. If it // is specified, check the order of the fields. // - HTTP Status Code: 400 Bad Request // - SOAP Fault Code Prefix: Client Code *string // The error key. Key *string // The error message contains a generic description of the error condition in // English. It is intended for a human audience. Simple programs display the // message directly to the end user if they encounter an error condition they don't // know how or don't care to handle. Sophisticated programs with more exhaustive // error handling and proper internationalization are more likely to ignore the // error message. Message *string // The version ID of the error. VersionId *string noSmithyDocumentSerde } // The error information. type ErrorDocument struct { // The object key name to use when a 4XX class error occurs. Replacement must be // made for object keys containing special characters (such as carriage returns) // when using XML requests. For more information, see XML related object key // constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . // // This member is required. Key *string noSmithyDocumentSerde } // A container for specifying the configuration for Amazon EventBridge. type EventBridgeConfiguration struct { noSmithyDocumentSerde } // Optional configuration to replicate existing source bucket objects. For more // information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) // in the Amazon S3 User Guide. type ExistingObjectReplication struct { // Specifies whether Amazon S3 replicates existing source bucket objects. // // This member is required. Status ExistingObjectReplicationStatus noSmithyDocumentSerde } // Specifies the Amazon S3 object key name to filter on and whether to filter on // the suffix or prefix of the key name. type FilterRule struct { // The object key name prefix or suffix identifying one or more objects to which // the filtering rule applies. The maximum length is 1,024 characters. Overlapping // prefixes and suffixes are not supported. For more information, see Configuring // Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon S3 User Guide. Name FilterRuleName // The value that the filter searches for in object key names. Value *string noSmithyDocumentSerde } // A collection of parts associated with a multipart upload. type GetObjectAttributesParts struct { // Indicates whether the returned list of parts is truncated. A value of true // indicates that the list was truncated. A list can be truncated if the number of // parts exceeds the limit returned in the MaxParts element. IsTruncated bool // The maximum number of parts allowed in the response. MaxParts int32 // When a list is truncated, this element specifies the last part in the list, as // well as the value to use for the PartNumberMarker request parameter in a // subsequent request. NextPartNumberMarker *string // The marker for the current part. PartNumberMarker *string // A container for elements related to a particular part. A response can contain // zero or more Parts elements. Parts []ObjectPart // The total number of parts. TotalPartsCount int32 noSmithyDocumentSerde } // Container for S3 Glacier job parameters. type GlacierJobParameters struct { // Retrieval tier at which the restore will be processed. // // This member is required. Tier Tier noSmithyDocumentSerde } // Container for grant information. type Grant struct { // The person being granted permissions. Grantee *Grantee // Specifies the permission given to the grantee. Permission Permission noSmithyDocumentSerde } // Container for the person being granted permissions. type Grantee struct { // Type of grantee // // This member is required. Type Type // Screen name of the grantee. DisplayName *string // Email address of the grantee. Using email addresses to specify a grantee is // only supported in the following Amazon Web Services Regions: // - US East (N. Virginia) // - US West (N. California) // - US West (Oregon) // - Asia Pacific (Singapore) // - Asia Pacific (Sydney) // - Asia Pacific (Tokyo) // - Europe (Ireland) // - South America (São Paulo) // For a list of all the Amazon S3 supported Regions and endpoints, see Regions // and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) // in the Amazon Web Services General Reference. EmailAddress *string // The canonical user ID of the grantee. ID *string // URI of the grantee group. URI *string noSmithyDocumentSerde } // Container for the Suffix element. type IndexDocument struct { // A suffix that is appended to a request that is for a directory on the website // endpoint (for example,if the suffix is index.html and you make a request to // samplebucket/images/ the data that is returned will be for the object with the // key name images/index.html) The suffix must not be empty and must not include a // slash character. Replacement must be made for object keys containing special // characters (such as carriage returns) when using XML requests. For more // information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . // // This member is required. Suffix *string noSmithyDocumentSerde } // Container element that identifies who initiated the multipart upload. type Initiator struct { // Name of the Principal. DisplayName *string // If the principal is an Amazon Web Services account, it provides the Canonical // User ID. If the principal is an IAM User, it provides a user ARN value. ID *string noSmithyDocumentSerde } // Describes the serialization format of the object. type InputSerialization struct { // Describes the serialization of a CSV-encoded object. CSV *CSVInput // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default // Value: NONE. CompressionType CompressionType // Specifies JSON as object's input serialization format. JSON *JSONInput // Specifies Parquet as object's input serialization format. Parquet *ParquetInput noSmithyDocumentSerde } // A container for specifying S3 Intelligent-Tiering filters. The filters // determine the subset of objects to which the rule applies. type IntelligentTieringAndOperator struct { // An object key name prefix that identifies the subset of objects to which the // configuration applies. Prefix *string // All of these tags must exist in the object's tag set in order for the // configuration to apply. Tags []Tag noSmithyDocumentSerde } // Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket. For // information about the S3 Intelligent-Tiering storage class, see Storage class // for automatically optimizing frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) // . type IntelligentTieringConfiguration struct { // The ID used to identify the S3 Intelligent-Tiering configuration. // // This member is required. Id *string // Specifies the status of the configuration. // // This member is required. Status IntelligentTieringStatus // Specifies the S3 Intelligent-Tiering storage class tier of the configuration. // // This member is required. Tierings []Tiering // Specifies a bucket filter. The configuration only includes objects that meet // the filter's criteria. Filter *IntelligentTieringFilter noSmithyDocumentSerde } // The Filter is used to identify objects that the S3 Intelligent-Tiering // configuration applies to. type IntelligentTieringFilter struct { // A conjunction (logical AND) of predicates, which is used in evaluating a // metrics filter. The operator must have at least two predicates, and an object // must match all of the predicates in order for the filter to apply. And *IntelligentTieringAndOperator // An object key name prefix that identifies the subset of objects to which the // rule applies. Replacement must be made for object keys containing special // characters (such as carriage returns) when using XML requests. For more // information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . Prefix *string // A container of a key value name pair. Tag *Tag noSmithyDocumentSerde } // Specifies the inventory configuration for an Amazon S3 bucket. For more // information, see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) // in the Amazon S3 API Reference. type InventoryConfiguration struct { // Contains information about where to publish the inventory results. // // This member is required. Destination *InventoryDestination // The ID used to identify the inventory configuration. // // This member is required. Id *string // Object versions to include in the inventory list. If set to All , the list // includes all the object versions, which adds the version-related fields // VersionId , IsLatest , and DeleteMarker to the list. If set to Current , the // list does not contain these version-related fields. // // This member is required. IncludedObjectVersions InventoryIncludedObjectVersions // Specifies whether the inventory is enabled or disabled. If set to True , an // inventory list is generated. If set to False , no inventory list is generated. // // This member is required. IsEnabled bool // Specifies the schedule for generating inventory results. // // This member is required. Schedule *InventorySchedule // Specifies an inventory filter. The inventory only includes objects that meet // the filter's criteria. Filter *InventoryFilter // Contains the optional fields that are included in the inventory results. OptionalFields []InventoryOptionalField noSmithyDocumentSerde } // Specifies the inventory configuration for an Amazon S3 bucket. type InventoryDestination struct { // Contains the bucket name, file format, bucket owner (optional), and prefix // (optional) where inventory results are published. // // This member is required. S3BucketDestination *InventoryS3BucketDestination noSmithyDocumentSerde } // Contains the type of server-side encryption used to encrypt the inventory // results. type InventoryEncryption struct { // Specifies the use of SSE-KMS to encrypt delivered inventory reports. SSEKMS *SSEKMS // Specifies the use of SSE-S3 to encrypt delivered inventory reports. SSES3 *SSES3 noSmithyDocumentSerde } // Specifies an inventory filter. The inventory only includes objects that meet // the filter's criteria. type InventoryFilter struct { // The prefix that an object must have to be included in the inventory results. // // This member is required. Prefix *string noSmithyDocumentSerde } // Contains the bucket name, file format, bucket owner (optional), and prefix // (optional) where inventory results are published. type InventoryS3BucketDestination struct { // The Amazon Resource Name (ARN) of the bucket where inventory results will be // published. // // This member is required. Bucket *string // Specifies the output format of the inventory results. // // This member is required. Format InventoryFormat // The account ID that owns the destination S3 bucket. If no account ID is // provided, the owner is not validated before exporting data. Although this value // is optional, we strongly recommend that you set it to help prevent problems if // the destination bucket ownership changes. AccountId *string // Contains the type of server-side encryption used to encrypt the inventory // results. Encryption *InventoryEncryption // The prefix that is prepended to all inventory results. Prefix *string noSmithyDocumentSerde } // Specifies the schedule for generating inventory results. type InventorySchedule struct { // Specifies how frequently inventory results are produced. // // This member is required. Frequency InventoryFrequency noSmithyDocumentSerde } // Specifies JSON as object's input serialization format. type JSONInput struct { // The type of JSON. Valid values: Document, Lines. Type JSONType noSmithyDocumentSerde } // Specifies JSON as request's output serialization format. type JSONOutput struct { // The value used to separate individual records in the output. If no value is // specified, Amazon S3 uses a newline character ('\n'). RecordDelimiter *string noSmithyDocumentSerde } // A container for specifying the configuration for Lambda notifications. type LambdaFunctionConfiguration struct { // The Amazon S3 bucket event for which to invoke the Lambda function. For more // information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon S3 User Guide. // // This member is required. Events []Event // The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes // when the specified event type occurs. // // This member is required. LambdaFunctionArn *string // Specifies object key name filtering rules. For information about key name // filtering, see Configuring event notifications using object key name filtering (https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) // in the Amazon S3 User Guide. Filter *NotificationConfigurationFilter // An optional unique identifier for configurations in a notification // configuration. If you don't provide one, Amazon S3 will assign an ID. Id *string noSmithyDocumentSerde } // Container for the expiration for the lifecycle of the object. For more // information see, Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) // in the Amazon S3 User Guide. type LifecycleExpiration struct { // Indicates at what date the object is to be moved or deleted. The date value // must conform to the ISO 8601 format. The time is always midnight UTC. Date *time.Time // Indicates the lifetime, in days, of the objects that are subject to the rule. // The value must be a non-zero positive integer. Days int32 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent // versions. If set to true, the delete marker will be expired; if set to false the // policy takes no action. This cannot be specified with Days or Date in a // Lifecycle Expiration Policy. ExpiredObjectDeleteMarker bool noSmithyDocumentSerde } // A lifecycle rule for individual objects in an Amazon S3 bucket. For more // information see, Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) // in the Amazon S3 User Guide. type LifecycleRule struct { // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is // not currently being applied. // // This member is required. Status ExpirationStatus // Specifies the days since the initiation of an incomplete multipart upload that // Amazon S3 will wait before permanently removing all parts of the upload. For // more information, see Aborting Incomplete Multipart Uploads Using a Bucket // Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) // in the Amazon S3 User Guide. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload // Specifies the expiration for the lifecycle of the object in the form of date, // days and, whether the object has a delete marker. Expiration *LifecycleExpiration // The Filter is used to identify objects that a Lifecycle Rule applies to. A // Filter must have exactly one of Prefix , Tag , or And specified. Filter is // required if the LifecycleRule does not contain a Prefix element. Filter LifecycleRuleFilter // Unique identifier for the rule. The value cannot be longer than 255 characters. ID *string // Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 // permanently deletes the noncurrent object versions. You set this lifecycle // configuration action on a bucket that has versioning enabled (or suspended) to // request that Amazon S3 delete noncurrent object versions at a specific period in // the object's lifetime. NoncurrentVersionExpiration *NoncurrentVersionExpiration // Specifies the transition rule for the lifecycle rule that describes when // noncurrent objects transition to a specific storage class. If your bucket is // versioning-enabled (or versioning is suspended), you can set this action to // request that Amazon S3 transition noncurrent object versions to a specific // storage class at a set period in the object's lifetime. NoncurrentVersionTransitions []NoncurrentVersionTransition // Prefix identifying one or more objects to which the rule applies. This is no // longer used; use Filter instead. Replacement must be made for object keys // containing special characters (such as carriage returns) when using XML // requests. For more information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . // // Deprecated: This member has been deprecated. Prefix *string // Specifies when an Amazon S3 object transitions to a specified storage class. Transitions []Transition noSmithyDocumentSerde } // This is used in a Lifecycle Rule Filter to apply a logical AND to two or more // predicates. The Lifecycle Rule will apply to any object matching all of the // predicates configured inside the And operator. type LifecycleRuleAndOperator struct { // Minimum object size to which the rule applies. ObjectSizeGreaterThan int64 // Maximum object size to which the rule applies. ObjectSizeLessThan int64 // Prefix identifying one or more objects to which the rule applies. Prefix *string // All of these tags must exist in the object's tag set in order for the rule to // apply. Tags []Tag noSmithyDocumentSerde } // The Filter is used to identify objects that a Lifecycle Rule applies to. A // Filter must have exactly one of Prefix , Tag , or And specified. // // The following types satisfy this interface: // // LifecycleRuleFilterMemberAnd // LifecycleRuleFilterMemberObjectSizeGreaterThan // LifecycleRuleFilterMemberObjectSizeLessThan // LifecycleRuleFilterMemberPrefix // LifecycleRuleFilterMemberTag type LifecycleRuleFilter interface { isLifecycleRuleFilter() } // This is used in a Lifecycle Rule Filter to apply a logical AND to two or more // predicates. The Lifecycle Rule will apply to any object matching all of the // predicates configured inside the And operator. type LifecycleRuleFilterMemberAnd struct { Value LifecycleRuleAndOperator noSmithyDocumentSerde } func (*LifecycleRuleFilterMemberAnd) isLifecycleRuleFilter() {} // Minimum object size to which the rule applies. type LifecycleRuleFilterMemberObjectSizeGreaterThan struct { Value int64 noSmithyDocumentSerde } func (*LifecycleRuleFilterMemberObjectSizeGreaterThan) isLifecycleRuleFilter() {} // Maximum object size to which the rule applies. type LifecycleRuleFilterMemberObjectSizeLessThan struct { Value int64 noSmithyDocumentSerde } func (*LifecycleRuleFilterMemberObjectSizeLessThan) isLifecycleRuleFilter() {} // Prefix identifying one or more objects to which the rule applies. Replacement // must be made for object keys containing special characters (such as carriage // returns) when using XML requests. For more information, see XML related object // key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . type LifecycleRuleFilterMemberPrefix struct { Value string noSmithyDocumentSerde } func (*LifecycleRuleFilterMemberPrefix) isLifecycleRuleFilter() {} // This tag must exist in the object's tag set in order for the rule to apply. type LifecycleRuleFilterMemberTag struct { Value Tag noSmithyDocumentSerde } func (*LifecycleRuleFilterMemberTag) isLifecycleRuleFilter() {} // Describes where logs are stored and the prefix that Amazon S3 assigns to all // log object keys for a bucket. For more information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) // in the Amazon S3 API Reference. type LoggingEnabled struct { // Specifies the bucket where you want Amazon S3 to store server access logs. You // can have your logs delivered to any bucket that you own, including the same // bucket that is being logged. You can also configure multiple buckets to deliver // their logs to the same target bucket. In this case, you should choose a // different TargetPrefix for each source bucket so that the delivered log files // can be distinguished by key. // // This member is required. TargetBucket *string // A prefix for all log object keys. If you store log files from multiple Amazon // S3 buckets in a single bucket, you can use a prefix to distinguish which log // files came from which bucket. // // This member is required. TargetPrefix *string // Container for granting information. Buckets that use the bucket owner enforced // setting for Object Ownership don't support target grants. For more information, // see Permissions for server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) // in the Amazon S3 User Guide. TargetGrants []TargetGrant noSmithyDocumentSerde } // A metadata key-value pair to store with an object. type MetadataEntry struct { // Name of the object. Name *string // Value of the object. Value *string noSmithyDocumentSerde } // A container specifying replication metrics-related settings enabling // replication metrics and events. type Metrics struct { // Specifies whether the replication metrics are enabled. // // This member is required. Status MetricsStatus // A container specifying the time threshold for emitting the // s3:Replication:OperationMissedThreshold event. EventThreshold *ReplicationTimeValue noSmithyDocumentSerde } // A conjunction (logical AND) of predicates, which is used in evaluating a // metrics filter. The operator must have at least two predicates, and an object // must match all of the predicates in order for the filter to apply. type MetricsAndOperator struct { // The access point ARN used when evaluating an AND predicate. AccessPointArn *string // The prefix used when evaluating an AND predicate. Prefix *string // The list of tags used when evaluating an AND predicate. Tags []Tag noSmithyDocumentSerde } // Specifies a metrics configuration for the CloudWatch request metrics (specified // by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an // existing metrics configuration, note that this is a full replacement of the // existing metrics configuration. If you don't include the elements you want to // keep, they are erased. For more information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) // . type MetricsConfiguration struct { // The ID used to identify the metrics configuration. The ID has a 64 character // limit and can only contain letters, numbers, periods, dashes, and underscores. // // This member is required. Id *string // Specifies a metrics configuration filter. The metrics configuration will only // include objects that meet the filter's criteria. A filter must be a prefix, an // object tag, an access point ARN, or a conjunction (MetricsAndOperator). Filter MetricsFilter noSmithyDocumentSerde } // Specifies a metrics configuration filter. The metrics configuration only // includes objects that meet the filter's criteria. A filter must be a prefix, an // object tag, an access point ARN, or a conjunction (MetricsAndOperator). For more // information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // . // // The following types satisfy this interface: // // MetricsFilterMemberAccessPointArn // MetricsFilterMemberAnd // MetricsFilterMemberPrefix // MetricsFilterMemberTag type MetricsFilter interface { isMetricsFilter() } // The access point ARN used when evaluating a metrics filter. type MetricsFilterMemberAccessPointArn struct { Value string noSmithyDocumentSerde } func (*MetricsFilterMemberAccessPointArn) isMetricsFilter() {} // A conjunction (logical AND) of predicates, which is used in evaluating a // metrics filter. The operator must have at least two predicates, and an object // must match all of the predicates in order for the filter to apply. type MetricsFilterMemberAnd struct { Value MetricsAndOperator noSmithyDocumentSerde } func (*MetricsFilterMemberAnd) isMetricsFilter() {} // The prefix used when evaluating a metrics filter. type MetricsFilterMemberPrefix struct { Value string noSmithyDocumentSerde } func (*MetricsFilterMemberPrefix) isMetricsFilter() {} // The tag used when evaluating a metrics filter. type MetricsFilterMemberTag struct { Value Tag noSmithyDocumentSerde } func (*MetricsFilterMemberTag) isMetricsFilter() {} // Container for the MultipartUpload for the Amazon S3 object. type MultipartUpload struct { // The algorithm that was used to create a checksum of the object. ChecksumAlgorithm ChecksumAlgorithm // Date and time at which the multipart upload was initiated. Initiated *time.Time // Identifies who initiated the multipart upload. Initiator *Initiator // Key of the object for which the multipart upload was initiated. Key *string // Specifies the owner of the object that is part of the multipart upload. Owner *Owner // The class of storage used to store the object. StorageClass StorageClass // Upload ID that identifies the multipart upload. UploadId *string noSmithyDocumentSerde } // Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 // permanently deletes the noncurrent object versions. You set this lifecycle // configuration action on a bucket that has versioning enabled (or suspended) to // request that Amazon S3 delete noncurrent object versions at a specific period in // the object's lifetime. type NoncurrentVersionExpiration struct { // Specifies how many noncurrent versions Amazon S3 will retain. If there are this // many more recent noncurrent versions, Amazon S3 will take the associated action. // For more information about noncurrent versions, see Lifecycle configuration // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) // in the Amazon S3 User Guide. NewerNoncurrentVersions int32 // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. The value must be a non-zero positive integer. // For information about the noncurrent days calculations, see How Amazon S3 // Calculates When an Object Became Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) // in the Amazon S3 User Guide. NoncurrentDays int32 noSmithyDocumentSerde } // Container for the transition rule that describes when noncurrent objects // transition to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , // GLACIER , or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled // (or versioning is suspended), you can set this action to request that Amazon S3 // transition noncurrent object versions to the STANDARD_IA , ONEZONE_IA , // INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class at a // specific period in the object's lifetime. type NoncurrentVersionTransition struct { // Specifies how many noncurrent versions Amazon S3 will retain. If there are this // many more recent noncurrent versions, Amazon S3 will take the associated action. // For more information about noncurrent versions, see Lifecycle configuration // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) // in the Amazon S3 User Guide. NewerNoncurrentVersions int32 // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates How Long an Object Has Been // Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) // in the Amazon S3 User Guide. NoncurrentDays int32 // The class of storage used to store the object. StorageClass TransitionStorageClass noSmithyDocumentSerde } // A container for specifying the notification configuration of the bucket. If // this element is empty, notifications are turned off for the bucket. type NotificationConfiguration struct { // Enables delivery of events to Amazon EventBridge. EventBridgeConfiguration *EventBridgeConfiguration // Describes the Lambda functions to invoke and the events for which to invoke // them. LambdaFunctionConfigurations []LambdaFunctionConfiguration // The Amazon Simple Queue Service queues to publish messages to and the events // for which to publish messages. QueueConfigurations []QueueConfiguration // The topic to which notifications are sent and the events for which // notifications are generated. TopicConfigurations []TopicConfiguration noSmithyDocumentSerde } // Specifies object key name filtering rules. For information about key name // filtering, see Configuring event notifications using object key name filtering (https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) // in the Amazon S3 User Guide. type NotificationConfigurationFilter struct { // A container for object key name prefix and suffix filtering rules. Key *S3KeyFilter noSmithyDocumentSerde } // An object consists of data and its descriptive metadata. type Object struct { // The algorithm that was used to create a checksum of the object. ChecksumAlgorithm []ChecksumAlgorithm // The entity tag is a hash of the object. The ETag reflects changes only to the // contents of an object, not its metadata. The ETag may or may not be an MD5 // digest of the object data. Whether or not it is depends on how the object was // created and how it is encrypted as described below: // - Objects created by the PUT Object, POST Object, or Copy operation, or // through the Amazon Web Services Management Console, and are encrypted by SSE-S3 // or plaintext, have ETags that are an MD5 digest of their object data. // - Objects created by the PUT Object, POST Object, or Copy operation, or // through the Amazon Web Services Management Console, and are encrypted by SSE-C // or SSE-KMS, have ETags that are not an MD5 digest of their object data. // - If an object is created by either the Multipart Upload or Part Copy // operation, the ETag is not an MD5 digest, regardless of the method of // encryption. If an object is larger than 16 MB, the Amazon Web Services // Management Console will upload or copy that object as a Multipart Upload, and // therefore the ETag will not be an MD5 digest. ETag *string // The name that you assign to an object. You use the object key to retrieve the // object. Key *string // Creation date of the object. LastModified *time.Time // The owner of the object Owner *Owner // Specifies the restoration status of an object. Objects in certain storage // classes must be restored before they can be retrieved. For more information // about these storage classes and how to work with archived objects, see Working // with archived objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html) // in the Amazon S3 User Guide. RestoreStatus *RestoreStatus // Size in bytes of the object Size int64 // The class of storage used to store the object. StorageClass ObjectStorageClass noSmithyDocumentSerde } // Object Identifier is unique value to identify objects. type ObjectIdentifier struct { // Key name of the object. Replacement must be made for object keys containing // special characters (such as carriage returns) when using XML requests. For more // information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . // // This member is required. Key *string // VersionId for the specific version of the object to delete. VersionId *string noSmithyDocumentSerde } // The container element for Object Lock configuration parameters. type ObjectLockConfiguration struct { // Indicates whether this bucket has an Object Lock configuration enabled. Enable // ObjectLockEnabled when you apply ObjectLockConfiguration to a bucket. ObjectLockEnabled ObjectLockEnabled // Specifies the Object Lock rule for the specified object. Enable the this rule // when you apply ObjectLockConfiguration to a bucket. Bucket settings require // both a mode and a period. The period can be either Days or Years but you must // select one. You cannot specify Days and Years at the same time. Rule *ObjectLockRule noSmithyDocumentSerde } // A legal hold configuration for an object. type ObjectLockLegalHold struct { // Indicates whether the specified object has a legal hold in place. Status ObjectLockLegalHoldStatus noSmithyDocumentSerde } // A Retention configuration for an object. type ObjectLockRetention struct { // Indicates the Retention mode for the specified object. Mode ObjectLockRetentionMode // The date on which this Object Lock Retention will expire. RetainUntilDate *time.Time noSmithyDocumentSerde } // The container element for an Object Lock rule. type ObjectLockRule struct { // The default Object Lock retention mode and period that you want to apply to new // objects placed in the specified bucket. Bucket settings require both a mode and // a period. The period can be either Days or Years but you must select one. You // cannot specify Days and Years at the same time. DefaultRetention *DefaultRetention noSmithyDocumentSerde } // A container for elements related to an individual part. type ObjectPart struct { // This header can be used as a data integrity check to verify that the data // received is the same data that was originally sent. This header specifies the // base64-encoded, 32-bit CRC32 checksum of the object. For more information, see // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA256 *string // The part number identifying the part. This value is a positive integer between // 1 and 10,000. PartNumber int32 // The size of the uploaded part in bytes. Size int64 noSmithyDocumentSerde } // The version of an object. type ObjectVersion struct { // The algorithm that was used to create a checksum of the object. ChecksumAlgorithm []ChecksumAlgorithm // The entity tag is an MD5 hash of that version of the object. ETag *string // Specifies whether the object is (true) or is not (false) the latest version of // an object. IsLatest bool // The object key. Key *string // Date and time the object was last modified. LastModified *time.Time // Specifies the owner of the object. Owner *Owner // Specifies the restoration status of an object. Objects in certain storage // classes must be restored before they can be retrieved. For more information // about these storage classes and how to work with archived objects, see Working // with archived objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html) // in the Amazon S3 User Guide. RestoreStatus *RestoreStatus // Size in bytes of the object. Size int64 // The class of storage used to store the object. StorageClass ObjectVersionStorageClass // Version ID of an object. VersionId *string noSmithyDocumentSerde } // Describes the location where the restore job's output is stored. type OutputLocation struct { // Describes an S3 location that will receive the results of the restore request. S3 *S3Location noSmithyDocumentSerde } // Describes how results of the Select job are serialized. type OutputSerialization struct { // Describes the serialization of CSV-encoded Select results. CSV *CSVOutput // Specifies JSON as request's output serialization format. JSON *JSONOutput noSmithyDocumentSerde } // Container for the owner's display name and ID. type Owner struct { // Container for the display name of the owner. This value is only supported in // the following Amazon Web Services Regions: // - US East (N. Virginia) // - US West (N. California) // - US West (Oregon) // - Asia Pacific (Singapore) // - Asia Pacific (Sydney) // - Asia Pacific (Tokyo) // - Europe (Ireland) // - South America (São Paulo) DisplayName *string // Container for the ID of the owner. ID *string noSmithyDocumentSerde } // The container element for a bucket's ownership controls. type OwnershipControls struct { // The container element for an ownership control rule. // // This member is required. Rules []OwnershipControlsRule noSmithyDocumentSerde } // The container element for an ownership control rule. type OwnershipControlsRule struct { // The container element for object ownership for a bucket's ownership controls. // BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the // bucket owner if the objects are uploaded with the bucket-owner-full-control // canned ACL. ObjectWriter - The uploading account will own the object if the // object is uploaded with the bucket-owner-full-control canned ACL. // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer // affect permissions. The bucket owner automatically owns and has full control // over every object in the bucket. The bucket only accepts PUT requests that don't // specify an ACL or bucket owner full control ACLs, such as the // bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed // in the XML format. // // This member is required. ObjectOwnership ObjectOwnership noSmithyDocumentSerde } // Container for Parquet. type ParquetInput struct { noSmithyDocumentSerde } // Container for elements related to a part. type Part struct { // This header can be used as a data integrity check to verify that the data // received is the same data that was originally sent. This header specifies the // base64-encoded, 32-bit CRC32 checksum of the object. For more information, see // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // in the Amazon S3 User Guide. ChecksumCRC32 *string // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumCRC32C *string // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // present if it was uploaded with the object. With multipart uploads, this may not // be a checksum value of the object. For more information about how checksums are // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // in the Amazon S3 User Guide. ChecksumSHA1 *string // This header can be used as a data integrity check to verify that the data // received is the same data that was originally sent. This header specifies the // base64-encoded, 256-bit SHA-256 digest of the object. For more information, see // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // in the Amazon S3 User Guide. ChecksumSHA256 *string // Entity tag returned when the part was uploaded. ETag *string // Date and time at which the part was uploaded. LastModified *time.Time // Part number identifying the part. This is a positive integer between 1 and // 10,000. PartNumber int32 // Size in bytes of the uploaded part data. Size int64 noSmithyDocumentSerde } // The container element for a bucket's policy status. type PolicyStatus struct { // The policy status for this bucket. TRUE indicates that this bucket is public. // FALSE indicates that the bucket is not public. IsPublic bool noSmithyDocumentSerde } // This data type contains information about progress of an operation. type Progress struct { // The current number of uncompressed object bytes processed. BytesProcessed int64 // The current number of bytes of records payload data returned. BytesReturned int64 // The current number of object bytes scanned. BytesScanned int64 noSmithyDocumentSerde } // This data type contains information about the progress event of an operation. type ProgressEvent struct { // The Progress event details. Details *Progress noSmithyDocumentSerde } // The PublicAccessBlock configuration that you want to apply to this Amazon S3 // bucket. You can enable the configuration options in any combination. For more // information about when Amazon S3 considers a bucket or object public, see The // Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) // in the Amazon S3 User Guide. type PublicAccessBlockConfiguration struct { // Specifies whether Amazon S3 should block public access control lists (ACLs) for // this bucket and objects in this bucket. Setting this element to TRUE causes the // following behavior: // - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is // public. // - PUT Object calls fail if the request includes a public ACL. // - PUT Bucket calls fail if the request includes a public ACL. // Enabling this setting doesn't affect existing policies or ACLs. BlockPublicAcls bool // Specifies whether Amazon S3 should block public bucket policies for this // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT // Bucket policy if the specified bucket policy allows public access. Enabling this // setting doesn't affect existing bucket policies. BlockPublicPolicy bool // Specifies whether Amazon S3 should ignore public ACLs for this bucket and // objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore // all public ACLs on this bucket and objects in this bucket. Enabling this setting // doesn't affect the persistence of any existing ACLs and doesn't prevent new // public ACLs from being set. IgnorePublicAcls bool // Specifies whether Amazon S3 should restrict public bucket policies for this // bucket. Setting this element to TRUE restricts access to this bucket to only // Amazon Web Service principals and authorized users within this account if the // bucket has a public policy. Enabling this setting doesn't affect previously // stored bucket policies, except that public and cross-account access within any // public bucket policy, including non-public delegation to specific accounts, is // blocked. RestrictPublicBuckets bool noSmithyDocumentSerde } // Specifies the configuration for publishing messages to an Amazon Simple Queue // Service (Amazon SQS) queue when Amazon S3 detects specified events. type QueueConfiguration struct { // A collection of bucket events for which to send notifications // // This member is required. Events []Event // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 // publishes a message when it detects events of the specified type. // // This member is required. QueueArn *string // Specifies object key name filtering rules. For information about key name // filtering, see Configuring event notifications using object key name filtering (https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) // in the Amazon S3 User Guide. Filter *NotificationConfigurationFilter // An optional unique identifier for configurations in a notification // configuration. If you don't provide one, Amazon S3 will assign an ID. Id *string noSmithyDocumentSerde } // The container for the records event. type RecordsEvent struct { // The byte array of partial, one or more result records. Payload []byte noSmithyDocumentSerde } // Specifies how requests are redirected. In the event of an error, you can // specify a different error code to return. type Redirect struct { // The host name to use in the redirect request. HostName *string // The HTTP redirect code to use on the response. Not required if one of the // siblings is present. HttpRedirectCode *string // Protocol to use when redirecting requests. The default is the protocol that is // used in the original request. Protocol Protocol // The object key prefix to use in the redirect request. For example, to redirect // requests for all pages with prefix docs/ (objects in the docs/ folder) to // documents/ , you can set a condition block with KeyPrefixEquals set to docs/ // and in the Redirect set ReplaceKeyPrefixWith to /documents . Not required if one // of the siblings is present. Can be present only if ReplaceKeyWith is not // provided. Replacement must be made for object keys containing special characters // (such as carriage returns) when using XML requests. For more information, see // XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . ReplaceKeyPrefixWith *string // The specific object key to use in the redirect request. For example, redirect // request to error.html . Not required if one of the siblings is present. Can be // present only if ReplaceKeyPrefixWith is not provided. Replacement must be made // for object keys containing special characters (such as carriage returns) when // using XML requests. For more information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . ReplaceKeyWith *string noSmithyDocumentSerde } // Specifies the redirect behavior of all requests to a website endpoint of an // Amazon S3 bucket. type RedirectAllRequestsTo struct { // Name of the host where requests are redirected. // // This member is required. HostName *string // Protocol to use when redirecting requests. The default is the protocol that is // used in the original request. Protocol Protocol noSmithyDocumentSerde } // A filter that you can specify for selection for modifications on replicas. // Amazon S3 doesn't replicate replica modifications by default. In the latest // version of replication configuration (when Filter is specified), you can // specify this element and set the status to Enabled to replicate modifications // on replicas. If you don't specify the Filter element, Amazon S3 assumes that // the replication configuration is the earlier version, V1. In the earlier // version, this element is not allowed. type ReplicaModifications struct { // Specifies whether Amazon S3 replicates modifications on replicas. // // This member is required. Status ReplicaModificationsStatus noSmithyDocumentSerde } // A container for replication rules. You can add up to 1,000 rules. The maximum // size of a replication configuration is 2 MB. type ReplicationConfiguration struct { // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role // that Amazon S3 assumes when replicating objects. For more information, see How // to Set Up Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) // in the Amazon S3 User Guide. // // This member is required. Role *string // A container for one or more replication rules. A replication configuration must // have at least one rule and can contain a maximum of 1,000 rules. // // This member is required. Rules []ReplicationRule noSmithyDocumentSerde } // Specifies which Amazon S3 objects to replicate and where to store the replicas. type ReplicationRule struct { // A container for information about the replication destination and its // configurations including enabling the S3 Replication Time Control (S3 RTC). // // This member is required. Destination *Destination // Specifies whether the rule is enabled. // // This member is required. Status ReplicationRuleStatus // Specifies whether Amazon S3 replicates delete markers. If you specify a Filter // in your replication configuration, you must also include a // DeleteMarkerReplication element. If your Filter includes a Tag element, the // DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does // not support replicating delete markers for tag-based rules. For an example // configuration, see Basic Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) // . For more information about delete marker replication, see Basic Rule // Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) // . If you are using an earlier version of the replication configuration, Amazon // S3 handles replication of delete markers differently. For more information, see // Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) // . DeleteMarkerReplication *DeleteMarkerReplication // Optional configuration to replicate existing source bucket objects. For more // information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) // in the Amazon S3 User Guide. ExistingObjectReplication *ExistingObjectReplication // A filter that identifies the subset of objects to which the replication rule // applies. A Filter must specify exactly one Prefix , Tag , or an And child // element. Filter ReplicationRuleFilter // A unique identifier for the rule. The maximum value is 255 characters. ID *string // An object key name prefix that identifies the object or objects to which the // rule applies. The maximum prefix length is 1,024 characters. To include all // objects in a bucket, specify an empty string. Replacement must be made for // object keys containing special characters (such as carriage returns) when using // XML requests. For more information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . // // Deprecated: This member has been deprecated. Prefix *string // The priority indicates which rule has precedence whenever two or more // replication rules conflict. Amazon S3 will attempt to replicate objects // according to all replication rules. However, if there are two or more rules with // the same destination bucket, then objects will be replicated according to the // rule with the highest priority. The higher the number, the higher the priority. // For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) // in the Amazon S3 User Guide. Priority int32 // A container that describes additional filters for identifying the source // objects that you want to replicate. You can choose to enable or disable the // replication of these objects. Currently, Amazon S3 supports only the filter that // you can specify for objects created with server-side encryption using a customer // managed key stored in Amazon Web Services Key Management Service (SSE-KMS). SourceSelectionCriteria *SourceSelectionCriteria noSmithyDocumentSerde } // A container for specifying rule filters. The filters determine the subset of // objects to which the rule applies. This element is required only if you specify // more than one filter. For example: // - If you specify both a Prefix and a Tag filter, wrap these filters in an And // tag. // - If you specify a filter based on multiple tags, wrap the Tag elements in an // And tag. type ReplicationRuleAndOperator struct { // An object key name prefix that identifies the subset of objects to which the // rule applies. Prefix *string // An array of tags containing key and value pairs. Tags []Tag noSmithyDocumentSerde } // A filter that identifies the subset of objects to which the replication rule // applies. A Filter must specify exactly one Prefix , Tag , or an And child // element. // // The following types satisfy this interface: // // ReplicationRuleFilterMemberAnd // ReplicationRuleFilterMemberPrefix // ReplicationRuleFilterMemberTag type ReplicationRuleFilter interface { isReplicationRuleFilter() } // A container for specifying rule filters. The filters determine the subset of // objects to which the rule applies. This element is required only if you specify // more than one filter. For example: // - If you specify both a Prefix and a Tag filter, wrap these filters in an And // tag. // - If you specify a filter based on multiple tags, wrap the Tag elements in an // And tag. type ReplicationRuleFilterMemberAnd struct { Value ReplicationRuleAndOperator noSmithyDocumentSerde } func (*ReplicationRuleFilterMemberAnd) isReplicationRuleFilter() {} // An object key name prefix that identifies the subset of objects to which the // rule applies. Replacement must be made for object keys containing special // characters (such as carriage returns) when using XML requests. For more // information, see XML related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) // . type ReplicationRuleFilterMemberPrefix struct { Value string noSmithyDocumentSerde } func (*ReplicationRuleFilterMemberPrefix) isReplicationRuleFilter() {} // A container for specifying a tag key and value. The rule applies only to // objects that have the tag in their tag set. type ReplicationRuleFilterMemberTag struct { Value Tag noSmithyDocumentSerde } func (*ReplicationRuleFilterMemberTag) isReplicationRuleFilter() {} // A container specifying S3 Replication Time Control (S3 RTC) related // information, including whether S3 RTC is enabled and the time when all objects // and operations on objects must be replicated. Must be specified together with a // Metrics block. type ReplicationTime struct { // Specifies whether the replication time is enabled. // // This member is required. Status ReplicationTimeStatus // A container specifying the time by which replication should be complete for all // objects and operations on objects. // // This member is required. Time *ReplicationTimeValue noSmithyDocumentSerde } // A container specifying the time value for S3 Replication Time Control (S3 RTC) // and replication metrics EventThreshold . type ReplicationTimeValue struct { // Contains an integer specifying time in minutes. Valid value: 15 Minutes int32 noSmithyDocumentSerde } // Container for Payer. type RequestPaymentConfiguration struct { // Specifies who pays for the download and request fees. // // This member is required. Payer Payer noSmithyDocumentSerde } // Container for specifying if periodic QueryProgress messages should be sent. type RequestProgress struct { // Specifies whether periodic QueryProgress frames should be sent. Valid values: // TRUE, FALSE. Default value: FALSE. Enabled bool noSmithyDocumentSerde } // Container for restore job parameters. type RestoreRequest struct { // Lifetime of the active copy in days. Do not use with restores that specify // OutputLocation . The Days element is required for regular restores, and must not // be provided for select requests. Days int32 // The optional description for the job. Description *string // S3 Glacier related parameters pertaining to this job. Do not use with restores // that specify OutputLocation . GlacierJobParameters *GlacierJobParameters // Describes the location where the restore job's output is stored. OutputLocation *OutputLocation // Describes the parameters for Select job types. SelectParameters *SelectParameters // Retrieval tier at which the restore will be processed. Tier Tier // Type of restore request. Type RestoreRequestType noSmithyDocumentSerde } // Specifies the restoration status of an object. Objects in certain storage // classes must be restored before they can be retrieved. For more information // about these storage classes and how to work with archived objects, see Working // with archived objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html) // in the Amazon S3 User Guide. type RestoreStatus struct { // Specifies whether the object is currently being restored. If the object // restoration is in progress, the header returns the value TRUE . For example: // x-amz-optional-object-attributes: IsRestoreInProgress="true" If the object // restoration has completed, the header returns the value FALSE . For example: // x-amz-optional-object-attributes: IsRestoreInProgress="false", // RestoreExpiryDate="2012-12-21T00:00:00.000Z" If the object hasn't been restored, // there is no header response. IsRestoreInProgress bool // Indicates when the restored copy will expire. This value is populated only if // the object has already been restored. For example: // x-amz-optional-object-attributes: IsRestoreInProgress="false", // RestoreExpiryDate="2012-12-21T00:00:00.000Z" RestoreExpiryDate *time.Time noSmithyDocumentSerde } // Specifies the redirect behavior and when a redirect is applied. For more // information about routing rules, see Configuring advanced conditional redirects (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) // in the Amazon S3 User Guide. type RoutingRule struct { // Container for redirect information. You can redirect requests to another host, // to another page, or with another protocol. In the event of an error, you can // specify a different error code to return. // // This member is required. Redirect *Redirect // A container for describing a condition that must be met for the specified // redirect to apply. For example, 1. If request is for pages in the /docs folder, // redirect to the /documents folder. 2. If request results in HTTP error 4xx, // redirect request to another host where you might process the error. Condition *Condition noSmithyDocumentSerde } // A container for object key name prefix and suffix filtering rules. type S3KeyFilter struct { // A list of containers for the key-value pair that defines the criteria for the // filter rule. FilterRules []FilterRule noSmithyDocumentSerde } // Describes an Amazon S3 location that will receive the results of the restore // request. type S3Location struct { // The name of the bucket where the restore results will be placed. // // This member is required. BucketName *string // The prefix that is prepended to the restore results for this request. // // This member is required. Prefix *string // A list of grants that control access to the staged results. AccessControlList []Grant // The canned ACL to apply to the restore results. CannedACL ObjectCannedACL // Contains the type of server-side encryption used. Encryption *Encryption // The class of storage used to store the restore results. StorageClass StorageClass // The tag-set that is applied to the restore results. Tagging *Tagging // A list of metadata to store with the restore results in S3. UserMetadata []MetadataEntry noSmithyDocumentSerde } // Specifies the byte range of the object to get the records from. A record is // processed when its first byte is contained by the range. This parameter is // optional, but when specified, it must not be empty. See RFC 2616, Section // 14.35.1 about how to specify the start and end of the range. type ScanRange struct { // Specifies the end of the byte range. This parameter is optional. Valid values: // non-negative integers. The default value is one less than the size of the object // being queried. If only the End parameter is supplied, it is interpreted to mean // scan the last N bytes of the file. For example, 50 means scan the last 50 bytes. End int64 // Specifies the start of the byte range. This parameter is optional. Valid // values: non-negative integers. The default value is 0. If only start is // supplied, it means scan from that point to the end of the file. For example, 50 // means scan from byte 50 until the end of the file. Start int64 noSmithyDocumentSerde } // The container for selecting objects from a content event stream. // // The following types satisfy this interface: // // SelectObjectContentEventStreamMemberCont // SelectObjectContentEventStreamMemberEnd // SelectObjectContentEventStreamMemberProgress // SelectObjectContentEventStreamMemberRecords // SelectObjectContentEventStreamMemberStats type SelectObjectContentEventStream interface { isSelectObjectContentEventStream() } // The Continuation Event. type SelectObjectContentEventStreamMemberCont struct { Value ContinuationEvent noSmithyDocumentSerde } func (*SelectObjectContentEventStreamMemberCont) isSelectObjectContentEventStream() {} // The End Event. type SelectObjectContentEventStreamMemberEnd struct { Value EndEvent noSmithyDocumentSerde } func (*SelectObjectContentEventStreamMemberEnd) isSelectObjectContentEventStream() {} // The Progress Event. type SelectObjectContentEventStreamMemberProgress struct { Value ProgressEvent noSmithyDocumentSerde } func (*SelectObjectContentEventStreamMemberProgress) isSelectObjectContentEventStream() {} // The Records Event. type SelectObjectContentEventStreamMemberRecords struct { Value RecordsEvent noSmithyDocumentSerde } func (*SelectObjectContentEventStreamMemberRecords) isSelectObjectContentEventStream() {} // The Stats Event. type SelectObjectContentEventStreamMemberStats struct { Value StatsEvent noSmithyDocumentSerde } func (*SelectObjectContentEventStreamMemberStats) isSelectObjectContentEventStream() {} // Describes the parameters for Select job types. type SelectParameters struct { // The expression that is used to query the object. // // This member is required. Expression *string // The type of the provided expression (for example, SQL). // // This member is required. ExpressionType ExpressionType // Describes the serialization format of the object. // // This member is required. InputSerialization *InputSerialization // Describes how the results of the Select job are serialized. // // This member is required. OutputSerialization *OutputSerialization noSmithyDocumentSerde } // Describes the default server-side encryption to apply to new objects in the // bucket. If a PUT Object request doesn't specify any server-side encryption, this // default encryption will be applied. If you don't specify a customer managed key // at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key // in your Amazon Web Services account the first time that you add an object // encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for // SSE-KMS. For more information, see PUT Bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) // in the Amazon S3 API Reference. type ServerSideEncryptionByDefault struct { // Server-side encryption algorithm to use for the default encryption. // // This member is required. SSEAlgorithm ServerSideEncryption // Amazon Web Services Key Management Service (KMS) customer Amazon Web Services // KMS key ID to use for the default encryption. This parameter is allowed if and // only if SSEAlgorithm is set to aws:kms . You can specify the key ID or the // Amazon Resource Name (ARN) of the KMS key. If you use a key ID, you can run into // a LogDestination undeliverable error when creating a VPC flow log. If you are // using encryption with cross-account or Amazon Web Services service operations // you must use a fully qualified KMS key ARN. For more information, see Using // encryption for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) // . // - Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab // - Key ARN: // arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // Amazon S3 only supports symmetric encryption KMS keys. For more information, // see Asymmetric keys in Amazon Web Services KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Amazon Web Services Key Management Service Developer Guide. KMSMasterKeyID *string noSmithyDocumentSerde } // Specifies the default server-side-encryption configuration. type ServerSideEncryptionConfiguration struct { // Container for information about a particular server-side encryption // configuration rule. // // This member is required. Rules []ServerSideEncryptionRule noSmithyDocumentSerde } // Specifies the default server-side encryption configuration. type ServerSideEncryptionRule struct { // Specifies the default server-side encryption to apply to new objects in the // bucket. If a PUT Object request doesn't specify any server-side encryption, this // default encryption will be applied. ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault // Specifies whether Amazon S3 should use an S3 Bucket Key with server-side // encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects // are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 // to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled. For more // information, see Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) // in the Amazon S3 User Guide. BucketKeyEnabled bool noSmithyDocumentSerde } // A container that describes additional filters for identifying the source // objects that you want to replicate. You can choose to enable or disable the // replication of these objects. Currently, Amazon S3 supports only the filter that // you can specify for objects created with server-side encryption using a customer // managed key stored in Amazon Web Services Key Management Service (SSE-KMS). type SourceSelectionCriteria struct { // A filter that you can specify for selections for modifications on replicas. // Amazon S3 doesn't replicate replica modifications by default. In the latest // version of replication configuration (when Filter is specified), you can // specify this element and set the status to Enabled to replicate modifications // on replicas. If you don't specify the Filter element, Amazon S3 assumes that // the replication configuration is the earlier version, V1. In the earlier // version, this element is not allowed ReplicaModifications *ReplicaModifications // A container for filter information for the selection of Amazon S3 objects // encrypted with Amazon Web Services KMS. If you include SourceSelectionCriteria // in the replication configuration, this element is required. SseKmsEncryptedObjects *SseKmsEncryptedObjects noSmithyDocumentSerde } // Specifies the use of SSE-KMS to encrypt delivered inventory reports. type SSEKMS struct { // Specifies the ID of the Key Management Service (KMS) symmetric encryption // customer managed key to use for encrypting inventory reports. // // This member is required. KeyId *string noSmithyDocumentSerde } // A container for filter information for the selection of S3 objects encrypted // with Amazon Web Services KMS. type SseKmsEncryptedObjects struct { // Specifies whether Amazon S3 replicates objects created with server-side // encryption using an Amazon Web Services KMS key stored in Amazon Web Services // Key Management Service. // // This member is required. Status SseKmsEncryptedObjectsStatus noSmithyDocumentSerde } // Specifies the use of SSE-S3 to encrypt delivered inventory reports. type SSES3 struct { noSmithyDocumentSerde } // Container for the stats details. type Stats struct { // The total number of uncompressed object bytes processed. BytesProcessed int64 // The total number of bytes of records payload data returned. BytesReturned int64 // The total number of object bytes scanned. BytesScanned int64 noSmithyDocumentSerde } // Container for the Stats Event. type StatsEvent struct { // The Stats event details. Details *Stats noSmithyDocumentSerde } // Specifies data related to access patterns to be collected and made available to // analyze the tradeoffs between different storage classes for an Amazon S3 bucket. type StorageClassAnalysis struct { // Specifies how data related to the storage class analysis for an Amazon S3 // bucket should be exported. DataExport *StorageClassAnalysisDataExport noSmithyDocumentSerde } // Container for data related to the storage class analysis for an Amazon S3 // bucket for export. type StorageClassAnalysisDataExport struct { // The place to store the data for an analysis. // // This member is required. Destination *AnalyticsExportDestination // The version of the output schema to use when exporting data. Must be V_1 . // // This member is required. OutputSchemaVersion StorageClassAnalysisSchemaVersion noSmithyDocumentSerde } // A container of a key value name pair. type Tag struct { // Name of the object key. // // This member is required. Key *string // Value of the tag. // // This member is required. Value *string noSmithyDocumentSerde } // Container for TagSet elements. type Tagging struct { // A collection for a set of tags // // This member is required. TagSet []Tag noSmithyDocumentSerde } // Container for granting information. Buckets that use the bucket owner enforced // setting for Object Ownership don't support target grants. For more information, // see Permissions server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) // in the Amazon S3 User Guide. type TargetGrant struct { // Container for the person being granted permissions. Grantee *Grantee // Logging permissions assigned to the grantee for the bucket. Permission BucketLogsPermission noSmithyDocumentSerde } // The S3 Intelligent-Tiering storage class is designed to optimize storage costs // by automatically moving data to the most cost-effective storage access tier, // without additional operational overhead. type Tiering struct { // S3 Intelligent-Tiering access tier. See Storage class for automatically // optimizing frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) // for a list of access tiers in the S3 Intelligent-Tiering storage class. // // This member is required. AccessTier IntelligentTieringAccessTier // The number of consecutive days of no access after which an object will be // eligible to be transitioned to the corresponding tier. The minimum number of // days specified for Archive Access tier must be at least 90 days and Deep Archive // Access tier must be at least 180 days. The maximum can be up to 2 years (730 // days). // // This member is required. Days int32 noSmithyDocumentSerde } // A container for specifying the configuration for publication of messages to an // Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects // specified events. type TopicConfiguration struct { // The Amazon S3 bucket event about which to send notifications. For more // information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon S3 User Guide. // // This member is required. Events []Event // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 // publishes a message when it detects events of the specified type. // // This member is required. TopicArn *string // Specifies object key name filtering rules. For information about key name // filtering, see Configuring event notifications using object key name filtering (https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) // in the Amazon S3 User Guide. Filter *NotificationConfigurationFilter // An optional unique identifier for configurations in a notification // configuration. If you don't provide one, Amazon S3 will assign an ID. Id *string noSmithyDocumentSerde } // Specifies when an object transitions to a specified storage class. For more // information about Amazon S3 lifecycle configuration rules, see Transitioning // Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) // in the Amazon S3 User Guide. type Transition struct { // Indicates when objects are transitioned to the specified storage class. The // date value must be in ISO 8601 format. The time is always midnight UTC. Date *time.Time // Indicates the number of days after creation when objects are transitioned to // the specified storage class. The value must be a positive integer. Days int32 // The storage class to which you want the object to transition. StorageClass TransitionStorageClass noSmithyDocumentSerde } // Describes the versioning state of an Amazon S3 bucket. For more information, // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) // in the Amazon S3 API Reference. type VersioningConfiguration struct { // Specifies whether MFA delete is enabled in the bucket versioning configuration. // This element is only returned if the bucket has been configured with MFA delete. // If the bucket has never been so configured, this element is not returned. MFADelete MFADelete // The versioning state of the bucket. Status BucketVersioningStatus noSmithyDocumentSerde } // Specifies website configuration parameters for an Amazon S3 bucket. type WebsiteConfiguration struct { // The name of the error document for the website. ErrorDocument *ErrorDocument // The name of the index document for the website. IndexDocument *IndexDocument // The redirect behavior for every request to this bucket's website endpoint. If // you specify this property, you can't specify any other property. RedirectAllRequestsTo *RedirectAllRequestsTo // Rules that define when a redirect is applied and the redirect behavior. RoutingRules []RoutingRule noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde // UnknownUnionMember is returned when a union member is returned over the wire, // but has an unknown tag. type UnknownUnionMember struct { Tag string Value []byte noSmithyDocumentSerde } func (*UnknownUnionMember) isAnalyticsFilter() {} func (*UnknownUnionMember) isLifecycleRuleFilter() {} func (*UnknownUnionMember) isMetricsFilter() {} func (*UnknownUnionMember) isReplicationRuleFilter() {} func (*UnknownUnionMember) isSelectObjectContentEventStream() {}