import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type InstanceProfileAttributes = {
    Arn: Attribute<string>;
};
export type InstanceProfile = AwsResource<'AWS::IAM::InstanceProfile', InstanceProfileProperties, InstanceProfileAttributes>;
/**
  Creates a new instance profile. For information about instance profiles, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html">Using instance profiles</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html">the AWS Docs</a>
*/
export declare function instanceProfile(instanceProfileProps: InstanceProfileProperties): InstanceProfile;
/**
  Creates a new instance profile. For information about instance profiles, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html">Using instance profiles</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html">the AWS Docs</a>
*/
export interface InstanceProfileProperties {
    /** <code>Path</code>  <a name="cfn-iam-instanceprofile-path"></a>
  The path to the instance profile. For more information about paths, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">IAM Identifiers</a> in the
  IAM User Guide: br />
  This parameter is optional. If it is not included, it defaults to a slash (/).<br />
  This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (<code>\u0021</code>) through the DEL character (<code>\u007F</code>), including most punctuation characters, digits, and upper and lowercased letters.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>(\u002F)|(\u002F[\u0021-\u007E]+\u002F)</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> */
    path?: Value<string>;
    /** <code>InstanceProfileName</code>  <a name="cfn-iam-instanceprofile-instanceprofilename"></a>
  The name of the instance profile to create.<br />
  This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\w+=,.@-]+</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> */
    instanceProfileName?: Value<string>;
    /** <code>Roles</code>  <a name="cfn-iam-instanceprofile-roles"></a>
  The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.<br />
  
  Required: Yes<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> */
    roles: Value<Value<string>[]>;
}
