Sha256: f912bf1902dafa3431a0ab7ddb51cfb96397a94f5371a96e1b4c0acba9bd620e

Contents?: true

Size: 1.93 KB

Versions: 10

Compression:

Stored size: 1.93 KB

Contents

# Yao

![Logo](./yao-logo.png)

YAO is a Yet Another OpenStack API Wrapper that rocks!!

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'yao'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install yao

## Usage

```ruby
require 'yao'

Yao.configure do
  auth_url    "http://keystone.example.local:8080/v2.0"
  tenant_name "fooproject"
  username    "udzura"
  password    "tonk0tsu-r@men"

  # timeout is optional
  timeout     300

  # If your endpoint requires cacert,cert and key
  ca_cert "/path/to/my.ca"
  client_cert "/path/to/my.pem"
  client_key "/path/to/my.key"

  # If you want to change region
  region_name "FukuokaRegion"
end

Yao::Network.list # list up networks...
Yao::Server.list # list up instances...
```

If you want to override some of endpoints by service, you can do:

```ruby
Yao.configure do
  auth_url    "http://endpoint.example.com:12345/v2.0"
  tenant_name "example"
  username    "udzura"
  password    "XXXXXXXX"
  endpoints   identity: { public: "http://override-endpoint.example.com:35357/v3.0" }
end
```

## Support policy

YAO supports rubies which are supported by Ruby Core Team. Please look into [`.travis.yml`](./.travis.yml) 's directive.

If you want to use YAO's full functionality, e.g Ruby 2.3 or below, please create an issue or a PR first (PR Recommended ;) ).

## Pro tips

You can use a prittier namespace:

```ruby
# Instead of require-ing 'yao'
require 'yao/is_openstack_client'

OpenStack.configure do
  auth_url    "http://keystone.example.local:8080/v2.0"
  tenant_name "fooproject"
  username    "udzura"
  password    "tonk0tsu-r@men"
end

OpenStack::Server.list # And let's go on
```

## Contributing

1. Fork it ( https://github.com/yaocloud/yao/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
yao-0.21.0 README.md
yao-0.20.0 README.md
yao-0.19.0 README.md
yao-0.18.0 README.md
yao-0.17.0 README.md
yao-0.16.0 README.md
yao-0.15.0 README.md
yao-0.14.0 README.md
yao-0.13.4 README.md
yao-0.13.3 README.md