コード例 #1
0
 def CreateVolume(self,ServiceIMC,Size):
     ClodeInfo=Cloude.ClodeInfo(self.client)
     params={"VolumeName":ServiceIMC+'Volume',"availabilityZone":ClodeInfo.getClusterName(),"Size":Size}
     
     result = self.client.invoke("CreateVolume", params)
     CreateResult=xmltodict.parse(result,encoding='utf-8')
     return CreateResult['CreateVolumeResponse']['volumeId']
コード例 #2
0
ファイル: VipOtion.py プロジェクト: lelirui/CloudOption
 def DescribeVips(self, VipId):
     params = {"VipId": VipId, "SubnetId": self.SubnetID}
     DescribeResult = self.client.invoke("DescribeVips", params)
     #        print(DescribeResult)
     DescribeResultXmlResult = xmltodict.parse(DescribeResult,
                                               encoding='utf-8')
     return DescribeResultXmlResult["DescribeVipsResponse"][
         "DescribeVipsResult"]["vipSet"]["item"]["privateIpAddress"]
コード例 #3
0
ファイル: feed.py プロジェクト: Bubica/eBayFashionFeed
    def _update_ignore_items(self, search_id):

        """ 
        Updates all ended items that are placed in user ignore list with relisted item ids.
        Each item on the list is formatted as (search_id, ebay_item_id, ebay_end_time).

        If the ignored item is sold, or has finished and has not been relisted it still stays in the ignore list.
        This is because the seller may decide to relist the item some time in the future and the system should
        attempt to avoid future listings of ignored items as well as the current ones.

        TODO: checking if the item has been relisted should be done while the feed fetch is not in progress (scheduled time on server...)
        """
        t = datetime.datetime.now(pytz.utc)

        ignore_list_prev = self.ignored_items[search_id]
        ignore_list_updated = []

        for id_, end_t in ignore_list_prev:

            #if the item is still active, leave it in the list
            if end_t > t: 
                ignore_list_updated.append( (id_, end_t))
                continue 

            #item has ended, fetch the status from the server
            status = xmltodict.parse(ebay_trade.GetItem(id_))

            #check if it has been relisted first (since it might have been sold and relisted)
            list_details = status['GetItemResponse']['Item']['ListingDetails']

            while 'RelistedItemID' in list_details: 

                #substitute the old item with relisted one
                id_ = str(list_details['RelistedItemID'])

                #repeat the process for the new item (which might have also finished)
                status = xmltodict.parse(ebay_trade.GetItem(id_))
                list_details = status['GetItemResponse']['Item']['ListingDetails']
                end_t = dateutil.parser.parse(list_details['EndTime'].strip())
                
            ignore_list_updated.append((id_, end_t))

        self.ignored_items[search_id] = ignore_list_updated
コード例 #4
0
ファイル: VipOtion.py プロジェクト: lelirui/CloudOption
 def AddInstallVip(self, VipId, InstanceId):
     params = {
         "VipId": VipId,
         "SubnetId": self.SubnetID,
         "InstanceId": InstanceId,
         "IsHeader": False
     }
     ADDresult = self.client.invoke("AddInstanceToVip", params)
     CreateResultXmlResult = xmltodict.parse(ADDresult, encoding='utf-8')
     return CreateResultXmlResult["AddInstanceToVipResponse"][
         "AddInstanceToVipResult"]["return"]
コード例 #5
0
    def GetRole(self, ServiceId):
        params = {"RoleName": ServiceId}
        RoleResult = self.client.invoke("GetRole", params)

        try:
            XMLRoleresultInfo = xmltodict.parse(RoleResult, encoding='utf-8')
            result = XMLRoleresultInfo["GetRoleResponse"]["GetRoleResult"][
                "Role"]["RoleName"]
            return result
        except Exception as e:
            return "1"
コード例 #6
0
ファイル: VipOtion.py プロジェクト: lelirui/CloudOption
 def CreateVip(self):
     # params={"SubnetId":self.SubnetID}
     params = {"SubnetId": self.SubnetID, "VipType": "KeepAlive"}
     CreateResult = self.client.invoke("CreateVip", params)
     #       print(CreateResult)
     try:
         CreateResultXmlResult = xmltodict.parse(CreateResult,
                                                 encoding='utf-8')
         return CreateResultXmlResult["CreateVipResponse"][
             "CreateVipResult"]["vipId"]
     except Exception as e:
         return None
コード例 #7
0
    def GetRoleList(self):

        try:
            RoleList = self.client.invoke("ListRoles", {})
            XMLRoleresultInfo = xmltodict.parse(RoleList, encoding='utf-8')

            result = XMLRoleresultInfo["ListRolesResponse"]["ListRolesResult"][
                "Roles"]["member"]
            return result
        except Exception as e:

            return "1"
