Хорошо, я нашел ответ на это после четкого чтения документации. Каждые 100 записей будут иметь конечное поле NextRecordType и NextRecordName, если возвращаемые maxitems будут больше 100. Нам нужно использовать их для получения следующих 100 элементов и так далее. Этот код работает для меня, дайте мне знать, если мой подход неправильный.
NextRecordName = 'a'
NextRecordType = 'CNAME'
while(NextRecordName is not None and NextRecordType is not None):
response_per_zone = client.list_resource_record_sets(HostedZoneId=Id,StartRecordName=NextRecordName, StartRecordType=NextRecordType ,MaxItems='400')
try:
NextRecordName = response_per_zone['NextRecordName']
NextRecordType = response_per_zone['NextRecordType']
except Exception as e:
NextRecordName = None
NextRecordType = None
print NextRecordType
print NextRecordName
#Since I need to find CNAME records, this is a function to check whether the record is CNAME, checking it is done using response_record = client.list_resource_record_sets(HostedZoneId=hostedzone, StartRecordName=cname_record, MaxItems='1')
private_zone = resp['Config']['PrivateZone']
if private_zone == False:
find_record(response_per_zone, Id, record_stack)