Sha256: 6465a370d18f88ea478727cd5d054b808d49cd29bbdc54ed992dcb283cca83d8

Contents?: true

Size: 1.84 KB

Versions: 7

Compression:

Stored size: 1.84 KB

Contents

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

        def reload
          @organization = nil
          super
        end
      end
    end
  end
end

Version data entries

7 entries across 5 versions & 2 rubygems

Version Path
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/models/admin_organization.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/models/admin_organization.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/models/admin_organization.rb
fog-ecloud-0.3.0 lib/fog/compute/ecloud/models/admin_organization.rb
fog-ecloud-0.2.0 lib/fog/compute/ecloud/models/admin_organization.rb
fog-ecloud-0.1.3 lib/fog/compute/ecloud/models/admin_organization.rb
fog-ecloud-0.1.2 lib/fog/compute/ecloud/models/admin_organization.rb