<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>

<!-- 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.
-->

<book>
    <bookinfo id="cloudstack_admin">
    <title>&PRODUCT; Administrator's Guide</title>
    <productname>Apache CloudStack</productname>
    <productnumber>4.2.0</productnumber>
    <edition>1</edition>
    <pubsnumber></pubsnumber>
    <abstract>
        <para>
            Administration Guide for &PRODUCT;.
        </para>
    </abstract>
    <corpauthor>
        <inlinemediaobject>
            <imageobject>
                <imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" />
            </imageobject>
        </inlinemediaobject>
    </corpauthor>
    <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    </bookinfo>
    <xi:include href="concepts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="cloud-infrastructure-concepts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="accounts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="user-services-overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="ui.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="projects.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="provisioning-steps.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="offerings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="set-up-network-for-users.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="virtual-machines.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="working-with-hosts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="working-with-templates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="storage.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="work-with-usage.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="networks.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="working-with-system-vm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="sys-reliability-and-ha.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="manage-cloud.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="global-config.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="api-overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="tuning.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="troubleshooting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="time-zones.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="event-types.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="alerts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</book>

