Giter Club home page Giter Club logo

Comments (2)

tacyan avatar tacyan commented on May 29, 2024

F.Y.I

require "base64"

    def create_server(options)
      raise OpenStack::Exception::MissingArgument, "Server name, flavorRef, and imageRef, must be supplied" unless (options[:name] && options[:flavorRef] && options[:imageRef])
      options[:personality] = Personalities.get_personality(options[:personality])
      options[:security_groups] = (options[:security_groups] || []).inject([]){|res, c| res << {"name"=>c} ;res}
      unless options[:user_data].nil?
        options[:user_data] = Base64.urlsafe_encode64(options[:user_data])
      end
      data = JSON.generate(:server => options)
      response = @connection.csreq("POST",@connection.service_host,"#{@connection.service_path}/servers",@connection.service_port,@connection.service_scheme,{'content-type' => 'application/json'},data)
      OpenStack::Exception.raise_exception(response) unless response.code.match(/^20.$/)
      server_info = JSON.parse(response.body)['server']
      server = OpenStack::Compute::Server.new(self,server_info['id'])
      server.adminPass = server_info['adminPass']
      return server
    end

from ruby-openstack.

BirknerAlex avatar BirknerAlex commented on May 29, 2024

You can use it without modify the create_server method and provide it as hash argument:

# Example which creates a vm with image id 1 and flavor id 1.
# Also uses base64 encoded string as user_data
openstack_server = compute_api.create_server(
        :name        => "hostname.domain.tld",
        :flavorRef   => 1,
        :imageRef => 1,
        :user_data   => "NCA4IDE1IDE2IDIzIDQy", #base64 encoded string!
)

Regards,
Alexander

from ruby-openstack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.