Delen via


Microsoft.Network virtualNetworks/subnetten

Opmerkingen

Zie Virtuele netwerkbronnen maken met Bicepvoor hulp bij het maken van virtuele netwerken en subnetten.

Bicep-resourcedefinitie

Het resourcetype virtualNetworks/subnetten kan worden geïmplementeerd met bewerkingen die zijn gericht op:

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een resource voor Microsoft.Network/virtualNetworks/subnetten wilt maken, voegt u de volgende Bicep toe aan uw sjabloon.

resource symbolicname 'Microsoft.Network/virtualNetworks/subnets@2025-05-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    addressPrefix: 'string'
    addressPrefixes: [
      'string'
    ]
    applicationGatewayIPConfigurations: [
      {
        id: 'string'
        name: 'string'
        properties: {
          subnet: {
            id: 'string'
          }
        }
      }
    ]
    defaultOutboundAccess: bool
    delegations: [
      {
        id: 'string'
        name: 'string'
        properties: {
          serviceName: 'string'
        }
        type: 'string'
      }
    ]
    ipAllocations: [
      {
        id: 'string'
      }
    ]
    ipamPoolPrefixAllocations: [
      {
        numberOfIpAddresses: 'string'
        pool: {
          id: 'string'
        }
      }
    ]
    natGateway: {
      id: 'string'
    }
    networkSecurityGroup: {
      id: 'string'
      location: 'string'
      properties: {
        flushConnection: bool
        securityRules: [
          {
            id: 'string'
            name: 'string'
            properties: {
              access: 'string'
              description: 'string'
              destinationAddressPrefix: 'string'
              destinationAddressPrefixes: [
                'string'
              ]
              destinationApplicationSecurityGroups: [
                {
                  id: 'string'
                  location: 'string'
                  properties: {}
                  tags: {
                    {customized property}: 'string'
                  }
                }
              ]
              destinationPortRange: 'string'
              destinationPortRanges: [
                'string'
              ]
              direction: 'string'
              priority: int
              protocol: 'string'
              sourceAddressPrefix: 'string'
              sourceAddressPrefixes: [
                'string'
              ]
              sourceApplicationSecurityGroups: [
                {
                  id: 'string'
                  location: 'string'
                  properties: {}
                  tags: {
                    {customized property}: 'string'
                  }
                }
              ]
              sourcePortRange: 'string'
              sourcePortRanges: [
                'string'
              ]
            }
            type: 'string'
          }
        ]
      }
      tags: {
        {customized property}: 'string'
      }
    }
    privateEndpointNetworkPolicies: 'string'
    privateLinkServiceNetworkPolicies: 'string'
    routeTable: {
      id: 'string'
      location: 'string'
      properties: {
        disableBgpRoutePropagation: bool
        routes: [
          {
            id: 'string'
            name: 'string'
            properties: {
              addressPrefix: 'string'
              nextHopIpAddress: 'string'
              nextHopType: 'string'
            }
            type: 'string'
          }
        ]
      }
      tags: {
        {customized property}: 'string'
      }
    }
    serviceEndpointPolicies: [
      {
        id: 'string'
        location: 'string'
        properties: {
          contextualServiceEndpointPolicies: [
            'string'
          ]
          serviceAlias: 'string'
          serviceEndpointPolicyDefinitions: [
            {
              id: 'string'
              name: 'string'
              properties: {
                description: 'string'
                service: 'string'
                serviceResources: [
                  'string'
                ]
              }
              type: 'string'
            }
          ]
        }
        tags: {
          {customized property}: 'string'
        }
      }
    ]
    serviceEndpoints: [
      {
        locations: [
          'string'
        ]
        networkIdentifier: {
          id: 'string'
        }
        service: 'string'
      }
    ]
    serviceGateway: {
      id: 'string'
    }
    sharingScope: 'string'
  }
}

Eigenschapswaarden

Microsoft.Network/virtualNetworks/subnetten

Naam Beschrijving Waarde
naam De resourcenaam tekenreeks (vereist)
ouder In Bicep kunt u de bovenliggende resource voor een onderliggende resource opgeven. U hoeft deze eigenschap alleen toe te voegen wanneer de onderliggende resource buiten de bovenliggende resource wordt gedeclareerd.

Zie onderliggende resource buiten de bovenliggende resourcevoor meer informatie.
Symbolische naam voor resource van het type: virtualNetworks-
Eigenschappen Eigenschappen van het subnet. SubnetEigenschappenOpmaak

ApplicationGatewayIPConfiguratie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam Naam van de IP-configuratie die uniek is binnen een Application Gateway. snaar
Eigenschappen Eigenschappen van de IP-configuratie van de toepassingsgateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Naam Beschrijving Waarde
Subnet Verwijzing naar de subnetresource. Een subnet van waaruit de toepassingsgateway het privéadres ophaalt. SubResource-

ApplicationSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de toepassingsbeveiligingsgroep. ApplicationSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

ApplicationSecurityGroupPropertiesFormat

Naam Beschrijving Waarde

Delegatie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een subnet. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van het subnet. ServiceDelegationPropertiesFormat
soort Resourcetype. snaar

IpamPoolPrefixToewijzing

Naam Beschrijving Waarde
aantalIpAdressen Aantal IP-adressen dat moet worden toegewezen. snaar
poel IpamPoolPrefixAllocationPool

IpamPoolPrefixAllocationPool

Naam Beschrijving Waarde
legitimatiebewijs Resource-id van de bijbehorende Azure IpamPool-resource. snaar

NetwerkSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de netwerkbeveiligingsgroep. NetworkSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

NetworkSecurityGroupPropertiesFormat

Naam Beschrijving Waarde
flushAansluiting Wanneer deze optie is ingeschakeld, worden stromen die zijn gemaakt op basis van netwerkbeveiligingsgroepverbindingen opnieuw geëvalueerd wanneer regels worden bijgewerkt. Bij initiële activering wordt een nieuwe evaluatie geactiveerd. Bool
veiligheidsregels Een verzameling beveiligingsregels van de netwerkbeveiligingsgroep. Veiligheidsregel

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Route

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de route. RouteEigenschappenOpmaak
soort Het type resource. snaar

RouteEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel De doel-CIDR waarop de route van toepassing is. snaar
volgendeHopIpAdres De IP-adrespakketten moeten worden doorgestuurd naar. Volgende hopwaarden zijn alleen toegestaan in routes waarbij het volgende hoptype VirtualAppliance is. snaar
volgendeHopType Het type Azure-hop waar het pakket naartoe moet worden verzonden. 'Internet'
'Geen'
VirtualAppliance
'Virtuele NetwerkGateway'
VnetLocal (vereist)

RouteTabel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de routetabel. RouteTablePropertiesFormat
Tags Resourcetags. ResourceTags-

RouteTablePropertiesFormat

Naam Beschrijving Waarde
disableBgpRoutePropagation Hiermee wordt aangegeven of de routes die door BGP in die routetabel zijn geleerd, moeten worden uitgeschakeld. Waar betekent uitschakelen. Bool
Routes Verzameling routes in een routetabel. Route[]

Veiligheidsregel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beveiligingsregel. SecurityRulePropertiesFormat
soort Het type resource. snaar

SecurityRulePropertiesFormat

Naam Beschrijving Waarde
toegang Het netwerkverkeer is toegestaan of geweigerd. 'Toestaan'
'Weigeren' (vereist)
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
destinationAddressPrefix Het voorvoegsel van het doeladres. CIDR of doel-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. snaar
destinationAddressPrefixes De voorvoegsels van het doeladres. CIDR- of doel-IP-bereiken. tekenreeks[]
destinationApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bestemming. ApplicationSecurityGroup
bestemmingPortRange De doelpoort of het doelbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
bestemmingPortRanges De doelpoortbereiken. tekenreeks[]
richting De richting van de regel. De richting geeft aan of de regel wordt geëvalueerd voor binnenkomend of uitgaand verkeer. 'Inkomend'
Uitgaand (vereist)
voorrang De prioriteit van de regel. De waarde kan tussen 100 en 4096 zijn. Het prioriteitsnummer moet uniek zijn voor elke regel in de verzameling. Hoe lager het prioriteitsnummer, hoe hoger de prioriteit van de regel. int (vereist)
protocol Netwerkprotocol waarop deze regel van toepassing is. '*'
'Ah'
'Esp'
'Icmp'
'TCP'
Udp (vereist)
bronAdresVoorvoegsel Het CIDR- of bron-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. Als dit een regel voor inkomend verkeer is, geeft u aan waar netwerkverkeer vandaan komt. snaar
bronAdresVoorvoegsels De CIDR- of bron-IP-bereiken. tekenreeks[]
bronApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bron. ApplicationSecurityGroup
bronPortRange De bronpoort of het bronbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
sourcePortRanges De bronpoortbereiken. tekenreeks[]

