class Chef::Resource::ChefOrganization

Public Instance Methods

data_handler() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 149
def data_handler
  OrganizationDataHandler.new
end
existing_members() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 80
def existing_members
  @existing_members ||= rest.get("#{rest.root_url}/organizations/#{new_resource.organization_name}/users").map { |u| u["user"]["username"] }
end
invites_to_remove() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 94
def invites_to_remove
  if new_resource.complete
    if new_resource.property_is_set?(:invites) || new_resource.property_is_set?(:members)
      result = outstanding_invites.keys
      result -= new_resource.invites if new_resource.property_is_set?(:invites)
      result -= new_resource.members if new_resource.property_is_set?(:members)
      result
    else
      []
    end
  else
    new_resource.remove_members
  end
end
keys() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 153
def keys
  {
    "name" => :organization_name,
    "full_name" => :full_name,
  }
end
load_current_resource() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 131
def load_current_resource
  @current_resource = json_to_resource(rest.get("#{rest.root_url}/organizations/#{new_resource.organization_name}"))
rescue Net::HTTPClientException => e
  if e.response.code == "404"
    @current_resource = not_found_resource
  else
    raise
  end
end
members_to_remove() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 109
def members_to_remove
  if new_resource.complete
    if new_resource.property_is_set?(:members)
      existing_members - (new_resource.invites | new_resource.members)
    else
      []
    end
  else
    new_resource.remove_members
  end
end
outstanding_invites() click to toggle source
# File lib/chef/resource/chef_organization.rb, line 84
def outstanding_invites
  @outstanding_invites ||= begin
    invites = {}
    rest.get("#{rest.root_url}/organizations/#{new_resource.organization_name}/association_requests").each do |r|
      invites[r["username"]] = r["id"]
    end
    invites
  end
end
resource_class() click to toggle source

Helpers

# File lib/chef/resource/chef_organization.rb, line 145
def resource_class
  Chef::Resource::ChefOrganization
end