influx modules: fixes, permission match, py2, args
This commit is contained in:
@@ -92,13 +92,13 @@ class Bucket:
|
|||||||
self.result = None
|
self.result = None
|
||||||
self.f = lambda: self._create({
|
self.f = lambda: self._create({
|
||||||
"orgID": self.org_id,
|
"orgID": self.org_id,
|
||||||
"description": self.description,
|
"description": self.description if self.description else None,
|
||||||
"name": self.name,
|
"name": self.name,
|
||||||
"retentionRules": []
|
"retentionRules": []
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
self.result = x[0]
|
self.result = x[0]
|
||||||
if self.description == x[0]["description"]:
|
if self.description == x[0].get("description", ""):
|
||||||
return False # everything matches -> no change needed
|
return False # everything matches -> no change needed
|
||||||
else:
|
else:
|
||||||
self.result = x[0]
|
self.result = x[0]
|
||||||
|
@@ -141,11 +141,22 @@ class Token:
|
|||||||
self.f()
|
self.f()
|
||||||
|
|
||||||
def _match_perms(self, pa, pb):
|
def _match_perms(self, pa, pb):
|
||||||
a = pa.copy()
|
def g(match, lst):
|
||||||
b = pb.copy()
|
for idx, i in enumerate(lst):
|
||||||
for i in a:
|
if i['action'] != match['action']:
|
||||||
|
continue
|
||||||
|
for k, v in match['resource'].items():
|
||||||
|
if k not in i['resource'] or i['resource'][k] != v:
|
||||||
|
continue
|
||||||
|
else: # first best match
|
||||||
|
return idx
|
||||||
|
else:
|
||||||
|
raise ValueError
|
||||||
|
|
||||||
|
b = [b.copy() for b in pb]
|
||||||
|
for i in pa:
|
||||||
try:
|
try:
|
||||||
b.remove(i)
|
b.pop(g(i, b))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return False # permission i not present in b
|
return False # permission i not present in b
|
||||||
|
|
||||||
@@ -187,7 +198,12 @@ if __name__ == "__main__":
|
|||||||
name=dict(type='str'),
|
name=dict(type='str'),
|
||||||
org=dict(type='str'),
|
org=dict(type='str'),
|
||||||
orgID=dict(type='str'),
|
orgID=dict(type='str'),
|
||||||
type=dict(type='str', required=True),
|
type=dict(type='str', required=True, choices=[
|
||||||
|
"authorizations", "buckets", "dashboards", "orgs",
|
||||||
|
"sources", "tasks", "telegrafs", "users", "variables",
|
||||||
|
"scrapers", "secrets", "labels", "views", "documents",
|
||||||
|
"notificationRules", "notificationEndpoints", "checks",
|
||||||
|
"dbrp", "flows", "annotations", "functions"]),
|
||||||
), required=True),
|
), required=True),
|
||||||
), required=True),
|
), required=True),
|
||||||
force=dict(type="bool", default=False),
|
force=dict(type="bool", default=False),
|
||||||
|
Reference in New Issue
Block a user