import { Value } from '../../../cloudformation/Value';
import { FunctionConfigurationProps } from './FunctionConfigurationProps';
/**
  <a name="aws-properties-greengrass-functiondefinition-function-description"></a>A function is a Lambda function that’s referenced from an AWS IoT Greengrass group. The function is deployed to a Greengrass core where it runs locally. For more information, see <a href="https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-functions.html">Run Lambda Functions on the AWS IoT Greengrass Core</a> in the <em>AWS IoT Greengrass Version 1 Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html">the AWS Docs</a>
*/
export interface FunctionProps {
    /** <code>FunctionArn</code>  <a name="cfn-greengrass-functiondefinition-function-functionarn"></a>
  The Amazon Resource Name (ARN) of the alias (recommended) or version of the referenced Lambda function.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    functionArn: Value<string>;
    /** <code>FunctionConfiguration</code>  <a name="cfn-greengrass-functiondefinition-function-functionconfiguration"></a>
  The group-specific settings of the Lambda function. These settings configure the function’s behavior in the Greengrass group.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    functionConfiguration: FunctionConfigurationProps;
    /** <code>Id</code>  <a name="cfn-greengrass-functiondefinition-function-id"></a>
  A descriptive or arbitrary ID for the function. This value must be unique within the function definition version. Maximum length is 128 characters with pattern <code>[a-zA-Z0-9:_-]+</code>.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    id: Value<string>;
}
