summaryrefslogtreecommitdiff
path: root/tools/aws_config_quick_start/policy.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/aws_config_quick_start/policy.py')
-rw-r--r--tools/aws_config_quick_start/policy.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/aws_config_quick_start/policy.py b/tools/aws_config_quick_start/policy.py
new file mode 100644
index 000000000..799efa29c
--- /dev/null
+++ b/tools/aws_config_quick_start/policy.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+import boto3
+import json
+
+
+class Policy():
+ def __init__(self, name, policy=''):
+ self.name = name
+ self.policy = policy
+ self.client = boto3.client('iot')
+
+ def create(self):
+ assert not self.exists(), "Policy already exists"
+ self.client.create_policy(policyName=self.name,
+ policyDocument=self.policy)
+
+ def delete(self):
+ assert self.exists(), "Policy does not exist, cannot be deleted"
+ self.client.delete_policy(policyName=self.name)
+
+ def exists(self):
+ policies = self.client.list_policies()['policies']
+ for policy in policies:
+ if self.name == policy['policyName']:
+ return True
+ return False