    # File lib/fog/dynect/requests/dns/put_zone.rb, line 26
            def put_zone(zone, options = {})
              raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]

              raise ArgumentError unless options.size == 1

              response = Excon::Response.new
              response.status = 200

              data = {}

              if options['freeze']
                zone['frozen'] = true
                info = "freeze: Your zone is now frozen"
              elsif options['publish']
                zone[:changes] = {}
                zone[:records_to_delete].each do |record|
                  zone[:records][record[:type]].delete_if { |r| r[:fqdn] == record[:fqdn] && r[:record_id] == record[:record_id] }
                end
                zone[:records_to_delete] = []
                data = {
                  "zone_type" => zone[:zone_type],
                  "serial_style" => zone[:serial_style],
                  "serial" => zone[:serial] += 1,
                  "zone" => zone[:zone]
                }
                info = "publish: #{zone[:zone]} published"
              elsif options['thaw']
                zone[:frozen] = false
                info = "thaw: Your zone is now thawed, you may edit normally"
              else
                raise ArgumentError
              end

              response.body = {
                "status" => "success",
                "data" => data,
                "job_id" => Fog::Dynect::Mock.job_id,
                "msgs" => [{
                  "INFO" => info,
                  "SOURCE"=>"BLL",
                  "ERR_CD"=>nil,
                  "LVL"=>"INFO"
                }]
              }

              response
            end