5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/lambda_alias_switcher.rb', line 5
def switch_alias(function_name:,
alias_arg:,
function_version: '$LATEST')
fail 'function name is nil' if function_name.nil?
fail 'alias arg is nil' if alias_arg.nil?
client = Aws::Lambda::Client.new
list_aliases_response = client.list_aliases function_name: function_name
found_alias = list_aliases_response.aliases.find do |alias_iter|
alias_iter.name == alias_arg
end
if found_alias.nil?
create_alias_response = client.create_alias function_name: function_name,
name: alias_arg,
function_version: function_version
create_alias_response.alias_arn
else
update_alias_response = client.update_alias function_name: function_name,
name: alias_arg,
function_version: function_version
update_alias_response.alias_arn
end
end
|