ServiceDelegationPropertiesFormat

Naam Beschrijving Waarde
servicenaam De naam van de service aan wie het subnet moet worden gedelegeerd (bijvoorbeeld Microsoft.Sql/servers). snaar

ServiceEndpointPolicy

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van het beleid voor serviceeindpunten. ServiceEndpointPolicyPropertiesFormat
Tags Resourcetags. ResourceTags-

ServiceEndpointPolicyDefinition

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beleidsdefinitie voor service-eindpunten. ServiceEndpointPolicyDefinitionPropertiesFormat
soort Het type resource. snaar

ServiceEndpointPolicyDefinitionPropertiesFormat

Naam Beschrijving Waarde
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
dienst Naam van service-eindpunt. snaar
Hulpmiddelen Een lijst met servicebronnen. tekenreeks[]

ServiceEndpointPolicyPropertiesFormat

Naam Beschrijving Waarde
contextualServiceEndpointPolicies Een verzameling contextueel service-eindpuntbeleid. tekenreeks[]
dienstAlias De alias die aangeeft of het beleid deel uitmaakt van een service snaar
serviceEndpointPolicyDefinitions Een verzameling beleidsdefinities voor service-eindpunten van het beleid voor service-eindpunten. ServiceEndpointPolicyDefinition

ServiceEndpointPropertiesIndeling

Naam Beschrijving Waarde
Locaties Een lijst met locaties. tekenreeks[]
netwerk-ID SubResource als netwerk-id. SubResource-
dienst Het type eindpuntservice. snaar

SubnetEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel Het adresvoorvoegsel voor het subnet. snaar
adresVoorvoegsels Lijst met adresvoorvoegsels voor het subnet. tekenreeks[]
applicationGatewayIPConfiguraties IP-configuraties van toepassingsgateway van virtuele netwerkresources. ApplicationGatewayIPConfiguratie
standaardOutboundAccess Stel deze eigenschap in op false om de standaard uitgaande connectiviteit voor alle VM's in het subnet uit te schakelen. Bool
Delegaties Een matrix met verwijzingen naar de delegaties in het subnet. delegering[]
ipToewijzingen Matrix van IpAllocation die naar dit subnet verwijst. Subbron
ipamPoolPrefixToewijzingen Een lijst met IPAM-pools voor het toewijzen van IP-adresvoorvoegsels. IpamPoolPrefixAlallocation
natGateway Nat-gateway die is gekoppeld aan dit subnet. SubResource-
netwerkSecurityGroep De verwijzing naar de NetworkSecurityGroup-resource. NetworkSecurityGroup-
privateEndpointNetworkPolicies Netwerkbeleid op privé-eindpunt in- of uitschakelen in of uitschakelen in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
'NetworkSecurityGroupEnabled'
'RouteTableIngeschakeld'
privateLinkServiceNetworkPolicies Netwerkbeleid in- of uitschakelen voor de private link-service in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
routeTabel De verwijzing naar de RouteTable-resource. RouteTable-
service-eindpuntbeleid Een matrix met beleidsregels voor service-eindpunten. ServiceEndpointPolicy
serviceEindpunten Een matrix met service-eindpunten. ServiceEndpointPropertiesFormat
serviceGateway Verwijs naar een bestaande servicegateway. SubResource-
delen Reikwijdte Stel deze eigenschap in op Tenant om het delen van subnet met andere abonnementen in uw AAD-tenant toe te staan. Deze eigenschap kan alleen worden ingesteld als defaultOutboundAccess is ingesteld op false, beide eigenschappen kunnen alleen worden ingesteld als het subnet leeg is. "Gedelegeerde diensten"
'Huurder'

Subbron

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar

Gebruiksvoorbeelden

Geverifieerde Azure-modules

De volgende azure-geverifieerde modules kunnen worden gebruikt om dit resourcetype te implementeren.

Moduul Beschrijving
Virtueel netwerk - Subnet AVM Onderliggende module voor virtueel netwerk - Subnet

Azure-snelstartvoorbeelden

De volgende Azure-quickstartsjablonen bicep-voorbeelden bevatten voor het implementeren van dit resourcetype.

