# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::S3Control
module Types
# The container for abort incomplete multipart upload
#
# @note When making an API call, you may pass AbortIncompleteMultipartUpload
# data as a hash:
#
# {
# days_after_initiation: 1,
# }
#
# @!attribute [rw] days_after_initiation
# Specifies the number of days after which Amazon S3 aborts an
# incomplete multipart upload to the Outposts bucket.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AbortIncompleteMultipartUpload AWS API Documentation
#
class AbortIncompleteMultipartUpload < Struct.new(
:days_after_initiation)
SENSITIVE = []
include Aws::Structure
end
# An access point used to access a bucket.
#
# @!attribute [rw] name
# The name of this access point.
# @return [String]
#
# @!attribute [rw] network_origin
# Indicates whether this access point allows access from the public
# internet. If `VpcConfiguration` is specified for this access point,
# then `NetworkOrigin` is `VPC`, and the access point doesn't allow
# access from the public internet. Otherwise, `NetworkOrigin` is
# `Internet`, and the access point allows access from the public
# internet, subject to the access point and bucket access policies.
# @return [String]
#
# @!attribute [rw] vpc_configuration
# The virtual private cloud (VPC) configuration for this access point,
# if one exists.
#
# This element is empty if this access point is an Amazon S3 on
# Outposts access point that is used by other Amazon Web Services.
#
#
# @return [Types::VpcConfiguration]
#
# @!attribute [rw] bucket
# The name of the bucket associated with this access point.
# @return [String]
#
# @!attribute [rw] access_point_arn
# The ARN for the access point.
# @return [String]
#
# @!attribute [rw] alias
# The name or alias of the access point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessPoint AWS API Documentation
#
class AccessPoint < Struct.new(
:name,
:network_origin,
:vpc_configuration,
:bucket,
:access_point_arn,
:alias)
SENSITIVE = []
include Aws::Structure
end
# A container for the account-level Amazon S3 Storage Lens
# configuration.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*. For a complete list of S3 Storage Lens metrics, see [S3
# Storage Lens metrics glossary][2] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html
#
# @note When making an API call, you may pass AccountLevel
# data as a hash:
#
# {
# activity_metrics: {
# is_enabled: false,
# },
# bucket_level: { # required
# activity_metrics: {
# is_enabled: false,
# },
# prefix_level: {
# storage_metrics: { # required
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# }
#
# @!attribute [rw] activity_metrics
# A container for S3 Storage Lens activity metrics.
# @return [Types::ActivityMetrics]
#
# @!attribute [rw] bucket_level
# A container for the S3 Storage Lens bucket-level configuration.
# @return [Types::BucketLevel]
#
# @!attribute [rw] advanced_cost_optimization_metrics
# A container for S3 Storage Lens advanced cost-optimization metrics.
# @return [Types::AdvancedCostOptimizationMetrics]
#
# @!attribute [rw] advanced_data_protection_metrics
# A container for S3 Storage Lens advanced data-protection metrics.
# @return [Types::AdvancedDataProtectionMetrics]
#
# @!attribute [rw] detailed_status_codes_metrics
# A container for detailed status code metrics.
# @return [Types::DetailedStatusCodesMetrics]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccountLevel AWS API Documentation
#
class AccountLevel < Struct.new(
:activity_metrics,
:bucket_level,
:advanced_cost_optimization_metrics,
:advanced_data_protection_metrics,
:detailed_status_codes_metrics)
SENSITIVE = []
include Aws::Structure
end
# The container element for Amazon S3 Storage Lens activity metrics.
# Activity metrics show details about how your storage is requested,
# such as requests (for example, All requests, Get requests, Put
# requests), bytes uploaded or downloaded, and errors.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*. For a complete list of S3 Storage Lens metrics, see [S3
# Storage Lens metrics glossary][2] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html
#
# @note When making an API call, you may pass ActivityMetrics
# data as a hash:
#
# {
# is_enabled: false,
# }
#
# @!attribute [rw] is_enabled
# A container that indicates whether activity metrics are enabled.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ActivityMetrics AWS API Documentation
#
class ActivityMetrics < Struct.new(
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# The container element for Amazon S3 Storage Lens advanced
# cost-optimization metrics. Advanced cost-optimization metrics provide
# insights that you can use to manage and optimize your storage costs,
# for example, lifecycle rule counts for transitions, expirations, and
# incomplete multipart uploads.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*. For a complete list of S3 Storage Lens metrics, see [S3
# Storage Lens metrics glossary][2] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html
#
# @note When making an API call, you may pass AdvancedCostOptimizationMetrics
# data as a hash:
#
# {
# is_enabled: false,
# }
#
# @!attribute [rw] is_enabled
# A container that indicates whether advanced cost-optimization
# metrics are enabled.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AdvancedCostOptimizationMetrics AWS API Documentation
#
class AdvancedCostOptimizationMetrics < Struct.new(
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# The container element for Amazon S3 Storage Lens advanced
# data-protection metrics. Advanced data-protection metrics provide
# insights that you can use to perform audits and protect your data, for
# example replication rule counts within and across Regions.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*. For a complete list of S3 Storage Lens metrics, see [S3
# Storage Lens metrics glossary][2] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html
#
# @note When making an API call, you may pass AdvancedDataProtectionMetrics
# data as a hash:
#
# {
# is_enabled: false,
# }
#
# @!attribute [rw] is_enabled
# A container that indicates whether advanced data-protection metrics
# are enabled.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AdvancedDataProtectionMetrics AWS API Documentation
#
class AdvancedDataProtectionMetrics < Struct.new(
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# Error details for the failed asynchronous operation.
#
# @!attribute [rw] code
# A string that uniquely identifies the error condition.
# @return [String]
#
# @!attribute [rw] message
# A generic description of the error condition in English.
# @return [String]
#
# @!attribute [rw] resource
# The identifier of the resource associated with the error.
# @return [String]
#
# @!attribute [rw] request_id
# The ID of the request associated with the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AsyncErrorDetails AWS API Documentation
#
class AsyncErrorDetails < Struct.new(
:code,
:message,
:resource,
:request_id)
SENSITIVE = []
include Aws::Structure
end
# A container for the information about an asynchronous operation.
#
# @!attribute [rw] creation_time
# The time that the request was sent to the service.
# @return [Time]
#
# @!attribute [rw] operation
# The specific operation for the asynchronous request.
# @return [String]
#
# @!attribute [rw] request_token_arn
# The request token associated with the request.
# @return [String]
#
# @!attribute [rw] request_parameters
# The parameters associated with the request.
# @return [Types::AsyncRequestParameters]
#
# @!attribute [rw] request_status
# The current status of the request.
# @return [String]
#
# @!attribute [rw] response_details
# The details of the response.
# @return [Types::AsyncResponseDetails]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AsyncOperation AWS API Documentation
#
class AsyncOperation < Struct.new(
:creation_time,
:operation,
:request_token_arn,
:request_parameters,
:request_status,
:response_details)
SENSITIVE = []
include Aws::Structure
end
# A container for the request parameters associated with an asynchronous
# request.
#
# @!attribute [rw] create_multi_region_access_point_request
# A container of the parameters for a
# [CreateMultiRegionAccessPoint][1] request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html
# @return [Types::CreateMultiRegionAccessPointInput]
#
# @!attribute [rw] delete_multi_region_access_point_request
# A container of the parameters for a
# [DeleteMultiRegionAccessPoint][1] request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html
# @return [Types::DeleteMultiRegionAccessPointInput]
#
# @!attribute [rw] put_multi_region_access_point_policy_request
# A container of the parameters for a [PutMultiRegionAccessPoint][1]
# request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html
# @return [Types::PutMultiRegionAccessPointPolicyInput]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AsyncRequestParameters AWS API Documentation
#
class AsyncRequestParameters < Struct.new(
:create_multi_region_access_point_request,
:delete_multi_region_access_point_request,
:put_multi_region_access_point_policy_request)
SENSITIVE = []
include Aws::Structure
end
# A container for the response details that are returned when querying
# about an asynchronous request.
#
# @!attribute [rw] multi_region_access_point_details
# The details for the Multi-Region Access Point.
# @return [Types::MultiRegionAccessPointsAsyncResponse]
#
# @!attribute [rw] error_details
# Error details for an asynchronous request.
# @return [Types::AsyncErrorDetails]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AsyncResponseDetails AWS API Documentation
#
class AsyncResponseDetails < Struct.new(
:multi_region_access_point_details,
:error_details)
SENSITIVE = []
include Aws::Structure
end
# Lambda function used to transform objects through an Object Lambda
# Access Point.
#
# @note When making an API call, you may pass AwsLambdaTransformation
# data as a hash:
#
# {
# function_arn: "FunctionArnString", # required
# function_payload: "AwsLambdaTransformationPayload",
# }
#
# @!attribute [rw] function_arn
# The Amazon Resource Name (ARN) of the Lambda function.
# @return [String]
#
# @!attribute [rw] function_payload
# Additional JSON that provides supplemental data to the Lambda
# function used to transform objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AwsLambdaTransformation AWS API Documentation
#
class AwsLambdaTransformation < Struct.new(
:function_arn,
:function_payload)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BadRequestException AWS API Documentation
#
class BadRequestException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The requested Outposts bucket name is not available. The bucket
# namespace is shared by all users of the Outposts in this Region.
# Select a different name and try again.
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyExists AWS API Documentation
#
class BucketAlreadyExists < Aws::EmptyStructure; end
# The Outposts bucket you tried to create already exists, and you own
# it.
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyOwnedByYou AWS API Documentation
#
class BucketAlreadyOwnedByYou < Aws::EmptyStructure; end
# A container for the bucket-level configuration for Amazon S3 Storage
# Lens.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
#
# @note When making an API call, you may pass BucketLevel
# data as a hash:
#
# {
# activity_metrics: {
# is_enabled: false,
# },
# prefix_level: {
# storage_metrics: { # required
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# }
#
# @!attribute [rw] activity_metrics
# A container for the bucket-level activity metrics for S3 Storage
# Lens.
# @return [Types::ActivityMetrics]
#
# @!attribute [rw] prefix_level
# A container for the prefix-level metrics for S3 Storage Lens.
# @return [Types::PrefixLevel]
#
# @!attribute [rw] advanced_cost_optimization_metrics
# A container for bucket-level advanced cost-optimization metrics for
# S3 Storage Lens.
# @return [Types::AdvancedCostOptimizationMetrics]
#
# @!attribute [rw] advanced_data_protection_metrics
# A container for bucket-level advanced data-protection metrics for S3
# Storage Lens.
# @return [Types::AdvancedDataProtectionMetrics]
#
# @!attribute [rw] detailed_status_codes_metrics
# A container for bucket-level detailed status code metrics for S3
# Storage Lens.
# @return [Types::DetailedStatusCodesMetrics]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketLevel AWS API Documentation
#
class BucketLevel < Struct.new(
:activity_metrics,
:prefix_level,
:advanced_cost_optimization_metrics,
:advanced_data_protection_metrics,
:detailed_status_codes_metrics)
SENSITIVE = []
include Aws::Structure
end
# A container for enabling Amazon CloudWatch publishing for S3 Storage
# Lens metrics.
#
# For more information about publishing S3 Storage Lens metrics to
# CloudWatch, see [Monitor S3 Storage Lens metrics in CloudWatch][1] in
# the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_view_metrics_cloudwatch.html
#
# @note When making an API call, you may pass CloudWatchMetrics
# data as a hash:
#
# {
# is_enabled: false, # required
# }
#
# @!attribute [rw] is_enabled
# A container that indicates whether CloudWatch publishing for S3
# Storage Lens metrics is enabled. A value of `true` indicates that
# CloudWatch publishing for S3 Storage Lens metrics is enabled.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CloudWatchMetrics AWS API Documentation
#
class CloudWatchMetrics < Struct.new(
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateAccessPointForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# configuration: { # required
# supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
# cloud_watch_metrics_enabled: false,
# allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber, HeadObject-Range, HeadObject-PartNumber
# transformation_configurations: [ # required
# {
# actions: ["GetObject"], # required, accepts GetObject, HeadObject, ListObjects, ListObjectsV2
# content_transformation: { # required
# aws_lambda: {
# function_arn: "FunctionArnString", # required
# function_payload: "AwsLambdaTransformationPayload",
# },
# },
# },
# ],
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for owner of the specified Object
# Lambda Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name you want to assign to this Object Lambda Access Point.
# @return [String]
#
# @!attribute [rw] configuration
# Object Lambda Access Point configuration as a JSON document.
# @return [Types::ObjectLambdaConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambdaRequest AWS API Documentation
#
class CreateAccessPointForObjectLambdaRequest < Struct.new(
:account_id,
:name,
:configuration)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] object_lambda_access_point_arn
# Specifies the ARN for the Object Lambda Access Point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambdaResult AWS API Documentation
#
class CreateAccessPointForObjectLambdaResult < Struct.new(
:object_lambda_access_point_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# bucket: "BucketName", # required
# vpc_configuration: {
# vpc_id: "VpcId", # required
# },
# public_access_block_configuration: {
# block_public_acls: false,
# ignore_public_acls: false,
# block_public_policy: false,
# restrict_public_buckets: false,
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the bucket for
# which you want to create an access point.
# @return [String]
#
# @!attribute [rw] name
# The name you want to assign to this access point.
# @return [String]
#
# @!attribute [rw] bucket
# The name of the bucket that you want to associate this access point
# with.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @!attribute [rw] vpc_configuration
# If you include this field, Amazon S3 restricts access to this access
# point to requests from the specified virtual private cloud (VPC).
#
# This is required for creating an access point for Amazon S3 on
# Outposts buckets.
#
#
# @return [Types::VpcConfiguration]
#
# @!attribute [rw] public_access_block_configuration
# The `PublicAccessBlock` configuration that you want to apply to the
# access point.
# @return [Types::PublicAccessBlockConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointRequest AWS API Documentation
#
class CreateAccessPointRequest < Struct.new(
:account_id,
:name,
:bucket,
:vpc_configuration,
:public_access_block_configuration)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] access_point_arn
# The ARN of the access point.
#
# This is only supported by Amazon S3 on Outposts.
#
#
# @return [String]
#
# @!attribute [rw] alias
# The name or alias of the access point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointResult AWS API Documentation
#
class CreateAccessPointResult < Struct.new(
:access_point_arn,
:alias)
SENSITIVE = []
include Aws::Structure
end
# The container for the bucket configuration.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
#
# @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 are
# creating a bucket on the US East (N. Virginia) Region (us-east-1),
# you do not need to specify the location.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketConfiguration AWS API Documentation
#
class CreateBucketConfiguration < Struct.new(
:location_constraint)
SENSITIVE = []
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,
# outpost_id: "NonEmptyMaxLength64String",
# }
#
# @!attribute [rw] acl
# The canned ACL to apply to the bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] bucket
# The name of the bucket.
# @return [String]
#
# @!attribute [rw] create_bucket_configuration
# The configuration information for the bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [Types::CreateBucketConfiguration]
#
# @!attribute [rw] grant_full_control
# Allows grantee the read, write, read ACP, and write ACP permissions
# on the bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] grant_read
# Allows grantee to list the objects in the bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] grant_read_acp
# Allows grantee to read the bucket ACL.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] grant_write
# Allows grantee to create, overwrite, and delete any object in the
# bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] grant_write_acp
# Allows grantee to write the ACL for the applicable bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @!attribute [rw] object_lock_enabled_for_bucket
# Specifies whether you want S3 Object Lock to be enabled for the new
# bucket.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [Boolean]
#
# @!attribute [rw] outpost_id
# The ID of the Outposts where the bucket is being created.
#
# This ID is required by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/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,
:outpost_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] location
# The location of the bucket.
# @return [String]
#
# @!attribute [rw] bucket_arn
# The Amazon Resource Name (ARN) of the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketResult AWS API Documentation
#
class CreateBucketResult < Struct.new(
:location,
:bucket_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateJobRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# confirmation_required: false,
# operation: { # required
# lambda_invoke: {
# function_arn: "FunctionArnString",
# },
# s3_put_object_copy: {
# target_resource: "S3BucketArnString",
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# access_control_grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# metadata_directive: "COPY", # accepts COPY, REPLACE
# modified_since_constraint: Time.now,
# new_object_metadata: {
# cache_control: "NonEmptyMaxLength1024String",
# content_disposition: "NonEmptyMaxLength1024String",
# content_encoding: "NonEmptyMaxLength1024String",
# content_language: "NonEmptyMaxLength1024String",
# user_metadata: {
# "NonEmptyMaxLength1024String" => "MaxLength1024String",
# },
# content_length: 1,
# content_md5: "NonEmptyMaxLength1024String",
# content_type: "NonEmptyMaxLength1024String",
# http_expires_date: Time.now,
# requester_charged: false,
# sse_algorithm: "AES256", # accepts AES256, KMS
# },
# new_object_tagging: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# redirect_location: "NonEmptyMaxLength2048String",
# requester_pays: false,
# storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
# un_modified_since_constraint: Time.now,
# sse_aws_kms_key_id: "KmsKeyArnString",
# target_key_prefix: "NonEmptyMaxLength1024String",
# object_lock_legal_hold_status: "OFF", # accepts OFF, ON
# object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# object_lock_retain_until_date: Time.now,
# bucket_key_enabled: false,
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
# },
# s3_put_object_acl: {
# access_control_policy: {
# access_control_list: {
# owner: { # required
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# },
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# },
# },
# s3_put_object_tagging: {
# tag_set: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# },
# s3_delete_object_tagging: {
# },
# s3_initiate_restore_object: {
# expiration_in_days: 1,
# glacier_job_tier: "BULK", # accepts BULK, STANDARD
# },
# s3_put_object_legal_hold: {
# legal_hold: { # required
# status: "OFF", # required, accepts OFF, ON
# },
# },
# s3_put_object_retention: {
# bypass_governance_retention: false,
# retention: { # required
# retain_until_date: Time.now,
# mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# },
# },
# s3_replicate_object: {
# },
# },
# report: { # required
# bucket: "S3BucketArnString",
# format: "Report_CSV_20180820", # accepts Report_CSV_20180820
# enabled: false, # required
# prefix: "ReportPrefixString",
# report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
# },
# client_request_token: "NonEmptyMaxLength64String", # required
# manifest: {
# spec: { # required
# format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
# fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
# },
# location: { # required
# object_arn: "S3KeyArnString", # required
# object_version_id: "S3ObjectVersionId",
# etag: "NonEmptyMaxLength1024String", # required
# },
# },
# description: "NonEmptyMaxLength256String",
# priority: 1, # required
# role_arn: "IAMRoleArn", # required
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# manifest_generator: {
# s3_job_manifest_generator: {
# expected_bucket_owner: "AccountId",
# source_bucket: "S3BucketArnString", # required
# manifest_output_location: {
# expected_manifest_bucket_owner: "AccountId",
# bucket: "S3BucketArnString", # required
# manifest_prefix: "ManifestPrefixString",
# manifest_encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "KmsKeyArnString", # required
# },
# },
# manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
# },
# filter: {
# eligible_for_replication: false,
# created_after: Time.now,
# created_before: Time.now,
# object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
# },
# enable_manifest_output: false, # required
# },
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID that creates the job.
# @return [String]
#
# @!attribute [rw] confirmation_required
# Indicates whether confirmation is required before Amazon S3 runs the
# job. Confirmation is only required for jobs created through the
# Amazon S3 console.
# @return [Boolean]
#
# @!attribute [rw] operation
# The action that you want this job to perform on every object listed
# in the manifest. For more information about the available actions,
# see [Operations][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html
# @return [Types::JobOperation]
#
# @!attribute [rw] report
# Configuration parameters for the optional job-completion report.
# @return [Types::JobReport]
#
# @!attribute [rw] client_request_token
# An idempotency token to ensure that you don't accidentally submit
# the same request twice. You can use any string up to the maximum
# length.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] manifest
# Configuration parameters for the manifest.
# @return [Types::JobManifest]
#
# @!attribute [rw] description
# A description for this job. You can use any string within the
# permitted length. Descriptions don't need to be unique and can be
# used for multiple jobs.
# @return [String]
#
# @!attribute [rw] priority
# The numerical priority for this job. Higher numbers indicate higher
# priority.
# @return [Integer]
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) for the Identity and Access
# Management (IAM) role that Batch Operations will use to run this
# job's action on every object in the manifest.
# @return [String]
#
# @!attribute [rw] tags
# A set of tags to associate with the S3 Batch Operations job. This is
# an optional parameter.
# @return [Array]
#
# @!attribute [rw] manifest_generator
# The attribute container for the ManifestGenerator details. Jobs must
# be created with either a manifest file or a ManifestGenerator, but
# not both.
# @return [Types::JobManifestGenerator]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
#
class CreateJobRequest < Struct.new(
:account_id,
:confirmation_required,
:operation,
:report,
:client_request_token,
:manifest,
:description,
:priority,
:role_arn,
:tags,
:manifest_generator)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] job_id
# The ID for this job. Amazon S3 generates this ID automatically and
# returns it after a successful `Create Job` request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobResult AWS API Documentation
#
class CreateJobResult < Struct.new(
:job_id)
SENSITIVE = []
include Aws::Structure
end
# A container for the information associated with a
# [CreateMultiRegionAccessPoint][1] request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html
#
# @note When making an API call, you may pass CreateMultiRegionAccessPointInput
# data as a hash:
#
# {
# name: "MultiRegionAccessPointName", # required
# public_access_block: {
# block_public_acls: false,
# ignore_public_acls: false,
# block_public_policy: false,
# restrict_public_buckets: false,
# },
# regions: [ # required
# {
# bucket: "BucketName", # required
# },
# ],
# }
#
# @!attribute [rw] name
# The name of the Multi-Region Access Point associated with this
# request.
# @return [String]
#
# @!attribute [rw] public_access_block
# The `PublicAccessBlock` configuration that you want to apply to this
# Amazon S3 account. 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 S3 User Guide*.
#
# This data type is not supported for Amazon S3 on Outposts.
#
#
#
# [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]
#
# @!attribute [rw] regions
# The buckets in different Regions that are associated with the
# Multi-Region Access Point.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateMultiRegionAccessPointInput AWS API Documentation
#
class CreateMultiRegionAccessPointInput < Struct.new(
:name,
:public_access_block,
:regions)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateMultiRegionAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# client_token: "MultiRegionAccessPointClientToken", # required
# details: { # required
# name: "MultiRegionAccessPointName", # required
# public_access_block: {
# block_public_acls: false,
# ignore_public_acls: false,
# block_public_policy: false,
# restrict_public_buckets: false,
# },
# regions: [ # required
# {
# bucket: "BucketName", # required
# },
# ],
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point. The owner of the Multi-Region Access Point also must
# own the underlying buckets.
# @return [String]
#
# @!attribute [rw] client_token
# An idempotency token used to identify the request and guarantee that
# requests are unique.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] details
# A container element containing details about the Multi-Region Access
# Point.
# @return [Types::CreateMultiRegionAccessPointInput]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateMultiRegionAccessPointRequest AWS API Documentation
#
class CreateMultiRegionAccessPointRequest < Struct.new(
:account_id,
:client_token,
:details)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_token_arn
# The request token associated with the request. You can use this
# token with [DescribeMultiRegionAccessPointOperation][1] to determine
# the status of asynchronous requests.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateMultiRegionAccessPointResult AWS API Documentation
#
class CreateMultiRegionAccessPointResult < Struct.new(
:request_token_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteAccessPointForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point you want to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambdaRequest AWS API Documentation
#
class DeleteAccessPointForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteAccessPointPolicyForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point you want to delete the
# policy for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambdaRequest AWS API Documentation
#
class DeleteAccessPointPolicyForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteAccessPointPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point whose policy you want to delete.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the access point
# accessed in the format
# `arn:aws:s3-outposts:::outpost//accesspoint/`.
# For example, to access the access point `reports-ap` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyRequest AWS API Documentation
#
class DeleteAccessPointPolicyRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point you want to delete.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the access point
# accessed in the format
# `arn:aws:s3-outposts:::outpost//accesspoint/`.
# For example, to access the access point `reports-ap` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointRequest AWS API Documentation
#
class DeleteAccessPointRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteBucketLifecycleConfigurationRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The account ID of the lifecycle configuration to delete.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfigurationRequest AWS API Documentation
#
class DeleteBucketLifecycleConfigurationRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteBucketPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicyRequest AWS API Documentation
#
class DeleteBucketPolicyRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteBucketRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The account ID that owns the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket being deleted.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketRequest AWS API Documentation
#
class DeleteBucketRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteBucketTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket tag set to
# be removed.
# @return [String]
#
# @!attribute [rw] bucket
# The bucket ARN that has the tag set to be removed.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTaggingRequest AWS API Documentation
#
class DeleteBucketTaggingRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteJobTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID for the S3 Batch Operations job whose tags you want to
# delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingRequest AWS API Documentation
#
class DeleteJobTaggingRequest < Struct.new(
:account_id,
:job_id)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingResult AWS API Documentation
#
class DeleteJobTaggingResult < Aws::EmptyStructure; end
# A container for the information associated with a
# [DeleteMultiRegionAccessPoint][1] request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html
#
# @note When making an API call, you may pass DeleteMultiRegionAccessPointInput
# data as a hash:
#
# {
# name: "MultiRegionAccessPointName", # required
# }
#
# @!attribute [rw] name
# The name of the Multi-Region Access Point associated with this
# request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMultiRegionAccessPointInput AWS API Documentation
#
class DeleteMultiRegionAccessPointInput < Struct.new(
:name)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteMultiRegionAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# client_token: "MultiRegionAccessPointClientToken", # required
# details: { # required
# name: "MultiRegionAccessPointName", # required
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] client_token
# An idempotency token used to identify the request and guarantee that
# requests are unique.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] details
# A container element containing details about the Multi-Region Access
# Point.
# @return [Types::DeleteMultiRegionAccessPointInput]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMultiRegionAccessPointRequest AWS API Documentation
#
class DeleteMultiRegionAccessPointRequest < Struct.new(
:account_id,
:client_token,
:details)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_token_arn
# The request token associated with the request. You can use this
# token with [DescribeMultiRegionAccessPointOperation][1] to determine
# the status of asynchronous requests.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMultiRegionAccessPointResult AWS API Documentation
#
class DeleteMultiRegionAccessPointResult < Struct.new(
:request_token_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeletePublicAccessBlockRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# }
#
# @!attribute [rw] account_id
# The account ID for the Amazon Web Services account whose
# `PublicAccessBlock` configuration you want to remove.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
#
class DeletePublicAccessBlockRequest < Struct.new(
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteStorageLensConfigurationRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# }
#
# @!attribute [rw] config_id
# The ID of the S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationRequest AWS API Documentation
#
class DeleteStorageLensConfigurationRequest < Struct.new(
:config_id,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteStorageLensConfigurationTaggingRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# }
#
# @!attribute [rw] config_id
# The ID of the S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTaggingRequest AWS API Documentation
#
class DeleteStorageLensConfigurationTaggingRequest < Struct.new(
:config_id,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTaggingResult AWS API Documentation
#
class DeleteStorageLensConfigurationTaggingResult < Aws::EmptyStructure; end
# @note When making an API call, you may pass DescribeJobRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID for the job whose information you want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobRequest AWS API Documentation
#
class DescribeJobRequest < Struct.new(
:account_id,
:job_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] job
# Contains the configuration parameters and status for the job
# specified in the `Describe Job` request.
# @return [Types::JobDescriptor]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobResult AWS API Documentation
#
class DescribeJobResult < Struct.new(
:job)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DescribeMultiRegionAccessPointOperationRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# request_token_arn: "AsyncRequestTokenARN", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] request_token_arn
# The request token associated with the request you want to know
# about. This request token is returned as part of the response when
# you make an asynchronous request. You provide this token to query
# about the status of the asynchronous action.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeMultiRegionAccessPointOperationRequest AWS API Documentation
#
class DescribeMultiRegionAccessPointOperationRequest < Struct.new(
:account_id,
:request_token_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] async_operation
# A container element containing the details of the asynchronous
# operation.
# @return [Types::AsyncOperation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeMultiRegionAccessPointOperationResult AWS API Documentation
#
class DescribeMultiRegionAccessPointOperationResult < Struct.new(
:async_operation)
SENSITIVE = []
include Aws::Structure
end
# The container element for Amazon S3 Storage Lens detailed status code
# metrics. Detailed status code metrics generate metrics for HTTP status
# codes, such as `200 OK`, `403 Forbidden`, `503 Service Unavailable`
# and others.
#
# For more information about S3 Storage Lens, see [Assessing your
# storage activity and usage with S3 Storage Lens][1] in the *Amazon S3
# User Guide*. For a complete list of S3 Storage Lens metrics, see [S3
# Storage Lens metrics glossary][2] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html
#
# @note When making an API call, you may pass DetailedStatusCodesMetrics
# data as a hash:
#
# {
# is_enabled: false,
# }
#
# @!attribute [rw] is_enabled
# A container that indicates whether detailed status code metrics are
# enabled.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DetailedStatusCodesMetrics AWS API Documentation
#
class DetailedStatusCodesMetrics < Struct.new(
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# The last established access control policy for a Multi-Region Access
# Point.
#
# When you update the policy, the update is first listed as the proposed
# policy. After the update is finished and all Regions have been
# updated, the proposed policy is listed as the established policy. If
# both policies have the same version number, the proposed policy is the
# established policy.
#
# @!attribute [rw] policy
# The details of the last established policy.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/EstablishedMultiRegionAccessPointPolicy AWS API Documentation
#
class EstablishedMultiRegionAccessPointPolicy < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# A container for what Amazon S3 Storage Lens will exclude.
#
# @note When making an API call, you may pass Exclude
# data as a hash:
#
# {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# }
#
# @!attribute [rw] buckets
# A container for the S3 Storage Lens bucket excludes.
# @return [Array]
#
# @!attribute [rw] regions
# A container for the S3 Storage Lens Region excludes.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Exclude AWS API Documentation
#
class Exclude < Struct.new(
:buckets,
:regions)
SENSITIVE = []
include Aws::Structure
end
# The encryption configuration to use when storing the generated
# manifest.
#
# @note When making an API call, you may pass GeneratedManifestEncryption
# data as a hash:
#
# {
# sses3: {
# },
# ssekms: {
# key_id: "KmsKeyArnString", # required
# },
# }
#
# @!attribute [rw] sses3
# Specifies the use of SSE-S3 to encrypt generated manifest objects.
# @return [Types::SSES3Encryption]
#
# @!attribute [rw] ssekms
# Configuration details on how SSE-KMS is used to encrypt generated
# manifest objects.
# @return [Types::SSEKMSEncryption]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GeneratedManifestEncryption AWS API Documentation
#
class GeneratedManifestEncryption < Struct.new(
:sses3,
:ssekms)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointConfigurationForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point you want to return the
# configuration for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
#
class GetAccessPointConfigurationForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] configuration
# Object Lambda Access Point configuration document.
# @return [Types::ObjectLambdaConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaResult AWS API Documentation
#
class GetAccessPointConfigurationForObjectLambdaResult < Struct.new(
:configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaRequest AWS API Documentation
#
class GetAccessPointForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @!attribute [rw] public_access_block_configuration
# Configuration to block all public access. This setting is turned on
# and can not be edited.
# @return [Types::PublicAccessBlockConfiguration]
#
# @!attribute [rw] creation_date
# The date and time when the specified Object Lambda Access Point was
# created.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaResult AWS API Documentation
#
class GetAccessPointForObjectLambdaResult < Struct.new(
:name,
:public_access_block_configuration,
:creation_date)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointPolicyForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambdaRequest AWS API Documentation
#
class GetAccessPointPolicyForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy
# Object Lambda Access Point resource policy document.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambdaResult AWS API Documentation
#
class GetAccessPointPolicyForObjectLambdaResult < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point whose policy you want to retrieve.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the access point
# accessed in the format
# `arn:aws:s3-outposts:::outpost//accesspoint/`.
# For example, to access the access point `reports-ap` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
#
class GetAccessPointPolicyRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy
# The access point policy associated with the specified access point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyResult AWS API Documentation
#
class GetAccessPointPolicyResult < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointPolicyStatusForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambdaRequest AWS API Documentation
#
class GetAccessPointPolicyStatusForObjectLambdaRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy_status
# Indicates whether this access point policy is public. For more
# information about how Amazon S3 evaluates policies to determine
# whether they are public, see [The Meaning of "Public"][1] in the
# *Amazon S3 User 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::PolicyStatus]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambdaResult AWS API Documentation
#
class GetAccessPointPolicyStatusForObjectLambdaResult < Struct.new(
:policy_status)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point whose policy status you want to
# retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusRequest AWS API Documentation
#
class GetAccessPointPolicyStatusRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy_status
# Indicates the current policy status of the specified access point.
# @return [Types::PolicyStatus]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusResult AWS API Documentation
#
class GetAccessPointPolicyStatusResult < Struct.new(
:policy_status)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point whose configuration information you
# want to retrieve.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the access point
# accessed in the format
# `arn:aws:s3-outposts:::outpost//accesspoint/`.
# For example, to access the access point `reports-ap` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointRequest AWS API Documentation
#
class GetAccessPointRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] name
# The name of the specified access point.
# @return [String]
#
# @!attribute [rw] bucket
# The name of the bucket associated with the specified access point.
# @return [String]
#
# @!attribute [rw] network_origin
# Indicates whether this access point allows access from the public
# internet. If `VpcConfiguration` is specified for this access point,
# then `NetworkOrigin` is `VPC`, and the access point doesn't allow
# access from the public internet. Otherwise, `NetworkOrigin` is
# `Internet`, and the access point allows access from the public
# internet, subject to the access point and bucket access policies.
#
# This will always be true for an Amazon S3 on Outposts access point
# @return [String]
#
# @!attribute [rw] vpc_configuration
# Contains the virtual private cloud (VPC) configuration for the
# specified access point.
#
# This element is empty if this access point is an Amazon S3 on
# Outposts access point that is used by other Amazon Web Services.
#
#
# @return [Types::VpcConfiguration]
#
# @!attribute [rw] public_access_block_configuration
# The `PublicAccessBlock` configuration that you want to apply to this
# Amazon S3 account. 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 S3 User Guide*.
#
# This data type is not supported for Amazon S3 on Outposts.
#
#
#
# [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]
#
# @!attribute [rw] creation_date
# The date and time when the specified access point was created.
# @return [Time]
#
# @!attribute [rw] alias
# The name or alias of the access point.
# @return [String]
#
# @!attribute [rw] access_point_arn
# The ARN of the access point.
# @return [String]
#
# @!attribute [rw] endpoints
# The VPC endpoint for the access point.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointResult AWS API Documentation
#
class GetAccessPointResult < Struct.new(
:name,
:bucket,
:network_origin,
:vpc_configuration,
:public_access_block_configuration,
:creation_date,
:alias,
:access_point_arn,
:endpoints)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetBucketLifecycleConfigurationRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# The Amazon Resource Name (ARN) of the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationRequest AWS API Documentation
#
class GetBucketLifecycleConfigurationRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] rules
# Container for the lifecycle rule of the Outposts bucket.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationResult AWS API Documentation
#
class GetBucketLifecycleConfigurationResult < Struct.new(
:rules)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetBucketPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyRequest AWS API Documentation
#
class GetBucketPolicyRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy
# The policy of the Outposts bucket.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyResult AWS API Documentation
#
class GetBucketPolicyResult < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetBucketRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketRequest AWS API Documentation
#
class GetBucketRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] bucket
# The Outposts bucket requested.
# @return [String]
#
# @!attribute [rw] public_access_block_enabled
# @return [Boolean]
#
# @!attribute [rw] creation_date
# The creation date of the Outposts bucket.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketResult AWS API Documentation
#
class GetBucketResult < Struct.new(
:bucket,
:public_access_block_enabled,
:creation_date)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetBucketTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingRequest AWS API Documentation
#
class GetBucketTaggingRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tag_set
# The tags set of the Outposts bucket.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingResult AWS API Documentation
#
class GetBucketTaggingResult < Struct.new(
:tag_set)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetBucketVersioningRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the S3 on Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# The S3 on Outposts bucket to return the versioning state for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketVersioningRequest AWS API Documentation
#
class GetBucketVersioningRequest < Struct.new(
:account_id,
:bucket)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] status
# The versioning state of the S3 on Outposts bucket.
# @return [String]
#
# @!attribute [rw] mfa_delete
# Specifies whether MFA delete is enabled in the bucket versioning
# configuration. This element is returned only if the bucket has been
# configured with MFA delete. If MFA delete has never been configured
# for the bucket, this element is not returned.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketVersioningResult AWS API Documentation
#
class GetBucketVersioningResult < Struct.new(
:status,
:mfa_delete)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetJobTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID for the S3 Batch Operations job whose tags you want to
# retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingRequest AWS API Documentation
#
class GetJobTaggingRequest < Struct.new(
:account_id,
:job_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The set of tags associated with the S3 Batch Operations job.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
#
class GetJobTaggingResult < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetMultiRegionAccessPointPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "MultiRegionAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# Specifies the Multi-Region Access Point. The name of the
# Multi-Region Access Point is different from the alias. For more
# information about the distinction between the name and the alias of
# an Multi-Region Access Point, see [Managing Multi-Region Access
# Points][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyRequest AWS API Documentation
#
class GetMultiRegionAccessPointPolicyRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] policy
# The policy associated with the specified Multi-Region Access Point.
# @return [Types::MultiRegionAccessPointPolicyDocument]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyResult AWS API Documentation
#
class GetMultiRegionAccessPointPolicyResult < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetMultiRegionAccessPointPolicyStatusRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "MultiRegionAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# Specifies the Multi-Region Access Point. The name of the
# Multi-Region Access Point is different from the alias. For more
# information about the distinction between the name and the alias of
# an Multi-Region Access Point, see [Managing Multi-Region Access
# Points][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyStatusRequest AWS API Documentation
#
class GetMultiRegionAccessPointPolicyStatusRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] established
# Indicates whether this access point policy is public. For more
# information about how Amazon S3 evaluates policies to determine
# whether they are public, see [The Meaning of "Public"][1] in the
# *Amazon S3 User 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::PolicyStatus]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyStatusResult AWS API Documentation
#
class GetMultiRegionAccessPointPolicyStatusResult < Struct.new(
:established)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetMultiRegionAccessPointRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "MultiRegionAccessPointName", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Multi-Region Access Point whose configuration
# information you want to receive. The name of the Multi-Region Access
# Point is different from the alias. For more information about the
# distinction between the name and the alias of an Multi-Region Access
# Point, see [Managing Multi-Region Access Points][1] in the *Amazon
# S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointRequest AWS API Documentation
#
class GetMultiRegionAccessPointRequest < Struct.new(
:account_id,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] access_point
# A container element containing the details of the requested
# Multi-Region Access Point.
# @return [Types::MultiRegionAccessPointReport]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointResult AWS API Documentation
#
class GetMultiRegionAccessPointResult < Struct.new(
:access_point)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] public_access_block_configuration
# The `PublicAccessBlock` configuration currently in effect for this
# Amazon Web Services account.
# @return [Types::PublicAccessBlockConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
#
class GetPublicAccessBlockOutput < Struct.new(
:public_access_block_configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetPublicAccessBlockRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# }
#
# @!attribute [rw] account_id
# The account ID for the Amazon Web Services account whose
# `PublicAccessBlock` configuration you want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
#
class GetPublicAccessBlockRequest < Struct.new(
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetStorageLensConfigurationRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# }
#
# @!attribute [rw] config_id
# The ID of the Amazon S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationRequest AWS API Documentation
#
class GetStorageLensConfigurationRequest < Struct.new(
:config_id,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] storage_lens_configuration
# The S3 Storage Lens configuration requested.
# @return [Types::StorageLensConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationResult AWS API Documentation
#
class GetStorageLensConfigurationResult < Struct.new(
:storage_lens_configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetStorageLensConfigurationTaggingRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# }
#
# @!attribute [rw] config_id
# The ID of the Amazon S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTaggingRequest AWS API Documentation
#
class GetStorageLensConfigurationTaggingRequest < Struct.new(
:config_id,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The tags of S3 Storage Lens configuration requested.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTaggingResult AWS API Documentation
#
class GetStorageLensConfigurationTaggingResult < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/IdempotencyException AWS API Documentation
#
class IdempotencyException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A container for what Amazon S3 Storage Lens configuration includes.
#
# @note When making an API call, you may pass Include
# data as a hash:
#
# {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# }
#
# @!attribute [rw] buckets
# A container for the S3 Storage Lens bucket includes.
# @return [Array]
#
# @!attribute [rw] regions
# A container for the S3 Storage Lens Region includes.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Include AWS API Documentation
#
class Include < Struct.new(
:buckets,
:regions)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InternalServiceException AWS API Documentation
#
class InternalServiceException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InvalidNextTokenException AWS API Documentation
#
class InvalidNextTokenException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InvalidRequestException AWS API Documentation
#
class InvalidRequestException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A container element for the job configuration and status information
# returned by a `Describe Job` request.
#
# @!attribute [rw] job_id
# The ID for the specified job.
# @return [String]
#
# @!attribute [rw] confirmation_required
# Indicates whether confirmation is required before Amazon S3 begins
# running the specified job. Confirmation is required only for jobs
# created through the Amazon S3 console.
# @return [Boolean]
#
# @!attribute [rw] description
# The description for this job, if one was provided in this job's
# `Create Job` request.
# @return [String]
#
# @!attribute [rw] job_arn
# The Amazon Resource Name (ARN) for this job.
# @return [String]
#
# @!attribute [rw] status
# The current status of the specified job.
# @return [String]
#
# @!attribute [rw] manifest
# The configuration information for the specified job's manifest
# object.
# @return [Types::JobManifest]
#
# @!attribute [rw] operation
# The operation that the specified job is configured to run on the
# objects listed in the manifest.
# @return [Types::JobOperation]
#
# @!attribute [rw] priority
# The priority of the specified job.
# @return [Integer]
#
# @!attribute [rw] progress_summary
# Describes the total number of tasks that the specified job has run,
# the number of tasks that succeeded, and the number of tasks that
# failed.
# @return [Types::JobProgressSummary]
#
# @!attribute [rw] status_update_reason
# The reason for updating the job.
# @return [String]
#
# @!attribute [rw] failure_reasons
# If the specified job failed, this field contains information
# describing the failure.
# @return [Array]
#
# @!attribute [rw] report
# Contains the configuration information for the job-completion report
# if you requested one in the `Create Job` request.
# @return [Types::JobReport]
#
# @!attribute [rw] creation_time
# A timestamp indicating when this job was created.
# @return [Time]
#
# @!attribute [rw] termination_date
# A timestamp indicating when this job terminated. A job's
# termination date is the date and time when it succeeded, failed, or
# was canceled.
# @return [Time]
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) for the Identity and Access
# Management (IAM) role assigned to run the tasks for this job.
# @return [String]
#
# @!attribute [rw] suspended_date
# The timestamp when this job was suspended, if it has been suspended.
# @return [Time]
#
# @!attribute [rw] suspended_cause
# The reason why the specified job was suspended. A job is only
# suspended if you create it through the Amazon S3 console. When you
# create the job, it enters the `Suspended` state to await
# confirmation before running. After you confirm the job, it
# automatically exits the `Suspended` state.
# @return [String]
#
# @!attribute [rw] manifest_generator
# The manifest generator that was used to generate a job manifest for
# this job.
# @return [Types::JobManifestGenerator]
#
# @!attribute [rw] generated_manifest_descriptor
# The attribute of the JobDescriptor containing details about the
# job's generated manifest.
# @return [Types::S3GeneratedManifestDescriptor]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobDescriptor AWS API Documentation
#
class JobDescriptor < Struct.new(
:job_id,
:confirmation_required,
:description,
:job_arn,
:status,
:manifest,
:operation,
:priority,
:progress_summary,
:status_update_reason,
:failure_reasons,
:report,
:creation_time,
:termination_date,
:role_arn,
:suspended_date,
:suspended_cause,
:manifest_generator,
:generated_manifest_descriptor)
SENSITIVE = []
include Aws::Structure
end
# If this job failed, this element indicates why the job failed.
#
# @!attribute [rw] failure_code
# The failure code, if any, for the specified job.
# @return [String]
#
# @!attribute [rw] failure_reason
# The failure reason, if any, for the specified job.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobFailure AWS API Documentation
#
class JobFailure < Struct.new(
:failure_code,
:failure_reason)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration and status information for a single job
# retrieved as part of a job list.
#
# @!attribute [rw] job_id
# The ID for the specified job.
# @return [String]
#
# @!attribute [rw] description
# The user-specified description that was included in the specified
# job's `Create Job` request.
# @return [String]
#
# @!attribute [rw] operation
# The operation that the specified job is configured to run on every
# object listed in the manifest.
# @return [String]
#
# @!attribute [rw] priority
# The current priority for the specified job.
# @return [Integer]
#
# @!attribute [rw] status
# The specified job's current status.
# @return [String]
#
# @!attribute [rw] creation_time
# A timestamp indicating when the specified job was created.
# @return [Time]
#
# @!attribute [rw] termination_date
# A timestamp indicating when the specified job terminated. A job's
# termination date is the date and time when it succeeded, failed, or
# was canceled.
# @return [Time]
#
# @!attribute [rw] progress_summary
# Describes the total number of tasks that the specified job has run,
# the number of tasks that succeeded, and the number of tasks that
# failed.
# @return [Types::JobProgressSummary]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobListDescriptor AWS API Documentation
#
class JobListDescriptor < Struct.new(
:job_id,
:description,
:operation,
:priority,
:status,
:creation_time,
:termination_date,
:progress_summary)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration information for a job's manifest.
#
# @note When making an API call, you may pass JobManifest
# data as a hash:
#
# {
# spec: { # required
# format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
# fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
# },
# location: { # required
# object_arn: "S3KeyArnString", # required
# object_version_id: "S3ObjectVersionId",
# etag: "NonEmptyMaxLength1024String", # required
# },
# }
#
# @!attribute [rw] spec
# Describes the format of the specified job's manifest. If the
# manifest is in CSV format, also describes the columns contained
# within the manifest.
# @return [Types::JobManifestSpec]
#
# @!attribute [rw] location
# Contains the information required to locate the specified job's
# manifest.
# @return [Types::JobManifestLocation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifest AWS API Documentation
#
class JobManifest < Struct.new(
:spec,
:location)
SENSITIVE = []
include Aws::Structure
end
# Configures the type of the job's ManifestGenerator.
#
# @note JobManifestGenerator is a union - when making an API calls you must set exactly one of the members.
#
# @note JobManifestGenerator is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of JobManifestGenerator corresponding to the set member.
#
# @!attribute [rw] s3_job_manifest_generator
# The S3 job ManifestGenerator's configuration details.
# @return [Types::S3JobManifestGenerator]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestGenerator AWS API Documentation
#
class JobManifestGenerator < Struct.new(
:s3_job_manifest_generator,
:unknown)
SENSITIVE = []
include Aws::Structure
include Aws::Structure::Union
class S3JobManifestGenerator < JobManifestGenerator; end
class Unknown < JobManifestGenerator; end
end
# The filter used to describe a set of objects for the job's manifest.
#
# @note When making an API call, you may pass JobManifestGeneratorFilter
# data as a hash:
#
# {
# eligible_for_replication: false,
# created_after: Time.now,
# created_before: Time.now,
# object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
# }
#
# @!attribute [rw] eligible_for_replication
# Include objects in the generated manifest only if they are eligible
# for replication according to the Replication configuration on the
# source bucket.
# @return [Boolean]
#
# @!attribute [rw] created_after
# If provided, the generated manifest should include only source
# bucket objects that were created after this time.
# @return [Time]
#
# @!attribute [rw] created_before
# If provided, the generated manifest should include only source
# bucket objects that were created before this time.
# @return [Time]
#
# @!attribute [rw] object_replication_statuses
# If provided, the generated manifest should include only source
# bucket objects that have one of the specified Replication statuses.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestGeneratorFilter AWS API Documentation
#
class JobManifestGeneratorFilter < Struct.new(
:eligible_for_replication,
:created_after,
:created_before,
:object_replication_statuses)
SENSITIVE = []
include Aws::Structure
end
# Contains the information required to locate a manifest object.
#
# @note When making an API call, you may pass JobManifestLocation
# data as a hash:
#
# {
# object_arn: "S3KeyArnString", # required
# object_version_id: "S3ObjectVersionId",
# etag: "NonEmptyMaxLength1024String", # required
# }
#
# @!attribute [rw] object_arn
# The Amazon Resource Name (ARN) for a manifest object.
#
# Replacement must be made for object keys containing special
# characters (such as carriage returns) when using XML requests. For
# more information, see [ XML related object key constraints][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
# @return [String]
#
# @!attribute [rw] object_version_id
# The optional version ID to identify a specific version of the
# manifest object.
# @return [String]
#
# @!attribute [rw] etag
# The ETag for the specified manifest object.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestLocation AWS API Documentation
#
class JobManifestLocation < Struct.new(
:object_arn,
:object_version_id,
:etag)
SENSITIVE = []
include Aws::Structure
end
# Describes the format of a manifest. If the manifest is in CSV format,
# also describes the columns contained within the manifest.
#
# @note When making an API call, you may pass JobManifestSpec
# data as a hash:
#
# {
# format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
# fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
# }
#
# @!attribute [rw] format
# Indicates which of the available formats the specified manifest
# uses.
# @return [String]
#
# @!attribute [rw] fields
# If the specified manifest object is in the
# `S3BatchOperations_CSV_20180820` format, this element describes
# which columns contain the required data.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestSpec AWS API Documentation
#
class JobManifestSpec < Struct.new(
:format,
:fields)
SENSITIVE = []
include Aws::Structure
end
# The operation that you want this job to perform on every object listed
# in the manifest. For more information about the available operations,
# see [Operations][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html
#
# @note When making an API call, you may pass JobOperation
# data as a hash:
#
# {
# lambda_invoke: {
# function_arn: "FunctionArnString",
# },
# s3_put_object_copy: {
# target_resource: "S3BucketArnString",
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# access_control_grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# metadata_directive: "COPY", # accepts COPY, REPLACE
# modified_since_constraint: Time.now,
# new_object_metadata: {
# cache_control: "NonEmptyMaxLength1024String",
# content_disposition: "NonEmptyMaxLength1024String",
# content_encoding: "NonEmptyMaxLength1024String",
# content_language: "NonEmptyMaxLength1024String",
# user_metadata: {
# "NonEmptyMaxLength1024String" => "MaxLength1024String",
# },
# content_length: 1,
# content_md5: "NonEmptyMaxLength1024String",
# content_type: "NonEmptyMaxLength1024String",
# http_expires_date: Time.now,
# requester_charged: false,
# sse_algorithm: "AES256", # accepts AES256, KMS
# },
# new_object_tagging: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# redirect_location: "NonEmptyMaxLength2048String",
# requester_pays: false,
# storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
# un_modified_since_constraint: Time.now,
# sse_aws_kms_key_id: "KmsKeyArnString",
# target_key_prefix: "NonEmptyMaxLength1024String",
# object_lock_legal_hold_status: "OFF", # accepts OFF, ON
# object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# object_lock_retain_until_date: Time.now,
# bucket_key_enabled: false,
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
# },
# s3_put_object_acl: {
# access_control_policy: {
# access_control_list: {
# owner: { # required
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# },
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# },
# },
# s3_put_object_tagging: {
# tag_set: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# },
# s3_delete_object_tagging: {
# },
# s3_initiate_restore_object: {
# expiration_in_days: 1,
# glacier_job_tier: "BULK", # accepts BULK, STANDARD
# },
# s3_put_object_legal_hold: {
# legal_hold: { # required
# status: "OFF", # required, accepts OFF, ON
# },
# },
# s3_put_object_retention: {
# bypass_governance_retention: false,
# retention: { # required
# retain_until_date: Time.now,
# mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# },
# },
# s3_replicate_object: {
# },
# }
#
# @!attribute [rw] lambda_invoke
# Directs the specified job to invoke an Lambda function on every
# object in the manifest.
# @return [Types::LambdaInvokeOperation]
#
# @!attribute [rw] s3_put_object_copy
# Directs the specified job to run a PUT Copy object call on every
# object in the manifest.
# @return [Types::S3CopyObjectOperation]
#
# @!attribute [rw] s3_put_object_acl
# Directs the specified job to run a `PutObjectAcl` call on every
# object in the manifest.
# @return [Types::S3SetObjectAclOperation]
#
# @!attribute [rw] s3_put_object_tagging
# Directs the specified job to run a PUT Object tagging call on every
# object in the manifest.
# @return [Types::S3SetObjectTaggingOperation]
#
# @!attribute [rw] s3_delete_object_tagging
# Directs the specified job to execute a DELETE Object tagging call on
# every object in the manifest.
# @return [Types::S3DeleteObjectTaggingOperation]
#
# @!attribute [rw] s3_initiate_restore_object
# Directs the specified job to initiate restore requests for every
# archived object in the manifest.
# @return [Types::S3InitiateRestoreObjectOperation]
#
# @!attribute [rw] s3_put_object_legal_hold
# Contains the configuration for an S3 Object Lock legal hold
# operation that an S3 Batch Operations job passes every object to the
# underlying `PutObjectLegalHold` API. For more information, see
# [Using S3 Object Lock legal hold with S3 Batch Operations][1] in the
# *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
# @return [Types::S3SetObjectLegalHoldOperation]
#
# @!attribute [rw] s3_put_object_retention
# Contains the configuration parameters for the Object Lock retention
# action for an S3 Batch Operations job. Batch Operations passes every
# object to the underlying `PutObjectRetention` API. For more
# information, see [Using S3 Object Lock retention with S3 Batch
# Operations][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
# @return [Types::S3SetObjectRetentionOperation]
#
# @!attribute [rw] s3_replicate_object
# Directs the specified job to invoke `ReplicateObject` on every
# object in the job's manifest.
# @return [Types::S3ReplicateObjectOperation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
#
class JobOperation < Struct.new(
:lambda_invoke,
:s3_put_object_copy,
:s3_put_object_acl,
:s3_put_object_tagging,
:s3_delete_object_tagging,
:s3_initiate_restore_object,
:s3_put_object_legal_hold,
:s3_put_object_retention,
:s3_replicate_object)
SENSITIVE = []
include Aws::Structure
end
# Describes the total number of tasks that the specified job has
# started, the number of tasks that succeeded, and the number of tasks
# that failed.
#
# @!attribute [rw] total_number_of_tasks
# @return [Integer]
#
# @!attribute [rw] number_of_tasks_succeeded
# @return [Integer]
#
# @!attribute [rw] number_of_tasks_failed
# @return [Integer]
#
# @!attribute [rw] timers
# The JobTimers attribute of a job's progress summary.
# @return [Types::JobTimers]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobProgressSummary AWS API Documentation
#
class JobProgressSummary < Struct.new(
:total_number_of_tasks,
:number_of_tasks_succeeded,
:number_of_tasks_failed,
:timers)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for a job-completion report.
#
# @note When making an API call, you may pass JobReport
# data as a hash:
#
# {
# bucket: "S3BucketArnString",
# format: "Report_CSV_20180820", # accepts Report_CSV_20180820
# enabled: false, # required
# prefix: "ReportPrefixString",
# report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
# }
#
# @!attribute [rw] bucket
# The Amazon Resource Name (ARN) for the bucket where specified
# job-completion report will be stored.
# @return [String]
#
# @!attribute [rw] format
# The format of the specified job-completion report.
# @return [String]
#
# @!attribute [rw] enabled
# Indicates whether the specified job will generate a job-completion
# report.
# @return [Boolean]
#
# @!attribute [rw] prefix
# An optional prefix to describe where in the specified bucket the
# job-completion report will be stored. Amazon S3 stores the
# job-completion report at `/job-/report.json`.
# @return [String]
#
# @!attribute [rw] report_scope
# Indicates whether the job-completion report will include details of
# all tasks or only failed tasks.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobReport AWS API Documentation
#
class JobReport < Struct.new(
:bucket,
:format,
:enabled,
:prefix,
:report_scope)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobStatusException AWS API Documentation
#
class JobStatusException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Provides timing details for the job.
#
# @!attribute [rw] elapsed_time_in_active_seconds
# Indicates the elapsed time in seconds the job has been in the Active
# job state.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobTimers AWS API Documentation
#
class JobTimers < Struct.new(
:elapsed_time_in_active_seconds)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for a `Lambda Invoke` operation.
#
# @note When making an API call, you may pass LambdaInvokeOperation
# data as a hash:
#
# {
# function_arn: "FunctionArnString",
# }
#
# @!attribute [rw] function_arn
# The Amazon Resource Name (ARN) for the Lambda function that the
# specified job will invoke on every object in the manifest.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
#
class LambdaInvokeOperation < Struct.new(
:function_arn)
SENSITIVE = []
include Aws::Structure
end
# The container for the Outposts bucket lifecycle configuration.
#
# @note When making an API call, you may pass LifecycleConfiguration
# data as a hash:
#
# {
# rules: [
# {
# expiration: {
# date: Time.now,
# days: 1,
# expired_object_delete_marker: false,
# },
# id: "ID",
# filter: {
# prefix: "Prefix",
# tag: {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# and: {
# prefix: "Prefix",
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# 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,
# newer_noncurrent_versions: 1,
# },
# abort_incomplete_multipart_upload: {
# days_after_initiation: 1,
# },
# },
# ],
# }
#
# @!attribute [rw] rules
# A lifecycle rule for individual objects in an Outposts bucket.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleConfiguration AWS API Documentation
#
class LifecycleConfiguration < Struct.new(
:rules)
SENSITIVE = []
include Aws::Structure
end
# The container of the Outposts bucket lifecycle expiration.
#
# @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 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/s3control-2018-08-20/LifecycleExpiration AWS API Documentation
#
class LifecycleExpiration < Struct.new(
:date,
:days,
:expired_object_delete_marker)
SENSITIVE = []
include Aws::Structure
end
# The container for the Outposts bucket lifecycle rule.
#
# @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",
# filter: {
# prefix: "Prefix",
# tag: {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# and: {
# prefix: "Prefix",
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# 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,
# newer_noncurrent_versions: 1,
# },
# abort_incomplete_multipart_upload: {
# days_after_initiation: 1,
# },
# }
#
# @!attribute [rw] expiration
# Specifies the expiration for the lifecycle of the object in the form
# of date, days and, whether the object has a delete marker.
# @return [Types::LifecycleExpiration]
#
# @!attribute [rw] id
# Unique identifier for the rule. The value cannot be longer than 255
# characters.
# @return [String]
#
# @!attribute [rw] filter
# The container for the filter of lifecycle rule.
# @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
# Specifies when an Amazon S3 object transitions to a specified
# storage class.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [Array]
#
# @!attribute [rw] noncurrent_version_transitions
# Specifies the transition rule for the lifecycle rule that describes
# when noncurrent objects transition to a specific storage class. If
# your bucket is versioning-enabled (or versioning is suspended), you
# can set this action to request that Amazon S3 transition noncurrent
# object versions to a specific storage class at a set period in the
# object's lifetime.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [Array]
#
# @!attribute [rw] noncurrent_version_expiration
# The noncurrent version expiration of the lifecycle rule.
# @return [Types::NoncurrentVersionExpiration]
#
# @!attribute [rw] abort_incomplete_multipart_upload
# Specifies the days since the initiation of an incomplete multipart
# upload that Amazon S3 waits before permanently removing all parts of
# the upload. For more information, see [ Aborting Incomplete
# Multipart Uploads Using a Bucket Lifecycle Policy][1] in the *Amazon
# S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
# @return [Types::AbortIncompleteMultipartUpload]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
#
class LifecycleRule < Struct.new(
:expiration,
:id,
:filter,
:status,
:transitions,
:noncurrent_version_transitions,
:noncurrent_version_expiration,
:abort_incomplete_multipart_upload)
SENSITIVE = []
include Aws::Structure
end
# The container for the Outposts bucket lifecycle rule and operator.
#
# @note When making an API call, you may pass LifecycleRuleAndOperator
# data as a hash:
#
# {
# prefix: "Prefix",
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# object_size_greater_than: 1,
# object_size_less_than: 1,
# }
#
# @!attribute [rw] prefix
# Prefix identifying one or more objects to which the rule applies.
# @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]
#
# @!attribute [rw] object_size_greater_than
# Minimum object size to which the rule applies.
# @return [Integer]
#
# @!attribute [rw] object_size_less_than
# Maximum object size to which the rule applies.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
#
class LifecycleRuleAndOperator < Struct.new(
:prefix,
:tags,
:object_size_greater_than,
:object_size_less_than)
SENSITIVE = []
include Aws::Structure
end
# The container for the filter of the lifecycle rule.
#
# @note When making an API call, you may pass LifecycleRuleFilter
# data as a hash:
#
# {
# prefix: "Prefix",
# tag: {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# and: {
# prefix: "Prefix",
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# object_size_greater_than: 1,
# object_size_less_than: 1,
# }
#
# @!attribute [rw] prefix
# Prefix identifying one or more objects to which the rule applies.
#
# Replacement must be made for object keys containing special
# characters (such as carriage returns) when using XML requests. For
# more information, see [ XML related object key constraints][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
# @return [String]
#
# @!attribute [rw] tag
# A container for a key-value name pair.
# @return [Types::S3Tag]
#
# @!attribute [rw] and
# The container for the `AND` condition for the lifecycle rule.
# @return [Types::LifecycleRuleAndOperator]
#
# @!attribute [rw] object_size_greater_than
# Minimum object size to which the rule applies.
# @return [Integer]
#
# @!attribute [rw] object_size_less_than
# Maximum object size to which the rule applies.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleFilter AWS API Documentation
#
class LifecycleRuleFilter < Struct.new(
:prefix,
:tag,
:and,
:object_size_greater_than,
:object_size_less_than)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListAccessPointsForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# next_token: "NonEmptyMaxLength1024String",
# max_results: 1,
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] next_token
# If the list has more access points than can be returned in one call
# to this API, this field contains a continuation token that you can
# provide in subsequent calls to this API to retrieve additional
# access points.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of access points that you want to include in the
# list. The response may contain fewer access points but will never
# contain more. If there are more than this number of access points,
# then the response will include a continuation token in the
# `NextToken` field that you can use to retrieve the next page of
# access points.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambdaRequest AWS API Documentation
#
class ListAccessPointsForObjectLambdaRequest < Struct.new(
:account_id,
:next_token,
:max_results)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] object_lambda_access_point_list
# Returns list of Object Lambda Access Points.
# @return [Array]
#
# @!attribute [rw] next_token
# If the list has more access points than can be returned in one call
# to this API, this field contains a continuation token that you can
# provide in subsequent calls to this API to retrieve additional
# access points.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambdaResult AWS API Documentation
#
class ListAccessPointsForObjectLambdaResult < Struct.new(
:object_lambda_access_point_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListAccessPointsRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName",
# next_token: "NonEmptyMaxLength1024String",
# max_results: 1,
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for owner of the bucket whose
# access points you want to list.
# @return [String]
#
# @!attribute [rw] bucket
# The name of the bucket whose associated access points you want to
# list.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @!attribute [rw] next_token
# A continuation token. If a previous call to `ListAccessPoints`
# returned a continuation token in the `NextToken` field, then
# providing that value here causes Amazon S3 to retrieve the next page
# of results.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of access points that you want to include in the
# list. If the specified bucket has more than this number of access
# points, then the response will include a continuation token in the
# `NextToken` field that you can use to retrieve the next page of
# access points.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsRequest AWS API Documentation
#
class ListAccessPointsRequest < Struct.new(
:account_id,
:bucket,
:next_token,
:max_results)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] access_point_list
# Contains identification and configuration information for one or
# more access points associated with the specified bucket.
# @return [Array]
#
# @!attribute [rw] next_token
# If the specified bucket has more access points than can be returned
# in one call to this API, this field contains a continuation token
# that you can provide in subsequent calls to this API to retrieve
# additional access points.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsResult AWS API Documentation
#
class ListAccessPointsResult < Struct.new(
:access_point_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListJobsRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
# next_token: "StringForNextToken",
# max_results: 1,
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_statuses
# The `List Jobs` request returns jobs that match the statuses listed
# in this element.
# @return [Array]
#
# @!attribute [rw] next_token
# A pagination token to request the next page of results. Use the
# token that Amazon S3 returned in the `NextToken` element of the
# `ListJobsResult` from the previous `List Jobs` request.
# @return [String]
#
# @!attribute [rw] max_results
# The maximum number of jobs that Amazon S3 will include in the `List
# Jobs` response. If there are more jobs than this number, the
# response will include a pagination token in the `NextToken` field to
# enable you to retrieve the next page of results.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobsRequest AWS API Documentation
#
class ListJobsRequest < Struct.new(
:account_id,
:job_statuses,
:next_token,
:max_results)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# If the `List Jobs` request produced more than the maximum number of
# results, you can pass this value into a subsequent `List Jobs`
# request in order to retrieve the next page of results.
# @return [String]
#
# @!attribute [rw] jobs
# The list of current jobs and jobs that have ended within the last 30
# days.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobsResult AWS API Documentation
#
class ListJobsResult < Struct.new(
:next_token,
:jobs)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListMultiRegionAccessPointsRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# next_token: "NonEmptyMaxLength1024String",
# max_results: 1,
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] next_token
# Not currently used. Do not use this parameter.
# @return [String]
#
# @!attribute [rw] max_results
# Not currently used. Do not use this parameter.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListMultiRegionAccessPointsRequest AWS API Documentation
#
class ListMultiRegionAccessPointsRequest < Struct.new(
:account_id,
:next_token,
:max_results)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] access_points
# The list of Multi-Region Access Points associated with the user.
# @return [Array]
#
# @!attribute [rw] next_token
# If the specified bucket has more Multi-Region Access Points than can
# be returned in one call to this action, this field contains a
# continuation token. You can use this token tin subsequent calls to
# this action to retrieve additional Multi-Region Access Points.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListMultiRegionAccessPointsResult AWS API Documentation
#
class ListMultiRegionAccessPointsResult < Struct.new(
:access_points,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListRegionalBucketsRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# next_token: "NonEmptyMaxLength1024String",
# max_results: 1,
# outpost_id: "NonEmptyMaxLength64String",
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] next_token
# @return [String]
#
# @!attribute [rw] max_results
# @return [Integer]
#
# @!attribute [rw] outpost_id
# The ID of the Outposts resource.
#
# This ID is required by Amazon S3 on Outposts buckets.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsRequest AWS API Documentation
#
class ListRegionalBucketsRequest < Struct.new(
:account_id,
:next_token,
:max_results,
:outpost_id)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] regional_bucket_list
# @return [Array]
#
# @!attribute [rw] next_token
# `NextToken` is sent when `isTruncated` is true, which means there
# are more buckets that can be listed. The next list requests to
# Amazon S3 can be continued with this `NextToken`. `NextToken` is
# obfuscated and is not a real key.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsResult AWS API Documentation
#
class ListRegionalBucketsResult < Struct.new(
:regional_bucket_list,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# Part of `ListStorageLensConfigurationResult`. Each entry includes the
# description of the S3 Storage Lens configuration, its home Region,
# whether it is enabled, its Amazon Resource Name (ARN), and config ID.
#
# @!attribute [rw] id
# A container for the S3 Storage Lens configuration ID.
# @return [String]
#
# @!attribute [rw] storage_lens_arn
# The ARN of the S3 Storage Lens configuration. This property is
# read-only.
# @return [String]
#
# @!attribute [rw] home_region
# A container for the S3 Storage Lens home Region. Your metrics data
# is stored and retained in your designated S3 Storage Lens home
# Region.
# @return [String]
#
# @!attribute [rw] is_enabled
# A container for whether the S3 Storage Lens configuration is
# enabled. This property is required.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationEntry AWS API Documentation
#
class ListStorageLensConfigurationEntry < Struct.new(
:id,
:storage_lens_arn,
:home_region,
:is_enabled)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListStorageLensConfigurationsRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# next_token: "ContinuationToken",
# }
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @!attribute [rw] next_token
# A pagination token to request the next page of results.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationsRequest AWS API Documentation
#
class ListStorageLensConfigurationsRequest < Struct.new(
:account_id,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# If the request produced more than the maximum number of S3 Storage
# Lens configuration results, you can pass this value into a
# subsequent request to retrieve the next page of results.
# @return [String]
#
# @!attribute [rw] storage_lens_configuration_list
# A list of S3 Storage Lens configurations.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationsResult AWS API Documentation
#
class ListStorageLensConfigurationsResult < Struct.new(
:next_token,
:storage_lens_configuration_list)
SENSITIVE = []
include Aws::Structure
end
# The Multi-Region Access Point access control policy.
#
# When you update the policy, the update is first listed as the proposed
# policy. After the update is finished and all Regions have been
# updated, the proposed policy is listed as the established policy. If
# both policies have the same version number, the proposed policy is the
# established policy.
#
# @!attribute [rw] established
# The last established policy for the Multi-Region Access Point.
# @return [Types::EstablishedMultiRegionAccessPointPolicy]
#
# @!attribute [rw] proposed
# The proposed policy for the Multi-Region Access Point.
# @return [Types::ProposedMultiRegionAccessPointPolicy]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MultiRegionAccessPointPolicyDocument AWS API Documentation
#
class MultiRegionAccessPointPolicyDocument < Struct.new(
:established,
:proposed)
SENSITIVE = []
include Aws::Structure
end
# Status information for a single Multi-Region Access Point Region.
#
# @!attribute [rw] name
# The name of the Region in the Multi-Region Access Point.
# @return [String]
#
# @!attribute [rw] request_status
# The current status of the Multi-Region Access Point in this Region.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MultiRegionAccessPointRegionalResponse AWS API Documentation
#
class MultiRegionAccessPointRegionalResponse < Struct.new(
:name,
:request_status)
SENSITIVE = []
include Aws::Structure
end
# A collection of statuses for a Multi-Region Access Point in the
# various Regions it supports.
#
# @!attribute [rw] name
# The name of the Multi-Region Access Point.
# @return [String]
#
# @!attribute [rw] alias
# The alias for the Multi-Region Access Point. For more information
# about the distinction between the name and the alias of an
# Multi-Region Access Point, see [Managing Multi-Region Access
# Points][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming
# @return [String]
#
# @!attribute [rw] created_at
# When the Multi-Region Access Point create request was received.
# @return [Time]
#
# @!attribute [rw] public_access_block
# The `PublicAccessBlock` configuration that you want to apply to this
# Amazon S3 account. 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 S3 User Guide*.
#
# This data type is not supported for Amazon S3 on Outposts.
#
#
#
# [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]
#
# @!attribute [rw] status
# The current status of the Multi-Region Access Point.
#
# `CREATING` and `DELETING` are temporary states that exist while the
# request is propagating and being completed. If a Multi-Region Access
# Point has a status of `PARTIALLY_CREATED`, you can retry creation or
# send a request to delete the Multi-Region Access Point. If a
# Multi-Region Access Point has a status of `PARTIALLY_DELETED`, you
# can retry a delete request to finish the deletion of the
# Multi-Region Access Point.
# @return [String]
#
# @!attribute [rw] regions
# A collection of the Regions and buckets associated with the
# Multi-Region Access Point.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MultiRegionAccessPointReport AWS API Documentation
#
class MultiRegionAccessPointReport < Struct.new(
:name,
:alias,
:created_at,
:public_access_block,
:status,
:regions)
SENSITIVE = []
include Aws::Structure
end
# The Multi-Region Access Point details that are returned when querying
# about an asynchronous request.
#
# @!attribute [rw] regions
# A collection of status information for the different Regions that a
# Multi-Region Access Point supports.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MultiRegionAccessPointsAsyncResponse AWS API Documentation
#
class MultiRegionAccessPointsAsyncResponse < Struct.new(
:regions)
SENSITIVE = []
include Aws::Structure
end
# Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
# request against an account that doesn't have a
# `PublicAccessBlockConfiguration` set.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoSuchPublicAccessBlockConfiguration AWS API Documentation
#
class NoSuchPublicAccessBlockConfiguration < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The container of the noncurrent version expiration.
#
# @note When making an API call, you may pass NoncurrentVersionExpiration
# data as a hash:
#
# {
# noncurrent_days: 1,
# newer_noncurrent_versions: 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 S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
# @return [Integer]
#
# @!attribute [rw] newer_noncurrent_versions
# Specifies how many noncurrent versions S3 on Outposts will retain.
# If there are this many more recent noncurrent versions, S3 on
# Outposts will take the associated action. For more information about
# noncurrent versions, see [Lifecycle configuration elements][1] in
# the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionExpiration AWS API Documentation
#
class NoncurrentVersionExpiration < Struct.new(
:noncurrent_days,
:newer_noncurrent_versions)
SENSITIVE = []
include Aws::Structure
end
# The container for the noncurrent version transition.
#
# @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 How
# Long an Object Has Been Noncurrent][1] in the *Amazon S3 User
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
# @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/s3control-2018-08-20/NoncurrentVersionTransition AWS API Documentation
#
class NoncurrentVersionTransition < Struct.new(
:noncurrent_days,
:storage_class)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NotFoundException AWS API Documentation
#
class NotFoundException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# An access point with an attached Lambda function used to access
# transformed data from an Amazon S3 bucket.
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @!attribute [rw] object_lambda_access_point_arn
# Specifies the ARN for the Object Lambda Access Point.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaAccessPoint AWS API Documentation
#
class ObjectLambdaAccessPoint < Struct.new(
:name,
:object_lambda_access_point_arn)
SENSITIVE = []
include Aws::Structure
end
# A configuration used when creating an Object Lambda Access Point.
#
# @note When making an API call, you may pass ObjectLambdaConfiguration
# data as a hash:
#
# {
# supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
# cloud_watch_metrics_enabled: false,
# allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber, HeadObject-Range, HeadObject-PartNumber
# transformation_configurations: [ # required
# {
# actions: ["GetObject"], # required, accepts GetObject, HeadObject, ListObjects, ListObjectsV2
# content_transformation: { # required
# aws_lambda: {
# function_arn: "FunctionArnString", # required
# function_payload: "AwsLambdaTransformationPayload",
# },
# },
# },
# ],
# }
#
# @!attribute [rw] supporting_access_point
# Standard access point associated with the Object Lambda Access
# Point.
# @return [String]
#
# @!attribute [rw] cloud_watch_metrics_enabled
# A container for whether the CloudWatch metrics configuration is
# enabled.
# @return [Boolean]
#
# @!attribute [rw] allowed_features
# A container for allowed features. Valid inputs are
# `GetObject-Range`, `GetObject-PartNumber`, `HeadObject-Range`, and
# `HeadObject-PartNumber`.
# @return [Array]
#
# @!attribute [rw] transformation_configurations
# A container for transformation configurations for an Object Lambda
# Access Point.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaConfiguration AWS API Documentation
#
class ObjectLambdaConfiguration < Struct.new(
:supporting_access_point,
:cloud_watch_metrics_enabled,
:allowed_features,
:transformation_configurations)
SENSITIVE = []
include Aws::Structure
end
# A container for AwsLambdaTransformation.
#
# @note ObjectLambdaContentTransformation is a union - when making an API calls you must set exactly one of the members.
#
# @note ObjectLambdaContentTransformation is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ObjectLambdaContentTransformation corresponding to the set member.
#
# @!attribute [rw] aws_lambda
# A container for an Lambda function.
# @return [Types::AwsLambdaTransformation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaContentTransformation AWS API Documentation
#
class ObjectLambdaContentTransformation < Struct.new(
:aws_lambda,
:unknown)
SENSITIVE = []
include Aws::Structure
include Aws::Structure::Union
class AwsLambda < ObjectLambdaContentTransformation; end
class Unknown < ObjectLambdaContentTransformation; end
end
# A configuration used when creating an Object Lambda Access Point
# transformation.
#
# @note When making an API call, you may pass ObjectLambdaTransformationConfiguration
# data as a hash:
#
# {
# actions: ["GetObject"], # required, accepts GetObject, HeadObject, ListObjects, ListObjectsV2
# content_transformation: { # required
# aws_lambda: {
# function_arn: "FunctionArnString", # required
# function_payload: "AwsLambdaTransformationPayload",
# },
# },
# }
#
# @!attribute [rw] actions
# A container for the action of an Object Lambda Access Point
# configuration. Valid inputs are `GetObject`, `ListObjects`,
# `HeadObject`, and `ListObjectsV2`.
# @return [Array]
#
# @!attribute [rw] content_transformation
# A container for the content transformation of an Object Lambda
# Access Point configuration.
# @return [Types::ObjectLambdaContentTransformation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaTransformationConfiguration AWS API Documentation
#
class ObjectLambdaTransformationConfiguration < Struct.new(
:actions,
:content_transformation)
SENSITIVE = []
include Aws::Structure
end
# Indicates whether this access point policy is public. For more
# information about how Amazon S3 evaluates policies to determine
# whether they are public, see [The Meaning of "Public"][1] in the
# *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
#
# @!attribute [rw] is_public
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PolicyStatus AWS API Documentation
#
class PolicyStatus < Struct.new(
:is_public)
SENSITIVE = []
include Aws::Structure
end
# A container for the prefix-level configuration.
#
# @note When making an API call, you may pass PrefixLevel
# data as a hash:
#
# {
# storage_metrics: { # required
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# },
# }
#
# @!attribute [rw] storage_metrics
# A container for the prefix-level storage metrics for S3 Storage
# Lens.
# @return [Types::PrefixLevelStorageMetrics]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PrefixLevel AWS API Documentation
#
class PrefixLevel < Struct.new(
:storage_metrics)
SENSITIVE = []
include Aws::Structure
end
# A container for the prefix-level storage metrics for S3 Storage Lens.
#
# @note When making an API call, you may pass PrefixLevelStorageMetrics
# data as a hash:
#
# {
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# }
#
# @!attribute [rw] is_enabled
# A container for whether prefix-level storage metrics are enabled.
# @return [Boolean]
#
# @!attribute [rw] selection_criteria
# @return [Types::SelectionCriteria]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PrefixLevelStorageMetrics AWS API Documentation
#
class PrefixLevelStorageMetrics < Struct.new(
:is_enabled,
:selection_criteria)
SENSITIVE = []
include Aws::Structure
end
# The proposed access control policy for the Multi-Region Access Point.
#
# When you update the policy, the update is first listed as the proposed
# policy. After the update is finished and all Regions have been
# updated, the proposed policy is listed as the established policy. If
# both policies have the same version number, the proposed policy is the
# established policy.
#
# @!attribute [rw] policy
# The details of the proposed policy.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ProposedMultiRegionAccessPointPolicy AWS API Documentation
#
class ProposedMultiRegionAccessPointPolicy < Struct.new(
:policy)
SENSITIVE = []
include Aws::Structure
end
# The `PublicAccessBlock` configuration that you want to apply to this
# Amazon S3 account. 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 S3 User Guide*.
#
# This data type is not supported for Amazon S3 on Outposts.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
#
# @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 buckets in this account. Setting this element to `TRUE`
# causes the following behavior:
#
# * `PutBucketAcl` and `PutObjectAcl` calls fail if the specified ACL
# is public.
#
# * PUT Object calls fail if the request includes a public ACL.
#
# * PUT Bucket calls fail if the request includes a public ACL.
#
# Enabling this setting doesn't affect existing policies or ACLs.
#
# This property is not supported for Amazon S3 on Outposts.
# @return [Boolean]
#
# @!attribute [rw] ignore_public_acls
# Specifies whether Amazon S3 should ignore public ACLs for buckets in
# this account. Setting this element to `TRUE` causes Amazon S3 to
# ignore all public ACLs on buckets in this account and any objects
# that they contain.
#
# Enabling this setting doesn't affect the persistence of any
# existing ACLs and doesn't prevent new public ACLs from being set.
#
# This property is not supported for Amazon S3 on Outposts.
# @return [Boolean]
#
# @!attribute [rw] block_public_policy
# Specifies whether Amazon S3 should block public bucket policies for
# buckets in this account. 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.
#
# This property is not supported for Amazon S3 on Outposts.
# @return [Boolean]
#
# @!attribute [rw] restrict_public_buckets
# Specifies whether Amazon S3 should restrict public bucket policies
# for buckets in this account. Setting this element to `TRUE`
# restricts access to buckets with public policies to only Amazon Web
# Service principals and authorized users within this account.
#
# 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.
#
# This property is not supported for Amazon S3 on Outposts.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
#
class PublicAccessBlockConfiguration < Struct.new(
:block_public_acls,
:ignore_public_acls,
:block_public_policy,
:restrict_public_buckets)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutAccessPointConfigurationForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# configuration: { # required
# supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
# cloud_watch_metrics_enabled: false,
# allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber, HeadObject-Range, HeadObject-PartNumber
# transformation_configurations: [ # required
# {
# actions: ["GetObject"], # required, accepts GetObject, HeadObject, ListObjects, ListObjectsV2
# content_transformation: { # required
# aws_lambda: {
# function_arn: "FunctionArnString", # required
# function_payload: "AwsLambdaTransformationPayload",
# },
# },
# },
# ],
# },
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @!attribute [rw] configuration
# Object Lambda Access Point configuration document.
# @return [Types::ObjectLambdaConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
#
class PutAccessPointConfigurationForObjectLambdaRequest < Struct.new(
:account_id,
:name,
:configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutAccessPointPolicyForObjectLambdaRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "ObjectLambdaAccessPointName", # required
# policy: "ObjectLambdaPolicy", # required
# }
#
# @!attribute [rw] account_id
# The account ID for the account that owns the specified Object Lambda
# Access Point.
# @return [String]
#
# @!attribute [rw] name
# The name of the Object Lambda Access Point.
# @return [String]
#
# @!attribute [rw] policy
# Object Lambda Access Point resource policy document.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambdaRequest AWS API Documentation
#
class PutAccessPointPolicyForObjectLambdaRequest < Struct.new(
:account_id,
:name,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutAccessPointPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# name: "AccessPointName", # required
# policy: "Policy", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for owner of the bucket
# associated with the specified access point.
# @return [String]
#
# @!attribute [rw] name
# The name of the access point that you want to associate with the
# specified policy.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the access point
# accessed in the format
# `arn:aws:s3-outposts:::outpost//accesspoint/`.
# For example, to access the access point `reports-ap` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
# The value must be URL encoded.
# @return [String]
#
# @!attribute [rw] policy
# The policy that you want to apply to the specified access point. For
# more information about access point policies, see [Managing data
# access with Amazon S3 access points][1] in the *Amazon S3 User
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyRequest AWS API Documentation
#
class PutAccessPointPolicyRequest < Struct.new(
:account_id,
:name,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutBucketLifecycleConfigurationRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# lifecycle_configuration: {
# rules: [
# {
# expiration: {
# date: Time.now,
# days: 1,
# expired_object_delete_marker: false,
# },
# id: "ID",
# filter: {
# prefix: "Prefix",
# tag: {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# and: {
# prefix: "Prefix",
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# object_size_greater_than: 1,
# object_size_less_than: 1,
# },
# 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,
# newer_noncurrent_versions: 1,
# },
# abort_incomplete_multipart_upload: {
# days_after_initiation: 1,
# },
# },
# ],
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# The name of the bucket for which to set the configuration.
# @return [String]
#
# @!attribute [rw] lifecycle_configuration
# Container for lifecycle rules. You can add as many as 1,000 rules.
# @return [Types::LifecycleConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfigurationRequest AWS API Documentation
#
class PutBucketLifecycleConfigurationRequest < Struct.new(
:account_id,
:bucket,
:lifecycle_configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutBucketPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# confirm_remove_self_bucket_access: false,
# policy: "Policy", # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# Specifies the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @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.
#
# This is not supported by Amazon S3 on Outposts buckets.
#
#
# @return [Boolean]
#
# @!attribute [rw] policy
# The bucket policy as a JSON document.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicyRequest AWS API Documentation
#
class PutBucketPolicyRequest < Struct.new(
:account_id,
:bucket,
:confirm_remove_self_bucket_access,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutBucketTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# tagging: { # required
# tag_set: [ # required
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# The Amazon Resource Name (ARN) of the bucket.
#
# For using this parameter with Amazon S3 on Outposts with the REST
# API, you must specify the name and the x-amz-outpost-id as well.
#
# For using this parameter with S3 on Outposts with the Amazon Web
# Services SDK and CLI, you must specify the ARN of the bucket
# accessed in the format
# `arn:aws:s3-outposts:::outpost//bucket/`.
# For example, to access the bucket `reports` through outpost
# `my-outpost` owned by account `123456789012` in Region `us-west-2`,
# use the URL encoding of
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
# The value must be URL encoded.
# @return [String]
#
# @!attribute [rw] tagging
# @return [Types::Tagging]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTaggingRequest AWS API Documentation
#
class PutBucketTaggingRequest < Struct.new(
:account_id,
:bucket,
:tagging)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutBucketVersioningRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# bucket: "BucketName", # required
# mfa: "MFA",
# versioning_configuration: { # required
# mfa_delete: "Enabled", # accepts Enabled, Disabled
# status: "Enabled", # accepts Enabled, Suspended
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID of the S3 on Outposts bucket.
# @return [String]
#
# @!attribute [rw] bucket
# The S3 on Outposts bucket to set the versioning state for.
# @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
# The root-level tag for the `VersioningConfiguration` parameters.
# @return [Types::VersioningConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketVersioningRequest AWS API Documentation
#
class PutBucketVersioningRequest < Struct.new(
:account_id,
:bucket,
:mfa,
:versioning_configuration)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutJobTaggingRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# tags: [ # required
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID for the S3 Batch Operations job whose tags you want to
# replace.
# @return [String]
#
# @!attribute [rw] tags
# The set of tags to associate with the S3 Batch Operations job.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingRequest AWS API Documentation
#
class PutJobTaggingRequest < Struct.new(
:account_id,
:job_id,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingResult AWS API Documentation
#
class PutJobTaggingResult < Aws::EmptyStructure; end
# A container for the information associated with a
# [PutMultiRegionAccessPoint][1] request.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html
#
# @note When making an API call, you may pass PutMultiRegionAccessPointPolicyInput
# data as a hash:
#
# {
# name: "MultiRegionAccessPointName", # required
# policy: "Policy", # required
# }
#
# @!attribute [rw] name
# The name of the Multi-Region Access Point associated with the
# request.
# @return [String]
#
# @!attribute [rw] policy
# The policy details for the `PutMultiRegionAccessPoint` request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutMultiRegionAccessPointPolicyInput AWS API Documentation
#
class PutMultiRegionAccessPointPolicyInput < Struct.new(
:name,
:policy)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutMultiRegionAccessPointPolicyRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# client_token: "MultiRegionAccessPointClientToken", # required
# details: { # required
# name: "MultiRegionAccessPointName", # required
# policy: "Policy", # required
# },
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID for the owner of the Multi-Region
# Access Point.
# @return [String]
#
# @!attribute [rw] client_token
# An idempotency token used to identify the request and guarantee that
# requests are unique.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] details
# A container element containing the details of the policy for the
# Multi-Region Access Point.
# @return [Types::PutMultiRegionAccessPointPolicyInput]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutMultiRegionAccessPointPolicyRequest AWS API Documentation
#
class PutMultiRegionAccessPointPolicyRequest < Struct.new(
:account_id,
:client_token,
:details)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] request_token_arn
# The request token associated with the request. You can use this
# token with [DescribeMultiRegionAccessPointOperation][1] to determine
# the status of asynchronous requests.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutMultiRegionAccessPointPolicyResult AWS API Documentation
#
class PutMultiRegionAccessPointPolicyResult < Struct.new(
:request_token_arn)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutPublicAccessBlockRequest
# data as a hash:
#
# {
# public_access_block_configuration: { # required
# block_public_acls: false,
# ignore_public_acls: false,
# block_public_policy: false,
# restrict_public_buckets: false,
# },
# account_id: "AccountId",
# }
#
# @!attribute [rw] public_access_block_configuration
# The `PublicAccessBlock` configuration that you want to apply to the
# specified Amazon Web Services account.
# @return [Types::PublicAccessBlockConfiguration]
#
# @!attribute [rw] account_id
# The account ID for the Amazon Web Services account whose
# `PublicAccessBlock` configuration you want to set.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
#
class PutPublicAccessBlockRequest < Struct.new(
:public_access_block_configuration,
:account_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutStorageLensConfigurationRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# storage_lens_configuration: { # required
# id: "ConfigId", # required
# account_level: { # required
# activity_metrics: {
# is_enabled: false,
# },
# bucket_level: { # required
# activity_metrics: {
# is_enabled: false,
# },
# prefix_level: {
# storage_metrics: { # required
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# },
# include: {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# },
# exclude: {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# },
# data_export: {
# s3_bucket_destination: {
# format: "CSV", # required, accepts CSV, Parquet
# output_schema_version: "V_1", # required, accepts V_1
# account_id: "AccountId", # required
# arn: "S3BucketArnString", # required
# prefix: "Prefix",
# encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "SSEKMSKeyId", # required
# },
# },
# },
# cloud_watch_metrics: {
# is_enabled: false, # required
# },
# },
# is_enabled: false, # required
# aws_org: {
# arn: "AwsOrgArn", # required
# },
# storage_lens_arn: "StorageLensArn",
# },
# tags: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# }
#
# @!attribute [rw] config_id
# The ID of the S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @!attribute [rw] storage_lens_configuration
# The S3 Storage Lens configuration.
# @return [Types::StorageLensConfiguration]
#
# @!attribute [rw] tags
# The tag set of the S3 Storage Lens configuration.
#
# You can set up to a maximum of 50 tags.
#
#
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationRequest AWS API Documentation
#
class PutStorageLensConfigurationRequest < Struct.new(
:config_id,
:account_id,
:storage_lens_configuration,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutStorageLensConfigurationTaggingRequest
# data as a hash:
#
# {
# config_id: "ConfigId", # required
# account_id: "AccountId",
# tags: [ # required
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# }
#
# @!attribute [rw] config_id
# The ID of the S3 Storage Lens configuration.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the requester.
# @return [String]
#
# @!attribute [rw] tags
# The tag set of the S3 Storage Lens configuration.
#
# You can set up to a maximum of 50 tags.
#
#
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTaggingRequest AWS API Documentation
#
class PutStorageLensConfigurationTaggingRequest < Struct.new(
:config_id,
:account_id,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTaggingResult AWS API Documentation
#
class PutStorageLensConfigurationTaggingResult < Aws::EmptyStructure; end
# A Region that supports a Multi-Region Access Point as well as the
# associated bucket for the Region.
#
# @note When making an API call, you may pass Region
# data as a hash:
#
# {
# bucket: "BucketName", # required
# }
#
# @!attribute [rw] bucket
# The name of the associated bucket for the Region.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Region AWS API Documentation
#
class Region < Struct.new(
:bucket)
SENSITIVE = []
include Aws::Structure
end
# A combination of a bucket and Region that's part of a Multi-Region
# Access Point.
#
# @!attribute [rw] bucket
# The name of the bucket.
# @return [String]
#
# @!attribute [rw] region
# The name of the Region.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/RegionReport AWS API Documentation
#
class RegionReport < Struct.new(
:bucket,
:region)
SENSITIVE = []
include Aws::Structure
end
# The container for the regional bucket.
#
# @!attribute [rw] bucket
# @return [String]
#
# @!attribute [rw] bucket_arn
# The Amazon Resource Name (ARN) for the regional bucket.
# @return [String]
#
# @!attribute [rw] public_access_block_enabled
# @return [Boolean]
#
# @!attribute [rw] creation_date
# The creation date of the regional bucket
# @return [Time]
#
# @!attribute [rw] outpost_id
# The Outposts ID of the regional bucket.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/RegionalBucket AWS API Documentation
#
class RegionalBucket < Struct.new(
:bucket,
:bucket_arn,
:public_access_block_enabled,
:creation_date,
:outpost_id)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3AccessControlList
# data as a hash:
#
# {
# owner: { # required
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# }
#
# @!attribute [rw] owner
# @return [Types::S3ObjectOwner]
#
# @!attribute [rw] grants
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3AccessControlList AWS API Documentation
#
class S3AccessControlList < Struct.new(
:owner,
:grants)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3AccessControlPolicy
# data as a hash:
#
# {
# access_control_list: {
# owner: { # required
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# },
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# }
#
# @!attribute [rw] access_control_list
# @return [Types::S3AccessControlList]
#
# @!attribute [rw] canned_access_control_list
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3AccessControlPolicy AWS API Documentation
#
class S3AccessControlPolicy < Struct.new(
:access_control_list,
:canned_access_control_list)
SENSITIVE = []
include Aws::Structure
end
# A container for the bucket where the Amazon S3 Storage Lens metrics
# export files are located.
#
# @note When making an API call, you may pass S3BucketDestination
# data as a hash:
#
# {
# format: "CSV", # required, accepts CSV, Parquet
# output_schema_version: "V_1", # required, accepts V_1
# account_id: "AccountId", # required
# arn: "S3BucketArnString", # required
# prefix: "Prefix",
# encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "SSEKMSKeyId", # required
# },
# },
# }
#
# @!attribute [rw] format
# @return [String]
#
# @!attribute [rw] output_schema_version
# The schema version of the export file.
# @return [String]
#
# @!attribute [rw] account_id
# The account ID of the owner of the S3 Storage Lens metrics export
# bucket.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the bucket. This property is
# read-only and follows the following format: `
# arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name
# `
# @return [String]
#
# @!attribute [rw] prefix
# The prefix of the destination bucket where the metrics export will
# be delivered.
# @return [String]
#
# @!attribute [rw] encryption
# The container for the type encryption of the metrics exports in this
# bucket.
# @return [Types::StorageLensDataExportEncryption]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3BucketDestination AWS API Documentation
#
class S3BucketDestination < Struct.new(
:format,
:output_schema_version,
:account_id,
:arn,
:prefix,
:encryption)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for a PUT Copy object operation.
# S3 Batch Operations passes every object to the underlying PUT Copy
# object API. For more information about the parameters for this
# operation, see [PUT Object - Copy][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html
#
# @note When making an API call, you may pass S3CopyObjectOperation
# data as a hash:
#
# {
# target_resource: "S3BucketArnString",
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# access_control_grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# metadata_directive: "COPY", # accepts COPY, REPLACE
# modified_since_constraint: Time.now,
# new_object_metadata: {
# cache_control: "NonEmptyMaxLength1024String",
# content_disposition: "NonEmptyMaxLength1024String",
# content_encoding: "NonEmptyMaxLength1024String",
# content_language: "NonEmptyMaxLength1024String",
# user_metadata: {
# "NonEmptyMaxLength1024String" => "MaxLength1024String",
# },
# content_length: 1,
# content_md5: "NonEmptyMaxLength1024String",
# content_type: "NonEmptyMaxLength1024String",
# http_expires_date: Time.now,
# requester_charged: false,
# sse_algorithm: "AES256", # accepts AES256, KMS
# },
# new_object_tagging: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# redirect_location: "NonEmptyMaxLength2048String",
# requester_pays: false,
# storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
# un_modified_since_constraint: Time.now,
# sse_aws_kms_key_id: "KmsKeyArnString",
# target_key_prefix: "NonEmptyMaxLength1024String",
# object_lock_legal_hold_status: "OFF", # accepts OFF, ON
# object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# object_lock_retain_until_date: Time.now,
# bucket_key_enabled: false,
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
# }
#
# @!attribute [rw] target_resource
# Specifies the destination bucket ARN for the batch copy operation.
# For example, to copy objects to a bucket named `destinationBucket`,
# set the `TargetResource` property to
# `arn:aws:s3:::destinationBucket`.
# @return [String]
#
# @!attribute [rw] canned_access_control_list
# @return [String]
#
# @!attribute [rw] access_control_grants
# @return [Array]
#
# @!attribute [rw] metadata_directive
# @return [String]
#
# @!attribute [rw] modified_since_constraint
# @return [Time]
#
# @!attribute [rw] new_object_metadata
# If you don't provide this parameter, Amazon S3 copies all the
# metadata from the original objects. If you specify an empty set, the
# new objects will have no tags. Otherwise, Amazon S3 assigns the
# supplied tags to the new objects.
# @return [Types::S3ObjectMetadata]
#
# @!attribute [rw] new_object_tagging
# @return [Array]
#
# @!attribute [rw] redirect_location
# Specifies an optional metadata property for website redirects,
# `x-amz-website-redirect-location`. Allows webpage redirects if the
# object is accessed through a website endpoint.
# @return [String]
#
# @!attribute [rw] requester_pays
# @return [Boolean]
#
# @!attribute [rw] storage_class
# @return [String]
#
# @!attribute [rw] un_modified_since_constraint
# @return [Time]
#
# @!attribute [rw] sse_aws_kms_key_id
# @return [String]
#
# @!attribute [rw] target_key_prefix
# Specifies the folder prefix into which you would like the objects to
# be copied. For example, to copy objects into a folder named
# `Folder1` in the destination bucket, set the TargetKeyPrefix to
# `Folder1`.
# @return [String]
#
# @!attribute [rw] object_lock_legal_hold_status
# The legal hold status to be applied to all objects in the Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] object_lock_mode
# The retention mode to be applied to all objects in the Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] object_lock_retain_until_date
# The date when the applied object retention configuration expires on
# all objects in the Batch Operations job.
# @return [Time]
#
# @!attribute [rw] bucket_key_enabled
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
# encryption with server-side encryption using Amazon Web Services KMS
# (SSE-KMS). Setting this header to `true` causes Amazon S3 to use an
# S3 Bucket Key for object encryption with SSE-KMS.
#
# Specifying this header with an *object* action doesn’t affect
# *bucket-level* settings for S3 Bucket Key.
# @return [Boolean]
#
# @!attribute [rw] checksum_algorithm
# Indicates the algorithm you want Amazon S3 to use to create the
# checksum. For more information see [ Checking object integrity][1]
# in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CheckingObjectIntegrity.xml
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
#
class S3CopyObjectOperation < Struct.new(
:target_resource,
:canned_access_control_list,
:access_control_grants,
:metadata_directive,
:modified_since_constraint,
:new_object_metadata,
:new_object_tagging,
:redirect_location,
:requester_pays,
:storage_class,
:un_modified_since_constraint,
:sse_aws_kms_key_id,
:target_key_prefix,
:object_lock_legal_hold_status,
:object_lock_mode,
:object_lock_retain_until_date,
:bucket_key_enabled,
:checksum_algorithm)
SENSITIVE = []
include Aws::Structure
end
# Contains no configuration parameters because the DELETE Object tagging
# API only accepts the bucket name and key name as parameters, which are
# defined in the job's manifest.
#
# @api private
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3DeleteObjectTaggingOperation AWS API Documentation
#
class S3DeleteObjectTaggingOperation < Aws::EmptyStructure; end
# Describes the specified job's generated manifest. Batch Operations
# jobs created with a ManifestGenerator populate details of this
# descriptor after execution of the ManifestGenerator.
#
# @!attribute [rw] format
# The format of the generated manifest.
# @return [String]
#
# @!attribute [rw] location
# Contains the information required to locate a manifest object.
# @return [Types::JobManifestLocation]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3GeneratedManifestDescriptor AWS API Documentation
#
class S3GeneratedManifestDescriptor < Struct.new(
:format,
:location)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3Grant
# data as a hash:
#
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# }
#
# @!attribute [rw] grantee
# @return [Types::S3Grantee]
#
# @!attribute [rw] permission
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Grant AWS API Documentation
#
class S3Grant < Struct.new(
:grantee,
:permission)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3Grantee
# data as a hash:
#
# {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# }
#
# @!attribute [rw] type_identifier
# @return [String]
#
# @!attribute [rw] identifier
# @return [String]
#
# @!attribute [rw] display_name
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Grantee AWS API Documentation
#
class S3Grantee < Struct.new(
:type_identifier,
:identifier,
:display_name)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for an S3 Initiate Restore
# Object job. S3 Batch Operations passes every object to the underlying
# POST Object restore API. For more information about the parameters for
# this operation, see [RestoreObject][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request
#
# @note When making an API call, you may pass S3InitiateRestoreObjectOperation
# data as a hash:
#
# {
# expiration_in_days: 1,
# glacier_job_tier: "BULK", # accepts BULK, STANDARD
# }
#
# @!attribute [rw] expiration_in_days
# This argument specifies how long the S3 Glacier or S3 Glacier Deep
# Archive object remains available in Amazon S3. S3 Initiate Restore
# Object jobs that target S3 Glacier and S3 Glacier Deep Archive
# objects require `ExpirationInDays` set to 1 or greater.
#
# Conversely, do *not* set `ExpirationInDays` when creating S3
# Initiate Restore Object jobs that target S3 Intelligent-Tiering
# Archive Access and Deep Archive Access tier objects. Objects in S3
# Intelligent-Tiering archive access tiers are not subject to restore
# expiry, so specifying `ExpirationInDays` results in restore request
# failure.
#
# S3 Batch Operations jobs can operate either on S3 Glacier and S3
# Glacier Deep Archive storage class objects or on S3
# Intelligent-Tiering Archive Access and Deep Archive Access storage
# tier objects, but not both types in the same job. If you need to
# restore objects of both types you *must* create separate Batch
# Operations jobs.
# @return [Integer]
#
# @!attribute [rw] glacier_job_tier
# S3 Batch Operations supports `STANDARD` and `BULK` retrieval tiers,
# but not the `EXPEDITED` retrieval tier.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3InitiateRestoreObjectOperation AWS API Documentation
#
class S3InitiateRestoreObjectOperation < Struct.new(
:expiration_in_days,
:glacier_job_tier)
SENSITIVE = []
include Aws::Structure
end
# The container for the service that will create the S3 manifest.
#
# @note When making an API call, you may pass S3JobManifestGenerator
# data as a hash:
#
# {
# expected_bucket_owner: "AccountId",
# source_bucket: "S3BucketArnString", # required
# manifest_output_location: {
# expected_manifest_bucket_owner: "AccountId",
# bucket: "S3BucketArnString", # required
# manifest_prefix: "ManifestPrefixString",
# manifest_encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "KmsKeyArnString", # required
# },
# },
# manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
# },
# filter: {
# eligible_for_replication: false,
# created_after: Time.now,
# created_before: Time.now,
# object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
# },
# enable_manifest_output: false, # required
# }
#
# @!attribute [rw] expected_bucket_owner
# The Amazon Web Services account ID that owns the bucket the
# generated manifest is written to. If provided the generated manifest
# bucket's owner Amazon Web Services account ID must match this
# value, else the job fails.
# @return [String]
#
# @!attribute [rw] source_bucket
# The source bucket used by the ManifestGenerator.
# @return [String]
#
# @!attribute [rw] manifest_output_location
# Specifies the location the generated manifest will be written to.
# @return [Types::S3ManifestOutputLocation]
#
# @!attribute [rw] filter
# Specifies rules the S3JobManifestGenerator should use to use to
# decide whether an object in the source bucket should or should not
# be included in the generated job manifest.
# @return [Types::JobManifestGeneratorFilter]
#
# @!attribute [rw] enable_manifest_output
# Determines whether or not to write the job's generated manifest to
# a bucket.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3JobManifestGenerator AWS API Documentation
#
class S3JobManifestGenerator < Struct.new(
:expected_bucket_owner,
:source_bucket,
:manifest_output_location,
:filter,
:enable_manifest_output)
SENSITIVE = []
include Aws::Structure
end
# Location details for where the generated manifest should be written.
#
# @note When making an API call, you may pass S3ManifestOutputLocation
# data as a hash:
#
# {
# expected_manifest_bucket_owner: "AccountId",
# bucket: "S3BucketArnString", # required
# manifest_prefix: "ManifestPrefixString",
# manifest_encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "KmsKeyArnString", # required
# },
# },
# manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
# }
#
# @!attribute [rw] expected_manifest_bucket_owner
# The Account ID that owns the bucket the generated manifest is
# written to.
# @return [String]
#
# @!attribute [rw] bucket
# The bucket ARN the generated manifest should be written to.
# @return [String]
#
# @!attribute [rw] manifest_prefix
# Prefix identifying one or more objects to which the manifest
# applies.
# @return [String]
#
# @!attribute [rw] manifest_encryption
# Specifies what encryption should be used when the generated manifest
# objects are written.
# @return [Types::GeneratedManifestEncryption]
#
# @!attribute [rw] manifest_format
# The format of the generated manifest.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ManifestOutputLocation AWS API Documentation
#
class S3ManifestOutputLocation < Struct.new(
:expected_manifest_bucket_owner,
:bucket,
:manifest_prefix,
:manifest_encryption,
:manifest_format)
SENSITIVE = []
include Aws::Structure
end
# Whether S3 Object Lock legal hold will be applied to objects in an S3
# Batch Operations job.
#
# @note When making an API call, you may pass S3ObjectLockLegalHold
# data as a hash:
#
# {
# status: "OFF", # required, accepts OFF, ON
# }
#
# @!attribute [rw] status
# The Object Lock legal hold status to be applied to all objects in
# the Batch Operations job.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectLockLegalHold AWS API Documentation
#
class S3ObjectLockLegalHold < Struct.new(
:status)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3ObjectMetadata
# data as a hash:
#
# {
# cache_control: "NonEmptyMaxLength1024String",
# content_disposition: "NonEmptyMaxLength1024String",
# content_encoding: "NonEmptyMaxLength1024String",
# content_language: "NonEmptyMaxLength1024String",
# user_metadata: {
# "NonEmptyMaxLength1024String" => "MaxLength1024String",
# },
# content_length: 1,
# content_md5: "NonEmptyMaxLength1024String",
# content_type: "NonEmptyMaxLength1024String",
# http_expires_date: Time.now,
# requester_charged: false,
# sse_algorithm: "AES256", # accepts AES256, KMS
# }
#
# @!attribute [rw] cache_control
# @return [String]
#
# @!attribute [rw] content_disposition
# @return [String]
#
# @!attribute [rw] content_encoding
# @return [String]
#
# @!attribute [rw] content_language
# @return [String]
#
# @!attribute [rw] user_metadata
# @return [Hash]
#
# @!attribute [rw] content_length
# @return [Integer]
#
# @!attribute [rw] content_md5
# @return [String]
#
# @!attribute [rw] content_type
# @return [String]
#
# @!attribute [rw] http_expires_date
# @return [Time]
#
# @!attribute [rw] requester_charged
# @return [Boolean]
#
# @!attribute [rw] sse_algorithm
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectMetadata AWS API Documentation
#
class S3ObjectMetadata < Struct.new(
:cache_control,
:content_disposition,
:content_encoding,
:content_language,
:user_metadata,
:content_length,
:content_md5,
:content_type,
:http_expires_date,
:requester_charged,
:sse_algorithm)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass S3ObjectOwner
# data as a hash:
#
# {
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# }
#
# @!attribute [rw] id
# @return [String]
#
# @!attribute [rw] display_name
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectOwner AWS API Documentation
#
class S3ObjectOwner < Struct.new(
:id,
:display_name)
SENSITIVE = []
include Aws::Structure
end
# Directs the specified job to invoke `ReplicateObject` on every object
# in the job's manifest.
#
# @api private
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ReplicateObjectOperation AWS API Documentation
#
class S3ReplicateObjectOperation < Aws::EmptyStructure; end
# Contains the S3 Object Lock retention mode to be applied to all
# objects in the S3 Batch Operations job. If you don't provide `Mode`
# and `RetainUntilDate` data types in your operation, you will remove
# the retention from your objects. For more information, see [Using S3
# Object Lock retention with S3 Batch Operations][1] in the *Amazon S3
# User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
#
# @note When making an API call, you may pass S3Retention
# data as a hash:
#
# {
# retain_until_date: Time.now,
# mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# }
#
# @!attribute [rw] retain_until_date
# The date when the applied Object Lock retention will expire on all
# objects set by the Batch Operations job.
# @return [Time]
#
# @!attribute [rw] mode
# The Object Lock retention mode to be applied to all objects in the
# Batch Operations job.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Retention AWS API Documentation
#
class S3Retention < Struct.new(
:retain_until_date,
:mode)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for a Set Object ACL operation.
# S3 Batch Operations passes every object to the underlying
# `PutObjectAcl` API. For more information about the parameters for this
# operation, see [ `PutObjectAcl` ][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html
#
# @note When making an API call, you may pass S3SetObjectAclOperation
# data as a hash:
#
# {
# access_control_policy: {
# access_control_list: {
# owner: { # required
# id: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# grants: [
# {
# grantee: {
# type_identifier: "id", # accepts id, emailAddress, uri
# identifier: "NonEmptyMaxLength1024String",
# display_name: "NonEmptyMaxLength1024String",
# },
# permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
# },
# ],
# },
# canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
# },
# }
#
# @!attribute [rw] access_control_policy
# @return [Types::S3AccessControlPolicy]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectAclOperation AWS API Documentation
#
class S3SetObjectAclOperation < Struct.new(
:access_control_policy)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration for an S3 Object Lock legal hold operation
# that an S3 Batch Operations job passes every object to the underlying
# `PutObjectLegalHold` API. For more information, see [Using S3 Object
# Lock legal hold with S3 Batch Operations][1] in the *Amazon S3 User
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
#
# @note When making an API call, you may pass S3SetObjectLegalHoldOperation
# data as a hash:
#
# {
# legal_hold: { # required
# status: "OFF", # required, accepts OFF, ON
# },
# }
#
# @!attribute [rw] legal_hold
# Contains the Object Lock legal hold status to be applied to all
# objects in the Batch Operations job.
# @return [Types::S3ObjectLockLegalHold]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectLegalHoldOperation AWS API Documentation
#
class S3SetObjectLegalHoldOperation < Struct.new(
:legal_hold)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for the Object Lock retention
# action for an S3 Batch Operations job. Batch Operations passes every
# object to the underlying `PutObjectRetention` API. For more
# information, see [Using S3 Object Lock retention with S3 Batch
# Operations][1] in the *Amazon S3 User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
#
# @note When making an API call, you may pass S3SetObjectRetentionOperation
# data as a hash:
#
# {
# bypass_governance_retention: false,
# retention: { # required
# retain_until_date: Time.now,
# mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
# },
# }
#
# @!attribute [rw] bypass_governance_retention
# Indicates if the action should be applied to objects in the Batch
# Operations job even if they have Object Lock ` GOVERNANCE` type in
# place.
# @return [Boolean]
#
# @!attribute [rw] retention
# Contains the Object Lock retention mode to be applied to all objects
# in the Batch Operations job. For more information, see [Using S3
# Object Lock retention with S3 Batch Operations][1] in the *Amazon S3
# User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
# @return [Types::S3Retention]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectRetentionOperation AWS API Documentation
#
class S3SetObjectRetentionOperation < Struct.new(
:bypass_governance_retention,
:retention)
SENSITIVE = []
include Aws::Structure
end
# Contains the configuration parameters for a Set Object Tagging
# operation. S3 Batch Operations passes every object to the underlying
# PUT Object tagging API. For more information about the parameters for
# this operation, see [PUT Object tagging][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html
#
# @note When making an API call, you may pass S3SetObjectTaggingOperation
# data as a hash:
#
# {
# tag_set: [
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# }
#
# @!attribute [rw] tag_set
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectTaggingOperation AWS API Documentation
#
class S3SetObjectTaggingOperation < Struct.new(
:tag_set)
SENSITIVE = []
include Aws::Structure
end
# A container for a key-value name pair.
#
# @note When making an API call, you may pass S3Tag
# data as a hash:
#
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# }
#
# @!attribute [rw] key
# Key of the tag
# @return [String]
#
# @!attribute [rw] value
# Value of the tag
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Tag AWS API Documentation
#
class S3Tag < Struct.new(
:key,
:value)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass SSEKMS
# data as a hash:
#
# {
# key_id: "SSEKMSKeyId", # required
# }
#
# @!attribute [rw] key_id
# A container for the ARN of the SSE-KMS encryption. This property is
# read-only and follows the following format: `
# arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e
# `
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSEKMS AWS API Documentation
#
class SSEKMS < Struct.new(
:key_id)
SENSITIVE = []
include Aws::Structure
end
# Configuration for the use of SSE-KMS to encrypt generated manifest
# objects.
#
# @note When making an API call, you may pass SSEKMSEncryption
# data as a hash:
#
# {
# key_id: "KmsKeyArnString", # required
# }
#
# @!attribute [rw] key_id
# Specifies the ID of the Amazon Web Services Key Management Service
# (Amazon Web Services KMS) symmetric encryption customer managed key
# to use for encrypting generated manifest objects.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSEKMSEncryption AWS API Documentation
#
class SSEKMSEncryption < Struct.new(
:key_id)
SENSITIVE = []
include Aws::Structure
end
# @api private
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3 AWS API Documentation
#
class SSES3 < Aws::EmptyStructure; end
# Configuration for the use of SSE-S3 to encrypt generated manifest
# objects.
#
# @api private
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3Encryption AWS API Documentation
#
class SSES3Encryption < Aws::EmptyStructure; end
# @note When making an API call, you may pass SelectionCriteria
# data as a hash:
#
# {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# }
#
# @!attribute [rw] delimiter
# A container for the delimiter of the selection criteria being used.
# @return [String]
#
# @!attribute [rw] max_depth
# The max depth of the selection criteria
# @return [Integer]
#
# @!attribute [rw] min_storage_bytes_percentage
# The minimum number of storage bytes percentage whose metrics will be
# selected.
#
# You must choose a value greater than or equal to `1.0`.
#
#
# @return [Float]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SelectionCriteria AWS API Documentation
#
class SelectionCriteria < Struct.new(
:delimiter,
:max_depth,
:min_storage_bytes_percentage)
SENSITIVE = []
include Aws::Structure
end
# The Amazon Web Services organization for your S3 Storage Lens.
#
# @note When making an API call, you may pass StorageLensAwsOrg
# data as a hash:
#
# {
# arn: "AwsOrgArn", # required
# }
#
# @!attribute [rw] arn
# A container for the Amazon Resource Name (ARN) of the Amazon Web
# Services organization. This property is read-only and follows the
# following format: `
# arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck
# `
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensAwsOrg AWS API Documentation
#
class StorageLensAwsOrg < Struct.new(
:arn)
SENSITIVE = []
include Aws::Structure
end
# A container for the Amazon S3 Storage Lens configuration.
#
# @note When making an API call, you may pass StorageLensConfiguration
# data as a hash:
#
# {
# id: "ConfigId", # required
# account_level: { # required
# activity_metrics: {
# is_enabled: false,
# },
# bucket_level: { # required
# activity_metrics: {
# is_enabled: false,
# },
# prefix_level: {
# storage_metrics: { # required
# is_enabled: false,
# selection_criteria: {
# delimiter: "StorageLensPrefixLevelDelimiter",
# max_depth: 1,
# min_storage_bytes_percentage: 1.0,
# },
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# },
# advanced_cost_optimization_metrics: {
# is_enabled: false,
# },
# advanced_data_protection_metrics: {
# is_enabled: false,
# },
# detailed_status_codes_metrics: {
# is_enabled: false,
# },
# },
# include: {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# },
# exclude: {
# buckets: ["S3BucketArnString"],
# regions: ["S3AWSRegion"],
# },
# data_export: {
# s3_bucket_destination: {
# format: "CSV", # required, accepts CSV, Parquet
# output_schema_version: "V_1", # required, accepts V_1
# account_id: "AccountId", # required
# arn: "S3BucketArnString", # required
# prefix: "Prefix",
# encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "SSEKMSKeyId", # required
# },
# },
# },
# cloud_watch_metrics: {
# is_enabled: false, # required
# },
# },
# is_enabled: false, # required
# aws_org: {
# arn: "AwsOrgArn", # required
# },
# storage_lens_arn: "StorageLensArn",
# }
#
# @!attribute [rw] id
# A container for the Amazon S3 Storage Lens configuration ID.
# @return [String]
#
# @!attribute [rw] account_level
# A container for all the account-level configurations of your S3
# Storage Lens configuration.
# @return [Types::AccountLevel]
#
# @!attribute [rw] include
# A container for what is included in this configuration. This
# container can only be valid if there is no `Exclude` container
# submitted, and it's not empty.
# @return [Types::Include]
#
# @!attribute [rw] exclude
# A container for what is excluded in this configuration. This
# container can only be valid if there is no `Include` container
# submitted, and it's not empty.
# @return [Types::Exclude]
#
# @!attribute [rw] data_export
# A container to specify the properties of your S3 Storage Lens
# metrics export including, the destination, schema and format.
# @return [Types::StorageLensDataExport]
#
# @!attribute [rw] is_enabled
# A container for whether the S3 Storage Lens configuration is
# enabled.
# @return [Boolean]
#
# @!attribute [rw] aws_org
# A container for the Amazon Web Services organization for this S3
# Storage Lens configuration.
# @return [Types::StorageLensAwsOrg]
#
# @!attribute [rw] storage_lens_arn
# The Amazon Resource Name (ARN) of the S3 Storage Lens configuration.
# This property is read-only and follows the following format: `
# arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name
# `
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensConfiguration AWS API Documentation
#
class StorageLensConfiguration < Struct.new(
:id,
:account_level,
:include,
:exclude,
:data_export,
:is_enabled,
:aws_org,
:storage_lens_arn)
SENSITIVE = []
include Aws::Structure
end
# A container to specify the properties of your S3 Storage Lens metrics
# export, including the destination, schema, and format.
#
# @note When making an API call, you may pass StorageLensDataExport
# data as a hash:
#
# {
# s3_bucket_destination: {
# format: "CSV", # required, accepts CSV, Parquet
# output_schema_version: "V_1", # required, accepts V_1
# account_id: "AccountId", # required
# arn: "S3BucketArnString", # required
# prefix: "Prefix",
# encryption: {
# sses3: {
# },
# ssekms: {
# key_id: "SSEKMSKeyId", # required
# },
# },
# },
# cloud_watch_metrics: {
# is_enabled: false, # required
# },
# }
#
# @!attribute [rw] s3_bucket_destination
# A container for the bucket where the S3 Storage Lens metrics export
# will be located.
#
# This bucket must be located in the same Region as the storage lens
# configuration.
#
#
# @return [Types::S3BucketDestination]
#
# @!attribute [rw] cloud_watch_metrics
# A container for enabling Amazon CloudWatch publishing for S3 Storage
# Lens metrics.
# @return [Types::CloudWatchMetrics]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExport AWS API Documentation
#
class StorageLensDataExport < Struct.new(
:s3_bucket_destination,
:cloud_watch_metrics)
SENSITIVE = []
include Aws::Structure
end
# A container for the encryption of the S3 Storage Lens metrics exports.
#
# @note When making an API call, you may pass StorageLensDataExportEncryption
# data as a hash:
#
# {
# sses3: {
# },
# ssekms: {
# key_id: "SSEKMSKeyId", # required
# },
# }
#
# @!attribute [rw] sses3
# @return [Types::SSES3]
#
# @!attribute [rw] ssekms
# @return [Types::SSEKMS]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExportEncryption AWS API Documentation
#
class StorageLensDataExportEncryption < Struct.new(
:sses3,
:ssekms)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StorageLensTag
# data as a hash:
#
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# }
#
# @!attribute [rw] key
# @return [String]
#
# @!attribute [rw] value
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensTag AWS API Documentation
#
class StorageLensTag < Struct.new(
:key,
:value)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass Tagging
# data as a hash:
#
# {
# tag_set: [ # required
# {
# key: "TagKeyString", # required
# value: "TagValueString", # required
# },
# ],
# }
#
# @!attribute [rw] tag_set
# A collection for a set of tags.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tagging AWS API Documentation
#
class Tagging < Struct.new(
:tag_set)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/TooManyRequestsException AWS API Documentation
#
class TooManyRequestsException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Amazon S3 throws this exception if you have too many tags in your tag
# set.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/TooManyTagsException AWS API Documentation
#
class TooManyTagsException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# Specifies when an object transitions to a specified storage class. For
# more information about Amazon S3 Lifecycle configuration rules, see [
# Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon S3
# User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
#
# @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 when objects are transitioned to the specified storage
# class. The date value must be in ISO 8601 format. The time is always
# midnight UTC.
# @return [Time]
#
# @!attribute [rw] days
# Indicates the number of days after creation when objects are
# transitioned to the specified storage class. The value must be a
# positive integer.
# @return [Integer]
#
# @!attribute [rw] storage_class
# The storage class to which you want the object to transition.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Transition AWS API Documentation
#
class Transition < Struct.new(
:date,
:days,
:storage_class)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateJobPriorityRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# priority: 1, # required
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID for the job whose priority you want to update.
# @return [String]
#
# @!attribute [rw] priority
# The priority you want to assign to this job.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriorityRequest AWS API Documentation
#
class UpdateJobPriorityRequest < Struct.new(
:account_id,
:job_id,
:priority)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] job_id
# The ID for the job whose priority Amazon S3 updated.
# @return [String]
#
# @!attribute [rw] priority
# The new priority assigned to the specified job.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriorityResult AWS API Documentation
#
class UpdateJobPriorityResult < Struct.new(
:job_id,
:priority)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateJobStatusRequest
# data as a hash:
#
# {
# account_id: "AccountId",
# job_id: "JobId", # required
# requested_job_status: "Cancelled", # required, accepts Cancelled, Ready
# status_update_reason: "JobStatusUpdateReason",
# }
#
# @!attribute [rw] account_id
# The Amazon Web Services account ID associated with the S3 Batch
# Operations job.
# @return [String]
#
# @!attribute [rw] job_id
# The ID of the job whose status you want to update.
# @return [String]
#
# @!attribute [rw] requested_job_status
# The status that you want to move the specified job to.
# @return [String]
#
# @!attribute [rw] status_update_reason
# A description of the reason why you want to change the specified
# job's status. This field can be any string up to the maximum
# length.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatusRequest AWS API Documentation
#
class UpdateJobStatusRequest < Struct.new(
:account_id,
:job_id,
:requested_job_status,
:status_update_reason)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] job_id
# The ID for the job whose status was updated.
# @return [String]
#
# @!attribute [rw] status
# The current status for the specified job.
# @return [String]
#
# @!attribute [rw] status_update_reason
# The reason that the specified job's status was updated.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatusResult AWS API Documentation
#
class UpdateJobStatusResult < Struct.new(
:job_id,
:status,
:status_update_reason)
SENSITIVE = []
include Aws::Structure
end
# Describes the versioning state of an Amazon S3 on Outposts bucket. For
# more information, see [PutBucketVersioning][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketVersioning.html
#
# @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 or disabled in the bucket
# versioning configuration for the S3 on Outposts bucket.
# @return [String]
#
# @!attribute [rw] status
# Sets the versioning state of the S3 on Outposts bucket.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/VersioningConfiguration AWS API Documentation
#
class VersioningConfiguration < Struct.new(
:mfa_delete,
:status)
SENSITIVE = []
include Aws::Structure
end
# The virtual private cloud (VPC) configuration for an access point.
#
# @note When making an API call, you may pass VpcConfiguration
# data as a hash:
#
# {
# vpc_id: "VpcId", # required
# }
#
# @!attribute [rw] vpc_id
# If this field is specified, this access point will only allow
# connections from the specified VPC ID.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/VpcConfiguration AWS API Documentation
#
class VpcConfiguration < Struct.new(
:vpc_id)
SENSITIVE = []
include Aws::Structure
end
end
end