Class: Awspec::Generator::Spec::IamPolicy
- Inherits:
-
Object
- Object
- Awspec::Generator::Spec::IamPolicy
- Includes:
- Helper::Finder
- Defined in:
- lib/awspec/generator/spec/iam_policy.rb
Instance Attribute Summary
Attributes included from Helper::Finder
Instance Method Summary collapse
- #generate_all ⇒ Object
-
#policy_spec_template ⇒ Object
rubocop:disable all.
Methods included from Helper::Finder
Methods included from Helper::Finder::Cloudwatch
Methods included from Helper::Finder::Elasticache
#find_cache_cluster, #find_cache_subnet_group
Methods included from Helper::Finder::Iam
#select_all_attached_policies, #select_attached_entities, #select_attached_groups, #select_attached_roles, #select_attached_users, #select_iam_group_by_user_name, #select_iam_policy_by_group_name, #select_iam_policy_by_role_name, #select_iam_policy_by_user_name, #select_policy_evaluation_results
Methods included from Helper::Finder::Lambda
#find_lambda, #select_event_source_by_function_arn
Methods included from Helper::Finder::Elb
#find_elb, #select_elb_by_vpc_id
Methods included from Helper::Finder::Ebs
#find_ebs, #select_ebs_by_instance_id
Methods included from Helper::Finder::AutoScaling
Methods included from Helper::Finder::S3
Methods included from Helper::Finder::Route53
Methods included from Helper::Finder::Rds
#find_rds, #select_rds_by_vpc_id
Methods included from Helper::Finder::SecurityGroup
#find_security_group, #select_security_group_by_vpc_id
Methods included from Helper::Finder::Ec2
#find_ec2, #find_ec2_attribute, #find_internet_gateway, #find_security_group, #find_subnet, #select_ec2_by_vpc_id, #select_eip_by_instance_id
Methods included from Helper::Finder::Vpc
#find_network_acl, #find_route_table, #find_vpc, #select_network_acl_by_vpc_id, #select_route_table_by_vpc_id
Instance Method Details
#generate_all ⇒ Object
5 6 7 8 9 |
# File 'lib/awspec/generator/spec/iam_policy.rb', line 5 def generate_all policies = select_all_attached_policies policies.empty? && fail('Not Found policy') ERB.new(policy_spec_template, nil, '-').result(binding).chomp end |
#policy_spec_template ⇒ Object
rubocop:disable all
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/awspec/generator/spec/iam_policy.rb', line 12 def policy_spec_template template = <<-'EOF' <% policies.each do |policy| %> describe iam_policy('<%= policy.policy_name %>') do it { should exist } <%- if policy.is_attachable -%> it { should be_attachable } <%- else -%> it { should_not be_attachable } <%- end -%> its(:arn) { should eq '<%= policy.arn %>' } its(:update_date) { should eq Time.parse('<%= policy.update_date %>') } its(:attachment_count) { should eq <%= policy.attachment_count %> } <%- users = select_attached_users(policy.arn) -%> <%- if users.empty? -%> it { should_not be_attached_to_user } <%- else -%> <%- users.each do |user| -%> it { should be_attached_to_user('<%= user.user_name %>') } <%- end -%> <%- end -%> <%- groups = select_attached_groups(policy.arn) -%> <%- if groups.empty? -%> it { should_not be_attached_to_group } <%- else -%> <%- groups.each do |group| -%> it { should be_attached_to_group('<%= group.group_name %>') } <%- end -%> <%- end -%> <%- roles = select_attached_roles(policy.arn) -%> <%- if roles.empty? -%> it { should_not be_attached_to_role } <%- else -%> <%- roles.each do |role| -%> it { should be_attached_to_role('<%= role.role_name %>') } <%- end -%> <%- end -%> end <% end %> EOF template end |