Advertisement
Guest User

Foreman host create with two interfaces

a guest
Apr 29th, 2013
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.71 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. require 'rubygems'
  3. require 'rest-client'
  4. require 'json'
  5. client = RestClient::Resource.new('http://localhost:3000',
  6.                                   :user     => 'admin',
  7.                                   :password => 'xxx',
  8.                                   :headers  => { :accept => :json })
  9.  
  10. parameters = { :host => {
  11.    :name => 'mg-vmware-test1.qa.atix',
  12.    :ip => '192.168.1.234',
  13.    :hostgroup_id => 1,
  14.    :compute_resource_id => 1,
  15.    :hostgroup_id => 4,
  16.    :domain_id => 1,
  17.    :subnet_id => 1,
  18.    :puppet_proxy_id => 3,
  19.    :mac => '',
  20.      "interfaces_attributes"=>{
  21.         "new_1367236066102"=>{
  22.             "_destroy"=>"false",
  23.             "type"=>"Nic::Managed",
  24.             "mac"=>"00:00:00:00:00:02",
  25.             "ip"=>"192.168.3.234",
  26.             "domain_id"=>"2",
  27.             "subnet_id"=>"2",
  28.             "name"=>"mg-vmware-test1"
  29.         },
  30.      },
  31.    :compute_attributes=>{
  32.       "cpus"=>"1",
  33.       "guest_id"=>"rhel6_64Guest",
  34.       "start"=>"1",
  35.       "cluster"=>"ATIX_Test",
  36.       "path"=>"/Datencenter/axref200/vm",
  37.       "memory_mb"=>"768",
  38.       "interfaces_attributes"=>{
  39.         "new_eth0"=>{"network"=>"QA", "type"=>"VirtualVmxnet3", "_delete"=>""},
  40.         "new_eth1"=>{"network"=>"Gallien", "type"=>"VirtualVmxnet3", "_delete"=>""},
  41.       },
  42.       "volumes_attributes"=>{
  43.         "new_volumes"=>{"size_gb"=>"10", "datastore"=>"TESTING", "_delete"=>"", "name"=>"Hard disk"},
  44.         "0"=>{"size_gb"=>"10", "datastore"=>"TESTING", "_delete"=>"", "name"=>"Hard disk"}
  45.       }
  46.    },
  47.    :host_parameters_attributes => [
  48.      
  49.    ],
  50.    :build => 1
  51. }}
  52.  
  53. begin
  54.   client["hosts/"].post(parameters)
  55. rescue => e
  56.   puts e.response
  57. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement