Python Sahara client for APIv2¶
Overview¶
There is also support for Sahara’s experimental APIv2.
Supported operations¶
Plugin ops¶
- class saharaclient.api.plugins.PluginManagerV2(api)[source]¶
- get(plugin_name)¶
Get information about a Plugin.
- get_version_details(plugin_name, plugin_version)[source]¶
Get version details
Get the list of Services and Service Parameters for a specified Plugin and Plugin Version.
- list(search_opts=None)¶
Get a list of Plugins.
- update(plugin_name, values)¶
Update plugin and then return updated result to user
Image Registry ops¶
- class saharaclient.api.images.ImageManagerV2(api)[source]¶
- get(id)¶
Get information about an image
- list(search_opts=None)¶
Get a list of registered images.
- unregister_image(image_id)¶
Remove an Image from Sahara Image Registry.
- update_image(image_id, user_name, desc=None)¶
Create or update an Image in Image Registry.
Node Group Template ops¶
- class saharaclient.api.node_group_templates.NodeGroupTemplateManagerV2(api)[source]¶
- create(name, plugin_name, plugin_version, flavor_id, description=None, volumes_per_node=None, volumes_size=None, node_processes=None, node_configs=None, floating_ip_pool=None, security_groups=None, auto_security_group=None, availability_zone=None, volumes_availability_zone=None, volume_type=None, image_id=None, is_proxy_gateway=None, volume_local_to_instance=None, use_autoconfig=None, shares=None, is_public=None, is_protected=None, volume_mount_prefix=None, boot_from_volume=None, boot_volume_type=None, boot_volume_availability_zone=None, boot_volume_local_to_instance=None)[source]¶
Create a Node Group Template.
- delete(ng_template_id)¶
Delete a Node Group Template.
- export(ng_template_id)¶
Export a Node Group Template.
- get(ng_template_id)¶
Get information about a Node Group Template.
- list(search_opts=None, marker=None, limit=None, sort_by=None, reverse=None)¶
Get a list of Node Group Templates.
- update(ng_template_id, name=NotUpdated, plugin_name=NotUpdated, plugin_version=NotUpdated, flavor_id=NotUpdated, description=NotUpdated, volumes_per_node=NotUpdated, volumes_size=NotUpdated, node_processes=NotUpdated, node_configs=NotUpdated, floating_ip_pool=NotUpdated, security_groups=NotUpdated, auto_security_group=NotUpdated, availability_zone=NotUpdated, volumes_availability_zone=NotUpdated, volume_type=NotUpdated, image_id=NotUpdated, is_proxy_gateway=NotUpdated, volume_local_to_instance=NotUpdated, use_autoconfig=NotUpdated, shares=NotUpdated, is_public=NotUpdated, is_protected=NotUpdated, volume_mount_prefix=NotUpdated, boot_from_volume=NotUpdated, boot_volume_type=NotUpdated, boot_volume_availability_zone=NotUpdated, boot_volume_local_to_instance=NotUpdated)[source]¶
Update a Node Group Template.
Cluster Template ops¶
- class saharaclient.api.cluster_templates.ClusterTemplateManagerV2(api)[source]¶
- create(name, plugin_name, plugin_version, description=None, cluster_configs=None, node_groups=None, anti_affinity=None, net_id=None, default_image_id=None, use_autoconfig=None, shares=None, is_public=None, is_protected=None, domain_name=None)[source]¶
Create a Cluster Template.
- delete(cluster_template_id)¶
Delete a Cluster Template.
- export(cluster_template_id)¶
Export a Cluster Template.
- get(cluster_template_id)¶
Get information about a Cluster Template.
- list(search_opts=None, marker=None, limit=None, sort_by=None, reverse=None)¶
Get list of Cluster Templates.
- update(cluster_template_id, name=NotUpdated, plugin_name=NotUpdated, plugin_version=NotUpdated, description=NotUpdated, cluster_configs=NotUpdated, node_groups=NotUpdated, anti_affinity=NotUpdated, net_id=NotUpdated, default_image_id=NotUpdated, use_autoconfig=NotUpdated, shares=NotUpdated, is_public=NotUpdated, is_protected=NotUpdated, domain_name=NotUpdated)[source]¶
Update a Cluster Template.
Cluster ops¶
- class saharaclient.api.clusters.ClusterManagerV2(api)[source]¶
- create(name, plugin_name, plugin_version, cluster_template_id=None, default_image_id=None, is_transient=None, description=None, cluster_configs=None, node_groups=None, user_keypair_id=None, anti_affinity=None, net_id=None, count=None, use_autoconfig=None, shares=None, is_public=None, is_protected=None)[source]¶
Launch a Cluster.
- delete(cluster_id)¶
Delete a Cluster.
- get(cluster_id, show_progress=False)¶
Get information about a Cluster.
- list(search_opts=None, limit=None, marker=None, sort_by=None, reverse=None)¶
Get a list of Clusters.
- scale(cluster_id, scale_object)[source]¶
Scale an existing Cluster.
- Parameters:
scale_object – dict that describes scaling operation
- Example:
The following scale_object can be used to change the number of instances in the node group (optionally specifiying which instances to delete) or add instances of a new node group to an existing cluster:
{ "add_node_groups": [ { "count": 3, "name": "new_ng", "node_group_template_id": "ngt_id" } ], "resize_node_groups": [ { "count": 2, "name": "old_ng", "instances": ["instance_id1", "instance_id2"] } ] }
- update(cluster_id, name=NotUpdated, description=NotUpdated, is_public=NotUpdated, is_protected=NotUpdated, shares=NotUpdated)¶
Update a Cluster.
- verification_update(cluster_id, status)¶
Start a verification for a Cluster.
Data Source ops¶
- class saharaclient.api.data_sources.DataSourceManagerV2(api)[source]¶
- create(name, description, data_source_type, url, credential_user=None, credential_pass=None, is_public=None, is_protected=None, s3_credentials=None)¶
Create a Data Source.
- delete(data_source_id)¶
Delete a Data Source.
- get(data_source_id)¶
Get information about a Data Source.
- list(search_opts=None, limit=None, marker=None, sort_by=None, reverse=None)¶
Get a list of Data Sources.
- update(data_source_id, update_data)¶
Update a Data Source.
- Parameters:
update_data (dict) – dict that contains fields that should be updated with new values.
Fields that can be updated:
name
description
type
url
is_public
is_protected
credentials - dict with the keys user and password for data source in Swift, or with the keys accesskey, secretkey, endpoint, ssl, and bucket_in_path for data source in S3
Job Binary ops¶
- class saharaclient.api.job_binaries.JobBinariesManagerV2(api)[source]¶
- create(name, url, description=None, extra=None, is_public=None, is_protected=None)¶
Create a Job Binary.
- Parameters:
extra (dict) – authentication info needed for some job binaries, containing the keys user and password for job binary in Swift or the keys accesskey, secretkey, and endpoint for job binary in S3
- delete(job_binary_id)¶
Delete a Job Binary.
- get(job_binary_id)¶
Get information about a Job Binary.
- get_file(job_binary_id)¶
Download a Job Binary.
- list(search_opts=None, limit=None, marker=None, sort_by=None, reverse=None)¶
Get a list of Job Binaries.
- update(job_binary_id, data)¶
Update Job Binary.
- Parameters:
data (dict) – dict that contains fields that should be updated with new values.
Fields that can be updated:
name
description
url
is_public
is_protected
extra - dict with the keys user and password for job binary in Swift, or with the keys accesskey, secretkey, and endpoint for job binary in S3
Job Template ops¶
- class saharaclient.api.v2.job_templates.JobTemplatesManagerV2(api)[source]¶
- create(name, type, mains=None, libs=None, description=None, interface=None, is_public=None, is_protected=None)[source]¶
Create a Job Template.
Job ops¶
- class saharaclient.api.v2.jobs.JobsManagerV2(api)[source]¶
- create(job_template_id, cluster_id, input_id=None, output_id=None, configs=None, interface=None, is_public=None, is_protected=None)[source]¶
Launch a Job.