Class: Fog::Compute::Ecloud::Organization

Inherits:
Ecloud::Model show all
Defined in:
lib/rackspace-fog/ecloud/models/compute/organization.rb

Instance Attribute Summary

Attributes inherited from Ecloud::Model

#loaded

Attributes inherited from Model

#collection, #connection

Instance Method Summary collapse

Methods inherited from Ecloud::Model

#load_unless_loaded!, #reload

Methods inherited from Model

#initialize, #inspect, #reload, #symbolize_keys, #to_json, #wait_for

Methods included from Attributes::ClassMethods

#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes

Methods included from Attributes::InstanceMethods

#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one

Constructor Details

This class inherits a constructor from Fog::Model

Instance Method Details

#adminObject



26
27
28
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 26

def admin
  @admin ||= Fog::Compute::Ecloud::AdminOrganizations.new(:connection => connection, :href => "/cloudapi/ecloud/admin/organizations/#{id}").first
end

#disable_support_access(options = {}) ⇒ Object



66
67
68
69
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 66

def disable_support_access(options = {})
  options[:uri] = "/cloudapi/ecloud/admin/organizations/#{id}/action/disableSupportAccess"
  connection.admin_disable_support_access(options[:uri])
end

#edit_authentication_levels(options = {}) ⇒ Object



43
44
45
46
47
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 43

def edit_authentication_levels(options = {})
  options[:uri] = "/cloudapi/ecloud/admin/organizations/#{id}/authenticationLevels"
  data = connection.admin_edit_authentication_levels(options).body
  level = Fog::Compute::Ecloud::AdminOrganizations.new(:connection => connection, :href => data[:href])[0]
end

#edit_login_banner(options = {}) ⇒ Object



55
56
57
58
59
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 55

def (options = {})
  options[:uri] = "/cloudapi/ecloud/admin/organizations/#{id}/loginBanner"
  data = connection.(options).body
  banner = Fog::Compute::Ecloud::LoginBanners.new(:connection => connection, :href => data[:href])[0]
end

#edit_password_complexity_rules(options = {}) ⇒ Object



49
50
51
52
53
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 49

def edit_password_complexity_rules(options = {})
  options[:uri] = "/cloudapi/ecloud/admin/organizations/#{id}/passwordComplexityRules"
  data = connection.admin_edit_password_complexity_rules(options).body
  level = Fog::Compute::Ecloud::PasswordComplexityRules.new(:connection => connection, :href => data[:href])[0]
end

#enable_support_access(options = {}) ⇒ Object



61
62
63
64
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 61

def enable_support_access(options = {})
  options[:uri] = "/cloudapi/ecloud/admin/organizations/#{id}/action/enableSupportAccess"
  connection.admin_enable_support_access(options[:uri])
end

#environmentsObject Also known as: vdcs



18
19
20
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 18

def environments 
  @environments ||= Fog::Compute::Ecloud::Environments.new(:connection => connection, :href => href)
end

#idObject



71
72
73
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 71

def id
  href.scan(/\d+/)[0]
end

#locationsObject



14
15
16
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 14

def locations
  @locations ||= Fog::Compute::Ecloud::Locations.new( :connection => connection, :href => href )
end

#support_tickets(type = :open) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 34

def support_tickets(type = :open)
  case type
  when :open
    @support_tickets ||= Fog::Compute::Ecloud::SupportTickets.new(:connection => connection, :href => "/cloudapi/ecloud/admin/tickets/organizations/#{id}/active")
  when :closed
    @support_tickets ||= Fog::Compute::Ecloud::SupportTickets.new(:connection => connection, :href => "/cloudapi/ecloud/admin/tickets/organizations/#{id}/closed")
  end
end

#tagsObject



22
23
24
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 22

def tags
  @tags ||= Fog::Compute::Ecloud::Tags.new(:connection => connection, :href => "/cloudapi/ecloud/deviceTags/organizations/#{id}")
end

#usersObject



30
31
32
# File 'lib/rackspace-fog/ecloud/models/compute/organization.rb', line 30

def users
  @users ||= Fog::Compute::Ecloud::Users.new(:connection => connection, :href => "/cloudapi/ecloud/admin/users/organizations/#{id}")
end