Sha256: 1850e82ad8a02adfda27b1ed072647f3b85a9f4071fec81f49d8f70afd5d9844

Contents?: true

Size: 1.32 KB

Versions: 3

Compression:

Stored size: 1.32 KB

Contents

module Fog
  module DNS
    class AzureRM
      # This class is giving implementation of create/save and
      # delete/destroy for Zone.
      class Zone < Fog::Model
        attribute :id
        identity :name
        attribute :resource_group
        attribute :location
        attribute :type
        attribute :tags
        attribute :etag
        attribute :number_of_record_sets
        attribute :max_number_of_recordsets

        def self.parse(zone)
          hash = {}
          hash['id'] = zone['id']
          hash['name'] = zone['name']
          hash['resource_group'] = zone['id'].split('/')[4]
          hash['location'] = zone['location']
          hash['type'] = zone['type']
          hash['tags'] = zone['tags']
          hash['etag'] = zone['etag']
          hash['number_of_record_sets'] = zone['properties']['numberOfRecordSets']
          hash['max_number_of_recordsets'] = zone['properties']['maxNumberOfRecordSets']
          hash
        end

        def save
          requires :name
          requires :resource_group
          zone = service.create_or_update_zone(resource_group, name)
          merge_attributes(Fog::DNS::AzureRM::Zone.parse(zone))
        end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-azure-rm-0.0.8 lib/fog/azurerm/models/dns/zone.rb
fog-azure-rm-0.0.6 lib/fog/azurerm/models/dns/zone.rb
fog-azure-rm-0.0.5 lib/fog/azurerm/models/dns/zone.rb