Hooks

Overview

infinisdk uses gossip library, implementaion of a basic hook mechanism for registering callbacks.

>>> from __future__ import print_function
>>> import gossip

>>> @gossip.register('infinidat.sdk.post_object_creation', tags=['pool'], token=gossip_token)
... def post_creation(obj, **_):
...     print("Pool '{}' was created".format(obj.get_name()))

>>> pool = system.pools.create(name='some_pool')
Pool 'some_pool' was created

Note

It is entirely possible for hooks to receive more keyword arguments as features are added to InfiniSDK. To cope with this you are strongly encouraged to allow passing “catch-all” keyword arguments to your hooks (e.g. **kwargs)

See also

For more information about gossip, see Gossip documentation

Available Hooks

The following hooks are available from the infinidat.sdk group:

infinidat.sdk.after_api_request(request, response)

No supported tags

infinidat.sdk.after_login(system)

No supported tags

infinidat.sdk.before_api_request(request)

No supported tags

infinidat.sdk.begin_fork(obj)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.cancel_fork(obj)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.cluster_add_host_failure(host, cluster, exception)

Supported tags: host_cluster, infinibox

infinidat.sdk.cluster_remove_host_failure(host, cluster, exception)

Supported tags: host_cluster, infinibox

infinidat.sdk.cons_group_add_member_failure(cons_group, member, request)

Supported tags: infinibox

infinidat.sdk.cons_group_deletion_failure(cons_group, delete_members)

Supported tags: cons_group, infinibox

infinidat.sdk.cons_group_remove_member_failure(cons_group, member)

Supported tags: infinibox

infinidat.sdk.data_restore_failure(source, target, exc)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.entity_child_creation_failure(obj, exception, system)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.event_retention_failure(system, retention, exception)

Supported tags: event, infinibox

infinidat.sdk.finish_fork(obj, child)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.object_creation_failure(data, system, cls, parent, exception)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.object_deletion_failure(obj, exception, system, url)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.object_operation_failure(exception)

Supported tags: bbu, cons_group, drive, enclosure, eth_port, event, export, external_cluster, fc_port, fc_soft_target, fc_switch, filesystem, host, host_cluster, ib_port, infinibox, initiator, ldap_config, link, local_drive, network_interface, network_space, nfs_user, nlm_lock, node, notification_rule, notification_target, pdu, plugin, pool, qos_policy, rack, replica, replication_group, rg_replica, schedule, service, service_cluster, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, system, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.object_restore_failure(source, target, exc)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.object_update_failure(obj, exception, system, data)

Supported tags: bbu, cons_group, drive, enclosure, eth_port, event, export, external_cluster, fc_port, fc_soft_target, fc_switch, filesystem, host, host_cluster, ib_port, infinibox, initiator, ldap_config, link, local_drive, network_interface, network_space, nfs_user, nlm_lock, node, notification_rule, notification_target, pdu, plugin, pool, qos_policy, rack, replica, replication_group, rg_replica, schedule, service, service_cluster, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, system, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pool_lock_failure(pool, exception)

Supported tags: infinibox, pool

infinidat.sdk.pool_move_failure(obj, with_capacity, system, exception, target_pool, source_pool)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.pool_unlock_failure(pool, exception)

Supported tags: infinibox, pool

infinidat.sdk.post_cluster_add_host(host, cluster)

Supported tags: host_cluster, infinibox

infinidat.sdk.post_cluster_remove_host(host, cluster)

Supported tags: host_cluster, infinibox

infinidat.sdk.post_cons_group_add_member(cons_group, member, request)

Supported tags: infinibox

infinidat.sdk.post_cons_group_deletion(cons_group, delete_members)

Supported tags: cons_group, infinibox

infinidat.sdk.post_cons_group_remove_member(cons_group, member)

Supported tags: infinibox

infinidat.sdk.post_data_restore(source, target, require_real_data, reason)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.post_entity_child_creation(source, target, system)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.post_event_retention(system, retention)

Supported tags: event, infinibox

infinidat.sdk.post_object_creation(obj, data, response_dict, parent)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.post_object_deletion(obj, url)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.post_object_restore(source, target)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.post_object_update(obj, data, response_dict)

