import { Value } from '../../cloudformation/Value';
import { S3ConfigProps } from './locations3/S3ConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type LocationS3Attributes = {
    LocationUri: Attribute<string>;
    LocationArn: Attribute<string>;
};
export type LocationS3 = AwsResource<'AWS::DataSync::LocationS3', LocationS3Properties, LocationS3Attributes>;
/**
  The <code>AWS::DataSync::LocationS3</code> resource specifies an endpoint for an Amazon S3 bucket.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html">the AWS Docs</a>
*/
export declare function locationS3(locationS3Props: LocationS3Properties): LocationS3;
/**
  The <code>AWS::DataSync::LocationS3</code> resource specifies an endpoint for an Amazon S3 bucket.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html">the AWS Docs</a>
*/
export interface LocationS3Properties {
    /** <code>S3StorageClass</code>  <a name="cfn-datasync-locations3-s3storageclass"></a>
  The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For buckets in AWS Regions, the storage class defaults to S3 Standard.<br />
  For more information about S3 storage classes, see <a href="http://aws.amazon.com/s3/storage-classes/">Amazon S3 Storage Classes</a>. Some storage classes have behaviors that can affect your S3 storage costs. For detailed information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes">Considerations When Working with Amazon S3 Storage Classes in DataSync</a>.<br />
  
  Required: No<br />
  
  Allowed values: <code>DEEP_ARCHIVE | GLACIER | GLACIER_INSTANT_RETRIEVAL | INTELLIGENT_TIERING | ONEZONE_IA | OUTPOSTS | STANDARD | STANDARD_IA</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    s3StorageClass?: Value<'DEEP_ARCHIVE' | 'GLACIER' | 'GLACIER_INSTANT_RETRIEVAL' | 'INTELLIGENT_TIERING' | 'ONEZONE_IA' | 'OUTPOSTS' | 'STANDARD' | 'STANDARD_IA'>;
    /** <code>S3Config</code>  <a name="cfn-datasync-locations3-s3config"></a>
  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.<br />
  For detailed information about using such a role, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location">Creating a Location for Amazon S3</a> in the
  AWS DataSync User Guide: br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    s3Config: S3ConfigProps;
    /** <code>Subdirectory</code>  <a name="cfn-datasync-locations3-subdirectory"></a>
  A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is used to read data from the S3 source location or write data to the S3 destination.<br />
  
  Required: No<br />
  
  Maximum: <code>4096</code><br />
  
  Pattern: <code>^[a-zA-Z0-9_\-\+\./\(\)\p{Zs}]*$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    subdirectory?: Value<string>;
    /** <code>S3BucketArn</code>  <a name="cfn-datasync-locations3-s3bucketarn"></a>
  The ARN of the Amazon S3 bucket.<br />
  
  Required: No<br />
  
  Maximum: <code>156</code><br />
  
  Pattern: <code>^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    s3BucketArn?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-datasync-locations3-tags"></a>
  The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.<br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
