# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

#Storage
#Tue Feb 12 10:08:17 GMT 2013
local.storage.path=E\:\\Disks\\Disks
cpus=8
resource=com.cloud.hypervisor.hyperv.resource.HypervResource
type=Routing
ipaddress=10.70.176.29
private.mac.address=101F742C6B88
# If localhost is used, mac address is blank.
#private.ip.address=127.0.0.1
#private.mac.address=
local.storage.uuid=5fe2bad3-d785-394e-9949-89786b8a63d2
capabilities=hvm
cpuspeed=2130
port=8250
hyperv.python.module.script=cloudstackcmds.py
memory=34359738368
host=camldonall01.citrite.net
pod=1
gateway.ip.address=10.70.176.1
guid=16f85622-4508-415e-b13a-49a39bb14e4d
#guid=generate_from_private.ip.address
cluster=2
zone=1
local.secondary.storage.path=c\:\\Secondary
workers=5
agent.executable=C\:\\cygwin\\home\\Administrator\\github\\cshv3\\plugins\\hypervisors\\hyperv\\DotNET\\ServerResource\\AgentShell\\bin\\Debug\\AgentShell.exe
private.ip.netmask=255.255.240.0
HypervResource.id=5
hyperv.python.module.dir=C\:\\cygwin\\home\\Administrator\\github\\cshv3\\plugins\\hypervisors\\hyperv\\scripts\\hyperv\\
DefaultVirtualDiskFolder=E\:\\Disks\\
TestCoreCount=8
TestCoreMhz=2133
TestMemoryMb=34350288896
TestDom0MinMemoryMb=2147483648
