The heat.rpc.client
Module¶
Client side of the heat engine RPC API.
-
class
heat.rpc.client.
EngineClient
[source]¶ Bases:
object
Client side of the heat engine rpc API.
API version history:
1.0 - Initial version. 1.1 - Add support_status argument to list_resource_types() 1.4 - Add support for service list 1.9 - Add template_type option to generate_template() 1.10 - Add support for software config list 1.11 - Add support for template versions list 1.12 - Add with_detail option for stack resources list 1.13 - Add support for template functions list 1.14 - Add cancel_with_rollback option to stack_cancel_update 1.15 - Add preview_update_stack() call 1.16 - Adds version, type_name to list_resource_types() 1.17 - Add files to validate_template 1.18 - Add show_nested to validate_template 1.19 - Add show_output and list_outputs for returning stack outputs 1.20 - Add resolve_outputs to stack show 1.21 - Add deployment_id to create_software_deployment 1.22 - Add support for stack export 1.23 - Add environment_files to create/update/preview/validate 1.24 - Adds ignorable_errors to validate_template 1.25 - list_stack_resource filter update 1.26 - Add mark_unhealthy 1.27 - Add check_software_deployment 1.28 - Add get_environment call 1.29 - Add template_id to create_stack/update_stack 1.30 - Add possibility to resource_type_* return descriptions 1.31 - Add nested_depth to list_events, when nested_depth is specified add root_stack_id to response 1.32 - Add get_files call 1.33 - Remove tenant_safe from list_stacks, count_stacks and list_software_configs 1.34 - Add migrate_convergence_1 call 1.35 - Add with_condition to list_template_functions
-
BASE_RPC_API_VERSION
= '1.0'¶
-
abandon_stack
(ctxt, stack_identity)[source]¶ Deletes a given stack but resources would not be deleted.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you want to abandon.
-
authenticated_to_backend
(ctxt)[source]¶ Validate the credentials in the RPC context.
Verify that the credentials in the RPC context are valid for the current cloud backend.
Parameters: ctxt – RPC context.
-
count_stacks
(ctxt, filters=None, show_deleted=False, show_nested=False, show_hidden=False, tags=None, tags_any=None, not_tags=None, not_tags_any=None)[source]¶ Returns the number of stacks that match the given filters.
Parameters: - ctxt – RPC context.
- filters – a dict of ATTR:VALUE to match against stacks
- show_deleted – if true, count will include the deleted stacks
- show_nested – if true, count will include nested stacks
- show_hidden – if true, count will include hidden stacks
- tags – count stacks containing these tags, combine multiple tags using the boolean AND expression
- tags_any – count stacks containing these tags, combine multiple tags using the boolean OR expression
- not_tags – count stacks not containing these tags, combine multiple tags using the boolean AND expression
- not_tags_any – count stacks not containing these tags, combine multiple tags using the boolean OR expression
Returns: an integer representing the number of matched stacks
-
create_software_deployment
(cnxt, server_id, config_id=None, input_values=None, action='INIT', status='COMPLETE', status_reason='', stack_user_project_id=None, deployment_id=None)[source]¶
-
create_stack
(ctxt, stack_name, template, params, files, args, environment_files=None)[source]¶ Creates a new stack using the template provided.
Note that at this stage the template has already been fetched from the heat-api process if using a template-url.
Parameters: - ctxt – RPC context.
- stack_name – Name of the stack you want to create.
- template – Template of stack you want to create.
- params – Stack Input Params/Environment
- files – files referenced from the environment.
- args – Request parameters/args passed from API
- environment_files (list or None) – optional ordered list of environment file names included in the files dict
-
create_watch_data
(ctxt, watch_name, stats_data)[source]¶ Creates data for CloudWatch and WaitConditions.
This could be used by CloudWatch and WaitConditions and treat HA service events like any other CloudWatch.
Parameters: - ctxt – RPC context.
- watch_name – Name of the watch/alarm
- stats_data – The data to post.
-
delete_stack
(ctxt, stack_identity, cast=True)[source]¶ Deletes a given stack.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you want to delete.
- cast – cast the message or use call (default: True)
-
describe_stack_resource
(ctxt, stack_identity, resource_name, with_attr=False)[source]¶ Get detailed resource information about a particular resource.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack.
- resource_name – the Resource.
-
describe_stack_resources
(ctxt, stack_identity, resource_name)[source]¶ Get detailed resource information about one or more resources.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack.
- resource_name – the Resource.
-
export_stack
(ctxt, stack_identity)[source]¶ Exports the stack data in JSON format.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you want to export.
-
find_physical_resource
(ctxt, physical_resource_id)[source]¶ Return an identifier for the resource.
Parameters: - ctxt – RPC context.
- physcial_resource_id – The physical resource ID to look up.
-
generate_template
(ctxt, type_name, template_type='cfn')[source]¶ Generate a template based on the specified type.
Parameters: - ctxt – RPC context.
- type_name – The resource type name to generate a template for.
- template_type – the template type to generate, cfn or hot.
-
get_environment
(context, stack_identity)[source]¶ Returns the environment for an existing stack.
Parameters: - context – RPC context
- stack_identity – identifies the stack
Return type: dict
-
get_files
(context, stack_identity)[source]¶ Returns the files for an existing stack.
Parameters: - context – RPC context
- stack_identity – identifies the stack
Return type: dict
-
get_template
(ctxt, stack_identity)[source]¶ Get the template.
Parameters: - ctxt – RPC context.
- stack_name – Name of the stack you want to see.
-
identify_stack
(ctxt, stack_name)[source]¶ Returns the full stack identifier for a single, live stack.
Parameters: - ctxt – RPC context.
- stack_name – Name of the stack you want to see, or None to see all
-
ignore_error_named
(error, name)[source]¶ Raises the error unless its local name matches the supplied name.
Parameters: - error – Remote raised error to derive the local name from.
- name – Name to compare local name to.
-
list_events
(ctxt, stack_identity, filters=None, limit=None, marker=None, sort_keys=None, sort_dir=None, nested_depth=None)[source]¶ Lists all events associated with a given stack.
It supports pagination (
limit
andmarker
), sorting (sort_keys
andsort_dir
) and filtering(filters) of the results.Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you want to get events for
- filters – a dict with attribute:value to filter the list
- limit – the number of events to list (integer or string)
- marker – the ID of the last event in the previous page
- sort_keys – an array of fields used to sort the list
- sort_dir – the direction of the sort (‘asc’ or ‘desc’).
- nested_depth – Levels of nested stacks to list events for.
-
list_resource_types
(ctxt, support_status=None, type_name=None, heat_version=None, with_description=False)[source]¶ Get a list of valid resource types.
Parameters: - ctxt – RPC context.
- support_status – Support status of resource type
- type_name – Resource type’s name (regular expression allowed)
- heat_version – Heat version
- with_description – Either return resource type description or not
-
list_stack_resources
(ctxt, stack_identity, nested_depth=0, with_detail=False, filters=None)[source]¶ List the resources belonging to a stack.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack.
- nested_depth – Levels of nested stacks of which list resources.
- with_detail – show detail for resources in list.
- filters – a dict with attribute:value to search the resources
-
list_stacks
(ctxt, limit=None, marker=None, sort_keys=None, sort_dir=None, filters=None, show_deleted=False, show_nested=False, show_hidden=False, tags=None, tags_any=None, not_tags=None, not_tags_any=None)[source]¶ Returns attributes of all stacks.
It supports pagination (
limit
andmarker
), sorting (sort_keys
andsort_dir
) and filtering (filters
) of the results.Parameters: - ctxt – RPC context.
- limit – the number of stacks to list (integer or string)
- marker – the ID of the last item in the previous page
- sort_keys – an array of fields used to sort the list
- sort_dir – the direction of the sort (‘asc’ or ‘desc’)
- filters – a dict with attribute:value to filter the list
- show_deleted – if true, show soft-deleted stacks
- show_nested – if true, show nested stacks
- show_hidden – if true, show hidden stacks
- tags – show stacks containing these tags, combine multiple tags using the boolean AND expression
- tags_any – show stacks containing these tags, combine multiple tags using the boolean OR expression
- not_tags – show stacks not containing these tags, combine multiple tags using the boolean AND expression
- not_tags_any – show stacks not containing these tags, combine multiple tags using the boolean OR expression
Returns: a list of stacks
-
list_template_functions
(ctxt, template_version, with_condition=False)[source]¶ Get a list of available functions in a given template.
Parameters: ctxt – RPC context - :param template_name : name of the template which function list you
- want to get
Parameters: with_condition – return includes condition functions.
-
list_template_versions
(ctxt)[source]¶ Get a list of available template versions.
Parameters: ctxt – RPC context.
-
local_error_name
(error)[source]¶ Returns the name of the error with any _Remote postfix removed.
Parameters: error – Remote raised error to derive the name from.
-
migrate_convergence_1
(ctxt, stack_id)[source]¶ Migrate the stack to convergence engine
Parameters: - ctxt – RPC context
- stack_name – Name of the stack you want to migrate
-
preview_stack
(ctxt, stack_name, template, params, files, args, environment_files=None)[source]¶ Simulates a new stack using the provided template.
Note that at this stage the template has already been fetched from the heat-api process if using a template-url.
Parameters: - ctxt – RPC context.
- stack_name – Name of the stack you want to create.
- template – Template of stack you want to create.
- params – Stack Input Params/Environment
- files – files referenced from the environment.
- args – Request parameters/args passed from API
- environment_files (list or None) – optional ordered list of environment file names included in the files dict
-
preview_update_stack
(ctxt, stack_identity, template, params, files, args, environment_files=None)[source]¶ Returns the resources that would be changed in an update.
Based on the provided template and parameters.
Requires RPC version 1.15 or above.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you wish to update.
- template – New template for the stack.
- params – Stack Input Params/Environment
- files – files referenced from the environment.
- args – Request parameters/args passed from API
- environment_files (list or None) – optional ordered list of environment file names included in the files dict
-
resource_mark_unhealthy
(ctxt, stack_identity, resource_name, mark_unhealthy, resource_status_reason=None)[source]¶ Mark the resource as unhealthy or healthy.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack.
- resource_name – the Resource.
- mark_unhealthy – indicates whether the resource is unhealthy.
- resource_status_reason – reason for health change.
-
resource_schema
(ctxt, type_name, with_description=False)[source]¶ Get the schema for a resource type.
Parameters: - ctxt – RPC context.
- with_description – Return resource with description or not.
-
resource_signal
(ctxt, stack_identity, resource_name, details, sync_call=False)[source]¶ Generate an alarm on the resource.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack.
- resource_name – the Resource.
- details – the details of the signal.
-
set_watch_state
(ctxt, watch_name, state)[source]¶ Temporarily set the state of a given watch.
Parameters: - ctxt – RPC context.
- watch_name – Name of the watch
- state – State (must be one defined in WatchRule class)
-
show_stack
(ctxt, stack_identity, resolve_outputs=True)[source]¶ Returns detailed information about one or all stacks.
Parameters: - ctxt – RPC context.
- stack_identity – Name of the stack you want to show, or None to
show all :param resolve_outputs: If True, stack outputs will be resolved
-
show_watch
(ctxt, watch_name)[source]¶ Returns the attributes of one watch/alarm.
The show_watch method returns the attributes of one watch or all watches if no watch_name is passed.
Parameters: - ctxt – RPC context.
- watch_name – Name of the watch/alarm you want to see, or None to see all
-
show_watch_metric
(ctxt, metric_namespace=None, metric_name=None)[source]¶ Returns the datapoints for a metric.
The show_watch_metric method returns the datapoints associated with a specified metric, or all metrics if no metric_name is passed.
Parameters: - ctxt – RPC context.
- metric_namespace – Name of the namespace you want to see, or None to see all
- metric_name – Name of the metric you want to see, or None to see all
-
update_software_deployment
(cnxt, deployment_id, config_id=None, input_values=None, output_values=None, action=None, status=None, status_reason=None, updated_at=None)[source]¶
-
update_stack
(ctxt, stack_identity, template, params, files, args, environment_files=None)[source]¶ Updates an existing stack based on the provided template and params.
Note that at this stage the template has already been fetched from the heat-api process if using a template-url.
Parameters: - ctxt – RPC context.
- stack_name – Name of the stack you want to create.
- template – Template of stack you want to create.
- params – Stack Input Params/Environment
- files – files referenced from the environment.
- args – Request parameters/args passed from API
- environment_files (list or None) – optional ordered list of environment file names included in the files dict
-
validate_template
(ctxt, template, params=None, files=None, environment_files=None, show_nested=False, ignorable_errors=None)[source]¶ Uses the stack parser to check the validity of a template.
Parameters: - ctxt – RPC context.
- template – Template of stack you want to create.
- params – Stack Input Params/Environment
- files – files referenced from the environment/template.
- environment_files – ordered list of environment file names included in the files dict
- show_nested – if True nested templates will be validated
- ignorable_errors – List of error_code to be ignored as part of
validation
-