mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
4ffab4b18f
This is so the Live Specification can be accessed, which is expecially helpful in learning the ins and outs of Verizon's Enterprise Cloud. The Live Specification is available at /cloudapi/spec, and the hardcoded paths were hindering using it.
43 lines
1.8 KiB
Ruby
43 lines
1.8 KiB
Ruby
module Fog
|
|
module Compute
|
|
class Ecloud
|
|
class AdminOrganization < Fog::Ecloud::Model
|
|
identity :href
|
|
|
|
attribute :name, :aliases => :Name
|
|
attribute :type, :aliases => :Type
|
|
attribute :other_links, :aliases => :Links, :squash => :Link
|
|
attribute :multifactor_summary, :aliases => :MultifactorSummary
|
|
attribute :support_access, :aliases => :SupportAccess
|
|
|
|
def ssh_keys
|
|
@ssh_keys = Fog::Compute::Ecloud::SshKeys.new(:service => service, :href => "#{service.base_path}/admin/sshKeys/organizations/#{organization.id}")
|
|
end
|
|
|
|
def password_complexity_rules
|
|
@password_complexity_rules = Fog::Compute::Ecloud::PasswordComplexityRules.new(:service => service, :href => "#{service.base_path}/admin/organizations/#{organization.id}/passwordComplexityRules")
|
|
end
|
|
|
|
def login_banner
|
|
@login_banner = Fog::Compute::Ecloud::LoginBanner.new(:service => service, :href => "#{service.base_path}/admin/organizations/#{organization.id}/loginBanner")
|
|
end
|
|
|
|
def authentication_levels
|
|
@authentication_levels = Fog::Compute::Ecloud::AuthenticationLevels.new(:service => service, :href => "#{service.base_path}/admin/organizations/#{organization.id}/authenticationLevels")
|
|
end
|
|
|
|
def id
|
|
href.scan(/\d+/)[0]
|
|
end
|
|
|
|
def organization
|
|
@organization ||= begin
|
|
reload unless other_links
|
|
organization_link = other_links.find{|l| l[:type] == "application/vnd.tmrk.cloud.organization"}
|
|
self.service.organizations.new(organization_link)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|