Bicep-bestand Beschrijving
Een subnet toevoegen aan een bestaand VNET- Met deze sjabloon kunt u een subnet toevoegen aan een bestaand VNET. Implementeren in de resourcegroep van het bestaande VNET
Application Gateway voor routering op basis van URL-pad Met deze sjabloon maakt u een Toepassingsgateway en configureert u deze voor routering op basis van URL-pad.
Azure Bastion als een service Deze sjabloon richt Azure Bastion in een virtueel netwerk in
Azure Bastion as a Service met NSG- Deze sjabloon richt Azure Bastion in een virtueel netwerk in
Azure Batch-pool zonder openbare IP-adressen Met deze sjabloon maakt u een vereenvoudigde knooppuntcommunicatiegroep van Azure Batch zonder openbare IP-adressen.
Azure Cloud Shell - VNet- Met deze sjabloon worden Azure Cloud Shell-resources geïmplementeerd in een virtueel Azure-netwerk.
Azure Container Instances - VNet- Implementeer een containerinstantie in een virtueel Azure-netwerk.
virtuele-machineschaalset van Azure Game Developer Azure Game Developer Virtual Machine Scale Set bevat Licencsed Engines zoals Unreal.
Azure Kubernetes Fleet Manager Een private Hubful Fleet implementeren met Azure Kubernetes Fleet Manager
end-to-end beveiligde installatie van Azure Machine Learning Deze set Bicep-sjablonen laat zien hoe u Azure Machine Learning end-to-end instelt in een veilige configuratie. Deze referentie-implementatie omvat de werkruimte, een rekencluster, een rekenproces en een gekoppeld privé-AKS-cluster.
end-to-end beveiligde installatie van Azure Machine Learning (verouderd) Deze set Bicep-sjablonen laat zien hoe u Azure Machine Learning end-to-end instelt in een veilige configuratie. Deze referentie-implementatie omvat de werkruimte, een rekencluster, een rekenproces en een gekoppeld privé-AKS-cluster.
een load balancer voor meerdere regio's maken Met deze sjabloon maakt u een load balancer voor meerdere regio's met een back-endpool met twee regionale load balancers. Load balancer voor meerdere regio's is momenteel beschikbaar in beperkte regio's. De regionale load balancers achter de load balancer voor meerdere regio's kunnen zich in elke regio bevinden.
een routeserver maken in een nieuw subnet Met deze sjabloon wordt een routeserver geïmplementeerd in een subnet met de naam RouteServerSubnet.
een standaard interne load balancer maken Met deze sjabloon maakt u een standaard interne Azure Load Balancer met een regeltaakverdelingspoort 80
Een standaard interne load balancer maken met ha-poorten Met deze sjabloon maakt u een standaard interne Azure Load Balancer met een taakverdelingsregel voor hoge beschikbaarheidspoorten
Een standard load balancer maken Met deze sjabloon maakt u een internetgerichte load balancer, taakverdelingsregels en drie VM's voor de back-endpool met elke VIRTUELE machine in een redundante zone.
AKS maken met Prometheus en Grafana met privae link Hiermee maakt u een Azure-grafana, AKS en installeert u Prometheus, een opensource-toolkit voor bewaking en waarschuwingen, op een AKS-cluster (Azure Kubernetes Service). Vervolgens gebruikt u het beheerde privé-eindpunt van Azure Managed Grafana om verbinding te maken met deze Prometheus-server en de Prometheus-gegevens weer te geven in een Grafana-dashboard
een AppServicePlan en app maken in een ASEv3- Een AppServicePlan en app maken in een ASEv3
Een Azure Firewall maken met meerdere openbare IP-adressen Met deze sjabloon maakt u een Azure Firewall met twee openbare IP-adressen en twee Windows Server 2019-servers die u wilt testen.
Een Azure Machine Learning Service-werkruimte (verouderd) maken Met deze implementatiesjabloon geeft u een Azure Machine Learning-werkruimte en de bijbehorende resources op, waaronder Azure Key Vault, Azure Storage, Azure Application Insights en Azure Container Registry. In deze configuratie wordt de set resources beschreven die u nodig hebt om aan de slag te gaan met Azure Machine Learning in een geïsoleerde netwerkconfiguratie.
Een Azure Machine Learning Service-werkruimte (vnet) maken Met deze implementatiesjabloon geeft u een Azure Machine Learning-werkruimte en de bijbehorende resources op, waaronder Azure Key Vault, Azure Storage, Azure Application Insights en Azure Container Registry. In deze configuratie wordt de set resources beschreven die u nodig hebt om aan de slag te gaan met Azure Machine Learning in een geïsoleerde netwerkconfiguratie.
AVD maken met FSLogix en AD DS Join Met deze sjabloon kunt u Azure Virtual Desktop-resources maken, zoals hostgroep, toepassingsgroep, werkruimte, FSLogix-opslagaccount, bestandsshare, Recovery Service-kluis voor het maken van een back-up van een testsessiehost, de extensies met Microsoft Entra ID join pr Active Directory-domeindeelname.
Azure VM-replicatie en herstel na noodgevallen maken Met deze sjabloon kunt u herstel na noodgevallen voor sitereplicatie van virtuele Azure-machines maken.
Sandbox maken van Azure Firewall, client-VM en server-VM Met deze sjabloon maakt u een virtueel netwerk met twee subnetten (serversubnet en AzureFirewall-subnet), een server-VM, een client-VM, een openbaar IP-adres voor elke VIRTUELE machine en een routetabel voor het verzenden van verkeer tussen VM's via de firewall.
maakt een privé-eindpuntresource voor meerdere tenants Met deze sjabloon kunt u een Priavate-eindpuntresource maken binnen dezelfde of meerdere tenantomgevingen en dns-zoneconfiguratie toevoegen.
MAAKT AVD met Microsoft Entra ID Join Met deze sjabloon kunt u Azure Virtual Desktop-resources maken, zoals hostgroep, toepassingsgroep, werkruimte, een host voor een testsessie en de extensies ervan met Microsoft Entra ID-deelname
Een eenvoudige Windows-VM implementeren met tags Met deze sjabloon wordt een D2_v3 Windows-VM, NIC, opslagaccount, virtueel netwerk, openbaar IP-adres en netwerkbeveiligingsgroep geïmplementeerd. Het tagobject wordt gemaakt in de variabelen en wordt toegepast op alle resources, indien van toepassing.
Azure Database for MySQL implementeren met VNet- Deze sjabloon biedt een manier om een Azure-database voor MySQL te implementeren met VNet-integratie.
Azure Database for PostgreSQL (flexibel) implementeren met VNet- Deze sjabloon biedt een manier om een Azure-database voor Flexibele server voor PostgreSQL te implementeren met VNet-integratie.
Azure Database for PostgreSQL implementeren met VNet- Deze sjabloon biedt een manier om een Azure-database voor PostgreSQL te implementeren met VNet-integratie.
Azure Database Migration Service (DMS) implementeren Azure Database Migration Service is een volledig beheerde service die is ontworpen om naadloze migraties van meerdere databasebronnen naar Azure-gegevensplatformen mogelijk te maken met minimale downtime (onlinemigraties).
MySQL Flexibele server implementeren met privé-eindpunt Deze sjabloon biedt een manier om een Flexibele Azure Database for MySQL-server te implementeren met een privé-eindpunt.
MySQL Flexible Server implementeren met Vnet Integration Deze sjabloon biedt een manier om een Azure-database voor MySQL Flexible Server te implementeren met VNet-integratie.
GitLab Omnibus- Deze sjabloon vereenvoudigt de implementatie van GitLab Omnibus op een virtuele machine met een openbare DNS, waarbij gebruik wordt gemaakt van de DNS van het openbare IP-adres. Het maakt gebruik van de Standard_F8s_v2 instantiegrootte, die overeenkomt met referentiearchitectuur en ondersteunt maximaal 1000 gebruikers (20 RPS). Het exemplaar is vooraf geconfigureerd voor het gebruik van HTTPS met een Let's Encrypt-certificaat voor beveiligde verbindingen.
voorbeeld van privé-eindpunt Deze sjabloon laat zien hoe u een privé-eindpunt maakt dat verwijst naar Azure SQL Server
beveiligde virtuele hubs Met deze sjabloon maakt u een beveiligde virtuele hub met behulp van Azure Firewall om uw cloudnetwerkverkeer te beveiligen dat is bestemd voor internet.
SharePoint Subscription / 2019 / 2016 volledig geconfigureerd Maak een DC, een SQL Server 2022 en van 1 tot 5 server(s) die een SharePoint-abonnement / 2019 / 2016-farm hosten met een uitgebreide configuratie, inclusief vertrouwde authenticatie, gebruikersprofielen met persoonlijke sites, een OAuth-vertrouwensrelatie (met behulp van een certificaat), een speciale IIS-site voor het hosten van high-trust invoegtoepassingen, enz... De nieuwste versie van de belangrijkste software (inclusief Fiddler, vscode, np++, 7zip, ULS Viewer) is geïnstalleerd. SharePoint-machines hebben extra finetuning om ze onmiddellijk bruikbaar te maken (tools voor beheer op afstand, aangepast beleid voor Edge en Chrome, snelkoppelingen, enz...).
Virtual Network NAT met VM- Een NAT-gateway en virtuele machine implementeren

Resourcedefinitie van ARM-sjabloon

Het resourcetype virtualNetworks/subnetten kan worden geïmplementeerd met bewerkingen die zijn gericht op:

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een resource voor Microsoft.Network/virtualNetworks/subnetten wilt maken, voegt u de volgende JSON toe aan uw sjabloon.

{
  "type": "Microsoft.Network/virtualNetworks/subnets",
  "apiVersion": "2025-05-01",
  "name": "string",
  "properties": {
    "addressPrefix": "string",
    "addressPrefixes": [ "string" ],
    "applicationGatewayIPConfigurations": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "subnet": {
            "id": "string"
          }
        }
      }
    ],
    "defaultOutboundAccess": "bool",
    "delegations": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "serviceName": "string"
        },
        "type": "string"
      }
    ],
    "ipAllocations": [
      {
        "id": "string"
      }
    ],
    "ipamPoolPrefixAllocations": [
      {
        "numberOfIpAddresses": "string",
        "pool": {
          "id": "string"
        }
      }
    ],
    "natGateway": {
      "id": "string"
    },
    "networkSecurityGroup": {
      "id": "string",
      "location": "string",
      "properties": {
        "flushConnection": "bool",
        "securityRules": [
          {
            "id": "string",
            "name": "string",
            "properties": {
              "access": "string",
              "description": "string",
              "destinationAddressPrefix": "string",
              "destinationAddressPrefixes": [ "string" ],
              "destinationApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "properties": {
                  },
                  "tags": {
                    "{customized property}": "string"
                  }
                }
              ],
              "destinationPortRange": "string",
              "destinationPortRanges": [ "string" ],
              "direction": "string",
              "priority": "int",
              "protocol": "string",
              "sourceAddressPrefix": "string",
              "sourceAddressPrefixes": [ "string" ],
              "sourceApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "properties": {
                  },
                  "tags": {
                    "{customized property}": "string"
                  }
                }
              ],
              "sourcePortRange": "string",
              "sourcePortRanges": [ "string" ]
            },
            "type": "string"
          }
        ]
      },
      "tags": {
        "{customized property}": "string"
      }
    },
    "privateEndpointNetworkPolicies": "string",
    "privateLinkServiceNetworkPolicies": "string",
    "routeTable": {
      "id": "string",
      "location": "string",
      "properties": {
        "disableBgpRoutePropagation": "bool",
        "routes": [
          {
            "id": "string",
            "name": "string",
            "properties": {
              "addressPrefix": "string",
              "nextHopIpAddress": "string",
              "nextHopType": "string"
            },
            "type": "string"
          }
        ]
      },
      "tags": {
        "{customized property}": "string"
      }
    },
    "serviceEndpointPolicies": [
      {
        "id": "string",
        "location": "string",
        "properties": {
          "contextualServiceEndpointPolicies": [ "string" ],
          "serviceAlias": "string",
          "serviceEndpointPolicyDefinitions": [
            {
              "id": "string",
              "name": "string",
              "properties": {
                "description": "string",
                "service": "string",
                "serviceResources": [ "string" ]
              },
              "type": "string"
            }
          ]
        },
        "tags": {
          "{customized property}": "string"
        }
      }
    ],
    "serviceEndpoints": [
      {
        "locations": [ "string" ],
        "networkIdentifier": {
          "id": "string"
        },
        "service": "string"
      }
    ],
    "serviceGateway": {
      "id": "string"
    },
    "sharingScope": "string"
  }
}

