# 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 # # @!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 # A container for information about access control for replicas. # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] owner # Specifies the replica ownership. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessControlTranslation AWS API Documentation # class AccessControlTranslation < Struct.new( :owner) SENSITIVE = [] include Aws::Structure end # The configuration options of the S3 Access Grants location. It # contains the `S3SubPrefix` field. The grant scope, the data to which # you are granting access, is the result of appending the `Subprefix` # field to the scope of the registered location. # # @!attribute [rw] s3_sub_prefix # The `S3SubPrefix` is appended to the location scope creating the # grant scope. Use this field to narrow the scope of the grant to a # subset of the location scope. This field is required if the location # scope is the default location `s3://` because you cannot create a # grant for all of your S3 data in the Region and must narrow the # scope. For example, if the location scope is the default location # `s3://`, the `S3SubPrefx` can be a <bucket-name>/*, so the # full grant scope path would be `s3:///*`. Or the # `S3SubPrefx` can be `/*`, so the full # grant scope path would be or `s3:///*`. # # If the `S3SubPrefix` includes a prefix, append the wildcard # character `*` after the prefix to indicate that you want to include # all object key names in the bucket that start with that prefix. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessGrantsLocationConfiguration AWS API Documentation # class AccessGrantsLocationConfiguration < Struct.new( :s3_sub_prefix) 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] # # @!attribute [rw] bucket_account_id # The Amazon Web Services account ID associated with the S3 bucket # associated with this 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, :bucket_account_id) SENSITIVE = [] include Aws::Structure end # A container element 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 # # @!attribute [rw] activity_metrics # A container element for S3 Storage Lens activity metrics. # @return [Types::ActivityMetrics] # # @!attribute [rw] bucket_level # A container element for the S3 Storage Lens bucket-level # configuration. # @return [Types::BucketLevel] # # @!attribute [rw] advanced_cost_optimization_metrics # A container element for S3 Storage Lens advanced cost-optimization # metrics. # @return [Types::AdvancedCostOptimizationMetrics] # # @!attribute [rw] advanced_data_protection_metrics # A container element for S3 Storage Lens advanced data-protection # metrics. # @return [Types::AdvancedDataProtectionMetrics] # # @!attribute [rw] detailed_status_codes_metrics # A container element for detailed status code metrics. # @return [Types::DetailedStatusCodesMetrics] # # @!attribute [rw] storage_lens_group_level # A container element for S3 Storage Lens groups metrics. # @return [Types::StorageLensGroupLevel] # # @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, :storage_lens_group_level) 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 # # @!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 # # @!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 # # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] identity_center_arn # The Amazon Resource Name (ARN) of the Amazon Web Services IAM # Identity Center instance that you are associating with your S3 # Access Grants instance. An IAM Identity Center instance is your # corporate identity directory that you added to the IAM Identity # Center. You can use the [ListInstances][1] API operation to retrieve # a list of your Identity Center instances and their ARNs. # # # # [1]: https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AssociateAccessGrantsIdentityCenterRequest AWS API Documentation # class AssociateAccessGrantsIdentityCenterRequest < Struct.new( :account_id, :identity_center_arn) 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. # # @!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 # # @!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 # # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # # If you are passing the `default` location, you cannot create an # access grant for the entire default location. You must also specify # a bucket or a bucket and prefix in the `Subprefix` field. # @return [String] # # @!attribute [rw] access_grants_location_configuration # The configuration options of the grant location. The grant location # is the S3 path to the data to which you are granting access. It # contains the `S3SubPrefix` field. The grant scope is the result of # appending the subprefix to the location scope of the registered # location. # @return [Types::AccessGrantsLocationConfiguration] # # @!attribute [rw] grantee # The user, group, or role to which you are granting access. You can # grant access to an IAM user or role. If you have added your # corporate directory to Amazon Web Services IAM Identity Center and # associated your Identity Center instance with your S3 Access Grants # instance, the grantee can also be a corporate directory user or # group. # @return [Types::Grantee] # # @!attribute [rw] permission # The type of access that you are granting to your S3 data, which can # be set to one of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] application_arn # The Amazon Resource Name (ARN) of an Amazon Web Services IAM # Identity Center application associated with your Identity Center # instance. If an application ARN is included in the request to create # an access grant, the grantee can only access the S3 data through # this application. # @return [String] # # @!attribute [rw] s3_prefix_type # The type of `S3SubPrefix`. The only possible value is `Object`. Pass # this value if the access grant scope is an object. Do not pass this # value if the access grant scope is a bucket or a bucket and a # prefix. # @return [String] # # @!attribute [rw] tags # The Amazon Web Services resource tags that you are adding to the # access grant. Each tag is a label consisting of a user-defined key # and value. Tags can help you manage, identify, organize, search for, # and filter resources. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantRequest AWS API Documentation # class CreateAccessGrantRequest < Struct.new( :account_id, :access_grants_location_id, :access_grants_location_configuration, :grantee, :permission, :application_arn, :s3_prefix_type, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you created the access grant. # @return [Time] # # @!attribute [rw] access_grant_id # The ID of the access grant. S3 Access Grants auto-generates this ID # when you create the access grant. # @return [String] # # @!attribute [rw] access_grant_arn # The Amazon Resource Name (ARN) of the access grant. # @return [String] # # @!attribute [rw] grantee # The user, group, or role to which you are granting access. You can # grant access to an IAM user or role. If you have added your # corporate directory to Amazon Web Services IAM Identity Center and # associated your Identity Center instance with your S3 Access Grants # instance, the grantee can also be a corporate directory user or # group. # @return [Types::Grantee] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_configuration # The configuration options of the grant location. The grant location # is the S3 path to the data to which you are granting access. # @return [Types::AccessGrantsLocationConfiguration] # # @!attribute [rw] permission # The type of access that you are granting to your S3 data, which can # be set to one of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] application_arn # The Amazon Resource Name (ARN) of an Amazon Web Services IAM # Identity Center application associated with your Identity Center # instance. If the grant includes an application ARN, the grantee can # only access the S3 data through this application. # @return [String] # # @!attribute [rw] grant_scope # The S3 path of the data to which you are granting access. It is the # result of appending the `Subprefix` to the location scope. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantResult AWS API Documentation # class CreateAccessGrantResult < Struct.new( :created_at, :access_grant_id, :access_grant_arn, :grantee, :access_grants_location_id, :access_grants_location_configuration, :permission, :application_arn, :grant_scope) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] identity_center_arn # If you would like to associate your S3 Access Grants instance with # an Amazon Web Services IAM Identity Center instance, use this field # to pass the Amazon Resource Name (ARN) of the Amazon Web Services # IAM Identity Center instance that you are associating with your S3 # Access Grants instance. An IAM Identity Center instance is your # corporate identity directory that you added to the IAM Identity # Center. You can use the [ListInstances][1] API operation to retrieve # a list of your Identity Center instances and their ARNs. # # # # [1]: https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html # @return [String] # # @!attribute [rw] tags # The Amazon Web Services resource tags that you are adding to the S3 # Access Grants instance. Each tag is a label consisting of a # user-defined key and value. Tags can help you manage, identify, # organize, search for, and filter resources. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsInstanceRequest AWS API Documentation # class CreateAccessGrantsInstanceRequest < Struct.new( :account_id, :identity_center_arn, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance. # @return [Time] # # @!attribute [rw] access_grants_instance_id # The ID of the S3 Access Grants instance. The ID is `default`. You # can have one S3 Access Grants instance per Region per account. # @return [String] # # @!attribute [rw] access_grants_instance_arn # The Amazon Resource Name (ARN) of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] identity_center_arn # If you associated your S3 Access Grants instance with an Amazon Web # Services IAM Identity Center instance, this field returns the Amazon # Resource Name (ARN) of the IAM Identity Center instance application; # a subresource of the original Identity Center instance passed in the # request. S3 Access Grants creates this Identity Center application # for this specific S3 Access Grants instance. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsInstanceResult AWS API Documentation # class CreateAccessGrantsInstanceResult < Struct.new( :created_at, :access_grants_instance_id, :access_grants_instance_arn, :identity_center_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] location_scope # The S3 path to the location that you are registering. The location # scope can be the default S3 location `s3://`, the S3 path to a # bucket `s3://`, or the S3 path to a bucket and prefix # `s3:///`. A prefix in S3 is a string of characters # at the beginning of an object key name used to organize the objects # that you store in your S3 buckets. For example, object key names # that start with the `engineering/` prefix or object key names that # start with the `marketing/campaigns/` prefix. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role for the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @!attribute [rw] tags # The Amazon Web Services resource tags that you are adding to the S3 # Access Grants location. Each tag is a label consisting of a # user-defined key and value. Tags can help you manage, identify, # organize, search for, and filter resources. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsLocationRequest AWS API Documentation # class CreateAccessGrantsLocationRequest < Struct.new( :account_id, :location_scope, :iam_role_arn, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you registered the location. # @return [Time] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_arn # The Amazon Resource Name (ARN) of the location you are registering. # @return [String] # # @!attribute [rw] location_scope # The S3 URI path to the location that you are registering. The # location scope can be the default S3 location `s3://`, the S3 path # to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 # is a string of characters at the beginning of an object key name # used to organize the objects that you store in your S3 buckets. For # example, object key names that start with the `engineering/` prefix # or object key names that start with the `marketing/campaigns/` # prefix. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role for the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessGrantsLocationResult AWS API Documentation # class CreateAccessGrantsLocationResult < Struct.new( :created_at, :access_grants_location_id, :access_grants_location_arn, :location_scope, :iam_role_arn) SENSITIVE = [] include Aws::Structure end # @!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] # # @!attribute [rw] alias # The alias of the Object Lambda Access Point. # @return [Types::ObjectLambdaAccessPointAlias] # # @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, :alias) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The Amazon Web Services account ID for the account that owns the # specified 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] # # @!attribute [rw] bucket_account_id # The Amazon Web Services account ID associated with the S3 bucket # associated with this access point. # @return [String] # # @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, :bucket_account_id) 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. # # # # @!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 # @!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 # @!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 # # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID that the Storage Lens group is # created from and associated with. # @return [String] # # @!attribute [rw] storage_lens_group # The Storage Lens group configuration. # @return [Types::StorageLensGroup] # # @!attribute [rw] tags # The Amazon Web Services resource tags that you're adding to your # Storage Lens group. This parameter is optional. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateStorageLensGroupRequest AWS API Documentation # class CreateStorageLensGroupRequest < Struct.new( :account_id, :storage_lens_group, :tags) SENSITIVE = [] include Aws::Structure end # The Amazon Web Services Security Token Service temporary credential # that S3 Access Grants vends to grantees and client applications. # # @!attribute [rw] access_key_id # The unique access key ID of the Amazon Web Services STS temporary # credential that S3 Access Grants vends to grantees and client # applications. # @return [String] # # @!attribute [rw] secret_access_key # The secret access key of the Amazon Web Services STS temporary # credential that S3 Access Grants vends to grantees and client # applications. # @return [String] # # @!attribute [rw] session_token # The Amazon Web Services STS temporary credential that S3 Access # Grants vends to grantees and client applications. # @return [String] # # @!attribute [rw] expiration # The expiration date and time of the temporary credential that S3 # Access Grants vends to grantees and client applications. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Credentials AWS API Documentation # class Credentials < Struct.new( :access_key_id, :secret_access_key, :session_token, :expiration) SENSITIVE = [:access_key_id, :secret_access_key, :session_token] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grant_id # The ID of the access grant. S3 Access Grants auto-generates this ID # when you create the access grant. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantRequest AWS API Documentation # class DeleteAccessGrantRequest < Struct.new( :account_id, :access_grant_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsInstanceRequest AWS API Documentation # class DeleteAccessGrantsInstanceRequest < Struct.new( :account_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsInstanceResourcePolicyRequest AWS API Documentation # class DeleteAccessGrantsInstanceResourcePolicyRequest < Struct.new( :account_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location that you are deregistering from # your S3 Access Grants instance. S3 Access Grants assigned this ID # when you registered the location. S3 Access Grants assigns the ID # `default` to the default location `s3://` and assigns an # auto-generated ID to other locations that you register. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessGrantsLocationRequest AWS API Documentation # class DeleteAccessGrantsLocationRequest < Struct.new( :account_id, :access_grants_location_id) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services 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 # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID of the Outposts bucket to delete # the replication configuration for. # @return [String] # # @!attribute [rw] bucket # Specifies the S3 on Outposts bucket to delete the replication # configuration for. # # 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/DeleteBucketReplicationRequest AWS API Documentation # class DeleteBucketReplicationRequest < Struct.new( :account_id, :bucket) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # Specifies whether S3 on Outposts replicates delete markers. If you # specify a `Filter` element in your replication configuration, you must # also include a `DeleteMarkerReplication` element. If your `Filter` # includes a `Tag` element, the `DeleteMarkerReplication` element's # `Status` child element must be set to `Disabled`, because S3 on # Outposts does not support replicating delete markers for tag-based # rules. # # For more information about delete marker replication, see [How delete # operations affect replication][1] in the *Amazon S3 User Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated # # @!attribute [rw] status # Indicates whether to replicate delete markers. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMarkerReplication AWS API Documentation # class DeleteMarkerReplication < Struct.new( :status) SENSITIVE = [] include Aws::Structure 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 # # @!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 # @!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 # @!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 # @!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 # @!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 # @!attribute [rw] name # The name of the Storage Lens group that you're trying to delete. # @return [String] # # @!attribute [rw] account_id # The Amazon Web Services account ID used to create the Storage Lens # group that you're trying to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensGroupRequest AWS API Documentation # class DeleteStorageLensGroupRequest < Struct.new( :name, :account_id) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # Specifies information about the replication destination bucket and its # settings for an S3 on Outposts replication configuration. # # @!attribute [rw] account # The destination bucket owner's account ID. # @return [String] # # @!attribute [rw] bucket # The Amazon Resource Name (ARN) of the access point for the # destination bucket where you want S3 on Outposts to store the # replication results. # @return [String] # # @!attribute [rw] replication_time # A container that specifies S3 Replication Time Control (S3 RTC) # settings, including whether S3 RTC is enabled and the time when all # objects and operations on objects must be replicated. Must be # specified together with a `Metrics` block. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::ReplicationTime] # # @!attribute [rw] access_control_translation # Specify this property only in a cross-account scenario (where the # source and destination bucket owners are not the same), and you want # to change replica ownership to the Amazon Web Services account that # owns the destination bucket. If this property is not specified in # the replication configuration, the replicas are owned by same Amazon # Web Services account that owns the source object. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::AccessControlTranslation] # # @!attribute [rw] encryption_configuration # A container that provides information about encryption. If # `SourceSelectionCriteria` is specified, you must specify this # element. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::EncryptionConfiguration] # # @!attribute [rw] metrics # A container that specifies replication metrics-related settings. # @return [Types::Metrics] # # @!attribute [rw] storage_class # The storage class to use when replicating objects. All objects # stored on S3 on Outposts are stored in the `OUTPOSTS` storage class. # S3 on Outposts uses the `OUTPOSTS` storage class to create the # object replicas. # # Values other than `OUTPOSTS` are not supported by Amazon S3 on # Outposts. # # # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Destination AWS API Documentation # class Destination < Struct.new( :account, :bucket, :replication_time, :access_control_translation, :encryption_configuration, :metrics, :storage_class) 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 # # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DissociateAccessGrantsIdentityCenterRequest AWS API Documentation # class DissociateAccessGrantsIdentityCenterRequest < Struct.new( :account_id) SENSITIVE = [] include Aws::Structure end # Specifies encryption-related information for an Amazon S3 bucket that # is a destination for replicated objects. # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] replica_kms_key_id # Specifies the ID of the customer managed KMS key that's stored in # Key Management Service (KMS) for the destination bucket. This ID is # either the Amazon Resource Name (ARN) for the KMS key or the alias # ARN for the KMS key. Amazon S3 uses this KMS key to encrypt replica # objects. Amazon S3 supports only symmetric encryption KMS keys. For # more information, see [Symmetric encryption KMS keys][1] in the # *Amazon Web Services Key Management Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/EncryptionConfiguration AWS API Documentation # class EncryptionConfiguration < Struct.new( :replica_kms_key_id) 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. # # @!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 # An optional configuration to replicate existing source bucket objects. # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] status # Specifies whether Amazon S3 replicates existing source bucket # objects. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ExistingObjectReplication AWS API Documentation # class ExistingObjectReplication < Struct.new( :status) SENSITIVE = [] include Aws::Structure end # The encryption configuration to use when storing the generated # manifest. # # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grant_id # The ID of the access grant. S3 Access Grants auto-generates this ID # when you create the access grant. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantRequest AWS API Documentation # class GetAccessGrantRequest < Struct.new( :account_id, :access_grant_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you created the access grant. # @return [Time] # # @!attribute [rw] access_grant_id # The ID of the access grant. S3 Access Grants auto-generates this ID # when you create the access grant. # @return [String] # # @!attribute [rw] access_grant_arn # The Amazon Resource Name (ARN) of the access grant. # @return [String] # # @!attribute [rw] grantee # The user, group, or role to which you are granting access. You can # grant access to an IAM user or role. If you have added a corporate # directory to Amazon Web Services IAM Identity Center and associated # this Identity Center instance with the S3 Access Grants instance, # the grantee can also be a corporate directory user or group. # @return [Types::Grantee] # # @!attribute [rw] permission # The type of permission that was granted in the access grant. Can be # one of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_configuration # The configuration options of the grant location. The grant location # is the S3 path to the data to which you are granting access. # @return [Types::AccessGrantsLocationConfiguration] # # @!attribute [rw] grant_scope # The S3 path of the data to which you are granting access. It is the # result of appending the `Subprefix` to the location scope. # @return [String] # # @!attribute [rw] application_arn # The Amazon Resource Name (ARN) of an Amazon Web Services IAM # Identity Center application associated with your Identity Center # instance. If the grant includes an application ARN, the grantee can # only access the S3 data through this application. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantResult AWS API Documentation # class GetAccessGrantResult < Struct.new( :created_at, :access_grant_id, :access_grant_arn, :grantee, :permission, :access_grants_location_id, :access_grants_location_configuration, :grant_scope, :application_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] s3_prefix # The S3 prefix of the access grants that you would like to retrieve. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceForPrefixRequest AWS API Documentation # class GetAccessGrantsInstanceForPrefixRequest < Struct.new( :account_id, :s3_prefix) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] access_grants_instance_arn # The Amazon Resource Name (ARN) of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] access_grants_instance_id # The ID of the S3 Access Grants instance. The ID is `default`. You # can have one S3 Access Grants instance per Region per account. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceForPrefixResult AWS API Documentation # class GetAccessGrantsInstanceForPrefixResult < Struct.new( :access_grants_instance_arn, :access_grants_instance_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceRequest AWS API Documentation # class GetAccessGrantsInstanceRequest < Struct.new( :account_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResourcePolicyRequest AWS API Documentation # class GetAccessGrantsInstanceResourcePolicyRequest < Struct.new( :account_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] policy # The resource policy of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] organization # The Organization of the resource policy of the S3 Access Grants # instance. # @return [String] # # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance # resource policy. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResourcePolicyResult AWS API Documentation # class GetAccessGrantsInstanceResourcePolicyResult < Struct.new( :policy, :organization, :created_at) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] access_grants_instance_arn # The Amazon Resource Name (ARN) of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] access_grants_instance_id # The ID of the S3 Access Grants instance. The ID is `default`. You # can have one S3 Access Grants instance per Region per account. # @return [String] # # @!attribute [rw] identity_center_arn # If you associated your S3 Access Grants instance with an Amazon Web # Services IAM Identity Center instance, this field returns the Amazon # Resource Name (ARN) of the Amazon Web Services IAM Identity Center # instance application; a subresource of the original Identity Center # instance. S3 Access Grants creates this Identity Center application # for the specific S3 Access Grants instance. # @return [String] # # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsInstanceResult AWS API Documentation # class GetAccessGrantsInstanceResult < Struct.new( :access_grants_instance_arn, :access_grants_instance_id, :identity_center_arn, :created_at) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location that you are retrieving. S3 Access # Grants assigns this ID when you register the location. S3 Access # Grants assigns the ID `default` to the default location `s3://` and # assigns an auto-generated ID to other locations that you register. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsLocationRequest AWS API Documentation # class GetAccessGrantsLocationRequest < Struct.new( :account_id, :access_grants_location_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you registered the location. # @return [Time] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_arn # The Amazon Resource Name (ARN) of the registered location. # @return [String] # # @!attribute [rw] location_scope # The S3 URI path to the registered location. The location scope can # be the default S3 location `s3://`, the S3 path to a bucket, or the # S3 path to a bucket and prefix. A prefix in S3 is a string of # characters at the beginning of an object key name used to organize # the objects that you store in your S3 buckets. For example, object # key names that start with the `engineering/` prefix or object key # names that start with the `marketing/campaigns/` prefix. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role for the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessGrantsLocationResult AWS API Documentation # class GetAccessGrantsLocationResult < Struct.new( :created_at, :access_grants_location_id, :access_grants_location_arn, :location_scope, :iam_role_arn) SENSITIVE = [] include Aws::Structure end # @!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 # @!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] # # @!attribute [rw] alias # The alias of the Object Lambda Access Point. # @return [Types::ObjectLambdaAccessPointAlias] # # @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, :alias) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services 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] # # @!attribute [rw] bucket_account_id # The Amazon Web Services account ID associated with the S3 bucket # associated with this access point. # @return [String] # # @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, :bucket_account_id) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID of the Outposts bucket. # @return [String] # # @!attribute [rw] bucket # Specifies the bucket to get the replication information for. # # 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/GetBucketReplicationRequest AWS API Documentation # class GetBucketReplicationRequest < Struct.new( :account_id, :bucket) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] replication_configuration # A container for one or more replication rules. A replication # configuration must have at least one rule and you can add up to 100 # rules. The maximum size of a replication configuration is 128 KB. # @return [Types::ReplicationConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketReplicationResult AWS API Documentation # class GetBucketReplicationResult < Struct.new( :replication_configuration) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] target # The S3 URI path of the data to which you are requesting temporary # access credentials. If the requesting account has an access grant # for this data, S3 Access Grants vends temporary access credentials # in the response. # @return [String] # # @!attribute [rw] permission # The type of permission granted to your S3 data, which can be set to # one of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] duration_seconds # The session duration, in seconds, of the temporary access credential # that S3 Access Grants vends to the grantee or client application. # The default value is 1 hour, but the grantee can specify a range # from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the # grantee requests a value higher than this maximum, the operation # fails. # @return [Integer] # # @!attribute [rw] privilege # The scope of the temporary access credential that S3 Access Grants # vends to the grantee or client application. # # * `Default` – The scope of the returned temporary access token is # the scope of the grant that is closest to the target scope. # # * `Minimal` – The scope of the returned temporary access token is # the same as the requested target scope as long as the requested # scope is the same as or a subset of the grant scope. # @return [String] # # @!attribute [rw] target_type # The type of `Target`. The only possible value is `Object`. Pass this # value if the target data that you would like to access is a path to # an object. Do not pass this value if the target data is a bucket or # a bucket and a prefix. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetDataAccessRequest AWS API Documentation # class GetDataAccessRequest < Struct.new( :account_id, :target, :permission, :duration_seconds, :privilege, :target_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] credentials # The temporary credential token that S3 Access Grants vends. # @return [Types::Credentials] # # @!attribute [rw] matched_grant_target # The S3 URI path of the data to which you are being granted temporary # access credentials. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetDataAccessResult AWS API Documentation # class GetDataAccessResult < Struct.new( :credentials, :matched_grant_target) SENSITIVE = [:credentials] include Aws::Structure end # @!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 # @!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 # @!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 # @!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] account_id # The Amazon Web Services account ID for the owner of the Multi-Region # Access Point. # @return [String] # # @!attribute [rw] mrap # The Multi-Region Access Point ARN. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointRoutesRequest AWS API Documentation # class GetMultiRegionAccessPointRoutesRequest < Struct.new( :account_id, :mrap) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] mrap # The Multi-Region Access Point ARN. # @return [String] # # @!attribute [rw] routes # The different routes that make up the route configuration. Active # routes return a value of `100`, and passive routes return a value of # `0`. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointRoutesResult AWS API Documentation # class GetMultiRegionAccessPointRoutesResult < Struct.new( :mrap, :routes) 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 # @!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 # @!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 # @!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] name # The name of the Storage Lens group that you're trying to retrieve # the configuration details for. # @return [String] # # @!attribute [rw] account_id # The Amazon Web Services account ID associated with the Storage Lens # group that you're trying to retrieve the details for. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensGroupRequest AWS API Documentation # class GetStorageLensGroupRequest < Struct.new( :name, :account_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] storage_lens_group # The name of the Storage Lens group that you're trying to retrieve # the configuration details for. # @return [Types::StorageLensGroup] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensGroupResult AWS API Documentation # class GetStorageLensGroupResult < Struct.new( :storage_lens_group) SENSITIVE = [] include Aws::Structure end # The user, group, or role to which you are granting access. You can # grant access to an IAM user or role. If you have added your corporate # directory to Amazon Web Services IAM Identity Center and associated # your Identity Center instance with your S3 Access Grants instance, the # grantee can also be a corporate directory user or group. # # @!attribute [rw] grantee_type # The type of the grantee to which access has been granted. It can be # one of the following values: # # * `IAM` - An IAM user or role. # # * `DIRECTORY_USER` - Your corporate directory user. You can use this # option if you have added your corporate identity directory to IAM # Identity Center and associated the IAM Identity Center instance # with your S3 Access Grants instance. # # * `DIRECTORY_GROUP` - Your corporate directory group. You can use # this option if you have added your corporate identity directory to # IAM Identity Center and associated the IAM Identity Center # instance with your S3 Access Grants instance. # @return [String] # # @!attribute [rw] grantee_identifier # The unique identifier of the `Grantee`. If the grantee type is # `IAM`, the identifier is the IAM Amazon Resource Name (ARN) of the # user or role. If the grantee type is a directory user or group, the # identifier is 128-bit universally unique identifier (UUID) in the # format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. You can obtain this # UUID from your Amazon Web Services IAM Identity Center instance. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Grantee AWS API Documentation # class Grantee < Struct.new( :grantee_type, :grantee_identifier) 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. # # @!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. # # @!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. # # @!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 includes only source bucket # objects that were created after this time. # @return [Time] # # @!attribute [rw] created_before # If provided, the generated manifest includes only source bucket # objects that were created before this time. # @return [Time] # # @!attribute [rw] object_replication_statuses # If provided, the generated manifest includes only source bucket # objects that have one of the specified Replication statuses. # @return [Array] # # @!attribute [rw] key_name_constraint # If provided, the generated manifest includes only source bucket # objects whose object keys match the string constraints specified for # `MatchAnyPrefix`, `MatchAnySuffix`, and `MatchAnySubstring`. # @return [Types::KeyNameConstraint] # # @!attribute [rw] object_size_greater_than_bytes # If provided, the generated manifest includes only source bucket # objects whose file size is greater than the specified number of # bytes. # @return [Integer] # # @!attribute [rw] object_size_less_than_bytes # If provided, the generated manifest includes only source bucket # objects whose file size is less than the specified number of bytes. # @return [Integer] # # @!attribute [rw] match_any_storage_class # If provided, the generated manifest includes only source bucket # objects that are stored with the specified storage class. # @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, :key_name_constraint, :object_size_greater_than_bytes, :object_size_less_than_bytes, :match_any_storage_class) SENSITIVE = [] include Aws::Structure end # Contains the information required to locate a manifest object. # # @!attribute [rw] object_arn # The Amazon Resource Name (ARN) for a manifest object. # # When you're using XML requests, you must replace special characters # (such as carriage returns) in object keys with their equivalent XML # entity codes. For more information, see [ XML-related object key # constraints][1] in the *Amazon S3 User Guide*. # # # # [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. # # @!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 # # @!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 to every object to # the underlying `PutObjectLegalHold` API operation. 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 operation. 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. # # @!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 # If provided, the generated manifest includes only source bucket # objects whose object keys match the string constraints specified for # `MatchAnyPrefix`, `MatchAnySuffix`, and `MatchAnySubstring`. # # @!attribute [rw] match_any_prefix # If provided, the generated manifest includes objects where the # specified string appears at the start of the object key string. # @return [Array] # # @!attribute [rw] match_any_suffix # If provided, the generated manifest includes objects where the # specified string appears at the end of the object key string. # @return [Array] # # @!attribute [rw] match_any_substring # If provided, the generated manifest includes objects where the # specified string appears anywhere within the object key string. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/KeyNameConstraint AWS API Documentation # class KeyNameConstraint < Struct.new( :match_any_prefix, :match_any_suffix, :match_any_substring) SENSITIVE = [] include Aws::Structure end # Contains the configuration parameters for a `Lambda Invoke` operation. # # @!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. # # @!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. # # @!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. # # @!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 Configuration][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. # # @!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. # # @!attribute [rw] prefix # Prefix identifying one or more objects to which the rule applies. # # When you're using XML requests, you must replace special characters # (such as carriage returns) in object keys with their equivalent XML # entity codes. For more information, see [ XML-related object key # constraints][1] in the *Amazon S3 User Guide*. # # # # [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 # Information about the access grant. # # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance. # @return [Time] # # @!attribute [rw] access_grant_id # The ID of the access grant. S3 Access Grants auto-generates this ID # when you create the access grant. # @return [String] # # @!attribute [rw] access_grant_arn # The Amazon Resource Name (ARN) of the access grant. # @return [String] # # @!attribute [rw] grantee # The user, group, or role to which you are granting access. You can # grant access to an IAM user or role. If you have added your # corporate directory to Amazon Web Services IAM Identity Center and # associated your Identity Center instance with your S3 Access Grants # instance, the grantee can also be a corporate directory user or # group. # @return [Types::Grantee] # # @!attribute [rw] permission # The type of access granted to your S3 data, which can be set to one # of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_configuration # The configuration options of the grant location. The grant location # is the S3 path to the data to which you are granting access. # @return [Types::AccessGrantsLocationConfiguration] # # @!attribute [rw] grant_scope # The S3 path of the data to which you are granting access. It is the # result of appending the `Subprefix` to the location scope. # @return [String] # # @!attribute [rw] application_arn # The Amazon Resource Name (ARN) of an Amazon Web Services IAM # Identity Center application associated with your Identity Center # instance. If the grant includes an application ARN, the grantee can # only access the S3 data through this application. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantEntry AWS API Documentation # class ListAccessGrantEntry < Struct.new( :created_at, :access_grant_id, :access_grant_arn, :grantee, :permission, :access_grants_location_id, :access_grants_location_configuration, :grant_scope, :application_arn) SENSITIVE = [] include Aws::Structure end # Information about the S3 Access Grants instance. # # @!attribute [rw] access_grants_instance_id # The ID of the S3 Access Grants instance. The ID is `default`. You # can have one S3 Access Grants instance per Region per account. # @return [String] # # @!attribute [rw] access_grants_instance_arn # The Amazon Resource Name (ARN) of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance. # @return [Time] # # @!attribute [rw] identity_center_arn # If you associated your S3 Access Grants instance with an Amazon Web # Services IAM Identity Center instance, this field returns the Amazon # Resource Name (ARN) of the IAM Identity Center instance application; # a subresource of the original Identity Center instance. S3 Access # Grants creates this Identity Center application for the specific S3 # Access Grants instance. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstanceEntry AWS API Documentation # class ListAccessGrantsInstanceEntry < Struct.new( :access_grants_instance_id, :access_grants_instance_arn, :created_at, :identity_center_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants Instances` request in # order to retrieve the next page of results. # @return [String] # # @!attribute [rw] max_results # The maximum number of access grants that you would like returned in # the `List Access Grants` response. If the results include the # pagination token `NextToken`, make another call using the # `NextToken` to determine if there are more results. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesRequest AWS API Documentation # class ListAccessGrantsInstancesRequest < Struct.new( :account_id, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants Instances` request in # order to retrieve the next page of results. # @return [String] # # @!attribute [rw] access_grants_instances_list # A container for a list of S3 Access Grants instances. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsInstancesResult AWS API Documentation # class ListAccessGrantsInstancesResult < Struct.new( :next_token, :access_grants_instances_list) SENSITIVE = [] include Aws::Structure end # A container for information about the registered location. # # @!attribute [rw] created_at # The date and time when you registered the location. # @return [Time] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigns this ID when you register the location. S3 # Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_arn # The Amazon Resource Name (ARN) of the registered location. # @return [String] # # @!attribute [rw] location_scope # The S3 path to the location that you are registering. The location # scope can be the default S3 location `s3://`, the S3 path to a # bucket `s3://`, or the S3 path to a bucket and prefix # `s3:///`. A prefix in S3 is a string of characters # at the beginning of an object key name used to organize the objects # that you store in your S3 buckets. For example, object key names # that start with the `engineering/` prefix or object key names that # start with the `marketing/campaigns/` prefix. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role for the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsEntry AWS API Documentation # class ListAccessGrantsLocationsEntry < Struct.new( :created_at, :access_grants_location_id, :access_grants_location_arn, :location_scope, :iam_role_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants Locations` request in # order to retrieve the next page of results. # @return [String] # # @!attribute [rw] max_results # The maximum number of access grants that you would like returned in # the `List Access Grants` response. If the results include the # pagination token `NextToken`, make another call using the # `NextToken` to determine if there are more results. # @return [Integer] # # @!attribute [rw] location_scope # The S3 path to the location that you are registering. The location # scope can be the default S3 location `s3://`, the S3 path to a # bucket `s3://`, or the S3 path to a bucket and prefix # `s3:///`. A prefix in S3 is a string of characters # at the beginning of an object key name used to organize the objects # that you store in your S3 buckets. For example, object key names # that start with the `engineering/` prefix or object key names that # start with the `marketing/campaigns/` prefix. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsRequest AWS API Documentation # class ListAccessGrantsLocationsRequest < Struct.new( :account_id, :next_token, :max_results, :location_scope) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants Locations` request in # order to retrieve the next page of results. # @return [String] # # @!attribute [rw] access_grants_locations_list # A container for a list of registered locations in an S3 Access # Grants instance. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsLocationsResult AWS API Documentation # class ListAccessGrantsLocationsResult < Struct.new( :next_token, :access_grants_locations_list) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants` request in order to # retrieve the next page of results. # @return [String] # # @!attribute [rw] max_results # The maximum number of access grants that you would like returned in # the `List Access Grants` response. If the results include the # pagination token `NextToken`, make another call using the # `NextToken` to determine if there are more results. # @return [Integer] # # @!attribute [rw] grantee_type # The type of the grantee to which access has been granted. It can be # one of the following values: # # * `IAM` - An IAM user or role. # # * `DIRECTORY_USER` - Your corporate directory user. You can use this # option if you have added your corporate identity directory to IAM # Identity Center and associated the IAM Identity Center instance # with your S3 Access Grants instance. # # * `DIRECTORY_GROUP` - Your corporate directory group. You can use # this option if you have added your corporate identity directory to # IAM Identity Center and associated the IAM Identity Center # instance with your S3 Access Grants instance. # @return [String] # # @!attribute [rw] grantee_identifier # The unique identifer of the `Grantee`. If the grantee type is `IAM`, # the identifier is the IAM Amazon Resource Name (ARN) of the user or # role. If the grantee type is a directory user or group, the # identifier is 128-bit universally unique identifier (UUID) in the # format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`. You can obtain this # UUID from your Amazon Web Services IAM Identity Center instance. # @return [String] # # @!attribute [rw] permission # The type of permission granted to your S3 data, which can be set to # one of the following values: # # * `READ` – Grant read-only access to the S3 data. # # * `WRITE` – Grant write-only access to the S3 data. # # * `READWRITE` – Grant both read and write access to the S3 data. # @return [String] # # @!attribute [rw] grant_scope # The S3 path of the data to which you are granting access. It is the # result of appending the `Subprefix` to the location scope. # @return [String] # # @!attribute [rw] application_arn # The Amazon Resource Name (ARN) of an Amazon Web Services IAM # Identity Center application associated with your Identity Center # instance. If the grant includes an application ARN, the grantee can # only access the S3 data through this application. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsRequest AWS API Documentation # class ListAccessGrantsRequest < Struct.new( :account_id, :next_token, :max_results, :grantee_type, :grantee_identifier, :permission, :grant_scope, :application_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] next_token # A pagination token to request the next page of results. Pass this # value into a subsequent `List Access Grants` request in order to # retrieve the next page of results. # @return [String] # # @!attribute [rw] access_grants_list # A container for a list of grants in an S3 Access Grants instance. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessGrantsResult AWS API Documentation # class ListAccessGrantsResult < Struct.new( :next_token, :access_grants_list) SENSITIVE = [] include Aws::Structure end # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID for the account that owns the # specified access points. # @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 # @!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 # @!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 # @!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 # @!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 # Each entry contains a Storage Lens group that exists in the specified # home Region. # # @!attribute [rw] name # Contains the name of the Storage Lens group that exists in the # specified home Region. # @return [String] # # @!attribute [rw] storage_lens_group_arn # Contains the Amazon Resource Name (ARN) of the Storage Lens group. # This property is read-only. # @return [String] # # @!attribute [rw] home_region # Contains the Amazon Web Services Region where the Storage Lens group # was created. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensGroupEntry AWS API Documentation # class ListStorageLensGroupEntry < Struct.new( :name, :storage_lens_group_arn, :home_region) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The Amazon Web Services account ID that owns the Storage Lens # groups. # @return [String] # # @!attribute [rw] next_token # The token for the next set of results, or `null` if there are no # more results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensGroupsRequest AWS API Documentation # class ListStorageLensGroupsRequest < Struct.new( :account_id, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] next_token # If `NextToken` is returned, there are more Storage Lens groups # results available. The value of `NextToken` is a unique pagination # token for each page. Make the call again using the returned token to # retrieve the next page. Keep all other arguments unchanged. Each # pagination token expires after 24 hours. # @return [String] # # @!attribute [rw] storage_lens_group_list # The list of Storage Lens groups that exist in the specified home # Region. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensGroupsResult AWS API Documentation # class ListStorageLensGroupsResult < Struct.new( :next_token, :storage_lens_group_list) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The Amazon Web Services account ID of the resource owner. # @return [String] # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the S3 resource that you want to # list the tags for. The tagged resource can be an S3 Storage Lens # group or S3 Access Grants instance, registered location, or grant. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListTagsForResourceRequest AWS API Documentation # class ListTagsForResourceRequest < Struct.new( :account_id, :resource_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] tags # The Amazon Web Services resource tags that are associated with the # resource. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListTagsForResourceResult AWS API Documentation # class ListTagsForResourceResult < Struct.new( :tags) SENSITIVE = [] include Aws::Structure end # A filter condition that specifies the object age range of included # objects in days. Only integers are supported. # # @!attribute [rw] days_greater_than # Specifies the maximum object age in days. Must be a positive whole # number, greater than the minimum object age and less than or equal # to 2,147,483,647. # @return [Integer] # # @!attribute [rw] days_less_than # Specifies the minimum object age in days. The value must be a # positive whole number, greater than 0 and less than or equal to # 2,147,483,647. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MatchObjectAge AWS API Documentation # class MatchObjectAge < Struct.new( :days_greater_than, :days_less_than) SENSITIVE = [] include Aws::Structure end # A filter condition that specifies the object size range of included # objects in bytes. Only integers are supported. # # @!attribute [rw] bytes_greater_than # Specifies the minimum object size in Bytes. The value must be a # positive number, greater than 0 and less than 5 TB. # @return [Integer] # # @!attribute [rw] bytes_less_than # Specifies the maximum object size in Bytes. The value must be a # positive number, greater than the minimum object size and less than # 5 TB. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MatchObjectSize AWS API Documentation # class MatchObjectSize < Struct.new( :bytes_greater_than, :bytes_less_than) SENSITIVE = [] include Aws::Structure end # A container that specifies replication metrics-related settings. # # @!attribute [rw] status # Specifies whether replication metrics are enabled. # @return [String] # # @!attribute [rw] event_threshold # A container that specifies the time threshold for emitting the # `s3:Replication:OperationMissedThreshold` event. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::ReplicationTimeValue] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Metrics AWS API Documentation # class Metrics < Struct.new( :status, :event_threshold) 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 # A structure for a Multi-Region Access Point that indicates where # Amazon S3 traffic can be routed. Routes can be either active or # passive. Active routes can process Amazon S3 requests through the # Multi-Region Access Point, but passive routes are not eligible to # process Amazon S3 requests. # # Each route contains the Amazon S3 bucket name and the Amazon Web # Services Region that the bucket is located in. The route also includes # the `TrafficDialPercentage` value, which shows whether the bucket and # Region are active (indicated by a value of `100`) or passive # (indicated by a value of `0`). # # @!attribute [rw] bucket # The name of the Amazon S3 bucket for which you'll submit a routing # configuration change. Either the `Bucket` or the `Region` value must # be provided. If both are provided, the bucket must be in the # specified Region. # @return [String] # # @!attribute [rw] region # The Amazon Web Services Region to which you'll be submitting a # routing configuration change. Either the `Bucket` or the `Region` # value must be provided. If both are provided, the bucket must be in # the specified Region. # @return [String] # # @!attribute [rw] traffic_dial_percentage # The traffic state for the specified bucket or Amazon Web Services # Region. # # A value of `0` indicates a passive state, which means that no new # traffic will be routed to the Region. # # A value of `100` indicates an active state, which means that traffic # will be routed to the specified Region. # # When the routing configuration for a Region is changed from active # to passive, any in-progress operations (uploads, copies, deletes, # and so on) to the formerly active Region will continue to run to # until a final success or failure status is reached. # # If all Regions in the routing configuration are designated as # passive, you'll receive an `InvalidRequest` error. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/MultiRegionAccessPointRoute AWS API Documentation # class MultiRegionAccessPointRoute < Struct.new( :bucket, :region, :traffic_dial_percentage) 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. # # @!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. # # @!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] # # @!attribute [rw] alias # The alias of the Object Lambda Access Point. # @return [Types::ObjectLambdaAccessPointAlias] # # @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, :alias) SENSITIVE = [] include Aws::Structure end # The alias of an Object Lambda Access Point. For more information, see # [How to use a bucket-style alias for your S3 bucket Object Lambda # Access Point][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-use.html#ol-access-points-alias # # @!attribute [rw] value # The alias value of the Object Lambda Access Point. # @return [String] # # @!attribute [rw] status # The status of the Object Lambda Access Point alias. If the status is # `PROVISIONING`, the Object Lambda Access Point is provisioning the # alias and the alias is not ready for use yet. If the status is # `READY`, the Object Lambda Access Point alias is successfully # provisioned and ready for use. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaAccessPointAlias AWS API Documentation # class ObjectLambdaAccessPointAlias < Struct.new( :value, :status) SENSITIVE = [] include Aws::Structure end # A configuration used when creating an Object Lambda Access Point. # # @!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. # # @!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. # # @!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. # # @!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 # # @!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 # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] policy # The resource policy of the S3 Access Grants instance that you are # updating. # @return [String] # # @!attribute [rw] organization # The Organization of the resource policy of the S3 Access Grants # instance. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyRequest AWS API Documentation # class PutAccessGrantsInstanceResourcePolicyRequest < Struct.new( :account_id, :policy, :organization) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] policy # The updated resource policy of the S3 Access Grants instance. # @return [String] # # @!attribute [rw] organization # The Organization of the resource policy of the S3 Access Grants # instance. # @return [String] # # @!attribute [rw] created_at # The date and time when you created the S3 Access Grants instance # resource policy. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessGrantsInstanceResourcePolicyResult AWS API Documentation # class PutAccessGrantsInstanceResourcePolicyResult < Struct.new( :policy, :organization, :created_at) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # @!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 # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID of the Outposts bucket. # @return [String] # # @!attribute [rw] bucket # Specifies the S3 on Outposts bucket to set the configuration for. # # 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] replication_configuration # @return [Types::ReplicationConfiguration] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketReplicationRequest AWS API Documentation # class PutBucketReplicationRequest < Struct.new( :account_id, :bucket, :replication_configuration) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!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 # # @!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 # @!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 # @!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 # @!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 # @!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. # # @!attribute [rw] bucket # The name of the associated bucket for the Region. # @return [String] # # @!attribute [rw] bucket_account_id # The Amazon Web Services account ID that owns the Amazon S3 bucket # that's associated with this Multi-Region Access Point. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Region AWS API Documentation # class Region < Struct.new( :bucket, :bucket_account_id) 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] # # @!attribute [rw] bucket_account_id # The Amazon Web Services account ID that owns the Amazon S3 bucket # that's associated with this Multi-Region Access Point. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/RegionReport AWS API Documentation # class RegionReport < Struct.new( :bucket, :region, :bucket_account_id) 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 # A filter that you can use to specify whether replica modification sync # is enabled. S3 on Outposts replica modification sync can help you keep # object metadata synchronized between replicas and source objects. By # default, S3 on Outposts replicates metadata from the source objects to # the replicas only. When replica modification sync is enabled, S3 on # Outposts replicates metadata changes made to the replica copies back # to the source object, making the replication bidirectional. # # To replicate object metadata modifications on replicas, you can # specify this element and set the `Status` of this element to # `Enabled`. # # You must enable replica modification sync on the source and # destination buckets to replicate replica metadata changes between the # source and the replicas. # # # # @!attribute [rw] status # Specifies whether S3 on Outposts replicates modifications to object # metadata on replicas. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicaModifications AWS API Documentation # class ReplicaModifications < Struct.new( :status) SENSITIVE = [] include Aws::Structure end # A container for one or more replication rules. A replication # configuration must have at least one rule and you can add up to 100 # rules. The maximum size of a replication configuration is 128 KB. # # @!attribute [rw] role # The Amazon Resource Name (ARN) of the Identity and Access Management # (IAM) role that S3 on Outposts assumes when replicating objects. For # information about S3 replication on Outposts configuration, see # [Setting up replication][1] in the *Amazon S3 User Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-how-setup.html # @return [String] # # @!attribute [rw] rules # A container for one or more replication rules. A replication # configuration must have at least one rule and can contain an array # of 100 rules at the most. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationConfiguration AWS API Documentation # class ReplicationConfiguration < Struct.new( :role, :rules) SENSITIVE = [] include Aws::Structure end # Specifies which S3 on Outposts objects to replicate and where to store # the replicas. # # @!attribute [rw] id # A unique identifier for the rule. The maximum value is 255 # characters. # @return [String] # # @!attribute [rw] priority # The priority indicates which rule has precedence whenever two or # more replication rules conflict. S3 on Outposts attempts to # replicate objects according to all replication rules. However, if # there are two or more rules with the same destination Outposts # bucket, then objects will be replicated according to the rule with # the highest priority. The higher the number, the higher the # priority. # # For more information, see [Creating replication rules on # Outposts][1] in the *Amazon S3 User Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-between-outposts.html # @return [Integer] # # @!attribute [rw] prefix # An object key name prefix that identifies the object or objects to # which the rule applies. The maximum prefix length is 1,024 # characters. To include all objects in an Outposts bucket, specify an # empty string. # # When you're using XML requests, you must replace special characters # (such as carriage returns) in object keys with their equivalent XML # entity codes. For more information, see [ XML-related object key # constraints][1] in the *Amazon S3 User Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints # @return [String] # # @!attribute [rw] filter # A filter that identifies the subset of objects to which the # replication rule applies. A `Filter` element must specify exactly # one `Prefix`, `Tag`, or `And` child element. # @return [Types::ReplicationRuleFilter] # # @!attribute [rw] status # Specifies whether the rule is enabled. # @return [String] # # @!attribute [rw] source_selection_criteria # A container that describes additional filters for identifying the # source Outposts objects that you want to replicate. You can choose # to enable or disable the replication of these objects. # @return [Types::SourceSelectionCriteria] # # @!attribute [rw] existing_object_replication # An optional configuration to replicate existing source bucket # objects. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::ExistingObjectReplication] # # @!attribute [rw] destination # A container for information about the replication destination and # its configurations. # @return [Types::Destination] # # @!attribute [rw] delete_marker_replication # Specifies whether S3 on Outposts replicates delete markers. If you # specify a `Filter` element in your replication configuration, you # must also include a `DeleteMarkerReplication` element. If your # `Filter` includes a `Tag` element, the `DeleteMarkerReplication` # element's `Status` child element must be set to `Disabled`, because # S3 on Outposts doesn't support replicating delete markers for # tag-based rules. # # For more information about delete marker replication, see [How # delete operations affect replication][1] in the *Amazon S3 User # Guide*. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated # @return [Types::DeleteMarkerReplication] # # @!attribute [rw] bucket # The Amazon Resource Name (ARN) of the access point for the source # Outposts bucket that you want S3 on Outposts to replicate the # objects from. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationRule AWS API Documentation # class ReplicationRule < Struct.new( :id, :priority, :prefix, :filter, :status, :source_selection_criteria, :existing_object_replication, :destination, :delete_marker_replication, :bucket) SENSITIVE = [] include Aws::Structure end # A container for specifying rule filters. The filters determine the # subset of objects to which the rule applies. This element is required # only if you specify more than one filter. # # For example: # # * If you specify both a `Prefix` and a `Tag` filter, wrap these # filters in an `And` element. # # * If you specify a filter based on multiple tags, wrap the `Tag` # elements in an `And` element. # # @!attribute [rw] prefix # An object key name prefix that identifies the subset of objects that # the rule applies to. # @return [String] # # @!attribute [rw] tags # An array of tags that contain key and value pairs. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationRuleAndOperator AWS API Documentation # class ReplicationRuleAndOperator < Struct.new( :prefix, :tags) SENSITIVE = [] include Aws::Structure end # A filter that identifies the subset of objects to which the # replication rule applies. A `Filter` element must specify exactly one # `Prefix`, `Tag`, or `And` child element. # # @!attribute [rw] prefix # An object key name prefix that identifies the subset of objects that # the rule applies to. # # When you're using XML requests, you must replace special characters # (such as carriage returns) in object keys with their equivalent XML # entity codes. For more information, see [ XML-related object key # constraints][1] in the *Amazon S3 User Guide*. # # # # [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 # A container for specifying rule filters. The filters determine the # subset of objects that the rule applies to. This element is required # only if you specify more than one filter. For example: # # * If you specify both a `Prefix` and a `Tag` filter, wrap these # filters in an `And` element. # # * If you specify a filter based on multiple tags, wrap the `Tag` # elements in an `And` element. # @return [Types::ReplicationRuleAndOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationRuleFilter AWS API Documentation # class ReplicationRuleFilter < Struct.new( :prefix, :tag, :and) SENSITIVE = [] include Aws::Structure end # A container that specifies S3 Replication Time Control (S3 RTC) # related information, including whether S3 RTC is enabled and the time # when all objects and operations on objects must be replicated. # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] status # Specifies whether S3 Replication Time Control (S3 RTC) is enabled. # @return [String] # # @!attribute [rw] time # A container that specifies the time by which replication should be # complete for all objects and operations on objects. # @return [Types::ReplicationTimeValue] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationTime AWS API Documentation # class ReplicationTime < Struct.new( :status, :time) SENSITIVE = [] include Aws::Structure end # A container that specifies the time value for S3 Replication Time # Control (S3 RTC). This value is also used for the replication metrics # `EventThreshold` element. # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] minutes # Contains an integer that specifies the time period in minutes. # # Valid value: 15 # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ReplicationTimeValue AWS API Documentation # class ReplicationTimeValue < Struct.new( :minutes) SENSITIVE = [] include Aws::Structure end # @!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 # @!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. # # @!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 `CopyObject` # API operation. For more information about the parameters for this # operation, see [CopyObject][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html # # @!attribute [rw] target_resource # Specifies the destination bucket Amazon Resource Name (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 that you want the objects to be copied # into. For example, to copy objects into a folder named `Folder1` in # the destination bucket, set the `TargetKeyPrefix` property 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 that 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/checking-object-integrity.html # @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 # (`DeleteObjectTagging`) API operation accepts only 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 # @!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 # @!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 a POST Object restore job. # S3 Batch Operations passes every object to the underlying # `RestoreObject` API operation. 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 # # @!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. # # @!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. # # @!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. # # @!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 # @!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 # @!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 # # @!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 PUT Object ACL operation. # S3 Batch Operations passes every object to the underlying # `PutObjectAcl` API operation. For more information about the # parameters for this operation, see [PutObjectAcl][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html # # @!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 to every object to the # underlying `PutObjectLegalHold` API operation. 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 # # @!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 operation. 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 # # @!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 PUT Object Tagging # operation. S3 Batch Operations passes every object to the underlying # `PutObjectTagging` API operation. For more information about the # parameters for this operation, see [PutObjectTagging][1]. # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html # # @!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. # # @!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 # @!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. # # @!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 # @!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 # A container that describes additional filters for identifying the # source objects that you want to replicate. You can choose to enable or # disable the replication of these objects. # # @!attribute [rw] sse_kms_encrypted_objects # A filter that you can use to select Amazon S3 objects that are # encrypted with server-side encryption by using Key Management # Service (KMS) keys. If you include `SourceSelectionCriteria` in the # replication configuration, this element is required. # # This is not supported by Amazon S3 on Outposts buckets. # # # @return [Types::SseKmsEncryptedObjects] # # @!attribute [rw] replica_modifications # A filter that you can use to specify whether replica modification # sync is enabled. S3 on Outposts replica modification sync can help # you keep object metadata synchronized between replicas and source # objects. By default, S3 on Outposts replicates metadata from the # source objects to the replicas only. When replica modification sync # is enabled, S3 on Outposts replicates metadata changes made to the # replica copies back to the source object, making the replication # bidirectional. # # To replicate object metadata modifications on replicas, you can # specify this element and set the `Status` of this element to # `Enabled`. # # You must enable replica modification sync on the source and # destination buckets to replicate replica metadata changes between # the source and the replicas. # # # @return [Types::ReplicaModifications] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SourceSelectionCriteria AWS API Documentation # class SourceSelectionCriteria < Struct.new( :sse_kms_encrypted_objects, :replica_modifications) SENSITIVE = [] include Aws::Structure end # A container for filter information that you can use to select S3 # objects that are encrypted with Key Management Service (KMS). # # This is not supported by Amazon S3 on Outposts buckets. # # # # @!attribute [rw] status # Specifies whether Amazon S3 replicates objects that are created with # server-side encryption by using an KMS key stored in Key Management # Service. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SseKmsEncryptedObjects AWS API Documentation # class SseKmsEncryptedObjects < Struct.new( :status) SENSITIVE = [] include Aws::Structure end # The Amazon Web Services organization for your S3 Storage Lens. # # @!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. # # @!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. # # @!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. # # @!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 # A custom grouping of objects that include filters for prefixes, # suffixes, object tags, object size, or object age. You can create an # S3 Storage Lens group that includes a single filter or multiple filter # conditions. To specify multiple filter conditions, you use `AND` or # `OR` logical operators. # # @!attribute [rw] name # Contains the name of the Storage Lens group. # @return [String] # # @!attribute [rw] filter # Sets the criteria for the Storage Lens group data that is displayed. # For multiple filter conditions, the `AND` or `OR` logical operator # is used. # @return [Types::StorageLensGroupFilter] # # @!attribute [rw] storage_lens_group_arn # Contains the Amazon Resource Name (ARN) of the Storage Lens group. # This property is read-only. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroup AWS API Documentation # class StorageLensGroup < Struct.new( :name, :filter, :storage_lens_group_arn) SENSITIVE = [] include Aws::Structure end # A logical operator that allows multiple filter conditions to be joined # for more complex comparisons of Storage Lens group data. # # @!attribute [rw] match_any_prefix # Contains a list of prefixes. At least one prefix must be specified. # Up to 10 prefixes are allowed. # @return [Array] # # @!attribute [rw] match_any_suffix # Contains a list of suffixes. At least one suffix must be specified. # Up to 10 suffixes are allowed. # @return [Array] # # @!attribute [rw] match_any_tag # Contains the list of object tags. At least one object tag must be # specified. Up to 10 object tags are allowed. # @return [Array] # # @!attribute [rw] match_object_age # Contains `DaysGreaterThan` and `DaysLessThan` to define the object # age range (minimum and maximum number of days). # @return [Types::MatchObjectAge] # # @!attribute [rw] match_object_size # Contains `BytesGreaterThan` and `BytesLessThan` to define the object # size range (minimum and maximum number of Bytes). # @return [Types::MatchObjectSize] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroupAndOperator AWS API Documentation # class StorageLensGroupAndOperator < Struct.new( :match_any_prefix, :match_any_suffix, :match_any_tag, :match_object_age, :match_object_size) SENSITIVE = [] include Aws::Structure end # The filter element sets the criteria for the Storage Lens group data # that is displayed. For multiple filter conditions, the `AND` or `OR` # logical operator is used. # # @!attribute [rw] match_any_prefix # Contains a list of prefixes. At least one prefix must be specified. # Up to 10 prefixes are allowed. # @return [Array] # # @!attribute [rw] match_any_suffix # Contains a list of suffixes. At least one suffix must be specified. # Up to 10 suffixes are allowed. # @return [Array] # # @!attribute [rw] match_any_tag # Contains the list of S3 object tags. At least one object tag must be # specified. Up to 10 object tags are allowed. # @return [Array] # # @!attribute [rw] match_object_age # Contains `DaysGreaterThan` and `DaysLessThan` to define the object # age range (minimum and maximum number of days). # @return [Types::MatchObjectAge] # # @!attribute [rw] match_object_size # Contains `BytesGreaterThan` and `BytesLessThan` to define the object # size range (minimum and maximum number of Bytes). # @return [Types::MatchObjectSize] # # @!attribute [rw] and # A logical operator that allows multiple filter conditions to be # joined for more complex comparisons of Storage Lens group data. # Objects must match all of the listed filter conditions that are # joined by the `And` logical operator. Only one of each filter # condition is allowed. # @return [Types::StorageLensGroupAndOperator] # # @!attribute [rw] or # A single logical operator that allows multiple filter conditions to # be joined. Objects can match any of the listed filter conditions, # which are joined by the `Or` logical operator. Only one of each # filter condition is allowed. # @return [Types::StorageLensGroupOrOperator] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroupFilter AWS API Documentation # class StorageLensGroupFilter < Struct.new( :match_any_prefix, :match_any_suffix, :match_any_tag, :match_object_age, :match_object_size, :and, :or) SENSITIVE = [] include Aws::Structure end # Specifies the Storage Lens groups to include in the Storage Lens group # aggregation. # # @!attribute [rw] selection_criteria # Indicates which Storage Lens group ARNs to include or exclude in the # Storage Lens group aggregation. If this value is left null, then all # Storage Lens groups are selected. # @return [Types::StorageLensGroupLevelSelectionCriteria] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroupLevel AWS API Documentation # class StorageLensGroupLevel < Struct.new( :selection_criteria) SENSITIVE = [] include Aws::Structure end # Indicates which Storage Lens group ARNs to include or exclude in the # Storage Lens group aggregation. You can only attach Storage Lens # groups to your Storage Lens dashboard if they're included in your # Storage Lens group aggregation. If this value is left null, then all # Storage Lens groups are selected. # # @!attribute [rw] include # Indicates which Storage Lens group ARNs to include in the Storage # Lens group aggregation. # @return [Array] # # @!attribute [rw] exclude # Indicates which Storage Lens group ARNs to exclude from the Storage # Lens group aggregation. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroupLevelSelectionCriteria AWS API Documentation # class StorageLensGroupLevelSelectionCriteria < Struct.new( :include, :exclude) SENSITIVE = [] include Aws::Structure end # A container element for specifying `Or` rule conditions. The rule # conditions determine the subset of objects to which the `Or` rule # applies. Objects can match any of the listed filter conditions, which # are joined by the `Or` logical operator. Only one of each filter # condition is allowed. # # @!attribute [rw] match_any_prefix # Filters objects that match any of the specified prefixes. # @return [Array] # # @!attribute [rw] match_any_suffix # Filters objects that match any of the specified suffixes. # @return [Array] # # @!attribute [rw] match_any_tag # Filters objects that match any of the specified S3 object tags. # @return [Array] # # @!attribute [rw] match_object_age # Filters objects that match the specified object age range. # @return [Types::MatchObjectAge] # # @!attribute [rw] match_object_size # Filters objects that match the specified object size range. # @return [Types::MatchObjectSize] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensGroupOrOperator AWS API Documentation # class StorageLensGroupOrOperator < Struct.new( :match_any_prefix, :match_any_suffix, :match_any_tag, :match_object_age, :match_object_size) SENSITIVE = [] include Aws::Structure end # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID for the owner of the Multi-Region # Access Point. # @return [String] # # @!attribute [rw] mrap # The Multi-Region Access Point ARN. # @return [String] # # @!attribute [rw] route_updates # The different routes that make up the new route configuration. # Active routes return a value of `100`, and passive routes return a # value of `0`. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SubmitMultiRegionAccessPointRoutesRequest AWS API Documentation # class SubmitMultiRegionAccessPointRoutesRequest < Struct.new( :account_id, :mrap, :route_updates) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SubmitMultiRegionAccessPointRoutesResult AWS API Documentation # class SubmitMultiRegionAccessPointRoutesResult < Aws::EmptyStructure; end # An Amazon Web Services resource tag that's associated with your S3 # resource. You can add tags to new objects when you upload them, or you # can add object tags to existing objects. # # This operation is only supported for [S3 Storage Lens groups][1] and # for [S3 Access Grants][2]. The tagged resource can be an S3 Storage # Lens group or S3 Access Grants instance, registered location, or # grant. # # # # # # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-tagging.html # # @!attribute [rw] key # The key of the key-value pair of a tag added to your Amazon Web # Services resource. A tag key can be up to 128 Unicode characters in # length and is case-sensitive. System created tags that begin with # `aws:` aren’t supported. # @return [String] # # @!attribute [rw] value # The value of the key-value pair of a tag added to your Amazon Web # Services resource. A tag value can be up to 256 Unicode characters # in length and is case-sensitive. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tag AWS API Documentation # class Tag < Struct.new( :key, :value) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] account_id # The Amazon Web Services account ID that created the S3 resource that # you're trying to add tags to or the requester's account ID. # @return [String] # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the S3 resource that you're # trying to add tags to. The tagged resource can be an S3 Storage Lens # group or S3 Access Grants instance, registered location, or grant. # @return [String] # # @!attribute [rw] tags # The Amazon Web Services resource tags that you want to add to the # specified S3 resource. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/TagResourceRequest AWS API Documentation # class TagResourceRequest < Struct.new( :account_id, :resource_arn, :tags) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/TagResourceResult AWS API Documentation # class TagResourceResult < Aws::EmptyStructure; end # @!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 # # @!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 # @!attribute [rw] account_id # The Amazon Web Services account ID that owns the resource that # you're trying to remove the tags from. # @return [String] # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the S3 resource that you're # trying to remove the tags from. # @return [String] # # @!attribute [rw] tag_keys # The array of tag key-value pairs that you're trying to remove from # of the S3 resource. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UntagResourceRequest AWS API Documentation # class UntagResourceRequest < Struct.new( :account_id, :resource_arn, :tag_keys) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UntagResourceResult AWS API Documentation # class UntagResourceResult < Aws::EmptyStructure; end # @!attribute [rw] account_id # The ID of the Amazon Web Services account that is making this # request. # @return [String] # # @!attribute [rw] access_grants_location_id # The ID of the registered location that you are updating. S3 Access # Grants assigns this ID when you register the location. S3 Access # Grants assigns the ID `default` to the default location `s3://` and # assigns an auto-generated ID to other locations that you register. # # The ID of the registered location to which you are granting access. # S3 Access Grants assigned this ID when you registered the location. # S3 Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # # If you are passing the `default` location, you cannot create an # access grant for the entire default location. You must also specify # a bucket or a bucket and prefix in the `Subprefix` field. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role for the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationRequest AWS API Documentation # class UpdateAccessGrantsLocationRequest < Struct.new( :account_id, :access_grants_location_id, :iam_role_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] created_at # The date and time when you registered the location. # @return [Time] # # @!attribute [rw] access_grants_location_id # The ID of the registered location to which you are granting access. # S3 Access Grants assigned this ID when you registered the location. # S3 Access Grants assigns the ID `default` to the default location # `s3://` and assigns an auto-generated ID to other locations that you # register. # @return [String] # # @!attribute [rw] access_grants_location_arn # The Amazon Resource Name (ARN) of the registered location that you # are updating. # @return [String] # # @!attribute [rw] location_scope # The S3 URI path of the location that you are updating. You cannot # update the scope of the registered location. The location scope can # be the default S3 location `s3://`, the S3 path to a bucket # `s3://`, or the S3 path to a bucket and prefix # `s3:///`. # @return [String] # # @!attribute [rw] iam_role_arn # The Amazon Resource Name (ARN) of the IAM role of the registered # location. S3 Access Grants assumes this role to manage access to the # registered location. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateAccessGrantsLocationResult AWS API Documentation # class UpdateAccessGrantsLocationResult < Struct.new( :created_at, :access_grants_location_id, :access_grants_location_arn, :location_scope, :iam_role_arn) SENSITIVE = [] include Aws::Structure end # @!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 # @!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 # @!attribute [rw] name # The name of the Storage Lens group that you want to update. # @return [String] # # @!attribute [rw] account_id # The Amazon Web Services account ID of the Storage Lens group owner. # @return [String] # # @!attribute [rw] storage_lens_group # The JSON file that contains the Storage Lens group configuration. # @return [Types::StorageLensGroup] # # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateStorageLensGroupRequest AWS API Documentation # class UpdateStorageLensGroupRequest < Struct.new( :name, :account_id, :storage_lens_group) 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 # # @!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. # # @!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