using System;
using System.Collections.Generic;
using Amazon.Lambda.Annotations.SourceGenerator.Models.Attributes;
namespace Amazon.Lambda.Annotations.SourceGenerator.Models
{
public interface ILambdaFunctionSerializable
{
///
///
/// The name of the method within your code that Lambda calls to execute your function.
/// The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime.
/// For more information, see here
///
///
string Handler { get; }
///
/// The name of the CloudFormation resource that is associated with the Lambda function.
///
string ResourceName { get; }
///
/// The amount of time in seconds that Lambda allows a function to run before stopping it.
///
uint? Timeout { get; }
///
/// The amount of memory available to your Lambda function at runtime.
///
uint? MemorySize { get; }
///
/// The IAM Role assumed by the Lambda function during its execution.
///
string Role { get; }
///
/// Resource based policies that grants permissions to access other AWS resources.
///
string Policies { get; }
///
/// The deployment package type of the Lambda function. The supported values are Zip and Image.
/// For more information, see here
///
LambdaPackageType PackageType { get; }
///
/// List of attributes applied to the Lambda method that are used to generate serverless.template.
/// There always exists in the list.
///
IList Attributes { get; }
///
/// The assembly version of the Amazon.Lambda.Annotations.SourceGenerator package.
///
string SourceGeneratorVersion { get; set; }
}
}