Class: Awspec::Type::Rds

Inherits:
Base
  • Object
show all
Defined in:
lib/awspec/type/rds.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#id

Attributes included from Helper::Finder

#ec2_client

Instance Method Summary collapse

Methods inherited from Base

#exists?

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

#find_auto_scaling_group

Methods included from Helper::Finder::S3

#find_bucket

Methods included from Helper::Finder::Route53

#find_hosted_zone

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_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

Constructor Details

#initialize(id) ⇒ Rds

Returns a new instance of Rds.



5
6
7
8
9
# File 'lib/awspec/type/rds.rb', line 5

def initialize(id)
  super
  @instance = find_rds(id)
  @id = @instance[:db_instance_identifier] if @instance
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/awspec/type/rds.rb', line 27

def method_missing(name)
  describe = name.to_sym
  if @instance.members.include?(describe)
    @instance[describe]
  else
    super
  end
end

Instance Attribute Details

#instanceObject (readonly)

Returns the value of attribute instance.



3
4
5
# File 'lib/awspec/type/rds.rb', line 3

def instance
  @instance
end

Instance Method Details

#has_db_parameter_group?(name) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
51
52
# File 'lib/awspec/type/rds.rb', line 47

def has_db_parameter_group?(name)
  pgs = @instance[:db_parameter_groups]
  pgs.find do |pg|
    pg[:db_parameter_group_name] == name
  end
end

#has_option_group?(name) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
57
58
59
# File 'lib/awspec/type/rds.rb', line 54

def has_option_group?(name)
  ogs = @instance[:option_group_memberships]
  ogs.find do |og|
    og[:option_group_name] == name
  end
end

#has_security_group?(sg_id) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
43
44
45
# File 'lib/awspec/type/rds.rb', line 40

def has_security_group?(sg_id)
  return true if has_vpc_security_group_id?(sg_id)
  return true if has_vpc_security_group_name?(sg_id)
  return true if has_vpc_security_group_tag_name?(sg_id)
  return true if has_db_security_group_name?(sg_id)
end

#vpc_idObject



36
37
38
# File 'lib/awspec/type/rds.rb', line 36

def vpc_id
  @instance[:db_subnet_group][:vpc_id]
end