Sha256: 02055bf4874f49ed18866de3c81e7b5459ed62b4b677fc8cfbb640061e993734

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 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_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.4 lib/fog/azurerm/models/dns/zone.rb
fog-azure-rm-0.0.3 lib/fog/azurerm/models/dns/zone.rb
fog-azure-rm-0.0.2 lib/fog/azurerm/models/dns/zone.rb