def query_idle_nat_gateway()

in solution/finance/idle_resource.py [0:0]


    def query_idle_nat_gateway(account_id,
                               access_key_id,
                               access_key_secret,
                               role_name):
        client = IdleResourceSample.create_vpc_client(account_id,
                                                      access_key_id,
                                                      access_key_secret,
                                                      role_name)
        idle_resource_list = []
        print('[Idle NAT Gateway] AccountId: ' + account_id)
        for region_id in region_id_list:
            output_str = 'Region:' + region_id + ' '
            result_list = IdleResourceSample.query_nat_gateway(client, region_id)
            # print(eip_list)
            for nat_gateway in result_list:
                if nat_gateway['NetworkType'] == 'internet' and len(nat_gateway['IpLists']['IpList']) == 0:
                    # 公网NAT网关未绑定EIP,闲置
                    output_str += f'<ID:{nat_gateway["NatGatewayId"]} Name:{nat_gateway["Name"]}' \
                                  f' Reason:公网NAT网关未绑定EIP> '
                    idle_resource_list.append(nat_gateway)
                    continue

                snat_entries = IdleResourceSample.query_nat_gateway_snat_entry(client, region_id,
                                                                               nat_gateway['NatGatewayId'])
                if len(snat_entries) != 0:
                    continue
                else:
                    dnat_entries = IdleResourceSample.query_nat_gateway_dnat_entry(client, region_id,
                                                                                   nat_gateway['NatGatewayId'])
                    if len(dnat_entries) == 0:
                        # 无SNAT及DNAT条目,闲置
                        output_str += f'<ID:{nat_gateway["NatGatewayId"]} Name:{nat_gateway["Name"]}' \
                                      f' Reason:无SNAT及DNAT条目> '
                        idle_resource_list.append(nat_gateway)
            print(output_str)
        print()

        return idle_resource_list