Sha256: e478aa8ae866ac37951d22bd59d0636e2c32dcde8407f94a1501e1cf772b0c2b

Contents?: true

Size: 1.66 KB

Versions: 16

Compression:

Stored size: 1.66 KB

Contents

#
# Author:: Philip (flip) Kromer (<flip@infochimps.com>)
# Copyright:: Copyright (c) 2011 Infochimps, Inc
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require_relative '../cluster_knife'

class Chef
  class Knife
    class ClusterStop < Ironfan::Script
      import_banner_and_options(Ironfan::Script)

      def relevant?(computer)
        (not computer.bogus?) && computer.running?
      end

      def perform_execution(target)
        section("Stopping computers")
        super(target)
      end

      def confirm_execution(target)
        ui.info "  Unless these nodes are backed by EBS volumes, this will result in loss of all data"
        ui.info "  not saved elsewhere. Even if they are EBS backed, there may still be some data loss."
        if target.any?(&:permanent?)
          ui.warn "These servers are marked as 'permanent=true': #{ui.color(target.select(&:permanent?).map(&:name).join('.'), :red)}"
        end
        confirm_or_exit("Are you absolutely certain that you want to perform this action? (Type 'Yes' to confirm) ", 'Yes')
      end

      def prepares?()   false   end
      def aggregates?() false   end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ironfan-6.1.9 lib/chef/knife/cluster_stop.rb
ironfan-6.0.9 lib/chef/knife/cluster_stop.rb
ironfan-6.1.7 lib/chef/knife/cluster_stop.rb
ironfan-6.1.6 lib/chef/knife/cluster_stop.rb
ironfan-6.0.8 lib/chef/knife/cluster_stop.rb
ironfan-6.1.5 lib/chef/knife/cluster_stop.rb
ironfan-6.1.4 lib/chef/knife/cluster_stop.rb
ironfan-6.1.3 lib/chef/knife/cluster_stop.rb
ironfan-6.1.0 lib/chef/knife/cluster_stop.rb
ironfan-6.0.7 lib/chef/knife/cluster_stop.rb
ironfan-6.0.6 lib/chef/knife/cluster_stop.rb
ironfan-6.0.5 lib/chef/knife/cluster_stop.rb
ironfan-6.0.4 lib/chef/knife/cluster_stop.rb
ironfan-6.0.3 lib/chef/knife/cluster_stop.rb
ironfan-6.0.1 lib/chef/knife/cluster_stop.rb
ironfan-6.0.0 lib/chef/knife/cluster_stop.rb