# WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE module Aws::S3 module Types # Specifies the days since the initiation of an Incomplete Multipart # Upload that Lifecycle will wait before permanently removing all parts # of the upload. # # @note When making an API call, you may pass AbortIncompleteMultipartUpload # data as a hash: # # { # days_after_initiation: 1, # } # # @!attribute [rw] days_after_initiation # Indicates the number of days that must pass since initiation for # Lifecycle to abort an Incomplete Multipart Upload. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortIncompleteMultipartUpload AWS API Documentation # class AbortIncompleteMultipartUpload < Struct.new( :days_after_initiation) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadOutput AWS API Documentation # class AbortMultipartUploadOutput < Struct.new( :request_charged) include Aws::Structure end # @note When making an API call, you may pass AbortMultipartUploadRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # upload_id: "MultipartUploadId", # required # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] upload_id # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadRequest AWS API Documentation # class AbortMultipartUploadRequest < Struct.new( :bucket, :key, :upload_id, :request_payer) include Aws::Structure end # @note When making an API call, you may pass AccelerateConfiguration # data as a hash: # # { # status: "Enabled", # accepts Enabled, Suspended # } # # @!attribute [rw] status # The accelerate configuration of the bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccelerateConfiguration AWS API Documentation # class AccelerateConfiguration < Struct.new( :status) include Aws::Structure end # @note When making an API call, you may pass AccessControlPolicy # data as a hash: # # { # grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # owner: { # display_name: "DisplayName", # id: "ID", # }, # } # # @!attribute [rw] grants # A list of grants. # @return [Array] # # @!attribute [rw] owner # @return [Types::Owner] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlPolicy AWS API Documentation # class AccessControlPolicy < Struct.new( :grants, :owner) include Aws::Structure end # A container for information about access control for replicas. # # @note When making an API call, you may pass AccessControlTranslation # data as a hash: # # { # owner: "Destination", # required, accepts Destination # } # # @!attribute [rw] owner # The override value for the owner of the replica object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlTranslation AWS API Documentation # class AccessControlTranslation < Struct.new( :owner) include Aws::Structure end # @note When making an API call, you may pass AnalyticsAndOperator # data as a hash: # # { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # } # # @!attribute [rw] prefix # The prefix to use when evaluating an AND predicate. # @return [String] # # @!attribute [rw] tags # The list of tags to use when evaluating an AND predicate. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsAndOperator AWS API Documentation # class AnalyticsAndOperator < Struct.new( :prefix, :tags) include Aws::Structure end # @note When making an API call, you may pass AnalyticsConfiguration # data as a hash: # # { # id: "AnalyticsId", # required # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # storage_class_analysis: { # required # data_export: { # output_schema_version: "V_1", # required, accepts V_1 # destination: { # required # s3_bucket_destination: { # required # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # }, # }, # }, # }, # } # # @!attribute [rw] id # The identifier used to represent an analytics configuration. # @return [String] # # @!attribute [rw] filter # 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. # @return [Types::AnalyticsFilter] # # @!attribute [rw] storage_class_analysis # If present, it indicates that data related to access patterns will # be collected and made available to analyze the tradeoffs between # different storage classes. # @return [Types::StorageClassAnalysis] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsConfiguration AWS API Documentation # class AnalyticsConfiguration < Struct.new( :id, :filter, :storage_class_analysis) include Aws::Structure end # @note When making an API call, you may pass AnalyticsExportDestination # data as a hash: # # { # s3_bucket_destination: { # required # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # }, # } # # @!attribute [rw] s3_bucket_destination # A destination signifying output to an S3 bucket. # @return [Types::AnalyticsS3BucketDestination] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsExportDestination AWS API Documentation # class AnalyticsExportDestination < Struct.new( :s3_bucket_destination) include Aws::Structure end # @note When making an API call, you may pass AnalyticsFilter # data as a hash: # # { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] prefix # The prefix to use when evaluating an analytics filter. # @return [String] # # @!attribute [rw] tag # The tag to use when evaluating an analytics filter. # @return [Types::Tag] # # @!attribute [rw] and # A conjunction (logical AND) of predicates, which is used in # evaluating an analytics filter. The operator must have at least two # predicates. # @return [Types::AnalyticsAndOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsFilter AWS API Documentation # class AnalyticsFilter < Struct.new( :prefix, :tag, :and) include Aws::Structure end # @note When making an API call, you may pass AnalyticsS3BucketDestination # data as a hash: # # { # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # } # # @!attribute [rw] format # The file format used when exporting data to Amazon S3. # @return [String] # # @!attribute [rw] bucket_account_id # The account ID that owns the destination bucket. If no account ID is # provided, the owner will not be validated prior to exporting data. # @return [String] # # @!attribute [rw] bucket # The Amazon resource name (ARN) of the bucket to which data is # exported. # @return [String] # # @!attribute [rw] prefix # The prefix to use when exporting data. The exported data begins with # this prefix. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination AWS API Documentation # class AnalyticsS3BucketDestination < Struct.new( :format, :bucket_account_id, :bucket, :prefix) include Aws::Structure end # @!attribute [rw] name # The name of the bucket. # @return [String] # # @!attribute [rw] creation_date # Date the bucket was created. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation # class Bucket < Struct.new( :name, :creation_date) include Aws::Structure end # @note When making an API call, you may pass BucketLifecycleConfiguration # data as a hash: # # { # rules: [ # required # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # transitions: [ # { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_transitions: [ # { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # }, # ], # } # # @!attribute [rw] rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLifecycleConfiguration AWS API Documentation # class BucketLifecycleConfiguration < Struct.new( :rules) include Aws::Structure end # @note When making an API call, you may pass BucketLoggingStatus # data as a hash: # # { # logging_enabled: { # target_bucket: "TargetBucket", # required # target_grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE # }, # ], # target_prefix: "TargetPrefix", # required # }, # } # # @!attribute [rw] logging_enabled # Container for logging information. Presence of this element # indicates that logging is enabled. Parameters TargetBucket and # TargetPrefix are required in this case. # @return [Types::LoggingEnabled] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLoggingStatus AWS API Documentation # class BucketLoggingStatus < Struct.new( :logging_enabled) include Aws::Structure end # @note When making an API call, you may pass CORSConfiguration # data as a hash: # # { # cors_rules: [ # required # { # allowed_headers: ["AllowedHeader"], # allowed_methods: ["AllowedMethod"], # required # allowed_origins: ["AllowedOrigin"], # required # expose_headers: ["ExposeHeader"], # max_age_seconds: 1, # }, # ], # } # # @!attribute [rw] cors_rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSConfiguration AWS API Documentation # class CORSConfiguration < Struct.new( :cors_rules) include Aws::Structure end # @note When making an API call, you may pass CORSRule # data as a hash: # # { # allowed_headers: ["AllowedHeader"], # allowed_methods: ["AllowedMethod"], # required # allowed_origins: ["AllowedOrigin"], # required # expose_headers: ["ExposeHeader"], # max_age_seconds: 1, # } # # @!attribute [rw] allowed_headers # Specifies which headers are allowed in a pre-flight OPTIONS request. # @return [Array] # # @!attribute [rw] allowed_methods # Identifies HTTP methods that the domain/origin specified in the rule # is allowed to execute. # @return [Array] # # @!attribute [rw] allowed_origins # One or more origins you want customers to be able to access the # bucket from. # @return [Array] # # @!attribute [rw] expose_headers # 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). # @return [Array] # # @!attribute [rw] max_age_seconds # The time in seconds that your browser is to cache the preflight # response for the specified resource. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSRule AWS API Documentation # class CORSRule < Struct.new( :allowed_headers, :allowed_methods, :allowed_origins, :expose_headers, :max_age_seconds) include Aws::Structure end # Describes how a CSV-formatted input object is formatted. # # @note When making an API call, you may pass CSVInput # data as a hash: # # { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # } # # @!attribute [rw] file_header_info # Describes the first line of input. Valid values: None, Ignore, Use. # @return [String] # # @!attribute [rw] comments # The single character used to indicate a row should be ignored when # present at the start of a row. # @return [String] # # @!attribute [rw] quote_escape_character # The single character used for escaping the quote character inside an # already escaped value. # @return [String] # # @!attribute [rw] record_delimiter # The value used to separate individual records. # @return [String] # # @!attribute [rw] field_delimiter # The value used to separate individual fields in a record. # @return [String] # # @!attribute [rw] quote_character # Value used for escaping where the field delimiter is part of the # value. # @return [String] # # @!attribute [rw] allow_quoted_record_delimiter # 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. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput AWS API Documentation # class CSVInput < Struct.new( :file_header_info, :comments, :quote_escape_character, :record_delimiter, :field_delimiter, :quote_character, :allow_quoted_record_delimiter) include Aws::Structure end # Describes how CSV-formatted results are formatted. # # @note When making an API call, you may pass CSVOutput # data as a hash: # # { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # } # # @!attribute [rw] quote_fields # Indicates whether or not all output fields should be quoted. # @return [String] # # @!attribute [rw] quote_escape_character # Th single character used for escaping the quote character inside an # already escaped value. # @return [String] # # @!attribute [rw] record_delimiter # The value used to separate individual records. # @return [String] # # @!attribute [rw] field_delimiter # The value used to separate individual fields in a record. # @return [String] # # @!attribute [rw] quote_character # The value used for escaping where the field delimiter is part of the # value. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVOutput AWS API Documentation # class CSVOutput < Struct.new( :quote_fields, :quote_escape_character, :record_delimiter, :field_delimiter, :quote_character) include Aws::Structure end # @note When making an API call, you may pass CloudFunctionConfiguration # data as a hash: # # { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # cloud_function: "CloudFunction", # invocation_role: "CloudFunctionInvocationRole", # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] event # The bucket event for which to send notifications. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] cloud_function # @return [String] # # @!attribute [rw] invocation_role # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CloudFunctionConfiguration AWS API Documentation # class CloudFunctionConfiguration < Struct.new( :id, :event, :events, :cloud_function, :invocation_role) include Aws::Structure end # @!attribute [rw] prefix # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CommonPrefix AWS API Documentation # class CommonPrefix < Struct.new( :prefix) include Aws::Structure end # @!attribute [rw] location # @return [String] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] expiration # If the object expiration is configured, this will contain the # expiration date (expiry-date) and rule ID (rule-id). The value of # rule-id is URL encoded. # @return [String] # # @!attribute [rw] etag # Entity tag of the object. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] version_id # Version of the object. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadOutput AWS API Documentation # class CompleteMultipartUploadOutput < Struct.new( :location, :bucket, :key, :expiration, :etag, :server_side_encryption, :version_id, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass CompleteMultipartUploadRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # multipart_upload: { # parts: [ # { # etag: "ETag", # part_number: 1, # }, # ], # }, # upload_id: "MultipartUploadId", # required # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] multipart_upload # @return [Types::CompletedMultipartUpload] # # @!attribute [rw] upload_id # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadRequest AWS API Documentation # class CompleteMultipartUploadRequest < Struct.new( :bucket, :key, :multipart_upload, :upload_id, :request_payer) include Aws::Structure end # @note When making an API call, you may pass CompletedMultipartUpload # data as a hash: # # { # parts: [ # { # etag: "ETag", # part_number: 1, # }, # ], # } # # @!attribute [rw] parts # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedMultipartUpload AWS API Documentation # class CompletedMultipartUpload < Struct.new( :parts) include Aws::Structure end # @note When making an API call, you may pass CompletedPart # data as a hash: # # { # etag: "ETag", # part_number: 1, # } # # @!attribute [rw] etag # Entity tag returned when the part was uploaded. # @return [String] # # @!attribute [rw] part_number # Part number that identifies the part. This is a positive integer # between 1 and 10,000. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedPart AWS API Documentation # class CompletedPart < Struct.new( :etag, :part_number) include Aws::Structure end # @note When making an API call, you may pass Condition # data as a hash: # # { # http_error_code_returned_equals: "HttpErrorCodeReturnedEquals", # key_prefix_equals: "KeyPrefixEquals", # } # # @!attribute [rw] http_error_code_returned_equals # 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. # @return [String] # # @!attribute [rw] key_prefix_equals # 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. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition AWS API Documentation # class Condition < Struct.new( :http_error_code_returned_equals, :key_prefix_equals) include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ContinuationEvent AWS API Documentation # class ContinuationEvent < Struct.new( :event_type) include Aws::Structure end # @!attribute [rw] copy_object_result # @return [Types::CopyObjectResult] # # @!attribute [rw] expiration # If the object expiration is configured, the response includes this # header. # @return [String] # # @!attribute [rw] copy_source_version_id # @return [String] # # @!attribute [rw] version_id # Version ID of the newly created copy. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectOutput AWS API Documentation # class CopyObjectOutput < Struct.new( :copy_object_result, :expiration, :copy_source_version_id, :version_id, :server_side_encryption, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass CopyObjectRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # bucket: "BucketName", # required # cache_control: "CacheControl", # content_disposition: "ContentDisposition", # content_encoding: "ContentEncoding", # content_language: "ContentLanguage", # content_type: "ContentType", # copy_source: "CopySource", # required # copy_source_if_match: "CopySourceIfMatch", # copy_source_if_modified_since: Time.now, # copy_source_if_none_match: "CopySourceIfNoneMatch", # copy_source_if_unmodified_since: Time.now, # expires: Time.now, # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write_acp: "GrantWriteACP", # key: "ObjectKey", # required # metadata: { # "MetadataKey" => "MetadataValue", # }, # metadata_directive: "COPY", # accepts COPY, REPLACE # tagging_directive: "COPY", # accepts COPY, REPLACE # server_side_encryption: "AES256", # accepts AES256, aws:kms # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # website_redirect_location: "WebsiteRedirectLocation", # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # ssekms_key_id: "SSEKMSKeyId", # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm", # copy_source_sse_customer_key: "CopySourceSSECustomerKey", # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5", # request_payer: "requester", # accepts requester # tagging: "TaggingHeader", # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # object_lock_retain_until_date: Time.now, # object_lock_legal_hold_status: "ON", # accepts ON, OFF # } # # @!attribute [rw] acl # The canned ACL to apply to the object. # @return [String] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] cache_control # Specifies caching behavior along the request/reply chain. # @return [String] # # @!attribute [rw] content_disposition # Specifies presentational information for the object. # @return [String] # # @!attribute [rw] content_encoding # Specifies what content encodings have been applied to the object and # thus what decoding mechanisms must be applied to obtain the # media-type referenced by the Content-Type header field. # @return [String] # # @!attribute [rw] content_language # The language the content is in. # @return [String] # # @!attribute [rw] content_type # A standard MIME type describing the format of the object data. # @return [String] # # @!attribute [rw] copy_source # The name of the source bucket and key name of the source object, # separated by a slash (/). Must be URL-encoded. # @return [String] # # @!attribute [rw] copy_source_if_match # Copies the object if its entity tag (ETag) matches the specified # tag. # @return [String] # # @!attribute [rw] copy_source_if_modified_since # Copies the object if it has been modified since the specified time. # @return [Time] # # @!attribute [rw] copy_source_if_none_match # Copies the object if its entity tag (ETag) is different than the # specified ETag. # @return [String] # # @!attribute [rw] copy_source_if_unmodified_since # Copies the object if it hasn't been modified since the specified # time. # @return [Time] # # @!attribute [rw] expires # The date and time at which the object is no longer cacheable. # @return [Time] # # @!attribute [rw] grant_full_control # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the # object. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to read the object data and its metadata. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the object ACL. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable object. # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] metadata # A map of metadata to store with the object in S3. # @return [Hash] # # @!attribute [rw] metadata_directive # Specifies whether the metadata is copied from the source object or # replaced with metadata provided in the request. # @return [String] # # @!attribute [rw] tagging_directive # Specifies whether the object tag-set are copied from the source # object or replaced with tag-set provided in the request. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] storage_class # The type of storage to use for the object. Defaults to 'STANDARD'. # @return [String] # # @!attribute [rw] website_redirect_location # If the bucket is configured as a website, redirects requests for # this object to another object in the same bucket or to an external # URL. Amazon S3 stores the value of this header in the object # metadata. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] ssekms_key_id # Specifies the AWS KMS key ID to use for object encryption. All GET # and PUT requests for an object protected by AWS KMS will fail if not # made via SSL or using SigV4. Documentation on configuring any of the # officially supported AWS SDKs and CLI can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version # @return [String] # # @!attribute [rw] copy_source_sse_customer_algorithm # Specifies the algorithm to use when decrypting the source object # (e.g., AES256). # @return [String] # # @!attribute [rw] copy_source_sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # to decrypt the source object. The encryption key provided in this # header must be one that was used when the source object was created. # @return [String] # # @!attribute [rw] copy_source_sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] tagging # The tag-set for the object destination object this value must be # used in conjunction with the TaggingDirective. The tag-set must be # encoded as URL Query parameters # @return [String] # # @!attribute [rw] object_lock_mode # The Object Lock mode that you want to apply to the copied object. # @return [String] # # @!attribute [rw] object_lock_retain_until_date # The date and time when you want the copied object's Object Lock to # expire. # @return [Time] # # @!attribute [rw] object_lock_legal_hold_status # Specifies whether you want to apply a Legal Hold to the copied # object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectRequest AWS API Documentation # class CopyObjectRequest < Struct.new( :acl, :bucket, :cache_control, :content_disposition, :content_encoding, :content_language, :content_type, :copy_source, :copy_source_if_match, :copy_source_if_modified_since, :copy_source_if_none_match, :copy_source_if_unmodified_since, :expires, :grant_full_control, :grant_read, :grant_read_acp, :grant_write_acp, :key, :metadata, :metadata_directive, :tagging_directive, :server_side_encryption, :storage_class, :website_redirect_location, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :ssekms_key_id, :copy_source_sse_customer_algorithm, :copy_source_sse_customer_key, :copy_source_sse_customer_key_md5, :request_payer, :tagging, :object_lock_mode, :object_lock_retain_until_date, :object_lock_legal_hold_status) include Aws::Structure end # @!attribute [rw] etag # @return [String] # # @!attribute [rw] last_modified # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult AWS API Documentation # class CopyObjectResult < Struct.new( :etag, :last_modified) include Aws::Structure end # @!attribute [rw] etag # Entity tag of the object. # @return [String] # # @!attribute [rw] last_modified # Date and time at which the object was uploaded. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyPartResult AWS API Documentation # class CopyPartResult < Struct.new( :etag, :last_modified) include Aws::Structure end # @note When making an API call, you may pass CreateBucketConfiguration # data as a hash: # # { # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1 # } # # @!attribute [rw] location_constraint # Specifies the region where the bucket will be created. If you don't # specify a region, the bucket is created in US East (N. Virginia) # Region (us-east-1). # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration AWS API Documentation # class CreateBucketConfiguration < Struct.new( :location_constraint) include Aws::Structure end # @!attribute [rw] location # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketOutput AWS API Documentation # class CreateBucketOutput < Struct.new( :location) include Aws::Structure end # @note When making an API call, you may pass CreateBucketRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read # bucket: "BucketName", # required # create_bucket_configuration: { # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1 # }, # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write: "GrantWrite", # grant_write_acp: "GrantWriteACP", # object_lock_enabled_for_bucket: false, # } # # @!attribute [rw] acl # The canned ACL to apply to the bucket. # @return [String] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] create_bucket_configuration # @return [Types::CreateBucketConfiguration] # # @!attribute [rw] grant_full_control # Allows grantee the read, write, read ACP, and write ACP permissions # on the bucket. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to list the objects in the bucket. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the bucket ACL. # @return [String] # # @!attribute [rw] grant_write # Allows grantee to create, overwrite, and delete any object in the # bucket. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable bucket. # @return [String] # # @!attribute [rw] object_lock_enabled_for_bucket # Specifies whether you want S3 Object Lock to be enabled for the new # bucket. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketRequest AWS API Documentation # class CreateBucketRequest < Struct.new( :acl, :bucket, :create_bucket_configuration, :grant_full_control, :grant_read, :grant_read_acp, :grant_write, :grant_write_acp, :object_lock_enabled_for_bucket) include Aws::Structure end # @!attribute [rw] abort_date # Date when multipart upload will become eligible for abort operation # by lifecycle. # @return [Time] # # @!attribute [rw] abort_rule_id # Id of the lifecycle rule that makes a multipart upload eligible for # abort operation. # @return [String] # # @!attribute [rw] bucket # Name of the bucket to which the multipart upload was initiated. # @return [String] # # @!attribute [rw] key # Object key for which the multipart upload was initiated. # @return [String] # # @!attribute [rw] upload_id # ID for the initiated multipart upload. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadOutput AWS API Documentation # class CreateMultipartUploadOutput < Struct.new( :abort_date, :abort_rule_id, :bucket, :key, :upload_id, :server_side_encryption, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass CreateMultipartUploadRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # bucket: "BucketName", # required # cache_control: "CacheControl", # content_disposition: "ContentDisposition", # content_encoding: "ContentEncoding", # content_language: "ContentLanguage", # content_type: "ContentType", # expires: Time.now, # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write_acp: "GrantWriteACP", # key: "ObjectKey", # required # metadata: { # "MetadataKey" => "MetadataValue", # }, # server_side_encryption: "AES256", # accepts AES256, aws:kms # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # website_redirect_location: "WebsiteRedirectLocation", # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # ssekms_key_id: "SSEKMSKeyId", # request_payer: "requester", # accepts requester # tagging: "TaggingHeader", # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # object_lock_retain_until_date: Time.now, # object_lock_legal_hold_status: "ON", # accepts ON, OFF # } # # @!attribute [rw] acl # The canned ACL to apply to the object. # @return [String] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] cache_control # Specifies caching behavior along the request/reply chain. # @return [String] # # @!attribute [rw] content_disposition # Specifies presentational information for the object. # @return [String] # # @!attribute [rw] content_encoding # Specifies what content encodings have been applied to the object and # thus what decoding mechanisms must be applied to obtain the # media-type referenced by the Content-Type header field. # @return [String] # # @!attribute [rw] content_language # The language the content is in. # @return [String] # # @!attribute [rw] content_type # A standard MIME type describing the format of the object data. # @return [String] # # @!attribute [rw] expires # The date and time at which the object is no longer cacheable. # @return [Time] # # @!attribute [rw] grant_full_control # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the # object. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to read the object data and its metadata. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the object ACL. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable object. # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] metadata # A map of metadata to store with the object in S3. # @return [Hash] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] storage_class # The type of storage to use for the object. Defaults to 'STANDARD'. # @return [String] # # @!attribute [rw] website_redirect_location # If the bucket is configured as a website, redirects requests for # this object to another object in the same bucket or to an external # URL. Amazon S3 stores the value of this header in the object # metadata. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] ssekms_key_id # Specifies the AWS KMS key ID to use for object encryption. All GET # and PUT requests for an object protected by AWS KMS will fail if not # made via SSL or using SigV4. Documentation on configuring any of the # officially supported AWS SDKs and CLI can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] tagging # The tag-set for the object. The tag-set must be encoded as URL Query # parameters # @return [String] # # @!attribute [rw] object_lock_mode # Specifies the Object Lock mode that you want to apply to the # uploaded object. # @return [String] # # @!attribute [rw] object_lock_retain_until_date # Specifies the date and time when you want the Object Lock to expire. # @return [Time] # # @!attribute [rw] object_lock_legal_hold_status # Specifies whether you want to apply a Legal Hold to the uploaded # object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadRequest AWS API Documentation # class CreateMultipartUploadRequest < Struct.new( :acl, :bucket, :cache_control, :content_disposition, :content_encoding, :content_language, :content_type, :expires, :grant_full_control, :grant_read, :grant_read_acp, :grant_write_acp, :key, :metadata, :server_side_encryption, :storage_class, :website_redirect_location, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :ssekms_key_id, :request_payer, :tagging, :object_lock_mode, :object_lock_retain_until_date, :object_lock_legal_hold_status) include Aws::Structure end # The container element for specifying the default Object Lock retention # settings for new objects placed in the specified bucket. # # @note When making an API call, you may pass DefaultRetention # data as a hash: # # { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # days: 1, # years: 1, # } # # @!attribute [rw] mode # The default Object Lock retention mode you want to apply to new # objects placed in the specified bucket. # @return [String] # # @!attribute [rw] days # The number of days that you want to specify for the default # retention period. # @return [Integer] # # @!attribute [rw] years # The number of years that you want to specify for the default # retention period. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DefaultRetention AWS API Documentation # class DefaultRetention < Struct.new( :mode, :days, :years) include Aws::Structure end # @note When making an API call, you may pass Delete # data as a hash: # # { # objects: [ # required # { # key: "ObjectKey", # required # version_id: "ObjectVersionId", # }, # ], # quiet: false, # } # # @!attribute [rw] objects # @return [Array] # # @!attribute [rw] quiet # Element to enable quiet mode for the request. When you add this # element, you must set its value to true. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Delete AWS API Documentation # class Delete < Struct.new( :objects, :quiet) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketAnalyticsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "AnalyticsId", # required # } # # @!attribute [rw] bucket # The name of the bucket from which an analytics configuration is # deleted. # @return [String] # # @!attribute [rw] id # The identifier used to represent an analytics configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfigurationRequest AWS API Documentation # class DeleteBucketAnalyticsConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketCorsRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCorsRequest AWS API Documentation # class DeleteBucketCorsRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketEncryptionRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The name of the bucket containing the server-side encryption # configuration to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryptionRequest AWS API Documentation # class DeleteBucketEncryptionRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketInventoryConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "InventoryId", # required # } # # @!attribute [rw] bucket # The name of the bucket containing the inventory configuration to # delete. # @return [String] # # @!attribute [rw] id # The ID used to identify the inventory configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfigurationRequest AWS API Documentation # class DeleteBucketInventoryConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketLifecycleRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycleRequest AWS API Documentation # class DeleteBucketLifecycleRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketMetricsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "MetricsId", # required # } # # @!attribute [rw] bucket # The name of the bucket containing the metrics configuration to # delete. # @return [String] # # @!attribute [rw] id # The ID used to identify the metrics configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfigurationRequest AWS API Documentation # class DeleteBucketMetricsConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketPolicyRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicyRequest AWS API Documentation # class DeleteBucketPolicyRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketReplicationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The bucket name. # # It can take a while to propagate the deletion of a replication # configuration to all Amazon S3 systems. # # # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationRequest AWS API Documentation # class DeleteBucketReplicationRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketRequest AWS API Documentation # class DeleteBucketRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTaggingRequest AWS API Documentation # class DeleteBucketTaggingRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass DeleteBucketWebsiteRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsiteRequest AWS API Documentation # class DeleteBucketWebsiteRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] owner # @return [Types::Owner] # # @!attribute [rw] key # The object key. # @return [String] # # @!attribute [rw] version_id # Version ID of an object. # @return [String] # # @!attribute [rw] is_latest # Specifies whether the object is (true) or is not (false) the latest # version of an object. # @return [Boolean] # # @!attribute [rw] last_modified # Date and time the object was last modified. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry AWS API Documentation # class DeleteMarkerEntry < Struct.new( :owner, :key, :version_id, :is_latest, :last_modified) include Aws::Structure end # Specifies whether Amazon S3 should replicate delete makers. # # @note When making an API call, you may pass DeleteMarkerReplication # data as a hash: # # { # status: "Enabled", # accepts Enabled, Disabled # } # # @!attribute [rw] status # The status of the delete marker replication. # # In the current implementation, Amazon S3 doesn't replicate the # delete markers. The status must be `Disabled`. # # # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerReplication AWS API Documentation # class DeleteMarkerReplication < Struct.new( :status) include Aws::Structure end # @!attribute [rw] delete_marker # Specifies whether the versioned object that was permanently deleted # was (true) or was not (false) a delete marker. # @return [Boolean] # # @!attribute [rw] version_id # Returns the version ID of the delete marker created as a result of # the DELETE operation. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectOutput AWS API Documentation # class DeleteObjectOutput < Struct.new( :delete_marker, :version_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass DeleteObjectRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # mfa: "MFA", # version_id: "ObjectVersionId", # request_payer: "requester", # accepts requester # bypass_governance_retention: false, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] mfa # The concatenation of the authentication device's serial number, a # space, and the value that is displayed on your authentication # device. # @return [String] # # @!attribute [rw] version_id # VersionId used to reference a specific version of the object. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] bypass_governance_retention # Indicates whether S3 Object Lock should bypass Governance-mode # restrictions to process this operation. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectRequest AWS API Documentation # class DeleteObjectRequest < Struct.new( :bucket, :key, :mfa, :version_id, :request_payer, :bypass_governance_retention) include Aws::Structure end # @!attribute [rw] version_id # The versionId of the object the tag-set was removed from. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTaggingOutput AWS API Documentation # class DeleteObjectTaggingOutput < Struct.new( :version_id) include Aws::Structure end # @note When making an API call, you may pass DeleteObjectTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # The versionId of the object that the tag-set will be removed from. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTaggingRequest AWS API Documentation # class DeleteObjectTaggingRequest < Struct.new( :bucket, :key, :version_id) include Aws::Structure end # @!attribute [rw] deleted # @return [Array] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @!attribute [rw] errors # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsOutput AWS API Documentation # class DeleteObjectsOutput < Struct.new( :deleted, :request_charged, :errors) include Aws::Structure end # @note When making an API call, you may pass DeleteObjectsRequest # data as a hash: # # { # bucket: "BucketName", # required # delete: { # required # objects: [ # required # { # key: "ObjectKey", # required # version_id: "ObjectVersionId", # }, # ], # quiet: false, # }, # mfa: "MFA", # request_payer: "requester", # accepts requester # bypass_governance_retention: false, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] delete # @return [Types::Delete] # # @!attribute [rw] mfa # The concatenation of the authentication device's serial number, a # space, and the value that is displayed on your authentication # device. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] bypass_governance_retention # Specifies whether you want to delete this object even if it has a # Governance-type Object Lock in place. You must have sufficient # permissions to perform this operation. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsRequest AWS API Documentation # class DeleteObjectsRequest < Struct.new( :bucket, :delete, :mfa, :request_payer, :bypass_governance_retention) include Aws::Structure end # @note When making an API call, you may pass DeletePublicAccessBlockRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The Amazon S3 bucket whose `PublicAccessBlock` configuration you # want to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlockRequest AWS API Documentation # class DeletePublicAccessBlockRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # @return [String] # # @!attribute [rw] delete_marker # @return [Boolean] # # @!attribute [rw] delete_marker_version_id # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject AWS API Documentation # class DeletedObject < Struct.new( :key, :version_id, :delete_marker, :delete_marker_version_id) include Aws::Structure end # A container for information about the replication destination. # # @note When making an API call, you may pass Destination # data as a hash: # # { # bucket: "BucketName", # required # account: "AccountId", # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # access_control_translation: { # owner: "Destination", # required, accepts Destination # }, # encryption_configuration: { # replica_kms_key_id: "ReplicaKmsKeyID", # }, # } # # @!attribute [rw] bucket # The Amazon Resource Name (ARN) of the bucket where you want Amazon # S3 to store replicas of the object identified by the rule. # # If there are multiple rules in your replication configuration, all # rules must specify the same bucket as the destination. A replication # configuration can replicate objects to only one destination bucket. # @return [String] # # @!attribute [rw] account # The account ID of the destination bucket. Currently, Amazon S3 # verifies this value only if Access Control Translation is enabled. # # In a cross-account scenario, if you change replica ownership to the # AWS account that owns the destination bucket by adding the # `AccessControlTranslation` element, this is the account ID of the # owner of the destination bucket. # @return [String] # # @!attribute [rw] storage_class # The class of storage used to store the object. By default Amazon S3 # uses storage class of the source object when creating a replica. # @return [String] # # @!attribute [rw] access_control_translation # A container for information about access control for replicas. # # Use this element only in a cross-account scenario where source and # destination bucket owners are not the same to change replica # ownership to the AWS account that owns the destination bucket. If # you don't add this element to the replication configuration, the # replicas are owned by same AWS account that owns the source object. # @return [Types::AccessControlTranslation] # # @!attribute [rw] encryption_configuration # A container that provides information about encryption. If # `SourceSelectionCriteria` is specified, you must specify this # element. # @return [Types::EncryptionConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination AWS API Documentation # class Destination < Struct.new( :bucket, :account, :storage_class, :access_control_translation, :encryption_configuration) include Aws::Structure end # Describes the server-side encryption that will be applied to the # restore results. # # @note When making an API call, you may pass Encryption # data as a hash: # # { # encryption_type: "AES256", # required, accepts AES256, aws:kms # kms_key_id: "SSEKMSKeyId", # kms_context: "KMSContext", # } # # @!attribute [rw] encryption_type # The server-side encryption algorithm used when storing job results # in Amazon S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] kms_key_id # If the encryption type is aws:kms, this optional value specifies the # AWS KMS key ID to use for encryption of job results. # @return [String] # # @!attribute [rw] kms_context # If the encryption type is aws:kms, this optional value can be used # to specify the encryption context for the restore results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Encryption AWS API Documentation # class Encryption < Struct.new( :encryption_type, :kms_key_id, :kms_context) include Aws::Structure end # A container for information about the encryption-based configuration # for replicas. # # @note When making an API call, you may pass EncryptionConfiguration # data as a hash: # # { # replica_kms_key_id: "ReplicaKmsKeyID", # } # # @!attribute [rw] replica_kms_key_id # The ID of the AWS KMS key for the AWS Region where the destination # bucket resides. Amazon S3 uses this key to encrypt the replica # object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration AWS API Documentation # class EncryptionConfiguration < Struct.new( :replica_kms_key_id) include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EndEvent AWS API Documentation # class EndEvent < Struct.new( :event_type) include Aws::Structure end # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # @return [String] # # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Error AWS API Documentation # class Error < Struct.new( :key, :version_id, :code, :message) include Aws::Structure end # @note When making an API call, you may pass ErrorDocument # data as a hash: # # { # key: "ObjectKey", # required # } # # @!attribute [rw] key # The object key name to use when a 4XX class error occurs. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument AWS API Documentation # class ErrorDocument < Struct.new( :key) include Aws::Structure end # A container for a key value pair that defines the criteria for the # filter rule. # # @note When making an API call, you may pass FilterRule # data as a hash: # # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # } # # @!attribute [rw] name # The object key name prefix or suffix identifying one or more objects # to which the filtering rule applies. The maximum prefix length is # 1,024 characters. Overlapping prefixes and suffixes are not # supported. For more information, see [Configuring Event # Notifications][1] in the *Amazon Simple Storage Service Developer # Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html # @return [String] # # @!attribute [rw] value # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/FilterRule AWS API Documentation # class FilterRule < Struct.new( :name, :value) include Aws::Structure end # @!attribute [rw] status # The accelerate configuration of the bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationOutput AWS API Documentation # class GetBucketAccelerateConfigurationOutput < Struct.new( :status) include Aws::Structure end # @note When making an API call, you may pass GetBucketAccelerateConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # Name of the bucket for which the accelerate configuration is # retrieved. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationRequest AWS API Documentation # class GetBucketAccelerateConfigurationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] owner # @return [Types::Owner] # # @!attribute [rw] grants # A list of grants. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclOutput AWS API Documentation # class GetBucketAclOutput < Struct.new( :owner, :grants) include Aws::Structure end # @note When making an API call, you may pass GetBucketAclRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclRequest AWS API Documentation # class GetBucketAclRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] analytics_configuration # The configuration and any analyses for the analytics filter. # @return [Types::AnalyticsConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfigurationOutput AWS API Documentation # class GetBucketAnalyticsConfigurationOutput < Struct.new( :analytics_configuration) include Aws::Structure end # @note When making an API call, you may pass GetBucketAnalyticsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "AnalyticsId", # required # } # # @!attribute [rw] bucket # The name of the bucket from which an analytics configuration is # retrieved. # @return [String] # # @!attribute [rw] id # The identifier used to represent an analytics configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfigurationRequest AWS API Documentation # class GetBucketAnalyticsConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @!attribute [rw] cors_rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsOutput AWS API Documentation # class GetBucketCorsOutput < Struct.new( :cors_rules) include Aws::Structure end # @note When making an API call, you may pass GetBucketCorsRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsRequest AWS API Documentation # class GetBucketCorsRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] server_side_encryption_configuration # Container for server-side encryption configuration rules. Currently # S3 supports one rule only. # @return [Types::ServerSideEncryptionConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryptionOutput AWS API Documentation # class GetBucketEncryptionOutput < Struct.new( :server_side_encryption_configuration) include Aws::Structure end # @note When making an API call, you may pass GetBucketEncryptionRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The name of the bucket from which the server-side encryption # configuration is retrieved. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryptionRequest AWS API Documentation # class GetBucketEncryptionRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] inventory_configuration # Specifies the inventory configuration. # @return [Types::InventoryConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfigurationOutput AWS API Documentation # class GetBucketInventoryConfigurationOutput < Struct.new( :inventory_configuration) include Aws::Structure end # @note When making an API call, you may pass GetBucketInventoryConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "InventoryId", # required # } # # @!attribute [rw] bucket # The name of the bucket containing the inventory configuration to # retrieve. # @return [String] # # @!attribute [rw] id # The ID used to identify the inventory configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfigurationRequest AWS API Documentation # class GetBucketInventoryConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @!attribute [rw] rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationOutput AWS API Documentation # class GetBucketLifecycleConfigurationOutput < Struct.new( :rules) include Aws::Structure end # @note When making an API call, you may pass GetBucketLifecycleConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationRequest AWS API Documentation # class GetBucketLifecycleConfigurationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleOutput AWS API Documentation # class GetBucketLifecycleOutput < Struct.new( :rules) include Aws::Structure end # @note When making an API call, you may pass GetBucketLifecycleRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleRequest AWS API Documentation # class GetBucketLifecycleRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] location_constraint # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationOutput AWS API Documentation # class GetBucketLocationOutput < Struct.new( :location_constraint) include Aws::Structure end # @note When making an API call, you may pass GetBucketLocationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationRequest AWS API Documentation # class GetBucketLocationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] logging_enabled # Container for logging information. Presence of this element # indicates that logging is enabled. Parameters TargetBucket and # TargetPrefix are required in this case. # @return [Types::LoggingEnabled] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingOutput AWS API Documentation # class GetBucketLoggingOutput < Struct.new( :logging_enabled) include Aws::Structure end # @note When making an API call, you may pass GetBucketLoggingRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingRequest AWS API Documentation # class GetBucketLoggingRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] metrics_configuration # Specifies the metrics configuration. # @return [Types::MetricsConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfigurationOutput AWS API Documentation # class GetBucketMetricsConfigurationOutput < Struct.new( :metrics_configuration) include Aws::Structure end # @note When making an API call, you may pass GetBucketMetricsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "MetricsId", # required # } # # @!attribute [rw] bucket # The name of the bucket containing the metrics configuration to # retrieve. # @return [String] # # @!attribute [rw] id # The ID used to identify the metrics configuration. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfigurationRequest AWS API Documentation # class GetBucketMetricsConfigurationRequest < Struct.new( :bucket, :id) include Aws::Structure end # @note When making an API call, you may pass GetBucketNotificationConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # Name of the bucket to get the notification configuration for. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfigurationRequest AWS API Documentation # class GetBucketNotificationConfigurationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] policy # The bucket policy as a JSON document. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyOutput AWS API Documentation # class GetBucketPolicyOutput < Struct.new( :policy) include Aws::Structure end # @note When making an API call, you may pass GetBucketPolicyRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyRequest AWS API Documentation # class GetBucketPolicyRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] policy_status # The policy status for the specified bucket. # @return [Types::PolicyStatus] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusOutput AWS API Documentation # class GetBucketPolicyStatusOutput < Struct.new( :policy_status) include Aws::Structure end # @note When making an API call, you may pass GetBucketPolicyStatusRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The name of the Amazon S3 bucket whose policy status you want to # retrieve. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusRequest AWS API Documentation # class GetBucketPolicyStatusRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] replication_configuration # A container for replication rules. You can add up to 1,000 rules. # The maximum size of a replication configuration is 2 MB. # @return [Types::ReplicationConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationOutput AWS API Documentation # class GetBucketReplicationOutput < Struct.new( :replication_configuration) include Aws::Structure end # @note When making an API call, you may pass GetBucketReplicationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationRequest AWS API Documentation # class GetBucketReplicationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] payer # Specifies who pays for the download and request fees. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentOutput AWS API Documentation # class GetBucketRequestPaymentOutput < Struct.new( :payer) include Aws::Structure end # @note When making an API call, you may pass GetBucketRequestPaymentRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentRequest AWS API Documentation # class GetBucketRequestPaymentRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] tag_set # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingOutput AWS API Documentation # class GetBucketTaggingOutput < Struct.new( :tag_set) include Aws::Structure end # @note When making an API call, you may pass GetBucketTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingRequest AWS API Documentation # class GetBucketTaggingRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] status # The versioning state of the bucket. # @return [String] # # @!attribute [rw] mfa_delete # 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. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningOutput AWS API Documentation # class GetBucketVersioningOutput < Struct.new( :status, :mfa_delete) include Aws::Structure end # @note When making an API call, you may pass GetBucketVersioningRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningRequest AWS API Documentation # class GetBucketVersioningRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] redirect_all_requests_to # @return [Types::RedirectAllRequestsTo] # # @!attribute [rw] index_document # @return [Types::IndexDocument] # # @!attribute [rw] error_document # @return [Types::ErrorDocument] # # @!attribute [rw] routing_rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteOutput AWS API Documentation # class GetBucketWebsiteOutput < Struct.new( :redirect_all_requests_to, :index_document, :error_document, :routing_rules) include Aws::Structure end # @note When making an API call, you may pass GetBucketWebsiteRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteRequest AWS API Documentation # class GetBucketWebsiteRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] owner # @return [Types::Owner] # # @!attribute [rw] grants # A list of grants. # @return [Array] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclOutput AWS API Documentation # class GetObjectAclOutput < Struct.new( :owner, :grants, :request_charged) include Aws::Structure end # @note When making an API call, you may pass GetObjectAclRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # VersionId used to reference a specific version of the object. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclRequest AWS API Documentation # class GetObjectAclRequest < Struct.new( :bucket, :key, :version_id, :request_payer) include Aws::Structure end # @!attribute [rw] legal_hold # The current Legal Hold status for the specified object. # @return [Types::ObjectLockLegalHold] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHoldOutput AWS API Documentation # class GetObjectLegalHoldOutput < Struct.new( :legal_hold) include Aws::Structure end # @note When making an API call, you may pass GetObjectLegalHoldRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # The bucket containing the object whose Legal Hold status you want to # retrieve. # @return [String] # # @!attribute [rw] key # The key name for the object whose Legal Hold status you want to # retrieve. # @return [String] # # @!attribute [rw] version_id # The version ID of the object whose Legal Hold status you want to # retrieve. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHoldRequest AWS API Documentation # class GetObjectLegalHoldRequest < Struct.new( :bucket, :key, :version_id, :request_payer) include Aws::Structure end # @!attribute [rw] object_lock_configuration # The specified bucket's Object Lock configuration. # @return [Types::ObjectLockConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfigurationOutput AWS API Documentation # class GetObjectLockConfigurationOutput < Struct.new( :object_lock_configuration) include Aws::Structure end # @note When making an API call, you may pass GetObjectLockConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The bucket whose Object Lock configuration you want to retrieve. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfigurationRequest AWS API Documentation # class GetObjectLockConfigurationRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] body # Object data. # @return [IO] # # @!attribute [rw] delete_marker # Specifies whether the object retrieved was (true) or was not (false) # a Delete Marker. If false, this response header does not appear in # the response. # @return [Boolean] # # @!attribute [rw] accept_ranges # @return [String] # # @!attribute [rw] expiration # If the object expiration is configured (see PUT Bucket lifecycle), # the response includes this header. It includes the expiry-date and # rule-id key value pairs providing object expiration information. The # value of the rule-id is URL encoded. # @return [String] # # @!attribute [rw] restore # Provides information about object restoration operation and # expiration time of the restored object copy. # @return [String] # # @!attribute [rw] last_modified # Last modified date of the object # @return [Time] # # @!attribute [rw] content_length # Size of the body in bytes. # @return [Integer] # # @!attribute [rw] etag # An ETag is an opaque identifier assigned by a web server to a # specific version of a resource found at a URL # @return [String] # # @!attribute [rw] missing_meta # This is set to the number of metadata entries not returned in # x-amz-meta headers. This can happen if you create metadata using an # API like SOAP that supports more flexible metadata than the REST # API. For example, using SOAP, you can create metadata whose values # are not legal HTTP headers. # @return [Integer] # # @!attribute [rw] version_id # Version of the object. # @return [String] # # @!attribute [rw] cache_control # Specifies caching behavior along the request/reply chain. # @return [String] # # @!attribute [rw] content_disposition # Specifies presentational information for the object. # @return [String] # # @!attribute [rw] content_encoding # Specifies what content encodings have been applied to the object and # thus what decoding mechanisms must be applied to obtain the # media-type referenced by the Content-Type header field. # @return [String] # # @!attribute [rw] content_language # The language the content is in. # @return [String] # # @!attribute [rw] content_range # The portion of the object returned in the response. # @return [String] # # @!attribute [rw] content_type # A standard MIME type describing the format of the object data. # @return [String] # # @!attribute [rw] expires # The date and time at which the object is no longer cacheable. # @return [Time] # # @!attribute [rw] expires_string # @return [String] # # @!attribute [rw] website_redirect_location # If the bucket is configured as a website, redirects requests for # this object to another object in the same bucket or to an external # URL. Amazon S3 stores the value of this header in the object # metadata. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] metadata # A map of metadata to store with the object in S3. # @return [Hash] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] storage_class # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @!attribute [rw] replication_status # @return [String] # # @!attribute [rw] parts_count # The count of parts this object has. # @return [Integer] # # @!attribute [rw] tag_count # The number of tags, if any, on the object. # @return [Integer] # # @!attribute [rw] object_lock_mode # The Object Lock mode currently in place for this object. # @return [String] # # @!attribute [rw] object_lock_retain_until_date # The date and time when this object's Object Lock will expire. # @return [Time] # # @!attribute [rw] object_lock_legal_hold_status # Indicates whether this object has an active legal hold. This field # is only returned if you have permission to view an object's legal # hold status. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectOutput AWS API Documentation # class GetObjectOutput < Struct.new( :body, :delete_marker, :accept_ranges, :expiration, :restore, :last_modified, :content_length, :etag, :missing_meta, :version_id, :cache_control, :content_disposition, :content_encoding, :content_language, :content_range, :content_type, :expires, :expires_string, :website_redirect_location, :server_side_encryption, :metadata, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :storage_class, :request_charged, :replication_status, :parts_count, :tag_count, :object_lock_mode, :object_lock_retain_until_date, :object_lock_legal_hold_status) include Aws::Structure end # @note When making an API call, you may pass GetObjectRequest # data as a hash: # # { # bucket: "BucketName", # required # if_match: "IfMatch", # if_modified_since: Time.now, # if_none_match: "IfNoneMatch", # if_unmodified_since: Time.now, # key: "ObjectKey", # required # range: "Range", # response_cache_control: "ResponseCacheControl", # response_content_disposition: "ResponseContentDisposition", # response_content_encoding: "ResponseContentEncoding", # response_content_language: "ResponseContentLanguage", # response_content_type: "ResponseContentType", # response_expires: Time.now, # version_id: "ObjectVersionId", # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # request_payer: "requester", # accepts requester # part_number: 1, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] if_match # Return the object only if its entity tag (ETag) is the same as the # one specified, otherwise return a 412 (precondition failed). # @return [String] # # @!attribute [rw] if_modified_since # Return the object only if it has been modified since the specified # time, otherwise return a 304 (not modified). # @return [Time] # # @!attribute [rw] if_none_match # Return the object only if its entity tag (ETag) is different from # the one specified, otherwise return a 304 (not modified). # @return [String] # # @!attribute [rw] if_unmodified_since # Return the object only if it has not been modified since the # specified time, otherwise return a 412 (precondition failed). # @return [Time] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] range # Downloads the specified range bytes of an object. For more # information about the HTTP Range header, go to # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. # @return [String] # # @!attribute [rw] response_cache_control # Sets the Cache-Control header of the response. # @return [String] # # @!attribute [rw] response_content_disposition # Sets the Content-Disposition header of the response # @return [String] # # @!attribute [rw] response_content_encoding # Sets the Content-Encoding header of the response. # @return [String] # # @!attribute [rw] response_content_language # Sets the Content-Language header of the response. # @return [String] # # @!attribute [rw] response_content_type # Sets the Content-Type header of the response. # @return [String] # # @!attribute [rw] response_expires # Sets the Expires header of the response. # @return [Time] # # @!attribute [rw] version_id # VersionId used to reference a specific version of the object. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] part_number # Part number of the object being read. This is a positive integer # between 1 and 10,000. Effectively performs a 'ranged' GET request # for the part specified. Useful for downloading just a part of an # object. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRequest AWS API Documentation # class GetObjectRequest < Struct.new( :bucket, :if_match, :if_modified_since, :if_none_match, :if_unmodified_since, :key, :range, :response_cache_control, :response_content_disposition, :response_content_encoding, :response_content_language, :response_content_type, :response_expires, :version_id, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :request_payer, :part_number) include Aws::Structure end # @!attribute [rw] retention # The container element for an object's retention settings. # @return [Types::ObjectLockRetention] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetentionOutput AWS API Documentation # class GetObjectRetentionOutput < Struct.new( :retention) include Aws::Structure end # @note When making an API call, you may pass GetObjectRetentionRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # The bucket containing the object whose retention settings you want # to retrieve. # @return [String] # # @!attribute [rw] key # The key name for the object whose retention settings you want to # retrieve. # @return [String] # # @!attribute [rw] version_id # The version ID for the object whose retention settings you want to # retrieve. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetentionRequest AWS API Documentation # class GetObjectRetentionRequest < Struct.new( :bucket, :key, :version_id, :request_payer) include Aws::Structure end # @!attribute [rw] version_id # @return [String] # # @!attribute [rw] tag_set # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingOutput AWS API Documentation # class GetObjectTaggingOutput < Struct.new( :version_id, :tag_set) include Aws::Structure end # @note When making an API call, you may pass GetObjectTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingRequest AWS API Documentation # class GetObjectTaggingRequest < Struct.new( :bucket, :key, :version_id) include Aws::Structure end # @!attribute [rw] body # @return [IO] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentOutput AWS API Documentation # class GetObjectTorrentOutput < Struct.new( :body, :request_charged) include Aws::Structure end # @note When making an API call, you may pass GetObjectTorrentRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentRequest AWS API Documentation # class GetObjectTorrentRequest < Struct.new( :bucket, :key, :request_payer) include Aws::Structure end # @!attribute [rw] public_access_block_configuration # The `PublicAccessBlock` configuration currently in effect for this # Amazon S3 bucket. # @return [Types::PublicAccessBlockConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlockOutput AWS API Documentation # class GetPublicAccessBlockOutput < Struct.new( :public_access_block_configuration) include Aws::Structure end # @note When making an API call, you may pass GetPublicAccessBlockRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # The name of the Amazon S3 bucket whose `PublicAccessBlock` # configuration you want to retrieve. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlockRequest AWS API Documentation # class GetPublicAccessBlockRequest < Struct.new( :bucket) include Aws::Structure end # @note When making an API call, you may pass GlacierJobParameters # data as a hash: # # { # tier: "Standard", # required, accepts Standard, Bulk, Expedited # } # # @!attribute [rw] tier # Glacier retrieval tier at which the restore will be processed. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters AWS API Documentation # class GlacierJobParameters < Struct.new( :tier) include Aws::Structure end # @note When making an API call, you may pass Grant # data as a hash: # # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # } # # @!attribute [rw] grantee # @return [Types::Grantee] # # @!attribute [rw] permission # Specifies the permission given to the grantee. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grant AWS API Documentation # class Grant < Struct.new( :grantee, :permission) include Aws::Structure end # @note When making an API call, you may pass Grantee # data as a hash: # # { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # } # # @!attribute [rw] display_name # Screen name of the grantee. # @return [String] # # @!attribute [rw] email_address # Email address of the grantee. # @return [String] # # @!attribute [rw] id # The canonical user ID of the grantee. # @return [String] # # @!attribute [rw] type # Type of grantee # @return [String] # # @!attribute [rw] uri # URI of the grantee group. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grantee AWS API Documentation # class Grantee < Struct.new( :display_name, :email_address, :id, :type, :uri) include Aws::Structure end # @note When making an API call, you may pass HeadBucketRequest # data as a hash: # # { # bucket: "BucketName", # required # } # # @!attribute [rw] bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketRequest AWS API Documentation # class HeadBucketRequest < Struct.new( :bucket) include Aws::Structure end # @!attribute [rw] delete_marker # Specifies whether the object retrieved was (true) or was not (false) # a Delete Marker. If false, this response header does not appear in # the response. # @return [Boolean] # # @!attribute [rw] accept_ranges # @return [String] # # @!attribute [rw] expiration # If the object expiration is configured (see PUT Bucket lifecycle), # the response includes this header. It includes the expiry-date and # rule-id key value pairs providing object expiration information. The # value of the rule-id is URL encoded. # @return [String] # # @!attribute [rw] restore # Provides information about object restoration operation and # expiration time of the restored object copy. # @return [String] # # @!attribute [rw] last_modified # Last modified date of the object # @return [Time] # # @!attribute [rw] content_length # Size of the body in bytes. # @return [Integer] # # @!attribute [rw] etag # An ETag is an opaque identifier assigned by a web server to a # specific version of a resource found at a URL # @return [String] # # @!attribute [rw] missing_meta # This is set to the number of metadata entries not returned in # x-amz-meta headers. This can happen if you create metadata using an # API like SOAP that supports more flexible metadata than the REST # API. For example, using SOAP, you can create metadata whose values # are not legal HTTP headers. # @return [Integer] # # @!attribute [rw] version_id # Version of the object. # @return [String] # # @!attribute [rw] cache_control # Specifies caching behavior along the request/reply chain. # @return [String] # # @!attribute [rw] content_disposition # Specifies presentational information for the object. # @return [String] # # @!attribute [rw] content_encoding # Specifies what content encodings have been applied to the object and # thus what decoding mechanisms must be applied to obtain the # media-type referenced by the Content-Type header field. # @return [String] # # @!attribute [rw] content_language # The language the content is in. # @return [String] # # @!attribute [rw] content_type # A standard MIME type describing the format of the object data. # @return [String] # # @!attribute [rw] expires # The date and time at which the object is no longer cacheable. # @return [Time] # # @!attribute [rw] expires_string # @return [String] # # @!attribute [rw] website_redirect_location # If the bucket is configured as a website, redirects requests for # this object to another object in the same bucket or to an external # URL. Amazon S3 stores the value of this header in the object # metadata. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] metadata # A map of metadata to store with the object in S3. # @return [Hash] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] storage_class # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @!attribute [rw] replication_status # @return [String] # # @!attribute [rw] parts_count # The count of parts this object has. # @return [Integer] # # @!attribute [rw] object_lock_mode # The Object Lock mode currently in place for this object. # @return [String] # # @!attribute [rw] object_lock_retain_until_date # The date and time when this object's Object Lock will expire. # @return [Time] # # @!attribute [rw] object_lock_legal_hold_status # The Legal Hold status for the specified object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectOutput AWS API Documentation # class HeadObjectOutput < Struct.new( :delete_marker, :accept_ranges, :expiration, :restore, :last_modified, :content_length, :etag, :missing_meta, :version_id, :cache_control, :content_disposition, :content_encoding, :content_language, :content_type, :expires, :expires_string, :website_redirect_location, :server_side_encryption, :metadata, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :storage_class, :request_charged, :replication_status, :parts_count, :object_lock_mode, :object_lock_retain_until_date, :object_lock_legal_hold_status) include Aws::Structure end # @note When making an API call, you may pass HeadObjectRequest # data as a hash: # # { # bucket: "BucketName", # required # if_match: "IfMatch", # if_modified_since: Time.now, # if_none_match: "IfNoneMatch", # if_unmodified_since: Time.now, # key: "ObjectKey", # required # range: "Range", # version_id: "ObjectVersionId", # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # request_payer: "requester", # accepts requester # part_number: 1, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] if_match # Return the object only if its entity tag (ETag) is the same as the # one specified, otherwise return a 412 (precondition failed). # @return [String] # # @!attribute [rw] if_modified_since # Return the object only if it has been modified since the specified # time, otherwise return a 304 (not modified). # @return [Time] # # @!attribute [rw] if_none_match # Return the object only if its entity tag (ETag) is different from # the one specified, otherwise return a 304 (not modified). # @return [String] # # @!attribute [rw] if_unmodified_since # Return the object only if it has not been modified since the # specified time, otherwise return a 412 (precondition failed). # @return [Time] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] range # Downloads the specified range bytes of an object. For more # information about the HTTP Range header, go to # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. # @return [String] # # @!attribute [rw] version_id # VersionId used to reference a specific version of the object. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] part_number # Part number of the object being read. This is a positive integer # between 1 and 10,000. Effectively performs a 'ranged' HEAD request # for the part specified. Useful querying about the size of the part # and the number of parts in this object. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectRequest AWS API Documentation # class HeadObjectRequest < Struct.new( :bucket, :if_match, :if_modified_since, :if_none_match, :if_unmodified_since, :key, :range, :version_id, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :request_payer, :part_number) include Aws::Structure end # @note When making an API call, you may pass IndexDocument # data as a hash: # # { # suffix: "Suffix", # required # } # # @!attribute [rw] suffix # A suffix that is appended to a request that is for a directory on # the website endpoint (e.g. 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. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IndexDocument AWS API Documentation # class IndexDocument < Struct.new( :suffix) include Aws::Structure end # @!attribute [rw] id # If the principal is an AWS account, it provides the Canonical User # ID. If the principal is an IAM User, it provides a user ARN value. # @return [String] # # @!attribute [rw] display_name # Name of the Principal. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Initiator AWS API Documentation # class Initiator < Struct.new( :id, :display_name) include Aws::Structure end # Describes the serialization format of the object. # # @note When making an API call, you may pass InputSerialization # data as a hash: # # { # csv: { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # }, # compression_type: "NONE", # accepts NONE, GZIP, BZIP2 # json: { # type: "DOCUMENT", # accepts DOCUMENT, LINES # }, # parquet: { # }, # } # # @!attribute [rw] csv # Describes the serialization of a CSV-encoded object. # @return [Types::CSVInput] # # @!attribute [rw] compression_type # Specifies object's compression format. Valid values: NONE, GZIP, # BZIP2. Default Value: NONE. # @return [String] # # @!attribute [rw] json # Specifies JSON as object's input serialization format. # @return [Types::JSONInput] # # @!attribute [rw] parquet # Specifies Parquet as object's input serialization format. # @return [Types::ParquetInput] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization AWS API Documentation # class InputSerialization < Struct.new( :csv, :compression_type, :json, :parquet) include Aws::Structure end # @note When making an API call, you may pass InventoryConfiguration # data as a hash: # # { # destination: { # required # s3_bucket_destination: { # required # account_id: "AccountId", # bucket: "BucketName", # required # format: "CSV", # required, accepts CSV, ORC, Parquet # prefix: "Prefix", # encryption: { # sses3: { # }, # ssekms: { # key_id: "SSEKMSKeyId", # required # }, # }, # }, # }, # is_enabled: false, # required # filter: { # prefix: "Prefix", # required # }, # id: "InventoryId", # required # included_object_versions: "All", # required, accepts All, Current # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus # schedule: { # required # frequency: "Daily", # required, accepts Daily, Weekly # }, # } # # @!attribute [rw] destination # Contains information about where to publish the inventory results. # @return [Types::InventoryDestination] # # @!attribute [rw] is_enabled # Specifies whether the inventory is enabled or disabled. # @return [Boolean] # # @!attribute [rw] filter # Specifies an inventory filter. The inventory only includes objects # that meet the filter's criteria. # @return [Types::InventoryFilter] # # @!attribute [rw] id # The ID used to identify the inventory configuration. # @return [String] # # @!attribute [rw] included_object_versions # Specifies which object version(s) to included in the inventory # results. # @return [String] # # @!attribute [rw] optional_fields # Contains the optional fields that are included in the inventory # results. # @return [Array] # # @!attribute [rw] schedule # Specifies the schedule for generating inventory results. # @return [Types::InventorySchedule] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryConfiguration AWS API Documentation # class InventoryConfiguration < Struct.new( :destination, :is_enabled, :filter, :id, :included_object_versions, :optional_fields, :schedule) include Aws::Structure end # @note When making an API call, you may pass InventoryDestination # data as a hash: # # { # s3_bucket_destination: { # required # account_id: "AccountId", # bucket: "BucketName", # required # format: "CSV", # required, accepts CSV, ORC, Parquet # prefix: "Prefix", # encryption: { # sses3: { # }, # ssekms: { # key_id: "SSEKMSKeyId", # required # }, # }, # }, # } # # @!attribute [rw] s3_bucket_destination # Contains the bucket name, file format, bucket owner (optional), and # prefix (optional) where inventory results are published. # @return [Types::InventoryS3BucketDestination] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryDestination AWS API Documentation # class InventoryDestination < Struct.new( :s3_bucket_destination) include Aws::Structure end # Contains the type of server-side encryption used to encrypt the # inventory results. # # @note When making an API call, you may pass InventoryEncryption # data as a hash: # # { # sses3: { # }, # ssekms: { # key_id: "SSEKMSKeyId", # required # }, # } # # @!attribute [rw] sses3 # Specifies the use of SSE-S3 to encrypt delivered Inventory reports. # @return [Types::SSES3] # # @!attribute [rw] ssekms # Specifies the use of SSE-KMS to encrypt delivered Inventory reports. # @return [Types::SSEKMS] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption AWS API Documentation # class InventoryEncryption < Struct.new( :sses3, :ssekms) include Aws::Structure end # @note When making an API call, you may pass InventoryFilter # data as a hash: # # { # prefix: "Prefix", # required # } # # @!attribute [rw] prefix # The prefix that an object must have to be included in the inventory # results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryFilter AWS API Documentation # class InventoryFilter < Struct.new( :prefix) include Aws::Structure end # @note When making an API call, you may pass InventoryS3BucketDestination # data as a hash: # # { # account_id: "AccountId", # bucket: "BucketName", # required # format: "CSV", # required, accepts CSV, ORC, Parquet # prefix: "Prefix", # encryption: { # sses3: { # }, # ssekms: { # key_id: "SSEKMSKeyId", # required # }, # }, # } # # @!attribute [rw] account_id # The ID of the account that owns the destination bucket. # @return [String] # # @!attribute [rw] bucket # The Amazon resource name (ARN) of the bucket where inventory results # will be published. # @return [String] # # @!attribute [rw] format # Specifies the output format of the inventory results. # @return [String] # # @!attribute [rw] prefix # The prefix that is prepended to all inventory results. # @return [String] # # @!attribute [rw] encryption # Contains the type of server-side encryption used to encrypt the # inventory results. # @return [Types::InventoryEncryption] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryS3BucketDestination AWS API Documentation # class InventoryS3BucketDestination < Struct.new( :account_id, :bucket, :format, :prefix, :encryption) include Aws::Structure end # @note When making an API call, you may pass InventorySchedule # data as a hash: # # { # frequency: "Daily", # required, accepts Daily, Weekly # } # # @!attribute [rw] frequency # Specifies how frequently inventory results are produced. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule AWS API Documentation # class InventorySchedule < Struct.new( :frequency) include Aws::Structure end # @note When making an API call, you may pass JSONInput # data as a hash: # # { # type: "DOCUMENT", # accepts DOCUMENT, LINES # } # # @!attribute [rw] type # The type of JSON. Valid values: Document, Lines. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONInput AWS API Documentation # class JSONInput < Struct.new( :type) include Aws::Structure end # @note When making an API call, you may pass JSONOutput # data as a hash: # # { # record_delimiter: "RecordDelimiter", # } # # @!attribute [rw] record_delimiter # The value used to separate individual records in the output. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput AWS API Documentation # class JSONOutput < Struct.new( :record_delimiter) include Aws::Structure end # A container for specifying the configuration for AWS Lambda # notifications. # # @note When making an API call, you may pass LambdaFunctionConfiguration # data as a hash: # # { # id: "NotificationId", # lambda_function_arn: "LambdaFunctionArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] lambda_function_arn # The Amazon Resource Name (ARN) of the Lambda cloud function that # Amazon S3 can invoke when it detects events of the specified type. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] filter # A container for object key name filtering rules. For information # about key name filtering, see [Configuring Event Notifications][1] # in the *Amazon Simple Storage Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html # @return [Types::NotificationConfigurationFilter] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LambdaFunctionConfiguration AWS API Documentation # class LambdaFunctionConfiguration < Struct.new( :id, :lambda_function_arn, :events, :filter) include Aws::Structure end # @note When making an API call, you may pass LifecycleConfiguration # data as a hash: # # { # rules: [ # required # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # required # status: "Enabled", # required, accepts Enabled, Disabled # transition: { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_transition: { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # }, # ], # } # # @!attribute [rw] rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleConfiguration AWS API Documentation # class LifecycleConfiguration < Struct.new( :rules) include Aws::Structure end # @note When making an API call, you may pass LifecycleExpiration # data as a hash: # # { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # } # # @!attribute [rw] date # Indicates at what date the object is to be moved or deleted. Should # be in GMT ISO 8601 Format. # @return [Time] # # @!attribute [rw] days # Indicates the lifetime, in days, of the objects that are subject to # the rule. The value must be a non-zero positive integer. # @return [Integer] # # @!attribute [rw] expired_object_delete_marker # 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. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleExpiration AWS API Documentation # class LifecycleExpiration < Struct.new( :date, :days, :expired_object_delete_marker) include Aws::Structure end # @note When making an API call, you may pass LifecycleRule # data as a hash: # # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # transitions: [ # { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_transitions: [ # { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # } # # @!attribute [rw] expiration # @return [Types::LifecycleExpiration] # # @!attribute [rw] id # Unique identifier for the rule. The value cannot be longer than 255 # characters. # @return [String] # # @!attribute [rw] prefix # Prefix identifying one or more objects to which the rule applies. # This is No longer used; use Filter instead. # @return [String] # # @!attribute [rw] filter # 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. # @return [Types::LifecycleRuleFilter] # # @!attribute [rw] status # If 'Enabled', the rule is currently being applied. If # 'Disabled', the rule is not currently being applied. # @return [String] # # @!attribute [rw] transitions # @return [Array] # # @!attribute [rw] noncurrent_version_transitions # @return [Array] # # @!attribute [rw] noncurrent_version_expiration # 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. # @return [Types::NoncurrentVersionExpiration] # # @!attribute [rw] abort_incomplete_multipart_upload # Specifies the days since the initiation of an Incomplete Multipart # Upload that Lifecycle will wait before permanently removing all # parts of the upload. # @return [Types::AbortIncompleteMultipartUpload] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRule AWS API Documentation # class LifecycleRule < Struct.new( :expiration, :id, :prefix, :filter, :status, :transitions, :noncurrent_version_transitions, :noncurrent_version_expiration, :abort_incomplete_multipart_upload) include Aws::Structure end # 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. # # @note When making an API call, you may pass LifecycleRuleAndOperator # data as a hash: # # { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # } # # @!attribute [rw] prefix # @return [String] # # @!attribute [rw] tags # All of these tags must exist in the object's tag set in order for # the rule to apply. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleAndOperator AWS API Documentation # class LifecycleRuleAndOperator < Struct.new( :prefix, :tags) include Aws::Structure end # 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. # # @note When making an API call, you may pass LifecycleRuleFilter # data as a hash: # # { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] prefix # Prefix identifying one or more objects to which the rule applies. # @return [String] # # @!attribute [rw] tag # This tag must exist in the object's tag set in order for the rule # to apply. # @return [Types::Tag] # # @!attribute [rw] and # 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. # @return [Types::LifecycleRuleAndOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleFilter AWS API Documentation # class LifecycleRuleFilter < Struct.new( :prefix, :tag, :and) include Aws::Structure end # @!attribute [rw] is_truncated # Indicates whether the returned list of analytics configurations is # complete. A value of true indicates that the list is not complete # and the NextContinuationToken will be provided for a subsequent # request. # @return [Boolean] # # @!attribute [rw] continuation_token # The ContinuationToken that represents where this request began. # @return [String] # # @!attribute [rw] next_continuation_token # NextContinuationToken is sent when isTruncated is true, which # indicates that there are more analytics configurations to list. The # next request must include this NextContinuationToken. The token is # obfuscated and is not a usable value. # @return [String] # # @!attribute [rw] analytics_configuration_list # The list of analytics configurations for a bucket. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsOutput AWS API Documentation # class ListBucketAnalyticsConfigurationsOutput < Struct.new( :is_truncated, :continuation_token, :next_continuation_token, :analytics_configuration_list) include Aws::Structure end # @note When making an API call, you may pass ListBucketAnalyticsConfigurationsRequest # data as a hash: # # { # bucket: "BucketName", # required # continuation_token: "Token", # } # # @!attribute [rw] bucket # The name of the bucket from which analytics configurations are # retrieved. # @return [String] # # @!attribute [rw] continuation_token # The ContinuationToken that represents a placeholder from where this # request should begin. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsRequest AWS API Documentation # class ListBucketAnalyticsConfigurationsRequest < Struct.new( :bucket, :continuation_token) include Aws::Structure end # @!attribute [rw] continuation_token # If sent in the request, the marker that is used as a starting point # for this inventory configuration list response. # @return [String] # # @!attribute [rw] inventory_configuration_list # The list of inventory configurations for a bucket. # @return [Array] # # @!attribute [rw] is_truncated # Indicates whether the returned list of inventory configurations is # truncated in this response. A value of true indicates that the list # is truncated. # @return [Boolean] # # @!attribute [rw] next_continuation_token # The marker used to continue this inventory configuration listing. # Use the NextContinuationToken from this response to continue the # listing in a subsequent request. The continuation token is an opaque # value that Amazon S3 understands. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurationsOutput AWS API Documentation # class ListBucketInventoryConfigurationsOutput < Struct.new( :continuation_token, :inventory_configuration_list, :is_truncated, :next_continuation_token) include Aws::Structure end # @note When making an API call, you may pass ListBucketInventoryConfigurationsRequest # data as a hash: # # { # bucket: "BucketName", # required # continuation_token: "Token", # } # # @!attribute [rw] bucket # The name of the bucket containing the inventory configurations to # retrieve. # @return [String] # # @!attribute [rw] continuation_token # The marker used to continue an inventory configuration listing that # has been truncated. Use the NextContinuationToken from a previously # truncated list response to continue the listing. The continuation # token is an opaque value that Amazon S3 understands. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurationsRequest AWS API Documentation # class ListBucketInventoryConfigurationsRequest < Struct.new( :bucket, :continuation_token) include Aws::Structure end # @!attribute [rw] is_truncated # Indicates whether the returned list of metrics configurations is # complete. A value of true indicates that the list is not complete # and the NextContinuationToken will be provided for a subsequent # request. # @return [Boolean] # # @!attribute [rw] continuation_token # The marker that is used as a starting point for this metrics # configuration list response. This value is present if it was sent in # the request. # @return [String] # # @!attribute [rw] next_continuation_token # The marker used to continue a metrics configuration listing that has # been truncated. Use the NextContinuationToken from a previously # truncated list response to continue the listing. The continuation # token is an opaque value that Amazon S3 understands. # @return [String] # # @!attribute [rw] metrics_configuration_list # The list of metrics configurations for a bucket. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurationsOutput AWS API Documentation # class ListBucketMetricsConfigurationsOutput < Struct.new( :is_truncated, :continuation_token, :next_continuation_token, :metrics_configuration_list) include Aws::Structure end # @note When making an API call, you may pass ListBucketMetricsConfigurationsRequest # data as a hash: # # { # bucket: "BucketName", # required # continuation_token: "Token", # } # # @!attribute [rw] bucket # The name of the bucket containing the metrics configurations to # retrieve. # @return [String] # # @!attribute [rw] continuation_token # The marker that is used to continue a metrics configuration listing # that has been truncated. Use the NextContinuationToken from a # previously truncated list response to continue the listing. The # continuation token is an opaque value that Amazon S3 understands. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurationsRequest AWS API Documentation # class ListBucketMetricsConfigurationsRequest < Struct.new( :bucket, :continuation_token) include Aws::Structure end # @!attribute [rw] buckets # @return [Array] # # @!attribute [rw] owner # @return [Types::Owner] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketsOutput AWS API Documentation # class ListBucketsOutput < Struct.new( :buckets, :owner) include Aws::Structure end # @!attribute [rw] bucket # Name of the bucket to which the multipart upload was initiated. # @return [String] # # @!attribute [rw] key_marker # The key at or after which the listing began. # @return [String] # # @!attribute [rw] upload_id_marker # Upload ID after which listing began. # @return [String] # # @!attribute [rw] next_key_marker # When a list is truncated, this element specifies the value that # should be used for the key-marker request parameter in a subsequent # request. # @return [String] # # @!attribute [rw] prefix # When a prefix is provided in the request, this field contains the # specified prefix. The result contains only keys starting with the # specified prefix. # @return [String] # # @!attribute [rw] delimiter # @return [String] # # @!attribute [rw] next_upload_id_marker # When a list is truncated, this element specifies the value that # should be used for the upload-id-marker request parameter in a # subsequent request. # @return [String] # # @!attribute [rw] max_uploads # Maximum number of multipart uploads that could have been included in # the response. # @return [Integer] # # @!attribute [rw] is_truncated # Indicates whether the returned list of multipart uploads is # truncated. A value of true indicates that the list was truncated. # The list can be truncated if the number of multipart uploads exceeds # the limit allowed or specified by max uploads. # @return [Boolean] # # @!attribute [rw] uploads # @return [Array] # # @!attribute [rw] common_prefixes # @return [Array] # # @!attribute [rw] encoding_type # Encoding type used by Amazon S3 to encode object keys in the # response. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsOutput AWS API Documentation # class ListMultipartUploadsOutput < Struct.new( :bucket, :key_marker, :upload_id_marker, :next_key_marker, :prefix, :delimiter, :next_upload_id_marker, :max_uploads, :is_truncated, :uploads, :common_prefixes, :encoding_type) include Aws::Structure end # @note When making an API call, you may pass ListMultipartUploadsRequest # data as a hash: # # { # bucket: "BucketName", # required # delimiter: "Delimiter", # encoding_type: "url", # accepts url # key_marker: "KeyMarker", # max_uploads: 1, # prefix: "Prefix", # upload_id_marker: "UploadIdMarker", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] delimiter # Character you use to group keys. # @return [String] # # @!attribute [rw] encoding_type # Requests Amazon S3 to encode the object keys in the response and # specifies the encoding method to use. An object key may contain any # Unicode character; however, XML 1.0 parser cannot parse some # characters, such as characters with an ASCII value from 0 to 10. For # characters that are not supported in XML 1.0, you can add this # parameter to request that Amazon S3 encode the keys in the response. # @return [String] # # @!attribute [rw] key_marker # Together with upload-id-marker, this parameter specifies the # multipart upload after which listing should begin. # @return [String] # # @!attribute [rw] max_uploads # Sets the maximum number of multipart uploads, from 1 to 1,000, to # return in the response body. 1,000 is the maximum number of uploads # that can be returned in a response. # @return [Integer] # # @!attribute [rw] prefix # Lists in-progress uploads only for those keys that begin with the # specified prefix. # @return [String] # # @!attribute [rw] upload_id_marker # Together with key-marker, specifies the multipart upload after which # listing should begin. If key-marker is not specified, the # upload-id-marker parameter is ignored. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsRequest AWS API Documentation # class ListMultipartUploadsRequest < Struct.new( :bucket, :delimiter, :encoding_type, :key_marker, :max_uploads, :prefix, :upload_id_marker) include Aws::Structure end # @!attribute [rw] is_truncated # A flag that indicates whether or not Amazon S3 returned all of the # results that satisfied the search criteria. If your results were # truncated, you can make a follow-up paginated request using the # NextKeyMarker and NextVersionIdMarker response parameters as a # starting place in another request to return the rest of the results. # @return [Boolean] # # @!attribute [rw] key_marker # Marks the last Key returned in a truncated response. # @return [String] # # @!attribute [rw] version_id_marker # @return [String] # # @!attribute [rw] next_key_marker # Use this value for the key marker request parameter in a subsequent # request. # @return [String] # # @!attribute [rw] next_version_id_marker # Use this value for the next version id marker parameter in a # subsequent request. # @return [String] # # @!attribute [rw] versions # @return [Array] # # @!attribute [rw] delete_markers # @return [Array] # # @!attribute [rw] name # @return [String] # # @!attribute [rw] prefix # @return [String] # # @!attribute [rw] delimiter # @return [String] # # @!attribute [rw] max_keys # @return [Integer] # # @!attribute [rw] common_prefixes # @return [Array] # # @!attribute [rw] encoding_type # Encoding type used by Amazon S3 to encode object keys in the # response. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsOutput AWS API Documentation # class ListObjectVersionsOutput < Struct.new( :is_truncated, :key_marker, :version_id_marker, :next_key_marker, :next_version_id_marker, :versions, :delete_markers, :name, :prefix, :delimiter, :max_keys, :common_prefixes, :encoding_type) include Aws::Structure end # @note When making an API call, you may pass ListObjectVersionsRequest # data as a hash: # # { # bucket: "BucketName", # required # delimiter: "Delimiter", # encoding_type: "url", # accepts url # key_marker: "KeyMarker", # max_keys: 1, # prefix: "Prefix", # version_id_marker: "VersionIdMarker", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] delimiter # A delimiter is a character you use to group keys. # @return [String] # # @!attribute [rw] encoding_type # Requests Amazon S3 to encode the object keys in the response and # specifies the encoding method to use. An object key may contain any # Unicode character; however, XML 1.0 parser cannot parse some # characters, such as characters with an ASCII value from 0 to 10. For # characters that are not supported in XML 1.0, you can add this # parameter to request that Amazon S3 encode the keys in the response. # @return [String] # # @!attribute [rw] key_marker # Specifies the key to start with when listing objects in a bucket. # @return [String] # # @!attribute [rw] max_keys # Sets the maximum number of keys returned in the response. The # response might contain fewer keys but will never contain more. # @return [Integer] # # @!attribute [rw] prefix # Limits the response to keys that begin with the specified prefix. # @return [String] # # @!attribute [rw] version_id_marker # Specifies the object version you want to start listing from. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsRequest AWS API Documentation # class ListObjectVersionsRequest < Struct.new( :bucket, :delimiter, :encoding_type, :key_marker, :max_keys, :prefix, :version_id_marker) include Aws::Structure end # @!attribute [rw] is_truncated # A flag that indicates whether or not Amazon S3 returned all of the # results that satisfied the search criteria. # @return [Boolean] # # @!attribute [rw] marker # @return [String] # # @!attribute [rw] next_marker # When response is truncated (the IsTruncated element value in the # response is true), you can use the key name in this field as marker # in the subsequent request to get next set of objects. Amazon S3 # lists objects in alphabetical order Note: This element is returned # only if you have delimiter request parameter specified. If response # does not include the NextMaker and it is truncated, you can use the # value of the last Key in the response as the marker in the # subsequent request to get the next set of object keys. # @return [String] # # @!attribute [rw] contents # @return [Array] # # @!attribute [rw] name # @return [String] # # @!attribute [rw] prefix # @return [String] # # @!attribute [rw] delimiter # @return [String] # # @!attribute [rw] max_keys # @return [Integer] # # @!attribute [rw] common_prefixes # @return [Array] # # @!attribute [rw] encoding_type # Encoding type used by Amazon S3 to encode object keys in the # response. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsOutput AWS API Documentation # class ListObjectsOutput < Struct.new( :is_truncated, :marker, :next_marker, :contents, :name, :prefix, :delimiter, :max_keys, :common_prefixes, :encoding_type) include Aws::Structure end # @note When making an API call, you may pass ListObjectsRequest # data as a hash: # # { # bucket: "BucketName", # required # delimiter: "Delimiter", # encoding_type: "url", # accepts url # marker: "Marker", # max_keys: 1, # prefix: "Prefix", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] delimiter # A delimiter is a character you use to group keys. # @return [String] # # @!attribute [rw] encoding_type # Requests Amazon S3 to encode the object keys in the response and # specifies the encoding method to use. An object key may contain any # Unicode character; however, XML 1.0 parser cannot parse some # characters, such as characters with an ASCII value from 0 to 10. For # characters that are not supported in XML 1.0, you can add this # parameter to request that Amazon S3 encode the keys in the response. # @return [String] # # @!attribute [rw] marker # Specifies the key to start with when listing objects in a bucket. # @return [String] # # @!attribute [rw] max_keys # Sets the maximum number of keys returned in the response. The # response might contain fewer keys but will never contain more. # @return [Integer] # # @!attribute [rw] prefix # Limits the response to keys that begin with the specified prefix. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the list objects request. Bucket owners need not specify this # parameter in their requests. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsRequest AWS API Documentation # class ListObjectsRequest < Struct.new( :bucket, :delimiter, :encoding_type, :marker, :max_keys, :prefix, :request_payer) include Aws::Structure end # @!attribute [rw] is_truncated # A flag that indicates whether or not Amazon S3 returned all of the # results that satisfied the search criteria. # @return [Boolean] # # @!attribute [rw] contents # Metadata about each object returned. # @return [Array] # # @!attribute [rw] name # Name of the bucket to list. # @return [String] # # @!attribute [rw] prefix # Limits the response to keys that begin with the specified prefix. # @return [String] # # @!attribute [rw] delimiter # A delimiter is a character you use to group keys. # @return [String] # # @!attribute [rw] max_keys # Sets the maximum number of keys returned in the response. The # response might contain fewer keys but will never contain more. # @return [Integer] # # @!attribute [rw] common_prefixes # CommonPrefixes contains all (if there are any) keys between Prefix # and the next occurrence of the string specified by delimiter # @return [Array] # # @!attribute [rw] encoding_type # Encoding type used by Amazon S3 to encode object keys in the # response. # @return [String] # # @!attribute [rw] key_count # KeyCount is the number of keys returned with this request. KeyCount # will always be less than equals to MaxKeys field. Say you ask for 50 # keys, your result will include less than equals 50 keys # @return [Integer] # # @!attribute [rw] continuation_token # ContinuationToken indicates Amazon S3 that the list is being # continued on this bucket with a token. ContinuationToken is # obfuscated and is not a real key # @return [String] # # @!attribute [rw] next_continuation_token # NextContinuationToken is sent when isTruncated is true which means # there are more keys in the bucket that can be listed. The next list # requests to Amazon S3 can be continued with this # NextContinuationToken. NextContinuationToken is obfuscated and is # not a real key # @return [String] # # @!attribute [rw] start_after # StartAfter is where you want Amazon S3 to start listing from. Amazon # S3 starts listing after this specified key. StartAfter can be any # key in the bucket # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Output AWS API Documentation # class ListObjectsV2Output < Struct.new( :is_truncated, :contents, :name, :prefix, :delimiter, :max_keys, :common_prefixes, :encoding_type, :key_count, :continuation_token, :next_continuation_token, :start_after) include Aws::Structure end # @note When making an API call, you may pass ListObjectsV2Request # data as a hash: # # { # bucket: "BucketName", # required # delimiter: "Delimiter", # encoding_type: "url", # accepts url # max_keys: 1, # prefix: "Prefix", # continuation_token: "Token", # fetch_owner: false, # start_after: "StartAfter", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # Name of the bucket to list. # @return [String] # # @!attribute [rw] delimiter # A delimiter is a character you use to group keys. # @return [String] # # @!attribute [rw] encoding_type # Encoding type used by Amazon S3 to encode object keys in the # response. # @return [String] # # @!attribute [rw] max_keys # Sets the maximum number of keys returned in the response. The # response might contain fewer keys but will never contain more. # @return [Integer] # # @!attribute [rw] prefix # Limits the response to keys that begin with the specified prefix. # @return [String] # # @!attribute [rw] continuation_token # ContinuationToken indicates Amazon S3 that the list is being # continued on this bucket with a token. ContinuationToken is # obfuscated and is not a real key # @return [String] # # @!attribute [rw] fetch_owner # The owner field is not present in listV2 by default, if you want to # return owner field with each key in the result then set the fetch # owner field to true # @return [Boolean] # # @!attribute [rw] start_after # StartAfter is where you want Amazon S3 to start listing from. Amazon # S3 starts listing after this specified key. StartAfter can be any # key in the bucket # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the list objects request in V2 style. Bucket owners need not specify # this parameter in their requests. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Request AWS API Documentation # class ListObjectsV2Request < Struct.new( :bucket, :delimiter, :encoding_type, :max_keys, :prefix, :continuation_token, :fetch_owner, :start_after, :request_payer) include Aws::Structure end # @!attribute [rw] abort_date # Date when multipart upload will become eligible for abort operation # by lifecycle. # @return [Time] # # @!attribute [rw] abort_rule_id # Id of the lifecycle rule that makes a multipart upload eligible for # abort operation. # @return [String] # # @!attribute [rw] bucket # Name of the bucket to which the multipart upload was initiated. # @return [String] # # @!attribute [rw] key # Object key for which the multipart upload was initiated. # @return [String] # # @!attribute [rw] upload_id # Upload ID identifying the multipart upload whose parts are being # listed. # @return [String] # # @!attribute [rw] part_number_marker # Part number after which listing begins. # @return [Integer] # # @!attribute [rw] next_part_number_marker # When a list is truncated, this element specifies the last part in # the list, as well as the value to use for the part-number-marker # request parameter in a subsequent request. # @return [Integer] # # @!attribute [rw] max_parts # Maximum number of parts that were allowed in the response. # @return [Integer] # # @!attribute [rw] is_truncated # Indicates whether the returned list of parts is truncated. # @return [Boolean] # # @!attribute [rw] parts # @return [Array] # # @!attribute [rw] initiator # Identifies who initiated the multipart upload. # @return [Types::Initiator] # # @!attribute [rw] owner # @return [Types::Owner] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListPartsOutput AWS API Documentation # class ListPartsOutput < Struct.new( :abort_date, :abort_rule_id, :bucket, :key, :upload_id, :part_number_marker, :next_part_number_marker, :max_parts, :is_truncated, :parts, :initiator, :owner, :storage_class, :request_charged) include Aws::Structure end # @note When making an API call, you may pass ListPartsRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # max_parts: 1, # part_number_marker: 1, # upload_id: "MultipartUploadId", # required # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] max_parts # Sets the maximum number of parts to return. # @return [Integer] # # @!attribute [rw] part_number_marker # Specifies the part after which listing should begin. Only parts with # higher part numbers will be listed. # @return [Integer] # # @!attribute [rw] upload_id # Upload ID identifying the multipart upload whose parts are being # listed. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListPartsRequest AWS API Documentation # class ListPartsRequest < Struct.new( :bucket, :key, :max_parts, :part_number_marker, :upload_id, :request_payer) include Aws::Structure end # Container for logging information. Presence of this element indicates # that logging is enabled. Parameters TargetBucket and TargetPrefix are # required in this case. # # @note When making an API call, you may pass LoggingEnabled # data as a hash: # # { # target_bucket: "TargetBucket", # required # target_grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE # }, # ], # target_prefix: "TargetPrefix", # required # } # # @!attribute [rw] target_bucket # 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. # @return [String] # # @!attribute [rw] target_grants # @return [Array] # # @!attribute [rw] target_prefix # This element lets you specify a prefix for the keys that the log # files will be stored under. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LoggingEnabled AWS API Documentation # class LoggingEnabled < Struct.new( :target_bucket, :target_grants, :target_prefix) include Aws::Structure end # A metadata key-value pair to store with an object. # # @note When making an API call, you may pass MetadataEntry # data as a hash: # # { # name: "MetadataKey", # value: "MetadataValue", # } # # @!attribute [rw] name # @return [String] # # @!attribute [rw] value # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataEntry AWS API Documentation # class MetadataEntry < Struct.new( :name, :value) include Aws::Structure end # @note When making an API call, you may pass MetricsAndOperator # data as a hash: # # { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # } # # @!attribute [rw] prefix # The prefix used when evaluating an AND predicate. # @return [String] # # @!attribute [rw] tags # The list of tags used when evaluating an AND predicate. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsAndOperator AWS API Documentation # class MetricsAndOperator < Struct.new( :prefix, :tags) include Aws::Structure end # @note When making an API call, you may pass MetricsConfiguration # data as a hash: # # { # id: "MetricsId", # required # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # } # # @!attribute [rw] id # The ID used to identify the metrics configuration. # @return [String] # # @!attribute [rw] filter # Specifies a metrics configuration filter. The metrics configuration # will only include objects that meet the filter's criteria. A filter # must be a prefix, a tag, or a conjunction (MetricsAndOperator). # @return [Types::MetricsFilter] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsConfiguration AWS API Documentation # class MetricsConfiguration < Struct.new( :id, :filter) include Aws::Structure end # @note When making an API call, you may pass MetricsFilter # data as a hash: # # { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] prefix # The prefix used when evaluating a metrics filter. # @return [String] # # @!attribute [rw] tag # The tag used when evaluating a metrics filter. # @return [Types::Tag] # # @!attribute [rw] and # 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. # @return [Types::MetricsAndOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsFilter AWS API Documentation # class MetricsFilter < Struct.new( :prefix, :tag, :and) include Aws::Structure end # @!attribute [rw] upload_id # Upload ID that identifies the multipart upload. # @return [String] # # @!attribute [rw] key # Key of the object for which the multipart upload was initiated. # @return [String] # # @!attribute [rw] initiated # Date and time at which the multipart upload was initiated. # @return [Time] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @!attribute [rw] owner # @return [Types::Owner] # # @!attribute [rw] initiator # Identifies who initiated the multipart upload. # @return [Types::Initiator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MultipartUpload AWS API Documentation # class MultipartUpload < Struct.new( :upload_id, :key, :initiated, :storage_class, :owner, :initiator) include Aws::Structure end # 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. # # @note When making an API call, you may pass NoncurrentVersionExpiration # data as a hash: # # { # noncurrent_days: 1, # } # # @!attribute [rw] noncurrent_days # 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 When an # Object Became Noncurrent][1] in the Amazon Simple Storage Service # Developer Guide. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionExpiration AWS API Documentation # class NoncurrentVersionExpiration < Struct.new( :noncurrent_days) include Aws::Structure end # Container for the transition rule that describes when noncurrent # objects transition to the STANDARD\_IA, ONEZONE\_IA, # INTELLIGENT\_TIERING, 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 or DEEP\_ARCHIVE storage class at a specific period in the # object's lifetime. # # @note When making an API call, you may pass NoncurrentVersionTransition # data as a hash: # # { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # } # # @!attribute [rw] noncurrent_days # 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 When an # Object Became Noncurrent][1] in the Amazon Simple Storage Service # Developer Guide. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html # @return [Integer] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionTransition AWS API Documentation # class NoncurrentVersionTransition < Struct.new( :noncurrent_days, :storage_class) include Aws::Structure end # A container for specifying the notification configuration of the # bucket. If this element is empty, notifications are turned off for the # bucket. # # @note When making an API call, you may pass NotificationConfiguration # data as a hash: # # { # topic_configurations: [ # { # id: "NotificationId", # topic_arn: "TopicArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # queue_configurations: [ # { # id: "NotificationId", # queue_arn: "QueueArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # lambda_function_configurations: [ # { # id: "NotificationId", # lambda_function_arn: "LambdaFunctionArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # } # # @!attribute [rw] topic_configurations # @return [Array] # # @!attribute [rw] queue_configurations # @return [Array] # # @!attribute [rw] lambda_function_configurations # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration AWS API Documentation # class NotificationConfiguration < Struct.new( :topic_configurations, :queue_configurations, :lambda_function_configurations) include Aws::Structure end # @note When making an API call, you may pass NotificationConfigurationDeprecated # data as a hash: # # { # topic_configuration: { # id: "NotificationId", # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # topic: "TopicArn", # }, # queue_configuration: { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # queue: "QueueArn", # }, # cloud_function_configuration: { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # cloud_function: "CloudFunction", # invocation_role: "CloudFunctionInvocationRole", # }, # } # # @!attribute [rw] topic_configuration # @return [Types::TopicConfigurationDeprecated] # # @!attribute [rw] queue_configuration # @return [Types::QueueConfigurationDeprecated] # # @!attribute [rw] cloud_function_configuration # @return [Types::CloudFunctionConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationDeprecated AWS API Documentation # class NotificationConfigurationDeprecated < Struct.new( :topic_configuration, :queue_configuration, :cloud_function_configuration) include Aws::Structure end # A container for object key name filtering rules. For information about # key name filtering, see [Configuring Event Notifications][1] in the # *Amazon Simple Storage Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html # # @note When making an API call, you may pass NotificationConfigurationFilter # data as a hash: # # { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # } # # @!attribute [rw] key # A container for object key name prefix and suffix filtering rules. # @return [Types::S3KeyFilter] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter AWS API Documentation # class NotificationConfigurationFilter < Struct.new( :key) include Aws::Structure end # @!attribute [rw] key # @return [String] # # @!attribute [rw] last_modified # @return [Time] # # @!attribute [rw] etag # @return [String] # # @!attribute [rw] size # @return [Integer] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @!attribute [rw] owner # @return [Types::Owner] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Object AWS API Documentation # class Object < Struct.new( :key, :last_modified, :etag, :size, :storage_class, :owner) include Aws::Structure end # @note When making an API call, you may pass ObjectIdentifier # data as a hash: # # { # key: "ObjectKey", # required # version_id: "ObjectVersionId", # } # # @!attribute [rw] key # Key name of the object to delete. # @return [String] # # @!attribute [rw] version_id # VersionId for the specific version of the object to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectIdentifier AWS API Documentation # class ObjectIdentifier < Struct.new( :key, :version_id) include Aws::Structure end # The container element for Object Lock configuration parameters. # # @note When making an API call, you may pass ObjectLockConfiguration # data as a hash: # # { # object_lock_enabled: "Enabled", # accepts Enabled # rule: { # default_retention: { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # days: 1, # years: 1, # }, # }, # } # # @!attribute [rw] object_lock_enabled # Indicates whether this bucket has an Object Lock configuration # enabled. # @return [String] # # @!attribute [rw] rule # The Object Lock rule in place for the specified object. # @return [Types::ObjectLockRule] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockConfiguration AWS API Documentation # class ObjectLockConfiguration < Struct.new( :object_lock_enabled, :rule) include Aws::Structure end # A Legal Hold configuration for an object. # # @note When making an API call, you may pass ObjectLockLegalHold # data as a hash: # # { # status: "ON", # accepts ON, OFF # } # # @!attribute [rw] status # Indicates whether the specified object has a Legal Hold in place. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockLegalHold AWS API Documentation # class ObjectLockLegalHold < Struct.new( :status) include Aws::Structure end # A Retention configuration for an object. # # @note When making an API call, you may pass ObjectLockRetention # data as a hash: # # { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # retain_until_date: Time.now, # } # # @!attribute [rw] mode # Indicates the Retention mode for the specified object. # @return [String] # # @!attribute [rw] retain_until_date # The date on which this Object Lock Retention will expire. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRetention AWS API Documentation # class ObjectLockRetention < Struct.new( :mode, :retain_until_date) include Aws::Structure end # The container element for an Object Lock rule. # # @note When making an API call, you may pass ObjectLockRule # data as a hash: # # { # default_retention: { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # days: 1, # years: 1, # }, # } # # @!attribute [rw] default_retention # The default retention period that you want to apply to new objects # placed in the specified bucket. # @return [Types::DefaultRetention] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRule AWS API Documentation # class ObjectLockRule < Struct.new( :default_retention) include Aws::Structure end # @!attribute [rw] etag # @return [String] # # @!attribute [rw] size # Size in bytes of the object. # @return [Integer] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @!attribute [rw] key # The object key. # @return [String] # # @!attribute [rw] version_id # Version ID of an object. # @return [String] # # @!attribute [rw] is_latest # Specifies whether the object is (true) or is not (false) the latest # version of an object. # @return [Boolean] # # @!attribute [rw] last_modified # Date and time the object was last modified. # @return [Time] # # @!attribute [rw] owner # @return [Types::Owner] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectVersion AWS API Documentation # class ObjectVersion < Struct.new( :etag, :size, :storage_class, :key, :version_id, :is_latest, :last_modified, :owner) include Aws::Structure end # Describes the location where the restore job's output is stored. # # @note When making an API call, you may pass OutputLocation # data as a hash: # # { # s3: { # bucket_name: "BucketName", # required # prefix: "LocationPrefix", # required # encryption: { # encryption_type: "AES256", # required, accepts AES256, aws:kms # kms_key_id: "SSEKMSKeyId", # kms_context: "KMSContext", # }, # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # access_control_list: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # tagging: { # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # user_metadata: [ # { # name: "MetadataKey", # value: "MetadataValue", # }, # ], # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # }, # } # # @!attribute [rw] s3 # Describes an S3 location that will receive the results of the # restore request. # @return [Types::S3Location] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputLocation AWS API Documentation # class OutputLocation < Struct.new( :s3) include Aws::Structure end # Describes how results of the Select job are serialized. # # @note When making an API call, you may pass OutputSerialization # data as a hash: # # { # csv: { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # }, # json: { # record_delimiter: "RecordDelimiter", # }, # } # # @!attribute [rw] csv # Describes the serialization of CSV-encoded Select results. # @return [Types::CSVOutput] # # @!attribute [rw] json # Specifies JSON as request's output serialization format. # @return [Types::JSONOutput] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputSerialization AWS API Documentation # class OutputSerialization < Struct.new( :csv, :json) include Aws::Structure end # @note When making an API call, you may pass Owner # data as a hash: # # { # display_name: "DisplayName", # id: "ID", # } # # @!attribute [rw] display_name # @return [String] # # @!attribute [rw] id # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Owner AWS API Documentation # class Owner < Struct.new( :display_name, :id) include Aws::Structure end # @api private # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ParquetInput AWS API Documentation # class ParquetInput < Aws::EmptyStructure; end # @!attribute [rw] part_number # Part number identifying the part. This is a positive integer between # 1 and 10,000. # @return [Integer] # # @!attribute [rw] last_modified # Date and time at which the part was uploaded. # @return [Time] # # @!attribute [rw] etag # Entity tag returned when the part was uploaded. # @return [String] # # @!attribute [rw] size # Size in bytes of the uploaded part data. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part AWS API Documentation # class Part < Struct.new( :part_number, :last_modified, :etag, :size) include Aws::Structure end # The container element for a bucket's policy status. # # @!attribute [rw] is_public # The policy status for this bucket. `TRUE` indicates that this bucket # is public. `FALSE` indicates that the bucket is not public. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PolicyStatus AWS API Documentation # class PolicyStatus < Struct.new( :is_public) include Aws::Structure end # @!attribute [rw] bytes_scanned # The current number of object bytes scanned. # @return [Integer] # # @!attribute [rw] bytes_processed # The current number of uncompressed object bytes processed. # @return [Integer] # # @!attribute [rw] bytes_returned # The current number of bytes of records payload data returned. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Progress AWS API Documentation # class Progress < Struct.new( :bytes_scanned, :bytes_processed, :bytes_returned) include Aws::Structure end # @!attribute [rw] details # The Progress event details. # @return [Types::Progress] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ProgressEvent AWS API Documentation # class ProgressEvent < Struct.new( :details, :event_type) include Aws::Structure end # @note When making an API call, you may pass PublicAccessBlockConfiguration # data as a hash: # # { # block_public_acls: false, # ignore_public_acls: false, # block_public_policy: false, # restrict_public_buckets: false, # } # # @!attribute [rw] block_public_acls # 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. # # Enabling this setting doesn't affect existing policies or ACLs. # @return [Boolean] # # @!attribute [rw] ignore_public_acls # 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. # @return [Boolean] # # @!attribute [rw] block_public_policy # 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. # @return [Boolean] # # @!attribute [rw] restrict_public_buckets # Specifies whether Amazon S3 should restrict public bucket policies # for this bucket. Setting this element to `TRUE` restricts access to # this bucket to only AWS services 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. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration AWS API Documentation # class PublicAccessBlockConfiguration < Struct.new( :block_public_acls, :ignore_public_acls, :block_public_policy, :restrict_public_buckets) include Aws::Structure end # @note When making an API call, you may pass PutBucketAccelerateConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # accelerate_configuration: { # required # status: "Enabled", # accepts Enabled, Suspended # }, # } # # @!attribute [rw] bucket # Name of the bucket for which the accelerate configuration is set. # @return [String] # # @!attribute [rw] accelerate_configuration # Specifies the Accelerate Configuration you want to set for the # bucket. # @return [Types::AccelerateConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfigurationRequest AWS API Documentation # class PutBucketAccelerateConfigurationRequest < Struct.new( :bucket, :accelerate_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketAclRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read # access_control_policy: { # grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # owner: { # display_name: "DisplayName", # id: "ID", # }, # }, # bucket: "BucketName", # required # content_md5: "ContentMD5", # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write: "GrantWrite", # grant_write_acp: "GrantWriteACP", # } # # @!attribute [rw] acl # The canned ACL to apply to the bucket. # @return [String] # # @!attribute [rw] access_control_policy # @return [Types::AccessControlPolicy] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] grant_full_control # Allows grantee the read, write, read ACP, and write ACP permissions # on the bucket. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to list the objects in the bucket. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the bucket ACL. # @return [String] # # @!attribute [rw] grant_write # Allows grantee to create, overwrite, and delete any object in the # bucket. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAclRequest AWS API Documentation # class PutBucketAclRequest < Struct.new( :acl, :access_control_policy, :bucket, :content_md5, :grant_full_control, :grant_read, :grant_read_acp, :grant_write, :grant_write_acp) include Aws::Structure end # @note When making an API call, you may pass PutBucketAnalyticsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "AnalyticsId", # required # analytics_configuration: { # required # id: "AnalyticsId", # required # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # storage_class_analysis: { # required # data_export: { # output_schema_version: "V_1", # required, accepts V_1 # destination: { # required # s3_bucket_destination: { # required # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # }, # }, # }, # }, # }, # } # # @!attribute [rw] bucket # The name of the bucket to which an analytics configuration is # stored. # @return [String] # # @!attribute [rw] id # The identifier used to represent an analytics configuration. # @return [String] # # @!attribute [rw] analytics_configuration # The configuration and any analyses for the analytics filter. # @return [Types::AnalyticsConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfigurationRequest AWS API Documentation # class PutBucketAnalyticsConfigurationRequest < Struct.new( :bucket, :id, :analytics_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketCorsRequest # data as a hash: # # { # bucket: "BucketName", # required # cors_configuration: { # required # cors_rules: [ # required # { # allowed_headers: ["AllowedHeader"], # allowed_methods: ["AllowedMethod"], # required # allowed_origins: ["AllowedOrigin"], # required # expose_headers: ["ExposeHeader"], # max_age_seconds: 1, # }, # ], # }, # content_md5: "ContentMD5", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] cors_configuration # @return [Types::CORSConfiguration] # # @!attribute [rw] content_md5 # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCorsRequest AWS API Documentation # class PutBucketCorsRequest < Struct.new( :bucket, :cors_configuration, :content_md5) include Aws::Structure end # @note When making an API call, you may pass PutBucketEncryptionRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # server_side_encryption_configuration: { # required # rules: [ # required # { # apply_server_side_encryption_by_default: { # sse_algorithm: "AES256", # required, accepts AES256, aws:kms # kms_master_key_id: "SSEKMSKeyId", # }, # }, # ], # }, # } # # @!attribute [rw] bucket # The name of the bucket for which the server-side encryption # configuration is set. # @return [String] # # @!attribute [rw] content_md5 # The base64-encoded 128-bit MD5 digest of the server-side encryption # configuration. This parameter is auto-populated when using the # command from the CLI # @return [String] # # @!attribute [rw] server_side_encryption_configuration # Container for server-side encryption configuration rules. Currently # S3 supports one rule only. # @return [Types::ServerSideEncryptionConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryptionRequest AWS API Documentation # class PutBucketEncryptionRequest < Struct.new( :bucket, :content_md5, :server_side_encryption_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketInventoryConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "InventoryId", # required # inventory_configuration: { # required # destination: { # required # s3_bucket_destination: { # required # account_id: "AccountId", # bucket: "BucketName", # required # format: "CSV", # required, accepts CSV, ORC, Parquet # prefix: "Prefix", # encryption: { # sses3: { # }, # ssekms: { # key_id: "SSEKMSKeyId", # required # }, # }, # }, # }, # is_enabled: false, # required # filter: { # prefix: "Prefix", # required # }, # id: "InventoryId", # required # included_object_versions: "All", # required, accepts All, Current # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus # schedule: { # required # frequency: "Daily", # required, accepts Daily, Weekly # }, # }, # } # # @!attribute [rw] bucket # The name of the bucket where the inventory configuration will be # stored. # @return [String] # # @!attribute [rw] id # The ID used to identify the inventory configuration. # @return [String] # # @!attribute [rw] inventory_configuration # Specifies the inventory configuration. # @return [Types::InventoryConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfigurationRequest AWS API Documentation # class PutBucketInventoryConfigurationRequest < Struct.new( :bucket, :id, :inventory_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketLifecycleConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # lifecycle_configuration: { # rules: [ # required # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # transitions: [ # { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_transitions: [ # { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # ], # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] lifecycle_configuration # @return [Types::BucketLifecycleConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfigurationRequest AWS API Documentation # class PutBucketLifecycleConfigurationRequest < Struct.new( :bucket, :lifecycle_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketLifecycleRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # lifecycle_configuration: { # rules: [ # required # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # required # status: "Enabled", # required, accepts Enabled, Disabled # transition: { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_transition: { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] lifecycle_configuration # @return [Types::LifecycleConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleRequest AWS API Documentation # class PutBucketLifecycleRequest < Struct.new( :bucket, :content_md5, :lifecycle_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketLoggingRequest # data as a hash: # # { # bucket: "BucketName", # required # bucket_logging_status: { # required # logging_enabled: { # target_bucket: "TargetBucket", # required # target_grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE # }, # ], # target_prefix: "TargetPrefix", # required # }, # }, # content_md5: "ContentMD5", # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] bucket_logging_status # @return [Types::BucketLoggingStatus] # # @!attribute [rw] content_md5 # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLoggingRequest AWS API Documentation # class PutBucketLoggingRequest < Struct.new( :bucket, :bucket_logging_status, :content_md5) include Aws::Structure end # @note When making an API call, you may pass PutBucketMetricsConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # id: "MetricsId", # required # metrics_configuration: { # required # id: "MetricsId", # required # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # }, # } # # @!attribute [rw] bucket # The name of the bucket for which the metrics configuration is set. # @return [String] # # @!attribute [rw] id # The ID used to identify the metrics configuration. # @return [String] # # @!attribute [rw] metrics_configuration # Specifies the metrics configuration. # @return [Types::MetricsConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfigurationRequest AWS API Documentation # class PutBucketMetricsConfigurationRequest < Struct.new( :bucket, :id, :metrics_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketNotificationConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # notification_configuration: { # required # topic_configurations: [ # { # id: "NotificationId", # topic_arn: "TopicArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # queue_configurations: [ # { # id: "NotificationId", # queue_arn: "QueueArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # lambda_function_configurations: [ # { # id: "NotificationId", # lambda_function_arn: "LambdaFunctionArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] notification_configuration # A container for specifying the notification configuration of the # bucket. If this element is empty, notifications are turned off for # the bucket. # @return [Types::NotificationConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfigurationRequest AWS API Documentation # class PutBucketNotificationConfigurationRequest < Struct.new( :bucket, :notification_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketNotificationRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # notification_configuration: { # required # topic_configuration: { # id: "NotificationId", # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # topic: "TopicArn", # }, # queue_configuration: { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # queue: "QueueArn", # }, # cloud_function_configuration: { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # cloud_function: "CloudFunction", # invocation_role: "CloudFunctionInvocationRole", # }, # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] notification_configuration # @return [Types::NotificationConfigurationDeprecated] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationRequest AWS API Documentation # class PutBucketNotificationRequest < Struct.new( :bucket, :content_md5, :notification_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketPolicyRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # confirm_remove_self_bucket_access: false, # policy: "Policy", # required # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] confirm_remove_self_bucket_access # Set this parameter to true to confirm that you want to remove your # permissions to change this bucket policy in the future. # @return [Boolean] # # @!attribute [rw] policy # The bucket policy as a JSON document. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicyRequest AWS API Documentation # class PutBucketPolicyRequest < Struct.new( :bucket, :content_md5, :confirm_remove_self_bucket_access, :policy) include Aws::Structure end # @note When making an API call, you may pass PutBucketReplicationRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # replication_configuration: { # required # role: "Role", # required # rules: [ # required # { # id: "ID", # priority: 1, # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # source_selection_criteria: { # sse_kms_encrypted_objects: { # status: "Enabled", # required, accepts Enabled, Disabled # }, # }, # destination: { # required # bucket: "BucketName", # required # account: "AccountId", # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # access_control_translation: { # owner: "Destination", # required, accepts Destination # }, # encryption_configuration: { # replica_kms_key_id: "ReplicaKmsKeyID", # }, # }, # delete_marker_replication: { # status: "Enabled", # accepts Enabled, Disabled # }, # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] replication_configuration # A container for replication rules. You can add up to 1,000 rules. # The maximum size of a replication configuration is 2 MB. # @return [Types::ReplicationConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationRequest AWS API Documentation # class PutBucketReplicationRequest < Struct.new( :bucket, :content_md5, :replication_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketRequestPaymentRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # request_payment_configuration: { # required # payer: "Requester", # required, accepts Requester, BucketOwner # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] request_payment_configuration # @return [Types::RequestPaymentConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPaymentRequest AWS API Documentation # class PutBucketRequestPaymentRequest < Struct.new( :bucket, :content_md5, :request_payment_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # tagging: { # required # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] tagging # @return [Types::Tagging] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTaggingRequest AWS API Documentation # class PutBucketTaggingRequest < Struct.new( :bucket, :content_md5, :tagging) include Aws::Structure end # @note When making an API call, you may pass PutBucketVersioningRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # mfa: "MFA", # versioning_configuration: { # required # mfa_delete: "Enabled", # accepts Enabled, Disabled # status: "Enabled", # accepts Enabled, Suspended # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] mfa # The concatenation of the authentication device's serial number, a # space, and the value that is displayed on your authentication # device. # @return [String] # # @!attribute [rw] versioning_configuration # @return [Types::VersioningConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioningRequest AWS API Documentation # class PutBucketVersioningRequest < Struct.new( :bucket, :content_md5, :mfa, :versioning_configuration) include Aws::Structure end # @note When making an API call, you may pass PutBucketWebsiteRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # website_configuration: { # required # error_document: { # key: "ObjectKey", # required # }, # index_document: { # suffix: "Suffix", # required # }, # redirect_all_requests_to: { # host_name: "HostName", # required # protocol: "http", # accepts http, https # }, # routing_rules: [ # { # condition: { # http_error_code_returned_equals: "HttpErrorCodeReturnedEquals", # key_prefix_equals: "KeyPrefixEquals", # }, # redirect: { # required # host_name: "HostName", # http_redirect_code: "HttpRedirectCode", # protocol: "http", # accepts http, https # replace_key_prefix_with: "ReplaceKeyPrefixWith", # replace_key_with: "ReplaceKeyWith", # }, # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] website_configuration # @return [Types::WebsiteConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsiteRequest AWS API Documentation # class PutBucketWebsiteRequest < Struct.new( :bucket, :content_md5, :website_configuration) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclOutput AWS API Documentation # class PutObjectAclOutput < Struct.new( :request_charged) include Aws::Structure end # @note When making an API call, you may pass PutObjectAclRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # access_control_policy: { # grants: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # owner: { # display_name: "DisplayName", # id: "ID", # }, # }, # bucket: "BucketName", # required # content_md5: "ContentMD5", # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write: "GrantWrite", # grant_write_acp: "GrantWriteACP", # key: "ObjectKey", # required # request_payer: "requester", # accepts requester # version_id: "ObjectVersionId", # } # # @!attribute [rw] acl # The canned ACL to apply to the object. # @return [String] # # @!attribute [rw] access_control_policy # @return [Types::AccessControlPolicy] # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] grant_full_control # Allows grantee the read, write, read ACP, and write ACP permissions # on the bucket. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to list the objects in the bucket. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the bucket ACL. # @return [String] # # @!attribute [rw] grant_write # Allows grantee to create, overwrite, and delete any object in the # bucket. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable bucket. # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] version_id # VersionId used to reference a specific version of the object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclRequest AWS API Documentation # class PutObjectAclRequest < Struct.new( :acl, :access_control_policy, :bucket, :content_md5, :grant_full_control, :grant_read, :grant_read_acp, :grant_write, :grant_write_acp, :key, :request_payer, :version_id) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldOutput AWS API Documentation # class PutObjectLegalHoldOutput < Struct.new( :request_charged) include Aws::Structure end # @note When making an API call, you may pass PutObjectLegalHoldRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # legal_hold: { # status: "ON", # accepts ON, OFF # }, # request_payer: "requester", # accepts requester # version_id: "ObjectVersionId", # content_md5: "ContentMD5", # } # # @!attribute [rw] bucket # The bucket containing the object that you want to place a Legal Hold # on. # @return [String] # # @!attribute [rw] key # The key name for the object that you want to place a Legal Hold on. # @return [String] # # @!attribute [rw] legal_hold # Container element for the Legal Hold configuration you want to apply # to the specified object. # @return [Types::ObjectLockLegalHold] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] version_id # The version ID of the object that you want to place a Legal Hold on. # @return [String] # # @!attribute [rw] content_md5 # The MD5 hash for the request body. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldRequest AWS API Documentation # class PutObjectLegalHoldRequest < Struct.new( :bucket, :key, :legal_hold, :request_payer, :version_id, :content_md5) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationOutput AWS API Documentation # class PutObjectLockConfigurationOutput < Struct.new( :request_charged) include Aws::Structure end # @note When making an API call, you may pass PutObjectLockConfigurationRequest # data as a hash: # # { # bucket: "BucketName", # required # object_lock_configuration: { # object_lock_enabled: "Enabled", # accepts Enabled # rule: { # default_retention: { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # days: 1, # years: 1, # }, # }, # }, # request_payer: "requester", # accepts requester # token: "ObjectLockToken", # content_md5: "ContentMD5", # } # # @!attribute [rw] bucket # The bucket whose Object Lock configuration you want to create or # replace. # @return [String] # # @!attribute [rw] object_lock_configuration # The Object Lock configuration that you want to apply to the # specified bucket. # @return [Types::ObjectLockConfiguration] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] token # A token to allow Object Lock to be enabled for an existing bucket. # @return [String] # # @!attribute [rw] content_md5 # The MD5 hash for the request body. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationRequest AWS API Documentation # class PutObjectLockConfigurationRequest < Struct.new( :bucket, :object_lock_configuration, :request_payer, :token, :content_md5) include Aws::Structure end # @!attribute [rw] expiration # If the object expiration is configured, this will contain the # expiration date (expiry-date) and rule ID (rule-id). The value of # rule-id is URL encoded. # @return [String] # # @!attribute [rw] etag # Entity tag for the uploaded object. # @return [String] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] version_id # Version of the object. # @return [String] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectOutput AWS API Documentation # class PutObjectOutput < Struct.new( :expiration, :etag, :server_side_encryption, :version_id, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass PutObjectRequest # data as a hash: # # { # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # body: source_file, # bucket: "BucketName", # required # cache_control: "CacheControl", # content_disposition: "ContentDisposition", # content_encoding: "ContentEncoding", # content_language: "ContentLanguage", # content_length: 1, # content_md5: "ContentMD5", # content_type: "ContentType", # expires: Time.now, # grant_full_control: "GrantFullControl", # grant_read: "GrantRead", # grant_read_acp: "GrantReadACP", # grant_write_acp: "GrantWriteACP", # key: "ObjectKey", # required # metadata: { # "MetadataKey" => "MetadataValue", # }, # server_side_encryption: "AES256", # accepts AES256, aws:kms # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # website_redirect_location: "WebsiteRedirectLocation", # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # ssekms_key_id: "SSEKMSKeyId", # request_payer: "requester", # accepts requester # tagging: "TaggingHeader", # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # object_lock_retain_until_date: Time.now, # object_lock_legal_hold_status: "ON", # accepts ON, OFF # } # # @!attribute [rw] acl # The canned ACL to apply to the object. # @return [String] # # @!attribute [rw] body # Object data. # @return [IO] # # @!attribute [rw] bucket # Name of the bucket to which the PUT operation was initiated. # @return [String] # # @!attribute [rw] cache_control # Specifies caching behavior along the request/reply chain. # @return [String] # # @!attribute [rw] content_disposition # Specifies presentational information for the object. # @return [String] # # @!attribute [rw] content_encoding # Specifies what content encodings have been applied to the object and # thus what decoding mechanisms must be applied to obtain the # media-type referenced by the Content-Type header field. # @return [String] # # @!attribute [rw] content_language # The language the content is in. # @return [String] # # @!attribute [rw] content_length # Size of the body in bytes. This parameter is useful when the size of # the body cannot be determined automatically. # @return [Integer] # # @!attribute [rw] content_md5 # The base64-encoded 128-bit MD5 digest of the part data. This # parameter is auto-populated when using the command from the CLI # @return [String] # # @!attribute [rw] content_type # A standard MIME type describing the format of the object data. # @return [String] # # @!attribute [rw] expires # The date and time at which the object is no longer cacheable. # @return [Time] # # @!attribute [rw] grant_full_control # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the # object. # @return [String] # # @!attribute [rw] grant_read # Allows grantee to read the object data and its metadata. # @return [String] # # @!attribute [rw] grant_read_acp # Allows grantee to read the object ACL. # @return [String] # # @!attribute [rw] grant_write_acp # Allows grantee to write the ACL for the applicable object. # @return [String] # # @!attribute [rw] key # Object key for which the PUT operation was initiated. # @return [String] # # @!attribute [rw] metadata # A map of metadata to store with the object in S3. # @return [Hash] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] storage_class # The type of storage to use for the object. Defaults to 'STANDARD'. # @return [String] # # @!attribute [rw] website_redirect_location # If the bucket is configured as a website, redirects requests for # this object to another object in the same bucket or to an external # URL. Amazon S3 stores the value of this header in the object # metadata. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] ssekms_key_id # Specifies the AWS KMS key ID to use for object encryption. All GET # and PUT requests for an object protected by AWS KMS will fail if not # made via SSL or using SigV4. Documentation on configuring any of the # officially supported AWS SDKs and CLI can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] tagging # The tag-set for the object. The tag-set must be encoded as URL Query # parameters. (For example, "Key1=Value1") # @return [String] # # @!attribute [rw] object_lock_mode # The Object Lock mode that you want to apply to this object. # @return [String] # # @!attribute [rw] object_lock_retain_until_date # The date and time when you want this object's Object Lock to # expire. # @return [Time] # # @!attribute [rw] object_lock_legal_hold_status # The Legal Hold status that you want to apply to the specified # object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest AWS API Documentation # class PutObjectRequest < Struct.new( :acl, :body, :bucket, :cache_control, :content_disposition, :content_encoding, :content_language, :content_length, :content_md5, :content_type, :expires, :grant_full_control, :grant_read, :grant_read_acp, :grant_write_acp, :key, :metadata, :server_side_encryption, :storage_class, :website_redirect_location, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :ssekms_key_id, :request_payer, :tagging, :object_lock_mode, :object_lock_retain_until_date, :object_lock_legal_hold_status) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionOutput AWS API Documentation # class PutObjectRetentionOutput < Struct.new( :request_charged) include Aws::Structure end # @note When making an API call, you may pass PutObjectRetentionRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # retention: { # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE # retain_until_date: Time.now, # }, # request_payer: "requester", # accepts requester # version_id: "ObjectVersionId", # bypass_governance_retention: false, # content_md5: "ContentMD5", # } # # @!attribute [rw] bucket # The bucket that contains the object you want to apply this Object # Retention configuration to. # @return [String] # # @!attribute [rw] key # The key name for the object that you want to apply this Object # Retention configuration to. # @return [String] # # @!attribute [rw] retention # The container element for the Object Retention configuration. # @return [Types::ObjectLockRetention] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @!attribute [rw] version_id # The version ID for the object that you want to apply this Object # Retention configuration to. # @return [String] # # @!attribute [rw] bypass_governance_retention # Indicates whether this operation should bypass Governance-mode # restrictions.j # @return [Boolean] # # @!attribute [rw] content_md5 # The MD5 hash for the request body. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionRequest AWS API Documentation # class PutObjectRetentionRequest < Struct.new( :bucket, :key, :retention, :request_payer, :version_id, :bypass_governance_retention, :content_md5) include Aws::Structure end # @!attribute [rw] version_id # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingOutput AWS API Documentation # class PutObjectTaggingOutput < Struct.new( :version_id) include Aws::Structure end # @note When making an API call, you may pass PutObjectTaggingRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # content_md5: "ContentMD5", # tagging: { # required # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # @return [String] # # @!attribute [rw] content_md5 # @return [String] # # @!attribute [rw] tagging # @return [Types::Tagging] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest AWS API Documentation # class PutObjectTaggingRequest < Struct.new( :bucket, :key, :version_id, :content_md5, :tagging) include Aws::Structure end # @note When making an API call, you may pass PutPublicAccessBlockRequest # data as a hash: # # { # bucket: "BucketName", # required # content_md5: "ContentMD5", # public_access_block_configuration: { # required # block_public_acls: false, # ignore_public_acls: false, # block_public_policy: false, # restrict_public_buckets: false, # }, # } # # @!attribute [rw] bucket # The name of the Amazon S3 bucket whose `PublicAccessBlock` # configuration you want to set. # @return [String] # # @!attribute [rw] content_md5 # The MD5 hash of the `PutPublicAccessBlock` request body. # @return [String] # # @!attribute [rw] public_access_block_configuration # 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"][1] in the # *Amazon Simple Storage Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status # @return [Types::PublicAccessBlockConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlockRequest AWS API Documentation # class PutPublicAccessBlockRequest < Struct.new( :bucket, :content_md5, :public_access_block_configuration) include Aws::Structure end # A container for specifying the configuration for publication of # messages to an Amazon Simple Queue Service (Amazon SQS) queue.when # Amazon S3 detects specified events. # # @note When making an API call, you may pass QueueConfiguration # data as a hash: # # { # id: "NotificationId", # queue_arn: "QueueArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] queue_arn # The Amazon Resource Name (ARN) of the Amazon SQS queue to which # Amazon S3 will publish a message when it detects events of the # specified type. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] filter # A container for object key name filtering rules. For information # about key name filtering, see [Configuring Event Notifications][1] # in the *Amazon Simple Storage Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html # @return [Types::NotificationConfigurationFilter] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfiguration AWS API Documentation # class QueueConfiguration < Struct.new( :id, :queue_arn, :events, :filter) include Aws::Structure end # @note When making an API call, you may pass QueueConfigurationDeprecated # data as a hash: # # { # id: "NotificationId", # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # queue: "QueueArn", # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] event # The bucket event for which to send notifications. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] queue # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfigurationDeprecated AWS API Documentation # class QueueConfigurationDeprecated < Struct.new( :id, :event, :events, :queue) include Aws::Structure end # @!attribute [rw] payload # The byte array of partial, one or more result records. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordsEvent AWS API Documentation # class RecordsEvent < Struct.new( :payload, :event_type) include Aws::Structure end # @note When making an API call, you may pass Redirect # data as a hash: # # { # host_name: "HostName", # http_redirect_code: "HttpRedirectCode", # protocol: "http", # accepts http, https # replace_key_prefix_with: "ReplaceKeyPrefixWith", # replace_key_with: "ReplaceKeyWith", # } # # @!attribute [rw] host_name # The host name to use in the redirect request. # @return [String] # # @!attribute [rw] http_redirect_code # The HTTP redirect code to use on the response. Not required if one # of the siblings is present. # @return [String] # # @!attribute [rw] protocol # Protocol to use (http, https) when redirecting requests. The default # is the protocol that is used in the original request. # @return [String] # # @!attribute [rw] replace_key_prefix_with # 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. # @return [String] # # @!attribute [rw] replace_key_with # The specific object key to use in the redirect request. For example, # redirect request to error.html. Not required if one of the sibling # is present. Can be present only if ReplaceKeyPrefixWith is not # provided. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Redirect AWS API Documentation # class Redirect < Struct.new( :host_name, :http_redirect_code, :protocol, :replace_key_prefix_with, :replace_key_with) include Aws::Structure end # @note When making an API call, you may pass RedirectAllRequestsTo # data as a hash: # # { # host_name: "HostName", # required # protocol: "http", # accepts http, https # } # # @!attribute [rw] host_name # Name of the host where requests will be redirected. # @return [String] # # @!attribute [rw] protocol # Protocol to use (http, https) when redirecting requests. The default # is the protocol that is used in the original request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RedirectAllRequestsTo AWS API Documentation # class RedirectAllRequestsTo < Struct.new( :host_name, :protocol) include Aws::Structure end # A container for replication rules. You can add up to 1,000 rules. The # maximum size of a replication configuration is 2 MB. # # @note When making an API call, you may pass ReplicationConfiguration # data as a hash: # # { # role: "Role", # required # rules: [ # required # { # id: "ID", # priority: 1, # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # source_selection_criteria: { # sse_kms_encrypted_objects: { # status: "Enabled", # required, accepts Enabled, Disabled # }, # }, # destination: { # required # bucket: "BucketName", # required # account: "AccountId", # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # access_control_translation: { # owner: "Destination", # required, accepts Destination # }, # encryption_configuration: { # replica_kms_key_id: "ReplicaKmsKeyID", # }, # }, # delete_marker_replication: { # status: "Enabled", # accepts Enabled, Disabled # }, # }, # ], # } # # @!attribute [rw] role # The Amazon Resource Name (ARN) of the AWS Identity and Access # Management (IAM) role that Amazon S3 can assume when replicating the # objects. # @return [String] # # @!attribute [rw] rules # 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. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration AWS API Documentation # class ReplicationConfiguration < Struct.new( :role, :rules) include Aws::Structure end # A container for information about a specific replication rule. # # @note When making an API call, you may pass ReplicationRule # data as a hash: # # { # id: "ID", # priority: 1, # prefix: "Prefix", # filter: { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # }, # status: "Enabled", # required, accepts Enabled, Disabled # source_selection_criteria: { # sse_kms_encrypted_objects: { # status: "Enabled", # required, accepts Enabled, Disabled # }, # }, # destination: { # required # bucket: "BucketName", # required # account: "AccountId", # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # access_control_translation: { # owner: "Destination", # required, accepts Destination # }, # encryption_configuration: { # replica_kms_key_id: "ReplicaKmsKeyID", # }, # }, # delete_marker_replication: { # status: "Enabled", # accepts Enabled, Disabled # }, # } # # @!attribute [rw] id # A unique identifier for the rule. The maximum value is 255 # characters. # @return [String] # # @!attribute [rw] priority # The priority associated with the rule. If you specify multiple rules # in a replication configuration, Amazon S3 prioritizes the rules to # prevent conflicts when filtering. If two or more rules identify the # same object based on a specified filter, the rule with higher # priority takes precedence. For example: # # * Same object quality prefix based filter criteria If prefixes you # specified in multiple rules overlap # # * Same object qualify tag based filter criteria specified in # multiple rules # # For more information, see [Cross-Region Replication (CRR)]( # https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the # *Amazon S3 Developer Guide*. # @return [Integer] # # @!attribute [rw] prefix # An object keyname prefix that identifies the object or objects to # which the rule applies. The maximum prefix length is 1,024 # characters. # @return [String] # # @!attribute [rw] filter # 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. # @return [Types::ReplicationRuleFilter] # # @!attribute [rw] status # If status isn't enabled, the rule is ignored. # @return [String] # # @!attribute [rw] source_selection_criteria # 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 an AWS KMS-Managed Key (SSE-KMS). # # If you want Amazon S3 to replicate objects created with server-side # encryption using AWS KMS-Managed Keys. # @return [Types::SourceSelectionCriteria] # # @!attribute [rw] destination # A container for information about the replication destination. # @return [Types::Destination] # # @!attribute [rw] delete_marker_replication # Specifies whether Amazon S3 should replicate delete makers. # @return [Types::DeleteMarkerReplication] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule AWS API Documentation # class ReplicationRule < Struct.new( :id, :priority, :prefix, :filter, :status, :source_selection_criteria, :destination, :delete_marker_replication) include Aws::Structure end # @note When making an API call, you may pass ReplicationRuleAndOperator # data as a hash: # # { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # } # # @!attribute [rw] prefix # @return [String] # # @!attribute [rw] tags # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleAndOperator AWS API Documentation # class ReplicationRuleAndOperator < Struct.new( :prefix, :tags) include Aws::Structure end # 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. # # @note When making an API call, you may pass ReplicationRuleFilter # data as a hash: # # { # prefix: "Prefix", # tag: { # key: "ObjectKey", # required # value: "Value", # required # }, # and: { # prefix: "Prefix", # tags: [ # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # } # # @!attribute [rw] prefix # An object keyname prefix that identifies the subset of objects to # which the rule applies. # @return [String] # # @!attribute [rw] tag # A container for specifying a tag key and value. # # The rule applies only to objects that have the tag in their tag set. # @return [Types::Tag] # # @!attribute [rw] and # 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. # @return [Types::ReplicationRuleAndOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleFilter AWS API Documentation # class ReplicationRuleFilter < Struct.new( :prefix, :tag, :and) include Aws::Structure end # @note When making an API call, you may pass RequestPaymentConfiguration # data as a hash: # # { # payer: "Requester", # required, accepts Requester, BucketOwner # } # # @!attribute [rw] payer # Specifies who pays for the download and request fees. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestPaymentConfiguration AWS API Documentation # class RequestPaymentConfiguration < Struct.new( :payer) include Aws::Structure end # @note When making an API call, you may pass RequestProgress # data as a hash: # # { # enabled: false, # } # # @!attribute [rw] enabled # Specifies whether periodic QueryProgress frames should be sent. # Valid values: TRUE, FALSE. Default value: FALSE. # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestProgress AWS API Documentation # class RequestProgress < Struct.new( :enabled) include Aws::Structure end # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @!attribute [rw] restore_output_path # Indicates the path in the provided S3 output location where Select # results will be restored to. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectOutput AWS API Documentation # class RestoreObjectOutput < Struct.new( :request_charged, :restore_output_path) include Aws::Structure end # @note When making an API call, you may pass RestoreObjectRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # version_id: "ObjectVersionId", # restore_request: { # days: 1, # glacier_job_parameters: { # tier: "Standard", # required, accepts Standard, Bulk, Expedited # }, # type: "SELECT", # accepts SELECT # tier: "Standard", # accepts Standard, Bulk, Expedited # description: "Description", # select_parameters: { # input_serialization: { # required # csv: { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # }, # compression_type: "NONE", # accepts NONE, GZIP, BZIP2 # json: { # type: "DOCUMENT", # accepts DOCUMENT, LINES # }, # parquet: { # }, # }, # expression_type: "SQL", # required, accepts SQL # expression: "Expression", # required # output_serialization: { # required # csv: { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # }, # json: { # record_delimiter: "RecordDelimiter", # }, # }, # }, # output_location: { # s3: { # bucket_name: "BucketName", # required # prefix: "LocationPrefix", # required # encryption: { # encryption_type: "AES256", # required, accepts AES256, aws:kms # kms_key_id: "SSEKMSKeyId", # kms_context: "KMSContext", # }, # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # access_control_list: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # tagging: { # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # user_metadata: [ # { # name: "MetadataKey", # value: "MetadataValue", # }, # ], # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # }, # }, # }, # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] version_id # @return [String] # # @!attribute [rw] restore_request # Container for restore job parameters. # @return [Types::RestoreRequest] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectRequest AWS API Documentation # class RestoreObjectRequest < Struct.new( :bucket, :key, :version_id, :restore_request, :request_payer) include Aws::Structure end # Container for restore job parameters. # # @note When making an API call, you may pass RestoreRequest # data as a hash: # # { # days: 1, # glacier_job_parameters: { # tier: "Standard", # required, accepts Standard, Bulk, Expedited # }, # type: "SELECT", # accepts SELECT # tier: "Standard", # accepts Standard, Bulk, Expedited # description: "Description", # select_parameters: { # input_serialization: { # required # csv: { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # }, # compression_type: "NONE", # accepts NONE, GZIP, BZIP2 # json: { # type: "DOCUMENT", # accepts DOCUMENT, LINES # }, # parquet: { # }, # }, # expression_type: "SQL", # required, accepts SQL # expression: "Expression", # required # output_serialization: { # required # csv: { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # }, # json: { # record_delimiter: "RecordDelimiter", # }, # }, # }, # output_location: { # s3: { # bucket_name: "BucketName", # required # prefix: "LocationPrefix", # required # encryption: { # encryption_type: "AES256", # required, accepts AES256, aws:kms # kms_key_id: "SSEKMSKeyId", # kms_context: "KMSContext", # }, # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # access_control_list: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # tagging: { # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # user_metadata: [ # { # name: "MetadataKey", # value: "MetadataValue", # }, # ], # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # }, # }, # } # # @!attribute [rw] days # Lifetime of the active copy in days. Do not use with restores that # specify OutputLocation. # @return [Integer] # # @!attribute [rw] glacier_job_parameters # Glacier related parameters pertaining to this job. Do not use with # restores that specify OutputLocation. # @return [Types::GlacierJobParameters] # # @!attribute [rw] type # Type of restore request. # @return [String] # # @!attribute [rw] tier # Glacier retrieval tier at which the restore will be processed. # @return [String] # # @!attribute [rw] description # The optional description for the job. # @return [String] # # @!attribute [rw] select_parameters # Describes the parameters for Select job types. # @return [Types::SelectParameters] # # @!attribute [rw] output_location # Describes the location where the restore job's output is stored. # @return [Types::OutputLocation] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreRequest AWS API Documentation # class RestoreRequest < Struct.new( :days, :glacier_job_parameters, :type, :tier, :description, :select_parameters, :output_location) include Aws::Structure end # @note When making an API call, you may pass RoutingRule # data as a hash: # # { # condition: { # http_error_code_returned_equals: "HttpErrorCodeReturnedEquals", # key_prefix_equals: "KeyPrefixEquals", # }, # redirect: { # required # host_name: "HostName", # http_redirect_code: "HttpRedirectCode", # protocol: "http", # accepts http, https # replace_key_prefix_with: "ReplaceKeyPrefixWith", # replace_key_with: "ReplaceKeyWith", # }, # } # # @!attribute [rw] condition # 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. # @return [Types::Condition] # # @!attribute [rw] redirect # 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. # @return [Types::Redirect] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule AWS API Documentation # class RoutingRule < Struct.new( :condition, :redirect) include Aws::Structure end # @note When making an API call, you may pass Rule # data as a hash: # # { # expiration: { # date: Time.now, # days: 1, # expired_object_delete_marker: false, # }, # id: "ID", # prefix: "Prefix", # required # status: "Enabled", # required, accepts Enabled, Disabled # transition: { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_transition: { # noncurrent_days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # }, # noncurrent_version_expiration: { # noncurrent_days: 1, # }, # abort_incomplete_multipart_upload: { # days_after_initiation: 1, # }, # } # # @!attribute [rw] expiration # @return [Types::LifecycleExpiration] # # @!attribute [rw] id # Unique identifier for the rule. The value cannot be longer than 255 # characters. # @return [String] # # @!attribute [rw] prefix # Prefix identifying one or more objects to which the rule applies. # @return [String] # # @!attribute [rw] status # If 'Enabled', the rule is currently being applied. If # 'Disabled', the rule is not currently being applied. # @return [String] # # @!attribute [rw] transition # @return [Types::Transition] # # @!attribute [rw] noncurrent_version_transition # Container for the transition rule that describes when noncurrent # objects transition to the STANDARD\_IA, ONEZONE\_IA, # INTELLIGENT\_TIERING, 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 or DEEP\_ARCHIVE storage class at a # specific period in the object's lifetime. # @return [Types::NoncurrentVersionTransition] # # @!attribute [rw] noncurrent_version_expiration # 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. # @return [Types::NoncurrentVersionExpiration] # # @!attribute [rw] abort_incomplete_multipart_upload # Specifies the days since the initiation of an Incomplete Multipart # Upload that Lifecycle will wait before permanently removing all # parts of the upload. # @return [Types::AbortIncompleteMultipartUpload] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Rule AWS API Documentation # class Rule < Struct.new( :expiration, :id, :prefix, :status, :transition, :noncurrent_version_transition, :noncurrent_version_expiration, :abort_incomplete_multipart_upload) include Aws::Structure end # A container for object key name prefix and suffix filtering rules. # # @note When making an API call, you may pass S3KeyFilter # data as a hash: # # { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # } # # @!attribute [rw] filter_rules # A list of containers for the key value pair that defines the # criteria for the filter rule. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter AWS API Documentation # class S3KeyFilter < Struct.new( :filter_rules) include Aws::Structure end # Describes an S3 location that will receive the results of the restore # request. # # @note When making an API call, you may pass S3Location # data as a hash: # # { # bucket_name: "BucketName", # required # prefix: "LocationPrefix", # required # encryption: { # encryption_type: "AES256", # required, accepts AES256, aws:kms # kms_key_id: "SSEKMSKeyId", # kms_context: "KMSContext", # }, # canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control # access_control_list: [ # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP # }, # ], # tagging: { # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # }, # user_metadata: [ # { # name: "MetadataKey", # value: "MetadataValue", # }, # ], # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE # } # # @!attribute [rw] bucket_name # The name of the bucket where the restore results will be placed. # @return [String] # # @!attribute [rw] prefix # The prefix that is prepended to the restore results for this # request. # @return [String] # # @!attribute [rw] encryption # Describes the server-side encryption that will be applied to the # restore results. # @return [Types::Encryption] # # @!attribute [rw] canned_acl # The canned ACL to apply to the restore results. # @return [String] # # @!attribute [rw] access_control_list # A list of grants that control access to the staged results. # @return [Array] # # @!attribute [rw] tagging # The tag-set that is applied to the restore results. # @return [Types::Tagging] # # @!attribute [rw] user_metadata # A list of metadata to store with the restore results in S3. # @return [Array] # # @!attribute [rw] storage_class # The class of storage used to store the restore results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3Location AWS API Documentation # class S3Location < Struct.new( :bucket_name, :prefix, :encryption, :canned_acl, :access_control_list, :tagging, :user_metadata, :storage_class) include Aws::Structure end # Specifies the use of SSE-KMS to encrypt delivered Inventory reports. # # @note When making an API call, you may pass SSEKMS # data as a hash: # # { # key_id: "SSEKMSKeyId", # required # } # # @!attribute [rw] key_id # Specifies the ID of the AWS Key Management Service (KMS) master # encryption key to use for encrypting Inventory reports. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSEKMS AWS API Documentation # class SSEKMS < Struct.new( :key_id) include Aws::Structure end # Specifies the use of SSE-S3 to encrypt delivered Inventory reports. # # @api private # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSES3 AWS API Documentation # class SSES3 < Aws::EmptyStructure; end # @!attribute [rw] payload # @return [Types::SelectObjectContentEventStream] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentOutput AWS API Documentation # class SelectObjectContentOutput < Struct.new( :payload) include Aws::Structure end # Request to filter the contents of an Amazon S3 object based on a # simple Structured Query Language (SQL) statement. In the request, # along with the SQL expression, you must specify a data serialization # format (JSON or CSV) of the object. Amazon S3 uses this to parse # object data into records. It returns only records that match the # specified SQL expression. You must also specify the data serialization # format for the response. For more information, see [S3Select API # Documentation][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html # # @note When making an API call, you may pass SelectObjectContentRequest # data as a hash: # # { # bucket: "BucketName", # required # key: "ObjectKey", # required # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # expression: "Expression", # required # expression_type: "SQL", # required, accepts SQL # request_progress: { # enabled: false, # }, # input_serialization: { # required # csv: { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # }, # compression_type: "NONE", # accepts NONE, GZIP, BZIP2 # json: { # type: "DOCUMENT", # accepts DOCUMENT, LINES # }, # parquet: { # }, # }, # output_serialization: { # required # csv: { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # }, # json: { # record_delimiter: "RecordDelimiter", # }, # }, # } # # @!attribute [rw] bucket # The S3 bucket. # @return [String] # # @!attribute [rw] key # The object key. # @return [String] # # @!attribute [rw] sse_customer_algorithm # The SSE Algorithm used to encrypt the object. For more information, # see [ Server-Side Encryption (Using Customer-Provided Encryption # Keys][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html # @return [String] # # @!attribute [rw] sse_customer_key # The SSE Customer Key. For more information, see [ Server-Side # Encryption (Using Customer-Provided Encryption Keys][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html # @return [String] # # @!attribute [rw] sse_customer_key_md5 # The SSE Customer Key MD5. For more information, see [ Server-Side # Encryption (Using Customer-Provided Encryption Keys][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html # @return [String] # # @!attribute [rw] expression # The expression that is used to query the object. # @return [String] # # @!attribute [rw] expression_type # The type of the provided expression (for example., SQL). # @return [String] # # @!attribute [rw] request_progress # Specifies if periodic request progress information should be # enabled. # @return [Types::RequestProgress] # # @!attribute [rw] input_serialization # Describes the format of the data in the object that is being # queried. # @return [Types::InputSerialization] # # @!attribute [rw] output_serialization # Describes the format of the data that you want Amazon S3 to return # in response. # @return [Types::OutputSerialization] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentRequest AWS API Documentation # class SelectObjectContentRequest < Struct.new( :bucket, :key, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :expression, :expression_type, :request_progress, :input_serialization, :output_serialization) include Aws::Structure end # Describes the parameters for Select job types. # # @note When making an API call, you may pass SelectParameters # data as a hash: # # { # input_serialization: { # required # csv: { # file_header_info: "USE", # accepts USE, IGNORE, NONE # comments: "Comments", # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # allow_quoted_record_delimiter: false, # }, # compression_type: "NONE", # accepts NONE, GZIP, BZIP2 # json: { # type: "DOCUMENT", # accepts DOCUMENT, LINES # }, # parquet: { # }, # }, # expression_type: "SQL", # required, accepts SQL # expression: "Expression", # required # output_serialization: { # required # csv: { # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED # quote_escape_character: "QuoteEscapeCharacter", # record_delimiter: "RecordDelimiter", # field_delimiter: "FieldDelimiter", # quote_character: "QuoteCharacter", # }, # json: { # record_delimiter: "RecordDelimiter", # }, # }, # } # # @!attribute [rw] input_serialization # Describes the serialization format of the object. # @return [Types::InputSerialization] # # @!attribute [rw] expression_type # The type of the provided expression (e.g., SQL). # @return [String] # # @!attribute [rw] expression # The expression that is used to query the object. # @return [String] # # @!attribute [rw] output_serialization # Describes how the results of the Select job are serialized. # @return [Types::OutputSerialization] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectParameters AWS API Documentation # class SelectParameters < Struct.new( :input_serialization, :expression_type, :expression, :output_serialization) include Aws::Structure end # Describes the default server-side encryption to apply to new objects # in the bucket. If Put Object request does not specify any server-side # encryption, this default encryption will be applied. # # @note When making an API call, you may pass ServerSideEncryptionByDefault # data as a hash: # # { # sse_algorithm: "AES256", # required, accepts AES256, aws:kms # kms_master_key_id: "SSEKMSKeyId", # } # # @!attribute [rw] sse_algorithm # Server-side encryption algorithm to use for the default encryption. # @return [String] # # @!attribute [rw] kms_master_key_id # KMS master key ID to use for the default encryption. This parameter # is allowed if SSEAlgorithm is aws:kms. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionByDefault AWS API Documentation # class ServerSideEncryptionByDefault < Struct.new( :sse_algorithm, :kms_master_key_id) include Aws::Structure end # Container for server-side encryption configuration rules. Currently S3 # supports one rule only. # # @note When making an API call, you may pass ServerSideEncryptionConfiguration # data as a hash: # # { # rules: [ # required # { # apply_server_side_encryption_by_default: { # sse_algorithm: "AES256", # required, accepts AES256, aws:kms # kms_master_key_id: "SSEKMSKeyId", # }, # }, # ], # } # # @!attribute [rw] rules # Container for information about a particular server-side encryption # configuration rule. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionConfiguration AWS API Documentation # class ServerSideEncryptionConfiguration < Struct.new( :rules) include Aws::Structure end # Container for information about a particular server-side encryption # configuration rule. # # @note When making an API call, you may pass ServerSideEncryptionRule # data as a hash: # # { # apply_server_side_encryption_by_default: { # sse_algorithm: "AES256", # required, accepts AES256, aws:kms # kms_master_key_id: "SSEKMSKeyId", # }, # } # # @!attribute [rw] apply_server_side_encryption_by_default # Describes the default server-side encryption to apply to new objects # in the bucket. If Put Object request does not specify any # server-side encryption, this default encryption will be applied. # @return [Types::ServerSideEncryptionByDefault] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation # class ServerSideEncryptionRule < Struct.new( :apply_server_side_encryption_by_default) include Aws::Structure end # A container for filters that define which source objects should be # replicated. # # @note When making an API call, you may pass SourceSelectionCriteria # data as a hash: # # { # sse_kms_encrypted_objects: { # status: "Enabled", # required, accepts Enabled, Disabled # }, # } # # @!attribute [rw] sse_kms_encrypted_objects # A container for filter information for the selection of S3 objects # encrypted with AWS KMS. If you include `SourceSelectionCriteria` in # the replication configuration, this element is required. # @return [Types::SseKmsEncryptedObjects] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation # class SourceSelectionCriteria < Struct.new( :sse_kms_encrypted_objects) include Aws::Structure end # A container for filter information for the selection of S3 objects # encrypted with AWS KMS. # # @note When making an API call, you may pass SseKmsEncryptedObjects # data as a hash: # # { # status: "Enabled", # required, accepts Enabled, Disabled # } # # @!attribute [rw] status # If the status is not `Enabled`, replication for S3 objects encrypted # with AWS KMS is disabled. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects AWS API Documentation # class SseKmsEncryptedObjects < Struct.new( :status) include Aws::Structure end # @!attribute [rw] bytes_scanned # The total number of object bytes scanned. # @return [Integer] # # @!attribute [rw] bytes_processed # The total number of uncompressed object bytes processed. # @return [Integer] # # @!attribute [rw] bytes_returned # The total number of bytes of records payload data returned. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Stats AWS API Documentation # class Stats < Struct.new( :bytes_scanned, :bytes_processed, :bytes_returned) include Aws::Structure end # @!attribute [rw] details # The Stats event details. # @return [Types::Stats] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StatsEvent AWS API Documentation # class StatsEvent < Struct.new( :details, :event_type) include Aws::Structure end # @note When making an API call, you may pass StorageClassAnalysis # data as a hash: # # { # data_export: { # output_schema_version: "V_1", # required, accepts V_1 # destination: { # required # s3_bucket_destination: { # required # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # }, # }, # }, # } # # @!attribute [rw] data_export # A container used to describe how data related to the storage class # analysis should be exported. # @return [Types::StorageClassAnalysisDataExport] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysis AWS API Documentation # class StorageClassAnalysis < Struct.new( :data_export) include Aws::Structure end # @note When making an API call, you may pass StorageClassAnalysisDataExport # data as a hash: # # { # output_schema_version: "V_1", # required, accepts V_1 # destination: { # required # s3_bucket_destination: { # required # format: "CSV", # required, accepts CSV # bucket_account_id: "AccountId", # bucket: "BucketName", # required # prefix: "Prefix", # }, # }, # } # # @!attribute [rw] output_schema_version # The version of the output schema to use when exporting data. Must be # V\_1. # @return [String] # # @!attribute [rw] destination # The place to store the data for an analysis. # @return [Types::AnalyticsExportDestination] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysisDataExport AWS API Documentation # class StorageClassAnalysisDataExport < Struct.new( :output_schema_version, :destination) include Aws::Structure end # @note When making an API call, you may pass Tag # data as a hash: # # { # key: "ObjectKey", # required # value: "Value", # required # } # # @!attribute [rw] key # Name of the tag. # @return [String] # # @!attribute [rw] value # Value of the tag. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tag AWS API Documentation # class Tag < Struct.new( :key, :value) include Aws::Structure end # @note When making an API call, you may pass Tagging # data as a hash: # # { # tag_set: [ # required # { # key: "ObjectKey", # required # value: "Value", # required # }, # ], # } # # @!attribute [rw] tag_set # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tagging AWS API Documentation # class Tagging < Struct.new( :tag_set) include Aws::Structure end # @note When making an API call, you may pass TargetGrant # data as a hash: # # { # grantee: { # display_name: "DisplayName", # email_address: "EmailAddress", # id: "ID", # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group # uri: "URI", # }, # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE # } # # @!attribute [rw] grantee # @return [Types::Grantee] # # @!attribute [rw] permission # Logging permissions assigned to the Grantee for the bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant AWS API Documentation # class TargetGrant < Struct.new( :grantee, :permission) include Aws::Structure end # 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. # # @note When making an API call, you may pass TopicConfiguration # data as a hash: # # { # id: "NotificationId", # topic_arn: "TopicArn", # required # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # filter: { # key: { # filter_rules: [ # { # name: "prefix", # accepts prefix, suffix # value: "FilterRuleValue", # }, # ], # }, # }, # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] topic_arn # The Amazon Resource Name (ARN) of the Amazon SNS topic to which # Amazon S3 will publish a message when it detects events of the # specified type. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] filter # A container for object key name filtering rules. For information # about key name filtering, see [Configuring Event Notifications][1] # in the *Amazon Simple Storage Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html # @return [Types::NotificationConfigurationFilter] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfiguration AWS API Documentation # class TopicConfiguration < Struct.new( :id, :topic_arn, :events, :filter) include Aws::Structure end # @note When making an API call, you may pass TopicConfigurationDeprecated # data as a hash: # # { # id: "NotificationId", # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed # topic: "TopicArn", # } # # @!attribute [rw] id # An optional unique identifier for configurations in a notification # configuration. If you don't provide one, Amazon S3 will assign an # ID. # @return [String] # # @!attribute [rw] events # @return [Array] # # @!attribute [rw] event # Bucket event for which to send notifications. # @return [String] # # @!attribute [rw] topic # Amazon SNS topic to which Amazon S3 will publish a message to report # the specified events for the bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfigurationDeprecated AWS API Documentation # class TopicConfigurationDeprecated < Struct.new( :id, :events, :event, :topic) include Aws::Structure end # @note When making an API call, you may pass Transition # data as a hash: # # { # date: Time.now, # days: 1, # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE # } # # @!attribute [rw] date # Indicates at what date the object is to be moved or deleted. Should # be in GMT ISO 8601 Format. # @return [Time] # # @!attribute [rw] days # Indicates the lifetime, in days, of the objects that are subject to # the rule. The value must be a non-zero positive integer. # @return [Integer] # # @!attribute [rw] storage_class # The class of storage used to store the object. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Transition AWS API Documentation # class Transition < Struct.new( :date, :days, :storage_class) include Aws::Structure end # @!attribute [rw] copy_source_version_id # The version of the source object that was copied, if you have # enabled versioning on the source bucket. # @return [String] # # @!attribute [rw] copy_part_result # @return [Types::CopyPartResult] # # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyOutput AWS API Documentation # class UploadPartCopyOutput < Struct.new( :copy_source_version_id, :copy_part_result, :server_side_encryption, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass UploadPartCopyRequest # data as a hash: # # { # bucket: "BucketName", # required # copy_source: "CopySource", # required # copy_source_if_match: "CopySourceIfMatch", # copy_source_if_modified_since: Time.now, # copy_source_if_none_match: "CopySourceIfNoneMatch", # copy_source_if_unmodified_since: Time.now, # copy_source_range: "CopySourceRange", # key: "ObjectKey", # required # part_number: 1, # required # upload_id: "MultipartUploadId", # required # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm", # copy_source_sse_customer_key: "CopySourceSSECustomerKey", # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] bucket # @return [String] # # @!attribute [rw] copy_source # The name of the source bucket and key name of the source object, # separated by a slash (/). Must be URL-encoded. # @return [String] # # @!attribute [rw] copy_source_if_match # Copies the object if its entity tag (ETag) matches the specified # tag. # @return [String] # # @!attribute [rw] copy_source_if_modified_since # Copies the object if it has been modified since the specified time. # @return [Time] # # @!attribute [rw] copy_source_if_none_match # Copies the object if its entity tag (ETag) is different than the # specified ETag. # @return [String] # # @!attribute [rw] copy_source_if_unmodified_since # Copies the object if it hasn't been modified since the specified # time. # @return [Time] # # @!attribute [rw] copy_source_range # The range of bytes to copy from the source object. The range value # must use the form bytes=first-last, where the first and last are the # zero-based byte offsets to copy. For example, bytes=0-9 indicates # that you want to copy the first ten bytes of the source. You can # copy a range only if the source object is greater than 5 MB. # @return [String] # # @!attribute [rw] key # @return [String] # # @!attribute [rw] part_number # Part number of part being copied. This is a positive integer between # 1 and 10,000. # @return [Integer] # # @!attribute [rw] upload_id # Upload ID identifying the multipart upload whose part is being # copied. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. This must # be the same encryption key specified in the initiate multipart # upload request. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] copy_source_sse_customer_algorithm # Specifies the algorithm to use when decrypting the source object # (e.g., AES256). # @return [String] # # @!attribute [rw] copy_source_sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # to decrypt the source object. The encryption key provided in this # header must be one that was used when the source object was created. # @return [String] # # @!attribute [rw] copy_source_sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyRequest AWS API Documentation # class UploadPartCopyRequest < Struct.new( :bucket, :copy_source, :copy_source_if_match, :copy_source_if_modified_since, :copy_source_if_none_match, :copy_source_if_unmodified_since, :copy_source_range, :key, :part_number, :upload_id, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :copy_source_sse_customer_algorithm, :copy_source_sse_customer_key, :copy_source_sse_customer_key_md5, :request_payer) include Aws::Structure end # @!attribute [rw] server_side_encryption # The Server-side encryption algorithm used when storing this object # in S3 (e.g., AES256, aws:kms). # @return [String] # # @!attribute [rw] etag # Entity tag for the uploaded object. # @return [String] # # @!attribute [rw] sse_customer_algorithm # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header confirming the # encryption algorithm used. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # If server-side encryption with a customer-provided encryption key # was requested, the response will include this header to provide # round trip message integrity verification of the customer-provided # encryption key. # @return [String] # # @!attribute [rw] ssekms_key_id # If present, specifies the ID of the AWS Key Management Service (KMS) # master encryption key that was used for the object. # @return [String] # # @!attribute [rw] request_charged # If present, indicates that the requester was successfully charged # for the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartOutput AWS API Documentation # class UploadPartOutput < Struct.new( :server_side_encryption, :etag, :sse_customer_algorithm, :sse_customer_key_md5, :ssekms_key_id, :request_charged) include Aws::Structure end # @note When making an API call, you may pass UploadPartRequest # data as a hash: # # { # body: source_file, # bucket: "BucketName", # required # content_length: 1, # content_md5: "ContentMD5", # key: "ObjectKey", # required # part_number: 1, # required # upload_id: "MultipartUploadId", # required # sse_customer_algorithm: "SSECustomerAlgorithm", # sse_customer_key: "SSECustomerKey", # sse_customer_key_md5: "SSECustomerKeyMD5", # request_payer: "requester", # accepts requester # } # # @!attribute [rw] body # Object data. # @return [IO] # # @!attribute [rw] bucket # Name of the bucket to which the multipart upload was initiated. # @return [String] # # @!attribute [rw] content_length # Size of the body in bytes. This parameter is useful when the size of # the body cannot be determined automatically. # @return [Integer] # # @!attribute [rw] content_md5 # The base64-encoded 128-bit MD5 digest of the part data. # @return [String] # # @!attribute [rw] key # Object key for which the multipart upload was initiated. # @return [String] # # @!attribute [rw] part_number # Part number of part being uploaded. This is a positive integer # between 1 and 10,000. # @return [Integer] # # @!attribute [rw] upload_id # Upload ID identifying the multipart upload whose part is being # uploaded. # @return [String] # # @!attribute [rw] sse_customer_algorithm # Specifies the algorithm to use to when encrypting the object (e.g., # AES256). # @return [String] # # @!attribute [rw] sse_customer_key # Specifies the customer-provided encryption key for Amazon S3 to use # in encrypting data. This value is used to store the object and then # it is discarded; Amazon does not store the encryption key. The key # must be appropriate for use with the algorithm specified in the # x-amz-server-side​-encryption​-customer-algorithm header. This must # be the same encryption key specified in the initiate multipart # upload request. # @return [String] # # @!attribute [rw] sse_customer_key_md5 # Specifies the 128-bit MD5 digest of the encryption key according to # RFC 1321. Amazon S3 uses this header for a message integrity check # to ensure the encryption key was transmitted without error. # @return [String] # # @!attribute [rw] request_payer # Confirms that the requester knows that she or he will be charged for # the request. Bucket owners need not specify this parameter in their # requests. Documentation on downloading objects from requester pays # buckets can be found at # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartRequest AWS API Documentation # class UploadPartRequest < Struct.new( :body, :bucket, :content_length, :content_md5, :key, :part_number, :upload_id, :sse_customer_algorithm, :sse_customer_key, :sse_customer_key_md5, :request_payer) include Aws::Structure end # @note When making an API call, you may pass VersioningConfiguration # data as a hash: # # { # mfa_delete: "Enabled", # accepts Enabled, Disabled # status: "Enabled", # accepts Enabled, Suspended # } # # @!attribute [rw] mfa_delete # 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. # @return [String] # # @!attribute [rw] status # The versioning state of the bucket. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/VersioningConfiguration AWS API Documentation # class VersioningConfiguration < Struct.new( :mfa_delete, :status) include Aws::Structure end # @note When making an API call, you may pass WebsiteConfiguration # data as a hash: # # { # error_document: { # key: "ObjectKey", # required # }, # index_document: { # suffix: "Suffix", # required # }, # redirect_all_requests_to: { # host_name: "HostName", # required # protocol: "http", # accepts http, https # }, # routing_rules: [ # { # condition: { # http_error_code_returned_equals: "HttpErrorCodeReturnedEquals", # key_prefix_equals: "KeyPrefixEquals", # }, # redirect: { # required # host_name: "HostName", # http_redirect_code: "HttpRedirectCode", # protocol: "http", # accepts http, https # replace_key_prefix_with: "ReplaceKeyPrefixWith", # replace_key_with: "ReplaceKeyWith", # }, # }, # ], # } # # @!attribute [rw] error_document # @return [Types::ErrorDocument] # # @!attribute [rw] index_document # @return [Types::IndexDocument] # # @!attribute [rw] redirect_all_requests_to # @return [Types::RedirectAllRequestsTo] # # @!attribute [rw] routing_rules # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WebsiteConfiguration AWS API Documentation # class WebsiteConfiguration < Struct.new( :error_document, :index_document, :redirect_all_requests_to, :routing_rules) include Aws::Structure end # EventStream is an Enumerator of Events. # #event_types #=> Array, returns all modeled event types in the stream # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentEventStream AWS API Documentation # class SelectObjectContentEventStream < Enumerator def event_types [ :records, :stats, :progress, :cont, :end ] end end end end