import { Value } from '../../../cloudformation/Value';
import { EnvironmentProps } from './EnvironmentProps';
/**
  <a name="aws-properties-greengrass-functiondefinition-functionconfiguration-description"></a>The group-specific configuration settings for a Lambda function. These settings configure the function’s behavior in the Greengrass group. For more information, see <a href="https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html">Controlling Execution of Greengrass Lambda Functions by Using Group-Specific Configuration</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-functionconfiguration.html">the AWS Docs</a>
*/
export interface FunctionConfigurationProps {
    /** <code>MemorySize</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-memorysize"></a>
  The memory size (in KB) required by the function.<br />
  This property applies only to Lambda functions that run in a Greengrass container.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    memorySize?: Value<number>;
    /** <code>Pinned</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-pinned"></a>
  Indicates whether the function is pinned (or
  long-lived:  Pinned functions start when the core starts and process all requests in the same container. The default value is false.<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> */
    pinned?: Value<boolean>;
    /** <code>ExecArgs</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-execargs"></a>
  The execution arguments.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    execArgs?: Value<string>;
    /** <code>Timeout</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-timeout"></a>
  The allowed execution time (in seconds) after which the function should terminate. For pinned functions, this timeout applies for each request.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    timeout?: Value<number>;
    /** <code>EncodingType</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-encodingtype"></a>
  The expected encoding type of the input payload for the function. Valid values are <code>json</code> (default) and <code>binary</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    encodingType?: Value<string>;
    /** <code>Environment</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-environment"></a>
  The environment configuration of the function.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    environment?: EnvironmentProps;
    /** <code>Executable</code>  <a name="cfn-greengrass-functiondefinition-functionconfiguration-executable"></a>
  The name of the function executable.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    executable?: Value<string>;
}
