class Fog::Identity::OpenStack::User
Attributes
email[RW]
enabled[RW]
name[RW]
password[RW]
tenant_id[RW]
Public Class Methods
new(attributes)
click to toggle source
Calls superclass method
# File lib/fog/openstack/models/identity/user.rb, line 17 def initialize(attributes) # Old 'connection' is renamed as service and should be used instead prepare_service_value(attributes) super end
Public Instance Methods
destroy()
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 57 def destroy requires :id service.delete_user(id) true end
ec2_credentials()
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 23 def ec2_credentials requires :id service.ec2_credentials(:user => self) end
roles(tenant_id = self.tenant_id)
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 63 def roles(tenant_id = self.tenant_id) service.list_roles_for_user_on_tenant(tenant_id, self.id).body['roles'] end
save()
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 28 def save raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted? requires :name, :tenant_id, :password enabled = true if enabled.nil? data = service.create_user(name, password, email, tenant_id, enabled) merge_attributes(data.body['user']) true end
update(options = {})
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 37 def update(options = {}) requires :id options.merge('id' => id) response = service.update_user(id, options) true end
update_enabled(enabled)
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 53 def update_enabled(enabled) update({:enabled => enabled, 'url' => "/users/#{id}/OS-KSADM/enabled"}) end
update_password(password)
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 44 def update_password(password) update({'password' => password, 'url' => "/users/#{id}/OS-KSADM/password"}) end
update_tenant(tenant)
click to toggle source
# File lib/fog/openstack/models/identity/user.rb, line 48 def update_tenant(tenant) tenant = tenant.id if tenant.class != String update({:tenantId => tenant, 'url' => "/users/#{id}/OS-KSADM/tenant"}) end