Sha256: 861711e85213b5d89b5495b4628468cf1bc2c3e1405f2e26ac43416fb3d7d175

Contents?: true

Size: 1.05 KB

Versions: 24

Compression:

Stored size: 1.05 KB

Contents

module Fog
  module Compute
    class Cloudstack

      class Real
        # List all public, private, and privileged templates.
        #
        # {CloudStack API Reference}[http://cloudstack.apache.org/docs/api/apidocs-4.4/root_admin/listTemplates.html]
        def list_templates(*args)
          options = {}
          if args[0].is_a? Hash
            options = args[0]
            options.merge!('command' => 'listTemplates')
          else
            options.merge!('command' => 'listTemplates',
            'templatefilter' => args[0])
          end

          # add project id if we have one
          @cloudstack_project_id ? options.merge!('projectid' => @cloudstack_project_id) : nil

          request(options)
        end
      end

      class Mock
        def list_templates(options={})
          templates = self.data[:images].values

          {
            "listtemplatesresponse" =>
              {
                "count" => templates.size,
                "template"=> templates
              }
          }
        end
      end
    end
  end
end

Version data entries

24 entries across 22 versions & 3 rubygems

Version Path
fog-1.30.0 lib/fog/cloudstack/requests/compute/list_templates.rb
fog-1.29.0 lib/fog/cloudstack/requests/compute/list_templates.rb
fog-1.28.0 lib/fog/cloudstack/requests/compute/list_templates.rb
fog-1.27.0 lib/fog/cloudstack/requests/compute/list_templates.rb