Sha256: 33e7c5bc68081642f507468fe06382e53bbc3c88bb771ce1cc5eb69176bea979

Contents?: true

Size: 2 KB

Versions: 14

Compression:

Stored size: 2 KB

Contents

module Vcloud
  module Core

    # Public interface to allow direct access to the API
    # if functionality does not exist in Core
    class ApiInterface

      # Private interface to Fog service layer to allow direct access to Fog
      # for functionality not exposed elsewhere in Vcloud::Core.
      #
      # @api private
      def fog_service_interface
        @fog_service_interface ||= Vcloud::Core::Fog::ServiceInterface.new
      end

      # Private interface to Fog model layer to allow direct access to Fog for
      # functionality not exposed elsewhere in Vcloud::Core.
      #
      # @api private
      def fog_model_interface
        @fog_model_interface ||= Vcloud::Core::Fog::ModelInterface.new
      end

      # Get a vApp by name and vdc_name
      #
      # @param name [String] Name of the vApp
      # @param vdc_name [String] Name of the vDC
      # @return [String] Response body describing the vApp
      def get_vapp_by_name_and_vdc_name(name, vdc_name)
        fog_service_interface.get_vapp_by_name_and_vdc_name(name, vdc_name)
      end

      # Get a vApp by id
      #
      # @param  id [String] ID of the vApp to get
      # @return [String] Response body describing the vApp
      def get_vapp(id)
        fog_service_interface.get_vapp(id)
      end

      # Delete a vApp by id
      #
      # @param id [String] ID of the vApp to delete
      # @return [Boolean] return true or throw error
      def delete_vapp(id)
        fog_service_interface.delete_vapp(id)
      end

      # Delete a network by id
      #
      # @param id [String] ID of the network to delete
      # @return [Boolean] return true or throw error
      def delete_network(id)
        fog_service_interface.delete_network(id)
      end

      # Returns a Fog::Compute::VcloudDirector::Organization instance representing
      # the current organization
      #
      # @return [Fog::Compute::VcloudDirector::Organization]
      def current_organization
        fog_model_interface.current_organization
      end

    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vcloud-core-2.2.0 lib/vcloud/core/api_interface.rb
vcloud-core-2.1.1 lib/vcloud/core/api_interface.rb
vcloud-core-2.1.0 lib/vcloud/core/api_interface.rb
vcloud-core-2.0.1 lib/vcloud/core/api_interface.rb
vcloud-core-2.0.0 lib/vcloud/core/api_interface.rb
vcloud-core-1.2.0 lib/vcloud/core/api_interface.rb
vcloud-core-1.1.0 lib/vcloud/core/api_interface.rb
vcloud-core-1.0.2 lib/vcloud/core/api_interface.rb
vcloud-core-1.0.1 lib/vcloud/core/api_interface.rb
vcloud-core-1.0.0 lib/vcloud/core/api_interface.rb
vcloud-core-0.16.1 lib/vcloud/core/api_interface.rb
vcloud-core-0.16.0 lib/vcloud/core/api_interface.rb
vcloud-core-0.15.0 lib/vcloud/core/api_interface.rb
vcloud-core-0.14.0 lib/vcloud/core/api_interface.rb