Sha256: a8519079fa2d48b0a97fab46f32c1cb9491716775b31433bd208a821ca7b82c1

Contents?: true

Size: 1.7 KB

Versions: 20

Compression:

Stored size: 1.7 KB

Contents

module Fog
  module OpenStack
    class Network
      class Real
        def add_router_interface(router_id, subnet_id_or_options)
          if subnet_id_or_options.kind_of? String
            data = {
              'subnet_id' => subnet_id_or_options,
            }
          elsif subnet_id_or_options.kind_of? Hash
            data = subnet_id_or_options
          else
            raise ArgumentError, 'Please pass a subnet id or hash {subnet_id:xxx,port_id:xxx}'
          end

          request(
            :body    => Fog::JSON.encode(data),
            :expects => [200],
            :method  => 'PUT',
            :path    => "routers/#{router_id}/add_router_interface"
          )
        end
      end

      class Mock
        def add_router_interface(_router_id, _subnet_id, _options = {})
          response = Excon::Response.new
          response.status = 201
          data = {
            'status'         => 'ACTIVE',
            'name'           => '',
            'admin_state_up' => true,
            'network_id'     => '5307648b-e836-4658-8f1a-ff7536870c64',
            'tenant_id'      => '6b96ff0cb17a4b859e1e575d221683d3',
            'device_owner'   => 'network:router_interface',
            'mac_address'    => 'fa:16:3e:f7:d1:9c',
            'fixed_ips'      => {
              'subnet_id'  => 'a2f1f29d-571b-4533-907f-5803ab96ead1',
              'ip_address' => '10.1.1.1'
            },
            'id'             => '3a44f4e5-1694-493a-a1fb-393881c673a4',
            'device_id'      => '7177abc4-5ae9-4bb7-b0d4-89e94a4abf3b'
          }

          self.data[:routers][data['router_id']] = data
          response.body = {'router' => data}
          response
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
fog-openstack-1.1.3 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.1.2 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-fork-99 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.1.0 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.1.0.pre lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-apibank-1.0.102 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.11 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-apibank-1.0.101 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.10 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.9 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.8 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.7 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.6 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.5 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.4 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.3 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.2 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.1 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-1.0.0 lib/fog/openstack/network/requests/add_router_interface.rb
fog-openstack-0.3.1 lib/fog/openstack/network/requests/add_router_interface.rb