Sha256: eec5331ff2f4093bd2af32e85178d5cc70d3a4b1d3b8f59aebfec5200d895b0a

Contents?: true

Size: 807 Bytes

Versions: 2

Compression:

Stored size: 807 Bytes

Contents

module Vultr
  class SnapshotsResource < Resource
    def list(**params)
      response = get_request("snapshots", params: params)
      Collection.from_response(response, key: "snapshots", type: Snapshot)
    end

    def create(**attributes)
      Snapshot.new post_request("snapshots", body: attributes).body.dig("snapshot")
    end

    def retrieve(snapshot_id:)
      Snapshot.new get_request("snapshots/#{snapshot_id}").body.dig("snapshot")
    end

    def create_from_url(url)
      Snapshot.new post_request("snapshots/create-from-url", body: {url: url}).body.dig("snapshot")
    end

    def update(snapshot_id:, **attributes)
      put_request("snapshots/#{snapshot_id}", body: attributes)
    end

    def delete(snapshot_id:)
      delete_request("snapshots/#{snapshot_id}")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vultr-2.0.0 lib/vultr/resources/snapshots.rb
vultr-1.0.0 lib/vultr/resources/snapshots.rb