You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ariatosca.apache.org by em...@apache.org on 2017/06/26 22:35:50 UTC
[2/2] incubator-ariatosca git commit: Many improvements to docs
Many improvements to docs
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7ed92d0f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7ed92d0f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7ed92d0f
Branch: refs/heads/ARIA-286-sphinx-documentation
Commit: 7ed92d0fe6edd0f44ea36c7ddd9403d62f9cead7
Parents: 6621327
Author: Tal Liron <ta...@gmail.com>
Authored: Mon Jun 26 17:35:35 2017 -0500
Committer: Tal Liron <ta...@gmail.com>
Committed: Mon Jun 26 17:35:35 2017 -0500
----------------------------------------------------------------------
aria/__init__.py | 12 +-
aria/cli/color.py | 3 +-
aria/cli/core/aria.py | 9 +-
aria/cli/defaults.py | 9 +-
aria/cli/service_template_utils.py | 55 +--
aria/cli/table.py | 54 +--
aria/cli/utils.py | 24 +-
aria/core.py | 2 +-
aria/exceptions.py | 9 +-
aria/extension.py | 32 +-
aria/logger.py | 35 +-
aria/modeling/__init__.py | 2 +-
aria/modeling/constraints.py | 4 +-
aria/modeling/exceptions.py | 2 +-
aria/modeling/functions.py | 21 +-
aria/modeling/mixins.py | 54 +--
aria/modeling/models.py | 2 +-
aria/modeling/orchestration.py | 60 ++--
aria/modeling/service_common.py | 47 +--
aria/modeling/service_instance.py | 334 +++++++++---------
aria/modeling/service_template.py | 396 +++++++++++-----------
aria/modeling/types.py | 47 ++-
aria/modeling/utils.py | 19 +-
aria/orchestrator/decorators.py | 4 +-
aria/orchestrator/workflows/api/task.py | 10 +-
aria/parser/consumption/context.py | 26 +-
aria/parser/consumption/presentation.py | 6 +-
aria/parser/loading/context.py | 6 +-
aria/parser/loading/literal.py | 2 +-
aria/parser/loading/location.py | 8 +-
aria/parser/loading/uri.py | 6 +-
aria/parser/modeling/context.py | 20 +-
aria/parser/presentation/context.py | 26 +-
aria/parser/presentation/field_validators.py | 19 +-
aria/parser/presentation/fields.py | 31 +-
aria/parser/presentation/null.py | 4 +-
aria/parser/presentation/presentation.py | 54 ++-
aria/parser/presentation/source.py | 2 +-
aria/parser/presentation/utils.py | 12 +-
aria/parser/reading/context.py | 8 +-
aria/parser/reading/locator.py | 4 +-
aria/parser/reading/reader.py | 2 +-
aria/parser/validation/context.py | 15 +-
aria/utils/__init__.py | 2 +-
aria/utils/argparse.py | 2 +-
aria/utils/caching.py | 5 +-
aria/utils/collections.py | 8 +-
aria/utils/formatting.py | 29 +-
aria/utils/threading.py | 5 +-
aria/utils/uris.py | 2 +-
docs/aria.modeling.rst | 5 +
docs/conf.py | 53 ++-
52 files changed, 868 insertions(+), 740 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/__init__.py
----------------------------------------------------------------------
diff --git a/aria/__init__.py b/aria/__init__.py
index 5eea665..521fc48 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -44,13 +44,17 @@ __all__ = (
'__version__',
'workflow',
'operation',
+ 'install_aria_extensions',
+ 'application_model_storage',
+ 'application_resource_storage'
)
def install_aria_extensions():
"""
- Iterates all Python packages with names beginning with :code:`aria_extension_` and all
- :code:`aria_extension` entry points and loads them.
+ Iterates all Python packages with names beginning with ``aria_extension_`` and all
+ ``aria_extension`` entry points and loads them.
+
It then invokes all registered extension functions.
"""
for loader, module_name, _ in iter_modules():
@@ -63,7 +67,7 @@ def install_aria_extensions():
def application_model_storage(api, api_kwargs=None, initiator=None, initiator_kwargs=None):
"""
- Initiate model storage
+ Initiate model storage.
"""
return storage.ModelStorage(api_cls=api,
api_kwargs=api_kwargs,
@@ -74,7 +78,7 @@ def application_model_storage(api, api_kwargs=None, initiator=None, initiator_kw
def application_resource_storage(api, api_kwargs=None, initiator=None, initiator_kwargs=None):
"""
- Initiate resource storage
+ Initiate resource storage.
"""
return storage.ResourceStorage(api_cls=api,
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/color.py
----------------------------------------------------------------------
diff --git a/aria/cli/color.py b/aria/cli/color.py
index 0761f6b..03381ba 100644
--- a/aria/cli/color.py
+++ b/aria/cli/color.py
@@ -80,8 +80,7 @@ class ColorSpec(object):
def __init__(self, fore=None, back=None, style=None):
"""
It is possible to provide fore, back and style arguments. each could be either
- the color is lower case letter, or the actual color from colorama.
-
+ the color is lower case letter, or the actual color from Colorama.
"""
self._kwargs = dict(fore=fore, back=back, style=style)
self._str = StringIO()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/core/aria.py
----------------------------------------------------------------------
diff --git a/aria/cli/core/aria.py b/aria/cli/core/aria.py
index bcff367..344aacc 100644
--- a/aria/cli/core/aria.py
+++ b/aria/cli/core/aria.py
@@ -251,9 +251,8 @@ class AliasedGroup(click.Group):
def resolve_command(self, ctx, args):
"""
- Override clicks ``resolve_command`` method
- and appends *Did you mean ...* suggestions
- to the raised exception message.
+ Override clicks ``resolve_command`` method and appends *Did you mean ...* suggestions to the
+ raised exception message.
"""
try:
return super(AliasedGroup, self).resolve_command(ctx, args)
@@ -274,7 +273,7 @@ class AliasedGroup(click.Group):
def group(name):
"""
- Allow to create a group with a default click context and a cls for click's ``didyoueamn``
+ Allow to create a group with a default click context and a class for Click's ``didyoueamn``
without having to repeat it for every group.
"""
return click.group(
@@ -295,7 +294,7 @@ def command(*args, **kwargs):
def argument(*args, **kwargs):
"""
- Make Click arguments ARIA specific.
+ Make Click arguments specific to ARIA.
This exists purely for aesthetic reasons, otherwise some decorators are called
``@click.something`` instead of ``@aria.something``
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/defaults.py
----------------------------------------------------------------------
diff --git a/aria/cli/defaults.py b/aria/cli/defaults.py
index 8c1f3ae..e84abc0 100644
--- a/aria/cli/defaults.py
+++ b/aria/cli/defaults.py
@@ -14,10 +14,17 @@
# limitations under the License.
"""
-CLI defaults.
+Various CLI default values.
"""
+#: Default service template filename
SERVICE_TEMPLATE_FILENAME = 'service_template.yaml'
+
+#: Default task max attempts
TASK_MAX_ATTEMPTS = 30
+
+#: Default task retry interval
TASK_RETRY_INTERVAL = 30
+
+#: Default sort descending
SORT_DESCENDING = False
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/service_template_utils.py
----------------------------------------------------------------------
diff --git a/aria/cli/service_template_utils.py b/aria/cli/service_template_utils.py
index 8d4b009..abfbf9a 100644
--- a/aria/cli/service_template_utils.py
+++ b/aria/cli/service_template_utils.py
@@ -31,21 +31,20 @@ def get(source, service_template_filename):
Get a source and return a path to the main service template file
The behavior based on then source argument content is:
- - local ``.yaml`` file: return the file
- - local archive (``.csar``, ``.zip``, ``.tar``, ``.tar.gz``, and ``.tar.bz2``):
- extract it locally and return path service template file
- - URL:
- - download and get service template from downloaded archive
- - GitHub repo:
- - download and get service template from downloaded archive
-
- :param source: Path/URL/github repo to archive/service-template file
- :type source: str
- :param service_template_filename: Path to service template (if source is an archive [but
- not a csar archive - with csars archives, this is read from the metadata file])
- :type service_template_filename: str
- :return: Path to main service template file
- :rtype: str
+
+ * local ``.yaml`` file: return the file
+ * local archive (``.csar``, ``.zip``, ``.tar``, ``.tar.gz``, and ``.tar.bz2``): extract it
+ locally and return path service template file
+ * URL: download and get service template from downloaded archive
+ * GitHub repo: download and get service template from downloaded archive
+
+ :param source: path/URL/GitHub repo to archive/service-template file
+ :type source: basestring
+ :param service_template_filename: path to service template if source is a non-CSAR archive
+ (with CSAR archives, this is read from the metadata file)
+ :type service_template_filename: basestring
+ :return: path to main service template file
+ :rtype: basestring
"""
if urlparse(source).scheme:
downloaded_file = utils.download_file(source)
@@ -69,14 +68,15 @@ def get(source, service_template_filename):
def _get_service_template_file_from_archive(archive, service_template_filename):
- """Extract archive to temporary location and get path to service template file.
+ """
+ Extract archive to temporary location and get path to service template file.
- :param archive: Path to archive file
- :type archive: str
- :param service_template_filename: Path to service template file relative to archive
- :type service_template_filename: str
- :return: Absolute path to service template file
- :rtype: str
+ :param archive: path to archive file
+ :type archive: basestring
+ :param service_template_filename: path to service template file relative to archive
+ :type service_template_filename: basestring
+ :return: absolute path to service template file
+ :rtype: basestring
"""
if csar.is_csar_archive(archive):
@@ -98,12 +98,13 @@ def _get_service_template_file_from_archive(archive, service_template_filename):
def _map_to_github_url(source):
- """Returns a path to a downloaded github archive.
+ """
+ Returns a path to a downloaded GitHub archive.
- :param source: github repo in the format of `org/repo[:tag/branch]`.
- :type source: str
- :return: URL to the archive file for the given repo in github
- :rtype: str
+ :param source: GitHub repo: ``org/repo[:tag/branch]``
+ :type source: basestring
+ :return: URL to the archive file for the given repo in GitHub
+ :rtype: basestring
"""
source_parts = source.split(':', 1)
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/table.py
----------------------------------------------------------------------
diff --git a/aria/cli/table.py b/aria/cli/table.py
index 9e53437..a4e959c 100644
--- a/aria/cli/table.py
+++ b/aria/cli/table.py
@@ -27,6 +27,24 @@ from .env import logger
def print_data(columns, items, header_text,
column_formatters=None, col_max_width=None, defaults=None):
+ """
+ Prints data in a tabular form.
+
+ :param columns: columns of the table, e.g. ``['id','name']``
+ :type columns: iterable of basestring
+ :param items: each element must have keys or attributes corresponding to the ``columns`` items,
+ e.g. ``[{'id':'123', 'name':'Pete'}]``
+ :type data: [{:obj:`basestring`: :obj:`basestring`}]
+ :param column_formatters: maps column name to formatter, a function that may manipulate the
+ string values printed for this column, e.g.
+ ``{'created_at': timestamp_formatter}``
+ :param col_max_width: maximum width of table
+ :type col_max_width: int
+ :type column_formatters: {obj:`basestring`: :obj:`function`}
+ :param defaults: default values for keys that don't exist in the data itself, e.g.
+ ``{'serviceId':'123'}``
+ :type defaults: {:obj:`basestring`: :obj:`basestring`}
+ """
if items is None:
items = []
elif not isinstance(items, list):
@@ -47,30 +65,18 @@ def _generate(cols, data, column_formatters=None, defaults=None):
"""
Return a new PrettyTable instance representing the list.
- Arguments:
-
- cols - An iterable of strings that specify what
- are the columns of the table.
-
- for example: ['id','name']
-
- data - An iterable of dictionaries or objects, each element must
- have keys or attributes corresponding to the cols items.
-
- for example: [{'id':'123', 'name':'Pete'}]
-
- column_formatters - A dictionary from a column name to a formatter - a function that
- may manipulate the string values printed for this column.
- (See below for a few built-in formatter examples)
-
- for example: {'created_at': timestamp_formatter}
-
- defaults - A dictionary specifying default values for
- key's that don't exist in the data itself.
-
- for example: {'serviceId':'123'} will set the
- serviceId value for all rows to '123'.
-
+ :param cols: columns of the table, e.g. ``['id','name']``
+ :type cols: iterable of :obj:`basestring`
+ :param data: each element must have keys or attributes corresponding to the ``cols`` items,
+ e.g. ``[{'id':'123', 'name':'Pete'}]``
+ :type data: [{:obj:`basestring`: :obj:`basestring`}]
+ :param column_formatters: maps column name to formatter, a function that may manipulate the
+ string values printed for this column, e.g.
+ ``{'created_at': timestamp_formatter}``
+ :type column_formatters: {:obj:`basestring`: :obj:`function`}
+ :param defaults: default values for keys that don't exist in the data itself, e.g.
+ ``{'serviceId':'123'}``
+ :type defaults: {:obj:`basestring`: :obj:`basestring`}
"""
def get_values_per_column(column, row_data):
if hasattr(row_data, column) or (isinstance(row_data, dict) and column in row_data):
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/cli/utils.py
----------------------------------------------------------------------
diff --git a/aria/cli/utils.py b/aria/cli/utils.py
index 0ceb2ea..0d0666b 100644
--- a/aria/cli/utils.py
+++ b/aria/cli/utils.py
@@ -48,8 +48,8 @@ def get_parameter_templates_as_string(parameter_templates):
def check_overriding_storage_exceptions(e, model_class, name):
"""
- This method checks whether the storage exception is a known type where we'd like to override
- the exception message; If so, it raises a new error. Otherwise it simply returns.
+ Checks whether the storage exception is a known type where we'd like to override the exception
+ message; If so, it raises a new error. Otherwise it simply returns.
"""
assert isinstance(e, BaseException)
if 'UNIQUE constraint failed' in e.message:
@@ -72,12 +72,13 @@ def download_file(url):
def generate_progress_handler(file_path, action='', max_bar_length=80):
- """Returns a function that prints a progress bar in the terminal
+ """
+ Returns a function that prints a progress bar in the terminal.
- :param file_path: The name of the file being transferred
- :param action: Uploading/Downloading
- :param max_bar_length: Maximum allowed length of the bar. Default: 80
- :return: The configured print_progress function
+ :param file_path: the name of the file being transferred
+ :param action: uploading/downloading
+ :param max_bar_length: maximum allowed length of the bar
+ :return: configured ``print_progress`` function
"""
# We want to limit the maximum line length to 80, but allow for a smaller
# terminal size. We also include the action string, and some extra chars
@@ -95,12 +96,13 @@ def generate_progress_handler(file_path, action='', max_bar_length=80):
bar_length -= len(file_name)
def print_progress(read_bytes, total_bytes):
- """Print upload/download progress on a single line
+ """
+ Print upload/download progress on a single line.
- Call this function in a loop to create a progress bar in the terminal
+ Call this function in a loop to create a progress bar in the terminal.
- :param read_bytes: Number of bytes already processed
- :param total_bytes: Total number of bytes in the file
+ :param read_bytes: number of bytes already processed
+ :param total_bytes: total number of bytes in the file
"""
filled_length = min(bar_length, int(round(bar_length * read_bytes /
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/core.py
----------------------------------------------------------------------
diff --git a/aria/core.py b/aria/core.py
index 830a841..a8d5245 100644
--- a/aria/core.py
+++ b/aria/core.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-ARIA core module
+ARIA core module.
"""
from . import exceptions
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/exceptions.py
----------------------------------------------------------------------
diff --git a/aria/exceptions.py b/aria/exceptions.py
index b7705ea..5d3e21d 100644
--- a/aria/exceptions.py
+++ b/aria/exceptions.py
@@ -14,8 +14,7 @@
# limitations under the License.
"""
-The ARIA exceptions module provides base exception classes and other common exceptions used
-throughout ARIA.
+Base exception classes and other common exceptions used throughout ARIA.
"""
import sys
@@ -47,21 +46,21 @@ class AriaException(Exception):
class DependentServicesError(AriaError):
"""
- Raised when attempting to delete a service template which has existing services
+ Raised when attempting to delete a service template which has existing services.
"""
pass
class DependentActiveExecutionsError(AriaError):
"""
- Raised when attempting to delete a service which has active executions
+ Raised when attempting to delete a service which has active executions.
"""
pass
class DependentAvailableNodesError(AriaError):
"""
- Raised when attempting to delete a service which has available nodes
+ Raised when attempting to delete a service which has available nodes.
"""
pass
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/extension.py
----------------------------------------------------------------------
diff --git a/aria/extension.py b/aria/extension.py
index 3065435..e90750d 100644
--- a/aria/extension.py
+++ b/aria/extension.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-The ARIA extension module provides a mechanism for registering and loading ARIA extensions.
+Mechanism for registering and loading ARIA extensions.
"""
# pylint: disable=no-self-use
@@ -53,7 +53,9 @@ def _registrar(function):
class _ExtensionRegistration(object):
- """Base class for extension class decorators"""
+ """
+ Base class for extension class decorators.
+ """
def __init__(self):
self._registrars = {}
@@ -74,7 +76,7 @@ class _ExtensionRegistration(object):
def init(self):
"""
- Initialize all registrars by calling all registered functions
+ Initialize all registrars by calling all registered functions.
"""
registered_instances = [cls() for cls in self._registered_classes]
for name, registrar in self._registrars.items():
@@ -85,13 +87,16 @@ class _ExtensionRegistration(object):
class _ParserExtensionRegistration(_ExtensionRegistration):
- """Parser extensions class decorator"""
+ """
+ Parser extensions class decorator.
+ """
@_registrar
def presenter_class(self):
"""
Presentation class registration.
- Implementing functions can return a single class or a list/tuple of classes
+
+ Implementing functions can return a single class or a list/tuple of classes.
"""
return []
@@ -99,7 +104,8 @@ class _ParserExtensionRegistration(_ExtensionRegistration):
def specification_package(self):
"""
Specification package registration.
- Implementing functions can return a package name or a list/tuple of names
+
+ Implementing functions can return a package name or a list/tuple of names.
"""
return []
@@ -107,7 +113,8 @@ class _ParserExtensionRegistration(_ExtensionRegistration):
def specification_url(self):
"""
Specification URL registration.
- Implementing functions should return a dictionary from names to URLs
+
+ Implementing functions should return a dictionary from names to URLs.
"""
return {}
@@ -115,7 +122,8 @@ class _ParserExtensionRegistration(_ExtensionRegistration):
def uri_loader_prefix(self):
"""
URI loader prefix registration.
- Implementing functions can return a single prefix or a list/tuple of prefixes
+
+ Implementing functions can return a single prefix or a list/tuple of prefixes.
"""
return collections.StrictList(value_class=basestring)
@@ -123,13 +131,15 @@ parser = _ParserExtensionRegistration()
class _ProcessExecutorExtensionRegistration(_ExtensionRegistration):
- """Process executor extension class decorator"""
+ """
+ Process executor extension class decorator.
+ """
@_registrar
def decorate(self):
"""
The operation function executed by the process executor will be decorated with the function
- returned from decorate().
+ returned from ``decorate()``.
"""
return []
@@ -138,7 +148,7 @@ process_executor = _ProcessExecutorExtensionRegistration()
def init():
"""
- Initialize all registrars by calling all registered functions
+ Initialize all registrars by calling all registered functions.
"""
parser.init()
process_executor.init()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/logger.py
----------------------------------------------------------------------
diff --git a/aria/logger.py b/aria/logger.py
index 0f35752..2ccff25 100644
--- a/aria/logger.py
+++ b/aria/logger.py
@@ -14,8 +14,8 @@
# limitations under the License.
"""
-The ARIA logger module provides mix-ins and functions for logging, supporting multiple backends
-(such as SQL) and consistent formatting.
+Mix-ins and functions for logging, supporting multiple backends (such as SQL) and consistent
+formatting.
"""
import logging
@@ -39,12 +39,11 @@ _base_logger = logging.getLogger('aria')
class LoggerMixin(object):
"""
- Mixin Logger Class
- configuration (class members):
+ Provides logging functionality to a class.
- logger_name: logger name [default: <class_name>]
- logger_level: logger level [default: logging.DEBUG]
- base_logger: This Mixing will create child logger from this base_logger [default: root logger]
+ :ivar logger_name: logger name; default to the class name
+ :ivar logger_level: logger level; defaults to `logging.DEBUG`
+ :ivar base_logger: child loggers are created from this; defaults to the root logger
"""
logger_name = None
logger_level = logging.DEBUG
@@ -67,7 +66,7 @@ class LoggerMixin(object):
base_logger=logging.getLogger(),
**kwargs):
"""
- Set the logger used by the consuming class
+ Set the logger used by the consuming class.
"""
cls.logger_name = logger_name
cls.logger_level = logger_level
@@ -87,10 +86,12 @@ class LoggerMixin(object):
def create_logger(logger=_base_logger, handlers=(), **configs):
"""
-
- :param logging.Logger logger: The logger name [default: aria logger]
- :param list handlers: The logger handlers
- :param configs: The logger configurations
+ :param logger: logger name; defaults to ARIA logger
+ :type logger: logging.Logger
+ :param handlers: logger handlers
+ :type handlers: []
+ :param configs: logger configurations
+ :type configs: []
:return: logger
"""
logger.handlers = []
@@ -104,7 +105,6 @@ def create_logger(logger=_base_logger, handlers=(), **configs):
def create_console_log_handler(level=logging.DEBUG, formatter=None):
"""
-
:param level:
:param formatter:
:return:
@@ -124,10 +124,9 @@ def create_sqla_log_handler(model, log_cls, execution_id, level=logging.DEBUG):
class _DefaultConsoleFormat(logging.Formatter):
"""
- _DefaultConsoleFormat class
- Console logger formatter
- info level logs format: '%(message)s'
- every other log level are formatted: '%(levelname)s: %(message)s'
+ Info level log format: ``%(message)s``
+
+ Every other log level is formatted: ``%(levelname)s: %(message)s``
"""
def format(self, record):
try:
@@ -148,7 +147,7 @@ def create_file_log_handler(
backup_count=10,
formatter=None):
"""
- Create a logging.handlers.RotatingFileHandler
+ Create a :class:`logging.handlers.RotatingFileHandler`.
"""
rotating_file = logging_handlers.RotatingFileHandler(
filename=file_path,
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/__init__.py
----------------------------------------------------------------------
diff --git a/aria/modeling/__init__.py b/aria/modeling/__init__.py
index 4ec6b2c..57bc188 100644
--- a/aria/modeling/__init__.py
+++ b/aria/modeling/__init__.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-ARIA modeling package
+This package provides an API for modeling ARIA's state and serializing it to storage.
"""
from collections import namedtuple
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/constraints.py
----------------------------------------------------------------------
diff --git a/aria/modeling/constraints.py b/aria/modeling/constraints.py
index 45b3861..8ed33d5 100644
--- a/aria/modeling/constraints.py
+++ b/aria/modeling/constraints.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-ARIA modeling constraints module
+Constraints for the requirements-and-capabilities matching mechanism.
"""
class NodeTemplateConstraint(object):
@@ -26,6 +26,6 @@ class NodeTemplateConstraint(object):
def matches(self, source_node_template, target_node_template):
"""
- Returns true is the target matches the constraint for the source.
+ Returns ``True`` if the target matches the constraint for the source.
"""
raise NotImplementedError
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/exceptions.py
----------------------------------------------------------------------
diff --git a/aria/modeling/exceptions.py b/aria/modeling/exceptions.py
index 19e664a..573efaf 100644
--- a/aria/modeling/exceptions.py
+++ b/aria/modeling/exceptions.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-ARIA modeling exceptions module
+Modeling exceptions.
"""
from ..exceptions import AriaException
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/functions.py
----------------------------------------------------------------------
diff --git a/aria/modeling/functions.py b/aria/modeling/functions.py
index 06f6c32..b764aa8 100644
--- a/aria/modeling/functions.py
+++ b/aria/modeling/functions.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-ARIA modeling functions module
+Mechanism for evaluating intrinsic functions.
"""
from ..parser.consumption import ConsumptionContext
@@ -38,10 +38,11 @@ class Function(object):
def __evaluate__(self, container_holder):
"""
- Evaluates the function if possible. If impossible, raises
- :class:`CannotEvaluateFunctionException` (do not just return None).
+ Evaluates the function if possible.
- :rtype: Evaluation (or any object with ``value`` and ``final`` properties)
+ :rtype: :class:`Evaluation` (or any object with ``value`` and ``final`` properties)
+ :raises CannotEvaluateFunctionException: if cannot be evaluated at this time (do *not* just
+ return ``None``)
"""
raise NotImplementedError
@@ -54,6 +55,10 @@ class Function(object):
class Evaluation(object):
"""
An evaluated :class:`Function` return value.
+
+ :ivar value: evaluated value
+ :ivar final: whether the value is final
+ :vartype final: boolean
"""
def __init__(self, value, final=False):
@@ -64,13 +69,13 @@ class Evaluation(object):
def evaluate(value, container_holder, report_issues=False): # pylint: disable=too-many-branches
"""
Recursively attempts to call ``__evaluate__``. If an evaluation occurred will return an
- :class:`Evaluation`, otherwise it will be None. If any evaluation is non-final, then the entire
- evaluation will also be non-final.
+ :class:`Evaluation`, otherwise it will be ``None``. If any evaluation is non-final, then the
+ entire evaluation will also be non-final.
The ``container_holder`` argument should have three properties: ``container`` should return
the model that contains the value, ``service`` should return the containing
- :class:`aria.modeling.models.Service` model or None, and ``service_template`` should return the
- containing :class:`aria.modeling.models.ServiceTemplate` model or None.
+ :class:`~aria.modeling.models.Service` model or None, and ``service_template`` should return the
+ containing :class:`~aria.modeling.models.ServiceTemplate` model or ``None``.
"""
evaluated = False
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/mixins.py
----------------------------------------------------------------------
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 134748d..e707f02 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-"""'
+"""
ARIA modeling mix-ins module
"""
@@ -49,7 +49,7 @@ class ModelMixin(object):
"""
Create a dict representation of the model.
- :param suppress_error: If set to ``True``, sets ``None`` to attributes that it's unable to
+ :param suppress_error: if set to ``True``, sets ``None`` to attributes that it's unable to
retrieve (e.g., if a relationship wasn't established yet, and so it's
impossible to access a property through it)
"""
@@ -84,7 +84,7 @@ class ModelMixin(object):
fields = set(cls._iter_association_proxies())
fields.update(cls.__table__.columns.keys())
- return fields - set(getattr(cls, '__private_fields__', []))
+ return fields - set(getattr(cls, '__private_fields__', ()))
@classmethod
def _iter_association_proxies(cls):
@@ -113,10 +113,10 @@ class ModelIDMixin(object):
class InstanceModelMixin(ModelMixin):
"""
- Mixin for :class:`ServiceInstance` models.
+ Mix-in for service instance models.
- All models support validation, diagnostic dumping, and representation as
- raw data (which can be translated into JSON or YAML) via ``as_raw``.
+ All models support validation, diagnostic dumping, and representation as raw data (which can be
+ translated into JSON or YAML) via ``as_raw``.
"""
@property
@@ -135,9 +135,9 @@ class InstanceModelMixin(ModelMixin):
class TemplateModelMixin(InstanceModelMixin):
"""
- Mixin for :class:`ServiceTemplate` models.
+ Mix-in for service template models.
- All model models can be instantiated into :class:`ServiceInstance` models.
+ All model models can be instantiated into service instance models.
"""
def instantiate(self, container):
@@ -146,16 +146,17 @@ class TemplateModelMixin(InstanceModelMixin):
class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods): #pylint: disable=abstract-method
"""
- Represents a typed value. The value can contain nested intrinsic functions.
+ Mix-in for typed values. The value can contain nested intrinsic functions.
- This model can be used as the ``container_holder`` argument for :func:`functions.evaluate`.
+ This model can be used as the ``container_holder`` argument for
+ :func:`~aria.modeling.functions.evaluate`.
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: description
:vartype description: basestring
"""
@@ -185,8 +186,10 @@ class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
"""
The sole owner of this parameter, which is another model that relates to it.
- *All* parameters should have an owner model. In case this property method fails to find
- it, it will raise a ValueError, which should signify an abnormal, orphaned parameter.
+ *All* parameters should have an owner model.
+
+ :raises exceptions.ValueError: if failed to find an owner, which signifies an abnormal,
+ orphaned parameter
"""
# Find first non-null relationship
@@ -208,8 +211,10 @@ class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
The logical container is equivalent to the ``SELF`` keyword used by intrinsic functions in
TOSCA.
- *All* parameters should have a container model. In case this property method fails to find
- it, it will raise a ValueError, which should signify an abnormal, orphaned parameter.
+ *All* parameters should have a container model.
+
+ :raises exceptions.ValueError: if failed to find a container model, which signifies an
+ abnormal, orphaned parameter
"""
from . import models
@@ -251,7 +256,11 @@ class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
@caching.cachedmethod
def service(self):
"""
- The :class:`Service` containing this parameter, or None if not contained in a service.
+ The :class:`~aria.modeling.models.Service` model containing this parameter, or ``None`` if
+ not contained in a service.
+
+ :raises exceptions.ValueError: if failed to find a container model, which signifies an
+ abnormal, orphaned parameter
"""
from . import models
@@ -266,8 +275,11 @@ class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
@caching.cachedmethod
def service_template(self):
"""
- The :class:`ServiceTemplate` containing this parameter, or None if not contained in a
- service template.
+ The :class:`~aria.modeling.models.ServiceTemplate` model containing this parameter, or
+ ``None`` if not contained in a service template.
+
+ :raises exceptions.ValueError: if failed to find a container model, which signifies an
+ abnormal, orphaned parameter
"""
from . import models
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/models.py
----------------------------------------------------------------------
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index d15f791..129b5bb 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""
-Modeling models module
+Models.
"""
# pylint: disable=abstract-method
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/orchestration.py
----------------------------------------------------------------------
diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py
index bd89ddb..6096fcc 100644
--- a/aria/modeling/orchestration.py
+++ b/aria/modeling/orchestration.py
@@ -157,37 +157,37 @@ class PluginBase(mixins.ModelMixin):
are archives of one or more `wheels <https://packaging.python.org/distributing/#wheels>`__.
Most of these fields are indeed extracted from the installed wagon's metadata.
- :ivar archive_name: Filename (not the full path) of the wagon's archive, often with a ".wgn"
+ :ivar archive_name: filename (not the full path) of the wagon's archive, often with a ".wgn"
extension
:vartype archive_name: basestring
- :ivar distribution: The name of the operating system on which the wagon was installed (e.g.
+ :ivar distribution: name of the operating system on which the wagon was installed (e.g.
"ubuntu")
:vartype distribution: basestring
- :ivar distribution_release: The release of the operating system on which the wagon was installed
+ :ivar distribution_release: release of the operating system on which the wagon was installed
(e.g. "trusty")
:vartype distribution_release: basestring
- :ivar distribution_version: The version of the operating system on which the wagon was installed
+ :ivar distribution_version: version of the operating system on which the wagon was installed
(e.g. "14.04")
:vartype distribution_version: basestring
- :ivar package_name: The primary Python package name used when the wagon was installed, which is
- one of the wheels in the wagon (e.g. "cloudify-script-plugin")
+ :ivar package_name: primary Python package name used when the wagon was installed, which is one
+ of the wheels in the wagon (e.g. "cloudify-script-plugin")
:vartype package_name: basestring
- :ivar package_source: The full install string for the primary Python package name used when the
+ :ivar package_source: full install string for the primary Python package name used when the
wagon was installed (e.g. "cloudify-script-plugin==1.2")
:vartype package_source: basestring
- :ivar package_version: The version for the primary Python package name used when the wagon was
+ :ivar package_version: version for the primary Python package name used when the wagon was
installed (e.g. "1.2")
:vartype package_version: basestring
- :ivar supported_platform: If the wheels are *all* pure Python then this would be "any",
+ :ivar supported_platform: if the wheels are *all* pure Python then this would be "any",
otherwise it would be the installed platform name (e.g.
"linux_x86_64")
:vartype supported_platform: basestring
- :ivar supported_py_versions: The Python versions supported by all the wheels (e.g. ["py26",
+ :ivar supported_py_versions: Python versions supported by all the wheels (e.g. ["py26",
"py27"])
:vartype supported_py_versions: [basestring]
- :ivar wheels: The filenames of the wheels archived in the wagon, often with a ".whl" extension
+ :ivar wheels: filenames of the wheels archived in the wagon, often with a ".whl" extension
:vartype wheels: [basestring]
- :ivar uploaded_at: Timestamp for when the wagon was installed
+ :ivar uploaded_at: timestamp for when the wagon was installed
:vartype uploaded_at: basestring
"""
@@ -221,34 +221,34 @@ class TaskBase(mixins.ModelMixin):
Tasks are often based on :class:`Operation`, and thus act on either a :class:`Node` or a
:class:`Relationship`, however this is not required.
- :ivar node: The node actor (optional)
- :vartype node: :class:`Node`
- :ivar relationship: The relationship actor (optional)
- :vartype relationship: :class:`Relationship`
- :ivar plugin: The implementing plugin (set to None for default execution plugin)
- :vartype plugin: :class:`Plugin`
+ :ivar node: node actor (optional)
+ :vartype node: Node
+ :ivar relationship: relationship actor (optional)
+ :vartype relationship: Relationship
+ :ivar plugin: implementing plugin (set to None for default execution plugin)
+ :vartype plugin: Plugin
:ivar function: Python path to an ``@operation`` function
:vartype function: basestring
- :ivar arguments: Arguments that can be used by this task
- :vartype arguments: {basestring: :class:`Argument`}
- :ivar max_attempts: Maximum number of retries allowed in case of failure
+ :ivar arguments: arguments that can be used by this task
+ :vartype arguments: {:obj:`basestring`: :class:`Argument`}
+ :ivar max_attempts: maximum number of retries allowed in case of failure
:vartype max_attempts: int
- :ivar retry_interval: Interval between retries (in seconds)
+ :ivar retry_interval: interval between retries (in seconds)
:vartype retry_interval: int
- :ivar ignore_failure: Set to True to ignore failures
+ :ivar ignore_failure: set to ``True`` to ignore failures
:vartype ignore_failure: bool
- :ivar due_at: Timestamp to start the task
+ :ivar due_at: timestamp to start the task
:vartype due_at: datetime
- :ivar execution: Assigned execution
- :vartype execution: :class:`Execution`
- :ivar status: Current atomic status ('pending', 'retrying', 'sent', 'started', 'success',
+ :ivar execution: assigned execution
+ :vartype execution: Execution
+ :ivar status: current atomic status ('pending', 'retrying', 'sent', 'started', 'success',
'failed')
:vartype status: basestring
- :ivar started_at: Timestamp for when task started
+ :ivar started_at: timestamp for when task started
:vartype started_at: datetime
- :ivar ended_at: Timestamp for when task ended
+ :ivar ended_at: timestamp for when task ended
:vartype ended_at: datetime
- :ivar attempts_count: How many attempts occurred
+ :ivar attempts_count: how many attempts occurred
:vartype attempts_count: int
"""
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/service_common.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 59bcd02..2ba3aa3 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -37,12 +37,12 @@ from . import relationship
class OutputBase(ParameterMixin):
"""
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: human-readable description
:vartype description: basestring
"""
@@ -75,12 +75,12 @@ class OutputBase(ParameterMixin):
class InputBase(ParameterMixin):
"""
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: human-readable description
:vartype description: basestring
"""
@@ -157,12 +157,12 @@ class InputBase(ParameterMixin):
class ConfigurationBase(ParameterMixin):
"""
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: human-readable description
:vartype description: basestring
"""
@@ -195,12 +195,12 @@ class ConfigurationBase(ParameterMixin):
class PropertyBase(ParameterMixin):
"""
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: human-readable description
:vartype description: basestring
"""
@@ -255,6 +255,7 @@ class PropertyBase(ParameterMixin):
@declared_attr
def artifact_fk(cls):
return relationship.foreign_key('artifact', nullable=True)
+
# endregion
# region many_to_one relationships
@@ -312,12 +313,12 @@ class PropertyBase(ParameterMixin):
class AttributeBase(ParameterMixin):
"""
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar type_name: Type name
+ :ivar type_name: type name
:vartype type_name: basestring
- :ivar value: Value
- :ivar description: Description
+ :ivar value: value
+ :ivar description: human-readable description
:vartype description: basestring
"""
@@ -354,7 +355,7 @@ class TypeBase(InstanceModelMixin):
"""
Represents a type and its children.
- :ivar name:
+ :ivar name: name
:vartype name: basestring
"""
@@ -466,9 +467,9 @@ class MetadataBase(TemplateModelMixin):
This model is used by both service template and service instance elements.
- :ivar name: Name
+ :ivar name: name
:vartype name: basestring
- :ivar value: Value
+ :ivar value: value
:vartype value: basestring
"""
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ed92d0f/aria/modeling/service_instance.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service_instance.py b/aria/modeling/service_instance.py
index 78ee105..033785d 100644
--- a/aria/modeling/service_instance.py
+++ b/aria/modeling/service_instance.py
@@ -54,39 +54,39 @@ class ServiceBase(InstanceModelMixin):
You will usually not create it programmatically, but instead instantiate it from a service
template.
- :ivar name: Name (unique for this ARIA installation)
+ :ivar name: name (unique for this ARIA installation)
:vartype name: basestring
- :ivar service_template: Template from which this service was instantiated (optional)
- :vartype service_template: :class:`ServiceTemplate`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar meta_data: Custom annotations
- :vartype meta_data: {basestring: :class:`Metadata`}
- :ivar node: Nodes
- :vartype node: {basestring: :class:`Node`}
- :ivar groups: Groups of nodes
- :vartype groups: {basestring: :class:`Group`}
- :ivar policies: Policies
- :vartype policies: {basestring: :class:`Policy`]}
- :ivar substitution: The entire service can appear as a node
+ :ivar service_template: template from which this service was instantiated (optional)
+ :vartype service_template: ServiceTemplate
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar meta_data: custom annotations
+ :vartype meta_data: {:obj:`basestring`: :class:`Metadata`}
+ :ivar nodes: nodes
+ :vartype nodes: {:obj:`basestring`: :class:`Node`}
+ :ivar groups: groups of nodes
+ :vartype groups: {:obj:`basestring`: :class:`Group`}
+ :ivar policies: policies
+ :vartype policies: {:obj:`basestring`: :class:`Policy`]}
+ :ivar substitution: the entire service can appear as a node
:vartype substitution: :class:`Substitution`
- :ivar inputs: Externally provided parameters
- :vartype inputs: {basestring: :class:`Input`}
- :ivar outputs: These parameters are filled in after service installation
- :vartype outputs: {basestring: :class:`Output`}
- :ivar workflows: Custom workflows that can be performed on the service
- :vartype workflows: {basestring: :class:`Operation`}
- :ivar plugins: Plugins used by the service
- :vartype plugins: {basestring: :class:`Plugin`}
- :ivar created_at: Creation timestamp
+ :ivar inputs: externally provided parameters
+ :vartype inputs: {:obj:`basestring`: :class:`Input`}
+ :ivar outputs: these parameters are filled in after service installation
+ :vartype outputs: {:obj:`basestring`: :class:`Output`}
+ :ivar workflows: custom workflows that can be performed on the service
+ :vartype workflows: {:obj:`basestring`: :class:`Operation`}
+ :ivar plugins: plugins used by the service
+ :vartype plugins: {:obj:`basestring`: :class:`Plugin`}
+ :ivar created_at: creation timestamp
:vartype created_at: :class:`datetime.datetime`
- :ivar updated_at: Update timestamp
+ :ivar updated_at: update timestamp
:vartype updated_at: :class:`datetime.datetime`
- :ivar modifications: Modifications of this service
+ :ivar modifications: modifications of this service
:vartype modifications: [:class:`ServiceModification`]
- :ivar updates: Updates of this service
+ :ivar updates: updates of this service
:vartype updates: [:class:`ServiceUpdate`]
- :ivar executions: Executions on this service
+ :ivar executions: executions on this service
:vartype executions: [:class:`Execution`]
"""
@@ -319,43 +319,43 @@ class NodeBase(InstanceModelMixin):
Nodes may have zero or more :class:`Relationship` instances to other nodes.
- :ivar name: Name (unique for this service)
+ :ivar name: name (unique for this service)
:vartype name: basestring
- :ivar node_template: Template from which this node was instantiated (optional)
+ :ivar node_template: template from which this node was instantiated (optional)
:vartype node_template: :class:`NodeTemplate`
- :ivar type: Node type
- :vartype type: :class:`Type`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar interfaces: Bundles of operations
- :vartype interfaces: {basestring: :class:`Interface`}
- :ivar artifacts: Associated files
- :vartype artifacts: {basestring: :class:`Artifact`}
- :ivar capabilities: Exposed capabilities
- :vartype capabilities: {basestring: :class:`Capability`}
- :ivar outbound_relationships: Relationships to other nodes
+ :ivar type: node type
+ :vartype type: Type
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar interfaces: bundles of operations
+ :vartype interfaces: {:obj:`basestring`: :class:`Interface`}
+ :ivar artifacts: associated files
+ :vartype artifacts: {:obj:`basestring`: :class:`Artifact`}
+ :ivar capabilities: exposed capabilities
+ :vartype capabilities: {:obj:`basestring`: :class:`Capability`}
+ :ivar outbound_relationships: relationships to other nodes
:vartype outbound_relationships: [:class:`Relationship`]
- :ivar inbound_relationships: Relationships from other nodes
+ :ivar inbound_relationships: relationships from other nodes
:vartype inbound_relationships: [:class:`Relationship`]
- :ivar host: Host node (can be self)
+ :ivar host: host node (can be self)
:vartype host: :class:`Node`
- :ivar state: The state of the node, according to to the TOSCA-defined node states
+ :ivar state: the state of the node, according to to the TOSCA-defined node states
:vartype state: string
- :ivar version: Used by `aria.storage.instrumentation`
+ :ivar version: used by :mod:`aria.storage.instrumentation`
:vartype version: int
- :ivar service: Containing service
+ :ivar service: containing service
:vartype service: :class:`Service`
- :ivar groups: We are a member of these groups
+ :ivar groups: we are a member of these groups
:vartype groups: [:class:`Group`]
- :ivar policies: Policies enacted on this node
+ :ivar policies: policies enacted on this node
:vartype policies: [:class:`Policy`]
- :ivar substitution_mapping: Our contribution to service substitution
+ :ivar substitution_mapping: our contribution to service substitution
:vartype substitution_mapping: :class:`SubstitutionMapping`
- :ivar tasks: Tasks for this node
+ :ivar tasks: tasks for this node
:vartype tasks: [:class:`Task`]
- :ivar hosted_tasks: Tasks on this node
+ :ivar hosted_tasks: tasks on this node
:vartype hosted_tasks: [:class:`Task`]
"""
@@ -704,23 +704,23 @@ class GroupBase(InstanceModelMixin):
"""
Usually an instance of a :class:`GroupTemplate`.
- :ivar name: Name (unique for this service)
+ :ivar name: name (unique for this service)
:vartype name: basestring
- :ivar group_template: Template from which this group was instantiated (optional)
+ :ivar group_template: template from which this group was instantiated (optional)
:vartype group_template: :class:`GroupTemplate`
- :ivar type: Group type
- :vartype type: :class:`Type`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar nodes: Members of this group
+ :ivar type: group type
+ :vartype type: Type
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar nodes: members of this group
:vartype nodes: [:class:`Node`]
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar interfaces: Bundles of operations
- :vartype interfaces: {basestring: :class:`Interface`}
- :ivar service: Containing service
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar interfaces: bundles of operations
+ :vartype interfaces: {:obj:`basestring`: :class:`Interface`}
+ :ivar service: containing service
:vartype service: :class:`Service`
- :ivar policies: Policies enacted on this group
+ :ivar policies: policies enacted on this group
:vartype policies: [:class:`Policy`]
"""
@@ -832,21 +832,21 @@ class PolicyBase(InstanceModelMixin):
"""
Usually an instance of a :class:`PolicyTemplate`.
- :ivar name: Name (unique for this service)
+ :ivar name: name (unique for this service)
:vartype name: basestring
- :ivar policy_template: Template from which this policy was instantiated (optional)
+ :ivar policy_template: template from which this policy was instantiated (optional)
:vartype policy_template: :class:`PolicyTemplate`
- :ivar type: Policy type
- :vartype type: :class:`Type`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar nodes: Policy will be enacted on all these nodes
+ :ivar type: policy type
+ :vartype type: Type
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar nodes: policy will be enacted on all these nodes
:vartype nodes: [:class:`Node`]
- :ivar groups: Policy will be enacted on all nodes in these groups
+ :ivar groups: policy will be enacted on all nodes in these groups
:vartype groups: [:class:`Group`]
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar service: Containing service
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar service: containing service
:vartype service: :class:`Service`
"""
@@ -958,13 +958,13 @@ class SubstitutionBase(InstanceModelMixin):
Usually an instance of a :class:`SubstitutionTemplate`.
- :ivar substitution_template: Template from which this substitution was instantiated (optional)
+ :ivar substitution_template: template from which this substitution was instantiated (optional)
:vartype substitution_template: :class:`SubstitutionTemplate`
- :ivar node_type: Exposed node type
+ :ivar node_type: exposed node type
:vartype node_type: :class:`Type`
- :ivar mappings: Requirement and capability mappings
- :vartype mappings: {basestring: :class:`SubstitutionTemplate`}
- :ivar service: Containing service
+ :ivar mappings: requirement and capability mappings
+ :vartype mappings: {:obj:`basestring`: :class:`SubstitutionTemplate`}
+ :ivar service: containing service
:vartype service: :class:`Service`
"""
@@ -1047,15 +1047,15 @@ class SubstitutionMappingBase(InstanceModelMixin):
Usually an instance of a :class:`SubstitutionTemplate`.
- :ivar name: Exposed capability or requirement name
+ :ivar name: exposed capability or requirement name
:vartype name: basestring
- :ivar node: Node
- :vartype node: :class:`Node`
- :ivar capability: Capability in the node
+ :ivar node: node
+ :vartype node: Node
+ :ivar capability: capability in the node
:vartype capability: :class:`Capability`
- :ivar requirement_template: Requirement template in the node template
+ :ivar requirement_template: requirement template in the node template
:vartype requirement_template: :class:`RequirementTemplate`
- :ivar substitution: Containing substitution
+ :ivar substitution: containing substitution
:vartype substitution: :class:`Substitution`
"""
@@ -1156,29 +1156,29 @@ class RelationshipBase(InstanceModelMixin):
Might be an instance of a :class:`RelationshipTemplate`.
- :ivar name: Name (usually the name of the requirement at the source node template)
+ :ivar name: name (usually the name of the requirement at the source node template)
:vartype name: basestring
- :ivar relationship_template: Template from which this relationship was instantiated (optional)
+ :ivar relationship_template: template from which this relationship was instantiated (optional)
:vartype relationship_template: :class:`RelationshipTemplate`
- :ivar requirement_template: Template from which this relationship was instantiated (optional)
+ :ivar requirement_template: template from which this relationship was instantiated (optional)
:vartype requirement_template: :class:`RequirementTemplate`
- :ivar type: Relationship type
- :vartype type: :class:`Type`
- :ivar target_capability: Capability at the target node (optional)
+ :ivar type: relationship type
+ :vartype type: Type
+ :ivar target_capability: capability at the target node (optional)
:vartype target_capability: :class:`Capability`
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar interfaces: Bundles of operations
- :vartype interfaces: {basestring: :class:`Interfaces`}
- :ivar source_position: The position of the relationship in the outbound relationships.
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar interfaces: bundles of operations
+ :vartype interfaces: {:obj:`basestring`: :class:`Interfaces`}
+ :ivar source_position: position of the relationship in the outbound relationships.
:vartype source_position: int
- :ivar target_position: The position of the relationship in the inbound relationships.
+ :ivar target_position: position of the relationship in the inbound relationships.
:vartype target_position: int
- :ivar source_node: Source node
+ :ivar source_node: source node
:vartype source_node: :class:`Node`
- :ivar target_node: Target node
+ :ivar target_node: target node
:vartype target_node: :class:`Node`
- :ivar tasks: Tasks for this relationship
+ :ivar tasks: tasks for this relationship
:vartype tasks: [:class:`Task`]
"""
@@ -1346,23 +1346,23 @@ class CapabilityBase(InstanceModelMixin):
:ivar name: Name (unique for the node)
:vartype name: basestring
- :ivar capability_template: Template from which this capability was instantiated (optional)
+ :ivar capability_template: template from which this capability was instantiated (optional)
:vartype capability_template: :class:`capabilityTemplate`
- :ivar type: Capability type
- :vartype type: :class:`Type`
- :ivar min_occurrences: Minimum number of requirement matches required
+ :ivar type: capability type
+ :vartype type: Type
+ :ivar min_occurrences: minimum number of requirement matches required
:vartype min_occurrences: int
- :ivar max_occurrences: Maximum number of requirement matches allowed
+ :ivar max_occurrences: maximum number of requirement matches allowed
:vartype min_occurrences: int
- :ivar occurrences: Actual number of requirement matches
+ :ivar occurrences: actual number of requirement matches
:vartype occurrences: int
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar node: Containing node
- :vartype node: :class:`Node`
- :ivar relationship: Available when we are the target of a relationship
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar node: containing node
+ :vartype node: Node
+ :ivar relationship: available when we are the target of a relationship
:vartype relationship: :class:`Relationship`
- :ivar substitution_mapping: Our contribution to service substitution
+ :ivar substitution_mapping: our contribution to service substitution
:vartype substitution_mapping: :class:`SubstitutionMapping`
"""
@@ -1473,23 +1473,23 @@ class InterfaceBase(InstanceModelMixin):
Usually an instance of :class:`InterfaceTemplate`.
- :ivar name: Name (unique for the node, group, or relationship)
+ :ivar name: name (unique for the node, group, or relationship)
:vartype name: basestring
- :ivar interface_template: Template from which this interface was instantiated (optional)
+ :ivar interface_template: template from which this interface was instantiated (optional)
:vartype interface_template: :class:`InterfaceTemplate`
- :ivar type: Interface type
- :vartype type: :class:`Type`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar inputs: Inputs that can be used by all operations in the interface
- :vartype inputs: {basestring: :class:`Input`}
- :ivar operations: Operations
- :vartype operations: {basestring: :class:`Operation`}
+ :ivar type: interface type
+ :vartype type: Type
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar inputs: inputs that can be used by all operations in the interface
+ :vartype inputs: {:obj:`basestring`: :class:`Input`}
+ :ivar operations: operations
+ :vartype operations: {:obj:`basestring`: :class:`Operation`}
:ivar node: Containing node
- :vartype node: :class:`Node`
- :ivar group: Containing group
+ :vartype node: Node
+ :ivar group: containing group
:vartype group: :class:`Group`
- :ivar relationship: Containing relationship
+ :ivar relationship: containing relationship
:vartype relationship: :class:`Relationship`
"""
@@ -1614,40 +1614,40 @@ class OperationBase(InstanceModelMixin):
Might be an instance of :class:`OperationTemplate`.
- :ivar name: Name (unique for the interface or service)
+ :ivar name: name (unique for the interface or service)
:vartype name: basestring
- :ivar operation_template: Template from which this operation was instantiated (optional)
+ :ivar operation_template: template from which this operation was instantiated (optional)
:vartype operation_template: :class:`OperationTemplate`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar relationship_edge: When true specified that the operation is on the relationship's
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar relationship_edge: when ``True`` specifies that the operation is on the relationship's
target edge instead of its source (only used by relationship
operations)
:vartype relationship_edge: bool
- :ivar implementation: Implementation (interpreted by the plugin)
+ :ivar implementation: implementation (interpreted by the plugin)
:vartype implementation: basestring
- :ivar dependencies: Dependency strings (interpreted by the plugin)
- :vartype dependencies: [basestring]
- :ivar inputs: Input that can be used by this operation
- :vartype inputs: {basestring: :class:`Input`}
- :ivar plugin: Associated plugin
- :vartype plugin: :class:`Plugin`
- :ivar configurations: Configuration (interpreted by the plugin)
- :vartype configurations: {basestring, :class:`Configuration`}
- :ivar function: Name of the operation function
+ :ivar dependencies: dependency strings (interpreted by the plugin)
+ :vartype dependencies: [obj:`basestring`]
+ :ivar inputs: input that can be used by this operation
+ :vartype inputs: {:obj:`basestring`: :class:`Input`}
+ :ivar plugin: associated plugin
+ :vartype plugin: Plugin
+ :ivar configurations: configuration (interpreted by the plugin)
+ :vartype configurations: {obj:`basestring`: :class:`Configuration`}
+ :ivar function: name of the operation function
:vartype function: basestring
- :ivar arguments: Arguments to send to the operation function
- :vartype arguments: {basestring: :class:`Argument`}
- :ivar executor: Name of executor to run the operation with
+ :ivar arguments: arguments to send to the operation function
+ :vartype arguments: {:obj:`basestring`: :class:`Argument`}
+ :ivar executor: name of executor to run the operation with
:vartype executor: basestring
- :ivar max_attempts: Maximum number of attempts allowed in case of failure
+ :ivar max_attempts: maximum number of attempts allowed in case of failure
:vartype max_attempts: int
- :ivar retry_interval: Interval between retries (in seconds)
+ :ivar retry_interval: interval between retries (in seconds)
:vartype retry_interval: int
- :ivar interface: Containing interface
- :vartype interface: :class:`Interface`
- :ivar service: Containing service
- :vartype service: :class:`Service`
+ :ivar interface: containing interface
+ :vartype interface: Interface
+ :ivar service: containing service
+ :vartype service: Service
"""
__tablename__ = 'operation'
@@ -1833,26 +1833,26 @@ class ArtifactBase(InstanceModelMixin):
Usually an instance of :class:`ArtifactTemplate`.
- :ivar name: Name (unique for the node)
+ :ivar name: name (unique for the node)
:vartype name: basestring
- :ivar artifact_template: Template from which this artifact was instantiated (optional)
- :vartype artifact_template: :class:`ArtifactTemplate`
- :ivar type: Artifact type
- :vartype type: :class:`Type`
- :ivar description: Human-readable description
- :vartype description: string
- :ivar source_path: Source path (CSAR or repository)
+ :ivar artifact_template: template from which this artifact was instantiated (optional)
+ :vartype artifact_template: ArtifactTemplate
+ :ivar type: artifact type
+ :vartype type: Type
+ :ivar description: human-readable description
+ :vartype description: basestring
+ :ivar source_path: source path (CSAR or repository)
:vartype source_path: basestring
- :ivar target_path: Path at destination machine
+ :ivar target_path: path at destination machine
:vartype target_path: basestring
- :ivar repository_url: Repository URL
+ :ivar repository_url: repository URL
:vartype repository_path: basestring
- :ivar repository_credential: Credentials for accessing the repository
- :vartype repository_credential: {basestring: basestring}
- :ivar properties: Associated parameters
- :vartype properties: {basestring: :class:`Property`}
- :ivar node: Containing node
- :vartype node: :class:`Node`
+ :ivar repository_credential: credentials for accessing the repository
+ :vartype repository_credential: {:obj:`basestring`: :obj:`basestring`}
+ :ivar properties: associated parameters
+ :vartype properties: {:obj:`basestring`: :class:`Property`}
+ :ivar node: containing node
+ :vartype node: Node
"""
__tablename__ = 'artifact'