You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
767 B
Python
28 lines
767 B
Python
#!/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
|