def to_h
stmt = {
"Sid" => sid,
"Effect" => Inflection.class_name(effect.to_s),
"Principal" => principals_hash,
"Resource" => (resource_arns if resource_arns),
"NotResource" => (excluded_resource_arns if excluded_resource_arns),
"Condition" => (conditions.to_h if conditions)
}
stmt.delete("Condition") if !conditions || conditions.to_h.empty?
stmt.delete("Principal") unless principals_hash
stmt.delete("Resource") unless resource_arns
stmt.delete("NotResource") unless excluded_resource_arns
if !translated_actions || translated_actions.empty?
stmt["NotAction"] = translated_excluded_actions
else
stmt["Action"] = translated_actions
end
stmt
end