Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.dns;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.apigeneration.Method;
import com.microsoft.azure.management.dns.implementation.DnsZoneManager;
import com.microsoft.azure.management.dns.implementation.ZoneInner;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.Resource;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import java.util.List;
An immutable client-side representation of an Azure DNS Zone.
/**
* An immutable client-side representation of an Azure DNS Zone.
*/
@Fluent
public interface DnsZone extends
GroupableResource<DnsZoneManager, ZoneInner>,
Refreshable<DnsZone>,
Updatable<DnsZone.Update> {
Returns: the maximum number of record sets that can be created in this zone.
/**
* @return the maximum number of record sets that can be created in this zone.
*/
long maxNumberOfRecordSets();
Returns: the current number of record sets in this zone.
/**
* @return the current number of record sets in this zone.
*/
long numberOfRecordSets();
Returns: the etag associated with this zone.
/**
* @return the etag associated with this zone.
*/
String eTag();
Returns: the access type of this zone (Private or Public).
/**
* @return the access type of this zone (Private or Public).
*/
@Beta(Beta.SinceVersion.V1_9_0)
ZoneType accessType();
Returns: a list of references to virtual networks that register hostnames in this DNS zone for Private DNS zone.
/**
* @return a list of references to virtual networks that register hostnames in this DNS zone for Private DNS zone.
*/
@Beta(Beta.SinceVersion.V1_9_0)
List<String> registrationVirtualNetworkIds();
Returns: a list of references to virtual networks that resolve records in this DNS zone for Private DNS zone.
/**
* @return a list of references to virtual networks that resolve records in this DNS zone for Private DNS zone.
*/
@Beta(Beta.SinceVersion.V1_9_0)
List<String> resolutionVirtualNetworkIds();
Returns: the record sets in this zone.
/**
* @return the record sets in this zone.
*/
PagedList<DnsRecordSet> listRecordSets();
Lists all the record sets in this zone with the given suffix.
Params: - recordSetNameSuffix – the record set name suffix
Returns: the record sets
/**
* Lists all the record sets in this zone with the given suffix.
*
* @param recordSetNameSuffix the record set name suffix
* @return the record sets
*/
PagedList<DnsRecordSet> listRecordSets(String recordSetNameSuffix);
Lists all the record sets in this zone with each entries in each page
limited to the given size.
Params: - pageSize – the maximum number of record sets in a page
Returns: the record sets
/**
* Lists all the record sets in this zone with each entries in each page
* limited to the given size.
*
* @param pageSize the maximum number of record sets in a page
* @return the record sets
*/
PagedList<DnsRecordSet> listRecordSets(int pageSize);
Lists all the record sets in this zone with the given suffix, also limits
the number of entries per page to the given page size.
Params: - recordSetNameSuffix – the record set name suffix
- pageSize – the maximum number of record sets in a page
Returns: the record sets
/**
* Lists all the record sets in this zone with the given suffix, also limits
* the number of entries per page to the given page size.
*
* @param recordSetNameSuffix the record set name suffix
* @param pageSize the maximum number of record sets in a page
* @return the record sets
*/
PagedList<DnsRecordSet> listRecordSets(String recordSetNameSuffix, int pageSize);
Returns: name servers assigned for this zone.
/**
* @return name servers assigned for this zone.
*/
List<String> nameServers();
Returns: entry point to manage record sets in this zone containing A (IPv4 address) records
/**
* @return entry point to manage record sets in this zone containing A (IPv4 address) records
*/
ARecordSets aRecordSets();
Returns: entry point to manage record sets in this zone containing AAAA (IPv6 address) records
/**
* @return entry point to manage record sets in this zone containing AAAA (IPv6 address) records
*/
AaaaRecordSets aaaaRecordSets();
Returns: entry point to manage record sets in this zone containing Caa (canonical name) records
/**
* @return entry point to manage record sets in this zone containing Caa (canonical name) records
*/
@Beta
CaaRecordSets caaRecordSets();
Returns: entry point to manage record sets in this zone containing CNAME (canonical name) records
/**
* @return entry point to manage record sets in this zone containing CNAME (canonical name) records
*/
CNameRecordSets cNameRecordSets();
Returns: entry point to manage record sets in this zone containing MX (mail exchange) records
/**
* @return entry point to manage record sets in this zone containing MX (mail exchange) records
*/
MXRecordSets mxRecordSets();
Returns: entry point to manage record sets in this zone containing NS (name server) records
/**
* @return entry point to manage record sets in this zone containing NS (name server) records
*/
NSRecordSets nsRecordSets();
Returns: entry point to manage record sets in this zone containing PTR (pointer) records
/**
* @return entry point to manage record sets in this zone containing PTR (pointer) records
*/
PtrRecordSets ptrRecordSets();
Returns: entry point to manage record sets in this zone containing SRV (service) records
/**
* @return entry point to manage record sets in this zone containing SRV (service) records
*/
SrvRecordSets srvRecordSets();
Returns: entry point to manage record sets in this zone containing TXT (text) records
/**
* @return entry point to manage record sets in this zone containing TXT (text) records
*/
TxtRecordSets txtRecordSets();
Returns: the record set containing SOA (start of authority) record associated with this DNS zone
/**
* @return the record set containing SOA (start of authority) record associated with this DNS zone
*/
SoaRecordSet getSoaRecordSet();
The entirety of the DNS zone definition.
/**
* The entirety of the DNS zone definition.
*/
interface Definition extends
DefinitionStages.Blank,
DefinitionStages.WithCreate {
}
Grouping of DNS zone definition stages.
/**
* Grouping of DNS zone definition stages.
*/
interface DefinitionStages {
The stage of the DNS zone definition allowing to specify the resource group.
/**
* The stage of the DNS zone definition allowing to specify the resource group.
*/
interface Blank extends GroupableResource.DefinitionStages.WithGroupAndRegion<WithCreate> {
}
The stage of the DNS zone definition allowing to specify record set.
/**
* The stage of the DNS zone definition allowing to specify record set.
*/
interface WithRecordSet {
Specifies definition of an A record set.
Params: - name – name of the A record set
Returns: the stage representing configuration for the A record set
/**
* Specifies definition of an A record set.
*
* @param name name of the A record set
* @return the stage representing configuration for the A record set
*/
DnsRecordSet.DefinitionStages.ARecordSetBlank<WithCreate> defineARecordSet(String name);
Specifies definition of an AAAA record set.
Params: - name – name of the AAAA record set
Returns: the stage representing configuration for the AAAA record set
/**
* Specifies definition of an AAAA record set.
*
* @param name name of the AAAA record set
* @return the stage representing configuration for the AAAA record set
*/
DnsRecordSet.DefinitionStages.AaaaRecordSetBlank<WithCreate> defineAaaaRecordSet(String name);
Specifies definition of a Caa record set.
Params: - name – the name of the Caa record set
Returns: the stage representing configuration for the Caa record set
/**
* Specifies definition of a Caa record set.
*
* @param name the name of the Caa record set
* @return the stage representing configuration for the Caa record set
*/
@Beta(Beta.SinceVersion.V1_9_0)
DnsRecordSet.DefinitionStages.CaaRecordSetBlank<WithCreate> defineCaaRecordSet(String name);
Specifies definition of a CNAME record set.
Params: - name – name of the CNAME record set
- alias – the CNAME record alias
Returns: the next stage of DNS zone definition
/**
* Specifies definition of a CNAME record set.
*
* @param name name of the CNAME record set
* @param alias the CNAME record alias
* @return the next stage of DNS zone definition
*/
WithCreate withCNameRecordSet(String name, String alias);
Specifies definition of a CNAME record set.
Params: - name – name of the CNAME record set
Returns: the next stage of DNS zone definition
/**
* Specifies definition of a CNAME record set.
*
* @param name name of the CNAME record set
* @return the next stage of DNS zone definition
*/
DnsRecordSet.DefinitionStages.CNameRecordSetBlank<WithCreate> defineCNameRecordSet(String name);
Specifies definition of a MX record set.
Params: - name – name of the MX record set
Returns: the stage representing configuration for the MX record set
/**
* Specifies definition of a MX record set.
*
* @param name name of the MX record set
* @return the stage representing configuration for the MX record set
*/
DnsRecordSet.DefinitionStages.MXRecordSetBlank<WithCreate> defineMXRecordSet(String name);
Specifies definition of an NS record set.
Params: - name – name of the NS record set
Returns: the stage representing configuration for the NS record set
/**
* Specifies definition of an NS record set.
*
* @param name name of the NS record set
* @return the stage representing configuration for the NS record set
*/
DnsRecordSet.DefinitionStages.NSRecordSetBlank<WithCreate> defineNSRecordSet(String name);
Specifies definition of a PTR record set.
Params: - name – name of the PTR record set
Returns: the stage representing configuration for the PTR record set
/**
* Specifies definition of a PTR record set.
*
* @param name name of the PTR record set
* @return the stage representing configuration for the PTR record set
*/
DnsRecordSet.DefinitionStages.PtrRecordSetBlank<WithCreate> definePtrRecordSet(String name);
Specifies definition of a SRV record set.
Params: - name – the name of the SRV record set
Returns: the stage representing configuration for the SRV record set
/**
* Specifies definition of a SRV record set.
*
* @param name the name of the SRV record set
* @return the stage representing configuration for the SRV record set
*/
DnsRecordSet.DefinitionStages.SrvRecordSetBlank<WithCreate> defineSrvRecordSet(String name);
Specifies definition of a TXT record set.
Params: - name – the name of the TXT record set
Returns: the stage representing configuration for the TXT record set
/**
* Specifies definition of a TXT record set.
*
* @param name the name of the TXT record set
* @return the stage representing configuration for the TXT record set
*/
DnsRecordSet.DefinitionStages.TxtRecordSetBlank<WithCreate> defineTxtRecordSet(String name);
}
The stage of the DNS zone definition allowing to enable ETag validation.
/**
* The stage of the DNS zone definition allowing to enable ETag validation.
*/
interface WithETagCheck {
Specifies that If-None-Match header needs to set to * to prevent updating an existing DNS zone.
Returns: the next stage of the definition
/**
* Specifies that If-None-Match header needs to set to * to prevent updating an existing DNS zone.
*
* @return the next stage of the definition
*/
WithCreate withETagCheck();
}
The stage of the DNS zone definition allowing to specify Zone access type.
/**
* The stage of the DNS zone definition allowing to specify Zone access type.
*/
@Beta(Beta.SinceVersion.V1_9_0)
interface WithZoneType {
Sets the type of this zone to Public (default behavior).
Returns: the next stage of the definition
/**
* Sets the type of this zone to Public (default behavior).
*
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
@Method
WithCreate withPublicAccess();
Sets the type of this zone to Private.
Returns: the next stage of the definition
/**
* Sets the type of this zone to Private.
*
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
@Method
WithCreate withPrivateAccess();
Sets the type of this zone to Private.
Params: - registrationVirtualNetworkIds – a list of references to virtual networks that register hostnames in this DNS zone.
- resolutionVirtualNetworkIds – a list of references to virtual networks that resolve records in this DNS zone.
Returns: the next stage of the definition
/**
* Sets the type of this zone to Private.
*
* @param registrationVirtualNetworkIds a list of references to virtual networks that register hostnames in this DNS zone.
* @param resolutionVirtualNetworkIds a list of references to virtual networks that resolve records in this DNS zone.
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
WithCreate withPrivateAccess(List<String> registrationVirtualNetworkIds, List<String> resolutionVirtualNetworkIds);
}
The stage of the definition which contains all the minimum required inputs for the resource to be created (via Creatable<DnsZone>.create()
), but also allows for any other optional settings to be specified. /**
* The stage of the definition which contains all the minimum required inputs for the resource to be created
* (via {@link WithCreate#create()}), but also allows for any other optional settings to be specified.
*/
interface WithCreate extends
Creatable<DnsZone>,
DefinitionStages.WithRecordSet,
DefinitionStages.WithETagCheck,
DefinitionStages.WithZoneType,
Resource.DefinitionWithTags<WithCreate> {
}
}
Grouping of DNS zone update stages.
/**
* Grouping of DNS zone update stages.
*/
interface UpdateStages {
The stage of the DNS zone update allowing to specify record set.
/**
* The stage of the DNS zone update allowing to specify record set.
*/
interface WithRecordSet {
Specifies definition of an A record set to be attached to the DNS zone.
Params: - name – name of the A record set
Returns: the stage representing configuration for the A record set
/**
* Specifies definition of an A record set to be attached to the DNS zone.
*
* @param name name of the A record set
* @return the stage representing configuration for the A record set
*/
DnsRecordSet.UpdateDefinitionStages.ARecordSetBlank<Update> defineARecordSet(String name);
Specifies definition of an AAAA record set to be attached to the DNS zone.
Params: - name – name of the AAAA record set
Returns: the stage representing configuration for the AAAA record set
/**
* Specifies definition of an AAAA record set to be attached to the DNS zone.
*
* @param name name of the AAAA record set
* @return the stage representing configuration for the AAAA record set
*/
DnsRecordSet.UpdateDefinitionStages.AaaaRecordSetBlank<Update> defineAaaaRecordSet(String name);
Specifies definition of a Caa record set to be attached to the DNS zone.
Params: - name – the name of the Caa record set
Returns: the stage representing configuration for the Caa record set
/**
* Specifies definition of a Caa record set to be attached to the DNS zone.
*
* @param name the name of the Caa record set
* @return the stage representing configuration for the Caa record set
*/
@Beta(Beta.SinceVersion.V1_9_0)
DnsRecordSet.UpdateDefinitionStages.CaaRecordSetBlank<Update> defineCaaRecordSet(String name);
Specifies definition of a CNAME record set to be attached to the DNS zone.
Params: - name – name of the CNAME record set
- alias – the CNAME record alias
Returns: the next stage of DNS zone definition
/**
* Specifies definition of a CNAME record set to be attached to the DNS zone.
*
* @param name name of the CNAME record set
* @param alias the CNAME record alias
* @return the next stage of DNS zone definition
*/
Update withCNameRecordSet(String name, String alias);
Specifies definition of a CNAME record set.
Params: - name – name of the CNAME record set
Returns: the next stage of DNS zone definition
/**
* Specifies definition of a CNAME record set.
*
* @param name name of the CNAME record set
* @return the next stage of DNS zone definition
*/
DnsRecordSet.UpdateDefinitionStages.CNameRecordSetBlank<Update> defineCNameRecordSet(String name);
Specifies definition of a MX record set to be attached to the DNS zone.
Params: - name – name of the MX record set
Returns: the stage representing configuration for the MX record set
/**
* Specifies definition of a MX record set to be attached to the DNS zone.
*
* @param name name of the MX record set
* @return the stage representing configuration for the MX record set
*/
DnsRecordSet.UpdateDefinitionStages.MXRecordSetBlank<Update> defineMXRecordSet(String name);
Specifies definition of an NS record set to be attached to the DNS zone.
Params: - name – name of the NS record set
Returns: the stage representing configuration for the NS record set
/**
* Specifies definition of an NS record set to be attached to the DNS zone.
*
* @param name name of the NS record set
* @return the stage representing configuration for the NS record set
*/
DnsRecordSet.UpdateDefinitionStages.NSRecordSetBlank<Update> defineNSRecordSet(String name);
Specifies definition of a PTR record set to be attached to the DNS zone.
Params: - name – name of the PTR record set
Returns: the stage representing configuration for the PTR record set
/**
* Specifies definition of a PTR record set to be attached to the DNS zone.
*
* @param name name of the PTR record set
* @return the stage representing configuration for the PTR record set
*/
DnsRecordSet.UpdateDefinitionStages.PtrRecordSetBlank<Update> definePtrRecordSet(String name);
Specifies definition of a SRV record set to be attached to the DNS zone.
Params: - name – the name of the SRV record set
Returns: the stage representing configuration for the SRV record set
/**
* Specifies definition of a SRV record set to be attached to the DNS zone.
*
* @param name the name of the SRV record set
* @return the stage representing configuration for the SRV record set
*/
DnsRecordSet.UpdateDefinitionStages.SrvRecordSetBlank<Update> defineSrvRecordSet(String name);
Specifies definition of a TXT record set to be attached to the DNS zone.
Params: - name – the name of the TXT record set
Returns: the stage representing configuration for the TXT record set
/**
* Specifies definition of a TXT record set to be attached to the DNS zone.
*
* @param name the name of the TXT record set
* @return the stage representing configuration for the TXT record set
*/
DnsRecordSet.UpdateDefinitionStages.TxtRecordSetBlank<Update> defineTxtRecordSet(String name);
Begins the description of an update of an existing A record set in this DNS zone.
Params: - name – name of the A record set
Returns: the stage representing configuration for the A record set
/**
* Begins the description of an update of an existing A record set in this DNS zone.
*
* @param name name of the A record set
* @return the stage representing configuration for the A record set
*/
DnsRecordSet.UpdateARecordSet updateARecordSet(String name);
Begins the description of an update of an existing AAAA record set in this DNS zone.
Params: - name – name of the AAAA record set
Returns: the stage representing configuration for the AAAA record set
/**
* Begins the description of an update of an existing AAAA record set in this DNS zone.
*
* @param name name of the AAAA record set
* @return the stage representing configuration for the AAAA record set
*/
DnsRecordSet.UpdateAaaaRecordSet updateAaaaRecordSet(String name);
Begins the description of an update of an existing Caa record set in this DNS zone.
Params: - name – the name of the Caa record set
Returns: the stage representing configuration for the Caa record set
/**
* Begins the description of an update of an existing Caa record set in this DNS zone.
*
* @param name the name of the Caa record set
* @return the stage representing configuration for the Caa record set
*/
@Beta(Beta.SinceVersion.V1_9_0)
DnsRecordSet.UpdateCaaRecordSet updateCaaRecordSet(String name);
Specifies definition of a CNAME record set.
Params: - name – name of the CNAME record set
Returns: the stage representing configuration for the CNAME record set
/**
* Specifies definition of a CNAME record set.
*
* @param name name of the CNAME record set
* @return the stage representing configuration for the CNAME record set
*/
DnsRecordSet.UpdateCNameRecordSet updateCNameRecordSet(String name);
Begins the description of an update of an existing MX record set in this DNS zone.
Params: - name – name of the MX record set
Returns: the stage representing configuration for the MX record set
/**
* Begins the description of an update of an existing MX record set in this DNS zone.
*
* @param name name of the MX record set
* @return the stage representing configuration for the MX record set
*/
DnsRecordSet.UpdateMXRecordSet updateMXRecordSet(String name);
Begins the description of an update of an existing NS record set in this DNS zone.
Params: - name – name of the NS record set
Returns: the stage representing configuration for the NS record set
/**
* Begins the description of an update of an existing NS record set in this DNS zone.
*
* @param name name of the NS record set
* @return the stage representing configuration for the NS record set
*/
DnsRecordSet.UpdateNSRecordSet updateNSRecordSet(String name);
Begins the description of an update of an existing PTR record set in this DNS zone.
Params: - name – name of the PTR record set
Returns: the stage representing configuration for the PTR record set
/**
* Begins the description of an update of an existing PTR record set in this DNS zone.
*
* @param name name of the PTR record set
* @return the stage representing configuration for the PTR record set
*/
DnsRecordSet.UpdatePtrRecordSet updatePtrRecordSet(String name);
Begins the description of an update of an existing SRV record set in this DNS zone.
Params: - name – the name of the SRV record set
Returns: the stage representing configuration for the SRV record set
/**
* Begins the description of an update of an existing SRV record set in this DNS zone.
*
* @param name the name of the SRV record set
* @return the stage representing configuration for the SRV record set
*/
DnsRecordSet.UpdateSrvRecordSet updateSrvRecordSet(String name);
Begins the description of an update of an existing TXT record set in this DNS zone.
Params: - name – the name of the TXT record set
Returns: the stage representing configuration for the TXT record set
/**
* Begins the description of an update of an existing TXT record set in this DNS zone.
*
* @param name the name of the TXT record set
* @return the stage representing configuration for the TXT record set
*/
DnsRecordSet.UpdateTxtRecordSet updateTxtRecordSet(String name);
Begins the description of an update of the SOA record in this DNS zone.
Returns: the stage representing configuration for the TXT record set
/**
* Begins the description of an update of the SOA record in this DNS zone.
*
* @return the stage representing configuration for the TXT record set
*/
@Method
DnsRecordSet.UpdateSoaRecord updateSoaRecord();
Removes a A record set in the DNS zone.
Params: - name – name of the A record set
Returns: the next stage of DNS zone update
/**
* Removes a A record set in the DNS zone.
*
* @param name name of the A record set
* @return the next stage of DNS zone update
*/
Update withoutARecordSet(String name);
Removes a A record set in the DNS zone.
Params: - name – name of the A record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a A record set in the DNS zone.
*
* @param name name of the A record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutARecordSet(String name, String eTagValue);
Removes a AAAA record set in the DNS zone.
Params: - name – name of the AAAA record set
Returns: the next stage of DNS zone update
/**
* Removes a AAAA record set in the DNS zone.
*
* @param name name of the AAAA record set
* @return the next stage of DNS zone update
*/
Update withoutAaaaRecordSet(String name);
Removes a AAAA record set in the DNS zone.
Params: - name – name of the AAAA record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a AAAA record set in the DNS zone.
*
* @param name name of the AAAA record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutAaaaRecordSet(String name, String eTagValue);
Removes a Caa record set in the DNS zone.
Params: - name – name of the Caa record set
Returns: the next stage of DNS zone update
/**
* Removes a Caa record set in the DNS zone.
*
* @param name name of the Caa record set
* @return the next stage of DNS zone update
*/
@Beta(Beta.SinceVersion.V1_9_0)
Update withoutCaaRecordSet(String name);
Removes a Caa record set in the DNS zone.
Params: - name – name of the Caa record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a Caa record set in the DNS zone.
*
* @param name name of the Caa record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
@Beta(Beta.SinceVersion.V1_9_0)
Update withoutCaaRecordSet(String name, String eTagValue);
Removes a CNAME record set in the DNS zone.
Params: - name – name of the CNAME record set
Returns: the next stage of DNS zone update
/**
* Removes a CNAME record set in the DNS zone.
*
* @param name name of the CNAME record set
* @return the next stage of DNS zone update
*/
Update withoutCNameRecordSet(String name);
Removes a CNAME record set in the DNS zone.
Params: - name – name of the CNAME record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a CNAME record set in the DNS zone.
*
* @param name name of the CNAME record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutCNameRecordSet(String name, String eTagValue);
Removes a MX record set in the DNS zone.
Params: - name – name of the MX record set
Returns: the next stage of DNS zone update
/**
* Removes a MX record set in the DNS zone.
*
* @param name name of the MX record set
* @return the next stage of DNS zone update
*/
Update withoutMXRecordSet(String name);
Removes a MX record set in the DNS zone.
Params: - name – name of the MX record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a MX record set in the DNS zone.
*
* @param name name of the MX record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutMXRecordSet(String name, String eTagValue);
Removes a NS record set in the DNS zone.
Params: - name – name of the NS record set
Returns: the next stage of DNS zone update
/**
* Removes a NS record set in the DNS zone.
*
* @param name name of the NS record set
* @return the next stage of DNS zone update
*/
Update withoutNSRecordSet(String name);
Removes a NS record set in the DNS zone.
Params: - name – name of the NS record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a NS record set in the DNS zone.
*
* @param name name of the NS record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutNSRecordSet(String name, String eTagValue);
Removes a PTR record set in the DNS zone.
Params: - name – name of the PTR record set
Returns: the next stage of DNS zone update
/**
* Removes a PTR record set in the DNS zone.
*
* @param name name of the PTR record set
* @return the next stage of DNS zone update
*/
Update withoutPtrRecordSet(String name);
Removes a PTR record set in the DNS zone.
Params: - name – name of the PTR record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a PTR record set in the DNS zone.
*
* @param name name of the PTR record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutPtrRecordSet(String name, String eTagValue);
Removes a SRV record set in the DNS zone.
Params: - name – name of the SRV record set
Returns: the next stage of DNS zone update
/**
* Removes a SRV record set in the DNS zone.
*
* @param name name of the SRV record set
* @return the next stage of DNS zone update
*/
Update withoutSrvRecordSet(String name);
Removes a SRV record set in the DNS zone.
Params: - name – name of the SRV record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a SRV record set in the DNS zone.
*
* @param name name of the SRV record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutSrvRecordSet(String name, String eTagValue);
Removes a TXT record set in the DNS zone.
Params: - name – name of the TXT record set
Returns: the next stage of DNS zone update
/**
* Removes a TXT record set in the DNS zone.
*
* @param name name of the TXT record set
* @return the next stage of DNS zone update
*/
Update withoutTxtRecordSet(String name);
Removes a TXT record set in the DNS zone.
Params: - name – name of the TXT record set
- eTagValue – the etag to use for concurrent protection
Returns: the next stage of DNS zone update
/**
* Removes a TXT record set in the DNS zone.
*
* @param name name of the TXT record set
* @param eTagValue the etag to use for concurrent protection
* @return the next stage of DNS zone update
*/
Update withoutTxtRecordSet(String name, String eTagValue);
}
The stage of the DNS zone update allowing to enable ETag validation.
/**
* The stage of the DNS zone update allowing to enable ETag validation.
*/
interface WithETagCheck {
Specifies that If-Match header needs to set to the current eTag value associated
with the DNS Zone.
Returns: the next stage of the update
/**
* Specifies that If-Match header needs to set to the current eTag value associated
* with the DNS Zone.
*
* @return the next stage of the update
*/
Update withETagCheck();
Specifies that if-Match header needs to set to the given eTag value.
Params: - eTagValue – the eTag value
Returns: the next stage of the update
/**
* Specifies that if-Match header needs to set to the given eTag value.
*
* @param eTagValue the eTag value
* @return the next stage of the update
*/
Update withETagCheck(String eTagValue);
}
The stage of the DNS zone update allowing to specify Zone access type.
/**
* The stage of the DNS zone update allowing to specify Zone access type.
*/
@Beta(Beta.SinceVersion.V1_9_0)
interface WithZoneType {
Sets the type of this zone to Public (default behavior).
Returns: the next stage of the definition
/**
* Sets the type of this zone to Public (default behavior).
*
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
@Method
Update withPublicAccess();
Sets the type of this zone to Private. Note that this method call will clean any previously set
registrationVirtualNetworkIds and resolutionVirtualNetworkIds lists.
Returns: the next stage of the definition
/**
* Sets the type of this zone to Private. Note that this method call will clean any previously set
* registrationVirtualNetworkIds and resolutionVirtualNetworkIds lists.
*
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
@Method
Update withPrivateAccess();
Sets the type of this zone to Private.
Params: - registrationVirtualNetworkIds – a list of references to virtual networks that register hostnames in this DNS zone.
- resolutionVirtualNetworkIds – a list of references to virtual networks that resolve records in this DNS zone.
Returns: the next stage of the definition
/**
* Sets the type of this zone to Private.
*
* @param registrationVirtualNetworkIds a list of references to virtual networks that register hostnames in this DNS zone.
* @param resolutionVirtualNetworkIds a list of references to virtual networks that resolve records in this DNS zone.
* @return the next stage of the definition
*/
@Beta(Beta.SinceVersion.V1_9_0)
Update withPrivateAccess(List<String> registrationVirtualNetworkIds, List<String> resolutionVirtualNetworkIds);
}
}
The template for an update operation, containing all the settings that can be modified.
Call Appliable<DnsZone>.apply()
to apply the changes to the resource in Azure.
/**
* The template for an update operation, containing all the settings that can be modified.
* <p>
* Call {@link Update#apply()} to apply the changes to the resource in Azure.
*/
interface Update extends
Appliable<DnsZone>,
UpdateStages.WithRecordSet,
UpdateStages.WithETagCheck,
UpdateStages.WithZoneType,
Resource.UpdateWithTags<Update> {
}
}