import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type AgentAttributes = {
    AgentArn: Attribute<string>;
    EndpointType: Attribute<string>;
};
export type Agent = AwsResource<'AWS::DataSync::Agent', AgentProperties, AgentAttributes>;
/**
  The <code>AWS::DataSync::Agent</code> resource activates an AWS DataSync agent that you’ve deployed for storage discovery or data transfers. The activation process associates the agent with your AWS account.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html">the AWS Docs</a>
*/
export declare function agent(agentProps?: AgentProperties): Agent;
/**
  The <code>AWS::DataSync::Agent</code> resource activates an AWS DataSync agent that you’ve deployed for storage discovery or data transfers. The activation process associates the agent with your AWS account.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html">the AWS Docs</a>
*/
export interface AgentProperties {
    /** <code>SubnetArns</code>  <a name="cfn-datasync-agent-subnetarns"></a>
  Specifies the ARN of the subnet where you want to run your DataSync task when using a VPC endpoint. This is the subnet where DataSync creates and manages the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> for your transfer. You can only specify one ARN.<br />
  
  Required: No<br />
  
  Maximum: <code>1</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> */
    subnetArns?: Value<Value<string>[]>;
    /** <code>AgentName</code>  <a name="cfn-datasync-agent-agentname"></a>
  Specifies a name for your agent. You can see this name in the DataSync console.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>^[a-zA-Z0-9\s+=._:@/-]+$</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> */
    agentName?: Value<string>;
    /** <code>VpcEndpointId</code>  <a name="cfn-datasync-agent-vpcendpointid"></a>
  The ID of the virtual private cloud (VPC) endpoint that the agent has access to. This is the client-side VPC endpoint, powered by AWS PrivateLink. If you don’t have an AWS PrivateLink VPC endpoint, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html">AWS PrivateLink and VPC endpoints</a> in the
  Amazon VPC User Guide: br />
  For more information about activating your agent in a private network based on a VPC, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html">Using AWS DataSync in a Virtual Private Cloud</a> in the
  AWS DataSync User Guide.: r />
  A VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.<br />
  
  Required: No<br />
  
  Pattern: <code>^vpce-[0-9a-f]{17}$</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> */
    vpcEndpointId?: Value<string>;
    /** <code>ActivationKey</code>  <a name="cfn-datasync-agent-activationkey"></a>
  Specifies your DataSync agent’s activation key. If you don’t have an activation key, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html">Activate your agent</a>.<br />
  
  Required: No<br />
  
  Maximum: <code>29</code><br />
  
  Pattern: <code>[A-Z0-9]{5}(-[A-Z0-9]{5}){4}</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> */
    activationKey?: Value<string>;
    /** <code>SecurityGroupArns</code>  <a name="cfn-datasync-agent-securitygrouparns"></a>
  The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. See <a href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.<br />
  
  Pattern: <code>^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\-0-9]*:[0-9]{12}:security-group/.*$</code><br />
  
  Required: No<br />
  
  Maximum: <code>1</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> */
    securityGroupArns?: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-datasync-agent-tags"></a>
  Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least one tag for your agent.<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[];
}
