def ready(self): # structure from .backend import SugarCRMBackend SupportedServices.register_backend(SugarCRMBackend) # cost tracking from .cost_tracking import SugarCRMCostTrackingBackend CostTrackingRegister.register(self.label, SugarCRMCostTrackingBackend) # template from .template import CRMProvisionTemplateForm TemplateRegistry.register(CRMProvisionTemplateForm) from . import handlers CRM = self.get_model('CRM') signals.post_save.connect( handlers.update_user_limit_count_quota_on_crm_quota_change, sender=Quota, dispatch_uid='nodeconductor_sugarcrm.handlers.update_user_limit_count_quota_on_crm_quota_change', ) signals.pre_delete.connect( handlers.update_user_limit_count_quota_on_crm_deletion, sender=CRM, dispatch_uid='nodeconductor_sugarcrm.handlers.update_user_limit_count_quota_on_crm_deletion' )
def ready(self): # structure from .backend import ZabbixBackend SupportedServices.register_backend(ZabbixBackend) # templates from nodeconductor.template import TemplateRegistry from nodeconductor_zabbix.template import HostProvisionTemplateForm TemplateRegistry.register(HostProvisionTemplateForm) from . import handlers for index, resource_model in enumerate( structure_models.Resource.get_all_models()): signals.post_save.connect( handlers.update_hosts_visible_name_on_scope_name_change, sender=resource_model, dispatch_uid= 'nodeconductor_zabbix.handlers.update_hosts_visible_name_on_scope_name_change_%s_%s' % (index, resource_model.__name__)) signals.pre_delete.connect( handlers.delete_hosts_on_scope_deletion, sender=resource_model, dispatch_uid= 'nodeconductor_zabbix.handlers.delete_hosts_on_scope_deletion_%s_%s' % (index, resource_model.__name__))
def ready(self): OpenStackService = self.get_model('OpenStackService') OpenStackServiceProjectLink = self.get_model('OpenStackServiceProjectLink') Instance = self.get_model('Instance') FloatingIP = self.get_model('FloatingIP') # structure from nodeconductor.openstack.backend import OpenStackBackend SupportedServices.register_backend(OpenStackService, OpenStackBackend) # cost tracking from nodeconductor.openstack.cost_tracking import OpenStackCostTrackingBackend CostTrackingRegister.register(self.label, OpenStackCostTrackingBackend) # template from nodeconductor.template import TemplateRegistry from nodeconductor.openstack.template import InstanceProvisionTemplateForm TemplateRegistry.register(InstanceProvisionTemplateForm) signals.post_save.connect( handlers.create_initial_security_groups, sender=OpenStackServiceProjectLink, dispatch_uid='nodeconductor.openstack.handlers.create_initial_security_groups', ) signals.post_save.connect( quotas_handlers.add_quotas_to_scope, sender=OpenStackServiceProjectLink, dispatch_uid='nodeconductor.openstack.handlers.add_quotas_to_service_project_link', ) signals.pre_save.connect( handlers.set_spl_default_availability_zone, sender=OpenStackServiceProjectLink, dispatch_uid='nodeconductor.openstack.handlers.set_spl_default_availability_zone', ) signals.post_save.connect( handlers.increase_quotas_usage_on_instance_creation, sender=Instance, dispatch_uid='nodeconductor.openstack.handlers.increase_quotas_usage_on_instance_creation', ) signals.post_delete.connect( handlers.decrease_quotas_usage_on_instances_deletion, sender=Instance, dispatch_uid='nodeconductor.openstack.handlers.decrease_quotas_usage_on_instances_deletion', ) signals.post_save.connect( handlers.change_floating_ip_quota_on_status_change, sender=FloatingIP, dispatch_uid='nodeconductor.openstack.handlers.change_floating_ip_quota_on_status_change', )
def ready(self): from .backend import SaltStackBackend from .models import SaltStackProperty import handlers SupportedServices.register_backend(SaltStackBackend) from nodeconductor.structure.models import ServiceSettings from nodeconductor.quotas.fields import QuotaField, CounterQuotaField from ..exchange.models import ExchangeTenant ServiceSettings.add_quota_field( name='sharepoint_storage', quota_field=QuotaField( creation_condition=lambda service_settings: service_settings. type == SaltStackConfig.service_name, ), ) ServiceSettings.add_quota_field( name='exchange_storage', quota_field=QuotaField( creation_condition=lambda service_settings: service_settings. type == SaltStackConfig.service_name, ), ) ServiceSettings.add_quota_field( name='exchange_tenant_count', quota_field=CounterQuotaField( creation_condition=lambda service_settings: service_settings. type == SaltStackConfig.service_name, target_models=[ExchangeTenant], path_to_scope='service_project_link.service.settings', )) for index, model in enumerate(SaltStackProperty.get_all_models()): signals.post_save.connect( handlers.log_saltstack_property_created, sender=model, dispatch_uid= 'nodeconductor_saltstack.saltstack.handlers.log_saltstack_property_created{}_{}' .format(model.__name__, index), ) signals.post_delete.connect( handlers.log_saltstack_property_deleted, sender=model, dispatch_uid= 'nodeconductor_saltstack.saltstack.handlers.log_saltstack_property_deleted{}_{}' .format(model.__name__, index), )
def ready(self): from nodeconductor.quotas.fields import LimitAggregatorQuotaField from nodeconductor.structure import SupportedServices # structure from .backend import SugarCRMBackend SupportedServices.register_backend(SugarCRMBackend) from nodeconductor.structure.models import ServiceSettings from . import handlers, signals as sugarcrm_signals CRM = self.get_model('CRM') SugarCRMServiceProjectLink = self.get_model( 'SugarCRMServiceProjectLink') sugarcrm_signals.user_post_save.connect( handlers.log_user_post_save, sender=CRM, dispatch_uid='nodeconductor_sugarcrm.handlers.log_user_post_save') sugarcrm_signals.user_post_delete.connect( handlers.log_user_post_delete, sender=CRM, dispatch_uid='nodeconductor_sugarcrm.handlers.log_user_post_delete' ) ServiceSettings.add_quota_field( name='sugarcrm_user_count', quota_field=LimitAggregatorQuotaField( creation_condition=lambda service_settings: service_settings. type == SugarCRMConfig.service_name, get_children=lambda service_settings: SugarCRMServiceProjectLink.objects.filter(service__settings= service_settings), child_quota_name='user_limit_count', ), )
def ready(self): SupportedServices.register_backend(TestBackend) SupportedServices.register_service(self.get_model('TestService'))
def ready(self): from nodeconductor.structure import SupportedServices # structure from .backend import OracleBackend SupportedServices.register_backend(OracleBackend)
def ready(self): from .backend import ExchangeBackend SupportedServices.register_backend(ExchangeBackend, nested=True)
def ready(self): OracleService = self.get_model('OracleService') from nodeconductor.oracle.backend import OracleBackend SupportedServices.register_backend(OracleService, OracleBackend)
def ready(self): Instance = self.get_model('Instance') Cloud = self.get_model('Cloud') CloudProjectMembership = self.get_model('CloudProjectMembership') from nodeconductor.iaas import handlers, cost_tracking CostTrackingRegister.register(self.label, cost_tracking.IaaSCostTrackingBackend) from nodeconductor.iaas.backend import OpenStackBackend SupportedServices.register_backend(OpenStackBackend) SupportedServices.register_service(Cloud) SupportedServices.register_resource(Instance) signals.post_save.connect( quotas_handlers.add_quotas_to_scope, sender=CloudProjectMembership, dispatch_uid='nodeconductor.iaas.handlers.add_quotas_to_cloud_project_membership', ) signals.post_save.connect( handlers.create_initial_security_groups, sender=CloudProjectMembership, dispatch_uid='nodeconductor.iaas.handlers.create_initial_security_groups', ) # protect against a deletion of the Instance with connected backups # TODO: introduces dependency of IaaS on Backups, should be reconsidered signals.pre_delete.connect( handlers.prevent_deletion_of_instances_with_connected_backups, sender=Instance, dispatch_uid='nodeconductor.iaas.handlers.prevent_deletion_of_instances_with_connected_backups', ) signals.pre_save.connect( core_handlers.preserve_fields_before_update, sender=Instance, dispatch_uid='nodeconductor.iaas.handlers.preserve_fields_before_update', ) # if instance name is updated, zabbix host visible name should be also updated signals.post_save.connect( handlers.check_instance_name_update, sender=Instance, dispatch_uid='nodeconductor.iaas.handlers.check_instance_name_update', ) signals.pre_save.connect( handlers.set_cpm_default_availability_zone, sender=CloudProjectMembership, dispatch_uid='nodeconductor.iaas.handlers.set_cpm_default_availability_zone', ) signals.post_save.connect( handlers.increase_quotas_usage_on_instance_creation, sender=Instance, dispatch_uid='nodeconductor.iaas.handlers.increase_quotas_usage_on_instance_creation', ) signals.post_delete.connect( handlers.decrease_quotas_usage_on_instances_deletion, sender=Instance, dispatch_uid='nodeconductor.iaas.handlers.decrease_quotas_usage_on_instances_deletion', ) signals.post_save.connect( handlers.check_project_name_update, sender=Project, dispatch_uid='nodeconductor.iaas.handlers.check_project_name_update' )
def ready(self): from .backend import SharepointBackend SupportedServices.register_backend(SharepointBackend, nested=True)