ResolverForwardingRuleArgs

data class ResolverForwardingRuleArgs(val dnsForwardingRulesetId: Output<String>? = null, val domainName: Output<String>? = null, val enabled: Output<Boolean>? = null, val metadata: Output<Map<String, String>>? = null, val name: Output<String>? = null, val targetDnsServers: Output<List<ResolverForwardingRuleTargetDnsServerArgs>>? = null) : ConvertibleToJava<ResolverForwardingRuleArgs>

Manages a Private DNS Resolver Forwarding Rule.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
import com.pulumi.azure.privatedns.Resolver;
import com.pulumi.azure.privatedns.ResolverArgs;
import com.pulumi.azure.privatedns.ResolverOutboundEndpoint;
import com.pulumi.azure.privatedns.ResolverOutboundEndpointArgs;
import com.pulumi.azure.privatedns.ResolverDnsForwardingRuleset;
import com.pulumi.azure.privatedns.ResolverDnsForwardingRulesetArgs;
import com.pulumi.azure.privatedns.ResolverForwardingRule;
import com.pulumi.azure.privatedns.ResolverForwardingRuleArgs;
import com.pulumi.azure.privatedns.inputs.ResolverForwardingRuleTargetDnsServerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("west europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.addressSpaces("10.0.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.0.64/28")
.delegations(SubnetDelegationArgs.builder()
.name("Microsoft.Network.dnsResolvers")
.serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()
.actions("Microsoft.Network/virtualNetworks/subnets/join/action")
.name("Microsoft.Network/dnsResolvers")
.build())
.build())
.build());
var exampleResolver = new Resolver("exampleResolver", ResolverArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.virtualNetworkId(exampleVirtualNetwork.id())
.build());
var exampleResolverOutboundEndpoint = new ResolverOutboundEndpoint("exampleResolverOutboundEndpoint", ResolverOutboundEndpointArgs.builder()
.privateDnsResolverId(exampleResolver.id())
.location(exampleResolver.location())
.subnetId(exampleSubnet.id())
.tags(Map.of("key", "value"))
.build());
var exampleResolverDnsForwardingRuleset = new ResolverDnsForwardingRuleset("exampleResolverDnsForwardingRuleset", ResolverDnsForwardingRulesetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.privateDnsResolverOutboundEndpointIds(exampleResolverOutboundEndpoint.id())
.build());
var exampleResolverForwardingRule = new ResolverForwardingRule("exampleResolverForwardingRule", ResolverForwardingRuleArgs.builder()
.dnsForwardingRulesetId(exampleResolverDnsForwardingRuleset.id())
.domainName("onprem.local.")
.enabled(true)
.targetDnsServers(ResolverForwardingRuleTargetDnsServerArgs.builder()
.ipAddress("10.10.0.1")
.port(53)
.build())
.metadata(Map.of("key", "value"))
.build());
}
}

Import

Private DNS Resolver Forwarding Rules can be imported using the resource id, e.g.

$ pulumi import azure:privatedns/resolverForwardingRule:ResolverForwardingRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/dnsForwardingRulesets/dnsForwardingRuleset1/forwardingRules/forwardingRule1

Constructors

Link copied to clipboard
fun ResolverForwardingRuleArgs(dnsForwardingRulesetId: Output<String>? = null, domainName: Output<String>? = null, enabled: Output<Boolean>? = null, metadata: Output<Map<String, String>>? = null, name: Output<String>? = null, targetDnsServers: Output<List<ResolverForwardingRuleTargetDnsServerArgs>>? = null)

Functions

Link copied to clipboard
open override fun toJava(): ResolverForwardingRuleArgs

Properties

Link copied to clipboard
val dnsForwardingRulesetId: Output<String>? = null

Specifies the ID of the Private DNS Resolver Forwarding Ruleset. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.

Link copied to clipboard
val domainName: Output<String>? = null

Specifies the domain name for the Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.

Link copied to clipboard
val enabled: Output<Boolean>? = null

Specifies the state of the Private DNS Resolver Forwarding Rule. Defaults to true.

Link copied to clipboard
val metadata: Output<Map<String, String>>? = null

Metadata attached to the Private DNS Resolver Forwarding Rule.

Link copied to clipboard
val name: Output<String>? = null

Specifies the name which should be used for this Private DNS Resolver Forwarding Rule. Changing this forces a new Private DNS Resolver Forwarding Rule to be created.

Link copied to clipboard

Can be specified multiple times to define multiple target DNS servers. Each target_dns_servers block as defined below.