class Azure::Armrest::RoleService

Abstract base class for use by role related service classes.

Public Instance Methods

get(role_name, options = {})
Alias for: get_by_name
get_by_id(role_id, options = {}) click to toggle source

Gets information for the role assignment via a resource string ID.

# File lib/azure/armrest/role.rb, line 36
def get_by_id(role_id, options = {})
  url = build_url(options.merge(:resource => role_id))
  response = rest_get(url)
  model_class.new(response.body)
end
Also aliased as: get_by_resource
get_by_name(role_name, options = {}) click to toggle source

Gets information for the role assignment by name, where the “name” is really just the last portion (GUID) of an ID string.

# File lib/azure/armrest/role.rb, line 26
def get_by_name(role_name, options = {})
  url = build_url(options.merge(:subscription => true), role_name)
  response = rest_get(url)
  model_class.new(response.body)
end
Also aliased as: get
get_by_resource(role_id, options = {})
Alias for: get_by_id
list(resource_group, options = {}) click to toggle source

List all role assignments for the given resource_group.

# File lib/azure/armrest/role.rb, line 56
def list(resource_group, options = {})
  url = build_url(options.merge(:resource_group => resource_group))
  response = rest_get(url)
  Azure::Armrest::ArmrestCollection.create_from_response(response, model_class)
end
Also aliased as: list_for_resource_group
list_all(options = {}) click to toggle source

List all role assignments for the current subscription.

# File lib/azure/armrest/role.rb, line 46
def list_all(options = {})
  url = build_url(options.merge(:subscription => true))
  response = rest_get(url)
  Azure::Armrest::ArmrestCollection.create_from_response(response, model_class)
end
Also aliased as: list_for_subscription
list_for_resource(resource, options = {}) click to toggle source

List all role assignments for the given resource.

Example:

vms = Azure::Armrest::VirtualMachineService.new(conf)
ads = Azure::Armrest::Role::AssignmentService.new(conf)

vm = vms.get('some_vm', 'some_group')
ads.list_for_resource(vm.id)
# File lib/azure/armrest/role.rb, line 74
def list_for_resource(resource, options = {})
  url = build_url(options.merge(:resource => resource))
  response = rest_get(url)
  Azure::Armrest::ArmrestCollection.create_from_response(response, model_class)
end
list_for_resource_group(resource_group, options = {})
Alias for: list
list_for_subscription(options = {})
Alias for: list_all

Private Instance Methods

build_url(options = {}, property = nil) click to toggle source
# File lib/azure/armrest/role.rb, line 82
def build_url(options = {}, property = nil)
  resource = options.delete(:resource)
  resource_group = options.delete(:resource_group)
  subscription = options.delete(:subscription)

  if subscription
    url = File.join(base_url, 'providers', provider, service_name)
  elsif resource_group
    url = File.join(base_url, 'resourceGroups', resource_group, 'providers', provider, service_name)
  else # resource
    url = File.join(configuration.environment.resource_url, resource, 'providers', provider, service_name)
  end

  url = File.join(url, property) if property 
  url = "#{url}?api-version=#{api_version}"

  options.each { |key, value| url << "&$#{key}=#{value}" }

  url
end