阿里云 Python SDK 管理安全组

默北 python阿里云 Python SDK 管理安全组已关闭评论13,272字数 2353阅读7分50秒阅读模式

环境准备

1. 安装python2.7版本

$ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 
$ tar -zxvf Python-2.7.8.tgz  
$ cd Python-2.7.8  
$ ./configure  
$ make  
$ sudo make install

2. 安装pip

$ curl "https://bootstrap.pypa.io/get-pip.py" -o "pip-install.py"
$ sudo python pip-install.py

3. 安装sdk

$ sudo pip install aliyun-python-sdk-ecs

4. 创建AccessKey 和AccessSecret

登录aliyun管理后台生成。

管理安全组

代码如下:文章源自运维生存时间-https://www.ttlsa.com/python/aliyun-python-sdk-management-securitygourp/

#!/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
文章源自运维生存时间-https://www.ttlsa.com/python/aliyun-python-sdk-management-securitygourp/文章源自运维生存时间-https://www.ttlsa.com/python/aliyun-python-sdk-management-securitygourp/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 29/05/2016 01:43:49
  • 转载请务必保留本文链接:https://www.ttlsa.com/python/aliyun-python-sdk-management-securitygourp/