Sha256: 2dd83a2636be2e87c06090977e4078350bd635689b03fb7bb16ca1636c6c50b9

Contents?: true

Size: 800 Bytes

Versions: 91

Compression:

Stored size: 800 Bytes

Contents

require 'fog/core/collection'
require 'fog/openstack/models/identity/tenant'

module Fog
  module Identity
    class OpenStack
      class Tenants < Fog::Collection
        model Fog::Identity::OpenStack::Tenant

        def all
          load(service.list_tenants.body['tenants'])
        end

        def find_by_id(id)
          cached_tenant = self.find {|tenant| tenant.id == id}
          return cached_tenant if cached_tenant
          tenant_hash = service.get_tenant(id).body['tenant']
          Fog::Identity::OpenStack::Tenant.new(
            tenant_hash.merge(:service => service))
        end

        def destroy(id)
          tenant = self.find_by_id(id)
          tenant.destroy
        end
      end # class Tenants
    end # class OpenStack
  end # module Compute
end # module Fog

Version data entries

91 entries across 91 versions & 10 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/openstack/models/identity/tenants.rb
fog-1.30.0 lib/fog/openstack/models/identity/tenants.rb
fog-1.29.0 lib/fog/openstack/models/identity/tenants.rb
fog-1.28.0 lib/fog/openstack/models/identity/tenants.rb
fog-1.27.0 lib/fog/openstack/models/identity/tenants.rb
fog-1.26.0 lib/fog/openstack/models/identity/tenants.rb
fog-1.25.0 lib/fog/openstack/models/identity/tenants.rb
nsidc-fog-1.24.1 lib/fog/openstack/models/identity/tenants.rb
fog-1.24.0 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.11 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.10 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.9 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.8 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.7 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.6 lib/fog/openstack/models/identity/tenants.rb
fog-1.23.0 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.4 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.3 lib/fog/openstack/models/identity/tenants.rb
ns-fog-1.22.2 lib/fog/openstack/models/identity/tenants.rb
fog-1.22.1 lib/fog/openstack/models/identity/tenants.rb