Eigenschapswaarden

Microsoft.Network/virtualNetworks/subnetten

Naam Beschrijving Waarde
apiVersion De API-versie '2025-05-01'
naam De resourcenaam tekenreeks (vereist)
Eigenschappen Eigenschappen van het subnet. SubnetEigenschappenOpmaak
soort Het resourcetype 'Microsoft.Network/virtualNetworks/subnetten'

ApplicationGatewayIPConfiguratie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam Naam van de IP-configuratie die uniek is binnen een Application Gateway. snaar
Eigenschappen Eigenschappen van de IP-configuratie van de toepassingsgateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Naam Beschrijving Waarde
Subnet Verwijzing naar de subnetresource. Een subnet van waaruit de toepassingsgateway het privéadres ophaalt. SubResource-

ApplicationSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de toepassingsbeveiligingsgroep. ApplicationSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

ApplicationSecurityGroupPropertiesFormat

Naam Beschrijving Waarde

Delegatie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een subnet. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van het subnet. ServiceDelegationPropertiesFormat
soort Resourcetype. snaar

IpamPoolPrefixToewijzing

Naam Beschrijving Waarde
aantalIpAdressen Aantal IP-adressen dat moet worden toegewezen. snaar
poel IpamPoolPrefixAllocationPool

IpamPoolPrefixAllocationPool

Naam Beschrijving Waarde
legitimatiebewijs Resource-id van de bijbehorende Azure IpamPool-resource. snaar

NetwerkSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de netwerkbeveiligingsgroep. NetworkSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

NetworkSecurityGroupPropertiesFormat

Naam Beschrijving Waarde
flushAansluiting Wanneer deze optie is ingeschakeld, worden stromen die zijn gemaakt op basis van netwerkbeveiligingsgroepverbindingen opnieuw geëvalueerd wanneer regels worden bijgewerkt. Bij initiële activering wordt een nieuwe evaluatie geactiveerd. Bool
veiligheidsregels Een verzameling beveiligingsregels van de netwerkbeveiligingsgroep. Veiligheidsregel

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Route

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de route. RouteEigenschappenOpmaak
soort Het type resource. snaar

RouteEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel De doel-CIDR waarop de route van toepassing is. snaar
volgendeHopIpAdres De IP-adrespakketten moeten worden doorgestuurd naar. Volgende hopwaarden zijn alleen toegestaan in routes waarbij het volgende hoptype VirtualAppliance is. snaar
volgendeHopType Het type Azure-hop waar het pakket naartoe moet worden verzonden. 'Internet'
'Geen'
VirtualAppliance
'Virtuele NetwerkGateway'
VnetLocal (vereist)

RouteTabel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de routetabel. RouteTablePropertiesFormat
Tags Resourcetags. ResourceTags-

RouteTablePropertiesFormat

Naam Beschrijving Waarde
disableBgpRoutePropagation Hiermee wordt aangegeven of de routes die door BGP in die routetabel zijn geleerd, moeten worden uitgeschakeld. Waar betekent uitschakelen. Bool
Routes Verzameling routes in een routetabel. Route[]

Veiligheidsregel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beveiligingsregel. SecurityRulePropertiesFormat
soort Het type resource. snaar

SecurityRulePropertiesFormat

Naam Beschrijving Waarde
toegang Het netwerkverkeer is toegestaan of geweigerd. 'Toestaan'
'Weigeren' (vereist)
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
destinationAddressPrefix Het voorvoegsel van het doeladres. CIDR of doel-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. snaar
destinationAddressPrefixes De voorvoegsels van het doeladres. CIDR- of doel-IP-bereiken. tekenreeks[]
destinationApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bestemming. ApplicationSecurityGroup
bestemmingPortRange De doelpoort of het doelbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
bestemmingPortRanges De doelpoortbereiken. tekenreeks[]
richting De richting van de regel. De richting geeft aan of de regel wordt geëvalueerd voor binnenkomend of uitgaand verkeer. 'Inkomend'
Uitgaand (vereist)
voorrang De prioriteit van de regel. De waarde kan tussen 100 en 4096 zijn. Het prioriteitsnummer moet uniek zijn voor elke regel in de verzameling. Hoe lager het prioriteitsnummer, hoe hoger de prioriteit van de regel. int (vereist)
protocol Netwerkprotocol waarop deze regel van toepassing is. '*'
'Ah'
'Esp'
'Icmp'
'TCP'
Udp (vereist)
bronAdresVoorvoegsel Het CIDR- of bron-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. Als dit een regel voor inkomend verkeer is, geeft u aan waar netwerkverkeer vandaan komt. snaar
bronAdresVoorvoegsels De CIDR- of bron-IP-bereiken. tekenreeks[]
bronApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bron. ApplicationSecurityGroup
bronPortRange De bronpoort of het bronbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
sourcePortRanges De bronpoortbereiken. tekenreeks[]

ServiceDelegationPropertiesFormat

Naam Beschrijving Waarde
servicenaam De naam van de service aan wie het subnet moet worden gedelegeerd (bijvoorbeeld Microsoft.Sql/servers). snaar

ServiceEndpointPolicy

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van het beleid voor serviceeindpunten. ServiceEndpointPolicyPropertiesFormat
Tags Resourcetags. ResourceTags-

ServiceEndpointPolicyDefinition

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beleidsdefinitie voor service-eindpunten. ServiceEndpointPolicyDefinitionPropertiesFormat
soort Het type resource. snaar

ServiceEndpointPolicyDefinitionPropertiesFormat

Naam Beschrijving Waarde
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
dienst Naam van service-eindpunt. snaar
Hulpmiddelen Een lijst met servicebronnen. tekenreeks[]

ServiceEndpointPolicyPropertiesFormat

Naam Beschrijving Waarde
contextualServiceEndpointPolicies Een verzameling contextueel service-eindpuntbeleid. tekenreeks[]
dienstAlias De alias die aangeeft of het beleid deel uitmaakt van een service snaar
serviceEndpointPolicyDefinitions Een verzameling beleidsdefinities voor service-eindpunten van het beleid voor service-eindpunten. ServiceEndpointPolicyDefinition

ServiceEndpointPropertiesIndeling

Naam Beschrijving Waarde
Locaties Een lijst met locaties. tekenreeks[]
netwerk-ID SubResource als netwerk-id. SubResource-
dienst Het type eindpuntservice. snaar

SubnetEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel Het adresvoorvoegsel voor het subnet. snaar
adresVoorvoegsels Lijst met adresvoorvoegsels voor het subnet. tekenreeks[]
applicationGatewayIPConfiguraties IP-configuraties van toepassingsgateway van virtuele netwerkresources. ApplicationGatewayIPConfiguratie
standaardOutboundAccess Stel deze eigenschap in op false om de standaard uitgaande connectiviteit voor alle VM's in het subnet uit te schakelen. Bool
Delegaties Een matrix met verwijzingen naar de delegaties in het subnet. delegering[]
ipToewijzingen Matrix van IpAllocation die naar dit subnet verwijst. Subbron
ipamPoolPrefixToewijzingen Een lijst met IPAM-pools voor het toewijzen van IP-adresvoorvoegsels. IpamPoolPrefixAlallocation
natGateway Nat-gateway die is gekoppeld aan dit subnet. SubResource-
netwerkSecurityGroep De verwijzing naar de NetworkSecurityGroup-resource. NetworkSecurityGroup-
privateEndpointNetworkPolicies Netwerkbeleid op privé-eindpunt in- of uitschakelen in of uitschakelen in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
'NetworkSecurityGroupEnabled'
'RouteTableIngeschakeld'
privateLinkServiceNetworkPolicies Netwerkbeleid in- of uitschakelen voor de private link-service in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
routeTabel De verwijzing naar de RouteTable-resource. RouteTable-
service-eindpuntbeleid Een matrix met beleidsregels voor service-eindpunten. ServiceEndpointPolicy
serviceEindpunten Een matrix met service-eindpunten. ServiceEndpointPropertiesFormat
serviceGateway Verwijs naar een bestaande servicegateway. SubResource-
delen Reikwijdte Stel deze eigenschap in op Tenant om het delen van subnet met andere abonnementen in uw AAD-tenant toe te staan. Deze eigenschap kan alleen worden ingesteld als defaultOutboundAccess is ingesteld op false, beide eigenschappen kunnen alleen worden ingesteld als het subnet leeg is. "Gedelegeerde diensten"
'Huurder'

