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
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