@@ -40,6 +40,7 @@ def __init__(self, attrs=None):
4040 self .resourceSignature = attrs .get ('resourceSignature' )
4141 self .isAuditEnabled = attrs .get ('isAuditEnabled' )
4242 self .resources = attrs .get ('resources' )
43+ self .additionalResources = attrs .get ('additionalResources' )
4344 self .policyItems = attrs .get ('policyItems' )
4445 self .denyPolicyItems = attrs .get ('denyPolicyItems' )
4546 self .allowExceptions = attrs .get ('allowExceptions' )
@@ -58,6 +59,7 @@ def type_coerce_attrs(self):
5859 super (RangerPolicy , self ).type_coerce_attrs ()
5960
6061 self .resources = type_coerce_dict (self .resources , RangerPolicyResource )
62+ self .additionalResources = type_coerce_list (self .additionalResources , dict )
6163 self .policyItems = type_coerce_list (self .policyItems , RangerPolicyItem )
6264 self .denyPolicyItems = type_coerce_list (self .denyPolicyItems , RangerPolicyItem )
6365 self .allowExceptions = type_coerce_list (self .allowExceptions , RangerPolicyItem )
@@ -66,6 +68,25 @@ def type_coerce_attrs(self):
6668 self .rowFilterPolicyItems = type_coerce_list (self .rowFilterPolicyItems , RangerRowFilterPolicyItem )
6769 self .validitySchedules = type_coerce_list (self .validitySchedules , RangerValiditySchedule )
6870
71+ if isinstance (self .additionalResources , list ):
72+ additionalResources = []
73+
74+ for entry in self .additionalResources :
75+ additionalResources .append (type_coerce_dict (entry , RangerPolicyResource ))
76+
77+ self .additionalResources = additionalResources
78+ else :
79+ self .additionalResources = None
80+
81+ def add_resource (self , resource ):
82+ if resource is not None :
83+ if self .resources is None :
84+ self .resources = resource
85+ else :
86+ if self .additionalResources is None :
87+ self .additionalResources = []
88+
89+ self .additionalResources .append (resource )
6990
7091class RangerPolicyResource (RangerBase ):
7192 def __init__ (self , attrs = None ):
0 commit comments