def wrapper(*args, **kwargs): ctx = utils.find_type_in_kwargs(CloudifyContext, kwargs.values() + list(args)) if not ctx: raise RuntimeError('CloudifyContext not found in invocation args') # take cloudify_agent settings from the invocation input parameters if 'cloudify_agent' in kwargs: # if cloudify_agent is also configured as a node property # this is ambiguous, raise an exception if ctx.node.properties and \ ctx.node.properties.get('cloudify_agent'): raise NonRecoverableError("'cloudify_agent' is configured " "both as a node property and as an " "invocation input parameter for " "operation '{0}'" .format(ctx.operation.name)) cloudify_agent = kwargs['cloudify_agent'] else: if ctx.node.properties and 'cloudify_agent' in ctx.node.properties: cloudify_agent = ctx.node.properties['cloudify_agent'] else: cloudify_agent = {} prepare_configuration(ctx, cloudify_agent) kwargs['cloudify_agent'] = cloudify_agent try: kwargs['runner'] = WinRMRunner( session_config=cloudify_agent.copy(), logger=ctx.logger) return func(*args, **kwargs) except ValueError as e: raise NonRecoverableError('Failed to instantiate WinRMRunner: {0}' .format(e.message))
def wrapper(*args, **kwargs): ctx = utils.find_type_in_kwargs(CloudifyContext, kwargs.values() + list(args)) if not ctx: raise RuntimeError('CloudifyContext not found in invocation args') if ctx.properties and 'cloudify_agent' in ctx.properties: cloudify_agent = ctx.properties['cloudify_agent'] else: cloudify_agent = {} prepare_configuration(ctx, cloudify_agent) kwargs['cloudify_agent'] = cloudify_agent kwargs['runner'] = WinRMRunner(session_config=cloudify_agent.copy(), logger=ctx.logger) return func(*args, **kwargs)
def wrapper(*args, **kwargs): ctx = utils.find_type_in_kwargs( CloudifyContext, kwargs.values() + list(args)) if not ctx: raise RuntimeError('CloudifyContext not found in invocation args') if ctx.properties and 'cloudify_agent' in ctx.properties: cloudify_agent = ctx.properties['cloudify_agent'] else: cloudify_agent = {} prepare_configuration(ctx, cloudify_agent) kwargs['cloudify_agent'] = cloudify_agent kwargs['runner'] = WinRMRunner( session_config=cloudify_agent.copy(), logger=ctx.logger) return func(*args, **kwargs)