def post(self): request_json = json.loads(pecan.request.body.decode('utf-8')) project_id = request_json.get('project_id', None) service_id = request_json.get('service_id', None) domain_name = request_json.get('domain_name', None) new_cert = request_json.get('new_cert', None) cert_status = request_json.get('cert_status', 'deployed') if not helpers.is_valid_domain_name(domain_name): pecan.abort(400, detail='Domain {0} is not valid'.format( domain_name)) # Akamai specific suffix: if not new_cert.endswith("edgekey.net"): new_cert = new_cert + ".edgekey.net" try: self._driver.manager.services_controller.migrate_domain( project_id, service_id, domain_name, new_cert, cert_status) except errors.ServiceNotFound: pecan.abort(404, detail='Service {0} could not be found'.format( service_id)) except (LookupError, ValueError): pecan.abort(404, detail='Domain {0} could not be found'.format( domain_name)) return pecan.Response(None, 202)
def create_ssl_certificate(self, project_id, cert_obj): if (not validators.is_valid_domain_name(cert_obj.domain_name)) or \ (validators.is_root_domain( domain.Domain(cert_obj.domain_name).to_dict())): # here created a http domain object but it does not matter http or # https raise ValueError('%s must be a valid non-root domain' % cert_obj.domain_name) try: flavor = self.flavor_controller.get(cert_obj.flavor_id) # raise a lookup error if the flavor is not found except LookupError as e: raise e try: self.storage.create_certificate(project_id, cert_obj) # ValueError will be raised if the cert_info has already existed except ValueError as e: raise e providers = [p.provider_id for p in flavor.providers] kwargs = { 'providers_list_json': json.dumps(providers), 'project_id': project_id, 'cert_obj_json': json.dumps(cert_obj.to_dict()), 'context_dict': context_utils.get_current().to_dict() } self.distributed_task_controller.submit_task( create_ssl_certificate.create_ssl_certificate, **kwargs) return kwargs
def post(self): request_json = json.loads(pecan.request.body.decode('utf-8')) project_id = request_json.get('project_id', None) service_id = request_json.get('service_id', None) domain_name = request_json.get('domain_name', None) new_cert = request_json.get('new_cert', None) cert_status = request_json.get('cert_status', 'deployed') if not helpers.is_valid_domain_name(domain_name): pecan.abort(400, detail='Domain {0} is not valid'.format(domain_name)) # Akamai specific suffix: if not new_cert.endswith("edgekey.net"): new_cert = new_cert + ".edgekey.net" try: self._driver.manager.services_controller.migrate_domain( project_id, service_id, domain_name, new_cert, cert_status) except errors.ServiceNotFound: pecan.abort( 404, detail='Service {0} could not be found'.format(service_id)) except (LookupError, ValueError): pecan.abort( 404, detail='Domain {0} could not be found'.format(domain_name)) return pecan.Response(None, 202)
def create_ssl_certificate(self, project_id, cert_obj): if (not validators.is_valid_domain_name(cert_obj.domain_name)) or \ (validators.is_root_domain( domain.Domain(cert_obj.domain_name).to_dict())): # here created a http domain object but it does not matter http or # https raise ValueError('%s must be a valid non-root domain' % cert_obj.domain_name) try: flavor = self.flavor_controller.get(cert_obj.flavor_id) # raise a lookup error if the flavor is not found except LookupError as e: raise e try: self.storage_controller.create_cert( project_id, cert_obj) # ValueError will be raised if the cert_info has already existed except ValueError as e: raise e providers = [p.provider_id for p in flavor.providers] kwargs = { 'providers_list_json': json.dumps(providers), 'project_id': project_id, 'cert_obj_json': json.dumps(cert_obj.to_dict()), 'context_dict': context_utils.get_current().to_dict() } self.distributed_task_controller.submit_task( create_ssl_certificate.create_ssl_certificate, **kwargs) return kwargs
def post(self): request_json = json.loads(pecan.request.body.decode("utf-8")) project_id = request_json.get("project_id", None) service_id = request_json.get("service_id", None) domain_name = request_json.get("domain_name", None) new_cert = request_json.get("new_cert", None) if not helpers.is_valid_domain_name(domain_name): pecan.abort(400, detail="Domain {0} is not valid".format(domain_name)) # Akamai specific suffix: if not new_cert.endswith("edgekey.net"): new_cert = new_cert + ".edgekey.net" try: self._driver.manager.services_controller.migrate_domain(project_id, service_id, domain_name, new_cert) except errors.ServiceNotFound: pecan.abort(404, detail="Service {0} could not be found".format(service_id)) except LookupError: pecan.abort(404, detail="Domain {0} could not be found".format(domain_name)) return pecan.Response(None, 202)
def patch_one(self, service_id): request_json = json.loads(pecan.request.body.decode('utf-8')) project_id = request_json.get('project_id', None) domain_name = request_json.get('domain_name', None) operator_url = request_json.get('operator_url', None) provider_url = request_json.get('provider_url', None) if not helpers.is_valid_domain_name(domain_name): pecan.abort(400, detail='Domain {0} is not valid'.format(domain_name)) changes_made = False try: changes_made = self._driver.manager.services_controller.\ update_access_url_service( project_id, service_id, access_url_changes={ 'domain_name': domain_name, 'operator_url': operator_url, 'provider_url': provider_url } ) except errors.ServiceNotFound: pecan.abort( 404, detail='Service {0} could not be found'.format(service_id)) except (errors.InvalidOperation, errors.InvalidResourceName) as e: pecan.abort(400, detail='{0}'.format(e)) except (LookupError, ValueError): pecan.abort( 404, detail='Domain {0} could not be found'.format(domain_name)) status_code = 201 if changes_made is True else 202 return pecan.Response(None, status=status_code)