Method: Awspec::Generator::Spec::IamUser#generate_all

Defined in:
lib/awspec/generator/spec/iam_user.rb

#generate_allObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/awspec/generator/spec/iam_user.rb', line 7

def generate_all
  users = select_all_iam_users
  raise 'Not Found IAM User' if users.empty?

  specs = users.map do |user|
    inline_policies = select_inline_policy_by_user_name(user.user_name).map do |policy_name|
      res = iam_client.get_user_policy({
                                         user_name: user.user_name,
                                         policy_name: policy_name
                                       })
      document = JSON.generate(JSON.parse(URI.decode_www_form_component(res.policy_document)))
      "it { should have_inline_policy('#{policy_name}').policy_document('#{document}') }"
    end
    content = ERB.new(iam_user_spec_template, nil, '-').result(binding).gsub(/^\n/, '')
  end
  specs.join("\n")
end