murano/api-ref/source/v1/parameters.yaml

661 lines
16 KiB
YAML

# variables in header
request_id:
description: |
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
in: header
required: true
type: UUID
# variables in path
abandon:
description: |
Indicates how to delete environment.
``True`` is used when just database must be cleaned.
``False`` is used if all resources used by environment must be destroyed.
in: path
required: false
default: false
type: boolean
action_id_url:
description: |
The UUID of the action to be executed on the deployed environment.
in: path
required: true
type: string
category_id_url:
description: |
The UUID of the category.
in: path
required: true
type: string
env_id_url:
description: |
The UUID of the environment.
in: path
required: true
type: string
env_model_path:
description: |
Allows to get a specific section of the model, for example
``defaultNetworks``, ``region`` or ``?`` or any of the subsections.
in: path
required: false
type: string
env_name_update:
description: |
A name for the environment. Name must be at least
one non-white space symbol.
in: path
required: true
type: string
pkg_id_url:
description: |
The UUID of the package.
in: path
required: true
type: string
service_id_url:
description:
The UUID of a service belonging to an environment template.
in: path
required: true
type: string
session_id_url:
description: |
The UUID of the session.
in: path
required: true
type: string
task_id_url:
description: |
The UUID of the task associated with an action executed on a deployed
environment.
in: path
required: true
type: string
template_id_url:
description: |
The UUID of the environment template.
in: path
required: true
type: string
template_is_public_url:
description: |
Indicates whether public environment templates are listed or not. The
following options are possible:
- ``True``. Public environments templates from all projects are listed.
- ``False``. Private environments templates from current project are
listed.
- ``empty``. All project templates plus public templates from all projects.
are listed
in: path
required: false
default: false
type: boolean
# variables in query
all_tenants:
description: |
Indicates whether environments from all projects are listed.
``True`` environments from all projects are listed. Admin user required.
``False`` environments only from current project are listed (default like
option unspecified).
in: query
required: false
default: false
type: boolean
catalog:
description: |
If ``false`` (default) - search packages, that current user can edit
(own for non-admin, all for admin). If ``true`` - search packages,
that current user can deploy (i.e. his own + public).
in: query
required: false
default: false
type: boolean
category:
description: |
Allows to filter by categories.
in: query
required: false
type: string
class_name:
description: |
Search only for packages, that use specified class.
in: query
required: false
type: string
fqn:
description: |
Allows to filter by fully qualified name.
in: query
required: false
type: string
include_disabled:
description: |
Include disabled packages in the result.
in: query
required: false
default: false
type: boolean
limit:
description: |
When present the maximum number of results returned will not exceed
the specified value. The typical pattern of limit and marker is to
make an initial limited request and then to use the ID of the last
package from the response as the marker parameter in a
subsequent limited request.
in: query
required: false
type: string
marker:
description: |
A package identifier marker may be specified. When present only
packages which occur after the identifier ID will be listed
in: query
required: false
type: string
order_by:
description: |
Allows to sort packages by ``fqn``, ``name``, ``created``.
Created is default value.
in: query
required: false
type: string
owned:
description: |
Search only from packages owned by current project.
in: query
required: false
default: false
type: boolean
pkg_filters:
description: |
The filters that you want to use to search for packages in the
application catalog. If no filters query parameter is specified, the
application catalog API returns all packages allowed by the policy
settings. By using filters parameter, the API returns only the requested
set of packages that meet the filters. The list of filters includes:
* limit: the maximum number of packages to return
* type: the package type
* id: the package id
* category: the package category
* tag: the package tag
* class_name: the package class name
* fqn: the package fully qualified name
* name: the package name
in: query
required: false
type: string
pkg_id_query:
description: |
Allows to filter by package id.
in: query
required: false
type: string
pkg_name_query:
description: |
Allows to filter by package name.
in: query
required: false
type: string
pkg_type_query:
description: |
Allows to filter package by type, e.g. ``application``, ``library``.
in: query
required: false
type: string
search:
description: |
Gives opportunity to search specified data by all the
package parameters and order packages.
in: query
required: false
type: string
tenant:
description: |
Indicates environments from specified tenant are listed. Admin user required.
in: query
required: false
type: string
# variables in body
acquired_by:
description: |
The session that is currently `deploying` the environment. Returns the
`first` session id that is in ``DEPLOYING`` state for the environment.
in: body
required: true
type: string
all_categories:
description: |
All categories available in the application catalog.
in: body
required: true
type: array
author:
description: |
The author of the package.
in: body
required: true
type: string
category_id:
description: |
The UUID of the category.
in: body
required: true
type: string
category_name:
description: |
The name of the category.
in: body
required: true
type: string
category_packages:
description: |
The list of packages associated with a package. Each package returned
includes its ``id``, ``fully_qualified_name``, and ``name``.
in: body
required: true
type: array
class_definitions:
description: |
The class_definitions of the package.
in: body
required: true
type: array
created:
description: |
The date and time when the resource was created. The date and time stamp
format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
deployments:
description: |
The list of deployments for either the current environment or all
environments for the current tenant (project).
The following APIs control whether deployments by environment or by
project are returned:
* ``/deployments``: Returns all deployments for a project.
* ``/environments/{env_id}/deployments``: Returns all deployments for an
environment in a project.
in: body
required: true
type: array
description:
description: |
The description of the package.
in: body
required: true
type: string
enabled:
description: |
Whether the package is browsed in the Application Catalog.
in: body
required: true
type: boolean
env_default_networks:
description: |
The default networking information of the environment. The information
includes the ``name`` of the network, along with the ``type`` and ``id``
of the network, contained in the ``?`` property.
An example ``defaultNetworks`` object looks like::
"defaultNetworks": {
"environment": {
"internalNetworkName": "net_two",
"?": {
"type": "io.murano.resources.ExistingNeutronNetwork",
"id": "594e94fcfe4c48ef8f9b55edb3b9f177"
}
},
"flat": null
}
in: body
required: true
type: object
env_description:
description: |
The description of the environment.
in: body
required: true
type: string
env_id:
description: |
The UUID of the environment.
in: body
required: true
type: string
env_last_status:
description: |
Shows the most recent status of the environment for each service in the
environment. The response object includes detailed information
by ``service_id``.
in: body
required: true
type: object
env_model:
description: |
The ``?`` section of the environment, containing information about the
environment model, including its ``type``, ``id`` and associated
``metadata``.
in: body
required: true
type: object
env_name:
description: |
A name for the environment. Name must be at least one non-white space
symbol and less than 256 characters long.
in: body
required: true
type: string
env_name_request:
description: |
A name for the environment. Name must be at least
one non-white space symbol.
in: body
required: true
type: string
env_region:
description: |
Current region of the environment.
in: body
required: true
type: string
env_status:
description: |
Current status of the environment. The available statuses are:
* **Ready to configure**. When the environment is new and contains no
components.
* **Ready to deploy**. When the environment contains a component or multiple
components and is ready for deployment.
* **Ready**. When the environment has been successfully deployed.
* **Deploying**. When the deploying is in progress.
* **Deploy FAILURE**. When the deployment finished with errors.
* **Deleting**. When deleting of an environment is in progress.
* **Delete FAILURE**. You can abandon the environment in this case.
in: body
required: true
type: string
env_version:
description: |
Current version.
in: body
required: true
type: int
environments:
description: |
A list of ``environment`` object.
in: body
required: true
type: array
fully_qualified_name:
description: |
The fqn of the package.
in: body
required: true
type: string
is_public:
description: |
Whether the package is shared for other projects.
in: body
required: true
type: boolean
networking:
description: |
Current network of the environment.
in: body
required: true
type: string
owner_id:
description: |
The owner id of the package.
in: body
required: true
type: string
package_categories:
description: |
The categories associated with the package.
in: body
required: true
type: array
package_count:
description: |
The number of packages associated with the category.
in: body
required: true
type: integer
packages:
description: |
A list of ``package`` object.
in: body
required: true
type: array
pkg_file:
description: |
The upload package file.
in: body
required: true
type: object
pkg_id:
description: |
The UUID of the package.
in: body
required: true
type: string
pkg_name:
description: |
The name of the package.
in: body
required: true
type: string
pkg_supplier:
description: |
The supplier info of the package.
in: body
required: true
type: object
pkg_type:
description: |
The type of the package.
in: body
required: true
type: string
regions:
description: |
Detailed region information for the cloud environment.
in: body
required: true
type: object
services:
description: |
A list of ``service`` objects.
in: body
required: true
type: array
session_id:
description: |
The UUID of the session.
in: body
required: true
type: string
session_state:
description: |
The current state of the environment. When a session is first
opened for the environment the state is ``opened``.
in: body
required: true
type: string
session_user_id:
description: |
The UUID of the session owner.
in: body
required: true
type: string
session_version:
description: |
The version of the session. It is tied to the version of the environment,
so that only sessions whose version matches that of the environment can
be deployed.
in: body
required: true
type: integer
tags:
description: |
The tags of the package.
in: body
required: true
type: array
task_id:
description: |
The UUID of the task associated with an action executed on a deployed
environment.
in: body
required: true
type: string
template_description:
description: |
The environment template description.
in: body
required: true
type: string
template_id:
description: |
The UUID of the environment template.
in: body
required: true
type: string
template_is_public:
description: |
Indicates whether an environment template is public or not.
- ``True``. The environment template is public. Can be cloned.
- ``False``. The environment template is private.
in: body
required: true
type: boolean
template_name:
description: |
The name of the environment template. Only alphanumeric characters are
allowed.
in: body
required: true
type: string
template_service:
description: |
Detailed information about the ``service`` to be added to the environment
template. The ``service`` includes virtual resources and application
information. The virtual resources information is specified inside the
``instance`` object property. Application information is specified
inside the body of the ``service`` object.
The ``instance`` object properties include:
- ``assignFloatingIp``. Whether to assign a floating IP to the VM.
- ``keyname``. The key name of a key pair for the VM.
- ``image``. The image to be used to provision the VM.
- ``flavor``. The flavor to be used to provision the VM.
- ``?``. An object which includes the ``type`` of the server.
An example ``instance`` looks like::
{
"assignFloatingIp": "true",
"keyname": "mykeyname",
"image": "cloud-fedora-v3",
"flavor": "m1.medium",
"?": {
"type": "io.murano.resources.LinuxMuranoInstance",
"id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
}
}
In addition, the ``service`` should also include the following:
- ``name``. The ``name`` of the application.
- ``?``. An object that includes the ``type`` and ``id`` of the
application. An example ``type`` is:
"io.murano.resources.LinuxMuranoInstance".
- ``port``: The port to be used by the application. The value must be
greater than 0 and less than 65536 (although formatted as a string).
The entire ``service`` looks like::
{
"instance": {
"assignFloatingIp": "true",
"keyname": "mykeyname",
"image": "cloud-fedora-v3",
"flavor": "m1.medium",
"?": {
"type": "io.murano.resources.LinuxMuranoInstance",
"id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
}
},
"name": "orion",
"?": {
"type": "io.murano.apps.apache.Tomcat",
"id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
},
"port": "8080"
}
in: body
required: true
type: object
template_services:
description: |
The list of environment template ``service`` objects.
in: body
required: true
type: array
template_version:
description: |
The current version of the environment template.
in: body
required: true
type: integer
templates:
description: |
The list of templates.
in: body
required: true
type: array
tenant_id:
description: |
The UUID of the tenant. A tenant is also known as a project.
in: body
required: true
type: string
updated:
description: |
The date and time when the object was updated. The date and time stamp
format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
in: body
required: true
type: string