Class: ZAWS::External::AWSCLI::Data::EC2::SecurityGroup

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

Direct Known Subclasses

Commands::EC2::DescribeSecurityGroups

Instance Method Summary collapse

Constructor Details

#initialize(shellout, ec2) ⇒ SecurityGroup

Returns a new instance of SecurityGroup.



8
9
10
11
12
# File 'lib/zaws/external/awscli/data/ec2/security_group.rb', line 8

def initialize(shellout, ec2)
  @shellout=shellout
  @ec2=ec2
  @ssecurity_group_hash=nil
end

Instance Method Details

#existsObject



41
42
43
44
45
# File 'lib/zaws/external/awscli/data/ec2/security_group.rb', line 41

def exists
  val = (@security_group_hash["SecurityGroups"].count == 1)
  sgroupid = val ? @security_group_hash["SecurityGroups"][0]["GroupId"] : nil
  return val, sgroupid
end

#load(data, verbose) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/zaws/external/awscli/data/ec2/security_group.rb', line 18

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

#validJSONObject



14
15
16
# File 'lib/zaws/external/awscli/data/ec2/security_group.rb', line 14

def validJSON
  return (@security_group_hash.nil?)
end

#view(viewtype = nil, verbose = nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/zaws/external/awscli/data/ec2/security_group.rb', line 28

def view(viewtype=nil,verbose=nil)
  details = @ec2.filestore.retrieve("securitygroups#{viewtype}", @ec2.command_ec2.describeSecurityGroups.aws.get_command)
  if details.nil?
    verbose.puts "Did not use cache." if verbose
    load(@ec2.command_ec2.describeSecurityGroups.execute(verbose), verbose)
    @ec2.filestore.store("securitygroups#{viewtype}", @security_group_raw_data, Time.now + @ec2.filestore.timeout, @ec2.command_ec2.describeSecurityGroups.aws.get_command)
  else
    verbose.puts "used cache." if verbose
    load(details, verbose)
  end
  return @security_group_raw_data
end