Supported tags: bbu, cons_group, drive, enclosure, eth_port, event, export, external_cluster, fc_port, fc_soft_target, fc_switch, filesystem, host, host_cluster, ib_port, infinibox, initiator, ldap_config, link, local_drive, network_interface, network_space, nfs_user, nlm_lock, node, notification_rule, notification_target, pdu, plugin, pool, qos_policy, rack, replica, replication_group, rg_replica, schedule, service, service_cluster, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, system, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.post_pool_lock(pool)

Supported tags: infinibox, pool

infinidat.sdk.post_pool_move(obj, with_capacity, system, target_pool, source_pool)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.post_pool_unlock(pool)

Supported tags: infinibox, pool

infinidat.sdk.post_qos_policy_assign(qos_policy, entity)

Supported tags: infinibox, qos_policy

infinidat.sdk.post_qos_policy_unassign(qos_policy, entity)

Supported tags: infinibox, qos_policy

infinidat.sdk.post_refresh_snapshot(source, target)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.post_replica_change_role(replica)

Supported tags: infinibox

infinidat.sdk.post_replica_change_type(replica, old_type, new_type)

Supported tags: infinibox

infinidat.sdk.post_replica_resume(replica)

Supported tags: infinibox

infinidat.sdk.post_replica_suspend(replica)

Supported tags: infinibox

infinidat.sdk.post_replica_switch_role(replica)

Supported tags: infinibox

infinidat.sdk.post_replication_group_remove_member(replication_group, member)

Supported tags: infinibox

infinidat.sdk.post_replication_snapshot_expose

Supported tags: cons_group, filesystem, volume

infinidat.sdk.post_rg_replica_resume(rg_replica)

Supported tags: infinibox

infinidat.sdk.post_rg_replica_suspend(rg_replica)

Supported tags: infinibox

infinidat.sdk.post_treeq_creation(fields, system, filesystem, treeq)

Supported tags: infinibox, treeq

infinidat.sdk.post_volume_mapping(volume, host_or_cluster, lun, lun_object)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.post_volume_unmapping(volume, host_or_cluster, lun)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.pre_cluster_add_host(host, cluster)

Supported tags: host_cluster, infinibox

infinidat.sdk.pre_cluster_remove_host(host, cluster)

Supported tags: host_cluster, infinibox

infinidat.sdk.pre_cons_group_add_member(cons_group, member, request)

Supported tags: infinibox

infinidat.sdk.pre_cons_group_deletion(cons_group, delete_members)

Supported tags: cons_group, infinibox

infinidat.sdk.pre_cons_group_remove_member(cons_group, member)

Supported tags: infinibox

infinidat.sdk.pre_creation_data_validation(fields, system, cls)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pre_data_restore(source, target)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.pre_entity_child_creation(source, system)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.pre_event_retention(system, retention)

Supported tags: event, infinibox

infinidat.sdk.pre_fields_update(fields, source)

Supported tags: bbu, cons_group, drive, enclosure, eth_port, event, export, external_cluster, fc_port, fc_soft_target, fc_switch, filesystem, host, host_cluster, ib_port, infinibox, initiator, ldap_config, link, local_drive, network_interface, network_space, nfs_user, nlm_lock, node, notification_rule, notification_target, pdu, plugin, pool, qos_policy, rack, replica, replication_group, rg_replica, schedule, service, service_cluster, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, system, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pre_object_creation(data, system, cls, parent)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pre_object_deletion(obj, url)

Supported tags: cons_group, event, export, fc_soft_target, fc_switch, filesystem, host, host_cluster, infinibox, initiator, ldap_config, link, network_interface, network_space, nfs_user, nlm_lock, notification_rule, notification_target, plugin, pool, qos_policy, replica, replication_group, rg_replica, schedule, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pre_object_restore(source, target)

Supported tags: filesystem, infinibox, volume

infinidat.sdk.pre_object_update(obj, data)

