From c795954195880d27bfb07c5608681b7d97998702 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Apr 2026 07:47:34 +0000 Subject: [PATCH 1/2] Initial plan From 9ad6fd3c22368ec47fc8b03b1f142a92a8e43aac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Apr 2026 07:57:48 +0000 Subject: [PATCH 2/2] Fix --ttl option for private-dns record-set add-record commands Agent-Logs-Url: https://github.com/Azure/azure-cli/sessions/f9bd77f1-0ba1-4045-bb05-35cf5d60411a Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com> --- .../cli/command_modules/privatedns/_params.py | 2 + .../cli/command_modules/privatedns/custom.py | 33 +- .../recordings/test_add_record_with_ttl.yaml | 381 ++++++++++++++++++ .../tests/latest/test_privatedns_commands.py | 17 + 4 files changed, 418 insertions(+), 15 deletions(-) create mode 100644 src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/recordings/test_add_record_with_ttl.yaml diff --git a/src/azure-cli/azure/cli/command_modules/privatedns/_params.py b/src/azure-cli/azure/cli/command_modules/privatedns/_params.py index ef932f0895e..4c0c5701584 100644 --- a/src/azure-cli/azure/cli/command_modules/privatedns/_params.py +++ b/src/azure-cli/azure/cli/command_modules/privatedns/_params.py @@ -35,6 +35,7 @@ def load_arguments(self, _): for item in ['a', 'aaaa', 'cname', 'mx', 'ptr', 'srv', 'txt']: with self.argument_context('network private-dns record-set {} add-record'.format(item)) as c: c.argument('relative_record_set_name', options_list=('--record-set-name', '-n'), help='The name of the record set relative to the zone. Creates a new record set if one does not exist.') + c.argument('ttl', type=int, help='Record set TTL (time-to-live)') with self.argument_context('network private-dns record-set {} remove-record'.format(item)) as c: c.argument('relative_record_set_name', options_list=('--record-set-name', '-n'), help='The name of the record set relative to the zone.') @@ -42,6 +43,7 @@ def load_arguments(self, _): with self.argument_context('network private-dns record-set cname set-record') as c: c.argument('relative_record_set_name', options_list=['--record-set-name', '-n'], help='The name of the record set relative to the zone. Creates a new record set if one does not exist.') + c.argument('ttl', type=int, help='Record set TTL (time-to-live)') with self.argument_context('network private-dns record-set soa') as c: c.argument('relative_record_set_name', ignore_type, default='@') diff --git a/src/azure-cli/azure/cli/command_modules/privatedns/custom.py b/src/azure-cli/azure/cli/command_modules/privatedns/custom.py index ca83af0a88d..1e34a5e8a1b 100644 --- a/src/azure-cli/azure/cli/command_modules/privatedns/custom.py +++ b/src/azure-cli/azure/cli/command_modules/privatedns/custom.py @@ -928,7 +928,7 @@ def _privatedns_add_record(record_set, record, record_type, is_list=False): record_set[record_property] = record -def _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, is_list=True): +def _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, is_list=True, ttl=None): record_snake, record_camel = _privatedns_type_to_property_name(record_type) is_empty = False @@ -948,6 +948,9 @@ def _privatedns_add_save_record(cmd, record, record_type, relative_record_set_na record_set = {"ttl": 3600} is_empty = True + if ttl is not None: + record_set["ttl"] = ttl + _privatedns_add_record(record_set, record, record_type, is_list) if is_empty: @@ -970,37 +973,37 @@ def _privatedns_add_save_record(cmd, record, record_type, relative_record_set_na }) -def add_privatedns_aaaa_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, ipv6_address): +def add_privatedns_aaaa_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, ipv6_address, ttl=None): record = {"ipv6_address": ipv6_address} record_type = 'aaaa' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_a_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, ipv4_address): +def add_privatedns_a_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, ipv4_address, ttl=None): record = {"ipv4_address": ipv4_address} record_type = 'a' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_mx_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, preference, exchange): +def add_privatedns_mx_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, preference, exchange, ttl=None): record = {"preference": int(preference), "exchange": exchange} record_type = 'mx' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_ptr_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, dname): +def add_privatedns_ptr_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, dname, ttl=None): record = {"ptrdname": dname} record_type = 'ptr' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_srv_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, priority, weight, port, target): +def add_privatedns_srv_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, priority, weight, port, target, ttl=None): record = {"priority": priority, "weight": weight, "port": port, "target": target} record_type = 'srv' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_txt_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, value): +def add_privatedns_txt_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, value, ttl=None): record = {"value": value} record_type = 'txt' long_text = ''.join(x for x in record["value"]) @@ -1013,13 +1016,13 @@ def add_privatedns_txt_record(cmd, resource_group_name, private_zone_name, relat final_str = ''.join(record["value"]) final_len = len(final_str) assert original_len == final_len - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, ttl=ttl) -def add_privatedns_cname_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, cname): +def add_privatedns_cname_record(cmd, resource_group_name, private_zone_name, relative_record_set_name, cname, ttl=None): record = {"cname": cname} record_type = 'cname' - return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, is_list=False) + return _privatedns_add_save_record(cmd, record, record_type, relative_record_set_name, resource_group_name, private_zone_name, is_list=False, ttl=ttl) def update_privatedns_soa_record(cmd, resource_group_name, private_zone_name, host=None, email=None, diff --git a/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/recordings/test_add_record_with_ttl.yaml b/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/recordings/test_add_record_with_ttl.yaml new file mode 100644 index 00000000000..24473a19649 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/recordings/test_add_record_with_ttl.yaml @@ -0,0 +1,381 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns zone create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_private_dns_000001?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001","name":"cli_test_private_dns_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","test":"test_add_record_with_ttl","date":"2025-05-16T05:38:50Z","module":"privatedns"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '400' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:38:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "global"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns zone create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json + If-None-Match: + - '*' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002?api-version=2018-09-01 + response: + body: + string: '{}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsOperationStatuses/op1?api-version=2018-09-01 + cache-control: + - private + content-length: + - '2' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:38:57 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsOperationResults/op1?api-version=2018-09-01 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns zone create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsOperationStatuses/op1?api-version=2018-09-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - private + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:29 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns zone create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002?api-version=2018-09-01 + response: + body: + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/cli_test_private_dns_000001\/providers\/Microsoft.Network\/privateDnsZones\/clitest.privatedns.com000002","name":"clitest.privatedns.com000002","type":"Microsoft.Network\/privateDnsZones","etag":"f4bfd67d-2e11-4f1d-9716-eab0e203ef85","location":"global","properties":{"maxNumberOfRecordSets":25000,"maxNumberOfVirtualNetworkLinks":1000,"maxNumberOfVirtualNetworkLinksWithRegistration":100,"numberOfRecordSets":1,"numberOfVirtualNetworkLinks":0,"numberOfVirtualNetworkLinksWithRegistration":0,"provisioningState":"Succeeded"}}' + headers: + cache-control: + - private + content-length: + - '603' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:29 GMT + etag: + - f4bfd67d-2e11-4f1d-9716-eab0e203ef85 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns record-set a add-record + Connection: + - keep-alive + ParameterSetName: + - -g -n -z -a --ttl + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002/A/clitestprivatednsrecordset000003?api-version=2018-09-01 + response: + body: + string: '{"code":"NotFound","message":"The resource record ''clitestprivatednsrecordset000003'' + does not exist in resource group ''cli_test_private_dns_000001'' of subscription + ''0b1f6471-1bf0-4dda-aec3-cb9272f09590''."}' + headers: + cache-control: + - private + content-length: + - '205' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:31 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"aRecords": [{"ipv4Address": "10.0.0.1"}], "ttl": 600}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns record-set a add-record + Connection: + - keep-alive + Content-Length: + - '72' + Content-Type: + - application/json + If-None-Match: + - '*' + ParameterSetName: + - -g -n -z -a --ttl + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002/A/clitestprivatednsrecordset000003?api-version=2018-09-01 + response: + body: + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/cli_test_private_dns_000001\/providers\/Microsoft.Network\/privateDnsZones\/clitest.privatedns.com000002\/A\/clitestprivatednsrecordset000003","name":"clitestprivatednsrecordset000003","type":"Microsoft.Network\/privateDnsZones\/A","etag":"8815aad4-c1e4-4f6e-a6d7-2b791b438f27","properties":{"fqdn":"clitestprivatednsrecordset000003.clitest.privatedns.com000002.","ttl":600,"aRecords":[{"ipv4Address":"10.0.0.1"}],"isAutoRegistered":false}}' + headers: + cache-control: + - private + content-length: + - '519' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:32 GMT + etag: + - 8815aad4-c1e4-4f6e-a6d7-2b791b438f27 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns record-set a remove-record + Connection: + - keep-alive + ParameterSetName: + - -g -n -z -a --keep-empty-record-set + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002/A/clitestprivatednsrecordset000003?api-version=2018-09-01 + response: + body: + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/cli_test_private_dns_000001\/providers\/Microsoft.Network\/privateDnsZones\/clitest.privatedns.com000002\/A\/clitestprivatednsrecordset000003","name":"clitestprivatednsrecordset000003","type":"Microsoft.Network\/privateDnsZones\/A","etag":"8815aad4-c1e4-4f6e-a6d7-2b791b438f27","properties":{"fqdn":"clitestprivatednsrecordset000003.clitest.privatedns.com000002.","ttl":600,"aRecords":[{"ipv4Address":"10.0.0.1"}],"isAutoRegistered":false}}' + headers: + cache-control: + - private + content-length: + - '519' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:34 GMT + etag: + - 8815aad4-c1e4-4f6e-a6d7-2b791b438f27 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns record-set a remove-record + Connection: + - keep-alive + ParameterSetName: + - -g -n -z -a --keep-empty-record-set + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002/A/clitestprivatednsrecordset000003?api-version=2018-09-01 + response: + body: + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/cli_test_private_dns_000001\/providers\/Microsoft.Network\/privateDnsZones\/clitest.privatedns.com000002\/A\/clitestprivatednsrecordset000003","name":"clitestprivatednsrecordset000003","type":"Microsoft.Network\/privateDnsZones\/A","etag":"8815aad4-c1e4-4f6e-a6d7-2b791b438f27","properties":{"fqdn":"clitestprivatednsrecordset000003.clitest.privatedns.com000002.","ttl":600,"aRecords":[{"ipv4Address":"10.0.0.1"}],"isAutoRegistered":false}}' + headers: + cache-control: + - private + content-length: + - '519' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:35 GMT + etag: + - 8815aad4-c1e4-4f6e-a6d7-2b791b438f27 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"etag": "8815aad4-c1e4-4f6e-a6d7-2b791b438f27", "properties": {"aRecords": + [], "ttl": 600}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network private-dns record-set a remove-record + Connection: + - keep-alive + Content-Length: + - '90' + Content-Type: + - application/json + ParameterSetName: + - -g -n -z -a --keep-empty-record-set + User-Agent: + - AZURECLI/2.72.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_private_dns_000001/providers/Microsoft.Network/privateDnsZones/clitest.privatedns.com000002/A/clitestprivatednsrecordset000003?api-version=2018-09-01 + response: + body: + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/cli_test_private_dns_000001\/providers\/Microsoft.Network\/privateDnsZones\/clitest.privatedns.com000002\/A\/clitestprivatednsrecordset000003","name":"clitestprivatednsrecordset000003","type":"Microsoft.Network\/privateDnsZones\/A","etag":"7ae32a44-b853-48e8-b872-96d415582b2d","properties":{"fqdn":"clitestprivatednsrecordset000003.clitest.privatedns.com000002.","ttl":600,"aRecords":[],"isAutoRegistered":false}}' + headers: + cache-control: + - private + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 16 May 2025 05:39:37 GMT + etag: + - 7ae32a44-b853-48e8-b872-96d415582b2d + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/test_privatedns_commands.py b/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/test_privatedns_commands.py index cee08008f42..d8befd16c4d 100644 --- a/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/test_privatedns_commands.py +++ b/src/azure-cli/azure/cli/command_modules/privatedns/tests/latest/test_privatedns_commands.py @@ -863,6 +863,23 @@ def test_add_record_when_record_set_is_empty(self): self.assertTrue(all(record in recordsetResult.get("aRecords") for record in recordset.get("aRecords"))) recordset = self._Delete_ARecord(recordset_name, zone["name"], "10.0.0.4") + @ResourceGroupPreparer(name_prefix="cli_test_private_dns_", location="westus") + def test_add_record_with_ttl(self): + zone = self._Create_PrivateZone() + recordset_name = self.create_random_name("clitestprivatednsrecordset", length=35) + self.kwargs['recordset'] = recordset_name + self.kwargs['zone'] = zone['name'] + self.kwargs['ttl'] = 600 + recordsetResult = self.cmd( + 'az network private-dns record-set a add-record -g {rg} -n {recordset} -z {zone} -a 10.0.0.1 --ttl {ttl}', + checks=[ + self.check('name', '{recordset}'), + self.check('ttl', '{ttl}') + ] + ).get_output_in_json() + self.assertTrue('10.0.0.1' in [o['ipv4Address'] for o in recordsetResult.get('aRecords')]) + self._Delete_ARecord(recordset_name, zone["name"], "10.0.0.1") + @ResourceGroupPreparer(name_prefix='clitest_privatedns') def test_CrudRecordSet_AAAARecord_ExpectCrudSuccessful(self, resource_group): zone = self._Create_PrivateZone()