class Azure::Armrest::ResourceGroupBasedSubservice

Base class for services that have two levels in the path and need to run in a resource group

Public Class Methods

new(configuration, service_name, subservice_name, default_provider, options) click to toggle source

Do not instantiate directly. This is an abstract base class from which all other service classes should subclass, and call super within their own constructors.

Calls superclass method Azure::Armrest::ArmrestService::new
# File lib/azure/armrest/resource_group_based_subservice.rb, line 9
def initialize(configuration, service_name, subservice_name, default_provider, options)
  @subservice_name = subservice_name
  super(configuration, service_name, default_provider, options)
end

Public Instance Methods

create(resource, subresource, rgroup = configuration.resource_group, options = {}) click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 14
def create(resource, subresource, rgroup = configuration.resource_group, options = {})
  validate_resource_group(rgroup)
  validate_resource(resource)
  validate_subresource(subresource)
  super(combine(resource, subresource), rgroup, options)
end
Also aliased as: update
delete(resource, subresource, rgroup = configuration.resource_group) click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 42
def delete(resource, subresource, rgroup = configuration.resource_group)
  validate_resource_group(rgroup)
  validate_resource(resource)
  validate_subresource(subresource)
  super(combine(resource, subresource), rgroup)
end
get(resource, subresource, rgroup = configuration.resource_group) click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 35
def get(resource, subresource, rgroup = configuration.resource_group)
  validate_resource_group(rgroup)
  validate_resource(resource)
  validate_subresource(subresource)
  super(combine(resource, subresource), rgroup)
end
list(resource, rgroup = configuration.resource_group) { |url| ... } click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 23
def list(resource, rgroup = configuration.resource_group)
  validate_resource_group(rgroup)
  validate_resource(resource)

  url = build_url(rgroup, resource, @subservice_name)
  url = yield(url) || url if block_given?
  response = rest_get(url)
  JSON.parse(response)['value'].map { |hash| model_class.new(hash) }
end
Also aliased as: list_all
list_all(resource, rgroup = configuration.resource_group)
Alias for: list
update(resource, subresource, rgroup = configuration.resource_group, options = {})
Alias for: create

Private Instance Methods

combine(resource, subresource) click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 55
def combine(resource, subresource)
  File.join(resource, @subservice_name, subresource)
end
validate_subresource(name) click to toggle source
# File lib/azure/armrest/resource_group_based_subservice.rb, line 51
def validate_subresource(name)
  raise ArgumentError, "must specify #{@subservice_name.singularize.underscore.humanize}" unless name
end