Supported tags: bbu, cons_group, drive, enclosure, eth_port, event, export, external_cluster, fc_port, fc_soft_target, fc_switch, filesystem, host, host_cluster, ib_port, infinibox, initiator, ldap_config, link, local_drive, network_interface, network_space, nfs_user, nlm_lock, node, notification_rule, notification_target, pdu, plugin, pool, qos_policy, rack, replica, replication_group, rg_replica, schedule, service, service_cluster, share, sharepermission, smb_group, smb_user, snapshot_policy, ssoidentityprovider, system, tenant, treeq, user, vm, volume, vvol

infinidat.sdk.pre_pool_lock(pool)

Supported tags: infinibox, pool

infinidat.sdk.pre_pool_move(obj, with_capacity, system, target_pool, source_pool)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.pre_pool_unlock(pool)

Supported tags: infinibox, pool

infinidat.sdk.pre_qos_policy_assign(qos_policy, entity)

Supported tags: infinibox, qos_policy

infinidat.sdk.pre_qos_policy_unassign(qos_policy, entity)

Supported tags: infinibox, qos_policy

infinidat.sdk.pre_refresh_snapshot(source, target)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.pre_replica_change_role(replica)

Supported tags: infinibox

infinidat.sdk.pre_replica_change_type(replica, old_type, new_type)

Supported tags: infinibox

infinidat.sdk.pre_replica_resume(replica)

Supported tags: infinibox

infinidat.sdk.pre_replica_suspend(replica)

Supported tags: infinibox

infinidat.sdk.pre_replica_switch_role(replica)

Supported tags: infinibox

infinidat.sdk.pre_replication_group_remove_member(replication_group, member)

Supported tags: infinibox

infinidat.sdk.pre_replication_snapshot_expose

Supported tags: cons_group, filesystem, volume

infinidat.sdk.pre_rg_replica_resume(rg_replica)

Supported tags: infinibox

infinidat.sdk.pre_rg_replica_suspend(rg_replica)

Supported tags: infinibox

infinidat.sdk.pre_treeq_creation(fields, system, filesystem)

Supported tags: infinibox, treeq

infinidat.sdk.pre_volume_mapping(volume, host_or_cluster, lun)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.pre_volume_unmapping(volume, host_or_cluster, lun)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.qos_policy_assign_failure(qos_policy, entity, exception)

Supported tags: infinibox, qos_policy

infinidat.sdk.qos_policy_unassign_failure(qos_policy, entity, exception)

Supported tags: infinibox, qos_policy

infinidat.sdk.refresh_snapshot_failure(source, target)

Supported tags: cons_group, filesystem, infinibox, volume

infinidat.sdk.replica_change_role_failure(replica, exception)

Supported tags: infinibox

infinidat.sdk.replica_change_type_failure(replica, old_type, new_type, exception)

Supported tags: infinibox

infinidat.sdk.replica_deleted(replica, entity_pairs, deletion_params)

Supported tags: infinibox

infinidat.sdk.replica_resume_failure(replica, exception)

Supported tags: infinibox

infinidat.sdk.replica_snapshot_created(snapshot, replica_deleted, replica_exposed)

Supported tags: infinibox

infinidat.sdk.replica_suspend_failure(replica, exception)

Supported tags: infinibox

infinidat.sdk.replica_switch_role_failure(replica, exception)

Supported tags: infinibox

infinidat.sdk.replication_group_remove_member_failure(replication_group, member)

Supported tags: infinibox

infinidat.sdk.replication_snapshot_expose_failure

Supported tags: cons_group, filesystem, volume

infinidat.sdk.rg_replica_resume_failure(rg_replica, exception)

Supported tags: infinibox

infinidat.sdk.rg_replica_suspend_failure(rg_replica, exception)

Supported tags: infinibox

infinidat.sdk.treeq_creation_failure(fields, system, filesystem, exception)

Supported tags: infinibox, treeq

infinidat.sdk.volume_mapping_failure(volume, host_or_cluster, exception, lun)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.volume_unmapping_failure(volume, host_or_cluster, exception, lun)

Supported tags: host, host_cluster, infinibox

infinidat.sdk.witness_address_set(witness_address)

Supported tags: infinibox