#!/usr/bin/env python
# coding=utf-8
from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526 import DescribeSecurityGroupAttributeRequest
from aliyunsdkecs.request.v20140526 import AuthorizeSecurityGroupRequest
from aliyunsdkecs.request.v20140526 import RevokeSecurityGroupRequest
from aliyunsdkecs.request.v20140526 import DescribeSecurityGroupsRequest
import json
class alis:
def __init__(self, AccessKey, AccessSecret, RegionId):
self.AccessKey = AccessKey
self.AccessSecret = AccessSecret
self.RegionId = RegionId
def clt(self):
clt = client.AcsClient(self.AccessKey, self.AccessSecret, self.RegionId)
return clt
def describeSecurityGroupsRequest(self):
request = DescribeSecurityGroupsRequest.DescribeSecurityGroupsRequest()
request.set_accept_format('json')
return request
def describeSecurityGroupAttributeRequest(self,SecurityGroupId,NicType='internet',Direction='ingress'):
"""查询安全组规则
"""
request = DescribeSecurityGroupAttributeRequest.DescribeSecurityGroupAttributeRequest()
request.set_SecurityGroupId(SecurityGroupId)
request.set_accept_format('json')
request.set_NicType(NicType)
request.set_Direction(Direction)
return request
def authorizeSecurityGroupRequest(self, SecurityGroupId, IpProtocol, PortRange, SourceCidrIp, Policy='accept'):
"""授权安全组规则
"""
request = AuthorizeSecurityGroupRequest.AuthorizeSecurityGroupRequest()
request.set_SecurityGroupId(SecurityGroupId)
request.set_IpProtocol(IpProtocol)
request.set_PortRange(PortRange)
request.set_SourceCidrIp(SourceCidrIp)
request.set_Policy(Policy)
request.set_accept_format('json')
return request
def revokeSecurityGroupRequest(self, SecurityGroupId, IpProtocol, PortRange, SourceCidrIp):
request = RevokeSecurityGroupRequest.RevokeSecurityGroupRequest()
request.set_SecurityGroupId(SecurityGroupId)
request.set_IpProtocol(IpProtocol)
request.set_PortRange(PortRange)
request.set_SourceCidrIp(SourceCidrIp)
request.set_Policy('accept')
request.set_accept_format('json')
return request
if __name__ == '__main__':
ali = alis('ttlsa.com','ttlsa.com','cn-hangzhou')
clt = ali.clt()
req = ali.describeSecurityGroupsRequest()
res = clt.do_action(req)
print res