Class: Heirloom::CLI::Rotate

Inherits:
Object
  • Object
show all
Includes:
Shared
Defined in:
lib/heirloom/cli/rotate.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Shared

#ensure_archive_domain_empty, #ensure_archive_exists, #ensure_buckets_available, #ensure_buckets_exist, #ensure_catalog_domain_exists, #ensure_directory_is_writable, #ensure_domain_exists, #ensure_entry_does_not_exist_in_catalog, #ensure_entry_exists_in_catalog, #ensure_metadata_in_upload_region, #ensure_path_is_directory, #ensure_valid_bucket_prefix, #ensure_valid_metadata_region, #ensure_valid_name, #ensure_valid_options, #ensure_valid_region, #ensure_valid_regions, #ensure_valid_secret, #latest_id, #load_config, #read_secret

Constructor Details

#initializeRotate

Returns a new instance of Rotate.



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
# File 'lib/heirloom/cli/rotate.rb', line 11

def initialize
  @opts = read_options
  @logger = HeirloomLogger.new :log_level => @opts[:level]
  @config = load_config :logger => @logger,
                        :opts   => @opts

  ensure_valid_options :provided => @opts,
                       :required => [:name, :id, :old_secret, :new_secret],
                       :config   => @config

  @catalog = Heirloom::Catalog.new :name   => @opts[:name],
                                   :config => @config

  @archive = Archive.new :name   => @opts[:name],
                         :config => @config,
                         :id     => @opts[:id]

  unless @opts[:bucket_prefix]
    ensure_archive_exists :archive => @archive,
                          :config  => @config
  end

  # Lookup upload regions, metadata region, and bucket_prefix from simpledb unless specified
  @opts[:regions]       ||= @catalog.regions
  @opts[:region]        ||= @catalog.regions.first
  @opts[:bucket_prefix] ||= @catalog.bucket_prefix
end

Class Method Details

.command_summaryObject



7
8
9
# File 'lib/heirloom/cli/rotate.rb', line 7

def self.command_summary
  'Rotate keys for an Heirloom'
end

Instance Method Details

#rotateObject



39
40
41
42
43
44
# File 'lib/heirloom/cli/rotate.rb', line 39

def rotate
  @archive.rotate @opts
rescue Heirloom::Exceptions::RotateFailed => e
  @config.logger.error e.message
  exit 1
end