1. Packages
  2. Avi Provider
  3. API Docs
  4. Dnspolicy
avi 31.1.1 published on Monday, Apr 14, 2025 by vmware

avi.Dnspolicy

Explore with Pulumi AI

avi logo
avi 31.1.1 published on Monday, Apr 14, 2025 by vmware

    <!–

    Copyright 2021 VMware, Inc.
    SPDX-License-Identifier: Mozilla Public License 2.0
    

    –>

    layout: “avi”

    page_title: “Avi: avi.Dnspolicy” sidebar_current: “docs-avi-resource-dnspolicy” description: |- Creates and manages Avi DnsPolicy.

    avi.Dnspolicy

    The DnsPolicy resource allows the creation and management of Avi DnsPolicy

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as avi from "@pulumi/avi";
    
    const foo = new avi.Dnspolicy("foo", {tenantRef: "/api/tenant/?name=admin"});
    
    import pulumi
    import pulumi_avi as avi
    
    foo = avi.Dnspolicy("foo", tenant_ref="/api/tenant/?name=admin")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/avi/v31/avi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := avi.NewDnspolicy(ctx, "foo", &avi.DnspolicyArgs{
    			TenantRef: pulumi.String("/api/tenant/?name=admin"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Avi = Pulumi.Avi;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Avi.Dnspolicy("foo", new()
        {
            TenantRef = "/api/tenant/?name=admin",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.avi.Dnspolicy;
    import com.pulumi.avi.DnspolicyArgs;
    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 foo = new Dnspolicy("foo", DnspolicyArgs.builder()
                .tenantRef("/api/tenant/?name=admin")
                .build());
    
        }
    }
    
    resources:
      foo:
        type: avi:Dnspolicy
        properties:
          tenantRef: /api/tenant/?name=admin
    

    Create Dnspolicy Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Dnspolicy(name: string, args?: DnspolicyArgs, opts?: CustomResourceOptions);
    @overload
    def Dnspolicy(resource_name: str,
                  args: Optional[DnspolicyArgs] = None,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def Dnspolicy(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  configpb_attributes: Optional[Sequence[DnspolicyConfigpbAttributeArgs]] = None,
                  created_by: Optional[str] = None,
                  description: Optional[str] = None,
                  dnspolicy_id: Optional[str] = None,
                  internal: Optional[str] = None,
                  markers: Optional[Sequence[DnspolicyMarkerArgs]] = None,
                  name: Optional[str] = None,
                  rules: Optional[Sequence[DnspolicyRuleArgs]] = None,
                  tenant_ref: Optional[str] = None,
                  uuid: Optional[str] = None)
    func NewDnspolicy(ctx *Context, name string, args *DnspolicyArgs, opts ...ResourceOption) (*Dnspolicy, error)
    public Dnspolicy(string name, DnspolicyArgs? args = null, CustomResourceOptions? opts = null)
    public Dnspolicy(String name, DnspolicyArgs args)
    public Dnspolicy(String name, DnspolicyArgs args, CustomResourceOptions options)
    
    type: avi:Dnspolicy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DnspolicyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DnspolicyArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DnspolicyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DnspolicyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DnspolicyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var dnspolicyResource = new Avi.Dnspolicy("dnspolicyResource", new()
    {
        ConfigpbAttributes = new[]
        {
            new Avi.Inputs.DnspolicyConfigpbAttributeArgs
            {
                Version = "string",
            },
        },
        CreatedBy = "string",
        Description = "string",
        DnspolicyId = "string",
        Internal = "string",
        Markers = new[]
        {
            new Avi.Inputs.DnspolicyMarkerArgs
            {
                Key = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        Name = "string",
        Rules = new[]
        {
            new Avi.Inputs.DnspolicyRuleArgs
            {
                Index = "string",
                Name = "string",
                Actions = new[]
                {
                    new Avi.Inputs.DnspolicyRuleActionArgs
                    {
                        Allows = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionAllowArgs
                            {
                                Allow = "string",
                                ResetConn = "string",
                            },
                        },
                        DnsRateLimiters = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionDnsRateLimiterArgs
                            {
                                Actions = new[]
                                {
                                    new Avi.Inputs.DnspolicyRuleActionDnsRateLimiterActionArgs
                                    {
                                        Type = "string",
                                    },
                                },
                                RateLimiterObjects = new[]
                                {
                                    new Avi.Inputs.DnspolicyRuleActionDnsRateLimiterRateLimiterObjectArgs
                                    {
                                        BurstSz = "string",
                                        Count = "string",
                                        Name = "string",
                                        Period = "string",
                                    },
                                },
                            },
                        },
                        GsGroupSelections = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionGsGroupSelectionArgs
                            {
                                GroupName = "string",
                            },
                        },
                        GslbSiteSelections = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionGslbSiteSelectionArgs
                            {
                                SiteName = "string",
                                FallbackSiteNames = new[]
                                {
                                    "string",
                                },
                                IsSitePreferred = "string",
                            },
                        },
                        PoolSwitchings = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionPoolSwitchingArgs
                            {
                                PoolGroupRef = "string",
                                PoolRef = "string",
                            },
                        },
                        Responses = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleActionResponseArgs
                            {
                                Authoritative = "string",
                                Rcode = "string",
                                ResourceRecordSets = new[]
                                {
                                    new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetArgs
                                    {
                                        ResourceRecordSets = new[]
                                        {
                                            new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetArgs
                                            {
                                                Fqdn = "string",
                                                Ttl = "string",
                                                Type = "string",
                                                Cnames = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCnameArgs
                                                    {
                                                        Cname = "string",
                                                    },
                                                },
                                                Ip6Addresses = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressArgs
                                                    {
                                                        Ip6Addresses = new[]
                                                        {
                                                            new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6AddressArgs
                                                            {
                                                                Addr = "string",
                                                                Type = "string",
                                                            },
                                                        },
                                                    },
                                                },
                                                IpAddresses = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressArgs
                                                    {
                                                        IpAddresses = new[]
                                                        {
                                                            new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddressArgs
                                                            {
                                                                Addr = "string",
                                                                Type = "string",
                                                            },
                                                        },
                                                    },
                                                },
                                                Nses = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseArgs
                                                    {
                                                        Nsname = "string",
                                                        Ip6Addresses = new[]
                                                        {
                                                            new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6AddressArgs
                                                            {
                                                                Addr = "string",
                                                                Type = "string",
                                                            },
                                                        },
                                                        IpAddresses = new[]
                                                        {
                                                            new Avi.Inputs.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddressArgs
                                                            {
                                                                Addr = "string",
                                                                Type = "string",
                                                            },
                                                        },
                                                    },
                                                },
                                            },
                                        },
                                        Section = "string",
                                    },
                                },
                                Truncation = "string",
                            },
                        },
                    },
                },
                Enable = "string",
                Log = "string",
                Matches = new[]
                {
                    new Avi.Inputs.DnspolicyRuleMatchArgs
                    {
                        ClientIpAddresses = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchClientIpAddressArgs
                            {
                                ClientIps = new[]
                                {
                                    new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpArgs
                                    {
                                        MatchCriteria = "string",
                                        Addrs = new[]
                                        {
                                            new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpAddrArgs
                                            {
                                                Addr = "string",
                                                Type = "string",
                                            },
                                        },
                                        GroupRefs = new[]
                                        {
                                            "string",
                                        },
                                        Prefixes = new[]
                                        {
                                            new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpPrefixArgs
                                            {
                                                IpAddrs = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddrArgs
                                                    {
                                                        Addr = "string",
                                                        Type = "string",
                                                    },
                                                },
                                                Mask = "string",
                                            },
                                        },
                                        Ranges = new[]
                                        {
                                            new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpRangeArgs
                                            {
                                                Begins = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpRangeBeginArgs
                                                    {
                                                        Addr = "string",
                                                        Type = "string",
                                                    },
                                                },
                                                Ends = new[]
                                                {
                                                    new Avi.Inputs.DnspolicyRuleMatchClientIpAddressClientIpRangeEndArgs
                                                    {
                                                        Addr = "string",
                                                        Type = "string",
                                                    },
                                                },
                                            },
                                        },
                                    },
                                },
                                UseEdnsClientSubnetIp = "string",
                            },
                        },
                        ClientPortNumbers = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchClientPortNumberArgs
                            {
                                ClientPorts = new[]
                                {
                                    new Avi.Inputs.DnspolicyRuleMatchClientPortNumberClientPortArgs
                                    {
                                        MatchCriteria = "string",
                                        Ports = new[]
                                        {
                                            0,
                                        },
                                        Ranges = new[]
                                        {
                                            new Avi.Inputs.DnspolicyRuleMatchClientPortNumberClientPortRangeArgs
                                            {
                                                End = "string",
                                                Start = "string",
                                            },
                                        },
                                    },
                                },
                            },
                        },
                        GeoLocations = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchGeoLocationArgs
                            {
                                MatchCriteria = "string",
                                GeolocationName = "string",
                                GeolocationTag = "string",
                                UseEdnsClientSubnetIp = "string",
                            },
                        },
                        Protocols = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchProtocolArgs
                            {
                                MatchCriteria = "string",
                                Protocol = "string",
                            },
                        },
                        QueryNames = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchQueryNameArgs
                            {
                                MatchCriteria = "string",
                                QueryDomainNames = new[]
                                {
                                    "string",
                                },
                                StringGroupRefs = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        QueryTypes = new[]
                        {
                            new Avi.Inputs.DnspolicyRuleMatchQueryTypeArgs
                            {
                                MatchCriteria = "string",
                                QueryTypes = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                },
            },
        },
        TenantRef = "string",
        Uuid = "string",
    });
    
    example, err := avi.NewDnspolicy(ctx, "dnspolicyResource", &avi.DnspolicyArgs{
    	ConfigpbAttributes: avi.DnspolicyConfigpbAttributeArray{
    		&avi.DnspolicyConfigpbAttributeArgs{
    			Version: pulumi.String("string"),
    		},
    	},
    	CreatedBy:   pulumi.String("string"),
    	Description: pulumi.String("string"),
    	DnspolicyId: pulumi.String("string"),
    	Internal:    pulumi.String("string"),
    	Markers: avi.DnspolicyMarkerArray{
    		&avi.DnspolicyMarkerArgs{
    			Key: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	Rules: avi.DnspolicyRuleArray{
    		&avi.DnspolicyRuleArgs{
    			Index: pulumi.String("string"),
    			Name:  pulumi.String("string"),
    			Actions: avi.DnspolicyRuleActionArray{
    				&avi.DnspolicyRuleActionArgs{
    					Allows: avi.DnspolicyRuleActionAllowArray{
    						&avi.DnspolicyRuleActionAllowArgs{
    							Allow:     pulumi.String("string"),
    							ResetConn: pulumi.String("string"),
    						},
    					},
    					DnsRateLimiters: avi.DnspolicyRuleActionDnsRateLimiterArray{
    						&avi.DnspolicyRuleActionDnsRateLimiterArgs{
    							Actions: avi.DnspolicyRuleActionDnsRateLimiterActionArray{
    								&avi.DnspolicyRuleActionDnsRateLimiterActionArgs{
    									Type: pulumi.String("string"),
    								},
    							},
    							RateLimiterObjects: avi.DnspolicyRuleActionDnsRateLimiterRateLimiterObjectArray{
    								&avi.DnspolicyRuleActionDnsRateLimiterRateLimiterObjectArgs{
    									BurstSz: pulumi.String("string"),
    									Count:   pulumi.String("string"),
    									Name:    pulumi.String("string"),
    									Period:  pulumi.String("string"),
    								},
    							},
    						},
    					},
    					GsGroupSelections: avi.DnspolicyRuleActionGsGroupSelectionArray{
    						&avi.DnspolicyRuleActionGsGroupSelectionArgs{
    							GroupName: pulumi.String("string"),
    						},
    					},
    					GslbSiteSelections: avi.DnspolicyRuleActionGslbSiteSelectionArray{
    						&avi.DnspolicyRuleActionGslbSiteSelectionArgs{
    							SiteName: pulumi.String("string"),
    							FallbackSiteNames: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							IsSitePreferred: pulumi.String("string"),
    						},
    					},
    					PoolSwitchings: avi.DnspolicyRuleActionPoolSwitchingArray{
    						&avi.DnspolicyRuleActionPoolSwitchingArgs{
    							PoolGroupRef: pulumi.String("string"),
    							PoolRef:      pulumi.String("string"),
    						},
    					},
    					Responses: avi.DnspolicyRuleActionResponseArray{
    						&avi.DnspolicyRuleActionResponseArgs{
    							Authoritative: pulumi.String("string"),
    							Rcode:         pulumi.String("string"),
    							ResourceRecordSets: avi.DnspolicyRuleActionResponseResourceRecordSetArray{
    								&avi.DnspolicyRuleActionResponseResourceRecordSetArgs{
    									ResourceRecordSets: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetArray{
    										&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetArgs{
    											Fqdn: pulumi.String("string"),
    											Ttl:  pulumi.String("string"),
    											Type: pulumi.String("string"),
    											Cnames: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCnameArray{
    												&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCnameArgs{
    													Cname: pulumi.String("string"),
    												},
    											},
    											Ip6Addresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressArray{
    												&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressArgs{
    													Ip6Addresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6AddressArray{
    														&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6AddressArgs{
    															Addr: pulumi.String("string"),
    															Type: pulumi.String("string"),
    														},
    													},
    												},
    											},
    											IpAddresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressArray{
    												&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressArgs{
    													IpAddresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddressArray{
    														&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddressArgs{
    															Addr: pulumi.String("string"),
    															Type: pulumi.String("string"),
    														},
    													},
    												},
    											},
    											Nses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseArray{
    												&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseArgs{
    													Nsname: pulumi.String("string"),
    													Ip6Addresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6AddressArray{
    														&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6AddressArgs{
    															Addr: pulumi.String("string"),
    															Type: pulumi.String("string"),
    														},
    													},
    													IpAddresses: avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddressArray{
    														&avi.DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddressArgs{
    															Addr: pulumi.String("string"),
    															Type: pulumi.String("string"),
    														},
    													},
    												},
    											},
    										},
    									},
    									Section: pulumi.String("string"),
    								},
    							},
    							Truncation: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			Enable: pulumi.String("string"),
    			Log:    pulumi.String("string"),
    			Matches: avi.DnspolicyRuleMatchArray{
    				&avi.DnspolicyRuleMatchArgs{
    					ClientIpAddresses: avi.DnspolicyRuleMatchClientIpAddressArray{
    						&avi.DnspolicyRuleMatchClientIpAddressArgs{
    							ClientIps: avi.DnspolicyRuleMatchClientIpAddressClientIpArray{
    								&avi.DnspolicyRuleMatchClientIpAddressClientIpArgs{
    									MatchCriteria: pulumi.String("string"),
    									Addrs: avi.DnspolicyRuleMatchClientIpAddressClientIpAddrArray{
    										&avi.DnspolicyRuleMatchClientIpAddressClientIpAddrArgs{
    											Addr: pulumi.String("string"),
    											Type: pulumi.String("string"),
    										},
    									},
    									GroupRefs: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									Prefixes: avi.DnspolicyRuleMatchClientIpAddressClientIpPrefixArray{
    										&avi.DnspolicyRuleMatchClientIpAddressClientIpPrefixArgs{
    											IpAddrs: avi.DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddrArray{
    												&avi.DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddrArgs{
    													Addr: pulumi.String("string"),
    													Type: pulumi.String("string"),
    												},
    											},
    											Mask: pulumi.String("string"),
    										},
    									},
    									Ranges: avi.DnspolicyRuleMatchClientIpAddressClientIpRangeArray{
    										&avi.DnspolicyRuleMatchClientIpAddressClientIpRangeArgs{
    											Begins: avi.DnspolicyRuleMatchClientIpAddressClientIpRangeBeginArray{
    												&avi.DnspolicyRuleMatchClientIpAddressClientIpRangeBeginArgs{
    													Addr: pulumi.String("string"),
    													Type: pulumi.String("string"),
    												},
    											},
    											Ends: avi.DnspolicyRuleMatchClientIpAddressClientIpRangeEndArray{
    												&avi.DnspolicyRuleMatchClientIpAddressClientIpRangeEndArgs{
    													Addr: pulumi.String("string"),
    													Type: pulumi.String("string"),
    												},
    											},
    										},
    									},
    								},
    							},
    							UseEdnsClientSubnetIp: pulumi.String("string"),
    						},
    					},
    					ClientPortNumbers: avi.DnspolicyRuleMatchClientPortNumberArray{
    						&avi.DnspolicyRuleMatchClientPortNumberArgs{
    							ClientPorts: avi.DnspolicyRuleMatchClientPortNumberClientPortArray{
    								&avi.DnspolicyRuleMatchClientPortNumberClientPortArgs{
    									MatchCriteria: pulumi.String("string"),
    									Ports: pulumi.Float64Array{
    										pulumi.Float64(0),
    									},
    									Ranges: avi.DnspolicyRuleMatchClientPortNumberClientPortRangeArray{
    										&avi.DnspolicyRuleMatchClientPortNumberClientPortRangeArgs{
    											End:   pulumi.String("string"),
    											Start: pulumi.String("string"),
    										},
    									},
    								},
    							},
    						},
    					},
    					GeoLocations: avi.DnspolicyRuleMatchGeoLocationArray{
    						&avi.DnspolicyRuleMatchGeoLocationArgs{
    							MatchCriteria:         pulumi.String("string"),
    							GeolocationName:       pulumi.String("string"),
    							GeolocationTag:        pulumi.String("string"),
    							UseEdnsClientSubnetIp: pulumi.String("string"),
    						},
    					},
    					Protocols: avi.DnspolicyRuleMatchProtocolArray{
    						&avi.DnspolicyRuleMatchProtocolArgs{
    							MatchCriteria: pulumi.String("string"),
    							Protocol:      pulumi.String("string"),
    						},
    					},
    					QueryNames: avi.DnspolicyRuleMatchQueryNameArray{
    						&avi.DnspolicyRuleMatchQueryNameArgs{
    							MatchCriteria: pulumi.String("string"),
    							QueryDomainNames: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							StringGroupRefs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					QueryTypes: avi.DnspolicyRuleMatchQueryTypeArray{
    						&avi.DnspolicyRuleMatchQueryTypeArgs{
    							MatchCriteria: pulumi.String("string"),
    							QueryTypes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    		},
    	},
    	TenantRef: pulumi.String("string"),
    	Uuid:      pulumi.String("string"),
    })
    
    var dnspolicyResource = new Dnspolicy("dnspolicyResource", DnspolicyArgs.builder()
        .configpbAttributes(DnspolicyConfigpbAttributeArgs.builder()
            .version("string")
            .build())
        .createdBy("string")
        .description("string")
        .dnspolicyId("string")
        .internal("string")
        .markers(DnspolicyMarkerArgs.builder()
            .key("string")
            .values("string")
            .build())
        .name("string")
        .rules(DnspolicyRuleArgs.builder()
            .index("string")
            .name("string")
            .actions(DnspolicyRuleActionArgs.builder()
                .allows(DnspolicyRuleActionAllowArgs.builder()
                    .allow("string")
                    .resetConn("string")
                    .build())
                .dnsRateLimiters(DnspolicyRuleActionDnsRateLimiterArgs.builder()
                    .actions(DnspolicyRuleActionDnsRateLimiterActionArgs.builder()
                        .type("string")
                        .build())
                    .rateLimiterObjects(DnspolicyRuleActionDnsRateLimiterRateLimiterObjectArgs.builder()
                        .burstSz("string")
                        .count("string")
                        .name("string")
                        .period("string")
                        .build())
                    .build())
                .gsGroupSelections(DnspolicyRuleActionGsGroupSelectionArgs.builder()
                    .groupName("string")
                    .build())
                .gslbSiteSelections(DnspolicyRuleActionGslbSiteSelectionArgs.builder()
                    .siteName("string")
                    .fallbackSiteNames("string")
                    .isSitePreferred("string")
                    .build())
                .poolSwitchings(DnspolicyRuleActionPoolSwitchingArgs.builder()
                    .poolGroupRef("string")
                    .poolRef("string")
                    .build())
                .responses(DnspolicyRuleActionResponseArgs.builder()
                    .authoritative("string")
                    .rcode("string")
                    .resourceRecordSets(DnspolicyRuleActionResponseResourceRecordSetArgs.builder()
                        .resourceRecordSets(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetArgs.builder()
                            .fqdn("string")
                            .ttl("string")
                            .type("string")
                            .cnames(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCnameArgs.builder()
                                .cname("string")
                                .build())
                            .ip6Addresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressArgs.builder()
                                .ip6Addresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6AddressArgs.builder()
                                    .addr("string")
                                    .type("string")
                                    .build())
                                .build())
                            .ipAddresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressArgs.builder()
                                .ipAddresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddressArgs.builder()
                                    .addr("string")
                                    .type("string")
                                    .build())
                                .build())
                            .nses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseArgs.builder()
                                .nsname("string")
                                .ip6Addresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6AddressArgs.builder()
                                    .addr("string")
                                    .type("string")
                                    .build())
                                .ipAddresses(DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddressArgs.builder()
                                    .addr("string")
                                    .type("string")
                                    .build())
                                .build())
                            .build())
                        .section("string")
                        .build())
                    .truncation("string")
                    .build())
                .build())
            .enable("string")
            .log("string")
            .matches(DnspolicyRuleMatchArgs.builder()
                .clientIpAddresses(DnspolicyRuleMatchClientIpAddressArgs.builder()
                    .clientIps(DnspolicyRuleMatchClientIpAddressClientIpArgs.builder()
                        .matchCriteria("string")
                        .addrs(DnspolicyRuleMatchClientIpAddressClientIpAddrArgs.builder()
                            .addr("string")
                            .type("string")
                            .build())
                        .groupRefs("string")
                        .prefixes(DnspolicyRuleMatchClientIpAddressClientIpPrefixArgs.builder()
                            .ipAddrs(DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddrArgs.builder()
                                .addr("string")
                                .type("string")
                                .build())
                            .mask("string")
                            .build())
                        .ranges(DnspolicyRuleMatchClientIpAddressClientIpRangeArgs.builder()
                            .begins(DnspolicyRuleMatchClientIpAddressClientIpRangeBeginArgs.builder()
                                .addr("string")
                                .type("string")
                                .build())
                            .ends(DnspolicyRuleMatchClientIpAddressClientIpRangeEndArgs.builder()
                                .addr("string")
                                .type("string")
                                .build())
                            .build())
                        .build())
                    .useEdnsClientSubnetIp("string")
                    .build())
                .clientPortNumbers(DnspolicyRuleMatchClientPortNumberArgs.builder()
                    .clientPorts(DnspolicyRuleMatchClientPortNumberClientPortArgs.builder()
                        .matchCriteria("string")
                        .ports(0)
                        .ranges(DnspolicyRuleMatchClientPortNumberClientPortRangeArgs.builder()
                            .end("string")
                            .start("string")
                            .build())
                        .build())
                    .build())
                .geoLocations(DnspolicyRuleMatchGeoLocationArgs.builder()
                    .matchCriteria("string")
                    .geolocationName("string")
                    .geolocationTag("string")
                    .useEdnsClientSubnetIp("string")
                    .build())
                .protocols(DnspolicyRuleMatchProtocolArgs.builder()
                    .matchCriteria("string")
                    .protocol("string")
                    .build())
                .queryNames(DnspolicyRuleMatchQueryNameArgs.builder()
                    .matchCriteria("string")
                    .queryDomainNames("string")
                    .stringGroupRefs("string")
                    .build())
                .queryTypes(DnspolicyRuleMatchQueryTypeArgs.builder()
                    .matchCriteria("string")
                    .queryTypes("string")
                    .build())
                .build())
            .build())
        .tenantRef("string")
        .uuid("string")
        .build());
    
    dnspolicy_resource = avi.Dnspolicy("dnspolicyResource",
        configpb_attributes=[{
            "version": "string",
        }],
        created_by="string",
        description="string",
        dnspolicy_id="string",
        internal="string",
        markers=[{
            "key": "string",
            "values": ["string"],
        }],
        name="string",
        rules=[{
            "index": "string",
            "name": "string",
            "actions": [{
                "allows": [{
                    "allow": "string",
                    "reset_conn": "string",
                }],
                "dns_rate_limiters": [{
                    "actions": [{
                        "type": "string",
                    }],
                    "rate_limiter_objects": [{
                        "burst_sz": "string",
                        "count": "string",
                        "name": "string",
                        "period": "string",
                    }],
                }],
                "gs_group_selections": [{
                    "group_name": "string",
                }],
                "gslb_site_selections": [{
                    "site_name": "string",
                    "fallback_site_names": ["string"],
                    "is_site_preferred": "string",
                }],
                "pool_switchings": [{
                    "pool_group_ref": "string",
                    "pool_ref": "string",
                }],
                "responses": [{
                    "authoritative": "string",
                    "rcode": "string",
                    "resource_record_sets": [{
                        "resource_record_sets": [{
                            "fqdn": "string",
                            "ttl": "string",
                            "type": "string",
                            "cnames": [{
                                "cname": "string",
                            }],
                            "ip6_addresses": [{
                                "ip6_addresses": [{
                                    "addr": "string",
                                    "type": "string",
                                }],
                            }],
                            "ip_addresses": [{
                                "ip_addresses": [{
                                    "addr": "string",
                                    "type": "string",
                                }],
                            }],
                            "nses": [{
                                "nsname": "string",
                                "ip6_addresses": [{
                                    "addr": "string",
                                    "type": "string",
                                }],
                                "ip_addresses": [{
                                    "addr": "string",
                                    "type": "string",
                                }],
                            }],
                        }],
                        "section": "string",
                    }],
                    "truncation": "string",
                }],
            }],
            "enable": "string",
            "log": "string",
            "matches": [{
                "client_ip_addresses": [{
                    "client_ips": [{
                        "match_criteria": "string",
                        "addrs": [{
                            "addr": "string",
                            "type": "string",
                        }],
                        "group_refs": ["string"],
                        "prefixes": [{
                            "ip_addrs": [{
                                "addr": "string",
                                "type": "string",
                            }],
                            "mask": "string",
                        }],
                        "ranges": [{
                            "begins": [{
                                "addr": "string",
                                "type": "string",
                            }],
                            "ends": [{
                                "addr": "string",
                                "type": "string",
                            }],
                        }],
                    }],
                    "use_edns_client_subnet_ip": "string",
                }],
                "client_port_numbers": [{
                    "client_ports": [{
                        "match_criteria": "string",
                        "ports": [0],
                        "ranges": [{
                            "end": "string",
                            "start": "string",
                        }],
                    }],
                }],
                "geo_locations": [{
                    "match_criteria": "string",
                    "geolocation_name": "string",
                    "geolocation_tag": "string",
                    "use_edns_client_subnet_ip": "string",
                }],
                "protocols": [{
                    "match_criteria": "string",
                    "protocol": "string",
                }],
                "query_names": [{
                    "match_criteria": "string",
                    "query_domain_names": ["string"],
                    "string_group_refs": ["string"],
                }],
                "query_types": [{
                    "match_criteria": "string",
                    "query_types": ["string"],
                }],
            }],
        }],
        tenant_ref="string",
        uuid="string")
    
    const dnspolicyResource = new avi.Dnspolicy("dnspolicyResource", {
        configpbAttributes: [{
            version: "string",
        }],
        createdBy: "string",
        description: "string",
        dnspolicyId: "string",
        internal: "string",
        markers: [{
            key: "string",
            values: ["string"],
        }],
        name: "string",
        rules: [{
            index: "string",
            name: "string",
            actions: [{
                allows: [{
                    allow: "string",
                    resetConn: "string",
                }],
                dnsRateLimiters: [{
                    actions: [{
                        type: "string",
                    }],
                    rateLimiterObjects: [{
                        burstSz: "string",
                        count: "string",
                        name: "string",
                        period: "string",
                    }],
                }],
                gsGroupSelections: [{
                    groupName: "string",
                }],
                gslbSiteSelections: [{
                    siteName: "string",
                    fallbackSiteNames: ["string"],
                    isSitePreferred: "string",
                }],
                poolSwitchings: [{
                    poolGroupRef: "string",
                    poolRef: "string",
                }],
                responses: [{
                    authoritative: "string",
                    rcode: "string",
                    resourceRecordSets: [{
                        resourceRecordSets: [{
                            fqdn: "string",
                            ttl: "string",
                            type: "string",
                            cnames: [{
                                cname: "string",
                            }],
                            ip6Addresses: [{
                                ip6Addresses: [{
                                    addr: "string",
                                    type: "string",
                                }],
                            }],
                            ipAddresses: [{
                                ipAddresses: [{
                                    addr: "string",
                                    type: "string",
                                }],
                            }],
                            nses: [{
                                nsname: "string",
                                ip6Addresses: [{
                                    addr: "string",
                                    type: "string",
                                }],
                                ipAddresses: [{
                                    addr: "string",
                                    type: "string",
                                }],
                            }],
                        }],
                        section: "string",
                    }],
                    truncation: "string",
                }],
            }],
            enable: "string",
            log: "string",
            matches: [{
                clientIpAddresses: [{
                    clientIps: [{
                        matchCriteria: "string",
                        addrs: [{
                            addr: "string",
                            type: "string",
                        }],
                        groupRefs: ["string"],
                        prefixes: [{
                            ipAddrs: [{
                                addr: "string",
                                type: "string",
                            }],
                            mask: "string",
                        }],
                        ranges: [{
                            begins: [{
                                addr: "string",
                                type: "string",
                            }],
                            ends: [{
                                addr: "string",
                                type: "string",
                            }],
                        }],
                    }],
                    useEdnsClientSubnetIp: "string",
                }],
                clientPortNumbers: [{
                    clientPorts: [{
                        matchCriteria: "string",
                        ports: [0],
                        ranges: [{
                            end: "string",
                            start: "string",
                        }],
                    }],
                }],
                geoLocations: [{
                    matchCriteria: "string",
                    geolocationName: "string",
                    geolocationTag: "string",
                    useEdnsClientSubnetIp: "string",
                }],
                protocols: [{
                    matchCriteria: "string",
                    protocol: "string",
                }],
                queryNames: [{
                    matchCriteria: "string",
                    queryDomainNames: ["string"],
                    stringGroupRefs: ["string"],
                }],
                queryTypes: [{
                    matchCriteria: "string",
                    queryTypes: ["string"],
                }],
            }],
        }],
        tenantRef: "string",
        uuid: "string",
    });
    
    type: avi:Dnspolicy
    properties:
        configpbAttributes:
            - version: string
        createdBy: string
        description: string
        dnspolicyId: string
        internal: string
        markers:
            - key: string
              values:
                - string
        name: string
        rules:
            - actions:
                - allows:
                    - allow: string
                      resetConn: string
                  dnsRateLimiters:
                    - actions:
                        - type: string
                      rateLimiterObjects:
                        - burstSz: string
                          count: string
                          name: string
                          period: string
                  gsGroupSelections:
                    - groupName: string
                  gslbSiteSelections:
                    - fallbackSiteNames:
                        - string
                      isSitePreferred: string
                      siteName: string
                  poolSwitchings:
                    - poolGroupRef: string
                      poolRef: string
                  responses:
                    - authoritative: string
                      rcode: string
                      resourceRecordSets:
                        - resourceRecordSets:
                            - cnames:
                                - cname: string
                              fqdn: string
                              ip6Addresses:
                                - ip6Addresses:
                                    - addr: string
                                      type: string
                              ipAddresses:
                                - ipAddresses:
                                    - addr: string
                                      type: string
                              nses:
                                - ip6Addresses:
                                    - addr: string
                                      type: string
                                  ipAddresses:
                                    - addr: string
                                      type: string
                                  nsname: string
                              ttl: string
                              type: string
                          section: string
                      truncation: string
              enable: string
              index: string
              log: string
              matches:
                - clientIpAddresses:
                    - clientIps:
                        - addrs:
                            - addr: string
                              type: string
                          groupRefs:
                            - string
                          matchCriteria: string
                          prefixes:
                            - ipAddrs:
                                - addr: string
                                  type: string
                              mask: string
                          ranges:
                            - begins:
                                - addr: string
                                  type: string
                              ends:
                                - addr: string
                                  type: string
                      useEdnsClientSubnetIp: string
                  clientPortNumbers:
                    - clientPorts:
                        - matchCriteria: string
                          ports:
                            - 0
                          ranges:
                            - end: string
                              start: string
                  geoLocations:
                    - geolocationName: string
                      geolocationTag: string
                      matchCriteria: string
                      useEdnsClientSubnetIp: string
                  protocols:
                    - matchCriteria: string
                      protocol: string
                  queryNames:
                    - matchCriteria: string
                      queryDomainNames:
                        - string
                      stringGroupRefs:
                        - string
                  queryTypes:
                    - matchCriteria: string
                      queryTypes:
                        - string
              name: string
        tenantRef: string
        uuid: string
    

    Dnspolicy Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Dnspolicy resource accepts the following input properties:

    ConfigpbAttributes List<DnspolicyConfigpbAttribute>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    CreatedBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    DnspolicyId string
    Internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    Markers List<DnspolicyMarker>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Rules List<DnspolicyRule>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    TenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    ConfigpbAttributes []DnspolicyConfigpbAttributeArgs
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    CreatedBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    DnspolicyId string
    Internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    Markers []DnspolicyMarkerArgs
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Rules []DnspolicyRuleArgs
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    TenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes List<DnspolicyConfigpbAttribute>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy String
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description String
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId String
    internal String
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers List<DnspolicyMarker>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules List<DnspolicyRule>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef String
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid String
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes DnspolicyConfigpbAttribute[]
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId string
    internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers DnspolicyMarker[]
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules DnspolicyRule[]
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpb_attributes Sequence[DnspolicyConfigpbAttributeArgs]
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    created_by str
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description str
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicy_id str
    internal str
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers Sequence[DnspolicyMarkerArgs]
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name str
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules Sequence[DnspolicyRuleArgs]
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenant_ref str
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid str
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes List<Property Map>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy String
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description String
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId String
    internal String
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers List<Property Map>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules List<Property Map>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef String
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid String
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Dnspolicy resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Dnspolicy Resource

    Get an existing Dnspolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DnspolicyState, opts?: CustomResourceOptions): Dnspolicy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            configpb_attributes: Optional[Sequence[DnspolicyConfigpbAttributeArgs]] = None,
            created_by: Optional[str] = None,
            description: Optional[str] = None,
            dnspolicy_id: Optional[str] = None,
            internal: Optional[str] = None,
            markers: Optional[Sequence[DnspolicyMarkerArgs]] = None,
            name: Optional[str] = None,
            rules: Optional[Sequence[DnspolicyRuleArgs]] = None,
            tenant_ref: Optional[str] = None,
            uuid: Optional[str] = None) -> Dnspolicy
    func GetDnspolicy(ctx *Context, name string, id IDInput, state *DnspolicyState, opts ...ResourceOption) (*Dnspolicy, error)
    public static Dnspolicy Get(string name, Input<string> id, DnspolicyState? state, CustomResourceOptions? opts = null)
    public static Dnspolicy get(String name, Output<String> id, DnspolicyState state, CustomResourceOptions options)
    resources:  _:    type: avi:Dnspolicy    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ConfigpbAttributes List<DnspolicyConfigpbAttribute>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    CreatedBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    DnspolicyId string
    Internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    Markers List<DnspolicyMarker>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Rules List<DnspolicyRule>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    TenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    ConfigpbAttributes []DnspolicyConfigpbAttributeArgs
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    CreatedBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    DnspolicyId string
    Internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    Markers []DnspolicyMarkerArgs
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Rules []DnspolicyRuleArgs
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    TenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes List<DnspolicyConfigpbAttribute>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy String
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description String
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId String
    internal String
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers List<DnspolicyMarker>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules List<DnspolicyRule>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef String
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid String
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes DnspolicyConfigpbAttribute[]
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy string
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description string
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId string
    internal string
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers DnspolicyMarker[]
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules DnspolicyRule[]
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef string
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid string
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpb_attributes Sequence[DnspolicyConfigpbAttributeArgs]
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    created_by str
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description str
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicy_id str
    internal str
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers Sequence[DnspolicyMarkerArgs]
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name str
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules Sequence[DnspolicyRuleArgs]
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenant_ref str
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid str
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    configpbAttributes List<Property Map>
    Protobuf versioning for config pbs. Field introduced in 21.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    createdBy String
    Creator name. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    description String
    Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    dnspolicyId String
    internal String
    The dns policy is created and modified by internal modules only. This should not be modified by users. Field introduced in 21.1.1. Allowed with any value in enterprise, enterprise with cloud services edition.
    markers List<Property Map>
    List of labels to be used for granular rbac. Field introduced in 20.1.5. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    rules List<Property Map>
    Dns rules. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    tenantRef String
    It is a reference to an object of type tenant. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    uuid String
    Uuid of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.

    Supporting Types

    DnspolicyConfigpbAttribute, DnspolicyConfigpbAttributeArgs

    Version string
    Version string
    version String
    version string
    version String

    DnspolicyMarker, DnspolicyMarkerArgs

    Key string
    Values List<string>
    Key string
    Values []string
    key String
    values List<String>
    key string
    values string[]
    key str
    values Sequence[str]
    key String
    values List<String>

    DnspolicyRule, DnspolicyRuleArgs

    Index string
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Actions List<DnspolicyRuleAction>
    Enable string
    Log string
    Matches List<DnspolicyRuleMatch>
    Index string
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Actions []DnspolicyRuleAction
    Enable string
    Log string
    Matches []DnspolicyRuleMatch
    index String
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    actions List<DnspolicyRuleAction>
    enable String
    log String
    matches List<DnspolicyRuleMatch>
    index string
    name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    actions DnspolicyRuleAction[]
    enable string
    log string
    matches DnspolicyRuleMatch[]
    index str
    name str
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    actions Sequence[DnspolicyRuleAction]
    enable str
    log str
    matches Sequence[DnspolicyRuleMatch]
    index String
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    actions List<Property Map>
    enable String
    log String
    matches List<Property Map>

    DnspolicyRuleAction, DnspolicyRuleActionArgs

    DnspolicyRuleActionAllow, DnspolicyRuleActionAllowArgs

    Allow string
    ResetConn string
    Allow string
    ResetConn string
    allow String
    resetConn String
    allow string
    resetConn string
    allow String
    resetConn String

    DnspolicyRuleActionDnsRateLimiter, DnspolicyRuleActionDnsRateLimiterArgs

    DnspolicyRuleActionDnsRateLimiterAction, DnspolicyRuleActionDnsRateLimiterActionArgs

    Type string
    Type string
    type String
    type string
    type str
    type String

    DnspolicyRuleActionDnsRateLimiterRateLimiterObject, DnspolicyRuleActionDnsRateLimiterRateLimiterObjectArgs

    BurstSz string
    Count string
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Period string
    BurstSz string
    Count string
    Name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    Period string
    burstSz String
    count String
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    period String
    burstSz string
    count string
    name string
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    period string
    burst_sz str
    count str
    name str
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    period str
    burstSz String
    count String
    name String
    Name of the dns policy. Field introduced in 17.1.1. Allowed with any value in enterprise, essentials, basic, enterprise with cloud services edition.
    period String

    DnspolicyRuleActionGsGroupSelection, DnspolicyRuleActionGsGroupSelectionArgs

    GroupName string
    GroupName string
    groupName String
    groupName string
    groupName String

    DnspolicyRuleActionGslbSiteSelection, DnspolicyRuleActionGslbSiteSelectionArgs

    SiteName string
    FallbackSiteNames List<string>
    IsSitePreferred string
    siteName String
    fallbackSiteNames List<String>
    isSitePreferred String
    siteName String
    fallbackSiteNames List<String>
    isSitePreferred String

    DnspolicyRuleActionPoolSwitching, DnspolicyRuleActionPoolSwitchingArgs

    PoolGroupRef string
    PoolRef string
    PoolGroupRef string
    PoolRef string
    poolGroupRef String
    poolRef String
    poolGroupRef string
    poolRef string
    poolGroupRef String
    poolRef String

    DnspolicyRuleActionResponse, DnspolicyRuleActionResponseArgs

    DnspolicyRuleActionResponseResourceRecordSet, DnspolicyRuleActionResponseResourceRecordSetArgs

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSet, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetArgs

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCname, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetCnameArgs

    Cname string
    Cname string
    cname String
    cname string
    cname str
    cname String

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6Address, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressArgs

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6Address, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIp6AddressIp6AddressArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddress, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressArgs

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddress, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetIpAddressIpAddressArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNse, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseArgs

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6Address, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIp6AddressArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddress, DnspolicyRuleActionResponseResourceRecordSetResourceRecordSetNseIpAddressArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleMatch, DnspolicyRuleMatchArgs

    DnspolicyRuleMatchClientIpAddress, DnspolicyRuleMatchClientIpAddressArgs

    DnspolicyRuleMatchClientIpAddressClientIp, DnspolicyRuleMatchClientIpAddressClientIpArgs

    DnspolicyRuleMatchClientIpAddressClientIpAddr, DnspolicyRuleMatchClientIpAddressClientIpAddrArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleMatchClientIpAddressClientIpPrefix, DnspolicyRuleMatchClientIpAddressClientIpPrefixArgs

    DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddr, DnspolicyRuleMatchClientIpAddressClientIpPrefixIpAddrArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleMatchClientIpAddressClientIpRange, DnspolicyRuleMatchClientIpAddressClientIpRangeArgs

    DnspolicyRuleMatchClientIpAddressClientIpRangeBegin, DnspolicyRuleMatchClientIpAddressClientIpRangeBeginArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleMatchClientIpAddressClientIpRangeEnd, DnspolicyRuleMatchClientIpAddressClientIpRangeEndArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    DnspolicyRuleMatchClientPortNumber, DnspolicyRuleMatchClientPortNumberArgs

    DnspolicyRuleMatchClientPortNumberClientPort, DnspolicyRuleMatchClientPortNumberClientPortArgs

    DnspolicyRuleMatchClientPortNumberClientPortRange, DnspolicyRuleMatchClientPortNumberClientPortRangeArgs

    End string
    Start string
    End string
    Start string
    end String
    start String
    end string
    start string
    end str
    start str
    end String
    start String

    DnspolicyRuleMatchGeoLocation, DnspolicyRuleMatchGeoLocationArgs

    DnspolicyRuleMatchProtocol, DnspolicyRuleMatchProtocolArgs

    MatchCriteria string
    Protocol string
    MatchCriteria string
    Protocol string
    matchCriteria String
    protocol String
    matchCriteria string
    protocol string
    matchCriteria String
    protocol String

    DnspolicyRuleMatchQueryName, DnspolicyRuleMatchQueryNameArgs

    MatchCriteria string
    QueryDomainNames List<string>
    StringGroupRefs List<string>
    matchCriteria String
    queryDomainNames List<String>
    stringGroupRefs List<String>
    matchCriteria String
    queryDomainNames List<String>
    stringGroupRefs List<String>

    DnspolicyRuleMatchQueryType, DnspolicyRuleMatchQueryTypeArgs

    MatchCriteria string
    QueryTypes List<string>
    MatchCriteria string
    QueryTypes []string
    matchCriteria String
    queryTypes List<String>
    matchCriteria string
    queryTypes string[]
    match_criteria str
    query_types Sequence[str]
    matchCriteria String
    queryTypes List<String>

    Package Details

    Repository
    avi vmware/terraform-provider-avi
    License
    Notes
    This Pulumi package is based on the avi Terraform Provider.
    avi logo
    avi 31.1.1 published on Monday, Apr 14, 2025 by vmware