Sha256: 4ce2fd493558bbbcb36fe02122c84d28f811512ea9e1b91e21ac38063fb4330b

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

module Fog
  module Compute
    class OneAndOne
      class Vpn < Fog::Model

        # Declare Model Attributes
        identity  :id

        attribute :name
        attribute :description
        attribute :datacenter
        attribute :datacenter_id
        attribute :state
        attribute :type
        attribute :ips
        attribute :creation_date
        
        
        def save

          requires :name

          # Perform Request
          response = service.create_vpn(name: name, description: description,
            datacenter_id: datacenter_id)

          # Merge Attributes
          merge_attributes(response.body)

          true

        end


        def update(options = {})

          requires :id

          response = service.update_vpn(vpn_id: id, name: options[:name],
            description: options[:description])

          # Merge Attributes
          merge_attributes(response.body)

          true

        end


        def destroy

          requires :id

          service.delete_vpn(id)
          
          true

        end


        def ready?

          state == 'ACTIVE'

        end

      end # Vpn
    end # OneAndOne
  end # Compute
end # Fog

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-oneandone-1.2 lib/oneandone/models/compute/vpn.rb
fog-oneandone-1.0 lib/oneandone/models/compute/vpn.rb