.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 AT&T Intellectual Property.  All rights reserved.

.. _user-guides-service-design:

Service Design
==============
The goal of the service design process is to create all artifacts
(models) that are required to instantiate and manage resources,
services, and products on the ONAP platform. The design process
requires input from users with multiple roles.

Design progresses logically through a series of phases. Each phase:

* is organized into steps that are completed in sequence

* is accessed using a different role with specific responsibilities
  generates artifacts that are used in other phases of design or when
  instantiating or monitoring virtual functions.

Design includes the following topics:

.. toctree::
   :maxdepth: 1
   :titlesonly:

   Pre-Onboarding <./pre-onboarding/index.rst>

   Resource-Onboarding <./resource-onboarding/index.rst>

   VF Creation and Testing <./vfcreation/index.rst>

   Governance Approval and Service Distribution <./service-distribution/index.rst>

   Control Loop Design <./control-loop/index.rst>

* `Policy Design <https://wiki.onap.org/x/SYAP>`_

* `SDC Artifacts List <https://wiki.onap.org/x/LYAP>`_
