Class: ZAWS::AWSCLI::Data::IAM::RolePolicy

Inherits:
Object
  • Object
show all
Defined in:
lib/zaws/external/awscli/data/iam/role_policy.rb

Instance Method Summary collapse

Constructor Details

#initialize(shellout, iam) ⇒ RolePolicy

Returns a new instance of RolePolicy.



7
8
9
10
11
# File 'lib/zaws/external/awscli/data/iam/role_policy.rb', line 7

def initialize(shellout, iam)
  @shellout=shellout
  @iam=iam
  @subnet_hash=nil
end

Instance Method Details

#load(command, data, verbose) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/zaws/external/awscli/data/iam/role_policy.rb', line 17

def load(command, data, verbose)
  @subnet_raw_data = data
  verbose.puts(@subnet_raw_data) if verbose
  @subnet_hash=nil
  begin
    @subnet_hash =JSON.parse(data)
  rescue JSON::ParserError => e
  end
end

#resource_instance_idsObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/zaws/external/awscli/data/iam/role_policy.rb', line 31

def resource_instance_ids()
  instance_ids=nil
  if @subnet_hash and @subnet_hash["PolicyDocument"] and @subnet_hash["PolicyDocument"]["Statement"]
    statements = @subnet_hash["PolicyDocument"]["Statement"]
    statements.each do |item|
      if item["Resource"]
        item["Resource"].each do |res|
          if res =~ /:instance/
            instance_ids += ("\n" + res[/([^\/]+)$/]) if !instance_ids.nil?
            instance_ids = res[/([^\/]+)$/] if instance_ids.nil?
          end
        end
      end
    end
  end
  instance_ids
end

#validJSONObject



13
14
15
# File 'lib/zaws/external/awscli/data/iam/role_policy.rb', line 13

def validJSON
  return (@subnet_hash.nil?)
end

#viewObject



27
28
29
# File 'lib/zaws/external/awscli/data/iam/role_policy.rb', line 27

def view()
  return @subnet_raw_data
end