Sha256: 4e125c23b9dd91f267ebbee9e12402081c8367d604baba675422c158dc46efa9

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

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

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

    # Get names of all deployments in a resource group
    def list_names(resource_group = armrest_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 = armrest_configuration.resource_group)
      raise ArgumentError, "must specify resource group" unless resource_group
      raise ArgumentError, "must specify name of the resource" unless 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 = armrest_configuration.resource_group)
      raise ArgumentError, "must specify resource group" unless resource_group
      raise ArgumentError, "must specify name of the resource" unless 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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
azure-armrest-0.1.0 lib/azure/armrest/template_deployment_service.rb