31 lines
788 B
Ruby
31 lines
788 B
Ruby
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
module Vagrant
|
|
module Plugin
|
|
module Remote
|
|
class Command < V2::Command
|
|
# Add an attribute accesor for the client
|
|
# when applied to the Command class
|
|
attr_accessor :client
|
|
|
|
def initialize(argv, env, **kwargs)
|
|
@logger = Log4r::Logger.new("vagrant::remote::command")
|
|
@logger.debug("initializing command with remote backend")
|
|
@argv = argv
|
|
@env = env
|
|
@client = kwargs.delete(:client)
|
|
if @client.nil?
|
|
raise ArgumentError,
|
|
"Remote client is required for `#{self.class.name}`"
|
|
end
|
|
end
|
|
|
|
def execute
|
|
client.execute(@argv)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|