Sha256: 5811d0eae687032a14c75894938a4452b842c5e2d93043c27f6d3ddf5a3e039a

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

require 'fog/core/model'

module Fog
  module Compute
  	class OracleCloud
	    class IpNetwork < Fog::Model
	      identity  :name

	      attribute :uri
	      attribute :description
	      attribute :tags
	      attribute :ip_address_prefix,        :aliases=>'ipAddressPrefix'
	      attribute :ip_network_exchange,      :aliases=>'ipNetworkExchange'
	      attribute :public_napt_enabled_flag, :aliases=>'publicNaptEnabledFlag'

 				def save
          requires :name, :ip_address_prefix
 					if !name.nil? && !name.start_with?("/Compute-") then
	          create
	         else
	         	update
	        end
        end

        def create 
          data = service.create_ip_network({
          	:name => name,
          	:ipAddressPrefix => ip_address_prefix, 
          	:ipNetworkExchange => ip_network_exchange,
          })
          merge_attributes(data.body)
        end

        def update
        	data = service.update_ip_network({
            :name => name,
            :ipAddressPrefix => ip_address_prefix, 
            :ipNetworkExchange => ip_network_exchange,
        	})
        	merge_attributes(data.body)
        end

        def destroy
        	requires :name
        	service.delete_ip_network(name)
        end

	    end
	  end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fog-oraclecloud-0.1.17 lib/fog/oraclecloud/models/compute/ip_network.rb
fog-oraclecloud-0.1.16 lib/fog/oraclecloud/models/compute/ip_network.rb
fog-oraclecloud-0.1.15 lib/fog/oraclecloud/models/compute/ip_network.rb
fog-oraclecloud-0.1.14 lib/fog/oraclecloud/models/compute/ip_network.rb