Sha256: 6d33d4fe22a219d93d3862ae4f504f17f391bfe932c867c3da670892900671ce

Contents?: true

Size: 1.41 KB

Versions: 24

Compression:

Stored size: 1.41 KB

Contents

module Fog
  module Compute
    class Cloudstack

      class Real
        # Creates a firewall rule for a given ip address
        #
        # {CloudStack API Reference}[http://cloudstack.apache.org/docs/api/apidocs-4.4/root_admin/createFirewallRule.html]
        def create_firewall_rule(*args)
          options = {}
          if args[0].is_a? Hash
            options = args[0]
            options.merge!('command' => 'createFirewallRule')
          else
            options.merge!('command' => 'createFirewallRule',
            'ipaddressid' => args[0],
            'protocol' => args[1])
          end
          request(options)
        end
      end

      class Mock
        def create_firewall_rule(options={})
          firewall_rule_id = Fog::Cloudstack.uuid

          firewall_rule = {
            "id"              => network_offering_id,
            "protocol"        => "tcp",
            "startport"       => 80,
            "endport"         => 80,
            "ipaddressid"     => "f1f1f1f1-f1f1-f1f1-f1f1f1f1f1f1",
            "networkid"       => "f1f1f1f1-f1f1-f1f1-f1f1f1f1f1f1",
            "ipaddress"       => "10.1.1.253",
            "state"           => "Active",
            "cidrlist"        => "255.255.255.0/24"
          }

          self.data[:firewall_rules][firewall_rule_id] = firewall_ruleetwork_offering

          {'createfirewallruleresponse' => firewall_rule}
        end
      end

    end
  end
end

Version data entries

24 entries across 22 versions & 3 rubygems

Version Path
fog-2.1.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.42.1 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-2.0.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.42.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.41.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.40.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.39.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.38.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.37.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.36.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.35.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-2.0.0.pre.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-1.32.0/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.34.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.33.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.32.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb
fog-1.31.0 lib/fog/cloudstack/requests/compute/create_firewall_rule.rb