Module: Tfrb::Resource::AwsElasticacheReplicationGroup

Extended by:
Tfrb::Resource
Defined in:
lib/tfrb/resource/aws_elasticache_replication_group.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



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/tfrb/resource/aws_elasticache_replication_group.rb', line 14

def self.load(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    client = ::Aws::ElastiCache::Client.new(aws_options(base, resource))
    begin
      response = client.describe_replication_groups({
        replication_group_id: resource['replication_group_id']
      })
      if response.replication_groups.size >= 1
        id = response.replication_groups.first.replication_group_id
        import!(base, resource_type, resource_name, id)
      end
    rescue ::Aws::ElastiCache::Errors::ReplicationGroupNotFoundFault
      # Does not exist to import
    end
  end
end

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



6
7
8
9
10
11
12
# File 'lib/tfrb/resource/aws_elasticache_replication_group.rb', line 6

def self.preload(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    set_default(resource, 'snapshot_window', '07:00-08:00')
    set_default(resource, 'snapshot_retention_limit', '30')
    set_default(resource, 'maintenance_window', 'sat:08:00-sat:09:00')
  end
end