Beispiel #1
0
def nat(ak, sk, region):
    id_list = []
    client = AcsClient(ak, sk, region)
    request = DescribeNatGatewaysRequest.DescribeNatGatewaysRequest()
    request.set_accept_format('json')
    response = client.do_action_with_exception(request)
    response1 = str(response)
    response1 = json.loads(response1)
    for record in response1['NatGateways']['NatGateway']:
        for band in record['BandwidthPackageIds']['BandwidthPackageId']:
            id_list.append({"l": band, "d": record['NatGatewayId']})
    return id_list
Beispiel #2
0
 def get_nat_gateways(self, nat_gateway_id='all'):
     """
     :params: Nat网关ID
     :return: 默认Nat网关列表 指定ID返回对应网关信息
     默认也显示50;
     """
     request = DescribeNatGatewaysRequest.DescribeNatGatewaysRequest()
     request.set_accept_format('json')
     request.set_PageSize(50)
     if nat_gateway_id == 'all':
         return self.client.do_action(request)['NatGateways']['NatGateway']
     request.set_NatGatewayId(nat_gateway_id)
     return self.client.do_action(request)['NatGateways']['NatGateway'][0]
 def describe_nat_gateway(self, nat_gateway_id):
     """
     describe_nat_gateway: 查询指定地域已创建的nat gateway的信息
     官网API参考: https://help.aliyun.com/document_detail/36054.html
     """
     try:
         request = DescribeNatGatewaysRequest.DescribeNatGatewaysRequest()
         request.set_NatGatewayId(nat_gateway_id)
         response = client.do_action_with_exception(request)
         response_json = json.loads(response)
         return response_json
     except ServerException as e:
         ExceptionHandler.server_exception(e)
     except ClientException as e:
         ExceptionHandler.client_exception(e)
 def _gen_list_nat_req(self):
     req = DescribeNatGatewaysRequest.DescribeNatGatewaysRequest()
     req.set_VpcId(self.vpc_id)
     return req