Sha256: f9d0afadefdfd192fc688a2be1b82e5cf2d11da8dace3ce606ccc2f5f7da6e82

Contents?: true

Size: 1.45 KB

Versions: 6

Compression:

Stored size: 1.45 KB

Contents

module Fog
  module Compute
    class AzureRM
      # This class is giving implementation of create/save and
      # delete/destroy for Availability Set.
      class AvailabilitySet < Fog::Model
        attribute :id
        identity  :name
        attribute :type
        attribute :location
        attribute :resource_group
        attribute :platform_update_domain_count
        attribute :platform_fault_domain_count

        def self.parse(availability_set)
          hash = {}
          hash['id'] = availability_set.id
          hash['name'] = availability_set.name
          hash['type'] = availability_set.type
          hash['location'] = availability_set.location
          hash['resource_group'] = get_resource_group_from_id(availability_set.id)
          hash['platform_update_domain_count'] = availability_set.platform_update_domain_count
          hash['platform_fault_domain_count'] = availability_set.platform_fault_domain_count
          hash
        end

        def save
          requires :name
          requires :location
          requires :resource_group
          # need to create the availability set
          as = service.create_availability_set(resource_group, name, location)
          hash = Fog::Compute::AzureRM::AvailabilitySet.parse(as)
          merge_attributes(hash)
        end

        def destroy
          service.delete_availability_set(resource_group, name)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fog-azure-rm-0.1.1 lib/fog/azurerm/models/compute/availability_set.rb
fog-azure-rm-0.1.0 lib/fog/azurerm/models/compute/availability_set.rb
fog-azure-rm-0.0.9 lib/fog/azurerm/models/compute/availability_set.rb
fog-azure-rm-0.0.8 lib/fog/azurerm/models/compute/availability_set.rb
fog-azure-rm-0.0.6 lib/fog/azurerm/models/compute/availability_set.rb
fog-azure-rm-0.0.5 lib/fog/azurerm/models/compute/availability_set.rb