import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  Specifies a launch constraint.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html">the AWS Docs</a>
*/
export type LaunchRoleConstraint = AwsResource<'AWS::ServiceCatalog::LaunchRoleConstraint', LaunchRoleConstraintProperties>;
export declare function launchRoleConstraint(launchRoleConstraintProps: LaunchRoleConstraintProperties): LaunchRoleConstraint;
/**
  Specifies a launch constraint.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html">the AWS Docs</a>
*/
export interface LaunchRoleConstraintProperties {
    /** <code>Description</code>  <a name="cfn-servicecatalog-launchroleconstraint-description"></a>
  The description of the constraint.<br />
  
  Required: No<br />
  
  Maximum: <code>2000</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> */
    description?: Value<string>;
    /** <code>LocalRoleName</code>  <a name="cfn-servicecatalog-launchroleconstraint-localrolename"></a>
  You are required to specify either the <code>RoleArn</code> or the <code>LocalRoleName</code> but can’t use both.<br />
  If you specify the <code>LocalRoleName</code> property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account.<br />
  The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint.<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> */
    localRoleName?: Value<string>;
    /** <p> */
    acceptLanguage?: Value<string>;
    /** <code>PortfolioId</code>  <a name="cfn-servicecatalog-launchroleconstraint-portfolioid"></a>
  The portfolio identifier.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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-replacement">Replacement</a> */
    portfolioId: Value<string>;
    /** <code>ProductId</code>  <a name="cfn-servicecatalog-launchroleconstraint-productid"></a>
  The product identifier.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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-replacement">Replacement</a> */
    productId: Value<string>;
    /** <code>RoleArn</code>  <a name="cfn-servicecatalog-launchroleconstraint-rolearn"></a>
  The ARN of the launch role.<br />
  You are required to specify <code>RoleArn</code> or <code>LocalRoleName</code> but can’t use both.<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> */
    roleArn?: Value<string>;
}
