private static async Task DeleteOldVersionsForTheFunction(string functionName, int count) { var _versionList = (await _lambdaClient.ListVersionsByFunctionAsync(new ListVersionsByFunctionRequest { FunctionName = functionName })) .Versions .Where(q => !(q.FunctionArn.EndsWith("LATEST"))) .OrderByDescending(q => q.LastModified); Console.WriteLine("The Function has " + _versionList.Count() + " versions"); if (_versionList.Count() > count) { foreach (var _version in _versionList.Skip(count)) { Console.WriteLine("Deleting " + _version.FunctionArn); if (!_debugMode) { await _lambdaClient.DeleteFunctionAsync(new DeleteFunctionRequest { FunctionName = _version.FunctionName, Qualifier = _version.Version }); } } } else { Console.WriteLine("The Version Count is lower than " + count + ". The function is skipped."); } }
public ListVersionsByFunctionResponse ListVersionsByFunction(string functionName, string marker = null, int max = 0) { var request = new ListVersionsByFunctionRequest(); request.FunctionName = functionName; if (marker != null) { request.Marker = marker; } if (max > 0) { request.MaxItems = max; } var response = _client.ListVersionsByFunctionAsync(request); return(response.Result); }