| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- #!/usr/bin/env python3
 
- # -*- coding: utf-8 -*-
 
- import boto3
 
- from django.views import View
 
- from Ansjer.config import AWS_IOT_SES_ACCESS_REGION, AWS_IOT_SES_ACCESS_ID, \
 
-     AWS_IOT_SES_ACCESS_SECRET
 
- from Object.ResponseObject import ResponseObject
 
- class IotCoreView(View):
 
-     def get(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         request_dict = request.GET
 
-         operation = kwargs.get('operation', None)
 
-         return self.validate(operation, request_dict)
 
-     def post(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         request_dict = request.POST
 
-         operation = kwargs.get('operation', None)
 
-         return self.validate(operation, request_dict)
 
-     def validate(self, operation, request_dict):
 
-         response = ResponseObject()
 
-         if operation == 'createProvisioningClaim':
 
-             return self.create_provisioning_claim(request_dict, response)
 
-         else:
 
-             return response.json(404)
 
-     def create_provisioning_claim(self, request_dict, response):
 
-         country = request_dict.get('country', None)
 
-         state = request_dict.get('state', None)
 
-         if country and state:
 
-             client = boto3.client('iot', region_name=AWS_IOT_SES_ACCESS_REGION, aws_access_key_id=AWS_IOT_SES_ACCESS_ID,
 
-                                   aws_secret_access_key=AWS_IOT_SES_ACCESS_SECRET)
 
-             result = client.create_provisioning_claim(templateName='Ansjer_Iot_Queue')
 
-             res = {
 
-                 'certificateId': result['certificateId'],
 
-                 'certificatePem': result['certificatePem'],
 
-                 'publicKey': result['keyPair']['PublicKey'],
 
-                 'privateKey': result['keyPair']['PrivateKey'],
 
-                 'endpoint': 'a2rqy12o004ad8-ats.iot.us-east-1.amazonaws.com'
 
-             }
 
-             return response.json(0, {'res': res})
 
-         else:
 
-             return response.json(444)
 
 
  |