lib/miam/client.rb in miam-0.2.4.beta15 vs lib/miam/client.rb in miam-0.2.4.beta16

- old
+ new

@@ -253,13 +253,25 @@ def walk_role(role_name, expected_attrs, actual_attrs) if expected_attrs.values_at(:path) != actual_attrs.values_at(:path) log(:warn, "Role `#{role_name}`: 'path' cannot be updated", :color => :yellow) end - updated = walk_assume_role_policy(role_name, expected_attrs[:assume_role_policy_document], actual_attrs[:assume_role_policy_document]) + updated = walk_role_settings(role_name, {max_session_duration: expected_attrs[:max_session_duration]}, {max_session_duration: actual_attrs[:max_session_duration]}) + updated = walk_assume_role_policy(role_name, expected_attrs[:assume_role_policy_document], actual_attrs[:assume_role_policy_document]) || updated updated = walk_role_instance_profiles(role_name, expected_attrs[:instance_profiles], actual_attrs[:instance_profiles]) || updated updated = walk_attached_managed_policies(:role, role_name, expected_attrs[:attached_managed_policies], actual_attrs[:attached_managed_policies]) || updated walk_policies(:role, role_name, expected_attrs[:policies], actual_attrs[:policies]) || updated + end + + def walk_role_settings(role_name, expected_settings, actual_settings) + updated = false + + if expected_settings != actual_settings + @driver.update_role_settings(role_name, expected_settings, actual_settings) + updated = true + end + + updated end def walk_assume_role_policy(role_name, expected_assume_role_policy, actual_assume_role_policy) updated = false expected_assume_role_policy.sort_array!