Sha256: 86088e2fa06d077ef5bee601c7199a839e4b21e63215a88df66ded19b47a56f6

Contents?: true

Size: 985 Bytes

Versions: 2

Compression:

Stored size: 985 Bytes

Contents

module DockerCookbook
  class DockerVolume < DockerBase
    require 'docker'

    resource_name :docker_volume

    property :driver, String, desired_state: false
    property :host, [String, nil], default: lazy { default_host }, desired_state: false
    property :opts, [String, Array, nil], desired_state: false
    property :volume, Docker::Volume, desired_state: false
    property :volume_name, String, name_property: true

    load_current_value do
      begin
        with_retries { volume Docker::Volume.get(volume_name, connection) }
      rescue Docker::Error::NotFoundError
        current_value_does_not_exist!
      end
    end

    action :create do
      converge_by "creating volume #{volume_name}" do
        Docker::Volume.create(volume_name, connection)
      end if volume.nil?
    end

    action :remove do
      converge_by "removing volume #{volume_name}" do
        volume.remove
      end unless volume.nil?
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chef-12.8.1 acceptance/top-cookbooks/test_run/docker/libraries/docker_volume.rb
chef-12.8.1-universal-mingw32 acceptance/top-cookbooks/test_run/docker/libraries/docker_volume.rb