Sha256: 3f44a3e049fa6e0ae91ffd08edac44d25dba3d885e2de13039600df78c90169d

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

module Fog
  module Resources
    class AzureRM
      # This class provides the actual implementation for service calls.
      class Real
        def create_resource_group(name, location)
          msg = "Creating Resource Group: #{name}."
          Fog::Logger.debug msg
          resource_group = Azure::ARM::Resources::Models::ResourceGroup.new
          resource_group.location = location
          begin
            resource_group = @rmc.resource_groups.create_or_update(name, resource_group)
          rescue  MsRestAzure::AzureOperationError => e
            raise_azure_exception(e, msg)
          end
          Fog::Logger.debug "Resource Group #{name} created successfully."
          resource_group
        end
      end

      # This class provides the mock implementation for unit tests.
      class Mock
        def create_resource_group(name, location)
          resource_group = {
            'location' => location,
            'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{name}",
            'name' => name,
            'properties' =>
            {
              'provisioningState' => 'Succeeded'
            }
          }
          result_mapper = Azure::ARM::Resources::Models::ResourceGroup.mapper
          @rmc.deserialize(result_mapper, resource_group, 'result.body')
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-azure-rm-0.1.1 lib/fog/azurerm/requests/resources/create_resource_group.rb