Class: ZAWS::AWSCLI::Data::IAM::PolicyDocument

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

Instance Method Summary collapse

Constructor Details

#initialize(shellout, iam) ⇒ PolicyDocument

Returns a new instance of PolicyDocument.



7
8
9
10
11
# File 'lib/zaws/external/awscli/data/iam/policy_document.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/policy_document.rb', line 17

def load(command,data,verbose)
			@policy_doc_raw_data = data 
			verbose.puts(@policy_doc_raw_data) if verbose 
			@policy_doc_hash=nil
			begin
 @policy_doc_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/policy_document.rb', line 31

def resource_instance_ids()
			instance_ids=nil
     if @policy_doc_hash and @policy_doc_hash["Statement"] 
 statements = @policy_doc_hash["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/policy_document.rb', line 13

def validJSON
			return (@subnet_hash.nil?)
end

#viewObject



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

def view()
			return @policy_doc_raw_data 
end