diff options
Diffstat (limited to 'tools/aws_config_quick_start/policy.py')
-rw-r--r-- | tools/aws_config_quick_start/policy.py | 27 |
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 |