Module: Tfrb::Resource::AwsDbInstance

Extended by:
Tfrb::Resource
Defined in:
lib/tfrb/resource/aws_db_instance.rb

Class Method Summary collapse

Methods included from Tfrb::Resource

aws_options, extended, get_custom_resource, get_state, import!, load_helpers!, resolve_tfvar, set_default

Class Method Details

.load(base, environment_name, resource_type, new_resources) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/tfrb/resource/aws_db_instance.rb', line 18

def self.load(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    client = ::Aws::RDS::Client.new(aws_options(base, resource))
    begin
      response = client.describe_db_instances({
        db_instance_identifier: resource_name
      })
      id = response.db_instances.first.db_instance_identifier
      import!(base, resource_type, resource_name, id)
    rescue ::Aws::RDS::Errors::DBInstanceNotFound
      # Does not exist to import
    end
  end
end

.preload(base, environment_name, resource_type, new_resources) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/tfrb/resource/aws_db_instance.rb', line 6

def self.preload(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    set_default(resource, 'identifier', resource_name)
    set_default(resource, 'backup_window', '07:00-08:00')
    set_default(resource, 'backup_retention_period', 30)
    set_default(resource, 'deletion_protection', true)
    set_default(resource, 'maintenance_window', 'sat:08:00-sat:09:00')
    set_default(resource, 'multi_az', false)
    set_default(resource, 'publicly_accessible', false)
  end
end