in src/Amazon.Lambda.Tools/Commands/UpdateFunctionConfigCommand.cs [362:426]
private UpdateFunctionConfigurationRequest CreateRevertConfigurationRequest(GetFunctionConfigurationResponse existingConfiguration)
{
var request = new UpdateFunctionConfigurationRequest
{
FunctionName = existingConfiguration.FunctionName,
Description = existingConfiguration.Description,
Role = existingConfiguration.Role,
MemorySize = existingConfiguration.MemorySize,
EphemeralStorage = existingConfiguration.EphemeralStorage,
Timeout = existingConfiguration.Timeout,
Layers = existingConfiguration.Layers?.Select(x => x.Arn).ToList(),
DeadLetterConfig = existingConfiguration.DeadLetterConfig,
KMSKeyArn = existingConfiguration.KMSKeyArn
};
if (existingConfiguration.VpcConfig != null)
{
request.VpcConfig = new VpcConfig
{
IsSecurityGroupIdsSet = existingConfiguration.VpcConfig.SecurityGroupIds?.Any() ?? false,
IsSubnetIdsSet = existingConfiguration.VpcConfig.SubnetIds?.Any() ?? false,
SecurityGroupIds = existingConfiguration.VpcConfig.SecurityGroupIds,
SubnetIds = existingConfiguration.VpcConfig.SubnetIds
};
}
if (existingConfiguration.TracingConfig != null)
{
request.TracingConfig = new TracingConfig
{
Mode = existingConfiguration.TracingConfig.Mode
};
}
if (existingConfiguration.Environment != null)
{
request.Environment = new Model.Environment
{
IsVariablesSet = existingConfiguration.Environment.Variables?.Any() ?? false,
Variables = existingConfiguration.Environment.Variables
};
}
if (existingConfiguration.PackageType == Lambda.PackageType.Zip)
{
request.Handler = existingConfiguration.Handler;
request.Runtime = existingConfiguration.Runtime;
}
else if (existingConfiguration.PackageType == Lambda.PackageType.Image)
{
if (existingConfiguration.ImageConfigResponse != null)
{
request.ImageConfig = new ImageConfig
{
Command = existingConfiguration.ImageConfigResponse.ImageConfig?.Command,
EntryPoint = existingConfiguration.ImageConfigResponse.ImageConfig?.EntryPoint,
IsCommandSet = existingConfiguration.ImageConfigResponse.ImageConfig?.Command?.Any() ?? false,
IsEntryPointSet = existingConfiguration.ImageConfigResponse.ImageConfig?.EntryPoint?.Any() ?? false,
WorkingDirectory = existingConfiguration.ImageConfigResponse.ImageConfig?.WorkingDirectory
};
}
}
return request;
}