Class: Fog::Resources::AzureRM::Real

Inherits:
Object
  • Object
show all
Defined in:
lib/fog/azurerm/resources.rb,
lib/fog/azurerm/requests/resources/list_resource_groups.rb,
lib/fog/azurerm/requests/resources/create_resource_group.rb,
lib/fog/azurerm/requests/resources/delete_resource_group.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Real

Returns a new instance of Real.



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/fog/azurerm/resources.rb', line 33

def initialize(options)
  begin
    require 'azure_mgmt_resources'
  rescue LoadError => e
    retry if require('rubygems')
    raise e.message
  end

  credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
  @rmc = ::Azure::ARM::Resources::ResourceManagementClient.new(credentials)
  @rmc.subscription_id = options[:subscription_id]
end

Instance Method Details

#create_resource_group(name, location) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/fog/azurerm/requests/resources/create_resource_group.rb', line 5

def create_resource_group(name, location)
  begin
    Fog::Logger.debug "Creating Resource Group: #{name}."
    rg_properties = ::Azure::ARM::Resources::Models::ResourceGroup.new
    rg_properties.location = location
    promise = @rmc.resource_groups.create_or_update(name, rg_properties)
    result = promise.value!
    Fog::Logger.debug "Resource Group #{name} created successfully."
    result
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception creating Resource Group #{name}. #{e.body['error']['message']}"
    raise msg
  end
end

#delete_resource_group(name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/fog/azurerm/requests/resources/delete_resource_group.rb', line 5

def delete_resource_group(name)
  begin
    Fog::Logger.debug "Deleting Resource Group: #{name}."
    promise = @rmc.resource_groups.delete(name)
    result = promise.value!
    Fog::Logger.debug "Resource Group #{name} deleted successfully."
    result
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception deleting Resource Group #{name}. #{e.body['error']['message']}"
    raise msg
  end
end

#list_resource_groupsObject



5
6
7
8
9
10
11
12
13
14
# File 'lib/fog/azurerm/requests/resources/list_resource_groups.rb', line 5

def list_resource_groups
  begin
    promise = @rmc.resource_groups.list
    response = promise.value!
    response.body.value
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception listing Resource Groups. #{e.body['error']['message']}"
    raise msg
  end
end