Subbron

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar

Gebruiksvoorbeelden

Azure-snelstartsjablonen

De volgende Azure-quickstartsjablonen dit resourcetype implementeren.

Sjabloon Beschrijving
Een subnet toevoegen aan een bestaand VNET-

implementeren in Azure
Met deze sjabloon kunt u een subnet toevoegen aan een bestaand VNET. Implementeren in de resourcegroep van het bestaande VNET
een NSG met Redis-beveiligingsregels toevoegen aan een bestaand subnet

implementeren in Azure
Met deze sjabloon kunt u een NSG met vooraf geconfigureerde Azure Redis Cache-beveiligingsregels toevoegen aan een bestaand subnet binnen een VNET. Implementeren in de resourcegroep van het bestaande VNET.
App Service Environment met Azure SQL-back-end

implementeren in Azure
Met deze sjabloon maakt u een App Service-omgeving met een Azure SQL-back-end, samen met privé-eindpunten, samen met de bijbehorende resources die doorgaans worden gebruikt in een privé-/geïsoleerde omgeving.
Application Gateway voor routering op basis van URL-pad

implementeren in Azure
Met deze sjabloon maakt u een Toepassingsgateway en configureert u deze voor routering op basis van URL-pad.
Azure Bastion als een service

implementeren in Azure
Deze sjabloon richt Azure Bastion in een virtueel netwerk in
Azure Bastion as a Service met NSG-

implementeren in Azure
Deze sjabloon richt Azure Bastion in een virtueel netwerk in
Azure Batch-pool zonder openbare IP-adressen

implementeren in Azure
Met deze sjabloon maakt u een vereenvoudigde knooppuntcommunicatiegroep van Azure Batch zonder openbare IP-adressen.
Azure Cloud Shell - VNet-

implementeren in Azure
Met deze sjabloon worden Azure Cloud Shell-resources geïmplementeerd in een virtueel Azure-netwerk.
Azure Container Instances - VNet-

implementeren in Azure
Implementeer een containerinstantie in een virtueel Azure-netwerk.
virtuele-machineschaalset van Azure Game Developer

implementeren in Azure
Azure Game Developer Virtual Machine Scale Set bevat Licencsed Engines zoals Unreal.
Azure Kubernetes Fleet Manager

implementeren in Azure
Een private Hubful Fleet implementeren met Azure Kubernetes Fleet Manager
end-to-end beveiligde installatie van Azure Machine Learning

implementeren in Azure
Deze set Bicep-sjablonen laat zien hoe u Azure Machine Learning end-to-end instelt in een veilige configuratie. Deze referentie-implementatie omvat de werkruimte, een rekencluster, een rekenproces en een gekoppeld privé-AKS-cluster.
end-to-end beveiligde installatie van Azure Machine Learning (verouderd)

implementeren in Azure
Deze set Bicep-sjablonen laat zien hoe u Azure Machine Learning end-to-end instelt in een veilige configuratie. Deze referentie-implementatie omvat de werkruimte, een rekencluster, een rekenproces en een gekoppeld privé-AKS-cluster.
een load balancer voor meerdere regio's maken

implementeren in Azure
Met deze sjabloon maakt u een load balancer voor meerdere regio's met een back-endpool met twee regionale load balancers. Load balancer voor meerdere regio's is momenteel beschikbaar in beperkte regio's. De regionale load balancers achter de load balancer voor meerdere regio's kunnen zich in elke regio bevinden.
een routeserver maken in een nieuw subnet

implementeren in Azure
Met deze sjabloon wordt een routeserver geïmplementeerd in een subnet met de naam RouteServerSubnet.
een standaard interne load balancer maken

implementeren in Azure
Met deze sjabloon maakt u een standaard interne Azure Load Balancer met een regeltaakverdelingspoort 80
Een standaard interne load balancer maken met ha-poorten

implementeren in Azure
Met deze sjabloon maakt u een standaard interne Azure Load Balancer met een taakverdelingsregel voor hoge beschikbaarheidspoorten
Een standard load balancer maken

implementeren in Azure
Met deze sjabloon maakt u een internetgerichte load balancer, taakverdelingsregels en drie VM's voor de back-endpool met elke VIRTUELE machine in een redundante zone.
AKS maken met Prometheus en Grafana met privae link

implementeren in Azure
Hiermee maakt u een Azure-grafana, AKS en installeert u Prometheus, een opensource-toolkit voor bewaking en waarschuwingen, op een AKS-cluster (Azure Kubernetes Service). Vervolgens gebruikt u het beheerde privé-eindpunt van Azure Managed Grafana om verbinding te maken met deze Prometheus-server en de Prometheus-gegevens weer te geven in een Grafana-dashboard
een AppServicePlan en app maken in een ASEv3-

implementeren in Azure
Een AppServicePlan en app maken in een ASEv3
Een Azure Firewall maken met meerdere openbare IP-adressen

implementeren in Azure
Met deze sjabloon maakt u een Azure Firewall met twee openbare IP-adressen en twee Windows Server 2019-servers die u wilt testen.
Een Azure Machine Learning Service-werkruimte (verouderd) maken

implementeren in Azure
Met deze implementatiesjabloon geeft u een Azure Machine Learning-werkruimte en de bijbehorende resources op, waaronder Azure Key Vault, Azure Storage, Azure Application Insights en Azure Container Registry. In deze configuratie wordt de set resources beschreven die u nodig hebt om aan de slag te gaan met Azure Machine Learning in een geïsoleerde netwerkconfiguratie.
Een Azure Machine Learning Service-werkruimte (vnet) maken

implementeren in Azure
Met deze implementatiesjabloon geeft u een Azure Machine Learning-werkruimte en de bijbehorende resources op, waaronder Azure Key Vault, Azure Storage, Azure Application Insights en Azure Container Registry. In deze configuratie wordt de set resources beschreven die u nodig hebt om aan de slag te gaan met Azure Machine Learning in een geïsoleerde netwerkconfiguratie.
Een Azure Payment HSM- maken

implementeren in Azure
Met deze sjabloon maakt u een Azure Payment HSM om cryptografische sleutelbewerkingen te bieden voor realtime, kritieke betalingstransacties in de Azure-cloud.
AVD maken met FSLogix en AD DS Join

implementeren in Azure
Met deze sjabloon kunt u Azure Virtual Desktop-resources maken, zoals hostgroep, toepassingsgroep, werkruimte, FSLogix-opslagaccount, bestandsshare, Recovery Service-kluis voor het maken van een back-up van een testsessiehost, de extensies met Microsoft Entra ID join pr Active Directory-domeindeelname.
Azure VM-replicatie en herstel na noodgevallen maken

implementeren in Azure
Met deze sjabloon kunt u herstel na noodgevallen voor sitereplicatie van virtuele Azure-machines maken.
Nieuwe ANF-resource maken met SMB-volume

implementeren in Azure
Met deze sjabloon kunt u een nieuwe Azure NetApp Files-resource maken met één capaciteitspool en één volume dat is geconfigureerd met het SMB-protocol.
Sandbox maken van Azure Firewall, client-VM en server-VM

implementeren in Azure
Met deze sjabloon maakt u een virtueel netwerk met twee subnetten (serversubnet en AzureFirewall-subnet), een server-VM, een client-VM, een openbaar IP-adres voor elke VIRTUELE machine en een routetabel voor het verzenden van verkeer tussen VM's via de firewall.
maakt een privé-eindpuntresource voor meerdere tenants