コード例 #8
0
 def CreateRole(self, ServiceId):
     RoleID = self.GetRole(ServiceId)
     if RoleID is "1":
         params = {
             "roleName": ServiceId,
             'GenerateInstanceProfile': True,
             'Path': '/'
         }
         Roleresult = self.client.invoke("CreateRole", params)
         XMLRoleresultInfo = xmltodict.parse(Roleresult, encoding='utf-8')
         return XMLRoleresultInfo['CreateRoleResponse']['CreateRoleResult'][
             'Role']['RoleName']
     else:
         return RoleID
コード例 #9
0
ファイル: images.py プロジェクト: lelirui/CloudOption
 def REstelIMage(self,
                 image_id,
                 architecture,
                 platform,
                 storageId,
                 shared,
                 imageName,
                 bootloader='mbr'):
     params = {"ImageId": image_id, "Attribute": 'description'}
     importresult = self.client.invoke("ModifyImageAttribute", params)
     #     print(importresult)
     try:
         importresultXML = xmltodict.parse(importresult, encoding='utf-8')
         # return importresultXML["ImportImageResponse"]["imageId"]
     except Exception as e:
         return None
コード例 #10
0
ファイル: InstanceOption.py プロジェクト: lelirui/CloudOption
    def InstanceXMLIpInfo(self,vpcId,ImageId):
        result=self.DescribeInstances(vpcId,ImageId)
        Instancxml=xmltodict.parse(result,encoding='utf-8')

        # if not Instancxml:
        #     return None
        # try:
        #     v = Instancxml["DescribeInstancesResponse"]["reservationSet"]["item"]
        #     if type(v).__name__ == 'list':
        #         for item in v:
        #             if item["instancesSet"]["item"]["instanceId"] == ImageId and \
        #                             item["instancesSet"]["item"]["vpcId"] == vpcId:
        #                 return item["instancesSet"]["item"]["ipAddress"]
        #         return None
        #     elif type(v).__name__ == 'OrderedDict':
        #         if v["instancesSet"]["item"]["instanceId"] == ImageId and \
        #                         v["instancesSet"]["item"]["vpcId"] == vpcId:
        #             return v["instancesSet"]["item"]["ipAddress"]
        #         return None
        # except Exception as e:
        #     return None

        return Instancxml["DescribeInstancesResponse"]["reservationSet"]["item"]["instancesSet"]["item"]["ipAddress"]
コード例 #11
0
ファイル: images.py プロジェクト: lelirui/CloudOption
 def import_s3_image(self,
                     s3url,
                     architecture,
                     platform,
                     storageId,
                     shared,
                     imageName,
                     bootloader='mbr'):
     params = {
         "Url": s3url,
         "Architecture": architecture,
         "Platform": platform,
         "StorageId": storageId,
         "Shared": shared,
         "Bootloader": bootloader,
         "ImageName": imageName
     }
     importresult = self.client.invoke("ImportImage", params)
     #     print(importresult)
     try:
         importresultXML = xmltodict.parse(importresult, encoding='utf-8')
         return importresultXML["ImportImageResponse"]["imageId"]
     except Exception as e:
         return None
コード例 #12
0
 def DelVolume(self,VolumeId):
     params={"IsInstanceVol":False,"VolumeId":VolumeId}
     result = self.client.invoke("DeleteVolume", params)
     DelVolumeResult=xmltodict.parse(result, encoding='utf-8')
     return DelVolumeResult["DeleteVolumeResponse"]["return"]
コード例 #13
0
ファイル: InstanceOption.py プロジェクト: lelirui/CloudOption
    def getCreateInstanceID(self,imageId, instanceType, vpcId, subnetId, instanceName, volumeSize, role,InitInstanceData):

        Instanceinfo=self.run_instance(imageId, instanceType, vpcId, subnetId, instanceName, volumeSize, role,"")
        XMLInstanceInfo=xmltodict.parse(Instanceinfo,encoding='utf-8')
        return XMLInstanceInfo['RunInstancesResponse']['instancesSet']['item']['instanceId']
コード例 #14
0
 def CreateSevurityGroup(self, ServiceName):
     params = {"GroupName": ServiceName}
     CreateResult = self.client.invoke("CreateSecurityGroup", params)
     CreateResultXmlResult = xmltodict.parse(CreateResult, encoding='utf-8')
     return CreateResultXmlResult["CreateSecurityGroupResponse"]["groupId"]
コード例 #15
0
ファイル: images.py プロジェクト: lelirui/CloudOption
 def DudgeImages(self):
     # params = {"Filter.1.Name": "imageId", "Filter.1.Value.1": imageId}
     result = self.client.invoke("DescribeImages", {})
     return xmltodict.parse(result, encoding='utf-8')
コード例 #16
0
ファイル: dtools.py プロジェクト: sevengram/wechat-util
def xml2dict(xml):
    return xmltodict.parse(xml)['xml']
コード例 #17
0
 def InstanceTypeAll(self):
     result = self.client.invoke("DescribeInstanceTypes", {})
     InstanceTypeXmlList = xmltodict.parse(result, encoding='utf-8')
     return InstanceTypeXmlList["DescribeInstanceTypesResponse"][
         "instanceTypeInfo"]["item"]