{"id":8999,"date":"2025-10-11T04:37:17","date_gmt":"2025-10-11T04:37:17","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=8999"},"modified":"2025-10-11T04:37:17","modified_gmt":"2025-10-11T04:37:17","slug":"%e3%80%90azure-bicep%e3%80%91logic-apps-x-privateendpoint%e3%82%92bicep%e3%81%8b%e3%82%89%e3%83%87%e3%83%97%e3%83%ad%e3%82%a4%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/8999\/","title":{"rendered":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"\n<\/p>\n<div>\n<p data-line=\"1\" class=\"code-line\">\u4e0b\u8a18\u306e\u69cb\u6210\u3067Logic Apps\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3002<br \/>\u203b\u4e0b\u8a18\u306eBicep\u3067\u306f\u3001Subnet\u3068NSG\u3092\u4f59\u5206\u306b\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u524a\u3063\u3066\u304f\u3060\u3055\u3044\u3002<br \/><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/zenn-user-upload\/a8cb5273bd06-20251011.png\" class=\"md-img\" loading=\"lazy\"\/><br \/>\u203bStorageAccount\u306f\u8a3a\u65ad\u8a2d\u5b9a\u306b\u7528\u3044\u3089\u308c\u308b\u3082\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u8a3a\u65ad\u8a2d\u5b9a\u306f\u9664\u3044\u3066\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002<br \/>\u2193 \u672c\u6765\u306e\u60f3\u5b9a<br \/><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/zenn-user-upload\/595662d92b22-20251011.png\" class=\"md-img\" loading=\"lazy\"\/><\/p>\n<h2 id=\"logic-apps%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6\" data-line=\"7\" class=\"code-line\">\n Logic Apps\u306b\u3064\u3044\u3066<\/h2>\n<p data-line=\"8\" class=\"code-line\"><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/zenn-user-upload\/2fdaf386befd-20251011.png\" class=\"md-img\" loading=\"lazy\"\/><br \/>\u4eca\u56de\u306fStandard\u30d7\u30e9\u30f3\u306eWS1\u3067\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002PrivateEndpoint\u3092\u4ed8\u3051\u3066\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u306b\u306fLogic Apps\u306fStandard\u30d7\u30e9\u30f3(\u30ef\u30fc\u30af\u30d5\u30ed\u30fc or App Service Environment)\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p data-line=\"11\" class=\"code-line\">\u307e\u305f\u3001Logic Apps\u3068PrivateEndpoint\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u5834\u5408\u3001AppServicePlan\u306e\u30c7\u30d7\u30ed\u30a4\u3082\u5fc5\u8981\u3067\u3059\u3002\u5f93\u91cf\u8ab2\u91d1\u30d7\u30e9\u30f3\u3067\u306fMicrosoft\u304c\u30db\u30b9\u30c8\u3059\u308b\u305f\u3081\u3001AppServicePlan\u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002Standard\u30d7\u30e9\u30f3\u3067\u306f\u56fa\u5b9a\u306e\u652f\u6255\u3044\u3068\u306a\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30db\u30b9\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3001AppServicePlan\u306e\u69cb\u7bc9\u304c\u5fc5\u8981\u3067\u3059\u3002<br style=\"display:none\"\/><br \/>\n<span class=\"embed-block zenn-embedded zenn-embedded-card\"><iframe id=\"zenn-embedded__35bd8de307ab9\" src=\"https:\/\/embed.zenn.studio\/card#zenn-embedded__35bd8de307ab9\" data-content=\"https%3A%2F%2Fzenn.dev%2Fheadwaters%2Farticles%2F2aa981ac24fd0a\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"><\/iframe><\/span><a target=\"_blank\" href=\"https:\/\/zenn.dev\/headwaters\/articles\/2aa981ac24fd0a\" style=\"display:none\" target=\"_blank\">https:\/\/zenn.dev\/headwaters\/articles\/2aa981ac24fd0a<\/a><\/p>\n<h2 id=\"%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%A7%8B%E6%88%90\" data-line=\"13\" class=\"code-line\">\n \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210<\/h2>\n<div class=\"code-block-container\">\n<pre><code class=\"code-line\" data-line=\"14\">bicep-project\/\n\u251c\u2500\u2500 deployments\/\n\u2502   \u251c\u2500\u2500 main.bicep\n\u2502   \u2514\u2500\u2500 rg.bicep\n\u2514\u2500\u2500 modules\/\n     \u251c\u2500\u2500 resourceGroup.bicep\n     \u251c\u2500\u2500 vnet.bicep\n     \u251c\u2500\u2500 NSG.bicep\n     \u251c\u2500\u2500 logicapps.bicep\n     \u251c\u2500\u2500 appserviceplan.bicep\n     \u251c\u2500\u2500 blobstorage.bicep\n     \u2514\u2500\u2500 privateEndpoint.bicep\n<\/code><\/pre>\n<\/div>\n<h2 id=\"bicep\" data-line=\"29\" class=\"code-line\">\n Bicep<\/h2>\n<details>\n<summary>rg.bicep\/resourceGroup.bicep<\/summary>\n<div class=\"details-content\">\n<h3 id=\"rg.bicep\" data-line=\"31\" class=\"code-line\">\n rg.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"33\"><span class=\"token keyword\">targetScope<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'subscription'<\/span>\n<span class=\"token keyword\">param<\/span> rgName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'myProjectRG'<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'japanwest'<\/span>\n\n<span class=\"token keyword\">var<\/span> tags <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">Environment<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'dev'<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">module<\/span> rgModule <span class=\"token string\">'..\/modules\/resourceGroup.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'resourceGroup'<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">rgName<\/span><span class=\"token operator\">:<\/span> rgName\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<h3 id=\"resourcegroup.bicep\" data-line=\"52\" class=\"code-line\">\n resourceGroup.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"54\"><span class=\"token keyword\">targetScope<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'subscription'<\/span>\n<span class=\"token keyword\">param<\/span> rgName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n\n<span class=\"token keyword\">resource<\/span> RG <span class=\"token string\">'Microsoft.Resources\/resourceGroups@2022-09-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> rgName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">output<\/span> rgName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> RG<span class=\"token punctuation\">.<\/span>name\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<details>\n<summary>vnet.bicep<\/summary>\n<div class=\"details-content\">\n<h3 id=\"vnet.bicep\" data-line=\"70\" class=\"code-line\">\n vnet.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"72\"><span class=\"token keyword\">param<\/span> vnetName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n<span class=\"token keyword\">param<\/span> vnetAddressPrefix <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> subnets <span class=\"token datatype class-name\">array<\/span>\n\n<span class=\"token keyword\">resource<\/span> vnet <span class=\"token string\">'Microsoft.Network\/virtualNetworks@2023-05-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> vnetName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">addressSpace<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">addressPrefixes<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n        vnetAddressPrefix\n      <span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">subnets<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n      <span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>subnet<span class=\"token punctuation\">,<\/span> index<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">in<\/span> subnets<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> subnet<span class=\"token punctuation\">.<\/span>name\n        <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">union<\/span><span class=\"token punctuation\">(<\/span>\n          <span class=\"token punctuation\">{<\/span>\n            <span class=\"token property\">addressPrefix<\/span><span class=\"token operator\">:<\/span> subnet<span class=\"token punctuation\">.<\/span>addressPrefix\n            <span class=\"token property\">privateEndpointNetworkPolicies<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Enabled'<\/span>\n            <span class=\"token property\">networkSecurityGroup<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n              <span class=\"token property\">id<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceId<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'Microsoft.Network\/networkSecurityGroups'<\/span><span class=\"token punctuation\">,<\/span> subnet<span class=\"token punctuation\">.<\/span>nsgName<span class=\"token punctuation\">)<\/span>\n            <span class=\"token punctuation\">}<\/span>\n          <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n          index <span class=\"token operator\">==<\/span> <span class=\"token number\">2<\/span>\n            <span class=\"token operator\">?<\/span> <span class=\"token punctuation\">{<\/span>\n                <span class=\"token property\">delegations<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n                  <span class=\"token punctuation\">{<\/span>\n                    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'delegation'<\/span>\n                    <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n                      <span class=\"token property\">serviceName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Microsoft.Web\/serverFarms'<\/span>\n                    <span class=\"token punctuation\">}<\/span>\n                  <span class=\"token punctuation\">}<\/span>\n                <span class=\"token punctuation\">]<\/span>\n              <span class=\"token punctuation\">}<\/span>\n            <span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">)<\/span>\n      <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">]<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">output<\/span> vnetId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> vnetName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>name\n<span class=\"token keyword\">output<\/span> agwsubnetId01 <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>properties<span class=\"token punctuation\">.<\/span>subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> pesubnetId01 <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>properties<span class=\"token punctuation\">.<\/span>subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> vnetIntegrationSubnetId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>properties<span class=\"token punctuation\">.<\/span>subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> pesubnetId02 <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> vnet<span class=\"token punctuation\">.<\/span>properties<span class=\"token punctuation\">.<\/span>subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<details>\n<summary>NSG.bicep<\/summary>\n<div class=\"details-content\">\n<h3 id=\"nsg.bicep\" data-line=\"127\" class=\"code-line\">\n NSG.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"129\"><span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'japanwest'<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">environment<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample'<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">param<\/span> subnets <span class=\"token datatype class-name\">array<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'subnet-app'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'nsg-app'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'subnet-pe'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'nsg-pe'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">]<\/span>\n\n<span class=\"token keyword\">var<\/span> nsgRules <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>nsgName<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">'<\/span><\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AllowAppSubnetInbound'<\/span>\n      <span class=\"token property\">priority<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">100<\/span>\n      <span class=\"token property\">direction<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Inbound'<\/span>\n      <span class=\"token property\">access<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Allow'<\/span>\n      <span class=\"token property\">protocol<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourcePortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationPortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourceAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.0.0\/24'<\/span> \n      <span class=\"token property\">destinationAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'DenyAllOutbound'<\/span>\n      <span class=\"token property\">priority<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">4096<\/span>\n      <span class=\"token property\">direction<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Outbound'<\/span>\n      <span class=\"token property\">access<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Deny'<\/span>\n      <span class=\"token property\">protocol<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourcePortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationPortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourceAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">]<\/span>\n  <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">subnets<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>nsgName<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">'<\/span><\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AllowHttpsOutbound'<\/span>\n      <span class=\"token property\">priority<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">100<\/span>\n      <span class=\"token property\">direction<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Outbound'<\/span>\n      <span class=\"token property\">access<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Allow'<\/span>\n      <span class=\"token property\">protocol<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Tcp'<\/span>\n      <span class=\"token property\">sourcePortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationPortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'443'<\/span>\n      <span class=\"token property\">sourceAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Internet'<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'DenyAllOutbound'<\/span>\n      <span class=\"token property\">priority<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">4096<\/span>\n      <span class=\"token property\">direction<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Outbound'<\/span>\n      <span class=\"token property\">access<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Deny'<\/span>\n      <span class=\"token property\">protocol<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourcePortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationPortRange<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">sourceAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n      <span class=\"token property\">destinationAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'*'<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">resource<\/span> nsgs <span class=\"token string\">'Microsoft.Network\/networkSecurityGroups@2023-05-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span>\n  <span class=\"token keyword\">for<\/span> subnet <span class=\"token keyword\">in<\/span> subnets<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> subnet<span class=\"token punctuation\">.<\/span>nsgName\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">securityRules<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n        <span class=\"token keyword\">for<\/span> rule <span class=\"token keyword\">in<\/span> nsgRules<span class=\"token punctuation\">[<\/span>subnet<span class=\"token punctuation\">.<\/span>nsgName<span class=\"token punctuation\">]<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>name\n          <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n            <span class=\"token property\">priority<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>priority\n            <span class=\"token property\">direction<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>direction\n            <span class=\"token property\">access<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>access\n            <span class=\"token property\">protocol<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>protocol\n            <span class=\"token property\">sourcePortRange<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>sourcePortRange\n            <span class=\"token property\">destinationPortRange<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>destinationPortRange\n            <span class=\"token property\">sourceAddressPrefix<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>sourceAddressPrefix\n            <span class=\"token property\">destinationAddressPrefix<\/span><span class=\"token operator\">:<\/span> rule<span class=\"token punctuation\">.<\/span>destinationAddressPrefix\n          <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">}<\/span>\n      <span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">]<\/span>\n\n<span class=\"token keyword\">output<\/span> appNsgId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> nsgs<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> peNsgId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> nsgs<span class=\"token punctuation\">[<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<h3 id=\"main.bicep\" data-line=\"226\" class=\"code-line\">\n main.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"228\">\n<span class=\"token keyword\">targetScope<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'subscription'<\/span>\n<span class=\"token keyword\">param<\/span> rgName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'sampleRG'<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'japanwest'<\/span>\n<span class=\"token keyword\">param<\/span> environment <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'dev'<\/span>\n<span class=\"token keyword\">param<\/span> projectCode <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'sample'<\/span>\n\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">Environment<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'dev'<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">var<\/span> subnets <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-agw-subnet01'<\/span>\n    <span class=\"token property\">addressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.0.0\/24'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-agw-nsg01'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-pe-subnet01'<\/span>\n    <span class=\"token property\">addressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.1.0\/24'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-pe-nsg01'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-integration-subnet01'<\/span>\n    <span class=\"token property\">addressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.2.0\/24'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-integration-nsg01'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-pe-subnet02'<\/span>\n    <span class=\"token property\">addressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.3.0\/24'<\/span>\n    <span class=\"token property\">nsgName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sample-pe-nsg02'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">]<\/span>\n\n<span class=\"token keyword\">module<\/span> nsgModule <span class=\"token string\">'..\/modules\/NSG.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'NetworkSecurityGroup'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">subnets<\/span><span class=\"token operator\">:<\/span> subnets\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">module<\/span> vnetModule <span class=\"token string\">'..\/modules\/vnet.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'VirtualNetwork'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">vnetName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'sampleVnet01'<\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">vnetAddressPrefix<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'10.1.0.0\/16'<\/span>\n    <span class=\"token property\">subnets<\/span><span class=\"token operator\">:<\/span> subnets\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    nsgModule\n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">param<\/span> appPlanSku <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'WS1'<\/span>\n<span class=\"token keyword\">param<\/span> appPlanTier <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'WorkflowStandard'<\/span>\n\n<span class=\"token keyword\">module<\/span> appServicePlanModule <span class=\"token string\">'..\/modules\/appserviceplan.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AppsServicePlan'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">appServicePlanName<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">development<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">-<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">case<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">appplan001'<\/span><\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">appPlanSku<\/span><span class=\"token operator\">:<\/span> appPlanSku\n    <span class=\"token property\">appPlanTier<\/span><span class=\"token operator\">:<\/span> appPlanTier\n\n    \n    \n    \n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    \n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n\n<span class=\"token keyword\">param<\/span> logicAppStorageName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">toLower<\/span><span class=\"token punctuation\">(<\/span>development<span class=\"token punctuation\">)<\/span><\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">toLower<\/span><span class=\"token punctuation\">(<\/span>case<span class=\"token punctuation\">)<\/span><\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">logicst01'<\/span><\/span>\n\n<span class=\"token keyword\">module<\/span> logicAppStorage <span class=\"token string\">'..\/modules\/blobstorage.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'logicAppStorage'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">storageAccountName<\/span><span class=\"token operator\">:<\/span> logicAppStorageName\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">sku<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Standard_LRS'<\/span>\n    <span class=\"token property\">kind<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'StorageV2'<\/span>\n    <span class=\"token property\">accessTier<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Hot'<\/span>\n    <span class=\"token property\">publicNetworkAccess<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Enabled'<\/span>\n    <span class=\"token property\">supportsHttpsTrafficOnly<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n    <span class=\"token property\">minimumTlsVersion<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'TLS1_2'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">param<\/span> logicAppName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'son-logicapp001'<\/span>\n\n<span class=\"token keyword\">module<\/span> logicAppsModule <span class=\"token string\">'..\/modules\/logicapps.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'logicApps'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">logicAppName<\/span><span class=\"token operator\">:<\/span> logicAppName\n    <span class=\"token property\">appServicePlanId<\/span><span class=\"token operator\">:<\/span> appServicePlanModule<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>appServicePlanId\n    <span class=\"token property\">storageAccountName<\/span><span class=\"token operator\">:<\/span> logicAppStorage<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>storageAccountName\n    <span class=\"token property\">storageAccountId<\/span><span class=\"token operator\">:<\/span> logicAppStorage<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>storageAccountId\n    <span class=\"token property\">vnetIntegrationSubnetId<\/span><span class=\"token operator\">:<\/span> vnetModule<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>vnetIntegrationSubnetId\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    appServicePlanModule\n    vnetModule\n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">module<\/span> logicAppsPrivateEndpoint <span class=\"token string\">'..\/modules\/privateEndpoint.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'logicapps-pe'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">privateEndpointName<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">development<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">-<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">case<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">-logicapps-pe01'<\/span><\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">subnetId<\/span><span class=\"token operator\">:<\/span> vnetModule<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>pesubnetId01\n    <span class=\"token property\">targetResourceId<\/span><span class=\"token operator\">:<\/span> logicAppsModule<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>logicAppsId\n    <span class=\"token property\">groupIds<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">'sites'<\/span><span class=\"token punctuation\">]<\/span>\n    <span class=\"token property\">privateDnsZoneNames<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n      <span class=\"token string\">'privatelink.azurewebsites.net'<\/span>\n    <span class=\"token punctuation\">]<\/span>\n    <span class=\"token property\">vnetId<\/span><span class=\"token operator\">:<\/span> vnetModule<span class=\"token punctuation\">.<\/span>outputs<span class=\"token punctuation\">.<\/span>vnetId\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    vnetModule\n    logicAppsModule\n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<h3 id=\"logicapps.bicep\" data-line=\"374\" class=\"code-line\">\n logicapps.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"375\"><span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n<span class=\"token keyword\">param<\/span> logicAppName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> appServicePlanId <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> storageAccountName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> storageAccountId <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> vnetIntegrationSubnetId <span class=\"token datatype class-name\">string<\/span>\n\n\n<span class=\"token keyword\">resource<\/span> logicAppStandard <span class=\"token string\">'Microsoft.Web\/sites@2023-01-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> logicAppName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token property\">kind<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'functionapp,workflowapp'<\/span>\n  <span class=\"token property\">identity<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">type<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'SystemAssigned'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">serverFarmId<\/span><span class=\"token operator\">:<\/span> appServicePlanId\n    <span class=\"token property\">httpsOnly<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n    <span class=\"token property\">virtualNetworkSubnetId<\/span><span class=\"token operator\">:<\/span> vnetIntegrationSubnetId\n    <span class=\"token property\">siteConfig<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">netFrameworkVersion<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'v6.0'<\/span>\n      <span class=\"token property\">use32BitWorkerProcess<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n      <span class=\"token property\">alwaysOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n      <span class=\"token property\">vnetRouteAllEnabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n      <span class=\"token property\">appSettings<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AzureWebJobsStorage'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'DefaultEndpointsProtocol=https;AccountName=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">storageAccountName<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">;AccountKey=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">listKeys<\/span><span class=\"token punctuation\">(<\/span>storageAccountId<span class=\"token punctuation\">,<\/span> <span class=\"token string\">'2023-01-01'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>keys<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>value<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">;EndpointSuffix=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">environment<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>suffixes<span class=\"token punctuation\">.<\/span>storage<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">'<\/span><\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'DefaultEndpointsProtocol=https;AccountName=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">storageAccountName<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">;AccountKey=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">listKeys<\/span><span class=\"token punctuation\">(<\/span>storageAccountId<span class=\"token punctuation\">,<\/span> <span class=\"token string\">'2023-01-01'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>keys<span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>value<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">;EndpointSuffix=<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\"><span class=\"token function\">environment<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>suffixes<span class=\"token punctuation\">.<\/span>storage<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">'<\/span><\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'WEBSITE_CONTENTSHARE'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">toLower<\/span><span class=\"token punctuation\">(<\/span>logicAppName<span class=\"token punctuation\">)<\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'FUNCTIONS_EXTENSION_VERSION'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'~4'<\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'FUNCTIONS_WORKER_RUNTIME'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'node'<\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'APP_KIND'<\/span>\n          <span class=\"token property\">value<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'workflowApp'<\/span>\n        <span class=\"token punctuation\">}<\/span>\n      <span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">output<\/span> logicAppsId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> logicAppStandard<span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> logicAppsName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> logicAppStandard<span class=\"token punctuation\">.<\/span>name\n<span class=\"token keyword\">output<\/span> principalId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> logicAppStandard<span class=\"token punctuation\">.<\/span>identity<span class=\"token punctuation\">.<\/span>principalId\n<\/code><\/pre>\n<\/div>\n<h3 id=\"appserviceplan.bicep\" data-line=\"437\" class=\"code-line\">\n appserviceplan.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"438\"><span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n<span class=\"token keyword\">param<\/span> appServicePlanName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> appPlanSku <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> appPlanTier <span class=\"token datatype class-name\">string<\/span>\n\n\n\n<span class=\"token keyword\">resource<\/span> appServicePlan <span class=\"token string\">'Microsoft.Web\/serverfarms@2022-03-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> appServicePlanName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token property\">sku<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> appPlanSku\n    <span class=\"token property\">tier<\/span><span class=\"token operator\">:<\/span> appPlanTier\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">kind<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'linux'<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">reserved<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n    <span class=\"token property\">perSiteScaling<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n    <span class=\"token property\">maximumElasticWorkerCount<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<span class=\"token keyword\">output<\/span> appServicePlanId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> appServicePlan<span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> appServicePlanName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> appServicePlan<span class=\"token punctuation\">.<\/span>name\n\n<\/code><\/pre>\n<\/div>\n<h3 id=\"blobstorage.bicep\" data-line=\"488\" class=\"code-line\">\n blobstorage.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"489\"><span class=\"token keyword\">param<\/span> storageAccountName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n<span class=\"token keyword\">param<\/span> sku <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> kind <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> accessTier <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> publicNetworkAccess <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> supportsHttpsTrafficOnly <span class=\"token datatype class-name\">bool<\/span>\n<span class=\"token keyword\">param<\/span> minimumTlsVersion <span class=\"token datatype class-name\">string<\/span>\n\n\n<span class=\"token keyword\">resource<\/span> storageAccount <span class=\"token string\">'Microsoft.Storage\/storageAccounts@2023-01-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> storageAccountName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token property\">sku<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> sku\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">kind<\/span><span class=\"token operator\">:<\/span> kind\n  <span class=\"token property\">identity<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">type<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'SystemAssigned'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">accessTier<\/span><span class=\"token operator\">:<\/span> accessTier\n    <span class=\"token property\">publicNetworkAccess<\/span><span class=\"token operator\">:<\/span> publicNetworkAccess\n    <span class=\"token property\">supportsHttpsTrafficOnly<\/span><span class=\"token operator\">:<\/span> supportsHttpsTrafficOnly\n    <span class=\"token property\">minimumTlsVersion<\/span><span class=\"token operator\">:<\/span> minimumTlsVersion\n    <span class=\"token property\">allowBlobPublicAccess<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n    <span class=\"token property\">allowSharedKeyAccess<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n    <span class=\"token property\">networkAcls<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">defaultAction<\/span><span class=\"token operator\">:<\/span> publicNetworkAccess <span class=\"token operator\">==<\/span> <span class=\"token string\">'Enabled'<\/span> <span class=\"token operator\">?<\/span> <span class=\"token string\">'Allow'<\/span> <span class=\"token operator\">:<\/span> <span class=\"token string\">'Deny'<\/span>\n      <span class=\"token property\">bypass<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AzureServices'<\/span>\n      <span class=\"token property\">ipRules<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span>\n      <span class=\"token property\">virtualNetworkRules<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">encryption<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">services<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">blob<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n        <span class=\"token punctuation\">}<\/span>\n        <span class=\"token property\">file<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n        <span class=\"token punctuation\">}<\/span>\n      <span class=\"token punctuation\">}<\/span>\n      <span class=\"token property\">keySource<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'Microsoft.Storage'<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">resource<\/span> blobService <span class=\"token string\">'Microsoft.Storage\/storageAccounts\/blobServices@2023-01-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">parent<\/span><span class=\"token operator\">:<\/span> storageAccount\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'default'<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">cors<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">corsRules<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">deleteRetentionPolicy<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n      <span class=\"token property\">days<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">7<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">containerDeleteRetentionPolicy<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n      <span class=\"token property\">days<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">7<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">changeFeed<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">restorePolicy<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">enabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">isVersioningEnabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">resource<\/span> defaultContainer <span class=\"token string\">'Microsoft.Storage\/storageAccounts\/blobServices\/containers@2023-01-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">parent<\/span><span class=\"token operator\">:<\/span> blobService\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'default-container'<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">publicAccess<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'None'<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token keyword\">output<\/span> storageAccountId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> storageAccount<span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> storageAccountName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> storageAccount<span class=\"token punctuation\">.<\/span>name\n<span class=\"token keyword\">output<\/span> blobEndpoint <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> storageAccount<span class=\"token punctuation\">.<\/span>properties<span class=\"token punctuation\">.<\/span>primaryEndpoints<span class=\"token punctuation\">.<\/span>blob\n<span class=\"token keyword\">output<\/span> storageAccountPrincipalId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> storageAccount<span class=\"token punctuation\">.<\/span>identity<span class=\"token punctuation\">.<\/span>principalId\n<\/code><\/pre>\n<\/div>\n<h3 id=\"privateendpoint.bicep\" data-line=\"581\" class=\"code-line\">\n privateEndpoint.bicep<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"583\"><span class=\"token keyword\">param<\/span> privateEndpointName <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> location <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> tags <span class=\"token datatype class-name\">object<\/span>\n<span class=\"token keyword\">param<\/span> subnetId <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> targetResourceId <span class=\"token datatype class-name\">string<\/span>\n<span class=\"token keyword\">param<\/span> groupIds <span class=\"token datatype class-name\">array<\/span>\n<span class=\"token keyword\">param<\/span> privateDnsZoneNames <span class=\"token datatype class-name\">array<\/span>\n<span class=\"token keyword\">param<\/span> vnetId <span class=\"token datatype class-name\">string<\/span>\n\n<span class=\"token keyword\">resource<\/span> privateDnsZones <span class=\"token string\">'Microsoft.Network\/privateDnsZones@2020-06-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span>\n  <span class=\"token keyword\">for<\/span> zoneName <span class=\"token keyword\">in<\/span> privateDnsZoneNames<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> zoneName\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'global'<\/span>\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">]<\/span>\n\n<span class=\"token keyword\">resource<\/span> privateDnsZoneLinks <span class=\"token string\">'Microsoft.Network\/privateDnsZones\/virtualNetworkLinks@2020-06-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span>\n  <span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>zoneName<span class=\"token punctuation\">,<\/span> index<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">in<\/span> privateDnsZoneNames<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">parent<\/span><span class=\"token operator\">:<\/span> privateDnsZones<span class=\"token punctuation\">[<\/span>index<span class=\"token punctuation\">]<\/span>\n    <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'vnet-link-<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">index<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">'<\/span><\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'global'<\/span>\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">registrationEnabled<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">false<\/span>\n      <span class=\"token property\">virtualNetwork<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">id<\/span><span class=\"token operator\">:<\/span> vnetId\n      <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">}<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">]<\/span>\n\n<span class=\"token keyword\">resource<\/span> privateEndpoint <span class=\"token string\">'Microsoft.Network\/privateEndpoints@2023-05-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> privateEndpointName\n  <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n  <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">subnet<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n      <span class=\"token property\">id<\/span><span class=\"token operator\">:<\/span> subnetId\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token property\">privateLinkServiceConnections<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n      <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">privateEndpointName<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">-connection'<\/span><\/span>\n        <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">privateLinkServiceId<\/span><span class=\"token operator\">:<\/span> targetResourceId\n          <span class=\"token property\">groupIds<\/span><span class=\"token operator\">:<\/span> groupIds\n        <span class=\"token punctuation\">}<\/span>\n      <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">]<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">resource<\/span> privateDnsZoneGroup <span class=\"token string\">'Microsoft.Network\/privateEndpoints\/privateDnsZoneGroups@2023-05-01'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">parent<\/span><span class=\"token operator\">:<\/span> privateEndpoint\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'default'<\/span>\n  <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">privateDnsZoneConfigs<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n      <span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>zoneName<span class=\"token punctuation\">,<\/span> index<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">in<\/span> privateDnsZoneNames<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">replace<\/span><span class=\"token punctuation\">(<\/span>zoneName<span class=\"token punctuation\">,<\/span> <span class=\"token string\">'.'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">'-'<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token property\">properties<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n          <span class=\"token property\">privateDnsZoneId<\/span><span class=\"token operator\">:<\/span> privateDnsZones<span class=\"token punctuation\">[<\/span>index<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id\n        <span class=\"token punctuation\">}<\/span>\n      <span class=\"token punctuation\">}<\/span>\n    <span class=\"token punctuation\">]<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    privateDnsZoneLinks\n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token keyword\">output<\/span> privateEndpointId <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> privateEndpoint<span class=\"token punctuation\">.<\/span>id\n<span class=\"token keyword\">output<\/span> privateEndpointName <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> privateEndpoint<span class=\"token punctuation\">.<\/span>name\n<span class=\"token keyword\">output<\/span> privateDnsZoneIds <span class=\"token datatype class-name\">array<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>zoneName<span class=\"token punctuation\">,<\/span> index<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">in<\/span> privateDnsZoneNames<span class=\"token operator\">:<\/span> privateDnsZones<span class=\"token punctuation\">[<\/span>index<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>id<span class=\"token punctuation\">]<\/span>\n<\/code><\/pre>\n<\/div>\n<h2 id=\"%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E6%89%8B%E9%A0%86\" data-line=\"659\" class=\"code-line\">\n \u30c7\u30d7\u30ed\u30a4\u624b\u9806<\/h2>\n<h3 id=\"1.-azure-cli%E3%81%B8%E3%81%AE%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3\" data-line=\"661\" class=\"code-line\">\n 1. Azure CLI\u3078\u306e\u30ed\u30b0\u30a4\u30f3<\/h3>\n<h3 id=\"2.-%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4\" data-line=\"667\" class=\"code-line\">\n 2. \u30ea\u30bd\u30fc\u30b9\u30b0\u30eb\u30fc\u30d7\u306e\u30c7\u30d7\u30ed\u30a4<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-powershell\"><code class=\"language-powershell code-line\" data-line=\"669\">az deployment sub create `\n  <span class=\"token operator\">--<\/span>location japanwest `\n  <span class=\"token operator\">--<\/span>template-file <span class=\"token punctuation\">.<\/span>\\deployments\\rg<span class=\"token punctuation\">.<\/span>bicep\n<\/code><\/pre>\n<\/div>\n<h3 id=\"3.-%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4\" data-line=\"675\" class=\"code-line\">\n 3. \u30e1\u30a4\u30f3\u30ea\u30bd\u30fc\u30b9\u306e\u30c7\u30d7\u30ed\u30a4<\/h3>\n<div class=\"code-block-container\">\n<pre class=\"language-powershell\"><code class=\"language-powershell code-line\" data-line=\"677\">az deployment sub create `\n  <span class=\"token operator\">--<\/span>location japanwest `\n  <span class=\"token operator\">--<\/span>template-file <span class=\"token punctuation\">.<\/span>\\deployments\\main<span class=\"token punctuation\">.<\/span>bicep\n<\/code><\/pre>\n<\/div>\n<h2 id=\"%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E6%99%82%E3%81%AB%E8%B5%B7%E3%81%8D%E3%81%9F%E8%AA%B2%E9%A1%8C%E3%81%A8%E8%A7%A3%E6%B1%BA%E6%A1%88\" data-line=\"682\" class=\"code-line\">\n \u30c7\u30d7\u30ed\u30a4\u6642\u306b\u8d77\u304d\u305f\u8ab2\u984c\u3068\u89e3\u6c7a\u6848<\/h2>\n<ul data-line=\"683\" class=\"code-line\">\n<li data-line=\"683\" class=\"code-line\">AppServicePlan\u306e\u4fa1\u683c\uff08SKU\uff09\u306b\u95a2\u3057\u3066\n<ul data-line=\"684\" class=\"code-line\">\n<li data-line=\"684\" class=\"code-line\">P0V3\u3067\u30c7\u30d7\u30ed\u30a4\u3057\u3088\u3046\u3068\u3057\u305f\u3068\u3053\u308d\u5931\u6557<\/li>\n<li data-line=\"685\" class=\"code-line\">\u6b63\u3057\u304f\u306f\u3001WS1, WS2, WS3\u306e\u30b0\u30ec\u30fc\u30c9\u3067\u8a2d\u5b9a\u53ef\u80fd<br \/><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/zenn-user-upload\/e72458a3418f-20251011.png\" class=\"md-img\" loading=\"lazy\"\/>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4 id=\"main.bicep-1\" data-line=\"687\" class=\"code-line\">\n main.bicep<\/h4>\n<div class=\"code-block-container\">\n<pre class=\"language-bicep\"><code class=\"language-bicep code-line\" data-line=\"688\">\n<span class=\"token keyword\">param<\/span> appPlanSku <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'WS1'<\/span>\n<span class=\"token keyword\">param<\/span> appPlanTier <span class=\"token datatype class-name\">string<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'WorkflowStandard'<\/span>\n\n<span class=\"token keyword\">module<\/span> appServicePlanModule <span class=\"token string\">'..\/modules\/appserviceplan.bicep'<\/span> <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<\/span>\n  <span class=\"token property\">name<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">'AppsServicePlan'<\/span>\n  <span class=\"token property\">scope<\/span><span class=\"token operator\">:<\/span> <span class=\"token function\">resourceGroup<\/span><span class=\"token punctuation\">(<\/span>rgName<span class=\"token punctuation\">)<\/span>\n  <span class=\"token property\">params<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">appServicePlanName<\/span><span class=\"token operator\">:<\/span> <span class=\"token interpolated-string\"><span class=\"token string\">'<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">development<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">-<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">${<\/span><span class=\"token expression\">case<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">appplan001'<\/span><\/span>\n    <span class=\"token property\">location<\/span><span class=\"token operator\">:<\/span> location\n    <span class=\"token property\">tags<\/span><span class=\"token operator\">:<\/span> tags\n    <span class=\"token property\">appPlanSku<\/span><span class=\"token operator\">:<\/span> appPlanSku\n    <span class=\"token property\">appPlanTier<\/span><span class=\"token operator\">:<\/span> appPlanTier\n\n    \n    \n    \n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token property\">dependsOn<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n    \n  <span class=\"token punctuation\">]<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<\/div>\n\n<br \/><a href=\"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u4e0b\u8a18\u306e\u69cb\u6210\u3067Logic Apps\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3002\u203b\u4e0b\u8a18\u306eBicep\u3067\u306f\u3001Subnet\u3068NSG\u3092\u4f59\u5206\u306b\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u524a\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u203bStorageAccount\u306f\u8a3a\u65ad\u8a2d\u5b9a\u306b\u7528\u3044\u3089\u308c\u308b\u3082\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u8a3a\u65ad [&hellip;]","protected":false},"author":1,"featured_media":9000,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-8999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"\u4e0b\u8a18\u306e\u69cb\u6210\u3067Logic Apps\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3002\u203b\u4e0b\u8a18\u306eBicep\u3067\u306f\u3001Subnet\u3068NSG\u3092\u4f59\u5206\u306b\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u524a\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u203bStorageAccount\u306f\u8a3a\u65ad\u8a2d\u5b9a\u306b\u7528\u3044\u3089\u308c\u308b\u3082\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u8a3a\u65ad [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-11T04:37:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8999\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"\u3010Azure\\\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5\",\"datePublished\":\"2025-10-11T04:37:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8999\\\/\"},\"wordCount\":81,\"image\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1760157435_og-base-w1200-v2.png\",\"articleSection\":[\"\u4f01\u696d\u30c6\u30c3\u30af\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8999\\\/\",\"url\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b\",\"name\":\"\u3010Azure\\\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1760157435_og-base-w1200-v2.png\",\"datePublished\":\"2025-10-11T04:37:17+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1760157435_og-base-w1200-v2.png\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1760157435_og-base-w1200-v2.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/headwaters\\\/articles\\\/9f63480da44b6b#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010Azure\\\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b","og_locale":"ja_JP","og_type":"article","og_title":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3","og_description":"\u4e0b\u8a18\u306e\u69cb\u6210\u3067Logic Apps\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3002\u203b\u4e0b\u8a18\u306eBicep\u3067\u306f\u3001Subnet\u3068NSG\u3092\u4f59\u5206\u306b\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u524a\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u203bStorageAccount\u306f\u8a3a\u65ad\u8a2d\u5b9a\u306b\u7528\u3044\u3089\u308c\u308b\u3082\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u8a3a\u65ad [&hellip;]","og_url":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-10-11T04:37:17+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png","type":"image\/png"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/8999\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5","datePublished":"2025-10-11T04:37:17+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/8999\/"},"wordCount":81,"image":{"@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png","articleSection":["\u4f01\u696d\u30c6\u30c3\u30af"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/8999\/","url":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b","name":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5 - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#primaryimage"},"image":{"@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png","datePublished":"2025-10-11T04:37:17+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1760157435_og-base-w1200-v2.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/zenn.dev\/headwaters\/articles\/9f63480da44b6b#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"\u3010Azure\/Bicep\u3011Logic Apps \u00d7 PrivateEndpoint\u3092Bicep\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u65b9\u6cd5"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=8999"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8999\/revisions"}],"predecessor-version":[{"id":9001,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8999\/revisions\/9001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/9000"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=8999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=8999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=8999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}