package awsgreengrassv2 // Contains information about an AWS Lambda function to import to create a component. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // lambdaFunctionRecipeSourceProperty := &LambdaFunctionRecipeSourceProperty{ // ComponentDependencies: map[string]interface{}{ // "componentDependenciesKey": &ComponentDependencyRequirementProperty{ // "dependencyType": jsii.String("dependencyType"), // "versionRequirement": jsii.String("versionRequirement"), // }, // }, // ComponentLambdaParameters: &LambdaExecutionParametersProperty{ // EnvironmentVariables: map[string]*string{ // "environmentVariablesKey": jsii.String("environmentVariables"), // }, // EventSources: []interface{}{ // &LambdaEventSourceProperty{ // Topic: jsii.String("topic"), // Type: jsii.String("type"), // }, // }, // ExecArgs: []*string{ // jsii.String("execArgs"), // }, // InputPayloadEncodingType: jsii.String("inputPayloadEncodingType"), // LinuxProcessParams: &LambdaLinuxProcessParamsProperty{ // ContainerParams: &LambdaContainerParamsProperty{ // Devices: []interface{}{ // &LambdaDeviceMountProperty{ // AddGroupOwner: jsii.Boolean(false), // Path: jsii.String("path"), // Permission: jsii.String("permission"), // }, // }, // MemorySizeInKb: jsii.Number(123), // MountRoSysfs: jsii.Boolean(false), // Volumes: []interface{}{ // &LambdaVolumeMountProperty{ // AddGroupOwner: jsii.Boolean(false), // DestinationPath: jsii.String("destinationPath"), // Permission: jsii.String("permission"), // SourcePath: jsii.String("sourcePath"), // }, // }, // }, // IsolationMode: jsii.String("isolationMode"), // }, // MaxIdleTimeInSeconds: jsii.Number(123), // MaxInstancesCount: jsii.Number(123), // MaxQueueSize: jsii.Number(123), // Pinned: jsii.Boolean(false), // StatusTimeoutInSeconds: jsii.Number(123), // TimeoutInSeconds: jsii.Number(123), // }, // ComponentName: jsii.String("componentName"), // ComponentPlatforms: []interface{}{ // &ComponentPlatformProperty{ // Attributes: map[string]*string{ // "attributesKey": jsii.String("attributes"), // }, // Name: jsii.String("name"), // }, // }, // ComponentVersion: jsii.String("componentVersion"), // LambdaArn: jsii.String("lambdaArn"), // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html // type CfnComponentVersion_LambdaFunctionRecipeSourceProperty struct { // The component versions on which this Lambda function component depends. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentdependencies // ComponentDependencies interface{} `field:"optional" json:"componentDependencies" yaml:"componentDependencies"` // The system and runtime parameters for the Lambda function as it runs on the AWS IoT Greengrass core device. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentlambdaparameters // ComponentLambdaParameters interface{} `field:"optional" json:"componentLambdaParameters" yaml:"componentLambdaParameters"` // The name of the component. // // Defaults to the name of the Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentname // ComponentName *string `field:"optional" json:"componentName" yaml:"componentName"` // The platforms that the component version supports. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentplatforms // ComponentPlatforms interface{} `field:"optional" json:"componentPlatforms" yaml:"componentPlatforms"` // The version of the component. // // Defaults to the version of the Lambda function as a semantic version. For example, if your function version is `3` , the component version becomes `3.0.0` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentversion // ComponentVersion *string `field:"optional" json:"componentVersion" yaml:"componentVersion"` // The ARN of the Lambda function. // // The ARN must include the version of the function to import. You can't use version aliases like `$LATEST` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-lambdaarn // LambdaArn *string `field:"optional" json:"lambdaArn" yaml:"lambdaArn"` }