Sha256: ebe178a40bbfb9d3b31769c41ce6b3dd2bf0e3500a9b6a12e267ce098882b9b2

Contents?: true

Size: 1.61 KB

Versions: 8

Compression:

Stored size: 1.61 KB

Contents

module Azure
  module Armrest
    # Base class for managing templates and deployments
    class TemplateDeploymentService < ResourceGroupBasedService

      def initialize(configuration, options = {})
        # Has to be hard coded for now
        options = {'api_version' => '2014-04-01-preview'}.merge(options)
        super(configuration, 'deployments', 'Microsoft.Resources', options)
      end

      # Get names of all deployments in a resource group
      def list_names(resource_group = configuration.resource_group)
        list(resource_group).map(&:name)
      end

      # Get all deployments for the current subscription
      def list_all
        list_in_all_groups
      end

      # Get all operations of a deployment in a resource group
      def list_deployment_operations(deploy_name, resource_group = configuration.resource_group)
        validate_resource_group(resource_group)
        validate_resource(deploy_name)

        url = build_url(resource_group, deploy_name, 'operations')
        response = rest_get(url)
        JSON.parse(response)['value'].map { |hash| TemplateDeploymentOperation.new(hash) }
      end

      # Get the operation of a deployment in a resource group
      def get_deployment_operation(op_id, deploy_name, resource_group = configuration.resource_group)
        validate_resource_group(resource_group)
        validate_resource(deploy_name)
        raise ArgumentError, "must specify operation id" unless op_id

        url = build_url(resource_group, deploy_name, 'operations', op_id)
        response = rest_get(url)
        TemplateDeploymentOperation.new(response)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
azure-armrest-0.2.5 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.2.4 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.2.3 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.2.2 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.2.1 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.2.0 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.1.3 lib/azure/armrest/template_deployment_service.rb
azure-armrest-0.1.2 lib/azure/armrest/template_deployment_service.rb