streamsx.build¶
REST API bindings for IBM® Streams Cloud Pak for Data build service.
Streams Build REST API¶
The REST Build API provides programmatic support for creating, submitting and managing Streams builds. You can use the REST Build API from any application that can establish an HTTPS connection to the server that is running the build service. The current support includes methods for managing toolkits in the build service and for retrieving base images for Edge image builds.
Cloud Pak for Data¶
of_endpoint() or of_service()
is the entry point to using the Streams Build REST API bindings, returning a BuildService.
See also
Module contents¶
Classes
IBM Streams build service. |
-
class
streamsx.build.BuildService(username=None, password=None, resource_url=None, buildpools_url=None, auth=None)¶ Bases:
streamsx.rest._AbstractStreamsConnectionIBM Streams build service.
An instance of a BuildService is created using
of_endpoint()orof_service().New in version 1.13.
-
get_base_images()¶ Retrieves a list of all installed base images for Edge applications.
- Returns
List of all base images,
Noneif there are no base images- Return type
listofBaseImage
New in version 1.15.
-
get_resources()¶ Retrieves a list of all known Streams high-level Build REST resources.
- Returns
List of all Streams high-level Build REST resources.
- Return type
listofRestResource
-
get_toolkit(id)¶ Retrieves available toolkit matching a specific toolkit ID.
- Parameters
id (str) – Toolkit identifier to retrieve. This is the name and version of a toolkit. For sample, com.ibm.streamsx.rabbitmq-1.1.3
- Returns
Toolkit matching id.
- Return type
- Raises
ValueError – No matching toolkit exists.
-
get_toolkits(name=None)¶ Retrieves a list of all installed Streams Toolkits.
- Returns
List of all Toolkit resources.
- Return type
listofToolkit- Parameters
name (str) – Return toolkits matching name as a regular expression.
-
static
of_endpoint(endpoint=None, service_name=None, username=None, password=None, verify=None)¶ Connect to a Cloud Pak for Data IBM Streams build service instance.
Two configurations are supported.
Integrated configuration
The build service is bound to a Streams instance and is defined using the Cloud Pak for Data deployment endpoint (URL) and the Streams service name.
The endpoint is passed in as endpoint defaulting the the environment variable
CP4D_URL. An example is https://cp4d_server:31843.The Streams service name is passed in as service_name defaulting to the environment variable
STREAMS_INSTANCE_ID.Standalone configuration
A build service is independent of a Streams instance and is defined using the build service endpoint.
The endpoint is passed in as endpoint defaulting the the environment variable
STREAMS_BUILD_URL. An example is https://build_service:34679.No service name is specified thus service_name should be passed as
Noneor not set.- Parameters
endpoint (str) – Endpoint defining the build service.
service_name (str) – Streams instance name for a integrated configuration. This value is ignored for a standalone configuration.
username (str) – User name to authenticate as. Defaults to the environment variable
STREAMS_USERNAMEor the operating system identifier if not set.password (str) – Password for authentication. Defaults to the environment variable
STREAMS_PASSWORDor the operating system identifier if not set.verify – SSL verification. Set to
Falseto disable SSL verification. Defaults to SSL verification being enabled.
- Returns
Connection to Streams build service or
Noneif insufficient configuration was provided.- Return type
-
static
of_service(config)¶ Connect to a Cloud Pak for Data IBM Streams build service instance.
The instance is specified in config. The configuration may be code injected from the list of services in a Jupyter notebook running in ICPD or manually created. The code that selects a service instance by name is:
from icpd_core import ipcd_util cfg = icpd_util.get_service_details(name='instanceName', instance_type='streams') buildService = BuildService.of_service(cfg)
SSL host verification is disabled by setting
SSL_VERIFYtoFalsewithin config before calling this method:from icpd_core import ipcd_util cfg = icpd_util.get_service_details(name='instanceName', instance_type='streams') cfg[ConfigParams.SSL_VERIFY] = False buildService = BuildService.of_service(cfg)
- Parameters
config (dict) – Configuration of IBM Streams service instance.
- Returns
Connection to Streams build service.
- Return type
Note
Only supported when running within the ICPD cluster, for example in a Jupyter notebook within an ICPD project.
New in version 1.15.
-
property
resource_url¶ Endpoint URL for IBM Streams REST build API.
- Type
str
-
upload_toolkit(path)¶ Upload a toolkit from a directory in the local filesystem to the Streams build service.
Multiple versions of a toolkit may be uploaded as long as each has a unique version. If a toolkit is uploaded with a name and version matching an existing toolkit, it will not replace the existing toolkit, and
Nonewill be returned.- Parameters
path (str) – The path to the toolkit directory in the local filesystem.
- Returns
The created Toolkit, or
Noneif it was not uploaded.- Return type
-