本文整理汇总了Python中DIRAC.ResourceStatusSystem.Client.ResourceManagementClient.ResourceManagementClient.addOrModifyPolicyResult方法的典型用法代码示例。如果您正苦于以下问题:Python ResourceManagementClient.addOrModifyPolicyResult方法的具体用法?Python ResourceManagementClient.addOrModifyPolicyResult怎么用?Python ResourceManagementClient.addOrModifyPolicyResult使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DIRAC.ResourceStatusSystem.Client.ResourceManagementClient.ResourceManagementClient
的用法示例。
在下文中一共展示了ResourceManagementClient.addOrModifyPolicyResult方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LogPolicyResultAction
# 需要导入模块: from DIRAC.ResourceStatusSystem.Client.ResourceManagementClient import ResourceManagementClient [as 别名]
# 或者: from DIRAC.ResourceStatusSystem.Client.ResourceManagementClient.ResourceManagementClient import addOrModifyPolicyResult [as 别名]
class LogPolicyResultAction( BaseAction ):
'''
Action that registers on the database a new entry per policy result in the
list singlePolicyResults.
'''
def __init__( self, name, decissionParams, enforcementResult, singlePolicyResults,
clients = None ):
super( LogPolicyResultAction, self ).__init__( name, decissionParams, enforcementResult,
singlePolicyResults, clients )
if clients is not None and 'ResourceManagementClient' in clients:
self.rmClient = clients[ 'ResourceManagementClient' ]
else:
self.rmClient = ResourceManagementClient()
def run( self ):
'''
Checks it has the parameters it needs and tries to addOrModify in the
database.
'''
element = self.decissionParams[ 'element' ]
if element is None:
return S_ERROR( 'element should not be None' )
name = self.decissionParams[ 'name' ]
if name is None:
return S_ERROR( 'name should not be None' )
statusType = self.decissionParams[ 'statusType' ]
if statusType is None:
return S_ERROR( 'statusType should not be None' )
for singlePolicyResult in self.singlePolicyResults:
status = singlePolicyResult[ 'Status' ]
if status is None:
return S_ERROR( 'status should not be None' )
reason = singlePolicyResult[ 'Reason' ]
if reason is None:
return S_ERROR( 'reason should not be None' )
policyName = singlePolicyResult[ 'Policy' ][ 'name' ]
if policyName is None:
return S_ERROR( 'policyName should not be None' )
#Truncate reason to fit in database column
reason = ( reason[ :508 ] + '..') if len( reason ) > 508 else reason
polUpdateRes = self.rmClient.addOrModifyPolicyResult( element = element,
name = name,
policyName = policyName,
statusType = statusType,
status = status,
reason = reason )
if not polUpdateRes[ 'OK' ]:
return polUpdateRes
return S_OK()
################################################################################
#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF#EOF