ironic.objects.deploy_template module

ironic.objects.deploy_template module

class ironic.objects.deploy_template.DeployTemplate(context=None, **kwargs)[source]

Bases: ironic.objects.base.IronicObject, oslo_versionedobjects.base.VersionedObjectDictCompat

VERSION = '1.1'
create(context=None)[source]

Create a DeployTemplate record in the DB.

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
Raises:DeployTemplateDuplicateName if a deploy template with the same name exists.
Raises:DeployTemplateAlreadyExists if a deploy template with the same UUID exists.
created_at
dbapi = <oslo_db.api.DBAPI object>
destroy()[source]

Delete the DeployTemplate from the DB.

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
Raises:DeployTemplateNotFound if the deploy template no longer appears in the database.
extra
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'name': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'steps': List(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}
classmethod get_by_id(context, template_id)[source]

Find a deploy template based on its integer ID.

Parameters:
  • context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
  • template_id – The ID of a deploy template.
Raises:

DeployTemplateNotFound if the deploy template no longer appears in the database.

Returns:

a DeployTemplate object.

classmethod get_by_name(context, name)[source]

Find a deploy template based on its name.

Parameters:
  • context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
  • name – The name of a deploy template.
Raises:

DeployTemplateNotFound if the deploy template no longer appears in the database.

Returns:

a DeployTemplate object.

classmethod get_by_uuid(context, uuid)[source]

Find a deploy template based on its UUID.

Parameters:
  • context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
  • uuid – The UUID of a deploy template.
Raises:

DeployTemplateNotFound if the deploy template no longer appears in the database.

Returns:

a DeployTemplate object.

id
classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of DeployTemplate objects.

Parameters:
  • context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
  • limit – maximum number of resources to return in a single result.
  • marker – pagination marker for large data sets.
  • sort_key – column to sort results by.
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of DeployTemplate objects.

classmethod list_by_names(context, names)[source]

Return a list of DeployTemplate objects matching a set of names.

Parameters:
  • context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context).
  • names – a list of names to filter by.
Returns:

a list of DeployTemplate objects.

name
refresh(context=None)[source]

Loads updates for this deploy template.

Loads a deploy template with the same uuid from the database and checks for updated attributes. Updates are applied from the loaded template column by column, if there are any updates.

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Port(context)
Raises:DeployTemplateNotFound if the deploy template no longer appears in the database.
save(context=None)[source]

Save updates to this DeployTemplate.

Column-wise updates will be made based on the result of self.what_changed().

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: DeployTemplate(context)
Raises:DeployTemplateDuplicateName if a deploy template with the same name exists.
Raises:DeployTemplateNotFound if the deploy template does not exist.
steps
updated_at
uuid
class ironic.objects.deploy_template.DeployTemplateCRUDNotification(context=None, **kwargs)[source]

Bases: ironic.objects.notification.NotificationBase

Notification emitted on deploy template API operations.

VERSION = '1.0'
created_at
event_type
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'event_type': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'level': NotificationLevel(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False,valid_values=('debug', 'info', 'warning', 'error', 'critical')), 'payload': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'publisher': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
level
payload
publisher
updated_at
class ironic.objects.deploy_template.DeployTemplateCRUDPayload(deploy_template, **kwargs)[source]

Bases: ironic.objects.notification.NotificationPayloadBase

SCHEMA = {'created_at': ('deploy_template', 'created_at'), 'extra': ('deploy_template', 'extra'), 'name': ('deploy_template', 'name'), 'steps': ('deploy_template', 'steps'), 'updated_at': ('deploy_template', 'updated_at'), 'uuid': ('deploy_template', 'uuid')}
VERSION = '1.0'
created_at
extra
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'name': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'steps': List(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}
name
steps
updated_at
uuid
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.