Esempio n. 1
0
def expired_aliyun_ecs():
    ExpiredAliyunECS.objects.all().delete()
    from deveops.tools.aliyun import ecs
    API = ecs.AliyunECSTool()
    for page in range(1, API.pagecount + 1):
        results = API.get_instances(page)
        for result in results:
            dict_models = API.get_aliyun_expired_models(result)
            if dict_models.get('expired') < settings.ALIYUN_EXPIREDTIME:
                obj_maker(ExpiredAliyunECS, dict_models)
Esempio n. 2
0
def aliyun2cmdb():
    from deveops.tools.aliyun import ecs
    API = ecs.AliyunECSTool()
    for page in range(1,API.pagecount+1):
        results = API.get_instances(page)
        for result in results:
            dict_models = API.get_aliyun_models(result)
            host_query = Host.objects.filter(detail__aliyun_id=dict_models['detail']['aliyun_id'], connect_ip=dict_models['connect_ip'])
            if not host_query.exists():
                host_maker(dict_models)
Esempio n. 3
0
def cmdb2aliyun():
    from deveops.tools.aliyun import ecs
    from django.db.models import Q
    API = ecs.AliyunECSTool()
    queryset = Host.objects.filter(~Q(detail__aliyun_id=''))
    for host in queryset:
        results = API.get_instance_status(host.detail.aliyun_id)
        print(
            results.get('InstanceFullStatusSet').get('InstanceFullStatusType')
            [0])
        status = API.get_aliyun_instance_status(results)
        if status is None:
            host.delete()
        elif host.status == settings.STATUS_HOST_PAUSE:
            continue
        else:
            host.status = status
Esempio n. 4
0
def cmdb2aliyun():
    from deveops.tools.aliyun import ecs
    from django.db.models import Q
    API = ecs.AliyunECSTool()
    queryset = Host.objects.filter(~Q(detail__aliyun_id=''))
    for host in queryset:
        status_results = API.request_get_instance_status(host.detail.aliyun_id)
        status = API.get_aliyun_instance_status(status_results)
        if status == 'delete':
            host.delete()
        else:
            expired_results = API.request_get_instance(host.detail.aliyun_id)
            expired = API.get_aliyun_expired_models(expired_results)
            if expired.get('expired') < settings.ALIYUN_OVERDUETIME:
                host.delete()
            else:
                host.status = status
Esempio n. 5
0
 def get(self, request, *args, **kwargs):
     from deveops.tools.aliyun import ecs, cms
     API = ecs.AliyunECSTool()
     API = cms.AliyunCMSTool()
     from deveops.utils import vmware
     obj = self.get_object()
     data = None
     if obj.detail.aliyun_id:
         data = API.get_instance(obj.detail.aliyun_id)
         if data:
             data['type'] = 'aliyun'
         else:
             return Response(data, status=status.HTTP_406_NOT_ACCEPTABLE)
         return Response(data, status=status.HTTP_200_OK)
     elif obj.detail.vmware_id:
         data = vmware.fetch_Instance(obj.detail.vmware_id)
         if data:
             data['type'] = 'vmware'
         else:
             return Response(data, status=status.HTTP_406_NOT_ACCEPTABLE)
         return Response(data, status=status.HTTP_200_OK)
     else:
         return Response(data, status=status.HTTP_406_NOT_ACCEPTABLE)