import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ProfileAttributes = {
    ProfileId: Attribute<string>;
    ProfileArn: Attribute<string>;
};
export type Profile = AwsResource<'AWS::RolesAnywhere::Profile', ProfileProperties, ProfileAttributes>;
/**
  Creates a <em>profile</em>, a list of the roles that Roles Anywhere service is trusted to assume. You use profiles to intersect permissions with IAM managed policies.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html">the AWS Docs</a>
*/
export declare function profile(profileProps: ProfileProperties): Profile;
/**
  Creates a <em>profile</em>, a list of the roles that Roles Anywhere service is trusted to assume. You use profiles to intersect permissions with IAM managed policies.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html">the AWS Docs</a>
*/
export interface ProfileProperties {
    /** <code>ManagedPolicyArns</code>  <a name="cfn-rolesanywhere-profile-managedpolicyarns"></a>
  A list of managed policy ARNs that apply to the vended session credentials.<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> */
    managedPolicyArns?: Value<Value<string>[]>;
    /** <code>RequireInstanceProperties</code>  <a name="cfn-rolesanywhere-profile-requireinstanceproperties"></a>
  Specifies whether instance properties are required in temporary credential requests with this profile.<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> */
    requireInstanceProperties?: Value<boolean>;
    /** <code>RoleArns</code>  <a name="cfn-rolesanywhere-profile-rolearns"></a>
  A list of IAM role ARNs. During <code>CreateSession</code>, if a matching role ARN is provided, the properties in this profile will be applied to the intersection session policy.<br />
  
  Required: Yes<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> */
    roleArns: Value<Value<string>[]>;
    /** <code>SessionPolicy</code>  <a name="cfn-rolesanywhere-profile-sessionpolicy"></a>
  A session policy that applies to the trust boundary of the vended session credentials.<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> */
    sessionPolicy?: Value<string>;
    /** <code>Enabled</code>  <a name="cfn-rolesanywhere-profile-enabled"></a>
  Indicates whether the profile is enabled.<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> */
    enabled?: Value<boolean>;
    /** <code>DurationSeconds</code>  <a name="cfn-rolesanywhere-profile-durationseconds"></a>
  Sets the maximum number of seconds that vended temporary credentials through <a href="https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session.html">CreateSession</a> will be valid for, between 900 and 3600.<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> */
    durationSeconds?: Value<number>;
    /** <code>Tags</code>  <a name="cfn-rolesanywhere-profile-tags"></a>
  The tags to attach to the profile.<br />
  
  Required: No<br />
  
  Maximum: <code>200</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>Name</code>  <a name="cfn-rolesanywhere-profile-name"></a>
  The name of the profile.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>^[ 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-no-interrupt">No interruption</a> */
    name: Value<string>;
}
