import { Value } from '../../cloudformation/Value';
import { MountOptionsProps } from './locationsmb/MountOptionsProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type LocationSMBAttributes = {
    LocationUri: Attribute<string>;
    LocationArn: Attribute<string>;
};
export type LocationSMB = AwsResource<'AWS::DataSync::LocationSMB', LocationSMBProperties, LocationSMBAttributes>;
/**
  The <code>AWS::DataSync::LocationSMB</code> resource specifies a Server Message Block (SMB) location.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html">the AWS Docs</a>
*/
export declare function locationSMB(locationSMBProps: LocationSMBProperties): LocationSMB;
/**
  The <code>AWS::DataSync::LocationSMB</code> resource specifies a Server Message Block (SMB) location.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html">the AWS Docs</a>
*/
export interface LocationSMBProperties {
    /** <code>User</code>  <a name="cfn-datasync-locationsmb-user"></a>
  The user who can mount the share and has the permissions to access files and folders in the SMB share.<br />
  For information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#SMBuser">user</a>.<br />
  
  Required: Yes<br />
  
  Maximum: <code>104</code><br />
  
  Pattern: <code>^[^\x5B\x5D\\/:;|=,+*?]{1,104}$</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> */
    user: Value<string>;
    /** <code>Subdirectory</code>  <a name="cfn-datasync-locationsmb-subdirectory"></a>
  The subdirectory in the SMB file system that is used to read data from the SMB source location or write data to the SMB destination. The SMB path should be a path that’s exported by the SMB server, or a subdirectory of that path. The path should be such that it can be mounted by other SMB clients in your network.<br />
  <code>Subdirectory</code> must be specified with forward slashes. For example, <code>/path/to/folder</code>.
  To transfer all the data in the folder you specified, DataSync must have permissions to mount the SMB share, as well as to access all the data in that share. To ensure this, either make sure that the user name and password specified belongs to the user who can mount the share, and who has the appropriate permissions for all of the files and directories that you want DataSync to access, or use credentials of a member of the Backup Operators group to mount the share. Doing either one enables the agent to access the data. For the agent to access directories, you must additionally enable all execute access.<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-no-interrupt">No interruption</a> */
    subdirectory?: Value<string>;
    /** <code>ServerHostname</code>  <a name="cfn-datasync-locationsmb-serverhostname"></a>
  Specifies the Domain Name Service (DNS) name or IP address of the SMB file server that your DataSync agent will mount.<br />
  You can’t specify an IP version 6 (IPv6) address.
  
  Required: No<br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>^(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9\-]*[A-Za-z0-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> */
    serverHostname?: Value<string>;
    /** <code>Domain</code>  <a name="cfn-datasync-locationsmb-domain"></a>
  Specifies the Windows domain name that your SMB file server belongs to.<br />
  For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.<br />
  
  Required: No<br />
  
  Maximum: <code>253</code><br />
  
  Pattern: <code>^[A-Za-z0-9]((\.|-+)?[A-Za-z0-9]){0,252}$</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> */
    domain?: Value<string>;
    /** <code>MountOptions</code>  <a name="cfn-datasync-locationsmb-mountoptions"></a>
  Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.<br />
  
  Required: No<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> */
    mountOptions?: MountOptionsProps;
    /** <code>AgentArns</code>  <a name="cfn-datasync-locationsmb-agentarns"></a>
  The Amazon Resource Names (ARNs) of agents to use for a Server Message Block (SMB) location.<br />
  
  Required: Yes<br />
  
  Maximum: <code>4</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> */
    agentArns: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-datasync-locationsmb-tags"></a>
  Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.<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[];
    /** <code>Password</code>  <a name="cfn-datasync-locationsmb-password"></a>
  The password of the user who can mount the share and has the permissions to access files and folders in the SMB share.<br />
  
  Required: No<br />
  
  Maximum: <code>104</code><br />
  
  Pattern: <code>^.{0,104}$</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> */
    password?: Value<string>;
}