implementeren in Azure
Met deze sjabloon kunt u een Priavate-eindpuntresource maken binnen dezelfde of meerdere tenantomgevingen en dns-zoneconfiguratie toevoegen.
MAAKT AVD met Microsoft Entra ID Join

implementeren in Azure
Met deze sjabloon kunt u Azure Virtual Desktop-resources maken, zoals hostgroep, toepassingsgroep, werkruimte, een host voor een testsessie en de extensies ervan met Microsoft Entra ID-deelname
Een hub- en spoke-topologie-sandbox implementeren

implementeren in Azure
Met deze sjabloon maakt u een eenvoudige hub-and-spoke-topologie. Er wordt een hub-VNet gemaakt met subnetten DMZ, Beheer, Gedeelde en Gateway (optioneel), met twee spoke-VNets (ontwikkeling en productie) die elk een workloadsubnet bevatten. Er wordt ook een Windows-Jump-Host geïmplementeerd in het beheersubnet van de HUB en worden VNet-peerings tussen de hub en de twee spokes tot stand brengen.
Een eenvoudige Windows-VM implementeren met tags

implementeren in Azure
Met deze sjabloon wordt een D2_v3 Windows-VM, NIC, opslagaccount, virtueel netwerk, openbaar IP-adres en netwerkbeveiligingsgroep geïmplementeerd. Het tagobject wordt gemaakt in de variabelen en wordt toegepast op alle resources, indien van toepassing.
Azure Database for MySQL implementeren met VNet-

implementeren in Azure
Deze sjabloon biedt een manier om een Azure-database voor MySQL te implementeren met VNet-integratie.
Azure Database for PostgreSQL (flexibel) implementeren met VNet-

implementeren in Azure
Deze sjabloon biedt een manier om een Azure-database voor Flexibele server voor PostgreSQL te implementeren met VNet-integratie.
Azure Database for PostgreSQL implementeren met VNet-

implementeren in Azure
Deze sjabloon biedt een manier om een Azure-database voor PostgreSQL te implementeren met VNet-integratie.
Azure Database Migration Service (DMS) implementeren

implementeren in Azure
Azure Database Migration Service is een volledig beheerde service die is ontworpen om naadloze migraties van meerdere databasebronnen naar Azure-gegevensplatformen mogelijk te maken met minimale downtime (onlinemigraties).
Darktrace Autoscaling vSensors implementeren

implementeren in Azure
Met deze sjabloon kunt u een automatisch schalende implementatie van Darktrace vSensors implementeren
MySQL Flexibele server implementeren met privé-eindpunt

implementeren in Azure
Deze sjabloon biedt een manier om een Flexibele Azure Database for MySQL-server te implementeren met een privé-eindpunt.
MySQL Flexible Server implementeren met Vnet Integration

implementeren in Azure
Deze sjabloon biedt een manier om een Azure-database voor MySQL Flexible Server te implementeren met VNet-integratie.
eShop-website met ILB ASE-

implementeren in Azure
Een App Service Environment is een Premium-serviceplanoptie van Azure App Service die een volledig geïsoleerde en toegewezen omgeving biedt voor het veilig uitvoeren van Azure App Service-apps op grote schaal, waaronder Web Apps, Mobile Apps en API-apps.
GitLab Omnibus-

implementeren in Azure
Deze sjabloon vereenvoudigt de implementatie van GitLab Omnibus op een virtuele machine met een openbare DNS, waarbij gebruik wordt gemaakt van de DNS van het openbare IP-adres. Het maakt gebruik van de Standard_F8s_v2 instantiegrootte, die overeenkomt met referentiearchitectuur en ondersteunt maximaal 1000 gebruikers (20 RPS). Het exemplaar is vooraf geconfigureerd voor het gebruik van HTTPS met een Let's Encrypt-certificaat voor beveiligde verbindingen.
GPU-VM met OBS-Studio, Skype MS-Teams voor gebeurtenisstreaming

implementeren in Azure
Met deze sjabloon maakt u een GPU-VM met OBS-Studio, Skype MS-Teams voor gebeurtenisstreaming. Hiermee maakt u de VIRTUELE machine in een nieuw vnet, opslagaccount, nic en openbaar IP-adres met de nieuwe rekenstack. Alle installatieprocessen op basis van Chocolately Package Manager
JMeter-omgeving voor Elasticsearch-

implementeren in Azure
Met deze sjabloon wordt een JMeter-omgeving geïmplementeerd in een bestaand virtueel netwerk. Eén hoofdknooppunt en meerdere onderliggende knooppunten worden geïmplementeerd in een nieuw jmeter-subnet. Deze sjabloon werkt in combinatie met de quickstartsjabloon Elasticsearch.
VNS3-netwerkapparaat met meerdere clients

implementeren in Azure
VNS3 is een alleen virtueel softwareapparaat dat de gecombineerde functies en functies van een beveiligingsapparaat, Application Delivery Controller en Unified Threat Management-apparaat aan de rand van de cloudtoepassing biedt. Belangrijke voordelen, bovenop cloudnetwerken, Always On-end-to-end-versleuteling, Federatieve datacentra, cloudregio's, cloudproviders en/of containers, het maken van één geïntegreerde adresruimte, Attestable-controle over versleutelingssleutels, Meshed-netwerk beheerbaar op schaal, betrouwbare ha in de cloud, gevoelige toepassingen isoleren (snelle netwerksegmentatie tegen lage kosten), segmentatie binnen toepassingen, analyse van alle gegevens die in beweging zijn in de cloud. Belangrijke netwerkfuncties; virtuele router, switch, firewall, vpn-concentrator, multicast-distributeur, met invoegtoepassingen voor WAF, NIDS, Caching, Proxy Load Balancers en andere layer 4thru 7-netwerkfuncties, VNS3 vereist geen nieuwe kennis of training om te implementeren, zodat u kunt integreren met bestaande netwerkapparatuur.
voorbeeld van privé-eindpunt

implementeren in Azure
Deze sjabloon laat zien hoe u een privé-eindpunt maakt dat verwijst naar Azure SQL Server
beveiligde virtuele hubs

implementeren in Azure
Met deze sjabloon maakt u een beveiligde virtuele hub met behulp van Azure Firewall om uw cloudnetwerkverkeer te beveiligen dat is bestemd voor internet.
SharePoint Subscription / 2019 / 2016 volledig geconfigureerd

implementeren in Azure
Maak een DC, een SQL Server 2022 en van 1 tot 5 server(s) die een SharePoint-abonnement / 2019 / 2016-farm hosten met een uitgebreide configuratie, inclusief vertrouwde authenticatie, gebruikersprofielen met persoonlijke sites, een OAuth-vertrouwensrelatie (met behulp van een certificaat), een speciale IIS-site voor het hosten van high-trust invoegtoepassingen, enz... De nieuwste versie van de belangrijkste software (inclusief Fiddler, vscode, np++, 7zip, ULS Viewer) is geïnstalleerd. SharePoint-machines hebben extra finetuning om ze onmiddellijk bruikbaar te maken (tools voor beheer op afstand, aangepast beleid voor Edge en Chrome, snelkoppelingen, enz...).
Standard Load Balancer met back-endpool op IP-adressen

implementeren in Azure
Deze sjabloon wordt gebruikt om te laten zien hoe ARM-sjablonen kunnen worden gebruikt voor het configureren van de back-endpool van een Load Balancer per IP-adres, zoals wordt beschreven in het beheer van back-endpools document.
Virtual Network NAT met VM-

implementeren in Azure
Een NAT-gateway en virtuele machine implementeren
VNS3-netwerkapparaat voor cloudconnectiviteit en -beveiliging

implementeren in Azure
VNS3 is een alleen virtueel software-apparaat dat de gecombineerde functies en functies van een beveiligingsapparaat, application delivery controller en unified threat management-apparaat aan de rand van de cloudtoepassing biedt. Belangrijke voordelen, boven op cloudnetwerken, altijd aan het einde van versleuteling, federatieve datacentra, cloudregio's, cloudproviders en/of containers, het maken van één geïntegreerde adresruimte, attestable controle over versleutelingssleutels, beheerbaar netwerk op schaal, betrouwbare hoge beschikbaarheid in de cloud, isoleren van gevoelige toepassingen (snelle netwerksegmentatie tegen lage kosten), segmentatie binnen toepassingen, analyse van alle gegevens die in beweging zijn in de cloud. Belangrijke netwerkfuncties; virtuele router, switch, firewall, vpn-concentrator, multicast-distributeur, met invoegtoepassingen voor WAF, NIDS, caching, proxy, load balancers en andere netwerkfuncties van laag 4 tot en met 7, VNS3 vereist geen nieuwe kennis of training om te implementeren, zodat u kunt integreren met bestaande netwerkapparatuur.
web-app met privé-eindpunt

