Class: Seiton::Rds
- Defined in:
- lib/seiton/rds.rb
Constant Summary
Constants inherited from Client
Instance Method Summary collapse
Methods included from RdsCheck
Methods included from Helper
#datetime_parse, #log, #name_tag, #process_ok?, #volume_ids
Methods inherited from Client
Constructor Details
This class inherits a constructor from Seiton::Client
Instance Method Details
#rds_snapshot(check = false, dt, ignores) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/seiton/rds.rb', line 7 def rds_snapshot(check = false, dt, ignores) if check log.info('List up the resources to be removed.') else log.info('Start deleting.') end res = rds_client.describe_db_cluster_snapshots({}) delete_db_snapshots = [] res.db_cluster_snapshots.each do |delete_db_snapshot| if datetime_parse(delete_db_snapshot.snapshot_create_time.to_s) < datetime_parse(dt) delete_db_snapshots << delete_db_snapshot end end unless ignores.nil? ignore_resouces = [] ignores.each do |ignore| ignore_resouces << delete_db_snapshots.select { |delete_db_snapshot| delete_db_snapshot.db_cluster_snapshot_identifier == ignore }.last delete_db_snapshots.delete_if { |delete_db_snapshot| delete_db_snapshot.db_cluster_snapshot_identifier == ignore } end end if delete_db_snapshots.empty? log.info('The resource to be deleted does not exist.') exit 0 end puts display_db_snapshot_resources(delete_db_snapshots) generator_db_snapshots_check(delete_db_snapshots, ignore_resouces) exit 0 if check if process_ok? begin delete_db_snapshots.each do |delete_db_snapshot| delete_db_snapshot_action(delete_db_snapshot.db_cluster_snapshot_identifier) end rescue StandardError => e log.error(e) exit 1 end else exit 0 end end |