Как распечатать имя домена для route53 DNS
Я новичок в Python и изучаю, я пишу код для печати доменного имени, типа и значения размещенной зоны route53. Когда он проходит через CNAME, я получаю значение CNAME, а не его доменное имя.
def list(zoneid, region, profile):
rrs = []
aws_session = boto3.session.Session(region=region, profile=profile)
route53 = aws_session.client('route53')
paginator = route53.get_paginator('list_resource_record_sets')
page = paginator.paginate(
HostedZoneId=zoneid,
PaginationConfig={
'MaxItems': 500,
'PageSize': 500
}
)
for i in page:
for record in i['ResourceRecordSets']:
if record['Type'] == 'CNAME':
a.extend(x['Value'] for x in record['ResourceRecords'])
elif record['Type'] == 'A':
a.append(record['Name'])
return a
печать записи [Имя] - дает доменное имя. Но как я могу включить его в "a.extend(x['Value'] для x в записи ['ResourceRecords'])" этой строки
1 ответ
Здесь нет Value
ключ, доступный для любой записи ресурса, как видно из примера ответа на документах:
{
'ResourceRecordSets': [
{
'Name': 'string',
'Type': 'SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'NAPTR'|'PTR'|'SRV'|'SPF'|'AAAA'|'CAA',
'SetIdentifier': 'string',
'Weight': 123,
'Region': 'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'ca-central-1'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'|'sa-east-1'|'cn-north-1'|'cn-northwest-1'|'ap-south-1',
'GeoLocation': {
'ContinentCode': 'string',
'CountryCode': 'string',
'SubdivisionCode': 'string'
},
'Failover': 'PRIMARY'|'SECONDARY',
'MultiValueAnswer': True|False,
'TTL': 123,
'ResourceRecords': [
{
'Value': 'string'
},
],
'AliasTarget': {
'HostedZoneId': 'string',
'DNSName': 'string',
'EvaluateTargetHealth': True|False
},
'HealthCheckId': 'string',
'TrafficPolicyInstanceId': 'string'
},
],
'IsTruncated': True|False,
'MaxItems': 'string',
'NextToken': 'string'
}
Я думаю, что вы просто хотите сослаться на Name
ключ:
Имя (строка) -
Имя домена, на котором вы хотите выполнить действие.
Введите полное доменное имя, например,
www.example.com
, При желании вы можете добавить конечную точку. Если вы опускаете конечную точку, Amazon Route 53 по-прежнему предполагает, что указанное вами доменное имя полностью определено. Это означает, что Amazon Route 53 лечитwww.example.com
(без задней точки) иwww.example.com
, (с завершающей точкой) как идентичные.