implementeren in Azure
Met deze sjabloon kunt u een web-app maken en deze beschikbaar maken via een privé-eindpunt

Resourcedefinitie van Terraform (AzAPI-provider)

Het resourcetype virtualNetworks/subnetten kan worden geïmplementeerd met bewerkingen die zijn gericht op:

  • Resourcegroepen

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een resource voor Microsoft.Network/virtualNetworks/subnetten wilt maken, voegt u de volgende Terraform toe aan uw sjabloon.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/virtualNetworks/subnets@2025-05-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      addressPrefix = "string"
      addressPrefixes = [
        "string"
      ]
      applicationGatewayIPConfigurations = [
        {
          id = "string"
          name = "string"
          properties = {
            subnet = {
              id = "string"
            }
          }
        }
      ]
      defaultOutboundAccess = bool
      delegations = [
        {
          id = "string"
          name = "string"
          properties = {
            serviceName = "string"
          }
          type = "string"
        }
      ]
      ipAllocations = [
        {
          id = "string"
        }
      ]
      ipamPoolPrefixAllocations = [
        {
          numberOfIpAddresses = "string"
          pool = {
            id = "string"
          }
        }
      ]
      natGateway = {
        id = "string"
      }
      networkSecurityGroup = {
        id = "string"
        location = "string"
        properties = {
          flushConnection = bool
          securityRules = [
            {
              id = "string"
              name = "string"
              properties = {
                access = "string"
                description = "string"
                destinationAddressPrefix = "string"
                destinationAddressPrefixes = [
                  "string"
                ]
                destinationApplicationSecurityGroups = [
                  {
                    id = "string"
                    location = "string"
                    properties = {
                    }
                    tags = {
                      {customized property} = "string"
                    }
                  }
                ]
                destinationPortRange = "string"
                destinationPortRanges = [
                  "string"
                ]
                direction = "string"
                priority = int
                protocol = "string"
                sourceAddressPrefix = "string"
                sourceAddressPrefixes = [
                  "string"
                ]
                sourceApplicationSecurityGroups = [
                  {
                    id = "string"
                    location = "string"
                    properties = {
                    }
                    tags = {
                      {customized property} = "string"
                    }
                  }
                ]
                sourcePortRange = "string"
                sourcePortRanges = [
                  "string"
                ]
              }
              type = "string"
            }
          ]
        }
        tags = {
          {customized property} = "string"
        }
      }
      privateEndpointNetworkPolicies = "string"
      privateLinkServiceNetworkPolicies = "string"
      routeTable = {
        id = "string"
        location = "string"
        properties = {
          disableBgpRoutePropagation = bool
          routes = [
            {
              id = "string"
              name = "string"
              properties = {
                addressPrefix = "string"
                nextHopIpAddress = "string"
                nextHopType = "string"
              }
              type = "string"
            }
          ]
        }
        tags = {
          {customized property} = "string"
        }
      }
      serviceEndpointPolicies = [
        {
          id = "string"
          location = "string"
          properties = {
            contextualServiceEndpointPolicies = [
              "string"
            ]
            serviceAlias = "string"
            serviceEndpointPolicyDefinitions = [
              {
                id = "string"
                name = "string"
                properties = {
                  description = "string"
                  service = "string"
                  serviceResources = [
                    "string"
                  ]
                }
                type = "string"
              }
            ]
          }
          tags = {
            {customized property} = "string"
          }
        }
      ]
      serviceEndpoints = [
        {
          locations = [
            "string"
          ]
          networkIdentifier = {
            id = "string"
          }
          service = "string"
        }
      ]
      serviceGateway = {
        id = "string"
      }
      sharingScope = "string"
    }
  }
}

Eigenschapswaarden

Microsoft.Network/virtualNetworks/subnetten

Naam Beschrijving Waarde
naam De resourcenaam tekenreeks (vereist)
ouder_id De id van de resource die het bovenliggende item voor deze resource is. Id voor resource van het type: virtualNetworks-
Eigenschappen Eigenschappen van het subnet. SubnetEigenschappenOpmaak
soort Het resourcetype "Microsoft.Network/virtualNetworks/subnets@2025-05-01"

ApplicationGatewayIPConfiguratie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam Naam van de IP-configuratie die uniek is binnen een Application Gateway. snaar
Eigenschappen Eigenschappen van de IP-configuratie van de toepassingsgateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Naam Beschrijving Waarde
Subnet Verwijzing naar de subnetresource. Een subnet van waaruit de toepassingsgateway het privéadres ophaalt. SubResource-

ApplicationSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de toepassingsbeveiligingsgroep. ApplicationSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

ApplicationSecurityGroupPropertiesFormat

Naam Beschrijving Waarde

Delegatie

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een subnet. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van het subnet. ServiceDelegationPropertiesFormat
soort Resourcetype. snaar

IpamPoolPrefixToewijzing

Naam Beschrijving Waarde
aantalIpAdressen Aantal IP-adressen dat moet worden toegewezen. snaar
poel IpamPoolPrefixAllocationPool

IpamPoolPrefixAllocationPool

Naam Beschrijving Waarde
legitimatiebewijs Resource-id van de bijbehorende Azure IpamPool-resource. snaar

NetwerkSecurityGroep

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de netwerkbeveiligingsgroep. NetworkSecurityGroupPropertiesFormat
Tags Resourcetags. ResourceTags-

NetworkSecurityGroupPropertiesFormat

Naam Beschrijving Waarde
flushAansluiting Wanneer deze optie is ingeschakeld, worden stromen die zijn gemaakt op basis van netwerkbeveiligingsgroepverbindingen opnieuw geëvalueerd wanneer regels worden bijgewerkt. Bij initiële activering wordt een nieuwe evaluatie geactiveerd. Bool
veiligheidsregels Een verzameling beveiligingsregels van de netwerkbeveiligingsgroep. Veiligheidsregel

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Bron Tags

Naam Beschrijving Waarde

Route

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de route. RouteEigenschappenOpmaak
soort Het type resource. snaar

RouteEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel De doel-CIDR waarop de route van toepassing is. snaar
volgendeHopIpAdres De IP-adrespakketten moeten worden doorgestuurd naar. Volgende hopwaarden zijn alleen toegestaan in routes waarbij het volgende hoptype VirtualAppliance is. snaar
volgendeHopType Het type Azure-hop waar het pakket naartoe moet worden verzonden. 'Internet'
'Geen'
VirtualAppliance
'Virtuele NetwerkGateway'
VnetLocal (vereist)

RouteTabel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van de routetabel. RouteTablePropertiesFormat
Tags Resourcetags. ResourceTags-

RouteTablePropertiesFormat

Naam Beschrijving Waarde
disableBgpRoutePropagation Hiermee wordt aangegeven of de routes die door BGP in die routetabel zijn geleerd, moeten worden uitgeschakeld. Waar betekent uitschakelen. Bool
Routes Verzameling routes in een routetabel. Route[]

Veiligheidsregel

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beveiligingsregel. SecurityRulePropertiesFormat
soort Het type resource. snaar

SecurityRulePropertiesFormat

