mirror of
https://github.com/hashicorp/vagrant.git
synced 2026-02-03 20:39:27 -05:00
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
30 lines
763 B
Ruby
30 lines
763 B
Ruby
# Copyright IBM Corp. 2010, 2025
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
module VagrantPlugins
|
|
module DockerProvider
|
|
module Action
|
|
class Pull
|
|
def initialize(app, env)
|
|
@app = app
|
|
end
|
|
|
|
def call(env)
|
|
@env = env
|
|
@machine = env[:machine]
|
|
@provider_config = @machine.provider_config
|
|
@driver = @machine.provider.driver
|
|
|
|
# Skip pulling if the image is built
|
|
return @app.call(env) if @env[:create_image] || !@provider_config.pull
|
|
|
|
image = @provider_config.image
|
|
env[:ui].output(I18n.t("docker_provider.pull", image: image))
|
|
@driver.pull(image)
|
|
|
|
@app.call(env)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|