Sha256: 21e35c05e7192d3cb6a83a68834a1bf34db74c9e0d77594571dea8280c18fdbc

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require "vagrant-managed-servers/action/upload_status"
require "vagrant-managed-servers/action/init_deployment_tracker"
require "vagrant-managed-servers/action/take_synced_folder_ownership"
require "vagrant-managed-servers/action/track_deployment_start"
require "vagrant-managed-servers/action/track_deployment_end"
require "vagrant-managed-servers/action/track_server_deployment_start"
require "vagrant-managed-servers/action/track_server_deployment_end"

# It is useful to be able to call up, provision, reload, and destroy as a single
# unit - it makes things like parallel provisioning more seamless and provides
# a useful action hook for the push command.
module VagrantPlugins
  module ManagedServers
    module Action
      include Vagrant::Action::Builtin

      def self.action_push
        Vagrant::Action::Builder.new.tap do |b|
          b.use TrackServerDeploymentStart
          b.use action_up
          b.use TakeSyncedFolderOwnership
          b.use Call, action_provision do |env, b2|
            if env[:reboot]
              b2.use Call, action_reload do |_env, _b3|
              end
            end
          end
          b.use UploadStatus
          b.use action_destroy
          b.use TrackServerDeploymentEnd
        end
      end

      def self.action_download_status
        Vagrant::Action::Builder.new.tap do |b|
          b.use ConfigValidate
          b.use DownloadStatus
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vagrant-orchestrate-0.8.0 lib/vagrant-managed-servers/action.rb
vagrant-orchestrate-0.8.0.pre.3 lib/vagrant-managed-servers/action.rb
vagrant-orchestrate-0.8.0.pre.2 lib/vagrant-managed-servers/action.rb
vagrant-orchestrate-0.8.0.pre.1 lib/vagrant-managed-servers/action.rb