Naam Beschrijving Waarde
toegang Het netwerkverkeer is toegestaan of geweigerd. 'Toestaan'
'Weigeren' (vereist)
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
destinationAddressPrefix Het voorvoegsel van het doeladres. CIDR of doel-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. snaar
destinationAddressPrefixes De voorvoegsels van het doeladres. CIDR- of doel-IP-bereiken. tekenreeks[]
destinationApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bestemming. ApplicationSecurityGroup
bestemmingPortRange De doelpoort of het doelbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
bestemmingPortRanges De doelpoortbereiken. tekenreeks[]
richting De richting van de regel. De richting geeft aan of de regel wordt geëvalueerd voor binnenkomend of uitgaand verkeer. 'Inkomend'
Uitgaand (vereist)
voorrang De prioriteit van de regel. De waarde kan tussen 100 en 4096 zijn. Het prioriteitsnummer moet uniek zijn voor elke regel in de verzameling. Hoe lager het prioriteitsnummer, hoe hoger de prioriteit van de regel. int (vereist)
protocol Netwerkprotocol waarop deze regel van toepassing is. '*'
'Ah'
'Esp'
'Icmp'
'TCP'
Udp (vereist)
bronAdresVoorvoegsel Het CIDR- of bron-IP-bereik. Het sterretje *kan ook worden gebruikt om alle bron-IP-adressen te vinden. Standaardtags zoals VirtualNetwork, AzureLoadBalancer en Internet kunnen ook worden gebruikt. Als dit een regel voor inkomend verkeer is, geeft u aan waar netwerkverkeer vandaan komt. snaar
bronAdresVoorvoegsels De CIDR- of bron-IP-bereiken. tekenreeks[]
bronApplicationSecurityGroups De toepassingsbeveiligingsgroep die is opgegeven als bron. ApplicationSecurityGroup
bronPortRange De bronpoort of het bronbereik. Geheel getal of bereik tussen 0 en 65535. Het sterretje *kan ook worden gebruikt om alle poorten te vinden. snaar
sourcePortRanges De bronpoortbereiken. tekenreeks[]

ServiceDelegationPropertiesFormat

Naam Beschrijving Waarde
servicenaam De naam van de service aan wie het subnet moet worden gedelegeerd (bijvoorbeeld Microsoft.Sql/servers). snaar

ServiceEndpointPolicy

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
plaats Resourcelocatie. snaar
Eigenschappen Eigenschappen van het beleid voor serviceeindpunten. ServiceEndpointPolicyPropertiesFormat
Tags Resourcetags. ResourceTags-

ServiceEndpointPolicyDefinition

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar
naam De naam van de resource die uniek is binnen een resourcegroep. Deze naam kan worden gebruikt voor toegang tot de resource. snaar
Eigenschappen Eigenschappen van de beleidsdefinitie voor service-eindpunten. ServiceEndpointPolicyDefinitionPropertiesFormat
soort Het type resource. snaar

ServiceEndpointPolicyDefinitionPropertiesFormat

Naam Beschrijving Waarde
beschrijving Een beschrijving voor deze regel. Beperkt tot 140 tekens. snaar
dienst Naam van service-eindpunt. snaar
Hulpmiddelen Een lijst met servicebronnen. tekenreeks[]

ServiceEndpointPolicyPropertiesFormat

Naam Beschrijving Waarde
contextualServiceEndpointPolicies Een verzameling contextueel service-eindpuntbeleid. tekenreeks[]
dienstAlias De alias die aangeeft of het beleid deel uitmaakt van een service snaar
serviceEndpointPolicyDefinitions Een verzameling beleidsdefinities voor service-eindpunten van het beleid voor service-eindpunten. ServiceEndpointPolicyDefinition

ServiceEndpointPropertiesIndeling

Naam Beschrijving Waarde
Locaties Een lijst met locaties. tekenreeks[]
netwerk-ID SubResource als netwerk-id. SubResource-
dienst Het type eindpuntservice. snaar

SubnetEigenschappenOpmaak

Naam Beschrijving Waarde
adresVoorvoegsel Het adresvoorvoegsel voor het subnet. snaar
adresVoorvoegsels Lijst met adresvoorvoegsels voor het subnet. tekenreeks[]
applicationGatewayIPConfiguraties IP-configuraties van toepassingsgateway van virtuele netwerkresources. ApplicationGatewayIPConfiguratie
standaardOutboundAccess Stel deze eigenschap in op false om de standaard uitgaande connectiviteit voor alle VM's in het subnet uit te schakelen. Bool
Delegaties Een matrix met verwijzingen naar de delegaties in het subnet. delegering[]
ipToewijzingen Matrix van IpAllocation die naar dit subnet verwijst. Subbron
ipamPoolPrefixToewijzingen Een lijst met IPAM-pools voor het toewijzen van IP-adresvoorvoegsels. IpamPoolPrefixAlallocation
natGateway Nat-gateway die is gekoppeld aan dit subnet. SubResource-
netwerkSecurityGroep De verwijzing naar de NetworkSecurityGroup-resource. NetworkSecurityGroup-
privateEndpointNetworkPolicies Netwerkbeleid op privé-eindpunt in- of uitschakelen in of uitschakelen in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
'NetworkSecurityGroupEnabled'
'RouteTableIngeschakeld'
privateLinkServiceNetworkPolicies Netwerkbeleid in- of uitschakelen voor de private link-service in het subnet. 'Uitgeschakeld'
'Ingeschakeld'
routeTabel De verwijzing naar de RouteTable-resource. RouteTable-
service-eindpuntbeleid Een matrix met beleidsregels voor service-eindpunten. ServiceEndpointPolicy
serviceEindpunten Een matrix met service-eindpunten. ServiceEndpointPropertiesFormat
serviceGateway Verwijs naar een bestaande servicegateway. SubResource-
delen Reikwijdte Stel deze eigenschap in op Tenant om het delen van subnet met andere abonnementen in uw AAD-tenant toe te staan. Deze eigenschap kan alleen worden ingesteld als defaultOutboundAccess is ingesteld op false, beide eigenschappen kunnen alleen worden ingesteld als het subnet leeg is. "Gedelegeerde diensten"
'Huurder'

Subbron

Naam Beschrijving Waarde
legitimatiebewijs Resource-id. snaar

Gebruiksvoorbeelden

Terraform-monsters

Een eenvoudig voorbeeld van het implementeren van subnetten die netwerksegmenten vertegenwoordigen binnen de IP-ruimte die door het virtuele netwerk is gedefinieerd.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = [
          "10.0.0.0/16",
        ]
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  lifecycle {
    ignore_changes = [body.properties.subnets]
  }
}

resource "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2022-07-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = var.resource_name
  body = {
    properties = {
      addressPrefix = "10.0.2.0/24"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Een withipampool-voorbeeld van het implementeren van subnetten die netwerksegmenten vertegenwoordigen binnen de IP-ruimte die door het virtuele netwerk is gedefinieerd.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    time = {
      source = "Hashicorp/time"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

data "azapi_client_config" "current" {}

resource "azapi_resource" "networkManager" {
  type      = "Microsoft.Network/networkManagers@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      description                 = ""
      networkManagerScopeAccesses = []
      networkManagerScopes = {
        managementGroups = []
        subscriptions = [
          "/subscriptions/${data.azapi_client_config.current.subscription_id}"
        ]
      }
    }
  }
  tags = {
    "sampleTag" : "sampleTag"
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "time_sleep" "wait_60_seconds" {
  depends_on = [azapi_resource.networkManager]

  destroy_duration = "60s"
}

resource "azapi_resource" "ipamPool" {
  type      = "Microsoft.Network/networkManagers/ipamPools@2024-05-01"
  parent_id = azapi_resource.networkManager.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      addressPrefixes = [
        "10.0.0.0/24",
      ]
      description    = "Test description."
      parentPoolName = ""
      displayName    = "testDisplayName"
    }
  }
  tags = {
    "myTag" : "testTag"
  }
  schema_validation_enabled = false
  ignore_casing             = false
  ignore_missing_property   = false

  depends_on = [time_sleep.wait_60_seconds]
}

resource "azapi_resource" "vnet_withIPAM" {
  type      = "Microsoft.Network/virtualNetworks@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        ipamPoolPrefixAllocations = [
          {
            numberOfIpAddresses = "100",
            pool = {
              id = azapi_resource.ipamPool.id
            }
          }
        ]
      }
    }
  }
  lifecycle {
    ignore_changes = [body.properties.subnets]
  }
  schema_validation_enabled = false
  ignore_casing             = false
  ignore_missing_property   = false
}

resource "azapi_resource" "subnet_withIPAM" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2024-05-01"
  parent_id = azapi_resource.vnet_withIPAM.id
  name      = var.resource_name
  body = {
    properties = {
      ipamPoolPrefixAllocations = [
        {
          numberOfIpAddresses = "100",
          pool = {
            id = azapi_resource.ipamPool.id
          }
        }
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}