diff --git a/lib/fog/openstack/README.identity.md b/lib/fog/openstack/README.identity.md new file mode 100644 index 000000000..3eea4fb97 --- /dev/null +++ b/lib/fog/openstack/README.identity.md @@ -0,0 +1,69 @@ +# OpenStack Identity Service (Keystone) Example + + require 'fog' + require 'pp' + + auth_url = "https://example.net/v2.0/tokens" + username = 'admin@example.net' + password = 'secret' + + keystone = Fog::Identity.new :provider => 'OpenStack', + :openstack_auth_url => auth_url, + :openstack_username => username, + :openstack_api_key => password + # Optional, self-signed certs + #:connection_options => { :ssl_verify_peer => false } + + # + # Listing keystone tenants + # + keystone.tenants.each do |tenant| + # + #pp tenant + end + + # + # List users + # + keystone.users.each do |user| + # + # ... + #pp user + end + + # + # Create a new tenant + # + tenant = keystone.tenants.create :name => 'rubiojr@example.net', + :description => 'My foo tenant' + + # + # Create a new user + # + user = keystone.users.create :name => 'rubiojr@example.net', + :tenant_id => tenant.id, + :password => 'rubiojr@example.net', + :email => 'rubiojr@example.net' + + + # Find the recently created tenant + tenant = keystone.tenants.find { |t| t.name == 'rubiojr@example.net' } + # Destroy the tenant + tenant.destroy + + # Find the recently created user + user = keystone.users.find { |u| u.name == 'rubiojr@example.net' } + # Destroy the user + user.destroy